当前位置: 首页 > 图灵资讯 > 行业资讯> python中计算矩阵特征向量的方法

python中计算矩阵特征向量的方法

来源:图灵python
时间: 2024-09-09 10:13:32

作为编程中比较简单的编程方法,python可以实现线性计算,numpy库提供矩阵操作,可以实现矩阵特征向量的获取,还可以实现scipynumpy库提供的矩阵操作功能是正确的numpy库提供矩阵操作的扩展。本文介绍了计算python中矩阵特征向量的两种方法:1、使用numpy.linalg.eig(a)函数;2、使用scipy.linalg.eig()计算方阵的特征向量(扩展numpy方法的扩展方法)。

一、使用numpy.linalg.eig(a)函数

参数:

a:计算奇异值和右奇异值的方阵。

返回值:

w:特征值。每个特征值根据其多重性重复。除非虚数部分为0,否则该数组将是一种复杂的类型。当传输的参数a为实数时,特征值为实数。

v:特征向量。

使用实例

>>>fromnumpyimportlinalgasLA
>>>a=np.array([1,1j],[-1j,1]])
>>>w,v=LA.eig(a)
>>>w;v
array([2.00000000e+00000+000.j,5.98651912e-36+0.j])#i.e.,{2,0}
array(0.70710678j,0.70710678j,0.70710678+00.j],
[0.70710678+0.j,0.000000+0.70710678j])
>>>a=np.array([1+1e-9,0],[0,1-1e-9]]
>>>#Theor.e-valuesare1+/-1e-9
>>>w,v=LA.eig(a)
>>>w;v
array([1.,1.])
array([[1.,0.],
[0.,1.]])

使用scipy.linalg.eig()计算方阵的特征向量(numpy方法的扩展

1、语法格式

print('Eig:',lg.eig(arr))#求矩阵arr的特征向量

2、使用实例

#coding:utf-8

from__future__importpision
fromscipyimportlinalgasla
fromscipyimportoptimize
importsympy
importnumpyasnp
sympy.init_printing()
importmatplotlib.pyplotasplt

#使用scipy求解矩阵的特征值
A=np.array([[1,[3,5,3],[5,3],[5,3,9]]
evals,evecs=la.eig(A)
eigvalues=la.eigvalsh(A)

以上是计算python中矩阵特征向量的两种方法。我希望它能帮助你~