Calculate variations of eigenvectors w.r.t input matrix

54 Views Asked by At

From the eigen decomposition :

$$A = PDP^T$$ I would like to calculate $dP$ w.r.t $dA$.

I start like this :

$$dA = dPDP^T + PdDP^T + PDdP^T$$

Since we only consider variations in eigenvectors and not eigenvalues, $dD = O$.

So :

$$dA = dPDP^T + PDdP^T$$

Now I know that $d(P^T) = (dP)^T$, but then I would be stuck with some $dP$ and $dP^T$, for which it would be difficult to isolate $dP$.

I noticed than $P^{-1} = P^T$ by definition of the eigen decomposition. So I can write : $$dP^T = d(P^{-1}) = -P^{-1}dPP^{-1} = -P^TdPP^T$$

I get :

$$dA = dPDP^T + PDdP^T$$ $$dA = dPDP^T + PD(-P^TdPP^T)$$ $$dA = dPDP^T - PDP^TdPP^T$$ $$dA = dPDP^T - AdPP^T$$

And I'm stuck here, I can't manage to factorize the right part with a single $dP$ in order to get something of the form : $$dP = f(dA)$$ Any ideas on how to do this ? I feel like I need a second equation...

Thanks

1

There are 1 best solutions below

3
On BEST ANSWER

By vectorizing the last equation, you can obtain something in the desired form
$$\eqalign{ {\rm vec}(dA) &= {\rm vec}(dP\,DP^T - A\,dP\,P^T) \cr da &= (PD\otimes I - P\otimes A)\,dp \cr dp &= (PD\otimes I - P\otimes A)^{-1}\,da \cr \frac{\partial p}{\partial a} &= (PD\otimes I - P\otimes A)^{-1} \cr }$$ where $\otimes$ represents the Kronecker product.

Rather than vectorization, you could use fourth-order tensors instead. $$\eqalign{ dA &= ({\mathcal E}PD-A{\mathcal E}P):dP }$$ where ${\mathcal E}=\frac{\partial P}{\partial P}$ is a 4th order tensor whose components can be written in terms of delta symbols as $$\eqalign{ {\mathcal E}_{ijkl} &= \delta_{ik} \delta_{jl} \cr {\mathcal B} &= A{\mathcal E}P \implies {\mathcal B}_{ikln} = \sum_j\sum_m A_{ij}{\mathcal E}_{jklm}P_{mn} = A_{il}P_{kn}\cr }$$ and the colon represents a double-dot product, i.e. $$M={\mathcal B}:{dP} \implies M_{ij}=\sum_k\sum_l {\mathcal B}_{ijkl}\,dP_{kl}$$