Suppose that $B$ is a real, positive-definitive symmetric ($3\times3$) matrix (more accurately, $B$ is a tensor) with distinct eigenvalues, and that we can write it as 
$$
B= \sum\_{i=1}^3 \lambda\_{i}(n\_{i}\otimes n\_{i}),
$$
where $ n\_{i} $ and $ \lambda\_{i} $ are the unit eigenvectors and eigenvalues of $B$, and $\otimes$ is the [dyadic product](https://en.wikipedia.org/wiki/Dyadics).


I need to calculate the derivative of eigenvectors of $B$ with respect to its components; in other words:
 $$
\frac{\partial n\_{i}}{\partial B}
$$


I read some sources such as Kato's Perturbation theory but I couldn't figure out how to solve this, so I'm looking for pointers to a closed form solution.



Derivative of eigenvectors of a matrix with respect to its components
If $B$ depends on a single parameter $t$ then derivating with respect to $t$ the equality


$$ B n\_i =\lambda\_i n\_i $$


we deduce


$$\dot{B} n\_i +B\dot{n}\_i=\dot{\lambda}\_i n\_i +\lambda\_i\dot{n}\_i. $$


Here we assume that $\Vert n\_i\Vert =1$. Hence $\dot{n}\_i\perp n\_i$, $\forall i$. Taking the inner product of the above equality with $n\_i$ and observing that


$$ (B\dot{n}\_i, n\_i)=(\dot{n}\_i, Bn\_i)=\lambda\_i(\dot{n}\_i,n\_i)=0 \tag{1} $$


we deduce


$$\boxed{\dot{\lambda}\_i=(\dot{B}n\_i,n\_i).} $$


This determines $\dot{\lambda}\_i$ in terms of $\dot{B}$. 


Next, we take the inner product of (1) with $n\_j$, $j\neq i$. Using the fact that $B$ is symmetric we deduce


$$(\dot{B}n\_i, n\_j)+(\dot{n}\_i, Bn\_j)=\lambda\_i (\dot{n}\_i, n\_j) $$


so that


$$(\dot{B}n\_i, n\_j)+\lambda\_j(\dot{n}\_i, n\_j)=\lambda\_i (\dot{n}\_i, n\_j) $$


This shows that


$$(\dot{n}\_i, n\_j)=\frac{1}{\lambda\_i-\lambda\_j}(\dot{B}n\_i, n\_j), $$


that is


$$\dot{n}\_i=\sum\_{j\neq i} \frac{1}{\lambda\_i-\lambda\_j}(\dot{B}n\_i, n\_j) n\_j.\tag{2} $$


If we let the parameter $t$ to be entry $b\_{k\ell}$, $k\leq \ell$, of $B$ with respect to some fixed orthonormal basis we deduce


$$\boxed{\frac{\partial n\_i}{\partial b\_{k\ell}}=\sum\_{j\neq i} \frac{1}{\lambda\_i-\lambda\_j}\Biggl(\frac{\partial B}{\partial b\_{k\ell}}n\_i, n\_j\Biggr) n\_j.} $$


This is equivalent with the formula of Carlo Beenakker.


