I am trying to calculate eigenvalues of a sparse matrix with only two distinct non-zero elements, here Alpha and Beta, which are both negative reals. Mathematica returns some complex expressions with `Root[]` values when using the `Eigenvalues[]` command on the following matrixA: In all cases the matrices are symmetric and real and hence have real eigenvalues. matrixA=({ {\[Alpha], \[Beta], 0, 0, 0, 0, \[Beta], 0, 0, \[Beta]}, {\[Beta], \[Alpha], \[Beta], 0, 0, 0, 0, 0, 0, 0}, {0, \[Beta], \[Alpha], \[Beta], 0, 0, 0, 0, 0, 0}, {0, 0, \[Beta], \[Alpha], \[Beta], 0, 0, 0, 0, 0}, {0, 0, 0, \[Beta], \[Alpha], \[Beta], 0, 0, 0, 0}, {0, 0, 0, 0, \[Beta], \[Alpha], \[Beta], 0, 0, 0}, {\[Beta], 0, 0, 0, 0, \[Beta], \[Alpha], \[Beta], 0, 0}, {0, 0, 0, 0, 0, 0, \[Beta], \[Alpha], \[Beta], 0}, {0, 0, 0, 0, 0, 0, 0, \[Beta], \[Alpha], \[Beta]}, {\[Beta], 0, 0, 0, 0, 0, 0, 0, \[Beta], \[Alpha]} }) For comparison, with all the other similar matrices I've tried (see below e.g. matrixB) Mathematica will put out simple decimal approximations (using `Eigenvalues[matrixB] // N // Simplify`) Can anyone point out a way to get expressions for the matrixA as simple as for matrixB? And yes, the desired simple answers for matrixA do exist, I can get them with other programs, but I want to use Mathematica! matrixB=({ {\[Alpha], \[Beta], 0, 0, 0, 0, 0, 0, 0, \[Beta]}, {\[Beta], \[Alpha], \[Beta], 0, 0, 0, 0, 0, 0, 0}, {0, \[Beta], \[Alpha], \[Beta], 0, 0, 0, \[Beta], 0, 0}, {0, 0, \[Beta], \[Alpha], \[Beta], 0, 0, 0, 0, 0}, {0, 0, 0, \[Beta], \[Alpha], \[Beta], 0, 0, 0, 0}, {0, 0, 0, 0, \[Beta], \[Alpha], \[Beta], 0, 0, 0}, {0, 0, 0, 0, 0, \[Beta], \[Alpha], \[Beta], 0, 0}, {0, 0, \[Beta], 0, 0, 0, \[Beta], \[Alpha], \[Beta], 0}, {0, 0, 0, 0, 0, 0, 0, \[Beta], \[Alpha], \[Beta]}, {\[Beta], 0, 0, 0, 0, 0, 0, 0, \[Beta], \[Alpha]} })