I have a Hermitian matrix $\mathbf{H}$ which depends on two parameters say $x$ and $y$. When I diagonalize it at two close points $(x_1,y_1)$ and $(x_2,y_2)$ I get two close eigenvalues ($\varepsilon_1$ and $\varepsilon_2$) and two corresponding eigenspaces ($S_1$ and $S_2$) of the same dimension.
Note that they are not eigenvalues of the same matrix. There are two different matrices: $\mathbf{H}_1=\mathbf{H}(x_1,y_1)$ and $\mathbf{H}_2=\mathbf{H}(x_2,y_2)$.
I have a mesh of points $(x_i,y_i)$ and want to find the eigenvalue and the eigenspace at any point using interpolation. The problem is that since the matrices are diagonalized numerically the bases of $S_1$ and $S_2$ are completely independent. Even if $(x_1,y_1)$ and $(x_2,y_2)$ are very close the basis vectors can have very different components.
For interpolation I need a basis that depends on $x$ and $y$ continuously, i.e. the closer the eigenspaces $S_1$ and $S_2$ the closer should be the basis vectors.
If $S_1$ and $S_2$ are plains in 3-dimensional Euclidean space then a good way to select a basis in S2 is to rotate the basis of S1 around the line which is the intersection of the plains. Is there something analogous to this in complex multidimensional space?