Так это разные диагонализации. Есть приведение матрицы

(не обязательно квадратной) к ступенчатой форме с помощью домножения с одной стороны (скажем, слева) на обратимую матрицу. Это, кстати, над произвольным полем. А есть приведение квадратной матрицы

к жордановой нормальной форме преобразованиями вида

для обратимой

, уже только над алгебраически замкнутым полем. В общем случае обе эти стандартные формы не являются диагональными. Ступенчатая форма диагональна тогда и только тогда, когда

обратима. А жорданова нормальная форма диагональна тогда и только тогда, когда

полупростая (по определению полупростоты). Есть ещё другие "диагонализации", например, для симметричных (или эрмитовых) матриц...
Извиняюсь, совсем не понимаю. Но я знаю что матрица силовых постоянных симметрична, т.е. элементы Uij и Uji равны. Какие бывают диагонализации для таких матриц?
И как называется диагонализация которую я описал?
-- 29.07.2024, 16:31 --и не нужно, просто решайте проблему собственных значений, правая часть для этого не нужна
Поясните? Собственные значения это элементы на диагонали, которые будут после диагонализации?
-- 29.07.2024, 16:32 --это здорово, но почему бы для начала не использовать нечто "из коробки" - типа lapack например (numpy видимо не подойдет, поскольку ТС пишет свою исполняемую прогу, а не скрипт на Питоне).
Посмотреть, как будет работать весь алгоритм в сборе (диагонализация это как я понимаю всего лишь маленький винтик у этого механизма), а потом перейти к написанию своего модуля диагонализации (если не нравится как он работает или просто для души)
Я "велосипедист", мне проще и интереснее самому закодить алгоритм, чем искать готовый.