我试图找到一个类似于3x3矩阵的矩阵B:a使用随机可逆矩阵p。 B=P_存货A.P
import numpy as np
from scipy import linalg as LA
from numpy.linalg import inv
A = np.random.randint(1,10,9).reshape(3,3)
P = np.random.randn(3,3)
P_inv = inv(P)
eig1 = LA.eigvalsh(A)
eig1 = np.sort(eig1)
B1 = P_inv.dot(A)
B = B1.dot(P)
eig2 = LA.eigvalsh(B)
eig2 = np.sort(eig2)
print(np.round(eig1 ,3))
print(np.round(eig2,3))
然而,我认为eig1&;eig2永远不相等。 我遗漏了什么,还是一个数字错误
谢谢
凯达尔
您正在使用
eigvalsh
,这要求矩阵是实对称的(或复数厄米特),而随机生成的矩阵不是删除
h
并改为使用eigvals
修复此问题相关问题 更多 >
编程相关推荐