罗兵漂流记

专注于人工智能技术研究。人生苦短,我用python。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Numpy入门 - 线性代数运算

Posted on 2017-12-04 20:00  罗兵漂流记  阅读(495)  评论(0编辑  收藏  举报

本节矩阵线性代数有很多内容,这里重点演示计算矩阵的行列式、求逆矩阵和矩阵的乘法。

 

一、计算矩阵行列式【det】

import numpy as np
from numpy.linalg import det
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
c = det(a)
print(c)  #行列式为0,不存在逆矩阵
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 19]])
c = det(b)
print(c) #行列式不为0,存在逆矩阵
-9.51619735393e-16
-30.0

 

二、求逆矩阵【inv】

import numpy as np
from numpy.linalg import inv
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 19]])
b = inv(a)
print(b) #b为a的逆矩阵
[[-1.56666667  0.46666667  0.1       ]
 [ 1.13333333  0.06666667 -0.2       ]
 [ 0.1        -0.2         0.1       ]]

 

三、矩阵的乘法【dot】

import numpy as np
from numpy.linalg import inv
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 19]])
b = inv(a)
c = np.dot(a, b)
print(c) #a跟a的逆矩阵相乘得到一个单位矩阵E
[[  1.00000000e+00   5.55111512e-17   4.16333634e-17]
 [ -2.49800181e-16   1.00000000e+00   8.32667268e-17]
 [  5.41233725e-16   5.55111512e-17   1.00000000e+00]]


OK, 本讲到此结束,后续更多精彩内容,请持续关注我的博客。