Using PardisoLLT
Hi,
I was using SymGEigsSolver for a symmetric matrix A and a symmetric positive definite matrix B, in order to solve Ax=eBx.
For large matrices (700000x700000) the solver would fail, and this seemed to be due to using SimplicialLLT in SparseCholesky for B.
In a separate file, I managed to get PardisoLLT to work for the cholesky decomposition of B, whereas SimplicialLLT would fail.
I'm fairly new to this, is there a simple wrapper to swap out SimplicialLLT for PardisoLLT, or alternatively would you know why SimplicialLLT wouldn't succeed on large matrices?
Thanks, Chris
Hi @Chris-Hickey-Arup, PardisoLLT seems to rely on external software, so I didn't include it in Spectra. One thing you can do is to write a wrapper class similar to SparseCholesky, and replace SparseCholesky in the code. Since Eigen has a quite unified interface for sparse LLT solvers, the extra work should be minimal.
I did a similar thing for the SymShiftInvert, worked very well.