當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy linalg.solve用法及代碼示例


本文簡要介紹 python 語言中 numpy.linalg.solve 的用法。

用法:

linalg.solve(a, b)

求解線性矩陣方程或線性標量方程組。

計算 well-determined 的 “exact” 解 x,即滿秩線性矩陣方程 ax = b。

參數

a (…, M, M) 數組

係數矩陣。

b {(…, M,), (…, M, K)}, 數組

縱坐標或“dependent variable” 值。

返回

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

係統 a x = b 的解。返回的形狀與 b 相同。

拋出

LinAlgError

如果 a 是單數或不是正方形。

注意

廣播規則適用,有關詳細信息,請參閱 numpy.linalg 文檔。

使用 LAPACK 例程 _gesv 計算解決方案。

a必須是平方且滿秩的,即所有行(或等效地,列)必須是線性獨立的;如果其中一個不為真,請使用numpy.linalg.lstsq對於係統/方程的最小二乘最佳“solution”。

參考

1

G. Strang,線性代數及其應用,第 2 版,佛羅裏達州奧蘭多,學術出版社,1980 年,第 1 頁。 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

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.linalg.solve。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。