[Numpy-discussion] lstsq underdetermined behaviour

Eric Wieser wieser.eric+numpy at gmail.com
Sun Nov 18 23:24:18 EST 2018


> 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 at 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 at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20181118/5432ad60/attachment.html>


More information about the NumPy-Discussion mailing list