[转载] numpy.dot numpy.linalg.eig numpy.linalg.svd np.linalg.inv 用法 + 例子

参考链接: Python中的numpy.dot

numpy.dot() 

x是mn 矩阵 ,y是nm矩阵 

则x.dot(y) 得到m*m矩阵 

>>> np.dot(3, 4)

12

 

>>> np.dot([2j, 3j], [2j, 3j])

(-13+0j)

 

>>> a = [[1, 0], [0, 1]]

>>> b = [[4, 1], [2, 2]]

>>> np.dot(a, b)

array([[4, 1],

       [2, 2]])

 

numpy.linalg.eig() 

numpy.linalg.eig(a) a:矩阵 返回 w:特征值 v:特征向量 

>>> from numpy import linalg as LA

 

>>> w, v = LA.eig(np.diag((1, 2, 3)))

>>> w; v

array([ 1.,  2.,  3.])

array([[ 1.,  0.,  0.],

       [ 0.,  1.,  0.],

       [ 0.,  0.,  1.]])

 

 

>>> w, v = LA.eig(np.array([[1, -1], [1, 1]]))

>>> w; v

array([ 1. + 1.j,  1. - 1.j])

array([[ 0.70710678+0.j        ,  0.70710678+0.j        ],

       [ 0.00000000-0.70710678j,  0.00000000+0.70710678j]])

 

 

>>> a = np.array([[1, 1j], [-1j, 1]])

>>> w, v = LA.eig(a)

>>> w; v

array([  2.00000000e+00+0.j,   5.98651912e-36+0.j]) # i.e., {2, 0}

array([[ 0.00000000+0.70710678j,  0.70710678+0.j        ],

       [ 0.70710678+0.j        ,  0.00000000+0.70710678j]])

 

numpy.linalg.svd() 

奇异值分解 

 

其中s是对矩阵a的奇异值分解 

np.linalg.inv(): 

矩阵求逆 

转置: 

array([[ 0,  1,  2,  3,  4],

       [ 5,  6,  7,  8,  9],

       [10, 11, 12, 13, 14]])

 

>>>arr.T

array([[ 0,  5, 10],

       [ 1,  6, 11],

       [ 2,  7, 12],

       [ 3,  8, 13],

       [ 4,  9, 14]])

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值