python计算矩阵的特征值,python求特征向量
作为python中比较简单的编程方法,可以实现线性计算。numpy库提供了矩阵运算,可以实现矩阵特征向量的计算。scipy还可以实现numpy库提供的矩阵运算功能,这是numpy库提供的矩阵运算的扩展。介绍了python中计算矩阵特征向量的两种方法:1 .使用函数numpy . linalg . EIG(a);2.用scipy.linalg.eig()计算方阵的特征向量(numpy方法的扩展)。
一、使用numpy.linalg.eig(a)函数
参数:
答:你要计算奇异值和右奇异值的方阵。
返回值:
w:特征值。每个特征值根据其多重性重复。除非虚部为0,否则该数组将是复杂类型。当传递的参数A是实数时,得到的特征值是实数。
v:特征向量。
使用实例
fromnumpyimportlinalgasLA
a=np.array([[1,1j],[-1j,1]])
w,v=LA.eig(a)
w;v
array([2.000000000 e 00 0 . j,5.98651912 e-36 0 . j])#即{2,0}
数组([[0.00000000 0.70710678j,0.70710678 0.j),
[0.70710678 0.j,0.0000000 0.70710678j]])
a=np.array([[1 1e-9,0],[0,1-1e-9]])
#理论值1 /-1e-9
w,v=LA.eig(a)
w;v
数组([1。1.])
数组([[1。0.],
[0.1.]])二、使用scipy.linalg.eig()计算方阵的特征向量(numpy方法的拓展)
1、语法格式
Print(Eig: ,lg.eig(arr))#求矩阵arr的特征向量2、使用实例
#编码:utf-8
从_ _未来_ _进口部
fromscipyimportlinalgasla
fromscipyimportoptimize
重要症状
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中计算矩阵特征向量的两种方法。希望他们能帮到你~
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。