numpy.linalg.solve #

利纳尔格。求解( a , b ) [来源] #

求解线性矩阵方程或线性标量方程组。

计算确定的满秩线性矩阵方程ax = b的“精确”解x

参数
一个(…, M, M) 类似数组

系数矩阵。

b {(…, M,), (…, M, K)}, array_like

纵坐标或“因变量”值。

返回
x {(…, M,), (…, M, K)} ndarray

系统的解 ax=b。返回的形状与b相同。

加薪
林算法错误

如果a是奇异的或不是平方的。

也可以看看

scipy.linalg.solve

SciPy 中的类似功能。

笔记

1.8.0 版本中的新增功能。

广播规则适用,numpy.linalg详细信息请参阅文档。

使用 LAPACK 例程计算解_gesv

a必须是平方且满秩的,即所有行(或等效地,列)必须是线性独立的;如果其中一个不成立,则使用 lstsq系统/方程的最小二乘最佳“解”。

参考

[ 1 ]

G. Strang,线性代数及其应用,第二版,佛罗里达州奥兰多,Academic Press, Inc.,1980 年,第 17 页。 22.

例子

求解方程组和:x0 + 2 * x1 = 13 * x0 + 5 * x1 = 2

>>> a = np.array([[1, 2], [3, 5]])
>>> b = np.array([1, 2])
>>> x = np.linalg.solve(a, b)
>>> x
array([-1.,  1.])

检查解决方案是否正确:

>>> np.allclose(np.dot(a, x), b)
True