1
$\begingroup$

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 ?

$\endgroup$
3
  • $\begingroup$ Have you asked the authors of ARPACK? $\endgroup$ Oct 10, 2014 at 11:46
  • $\begingroup$ 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. $\endgroup$
    – cfdlab
    Oct 13, 2014 at 11:27
  • $\begingroup$ That seems unnecessarily complicated. Why don't you just normalize the vectors after they are returned by ARPACK? $\endgroup$ Oct 13, 2014 at 11:59

0

Your Answer

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

Browse other questions tagged or ask your own question.