
【计】 array multiplication
【计】 array
【化】 array
multiplication
【机】 multiplication
在汉英词典框架下,"数组乘法"对应的英文术语为"array multiplication",其定义需结合数学理论与计算机科学领域进行交叉解读。根据《计算机算法导论》(第4版)与《线性代数及其应用》(David C. Lay著)的学术表述,该术语存在两种核心释义:
数学矩阵运算 在离散数学中特指两个二维数组(矩阵)通过点积规则进行的线性变换操作,计算公式为: $$ C{ij} = sum{k=1}^{n} A{ik} times B{kj} $$ 这种运算要求前序矩阵列数等于后序矩阵行数,常见于量子力学计算和图像处理领域(来源:Springer《Computational Mathematics》期刊)。
编程逐元素计算 在Python/NumPy等编程环境中,特指通过广播机制对同维数组进行的元素级乘积(element-wise multiplication),使用星号运算符实现。例如:
import numpy as np
arr1 = np.array([,])
arr2 = np.array([,])
result = arr1 * arr2# 输出[,]
该操作被广泛应用于机器学习的数据增强处理(来源:NumPy官方文档)。
术语辨析需注意:在MATLAB语言中,星号()默认执行矩阵乘法,而逐元素乘法需使用.运算符,这种语法差异常导致跨平台开发时的逻辑错误(来源:MathWorks技术白皮书)。
“数组乘法”在不同领域和上下文中含义不同,需结合具体场景解释:
矩阵乘法(Matrix Multiplication)
两个矩阵相乘需满足:第一个矩阵的列数 = 第二个矩阵的行数。结果矩阵的每个元素是行与列的点积。
公式:
$$
C{ij} = sum{k=1}^{n} A{ik} times B{kj}
$$
例如:
$begin{bmatrix}1&23&4end{bmatrix} times begin{bmatrix}5&67&8end{bmatrix} = begin{bmatrix}19&2243&50end{bmatrix}$
元素乘法(Hadamard积)
两个同维度数组对应元素相乘,结果保持原维度。
公式:
$$
C{ij} = A{ij} times B_{ij}
$$
例如:
$begin{bmatrix}1&23&4end{bmatrix} odot begin{bmatrix}5&67&8end{bmatrix} = begin{bmatrix}5&1221&32end{bmatrix}$
逐元素乘法
在Python的NumPy中,用*
运算符实现:
import numpy as np
a = np.array([, ])
b = np.array([, ])
result = a * b# 输出 [, ]
矩阵乘法
使用@
运算符或np.matmul()
:
result = a @ b# 输出 [, ]
类型 | 维度要求 | 运算符/函数 | 应用场景 |
---|---|---|---|
矩阵乘法 | 前者的列数=后者的行数 | @ , np.dot() |
线性代数、神经网络计算 |
逐元素乘法 | 完全相同的维度 | * |
数据缩放、元素级调整 |
若涉及具体编程问题或数学公式扩展,可提供更多示例说明。
【别人正在浏览】