Почему SymPy предоставляет собственные векторы для вырожденного подпространства, которые не образуют допустимых операторPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему SymPy предоставляет собственные векторы для вырожденного подпространства, которые не образуют допустимых оператор

Сообщение Anonymous »

Я пытаюсь использовать SymPy для символического вычисления каждого набора операторов проекции, соответствующих собственным подпространствам каждой из матриц, определенных в списке An:

Код: Выделить всё

import numpy as np
import sympy as sp
qutritketsn = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]])
qutritketss = sp.Matrix(qutritketsn)
an = [(1/sp.sqrt(1+sp.cos(sp.pi/5)))*(sp.cos(4*sp.pi*n/5)*qutritketss.col(0)+sp.sin(4*sp.pi*n/5)*qutritketss.col(1)+sp.sqrt(sp.cos(sp.pi/5))*qutritketss.col(2)) for n in range(5)]
An = [sp.eye(3)-2*(v*v.T.conjugate()) for v in an]
Обратите внимание, что все матрицы в An должны иметь собственные значения -1, 1, 1.
Код, который мне нужен для этого заключается в следующем:

Код: Выделить всё

eigproj = []
for num in range(len(An)):
eig_stuff = An[num].eigenvects(simplify=True)
eigproj_temp = []
for i in range(len(eig_stuff)):
if eig_stuff[i][1]0)*sum([eig_mult[j] for j in range(max(i, 0))])), sum([eig_mult[j] for j in range(i+1)]))] for i in range(len(eig_mult))]
eigproj_temp = [np.outer(eigvs_temp[:, i], np.conj(eigvs_temp[:, i])) for i in range(eigvs_temp.shape[0])]
eigproj_temp1 = []
for i in dup_inds:
if len(i)>1:
og = np.zeros(eigproj_temp[0].shape)
for j in i:
og += eigproj_temp[j]
eigproj_temp1.append(og)
else:
eigproj_temp1.append(eigproj_temp[i[0]])

eigproj_temp1 = np.array(eigproj_temp1)
eigproj.append(eigproj_temp1)
Итак, мой вопрос: почему SymPy возвращает эти конкретные собственные векторы и действительно ли проблема на моей стороне или в SymPy? Если это с моей стороны, что я здесь делаю не так? Любая помощь будет принята с благодарностью :)

Подробнее здесь: https://stackoverflow.com/questions/791 ... form-valid
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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