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 将被排序,零个条目将被删除。启用可提高性能。默认值为False。
- overwrite_b布尔值,可选
允许覆盖中的数据 b 。启用可提高性能。默认值为False。如果 overwrite_b 为真,则应确保 b 具有适当的数据类型,以便能够存储结果。
- unit_diagonal布尔值,可选
如果为True,则 a 假定为1,不会被引用。
1.4.0 新版功能.
- 退货
- x(M,)或(M,N)ndarray
系统解决方案
A x = b
。返回的形状与的形状匹配 b 。
- 加薪
- LinAlgError
如果 A 是单数的还是不是三角形的。
- ValueError
如果形状为 A 或形状 b 不符合要求。
注意事项
0.19.0 新版功能.
示例
>>> 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