Numpy库进阶教程(二)

第一篇在这里:Numpy库进阶教程(一)求解线性方程组

求解特征值和特征向量

关于特征值和特征向量的介绍,可以点击这里
首先创建一个矩阵

In [1]: A=mat("3 -2;1 0")

In [2]: A
Out[2]: 
matrix([[ 3, -2],
        [ 1,  0]])

在numpy.linalg模块中,eigvals函数可以计算矩阵的特征值,而eig函数可以返回一个包含特征值和对应特征向量的元组。

使用eigvals函数求解特征值

In [3]: linalg.eigvals(A)
Out[3]: array([ 2.,  1.])

使用eig函数求解特征值和特征向量。该函数将返回一个元祖,按列排放着特征值和对应的特征向量,其中第一列为特征值,第二列为特征向量。

In [5]: B=eig(A)

In [6]: B
Out[6]: 
(array([ 2.,  1.]), matrix([[ 0.89442719,  0.70710678],
         [ 0.4472136 ,  0.70710678]]))

使用dot函数使矩阵相乘验证求得的解是否正确

eigenvalues, eigenvectors = np.linalg.eig(A)
print "First tuple of eig", eigenvalues
print "Second tuple of eig\n", eigenvectors

for i in range(len(eigenvalues)):
      print "Left", np.dot(A, eigenvectors[:,i])
      print "Right", eigenvalues[i] * eigenvectors[:,i]
      print

输出为

Left [[ 1.78885438]
 [ 0.89442719]]
Right [[ 1.78885438]
 [ 0.89442719]]

Left [[ 0.70710678]
 [ 0.70710678]]
Right [[ 0.70710678]
 [ 0.70710678]]

计算矩阵行列式

In [51]: A = np.mat("3 4;5 6")

In [52]: print "A\n", A
A
[[3 4]
 [5 6]]


使用det函数计算行列式

In [53]: print "Determinant", np.linalg.det(A)
Determinant -2.0
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值