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


Python SciPy linalg.spsolve_triangular用法及代碼示例


本文簡要介紹 python 語言中 scipy.sparse.linalg.spsolve_triangular 的用法。

用法:

scipy.sparse.linalg.spsolve_triangular(A, b, lower=True, overwrite_A=False, overwrite_b=False, unit_diagonal=False)#

解方程A x = b為了x,假設 A 是三角矩陣。

參數

A (M, M) 稀疏矩陣

一個稀疏的方三角矩陣。應為 CSR 格式。

b (M,) 或 (M, N) 數組

A x = b 中的右側矩陣

lower 布爾型,可選

A 是下三角矩陣還是上三角矩陣。默認為下三角矩陣。

overwrite_A 布爾型,可選

允許更改 A。A 的索引將被排序,零條目將被刪除。啟用會帶來性能提升。默認為假。

overwrite_b 布爾型,可選

允許覆蓋 b 中的數據。啟用會帶來性能提升。默認為假。如果 overwrite_b 為 True,則應確保 b 具有適當的 dtype 以便能夠存儲結果。

unit_diagonal 布爾型,可選

如果為 True,則假定 a 的對角元素為 1 並且不會被引用。

返回

x (M,) 或 (M, N) ndarray

係統解決方案A x = b.返回的形狀匹配的形狀b.

拋出

LinAlgError

如果 A 是奇異的或不是三角形的。

ValueError

如果 A 形或 b 形不符合要求。

注意

例子

>>> import numpy as np
>>> from scipy.sparse import csr_matrix
>>> from scipy.sparse.linalg import spsolve_triangular
>>> A = csr_matrix([[3, 0, 0], [1, -1, 0], [2, 0, 1]], dtype=float)
>>> B = np.array([[2, 0], [-1, 0], [2, 0]], dtype=float)
>>> x = spsolve_triangular(A, B)
>>> np.allclose(A.dot(x), B)
True

相關用法


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