Одновременная диагонализация набора коммутирующих эрмитовых матриц размера 8*8 ⇐ 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?
У меня есть четыре коммутирующих эрмитовых матрицы 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?