Letting *** be zero or more batch dimensions,


If "A" has shape (, n, n) and "B" has shape (, n) (a batch
     of vectors) or shape (, n, k) (a batch of matrices or
     "multiple right-hand sides"), this function returns X of shape
     (, n) or (, n, k)* respectively.


Otherwise, if "A" has shape (, n, n) and  "B" has shape (n,)
     or (n, k), "B" is broadcasted to have shape (, n) or (, n,
     k)* respectively. This function then returns the solution of the
     resulting batch of systems of linear equations.


Note:
 This function computes *X = *"A"*.inverse() @ *"B" in a faster
 and more numerically stable way than performing the computations
 separately.

Note:
 It is possible to compute the solution of the system XA = B by
 passing the inputs "A" and "B" transposed and transposing the
 output returned by this function.

Note:
 When inputs are on a CUDA device, this function synchronizes that
 device with the CPU.
