Евгений МашеровДа, точно корни многочлена не выразить обычно. Даже через радикалы.
Но, как я писал выше, если есть точный многочлен с целыми коэффициентами, то задача найти его корни приближенно - это уже элементарно. Хоть методом Ньютона можно быстро найти хоть 100, хоть 1000 знаков.
Или вот для примера возьмите матрицу 51x51 которую привёл
vpb.
Ради любопытства в Octave её забил - просто численные методы с double float.
Там функция 'eigs' (help: "This function is based on the ARPACK package") ерунду выдаёт.
Максимальное значение около 1, но отличается во втором знаке после запятой.
Второе значение 5e-4 вместо нужного 6e-2.
В хвосте идут степени 1e-19 - 1e-23, что совсем не похоже на правильный результат.
А вот символьные вычисления в Maxima выдали все 51 собственных значений с заказанной точностью (25 знаков).
-- 01.11.2021, 10:02 --Для несимметрических же матриц ситуация совершенно другая, их с.з. считать гораздо труднее.
Если имеется эффективный метод для симметричных матриц, то для несимметричной можно провести
Polar decomposition -

.
Сначала нужно найти собственные значения матрицы

, которые равны квадратам модулей собственных значений исходной матрицы (что уже даёт модули собственных значений исходной матрицы).
Потом матрицу

. Потом матрицу

.