eigen函数中特征向量的符号随symmetric参数的规范而变化。请考虑以下示例:
set.seed(1234)
data <- matrix(rnorm(200),nrow=100)
cov.matrix <- cov(data)
vectors.1 <- eigen(cov.matrix,symmetric=TRUE)$vectors
vectors.2 <- eigen(cov.matrix,symmetric=FALSE)$vectors
#The second and third eigenvectors have opposite sign
all(vec
我想用Python对矩阵进行对角化,下面是我的脚本:
import scipy.linalg as lg
vp = lg.eig(A) # eigen values and vectors
D = N.diag(vp[0]) # diagonalisation of A from its eigen values
P=vp[1] # such as A = P.D.P(-1)
Pm1=lg.inv(P)
但是我怀疑A不能对角化,但这并不能阻止Python计算D、P和P(-1),而不会有任何麻烦.更重要的是,D中的系数是复数,当A中的系数是实的时候,它