![v2-fe1f874538c8922eb062a12b6b8b213a_1440w.jpg?source=172ae18b](http://img-03.proxy.5ce.com/view/image?&type=2&guid=30c1aefe-e32f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-fe1f874538c8922eb062a12b6b8b213a_1440w.jpg?source=172ae18b)
在学习线性代数时我们所接触的矩阵之间的乘法是矩阵的叉乘,有这样一个前提:
若矩阵A是m*n阶的,B是p*q阶的矩阵,AB能相乘,首先得满足:n=p,即A的列数要等于B的行数。运算的方法如下图:
![v2-1ea8c7c350087004456842c7e0e40ddd_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=30c1aefe-e32f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-1ea8c7c350087004456842c7e0e40ddd_b.jpg)
当时学线性代数时老师教的更为直观记法:
![v2-00e94f38878e3d7f915cd3e047018c00_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=30c1aefe-e32f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-00e94f38878e3d7f915cd3e047018c00_b.jpg)
点乘则是这样:
![v2-a5d3625596ecdb17f113447fef76423e_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=30c1aefe-e32f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-a5d3625596ecdb17f113447fef76423e_b.jpg)
假如有a,b两个矩阵,在Matlab中我们实现点乘和叉乘的方式分别如下:
a
下面我们来看看python中的操作:
import
![v2-9b1ef7a53f7bfcc08d74eaf274c9d33c_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=30c1aefe-e32f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-9b1ef7a53f7bfcc08d74eaf274c9d33c_b.jpg)
使用python操作刚好与Matlab相反,使用点乘计算实际上是各数组相同下标相乘。Numpy库中的dot函数则是为了实现数组相乘。