我想使用Eigen计算L_1 ^ {-1} L_2,其中L_1和L_2均为下三角矩阵,并在Eigen中存储为面向列的稀疏矩阵。 我尝试了本征三角形求解器。但是,这需要L_2密集。
答案 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;
}
仍然应该考虑是否确实需要完整的矩阵。