Numpy是什么
numberical 和 python
功能强大的python库
主要作用:
- 执行数学任务
- 处理图像
- 矩阵数值计算
安装
应用实例
3、矩阵数学运算
- 生成随机数组
random.rand(4,4)
- 将数组转化为矩阵
mat()
注:生成随机矩阵就可以mat(random.rand(4,4))
- 矩阵求逆
randMat.I
- 创建单位矩阵
eye(n)
- 矩阵乘法
randMat*invRandMat
注:下边代码中,矩阵和它的逆相乘按理来说应该是单位矩阵,但是由于计算机计算有误差,所以计算出来并不是,可以myEye-eye(4)
得到误差值
Traceback (most recent call last):
File "E:/Python/TestNumpy.py", line 1, in <module>
import numpy as np
ModuleNotFoundError: No module named 'numpy'
>>> from numpy import *
>>> random.rand(4,4)
array([[0.10158214, 0.3719441 , 0.94063777, 0.50643896],
[0.92600614, 0.77236761, 0.35572363, 0.99252495],
[0.58464786, 0.10804458, 0.67350135, 0.87358246],
[0.32934685, 0.2607976 , 0.72263533, 0.31676123]])
>>> randMat = mat(random.rand(4,4))
>>> randMat.I
matrix([[ 1.02749897, -2.40507528, -0.33632994, 1.27810379],
[ 0.05177492, 2.54948785, -0.10568138, -1.17175427],
[-2.58994448, 1.43275664, 0.68643284, 1.57925206],
[ 0.0971614 , 0.62072199, 1.08438911, -0.98672751]])
>>> invRandMat = randMat.I
>>> randMat*invRandMat
matrix([[ 1.00000000e+00, 5.28210783e-17, -7.54562791e-17,
1.69183312e-16],
[-2.02484111e-16, 1.00000000e+00, 4.91238539e-18,
-2.15480015e-17],
[ 2.86544104e-17, 2.51922955e-16, 1.00000000e+00,
1.57562566e-16],
[ 2.26452988e-16, 4.92101953e-17, -3.25806708e-17,
1.00000000e+00]])
>>> myEye = randMat*invRandMat
>>> myEye - eye(4)
matrix([[ 0.00000000e+00, 5.28210783e-17, -7.54562791e-17,
1.69183312e-16],
[-2.02484111e-16, 0.00000000e+00, 4.91238539e-18,
-2.15480015e-17],
[ 2.86544104e-17, 2.51922955e-16, 0.00000000e+00,
1.57562566e-16],
[ 2.26452988e-16, 4.92101953e-17, -3.25806708e-17,
2.22044605e-16]])
>>>
参考文献
- 《机器学习实战》