Python中Matrix::chol和Matrix::solve的等效函数?
在R语言中,我正在做以下操作:
L = ... # some sparse matrix L
chol_factor = Matrix::chol(L)
b = # some vector
z = Matrix::solve(chol_factor, b)
这里的solve
函数会聪明地利用Cholesky分解来高效地计算一些东西。我在大部分代码中使用了scipy.sparse
,但是似乎没有找到Cholesky分解的实现,也没有办法高效地使用这个分解来求解。在Python中有没有类似的做法呢?
1 个回答
2
这可以通过scipy的稀疏LU分解来实现。
import numpy as np
from scipy.sparse import linalg as sla
L = # some sparse matrix
lu = sla.splu(L)
b = # some vector
z = lu.solve(b)