4.6数学:矩阵
学习目标.
- 知道什么是矩阵和向量
- 知道矩阵的加法,乘法
- 知道矩阵的逆和转置
- 应用np.matmul、np.dot实现矩阵运算
1 矩阵和向量
1.1矩阵
矩阵,英文matrix,和array的区别矩阵必须是2维的,但是array可以是多维的.
如图:这个是3x2矩阵,即3行2列,如m为行,n为列,那么mxn即3x2矩阵的维数即行数x列数
矩阵元素(矩阵项):
Aij指第i行,第j列的元素.
1.2向量
向量是一种特殊的矩阵,讲义中的向量一般都是列向量,下面展示的就是三维列向量(3x1)
2 加法和标量乘法
矩阵的加法:行列数相等的可以加.
例:
矩阵的乘法:每个元素都要乘。
例:
组合算法也类似.
3 矩阵向量乘法
矩阵和向量的乘法如图: mxn的矩阵乘以nx1的向量,得到的是mx1的向量
例:
1*1+3*5 = 16
4*1+0*5= 4
2*1+1*5 = 7
矩阵乘法遵循准则:
(M行,N列)*(N行,L列) = (M行,L列)
4 矩阵乘法
矩阵乘法:
m×n矩阵乘以n×o矩阵,变成m×o矩阵。
举例:比如说现在有两个矩阵A和B,那么它们的乘积就可以表示为图中所示的形式。
练一练
求矩阵AB的结果
答案:
5 矩阵乘法的性质
矩阵的乘法不满足交换律:A×B≠B×A
矩阵的乘法满足结合律。即:A×(B×C)=(A×B)×C
单位矩阵:在矩阵的乘法中,有-一种矩阵起着特殊的作用,如同数的乘法中的1,我们称这种矩阵为单位矩阵.它是个方阵,一般用1或者E表示,从左上角到右下角的对角线(称为主对角线)上的元素均为 1以外全都为0。如:
6 逆、转置
矩阵的逆:如矩阵A是–个mxm矩阵(方阵),如果有逆矩阵,则:
A A^(-1) = A^(-1) A=I
低阶矩阵求逆的方法:
1.待定系数法
2.初等变换
矩阵的转置:设A为m×n阶矩阵(即m行n列),第i行j列的元素是a(i,j),即:A=a(i,j)
定义A的转置为这样一个nxm阶矩阵B,满足B=aj,i),即b(i,)=aj.i)(B的第i行第j列元素是A的第j行第i列元素),记A^(T)=B。
直观来看,将A的所有元素绕着一条从第1行第1列元素出发的右下方45度的射线作镜面反转,即得到A的转置。
例:
7 矩阵运算
7.1 矩阵乘法api:
- np.matmul
- np.dot
```python
>>> a = np.array([[80,86],
[82,80],
[85,78],
[90,90],
[86,82],
[82,90],
[78,80],
[92,94]])
>>> b = np.array([[0.7],[0.3]])
>>> np.matmul(a,b)
array([[81.8],
[81.4],
[82.9],
[90.],
[84.8],
[84.4],
[78.6],
[92.61])
>>> np.dot(a,b)
array([[81.8],
[81.4],
[82.9],
[90,]
[84.8],
[84.4],
[78.6],
[92.6]])
np.matmul和np.dot的区别:
二者都是矩阵乘法。np.matmul中 禁止矩阵与标量的乘法。在矢量乘矢量的內积运算中,np.matmul与np.dot没有区别。
8 小结
- 1.矩阵和向量[知道]
- 矩阵就是特殊的二维数组
- 向量就是一行或者一列的数据 - 2.矩阵加法和标量乘法[知道]
- 矩阵的加法:行列数相等的可以加
- 矩阵的乘法:每个元素都要乘 - 3.矩阵和矩阵(向量)相乘[知道]
- (M行,N列)*(N行,L列)=(M行,L列) - 4.矩阵性质[知道]
- 矩阵不满足交换率,满足结合律 - 5.单位矩阵[知道]
- 对角线都是1的矩阵,其他位置都为0 - 6.矩阵运算[掌握]
- np.matmul
- np.dot
- 注意:二者都是矩阵乘法.np.matmul中禁止矩阵与标量的乘法.在矢量乘矢量的內积运算中,np.matmul与np.dot没有区别.
点个赞吧!!!你的鼓励是对我码字的认可😀😀😀
👇👇👇