迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

NumPy 中的按元素矩阵乘法

作者:迹忆客 最近更新:2024/03/12 浏览次数:

本教程将介绍在 Python 中执行按元素矩阵乘法的各种方法。在逐元素矩阵乘法(也称为 Hadamard 积)中,第一个矩阵的每个元素都乘以第二个矩阵的对应元素。

在执行逐元素矩阵乘法时,两个矩阵的维数应相同。元素级矩阵乘法 a*b = c 的结果矩阵 c 始终与 ab 具有相同的尺寸。

我们可以使用以下方法在 Python 中执行逐元素乘法:


在 Python 中使用 np.multiply() 方法进行矩阵的元素乘法

Python NumPy 库的 np.multiply(x1, x2) 方法将两个矩阵 x1x2 作为输入,对输入执行逐元素相乘,然后返回所得矩阵作为输入。

因此,我们需要将这两个矩阵作为输入传递给 np.multiply() 方法,以执行逐元素输入。下面的示例代码演示了如何使用 np.multiply() 在 Python 中执行两个矩阵的逐元素乘法。

import numpy as np

a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])

print(np.multiply(a1, a2))

输出:

[[ 180 1196   46  119   44]
 [  39   40   72    9   24]]

我们还可以使用 np.multiply() 方法对矩阵的特定行,列或子矩阵进行逐元素乘法。我们需要将矩阵的特定行,列或子矩阵传递给 np.multiply() 方法。像按元素进行矩阵乘法一样,作为乘法的第一个和第二个操作数传递的行,列或子矩阵的大小也应该相同。

下面的示例代码演示了如何在 Python 中实现行,列或两个矩阵的子矩阵的逐元素乘法。

import numpy as np

a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])

print(np.multiply(a1[0, :], a2[1, :]))
print(np.multiply(a1[1, :], a2[0, :]))
print(np.multiply(a1[:, 3], a2[:, 1]))

输出:

[156 368 207  21   8]
[ 45 130  16  51 132]
[182  24]

在 Python 中使用*运算符对矩阵进行元素明智的乘法

我们还可以对矩阵使用*运算符来执行逐元素矩阵乘法。*运算符与 Python 中的矩阵一起使用时,将返回元素级矩阵乘法的结果矩阵。

以下示例代码演示了如何使用*运算符在 Python 中执行逐元素矩阵乘法:

a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])

print(a1 * a2)

输出:

[[ 180 1196   46  119   44]
 [  39   40   72    9   24]]

我们还可以使用*运算符在 Python 中以以下方式执行矩阵的行,列和子矩阵的逐元素乘法。

import numpy as np

a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])

print(a1[0, :] * a2[1, :])
print(a1[1, :] * a2[0, :])
print(a1[:, 3] * a2[:, 1])

输出:

[156 368 207  21   8]
[ 45 130  16  51 132]
[182  24]

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Python 中将 Tensor 转换为 NumPy 数组

发布时间:2024/03/12 浏览次数:118 分类:Python

在 Python 中,可以使用 3 种主要方法将 Tensor 转换为 NumPy 数组:Tensor.numpy()函数,Tensor.eval()函数和 TensorFlow.Session()函数。

将 PIL 图像转换为 NumPy 数组

发布时间:2024/03/12 浏览次数:153 分类:Python

在 Python 中,可以使用两种主要方法将 PIL 图像转换为 3 维 NumPy 数组:numpy.array()函数和 numpy.asarray()函数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便