Так это разные диагонализации. Есть приведение матрицы
![$A$ $A$](https://dxdy-02.korotkov.co.uk/f/5/3/d/53d147e7f3fe6e47ee05b88b166bd3f682.png)
(не обязательно квадратной) к ступенчатой форме с помощью домножения с одной стороны (скажем, слева) на обратимую матрицу. Это, кстати, над произвольным полем. А есть приведение квадратной матрицы
![$A$ $A$](https://dxdy-02.korotkov.co.uk/f/5/3/d/53d147e7f3fe6e47ee05b88b166bd3f682.png)
к жордановой нормальной форме преобразованиями вида
![$A \mapsto U A U^{-1}$ $A \mapsto U A U^{-1}$](https://dxdy-04.korotkov.co.uk/f/b/7/1/b71f198c5a5baa35ff94d2295aa2f50882.png)
для обратимой
![$U$ $U$](https://dxdy-03.korotkov.co.uk/f/6/b/a/6bac6ec50c01592407695ef84f45723282.png)
, уже только над алгебраически замкнутым полем. В общем случае обе эти стандартные формы не являются диагональными. Ступенчатая форма диагональна тогда и только тогда, когда
![$A$ $A$](https://dxdy-02.korotkov.co.uk/f/5/3/d/53d147e7f3fe6e47ee05b88b166bd3f682.png)
обратима. А жорданова нормальная форма диагональна тогда и только тогда, когда
![$A$ $A$](https://dxdy-02.korotkov.co.uk/f/5/3/d/53d147e7f3fe6e47ee05b88b166bd3f682.png)
полупростая (по определению полупростоты). Есть ещё другие "диагонализации", например, для симметричных (или эрмитовых) матриц...
Извиняюсь, совсем не понимаю. Но я знаю что матрица силовых постоянных симметрична, т.е. элементы Uij и Uji равны. Какие бывают диагонализации для таких матриц?
И как называется диагонализация которую я описал?
-- 29.07.2024, 16:31 --и не нужно, просто решайте проблему собственных значений, правая часть для этого не нужна
Поясните? Собственные значения это элементы на диагонали, которые будут после диагонализации?
-- 29.07.2024, 16:32 --это здорово, но почему бы для начала не использовать нечто "из коробки" - типа lapack например (numpy видимо не подойдет, поскольку ТС пишет свою исполняемую прогу, а не скрипт на Питоне).
Посмотреть, как будет работать весь алгоритм в сборе (диагонализация это как я понимаю всего лишь маленький винтик у этого механизма), а потом перейти к написанию своего модуля диагонализации (если не нравится как он работает или просто для души)
Я "велосипедист", мне проще и интереснее самому закодить алгоритм, чем искать готовый.