NumPy函数库基础

from numpy import*导入numpy模块

random.rand()用来生成一个随机数组

例如:random.rand(4,4),生成一个$4\times 4$的随机二维数组

1
2
3
4
5
>>> random.rand(4,4)
array([[0.5889423 , 0.38768404, 0.46706706, 0.88201106],
[0.03742084, 0.30163653, 0.40948962, 0.22092582],
[0.84407563, 0.42206233, 0.26600708, 0.8114246 ],
[0.39277872, 0.88407207, 0.59209405, 0.19366928]])

mat()函数可以将数组转换成矩阵

1
2
3
4
5
>>> mat(random.rand(4,4))
matrix([[0.27334161, 0.3052977 , 0.68240247, 0.65456973],
[0.09794511, 0.74127397, 0.11178214, 0.18242132],
[0.15790548, 0.99141967, 0.57665171, 0.90780008],
[0.7987583 , 0.06336807, 0.94360913, 0.18242104]])

.I操作符实现了矩阵的求逆运算

矩阵求逆,即求矩阵的逆矩阵。设$A$是数域上的一个$n$阶方阵,若在相同数域上存在另一个$n$阶矩$B$,使得: $A\times B=B\times A=E$。 则我们称$B$是$A$的逆矩阵,而A则被称为可逆矩阵。其中,$E$为单位矩阵。

1
2
3
4
5
6
7
8
9
10
11
12
>>> randmat=mat(random.rand(4,4))
>>> invmat=randmat.I
>>> randmat
matrix([[0.48117984, 0.29220134, 0.34585956, 0.30547942],
[0.42158584, 0.12684831, 0.56184421, 0.93906936],
[0.25070707, 0.0770531 , 0.46094489, 0.18799276],
[0.1206866 , 0.5818652 , 0.75019166, 0.69006769]])
>>> invmat
matrix([[ 2.23619026, 0.10754838, 0.07245331, -1.15601151],
[ 1.7848114 , -1.14762783, -2.14901481, 1.35708167],
[-1.33183128, -0.45568243, 3.15370035, 0.35053317],
[-0.44817218, 1.44425573, -1.62909657, 0.12594335]])

如果执行矩阵乘法,将两个矩阵直接相乘即可:

1
2
3
4
5
6
7
8
9
>>> randmat*invmat
matrix([[ 1.00000000e+00, 0.00000000e+00, 5.55111512e-17,
2.77555756e-17],
[ 1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
8.32667268e-17],
[-2.77555756e-16, -5.55111512e-17, 1.00000000e+00,
9.02056208e-17],
[-1.66533454e-16, 2.22044605e-16, 4.44089210e-16,
1.00000000e+00]])

eye(4)用来创建$4\times 4$的单位矩阵,可以用来检测误差值

1
2
3
4
5
>>> eye(4)
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
1
2
3
4
5
6
7
8
9
10
>>> deviation=randmat*invmat
>>> deviation-eye(4)
matrix([[ 0.00000000e+00, 0.00000000e+00, 5.55111512e-17,
2.77555756e-17],
[ 1.11022302e-16, -2.22044605e-16, 0.00000000e+00,
8.32667268e-17],
[-2.77555756e-16, -5.55111512e-17, 0.00000000e+00,
9.02056208e-17],
[-1.66533454e-16, 2.22044605e-16, 4.44089210e-16,
0.00000000e+00]])

本文标题:NumPy函数库基础

文章作者:执念

发布时间:2019年01月23日 - 14:01

最后更新:2019年02月14日 - 17:02

原始链接:https://blog.wzy1999.wang/learn/ml-1/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------
0%