矩阵乘法计算器
立即计算两个维度兼容的矩阵乘积——为线性代数与工程应用提供自动维度校验。
在矩阵 A 和矩阵 B 中输入内容,行用分号分隔,列用逗号分隔,然后点击“计算”即可求出它们的乘积。
矩阵乘法计算器
立即计算两个维度兼容的矩阵乘积——为线性代数与工程应用提供自动维度校验。
用分号(;)分隔行,用逗号(,)分隔列。对于 A × B,A 的列数必须等于 B 的行数。
关于矩阵乘法计算器
矩阵乘法是线性代数中的核心运算之一。它不同于简单把对应元素相加的加法,乘法遵循点积规则,将第一个矩阵的行与第二个矩阵的列关联起来。其结果体现了两个线性变换如何复合——先应用 B 再应用 A,与直接应用单个矩阵 AB 的效果相同。
要定义 A × B 的乘积,A 的列数必须等于 B 的行数。如果 A 是一个 m×n 矩阵,B 是一个 n×p 矩阵,那么乘积 C = A × B 就是一个 m×p 矩阵。C[i][j] 的值由 A 的第 i 行与 B 的第 j 列的点积计算得到:C[i][j] = Σ(k=0 to n−1) A[i][k] × B[k][j]。这意味着结果中的每个元素都依赖于 A 的整行和 B 的整列。
矩阵乘法不满足交换律:一般来说 AB ≠ BA,而且如果 A 和 B 的维度不匹配,BA 甚至可能没有定义。不过,它满足结合律:(AB)C = A(BC),这意味着你可以按任意方式对一连串乘法进行分组,而不会改变最终结果。
乘以单位矩阵不会改变任何矩阵:AI = IA = A。这与普通乘法中 1 的作用相同。单位矩阵主对角线上为 1,其余位置全为 0。
在实际应用中,矩阵乘法把大量计算压缩成简洁的记号。计算机图形学用矩阵乘法对三维坐标执行旋转、平移和透视投影。机器人学使用一系列旋转矩阵在不同坐标系之间转换。机器学习中,神经网络层的前向传播本质上就是一次矩阵-向量乘法:output = W × input + bias。马尔可夫链、图的邻接计算以及统计中的协方差传播也都依赖矩阵乘法。因此,理解矩阵乘法是任何从事定量领域工作的人都必须掌握的重要技能。
矩阵乘法示例
四个示例展示方阵与非方阵的乘积,并逐步计算各个元素。
| 输入 | 乘积 | 说明 |
|---|---|---|
| A = [[1,2],[3,4]], B = [[2,0],[1,2]] | [[4,4],[10,8]] | C[0][0] = 1×2 + 2×1 = 4。C[0][1] = 1×0 + 2×2 = 4。C[1][0] = 3×2 + 4×1 = 10。C[1][1] = 3×0 + 4×2 = 8。 |
| A = [[1,2,3]], B = [[4],[5],[6]] | [[32]] | A 是 1×3,B 是 3×1。乘积是 1×1:1×4 + 2×5 + 3×6 = 4+10+18 = 32。这就是两个向量的点积。 |
| A = [[1,0],[0,1]], B = [[7,3],[2,8]] | [[7,3],[2,8]] | 乘以 2×2 的单位矩阵会使 B 保持不变。单位矩阵是矩阵乘法中的乘法单位元。 |
| A = [[1,2],[3,4],[5,6]], B = [[7,8,9],[10,11,12]] | [[27,30,33],[61,68,75],[95,106,117]] | A 是 3×2,B 是 2×3,因此乘积是 3×3。C[0][0] = 1×7 + 2×10 = 27。C[2][2] = 5×9 + 6×12 = 45+72 = 117。 |
如何使用矩阵乘法计算器
- 在第一个输入框中输入矩阵 A。使用逗号分隔同一行的元素,使用分号分隔各行。例如,1,2;3,4 表示 [[1,2],[3,4]]。
- 在第二个输入框中按相同格式输入矩阵 B。要让 A × B 能够成立,A 的列数必须等于 B 的行数。
- 点击“计算”。结果矩阵 C = A × B 会显示在下方,其维度等于(A 的行数)×(B 的列数)。
- 如有需要,可手动验证某个元素:选取结果中的任意位置 [i][j],计算 A 的第 i 行与 B 的第 j 列的点积。
- 点击“重置”可清空两个输入框并开始新的计算;也可以修改任一矩阵,观察变化如何影响乘积。
常见问题
两个矩阵什么时候可以相乘?
只有当矩阵 A 的列数等于矩阵 B 的行数时,A 和 B 才能相乘(即 A × B)。如果 A 是 m×n,B 是 n×p,那么乘积存在,且结果是一个 m×p 矩阵。如果不满足这个内维度条件,乘法就没有定义。
矩阵乘法满足交换律吗?
不满足。一般来说,即使 AB 和 BA 都有定义,也有 AB ≠ BA。例如,若 A 表示旋转,B 表示剪切,不同的应用顺序会得到不同结果。这种不满足交换律的性质是矩阵代数区别于普通数值运算的一个标志。
什么是单位矩阵?
单位矩阵 I 是一个主对角线上为 1、其余位置为 0 的方阵。任何矩阵 A 乘以 I 都会保持不变:AI = IA = A。单位矩阵在矩阵乘法中的作用,和数字 1 在标量乘法中的作用相同。
矩阵乘法在机器学习中如何使用?
在神经网络中,全连接层的前向传播可表示为 output = W × input + bias,其中 W 是权重矩阵,input 是列向量。在反向传播中,梯度通过转置矩阵乘法进行传递。批量计算会把它扩展为矩阵-矩阵乘法,使 GPU 在神经网络训练中极其高效。
逐元素乘法和矩阵乘法有什么区别?
逐元素乘法(Hadamard 积)是将两个同样大小的矩阵中对应位置的元素相乘:(A ⊙ B)[i][j] = A[i][j] × B[i][j]。矩阵乘法则使用行与列的点积:(AB)[i][j] = Σ A[i][k] × B[k][j]。它们是不同的运算,要求不同,结果也不同。
非方阵可以相乘吗?
可以。只要内维度匹配,非方阵也能相乘。例如,一个 2×3 矩阵乘以一个 3×4 矩阵,结果是一个 2×4 矩阵。结果矩阵的行数来自第一个矩阵,列数来自第二个矩阵。非方阵乘积在实践中非常常见——例如,一批输入向量 (n×d) 乘以权重矩阵 (d×k),会得到该层的输出 (n×k)。