本文简要介绍 python 语言中 scipy.sparse.linalg.use_solver
的用法。
用法:
scipy.sparse.linalg.use_solver(**kwargs)#
选择要使用的默认稀疏直接求解器。
- useUmfpack: 布尔型,可选
使用 UMFPACK [1]、[2]、[3]、[4]。超过 SuperLU。仅当安装
scikits.umfpack
时才有效。默认值:真- assumeSortedIndices: 布尔型,可选
允许 UMFPACK 跳过对 CSR/CSC 矩阵索引进行排序的步骤。仅当 useUmfpack 为 True 且安装了
scikits.umfpack
时才有效。默认值:假
参数 ::
注意:
默认稀疏解算器是 UMFPACK(如果可用)(安装了
scikits.umfpack
)。这可以通过传递 useUmfpack = False 来更改,这会导致使用始终存在的基于 SuperLU 的解算器。UMFPACK 需要 CSR/CSC 矩阵来排序列/行索引。如果确定矩阵满足此要求,请传递
assumeSortedIndices=True
以获得一些速度。参考:
[1]T. A. Davis,算法 832:UMFPACK - 一种带有列预排序策略的 unsymmetric-pattern 多前沿方法,ACM Trans。数学软件,30(2),2004 年,第 196-199 页。 https://dl.acm.org/doi/abs/10.1145/992200.992206
[2]T. A. Davis,unsymmetric-pattern 多前沿方法的专栏预排序策略,ACM Trans。数学软件,30(2),2004 年,第 165-195 页。 https://dl.acm.org/doi/abs/10.1145/992200.992205
[3]T. A. Davis 和 I. S. Duff,非对称稀疏矩阵的单额/多额组合方法,ACM Trans。数学软件,25(1),1999,第 1-19 页。 https://doi.org/10.1145/305658.287640
[4]T. A. Davis 和 I. S. Duff,稀疏 LU 分解的 unsymmetric-pattern 多前沿方法,SIAM J. 矩阵分析和计算,18(1),1997,第 140-158 页。 https://doi.org/10.1137/S0895479894246905T。
例子:
>>> import numpy as np >>> from scipy.sparse.linalg import use_solver, spsolve >>> from scipy.sparse import csc_matrix >>> R = np.random.randn(5, 5) >>> A = csc_matrix(R) >>> b = np.random.randn(5) >>> use_solver(useUmfpack=False) # enforce superLU over UMFPACK >>> x = spsolve(A, b) >>> np.allclose(A.dot(x), b) True >>> use_solver(useUmfpack=True) # reset umfPack usage to default
相关用法
- Python SciPy linalg.eigvalsh_tridiagonal用法及代码示例
- Python SciPy linalg.cdf2rdf用法及代码示例
- Python SciPy linalg.LaplacianNd用法及代码示例
- Python SciPy linalg.solve_circulant用法及代码示例
- Python SciPy linalg.polar用法及代码示例
- Python SciPy linalg.clarkson_woodruff_transform用法及代码示例
- Python SciPy linalg.rsf2csf用法及代码示例
- Python SciPy linalg.hessenberg用法及代码示例
- Python SciPy linalg.tril用法及代码示例
- Python SciPy linalg.triu用法及代码示例
- Python SciPy linalg.svd用法及代码示例
- Python SciPy linalg.ishermitian用法及代码示例
- Python SciPy linalg.invhilbert用法及代码示例
- Python SciPy linalg.factorized用法及代码示例
- Python SciPy linalg.lu_factor用法及代码示例
- Python SciPy linalg.SuperLU用法及代码示例
- Python SciPy linalg.lsqr用法及代码示例
- Python SciPy linalg.cho_factor用法及代码示例
- Python SciPy linalg.fractional_matrix_power用法及代码示例
- Python SciPy linalg.eig_banded用法及代码示例
- Python SciPy linalg.tanhm用法及代码示例
- Python SciPy linalg.orthogonal_procrustes用法及代码示例
- Python SciPy linalg.qr_multiply用法及代码示例
- Python SciPy linalg.spsolve用法及代码示例
- Python SciPy linalg.LinAlgError用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.sparse.linalg.use_solver。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。