python中的矩阵和数组乘法

2019-10-18  本文已影响0人  不分享的知识毫无意义

1.概念部分

  首先请进来的同学们领取我们常说的概念,网上有很多纷纷繁繁复杂的说法,搞得我头晕眼花,然后每个人说的还不一样,我看一次懵逼一次,搞得我好被动,我这里整理一下最权威的概念,以后也好自己反着看一下。

2.向量乘法

  向量,在numpy里被叫做array,对应的乘法操作有*,matmul,multiply,dot。当然乘起来的效果是不一样的。

a = np.arange(4).reshape(2,2)
b = np.arange(4).reshape(2,2)
a*b
- 结果
array([[0, 1],
       [4, 9]])
np.multiply(a,b)
array([[0, 1],
       [4, 9]])
np.dot(a,b)
array([[ 2,  3],
       [ 6, 11]])
np.matmul(a,b)
array([[ 2,  3],
       [ 6, 11]])

3.矩阵乘法

  矩阵,在numpy里被称作matrix,构造矩阵用mat,他的乘法规律和数组有点区别,还是拆解来看。

a = np.mat(np.arange(4).reshape(2,2))
b = np.mat(np.arange(4).reshape(2,2))
a*b
matrix([[ 2,  3],
        [ 6, 11]])
np.multiply(a,b)
matrix([[0, 1],
        [4, 9]])
np.dot(a,b)
matrix([[ 2,  3],
        [ 6, 11]])
np.matmul(a,b)
matrix([[ 2,  3],
        [ 6, 11]])

4 向量和矩阵乘

这个就是高级进阶操作了,有人说你干嘛这样,自然是有应用场景啊,有些算法里不同数据就是存储不一样,需要这么做更方便,我们也要学习一下它的规律。
其实它的规律很简单,向量和矩阵乘法满足矩阵乘法的基本操作,也就是涉及到这两种类型的乘法,大家就按矩阵乘处理吧。

写在最后

向量和矩阵乘法都有一个维度的问题,就是相乘要满足一定的维度规律,这个不能违背。还有可以结合求解问题的实际情况用一些函数扩展矩阵和数组的维度,满足计算需要,这些都是算法的一些小技巧,平时大家遇到可以总结下。

上一篇下一篇

猜你喜欢

热点阅读