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中矩阵特征向量的两种方法。我希望它能帮助你~
下一篇 python如何求解线性方程组?
