线性方程组解的唯一性

问题描述

我用 np.linalg.lstsq() 解决一个线性方程组,但我无法定义一个布尔值,如果系统的解是唯一的,则返回 TRUE。提前致谢!

解决方法

看着https://numpy.org/doc/stable/reference/generated/numpy.linalg.lstsq.html 我的理解是,解决方案总是唯一的,因为他们使用的是 SVD,如果矩阵 A 秩亏,它返回本身是最小范数的最小值 x,并且这个向量是唯一的。

然而,例程也返回矩阵 A 的秩,并且如果这小于 A 的列数,将会有许多 x 最小化 |A*xb|,所以从这个意义上说,解决方案不是唯一的 iff返回的秩小于列数。