小编Ioa*_*ago的帖子

大矩阵对角化python

我在 scipy 中使用 linalg 来获取 155X156 矩阵的特征值和特征向量。然而,与矩阵相比,特征值的顺序似乎是随机的。我希望第一个特征值对应于矩阵中的第一个数字。请看下面我的日常。我首先读取一个包含所有这样的浮点数的文件(1_1o.dat)

 2533297.650278 -2373859.531153      
 37695.845843     425449.129032
Run Code Online (Sandbox Code Playgroud)

然后我将它们作为数组读取

  [2533297.650278, -2373859.531153,      37695.845843,     425449.129032...]
Run Code Online (Sandbox Code Playgroud)

然后重塑为 156X156 矩阵。我希望按照读取矩阵的顺序打印所有特征值和相应的特征向量。我知道最终我的特征值(156 个数字)应该从小到大列出,而不是像当前例程那样随机列出。当然,相应的特征向量也有相同的顺序。有人可以帮我解决这个问题吗?

谢谢。

from scipy import linalg
from scipy.linalg import *
file2 = open('1_1f.dat', 'w')                                   
with open('1_1o.dat', 'rU') as file:                            
    File = file.readlines()                                     
    nums2 = np.array(File)                                         
    nums2 = [float(i.rstrip('\n')) for i in nums2[0].split()]  
    nums2 = np.reshape(nums2, (156, 156))
    print eig(nums2)    
    print >> file2, eig(nums2)                         
    file2.close()   
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
7952
查看次数

标签 统计

python ×1