I want to compute the derivative of a generalized eigenvalue $\lambda$ which is solution of $A u = \lambda Bu$ ($A,B,u,\lambda$ all depend on $t$; in my case $A,B$ are known explicitly, and the eigenvalue $\lambda$ and its corresponding eigenvector $u$ can be immediately computed using eigs).

If I write formally the derivation, I arrive to the problem $$ (A-\lambda B)u' = -(A'-\lambda B')u+\lambda' Bu \ \ \ (1)$$ In the above equation I know $A,B,\lambda,u,A',B'$. The unknowns are $\lambda'$ and $u'$. If $A,B$ are symmetric, we can get rid of $u'$ by taking the scalar product with $u$. In my case $A,B$ are not always symmetric, so I need to solve $(1)$ with both unknowns $u'$ and $\lambda'$.

This has the form $Xu' = v+\lambda ' w$ where $X$ is a known matrix (non-invertible) and $v,w$ are known vectors.

How can we compute $u'$ and $\lambda'$?

  • 2
    $\begingroup$ To eliminate $u'$, take the scalar product with $v$, where $v$ is the left eigenvalue corresponding to the eigenvalue $\lambda$. Then continue you would in the symmetric case. $\endgroup$ Mar 2, 2015 at 15:15
  • $\begingroup$ That's a very good idea. $\endgroup$ Mar 2, 2015 at 22:41

1 Answer 1


The eigenproblem you have doesn't have a unique solution, any multiple of $u$ solves it as well. So suppose we impose the condition $u^tu=1$. The two equations are $$ Au=\lambda Bu, \qquad u^Tu=1, $$ giving derivatives $$ (A-\lambda B)u' -\lambda' Bu = (\lambda B'-A')u, \qquad 2u^T u' = 0. $$

This is nothing but a system of $n+1$ equations in $n+1$ unknowns: $$ \begin{pmatrix} A-\lambda B & -B u\\ u^T & 0 \end{pmatrix} \begin{pmatrix}u'\\ \lambda' \end{pmatrix} = \begin{pmatrix} (\lambda B'-A')u\\ 0 \end{pmatrix}, $$ which should have a unique solution, provided this matrix is nonsingular, which should happen whenever $\lambda$ has multiplicity 1.

  • $\begingroup$ Nice answer. Adding the normalization condition and making a $(n+1)\times (n+1)$ system is a nice way to solve this. $\endgroup$ Mar 2, 2015 at 7:24

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.