# Derivative of a generalized eigenvalue problem

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'$?

• 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. – Federico Poloni Mar 2 '15 at 15:15
• That's a very good idea. – Beni Bogosel Mar 2 '15 at 22:41

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.
• Nice answer. Adding the normalization condition and making a $(n+1)\times (n+1)$ system is a nice way to solve this. – Beni Bogosel Mar 2 '15 at 7:24