How can I avoid imaginary unity when finding eigenvalues of $5\times 5$ matrices

95 Views Asked by At

I am trying to plot the eigenvalues of a Hermitian (in fact, real symmetric) matrix. It is a fairly sparse matrix and I expected it would not be too bad to work with (I put it in latex form at the end of the question). I used Wolfram to find the eigenvalues as a function of U and t, using the numerical approximation abilities of Wolfram Alpha. It returned eigenvalues that contained the imaginary unit. Now, I understand that a Hermitian matrix must have real eigenvalues so the imaginary parts must cancel themselves out. However, that does not bring me any closer to a real expression for them that could be easily handled by python or desmos for plotting. Does anyone know how to bypass this issue? Any and all advice is welcome!

For those interested, the matrix is a piece of the Hamiltonian for the 3 site Hubbard model on a chain: $$ \begin {bmatrix} U & 0 & 0 & 0 & -\sqrt{6}t \\ 0 & U & 0 & \sqrt{2}t & 0 \\ 0 & 0 & 0 & 0 & \sqrt{2}t \\ 0 & \sqrt{2}t & 0 & 0 & 0 \\ -\sqrt{6}t & 0 & \sqrt{2}t & 0 & 0 \end{bmatrix} $$

1

There are 1 best solutions below

0
On BEST ANSWER

This is an example of the casus irreducibilis — a real number that has an algebraic expression in terms of arithmetic and roots, but requires complex numbers to be used in any such calculation.

Some plotting tools that have trouble realizing the result is a real number can be helped by wrapping the entire expression in the function that returns the real part of a complex number.

In any case, if it has them, I imagine you'd get better results by taking the plot function to be your software's numerical methods for approximating eigenvalues, rather than trying to extract a closed form expression to use as the plot function.