Собственные значения не отсортированы

avatar
user553052
1 июля 2021 в 17:32
48
0
0

Я вычисляю собственные значения симметричной вещественной матрицы с восьмеркой из numpy. Я знаю, что в сети есть куча подобных вопросов, но я не нашел решения.

Подпрограмма Eigh использует в соответствии с документом подпрограмму на Фортране, которая выдает собственные значения в порядке возрастания. Таким образом, матрица преобразования в новом базисе также содержит матрицу перестановок. Мой вопрос в том, можно ли как-то извлечь эту матрицу перестановок из матрицы преобразования, т.е. найти P в

U'=P U.

Кажется, в mathematica есть обходной путь (https://mathematica.stackexchange.com/questions/59172/should-eigenvalues-be-ordered), однако у меня нет лицензии и я не могу перевести приведенный там код. Можно было бы использовать eig, который не сортирует собственные значения, однако я нашел некоторую сортировку для очень больших матриц.

Заранее спасибо

Источник
Mad Physicist
1 июля 2021 в 19:23
0

Покажите минимальный воспроизводимый пример: входная матрица, выход и что вы хотели получить взамен. Сделайте небольшой пример для игры.

user2640045
2 июля 2021 в 15:34
0

Хм, я не знаю ни о каком каноническом порядке собственных значений/собственных векторов. В сообщении вы упоминаете, что кто-то предпочитает их упорядоченные по значению, а не по абсолютному значению. Вы тоже этого хотите? И если да, то могу я спросить, почему? Обратите внимание, что, поскольку матрицы перестановок ортогональны независимо от их порядка, если вы поместите их в матрицу, вы получите унитарную матрицу.

Ответы (0)