I would like to solve a generalized eigenvalue problem involving sparse matrices using the Arnoldi method. I would like to use the Arnoldi method in the hope of speeding up the calculation.

Problem is, it does not seem to be implemented when the generalized matrix (the one on the right-hand side) is neither Hermitian nor real symmetric, which is my case... This was basically the conclusion of a previous thread.

Is there really no solution?


1 Answer 1


So, I have found a pretty good solution.

My original problem is to solve $A v = \lambda B v$ and my matrix $B$ is neither symmetric nor hermitian... I can perform a polar decomposition of the matrix $B$ as $B = U P$ where $U$ is orthogonal and $P$ is symmetric. Then, the problem becomes solving $U^{T} A v = \lambda P v$ for which I can now use the Arnoldi method of the Eigensystem[] function.

It works pretty well for small dimensions, not sure how it will scale for higher dimensions. The use of the Arnoldi method speed up the calculation dramatically (not sure what method Eigensystem[] uses otherwise but it's super slow).

Another problem of course is that in general the matrix $U^{T} A$ won't have any particular structure or sparsity that $A$ might have but it probably can't be avoided...


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.