Python中Matrix::chol和Matrix::solve的等效函数?

1 投票
1 回答
1048 浏览
提问于 2025-04-18 11:46

在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)

撰写回答