numpy.linalg.solve¶
-
numpy.linalg.
solve
(a, b)[source]¶ 求解线性矩阵方程或线性标量方程组。
计算良好确定的,即满秩线性矩阵方程ax = b的“精确”解,x。
参数: a:(...,M,M)array_like
系数矩阵。
b:{(...,M,),(...,M,K)},array_like
纵坐标或“因变量”值。
返回: x:{(...,M,),(...,M,K)} ndarray
解决方案a系统a x = b。返回形状与b相同。
上升: LinAlgError
如果a是奇异或不是正方形。
笔记
版本1.8.0中的新功能。
广播规则适用,有关详细信息,请参阅
numpy.linalg
文档。使用LAPACK程序_gesv计算解
a必须是正方形且满秩,即所有行(或等效地,列)必须是线性无关的;如果任一个不为真,则使用
lstsq
计算系统/方程的最小二乘最佳“解”。参考文献
[R43] G. Strang, Linear Algebra and Its Applications, 2nd Ed., Orlando, FL, Academic Press, Inc., 1980, pg. 22. 例子
求解方程系统
3 * x0 + x1 = 9
和x0 + 2 x1 = 8
:>>> a = np.array([[3,1], [1,2]]) >>> b = np.array([9,8]) >>> x = np.linalg.solve(a, b) >>> x array([ 2., 3.])
检查解决方案是否正确:
>>> np.allclose(np.dot(a, x), b) True