numpy.linalg,eig(a)函数

函数:numpy.linalg.eig(a)

参数:

  • a:想要计算奇异值和右奇异值的方阵

返回值:

  • w:特征值。每个特征值根据它的多重性重复。这个数组将是复杂类型,除非虚数部分为0。当传进的参数a是实数时,得到的特征值是实数。
  • v:特征向量。

例子:

当我们想要求解一个非方阵的奇异值之前,我们需要先把这个矩阵转换为方阵。

>>> from numpy import *
>>> import numpy as np
>>> A = mat([[4,5,6],[1,2,3]])
>>> U = A*A.T
>>> lamda,hU=linalg.eig(U)
>>> sigma=sqrt(lamda)
>>> print sigma
[9.508032   0.77286964]

在开头先进行矩阵的乘法,把矩阵和矩阵的转置相乘,得到一个方阵,然后这个方阵作为参数,可以得到特征值和特征向量。

其中返回的第一个值w进行开根号就是data这个矩阵的奇异值。至于为什么w开根号的值就是svd函数的第二个返回值,可以查看我之前写的svd函数的解释。numpy.linalg.svd

我们可以用svd函数来验证一下。

>>> Q,S,VT=linalg.svd(A)
>>> print S
[9.508032   0.77286964]

官方手册:numpy.linalg.eig

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值