Одновременная диагонализация набора коммутирующих эрмитовых матриц размера 8*8Python

Программы на Python
Гость
Одновременная диагонализация набора коммутирующих эрмитовых матриц размера 8*8

Сообщение Гость »


У меня есть четыре коммутирующих эрмитовых матрицы 8*8 A, B, C, D. Собственные значения равны +1 и -1, каждая с кратностью 4. Я хочу диагонализировать эти матрицы одновременно. Из-за 4-кратного вырождения каждого собственного значения это непросто.

Первый вопрос
[*]Есть ли встроенная функция Python в NumPy, SciPy... для этого?
Похоже, существует алгоритм, который диагонализует матрицу

X(a,b,c,d) = aD + bB + cC + dD

где a, b, c, d — все ненулевые числа, в нашем случае действительные, такие что X также является эрмитовым. X должен иметь максимальный ранг, т.е. Rank(X) = 8 или det(X) != 0.

Еще вопросы
[*]Есть ли доказательство использования этого алгоритма с помощью X? [*]При каких дополнительных условиях этот алгоритм сходится? [*]Как мне выбрать числа a, b, c, d?

Вернуться в «Python»