# Derivative of eigenvectors of a symmetric matrix-valued function

Given a real symmetric $3\times3$ matrix $\mathsf{A}_{ij}$ and its derivative (w.r.t. some parameter, let's call it time) $\dot{\mathsf{A}}_{ij}$, I want to measure/obtain the rotation (rate and direction) of the eigenvectors (the eigenvectors of a real symmetric matrix form an orthonormal matrix). How can this be done?

Edit Since the eigenvectors of a real symmetric matrix are mutually orthogonal, the change of the eigenvectors can only be an overall rotation. An infinitesimal rotation is uniquely determined by the rate $\boldsymbol{\omega}$ such that $\dot{\boldsymbol{x}}=\boldsymbol{\omega}\times\boldsymbol{x}$ for any vector $\boldsymbol{x}$. My question then becomes how to obtain $\boldsymbol{\omega}$.

• Solve for the eigenvalues in terms of the matrix coefficients. Determine their derivatives wrt time (these expressions will include the derivatives of the matrix components). Then solve for the eigenvectors in terms of the eigvals and mtx coefficients, and take their time derivatives, which will depend on eig.vals, coefficients, and their derivatives, but are just linear equations. It doesn't sound trivial, but for a 3x3 there are closed form solutions for all of it... Mar 13, 2018 at 14:28
• @MichaelStachowsky There is no simpler way, or over all relation? It seems such a genuine problem. Mar 13, 2018 at 14:29
• Not sure, that's why I put my response as a comment, not an answer. I doubt it, though. You'll still need to relate the roots of the polynomial to the coefficients Mar 13, 2018 at 14:33

We start, as usual, with the equality $Av=\lambda v$ where $v^Tv=1$ and $A$ is a $C^1$ function. It is absolutely necessary that the considered eigenvalue $\lambda$ is simple - then $\lambda,v$ are $C^1$ function- otherwise, $v$ may be non-continuous.

Proposition. Under the above hypothesis, $\lambda',v'$ are functions of $A,A',\lambda,v$. More precisely,

$\lambda'=v^TA'v,v'=w-(v^Tw)v$ where $w\in(A-\lambda I)^{-1}((v^TA'v)v-A'v)$.

Proof. We obtain $A'v+Av'=\lambda'v+\lambda v',v'^Tv=v^Tv'=0,v^TA=\lambda v^T,v^TAv'=0$.

Moreover, $v^TA'+v'^TA=\lambda'v^T+\lambda v'^T$ implies $v^TA'v=\lambda'$.

$A'v+Av'=(v^TA'v)v+\lambda v'$ implies $(A-\lambda I)v'=(v^TA'v)v-A'v$ and, finally, $v'=w+kv$, where $w\in (A-\lambda I)^{-1}((v^TA'v)v-A'v)$. It remains to calculate $k$; $v^Tv'=v^Tw+kv^Tv$ implies $k=-v^Tw$ and we are done.

• I was on a similar track. What I really want to obtain is the rotation rate $\boldsymbol{\omega}$, where $\dot{\boldsymbol{v}}=\boldsymbol{\omega}\times\boldsymbol{v}$. Can one show that the value obtained for $\boldsymbol{\omega}$ is the same for every eigenvector considered (except when $\boldsymbol{\omega}$ is co-linear with $\boldsymbol{v}$)? Also, what is the meaning of '$\in$' in this context, i.e. how is the singularity of the matrix $(\boldsymbol{\mathsf{A}}-\lambda\boldsymbol{\mathsf{I}})$ dealt with? Mar 15, 2018 at 0:19
• 1. Choose $\omega=a w \times v$ where $a$ is s.t. $||\omega||=||v'||$. 2. Of course, $\omega$ depends on the considered eigenvalue. 3. Since $v$ is a basis of $\ker(A-\lambda I)$, the result given for $v'$ does not depend on the choice of $w$.
– user91684
Mar 15, 2018 at 2:14
• $\omega$ must be the same for all eigenvalues. This is because the change in the eigen system between $A$ and $A+dA$ can only be an (infintesimal) rotation (the eigenvalues of a real symmetric matrix form a orthogonal basis and a rotation is the most general map between such). and a rotation is uniquely determined by $\omega$. Mar 15, 2018 at 9:36
• I do not see where is the improvement when you replace $v'$ with $\dot{v}$. On the other hand, I think you are very pretentious. What have you found so far?
– user91684
Mar 15, 2018 at 10:02

Suppose that a given (differentiable) matrix-valued function $\mathrm A : \mathbb R \to \mbox{Sym}_n(\mathbb R)$, where $\mbox{Sym}_n(\mathbb R)$ denotes the set of $n \times n$ real symmetric matrices, does have a time-varying spectral decomposition

$$\mathrm A (t) = \mathrm V (t) \, \Lambda (t) \,\mathrm V^\top (t)$$

where the columns of orthogonal matrix $\mathrm V (t)$ and the diagonal entries of diagonal matrix $\Lambda (t)$ at a given $t$ are the (unit) eigenvectors and eigenvalues of $\mathrm A (t)$, respectively.

Differentiating with respect to time, we obtain a nonlinear matrix differential equation in $\rm V$ and $\Lambda$

$$\dot{\mathrm A} (t) = \dot{\mathrm V} (t) \, \Lambda (t) \,\mathrm V^\top (t) + \mathrm V (t) \, \dot\Lambda (t) \,\mathrm V^\top (t) + \mathrm V (t) \, \Lambda (t) \,\dot{\mathrm V}^\top (t)$$

where $\dot{\mathrm A}$ serves as known input. From $\mathrm A (0)$, we obtain initial conditions $\mathrm V (0)$ and $\Lambda (0)$. We have:

• $\binom{n+1}{2}$ ordinary differential equations.

• $n^2$ (algebraic) quadratic equations (to ensure that $\mathrm V$ stays orthogonal).

• $n^2 + n = (n+1) n = 2\binom{n+1}{2}$ functions to determine.

Unfortunately, I do not know how to solve this matrix ODE. In fact, I am not even sure that a time-varying spectral decomposition of a symmetric matrix-valued function is actually legal.

In order to simplify the algebra, let me first without loss of generality rotate into a coordinate frame where the eigenvectors are the Cartesian basis, $$\boldsymbol{\mathsf{A}} = \begin{pmatrix} \lambda_1 & 0 & 0 \\ 0 & \lambda_2 & 0 \\ 0 & 0 & \lambda_3 \end{pmatrix}, \quad\text{and}\quad \dot{\boldsymbol{\mathsf{A}}} = \begin{pmatrix} \dot\lambda_1 & a & b \\ a & \dot\lambda_2 & c \\ b & c & \dot\lambda_3 \end{pmatrix}$$ with some coefficients $$a$$, $$b$$, and $$c$$. The above relation for $$\dot{\boldsymbol{\mathsf{A}}}$$ follows from loup blanc's $$\dot\lambda=\boldsymbol{v}^T\cdot\dot{\boldsymbol{\mathsf{A}}}\cdot\boldsymbol{v}$$. We now express the derivatives of the eigenvectors as rotation, i.e. $$\dot{\boldsymbol{v}}=\boldsymbol{\omega}\times\boldsymbol{v}$$, giving $$\dot{\boldsymbol{v}}_1 = \begin{pmatrix} 0 \\ \omega_z \\ -\omega_y \end{pmatrix},\quad \dot{\boldsymbol{v}}_2 = \begin{pmatrix} -\omega_z \\ 0 \\ \omega_x \end{pmatrix},\quad \dot{\boldsymbol{v}}_3 = \begin{pmatrix} \omega_y \\ -\omega_x \\ 0 \end{pmatrix}.$$ Inserting these into loup blanc's relation $$(\boldsymbol{\mathsf{A}}-\lambda\boldsymbol{\mathsf{1}})\cdot\dot{\boldsymbol{v}} = \dot\lambda \boldsymbol{v} - \dot{\boldsymbol{\mathsf{A}}}\cdot \boldsymbol{v}$$ we see that each eigenvalue determines the components of $$\boldsymbol{\omega}$$ perpendicular to its eigenvector and that $$\dot\lambda$$ drops out of the relation. We find $$\dot{\boldsymbol{\mathsf{A}}} = \begin{pmatrix} \dot\lambda_1 & \omega_z(\lambda_1-\lambda_2) & \omega_y(\lambda_3-\lambda_1) \\ \omega_z(\lambda_1-\lambda_2) & \dot\lambda_2 & \omega_x(\lambda_2-\lambda_3) \\ \omega_y(\lambda_3-\lambda_1) & \omega_x(\lambda_2-\lambda_3) & \dot\lambda_3 \end{pmatrix}.$$ Finally, generalizing for a general coordinate frame, we have $$\boldsymbol{\omega} = \frac{\boldsymbol{v}_2^T\cdot\dot{\boldsymbol{\mathsf{A}}}\cdot\boldsymbol{v}_3}{\lambda_2-\lambda_3}\boldsymbol{v}_1 + \frac{\boldsymbol{v}_3^T\cdot\dot{\boldsymbol{\mathsf{A}}}\cdot\boldsymbol{v}_1}{\lambda_3-\lambda_1}\boldsymbol{v}_2 + \frac{\boldsymbol{v}_1^T\cdot\dot{\boldsymbol{\mathsf{A}}}\cdot\boldsymbol{v}_2}{\lambda_1-\lambda_2}\boldsymbol{v}_3 .$$ In particular, as pointed out by loup blanc, the derivatives of the eigenvectors, i.e. $$\boldsymbol{\omega}$$, are only well-defined if the eigenvalues are distinct. However, unlike what loup blanc has claimed in a comment, the values for $$\omega_i$$ obtained from different eigenvalues agree (this makes sense, since $$\dot{\boldsymbol{\mathsf{A}}}$$ contains six independent numbers, the same as the number of unknowns $$\dot\lambda_i$$ and $$\boldsymbol{\omega}$$).