Python numpy.linalg.eig()
在NumPy中,我们可以在numpy.linalg.eig()的帮助下计算一个给定方阵的特征值和右向量。它将接受一个方阵作为参数,并将返回两个值,第一个是方阵的特征值,第二个是给定方阵的右特征向量。
语法: numpy.linalg.eig()
参数:一个方形数组。
返回:它将返回两个值,第一是特征值,第二是特征向量。
示例 1:
import numpy as np
mat = np.mat("1 -2;1 3")
# Original matrix
print(mat)
print("")
evalue, evect = np.linalg.eig(mat)
# Eigenvalues of the said matrix"
print(evalue)
print("")
# Eigenvectors of the said matrix
print(evect)
输出:
[[ 1 -2]
[ 1 3]]
[2.+1.j 2.-1.j]
[[ 0.81649658+0.j 0.81649658-0.j ]
[-0.40824829-0.40824829j -0.40824829+0.40824829j]]
示例 2:
import numpy as np
mat = np.mat("1 2 3;1 3 4;3 2 1")
# Original matrix
print(mat)
print("")
evalue, evect = np.linalg.eig(mat)
# Eigenvalues of the said matrix"
print(evalue)
print("")
# Eigenvectors of the said matrix
print(evect)
输出:
[[1 2 3]
[1 3 4]
[3 2 1]]
[ 6.70156212 0.29843788 -2. ]
[[-0.5113361 -0.42932334 -0.40482045]
[-0.69070311 0.7945835 -0.52048344]
[-0.5113361 -0.42932334 0.75180941]]