稀疏矩阵乘积的本征求解器

时间:2018-11-13 22:33:22

标签: c++ linear-algebra eigen3

我想使用Eigen计算L_1 ^ {-1} L_2,其中L_1和L_2均为下三角矩阵,并在Eigen中存储为面向列的稀疏矩阵。 我尝试了本征三角形求解器。但是,这需要L_2密集。

1 个答案:

答案 0 :(得分:1)

对于稀疏的rhs,solve方法实际上并未重载,但是您可以像这样使用solveInPlace方法(我实际上没有尝试过):

Eigen::SparseMatrix<double> foo(Eigen::SparseMatrix<double> const& L1, Eigen::SparseMatrix<double> const& L2)
{
    Eigen::SparseMatrix<double> res = L2;
    L1.triangularView<Eigen::Lower>().solveInPlace(res);
    return res;
}

仍然应该考虑是否确实需要完整的矩阵。