当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。