Ray*_*Ray 7 python numpy eigenvalue
我想知道是否有一个Python包,numpy或其他,它有一个函数来计算一个小矩阵的第一个特征值和特征向量,比如2x2.我可以在numpy中使用linalg包,如下所示.
import numpy as np
def whatever():
A = np.asmatrix(np.rand(2, 2))
evals, evecs = np.linalg.eig(A)
#Assume that the eigenvalues are ordered from large to small and that the
#eigenvectors are ordered accordingly.
return evals[0], evecs[:, 0]
Run Code Online (Sandbox Code Playgroud)
但这需要很长时间.我怀疑这是因为numpy通过某种迭代过程计算特征向量.所以我想知道是否有一个更快的算法只返回第一个(最大的)特征值和特征向量,因为我只需要第一个.
对于2x2矩阵,我当然可以自己编写一个函数,分析计算特征值和特征向量,但是浮点计算存在问题,例如当我将一个非常大的数字除以一个非常小的数字时,我得到无穷大或NaN .有人对这个有了解吗?请帮忙!先感谢您!
使用此:http://docs.scipy.org/doc/scipy/reference/sparse.linalg.html
Find k eigenvalues and eigenvectors of the square matrix A.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20278 次 |
| 最近记录: |