Я за тонкий троллинг почёл предложение считать через характеристический многочлен не потому, что корни такого многочлена может быть практичнее считать через собственные значения (правда, уже несимметричной матрицы), а потому, что такой расчёт включает два этапа. Первый, построение характеристического многочлена, при реализации "в лоб" требует
слагаемых (и "!" это не знак восторга...). И хотя в попытках упростить задачу было предложено много достаточно нетривиальных по идее и сложных по реализации алгоритмов (можно ознакомится, скажем, в классической книге Фадеева и Фадеевой, но имея в виду, что все они представляют исторический интерес, а книга вышла, когда QR-алгоритм ещё не придумали, а "ручная" реализация метода Якоби оказалась для компьютеров непрактичной, и как обойти нежданную трудность с тем, что герр Якоби выбирал для зануления отражениями максимальный элемент матрицы, что для посильных ручному расчёту размерностей составляло пренебрежимо малую затрату труда сравнительно с умножениями, а при компьютерной реализации поиск максимума требовал
операций, тогда как собственно вращение
, тогда только соображали), самый быстрый из алгоритмов требовал
шагов.
Второй этап, нахождение корней характеристического полинома, достаточно быстр, но возможна численная неустойчивость (хотя спасает то, что для симметричной матрицы они действительны, и можно делить пополам, в общем случае всё довольно грустно).
Ну и присоединяюсь к вопросу о размере матрицы. Может, "возьмите транспортир"?