
In 1.15 the call is instead to `_umath_linalg.lstsq_m` and I'm not sure what this actually ends up doing - does this end up being the same as `dgelsd`?
When the arguments are real, yes. What changed is that the dispatching now happens in C, which was done as a step towards the incomplete https://github.com/numpy/numpy/issues/8720. I'm not an expert - but aren't "minimum norm" and "least squares" two ways to state the same thing? Eric On Sun, 18 Nov 2018 at 20:04 Romesh Abeysuriya <romesh.abey@gmail.com> wrote:
Hi all,
I'm solving an underdetermined system using `numpy.linalg.lstsq` and trying to track down its behavior for underdetermined systems. In previous versions of numpy (e.g. 1.14) in `linalg.py` the definition for `lstsq` calls `dgelsd` for real inputs, which I think means that the underdetermined system is solved with the minimum-norm solution (that is, minimizing the norm of the solution vector, in addition to minimizing the residual). In 1.15 the call is instead to `_umath_linalg.lstsq_m` and I'm not sure what this actually ends up doing - does this end up being the same as `dgelsd`? If so, it would be great if the documentation for `numpy.linalg.lstsq` stated that it is returning the minimum-norm solution (as it stands, it reads as undefined, so in theory I don't think one can rely on any particular solution being returned for an underdetermined system)
Cheers, Romesh _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion