

For a general matrix: 'gelsy' (QR with pivoting) (default)

If "A" is full-rank: 'gels' (QR)



If "A" is not well-conditioned.


'gelsd' (tridiagonal reduction and SVD)


But if you run into memory issues: 'gelss' (full SVD).




For CUDA input, the only valid driver is 'gels', which assumes
   that "A" is full-rank.
See also the full description of these drivers
"rcond" is used to determine the effective rank of the matrices in
   "A" when "driver" is one of ('gelsy', 'gelsd', 'gelss'). In
   this case, if \sigma_i are the singular values of A in decreasing
   order, \sigma_i will be rounded down to zero if \sigma_i \leq
   \text{rcond} \cdot \sigma_1. If "rcond"= None (default), "rcond"
   is set to the machine precision of the dtype of "A" times max(m,
   n).
This function returns the solution to the problem and some extra
   information in a named tuple of four tensors *(solution, residuals,