# Size reduction of matrices in dispersion curve calculation

I have an energy dispersion curve obtained from the eigenvalues of $$E(k) = \text{eig}(T e^{ik} + T^H e^{-ik} + H_0),$$

where $H_0$ and $T$ are $N\times N$ square matrices, $T^H$ is the Hermitian transpose $T$, and $k$ is the wave-vector. So, there are just 2 matrices $T$ and $H_0$ that determine the problem.

I want to reduce the size of matrices $T$ and $H_0$ in a way that the approximation results in the same eigenvalues for a limited energy range (i.e. $E = [1:3]$). Is it possible to construct new matrices $T_1$ and $H_1$ such that $E_1(k) = \text{eig}(T_1e^{ik} + T_1^H e^{-ik} + H_1)$ be close to $E(k)$ for a limited energy range? How?

• You want some sort of low-rank approximation. If it's possible to explicitly calculate the eigenvectors and eigenvalues of $T \exp(ik) + T'\exp(-ik) + H_{0}$ as a function of $k$, that might give you the information you need. If that's not possible, you might try looking to see if Krylov subspace methods might help you. – Geoff Oxberry Nov 5 '13 at 0:36
• Thanks! It is possible to calculate eigen vectors. But could you explain more how that method can be used here – Hesam Nov 6 '13 at 1:34
• If you provide the origin of the matrices it might be easier to help you with the approximation. – nicoguaro Apr 15 '17 at 17:29