Я за тонкий троллинг почёл предложение считать через характеристический многочлен не потому, что корни такого многочлена может быть практичнее считать через собственные значения (правда, уже несимметричной матрицы), а потому, что такой расчёт включает два этапа. Первый, построение характеристического многочлена, при реализации "в лоб" требует
![$n!$ $n!$](https://dxdy-02.korotkov.co.uk/f/5/0/c/50c0357224674ab662b8ea5e5ca3eb8a82.png)
слагаемых (и "!" это не знак восторга...). И хотя в попытках упростить задачу было предложено много достаточно нетривиальных по идее и сложных по реализации алгоритмов (можно ознакомится, скажем, в классической книге Фадеева и Фадеевой, но имея в виду, что все они представляют исторический интерес, а книга вышла, когда QR-алгоритм ещё не придумали, а "ручная" реализация метода Якоби оказалась для компьютеров непрактичной, и как обойти нежданную трудность с тем, что герр Якоби выбирал для зануления отражениями максимальный элемент матрицы, что для посильных ручному расчёту размерностей составляло пренебрежимо малую затрату труда сравнительно с умножениями, а при компьютерной реализации поиск максимума требовал
![$O(n^2)$ $O(n^2)$](https://dxdy-04.korotkov.co.uk/f/3/9/8/3987120c67ed5a9162aa9841b531c3a982.png)
операций, тогда как собственно вращение
![$O(n)$ $O(n)$](https://dxdy-02.korotkov.co.uk/f/1/f/0/1f08ccc9cd7309ba1e756c3d9345ad9f82.png)
, тогда только соображали), самый быстрый из алгоритмов требовал
![$O(n^4)$ $O(n^4)$](https://dxdy-01.korotkov.co.uk/f/4/a/0/4a083b18a8d541584fecf7c22fb90fa582.png)
шагов.
Второй этап, нахождение корней характеристического полинома, достаточно быстр, но возможна численная неустойчивость (хотя спасает то, что для симметричной матрицы они действительны, и можно делить пополам, в общем случае всё довольно грустно).
Ну и присоединяюсь к вопросу о размере матрицы. Может, "возьмите транспортир"?