我有一个大小为2200 * 2200的对称矩阵。我在numpy中使用以下命令对角化:
np.linalg.eigh(A)
字符串输出如下:
(array([ -1.93221186e-14, -1.53743240e-14, -3.58303176e-15, ..., 4.95098104e+01, 5.06117042e+01, 5.07858517e+01]).
型请告诉我一个方法,使它可以打印所有的2200特征值。谢谢你的答复提前
scyqe7ek1#
使用tuple unpacking:第一个月然后你将得到一个一维数组eigenvalues和len(eigenvalues) == 2200。如果你愿意,你可以像往常一样打印它。
eigenvalues
len(eigenvalues) == 2200
for eigenvalue in eigenvalues: print(eigenvalue)
字符串
eeq64g8w2#
如前所述,你可以使用元组解包将特征值存储在一个单独的数组中。然后你可以使用np.savetxt例程写出你的数组:
np.savetxt
import sys import numpy as np eigvals, eigvecs = np.linalg.eigh(A) np.savetxt(sys.stdout, eigvals, delimiter=" ", fmt="%15.8E")
字符串这里的好处是,如果你决定将数组写入文件而不是屏幕,你可以使用文件处理程序(甚至文件名)而不是sys.stdout。
2条答案
按热度按时间scyqe7ek1#
使用tuple unpacking:
第一个月
然后你将得到一个一维数组
eigenvalues
和len(eigenvalues) == 2200
。如果你愿意,你可以像往常一样打印它。字符串
eeq64g8w2#
如前所述,你可以使用元组解包将特征值存储在一个单独的数组中。然后你可以使用
np.savetxt
例程写出你的数组:字符串
这里的好处是,如果你决定将数组写入文件而不是屏幕,你可以使用文件处理程序(甚至文件名)而不是sys.stdout。