Normalization of eigenvectors in Arpack

I call eigs from two separate packages. In the first, eigs returns vectors normalized to unit length, in the second they are normalized relative to the second matrix in the pencil (mass). Obviously, both matrix pencils in these calls are the same (and the eigenvalues match).

Anyone has an idea what the logic is?

1 Like

Is it a Hermitian pencil with a positive-definite mass matrix? Did you tell the eigs package that? (If so, the mass-weighted norm is arguably the right choice.)

2 Likes

That is a good point: I remembered now that Arpack is very picky and needs to be told explicitly with Symmetric. I will check that tomorrow.

The matrix pencil is precisely symmetric. And, even when I use the type conversion to Symmetric on the matrices, eigenvectors are still returned normalized to unit length.

I managed to find the culprit: one needs to set explicittransform=:none for the eigenvectors to be normalized with respect to the mass. In fact, it was in my own issue I raised in 2021. (And which I forgot. :roll_eyes:)

I believe this to be a bug. However, I do not have high hopes that this will be fixed: the maintainers of Arpack seem to have all turned to other things.