class_docstr: Test the speed of four least-squares solvers on not full rank matrices.
  Also check the difference in the solutions.
  
  The matrix has the size ``(m, 2/3*m)``; the rank is ``1/2 * m``.
  Matrix values are random in the range (-5, 5), the same is for the right
  hand side.  The complex matrix is the sum of real and imaginary matrices.
class_docstr_tok: ["Test","the","speed","of","four","least-squares","solvers","on","not","full","rank","matrices",".","Also","check","the","difference","in","the","solutions",".","The","matrix","has","the","size","``","(","m",",","2\/3","*","m",")","``",";","the","rank","is","``","1\/2","*","m","``",".","Matrix","values","are","random","in","the","range","(","-5",",","5",")",",","the","same","is","for","the","right","hand","side",".","The","complex","matrix","is","the","sum","of","real","and","imaginary","matrices","."]
code: def time_lstsq(self, dtype, size, lapack_driver):
      if lapack_driver == "numpy":
          np.linalg.lstsq(
              self.A, self.b, rcond=np.finfo(self.A.dtype).eps * 100
          )
      else:
          sl.lstsq(
              self.A,
              self.b,
              cond=None,
              overwrite_a=False,
              overwrite_b=False,
              check_finite=False,
              lapack_driver=lapack_driver,
          )
  
imports: import math
  import numpy.linalg
  import numpy
  from numpy.testing import assert_
  from numpy.random import rand
  from .common import Benchmark, safe_import
label_desc: Use image node_id 2 for calling the Lstsq obj's underlying member method code with example usage: obj.time_lstsq(dtype, size, lapack_driver) without return types