Skip to main content
 首页 » 编程设计

python之python 会给你一个无限解线性系统的答案吗

2025年05月04日40虾米姐

以下是给定的线性系统和我求解它的代码。

a = np.array([[1,0,8,-5],[0,1,4,-9],[0,0,1,1]]) 
b = np.array([[6],[3],[2]]) 
np.linalg.solve(a,b)    #An error is raised saying that Last 2 dimensions of the array must be square 

我很确定我的代码是正确的。因此,这是否意味着 python 会为具有无限解的线性系统引发错误?谢谢。

请您参考如下方法:

如果你使用 numpy.linalg.solve,是的。

但还有另一种选择。 numpy.linalg.lstsq找到线性矩阵方程的最小二乘解。

In [7]: np.linalg.lstsq(a,b) 
Out[7]: 
(array([[-2.46764706], 
        [ 2.53235294], 
        [ 1.42058824], 
        [ 0.57941176]]), 
 array([], dtype=float64), 
 3, 
 array([ 13.08121719,   4.33312055,   0.32530484]))