I have a $n\times n$ symmetric normal complex matrix which always has $\frac 23 n$ degenerate eigenvalues. ($n$ is always in form of $3k \quad k=1,2,...)$
For example in $6\times 6$ case it has eigenvalues $\lambda_1,\lambda_2,\lambda_3,\lambda_3,\lambda_4,\lambda_4$.
I know a degenerate eigenvalue will create a $2D$ space of eigenvectors that can be associated to it. I need to measure the evolution of these eigenvectors as the matrix changes very slightly at each step (with a loop variable called $\omega$), which I have a computer code written for it. It calculates the following formula for eigenvectors and plots $\tau-\omega$.
$$f_{ij}(\alpha,\beta)=\sum_{l=1}^nF(\omega,\lambda_l)\frac {\langle i\alpha\lvert l\rangle \langle\bar l\lvert j\beta\rangle}{\langle l\lvert \bar l \rangle}$$
$$\tau_{ij}(\omega)=C(\omega)\sum_{\alpha \beta}\lvert f_{ij}(\alpha,\beta)\lvert^2$$
Where $\langle i\alpha\lvert$ and $\lvert j\beta\rangle$ are basis of an $nD$ space, $\langle \bar l\lvert$ is the notation for eigenvector $\lvert l\rangle$ transposed (not conjugated), $(i,j)$ are indexes from $1$ to $n$, so we would have $n^2$ values of $\tau$ changing as $\omega$ changes. (and $\tau_{ij}=\tau_{ji}$)
Problem is the computer code choosing one of infinite possible eigenvectors for degenerate eigenvalues in each iteration as $\omega$ changes so the final $\tau-\omega$ plot has noises.
First image is what the result is supposed to look like and the second one indicates the problem. These are not high-res outputs but I think they do the job.
These noises vanish as I use only the non-degenerate eigenvalues and vectors or when I use a very bad approximation to make the matrix Hermitian. So the degeneracy problem is the case here.
Question: Is there any way around this problem to monitor the behavior of degenerate eigenvectors as the matrix changes slightly?
(I use LAPACK to calculate eigenvectors if it matters)