Numpy数组乘法

Numpy数组乘法


元素级乘法

numpy.multiply() 或 * : 数组对应位置元素相乘

import numpy as np
# 一维数组
a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])
print(a * b)
# 多维数组
a = np.arange(9).reshape((3, 3))
b = np.arange(9, 18).reshape((3, 3))
print(a)
print(b)
print(a * b)




矩阵乘法

numpy.matmul():获取矩阵乘积,数组形状需要满足矩阵乘法要求。

import numpy as np
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
b = np.array([[1, 1], [2, 2], [3, 3], [4, 4]])
print(np.matmul(a, b))
print(np.matmul(b, a))



点乘(numpy.dot())

numpy.dot(): 对于一维数组,求内积,结果为1个值。对于二维数组,等价于矩阵乘法需要满足一定条件。

import numpy as np
# 一维数组
a = np.array([1, 2, 3])
b = np.array([1, 2, 3])
print(np.dot(a, b))
# 二维数组, 矩阵乘法
a = np.arange(6).reshape((2, 3))
b = np.arange(6).reshape((3, 2))
print(a)
print(b)
print(f"a点乘b:\n {a.dot(b)}")
print(f"b点乘a:\n {b.dot(a)}")




外积(numpy.outer())

numpy.outer(): 把两个多维数组ravel到一维后,第一个数组每一个数乘以第二个数组的每一行

import numpy as np
a = np.arange(4).reshape((2, 2))
b = np.arange(4).reshape((2, 2))
print(a)
print(np.outer(a, b))

posted @ 2021-11-06 13:33  ylyzty  阅读(1038)  评论(0编辑  收藏  举报