Time-stepper approach to eigenvalue problem

For a linear system

$$M \dot{u} = Au \qquad \textrm{or} \qquad \dot{u} = L u$$

The generalized eigenvalue problem is $$A e = \lambda M e$$

We can use the time-stepper approach which essentially computes the eigenvalues of the operator

$$E = \exp(L T)$$

If $\mu$ is an eigenvalue of $E$ then it is related to the original eigenvalue by

$$\mu = \exp(\lambda T)$$ and $T$ has to be chosen appropriately. If I have a code $E_{\Delta} \approx E$ which solves the initial value problem, then I can couple this to ARPACK to compute the eigenvalues. I would use the standard eigenvalue solver of ARPACK on the operator $E_\Delta$.

But I would also like to use the inner product induced by $M$ in the Arnoldi process so that the eigenvectors have unit norm in the inner product of $M$. How can I achieve this with ARPACK ?

• Have you asked the authors of ARPACK? – Wolfgang Bangerth Oct 10 '14 at 11:46
• I think instead of solving $E_\Delta e = \mu e$, I can solve the generalized eigenvalue problem $M E_\Delta e = \mu M e$. Then ARPACK will automatically use the correct inner product. – cfdlab Oct 13 '14 at 11:27
• That seems unnecessarily complicated. Why don't you just normalize the vectors after they are returned by ARPACK? – Wolfgang Bangerth Oct 13 '14 at 11:59