gpt4 book ai didi

python - numpy python 中向量化特征值计算

转载 作者:行者123 更新时间:2023-12-01 09:13:57 25 4
gpt4 key购买 nike

我试图将 A 的每一行排列成一个矩阵,然后计算特征值。我需要帮助向量化这个操作。

A= np.array([[5, 5, 7, 0, 1, 6], 
[4, 0, 9, 3, 4, 0],
[3, 1, 2, 0, 1, 1],
[7, 6, 4, 4, 1, 8],
[3, 1, 9, 8, 0, 1],
[8, 6, 1, 4, 3, 6],
[6, 9, 5, 9, 6, 1],
[5, 9, 6, 8, 3, 3]])

S1 = A[:,0]
S2 = A[:,1]
S3 = A[:,2]
S4 = A[:,3]
S5 = A[:,4]
S6 = A[:,5]

SS=[(S1,S4,S5),(S4,S2,S6),(S5,S6,S3)]
SS=np.array(SS)
reqval=np.zeros([len(A),1])

for i in range(len(A)):
eva = np.linalg.eigvals(SS[:,:,i])
reqval[i] = max(eva)

最佳答案

使用 transpose/rollaxis/moveaxis 排列轴,这样我们就可以将前两个轴作为最后两个轴,这样我们就可以使用 np.linalg.eigvals 与一次调用,就像这样 -

reqval = np.linalg.eigvals(SS.transpose(2,0,1)).max(1)

要使用rollaxismoveaxis,请使用:np.rollaxis(SS,2,0)np.moveaxis( SS,2,0)分别代替SS.transpose(2,0,1)

关于python - numpy python 中向量化特征值计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51413012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com