我想使用 sympy 来计算特征向量,我用 jupyter 笔记本做了一些试验
from sympy import *
a,b=symbols("a b", real=True)
M = Matrix([[a,b],[b,-a]])
[T, D] = M.diagonalize(normalize=true)
为了检查归一化,我计算了向量范数:simplify(T[0,0]**2+T[1,0]**2)
。但产量却非常大。看起来a and b不被视为实数(绝对值的平方不会简化为平方)。要获得期望值:1,我必须使用
T00ref=refine(T[0,0],Q.real(a) & Q.real(b))
T10ref=refine(T[1,0],Q.real(a) & Q.real(b))
simplify(T00ref**2+T10ref**2)
为什么必须细化矩阵元素?
而且,
Tref=refine(T,Q.real(a) & Q.real(b))
simplify(Tref[0,0]**2+Tref[1,0]**2)
不起作用。我无法完善整个矩阵。
感谢您的回答。