Let $A,B$ be square matrices of the same size but arbitrary components. It is a fact that the eigenvalues of $A$ and $A+\epsilon B$ are close for $\epsilon$ small, but the eigenvectors may be drastically different. This latter point is what I am interested in. I am mainly looking for references or work that has been done on this. There is a lot on perturbation of eigenvalues, but I can't really find anything about how perturbations affect eigenvectors.
A simple example is $A=\left(\begin{matrix}1 & 0\\0&1\end{matrix}\right)$, $B=\left(\begin{matrix}-1 & 1\\1&-1\end{matrix}\right)$ and let $\epsilon>0$ be small. Then the eigenpairs for $A$ are just $1,(1,0)^\top$ and $1,(0,1)^\top$. The eigenpairs for $A+\epsilon B$ are $1,(1,1)^\top$ and $1-2\epsilon,(1,-1)^\top$. So the eigenvalues are just perturbed from the original ones for $A$, but the eigenvectors are clearly very different.
I saw this wikipedia article that showed some long calculations for the Hermitian, positive definite case with distinct eigenvalues, and, as far as I can tell, the eigenvectors are only perturbed slightly in that case. In my example, if I change $A_{1,1}=1+\delta$ for a small $\delta$ and make $\epsilon$ small enough, then I do get that the eigenvectors are only slightly perturbed, but it seems $\epsilon$ must be very small compared to $\delta$ (e.g. $\epsilon=\delta/100$ seems to work well).
My question is this:
(1) Are there other cases (other than Hermitian, positive definite case with distinct eigenvalues) where the eigenvectors are indeed only perturbed? I'm specifically interested in nonnegative matrices that are not symmetric (but maybe still with distinct eigenvalues), but also if this is ever possible with repeated eigenvalues.
(2) If the eigenvectors are not simply perturbed but drastically different, is there some relation between the new eigenvectors and the old, e.g. something like the each new eigenvector being a linear combination of the old eigenvectors or some other tractable relationship?
I find for the upper triangular $2\times2$ case with $A=\left(\begin{matrix}a & b\\0&d\end{matrix}\right)$, $B=\left(\begin{matrix}0 & 0\\1&-1\end{matrix}\right)$ that we get $\lambda_\pm$ for $A$ with eigenvectors $(b, \lambda_\pm-a)^\top$. For $A+\epsilon B$ we get the eigenvalues perturbed by $O(\epsilon)$.
The eigenvalues for $A$, leaving unsimplified, are $$\lambda_\pm=\frac{a+d}2\pm\sqrt{\left(\frac{a-d}2\right)^2}$$ with eigenvectors $(b, \lambda_\pm-a)^\top$. And the eigenvalues for $A+\epsilon B$ are $$\lambda_\pm=\frac{a+d}2-\frac\epsilon2\pm\sqrt{\left(\frac{a-d}2\right)^2}\cdot\sqrt{1+4\epsilon \frac{b+d}{(a-d)^2}+O(\epsilon^2)}=\lambda_\pm+O(\epsilon)$$ with eigenvectors $(b,\lambda_\pm-a+O(\epsilon))^\top$ So in this case, where the matrix $A$ is clearly not symmetric (at least for certain values of $a,b,d$), the eigenvectors are simply perturbed. Also, we can clearly see that as $a$ and $d$ get close, then $\epsilon$ needs to be much smaller to make the eigenvectors close.
It's also not too hard to work out the same calculation for the $2\times2$ case of general $A=\left(\begin{matrix}a & b\\c&d\end{matrix}\right)$, $B=\left(\begin{matrix}-1 & 1\\-1&1\end{matrix}\right)$ to get that the eigenvalues and eigenvectors are similarly changed by $O(\epsilon)$. I have a feeling this $O(\epsilon)$ perturbation holds for the general $2\times2$ case as long as the eigenvalues are distinct (i.e. as long as $A$ isn't triangular with identical diagonal components), but I haven't worked it out carefully.
I definitely don't want to try such a calculation for the $3\times3$ case! But maybe there is something already known for other cases?