这个计算器能做什么
本工具按照线性代数的标准法则,计算两个矩阵的乘积 \(C = A\cdot B\) 或 \(C = B\cdot A\)。无论是方阵、长方形矩阵,还是行向量、列向量,都同样适用。矩阵乘法是通用的数学运算,结果在任何地方都完全一致,不涉及单位,也不分国家或地区。
使用方法
以文本形式输入矩阵 A 和矩阵 B:用分号分隔不同的行,用逗号分隔同一行内的元素。例如矩阵 [[1,2],[3,4]] 应输入为 1,2;3,4。然后选择相乘的顺序:A × B = C 或 B × A = C(两者通常并不相同)。点击「计算」即可得到乘积矩阵,以及它的维度和左上角元素。
公式解析
设乘积 \(M\cdot N = C\),其中 M 为 \(r \times s\) 矩阵,N 为 \(s \times t\) 矩阵,则每个元素为 $$\left(\mathbf{M}\,\mathbf{N}\right)_{ik} = \sum_{j=1}^{n} m_{ij}\,n_{jk}$$ 换句话说,结果中第 i 行第 k 列的元素,等于左矩阵第 i 行与右矩阵第 k 列的点积。只有当「内维度」相等时乘积才存在:左矩阵的列数必须等于右矩阵的行数。
实例演算
设 A = [[1,2],[3,4]],B = [[5,6],[7,8]],按 A × B 的顺序相乘。内维度均为 \(2 = 2\),因此结果是 \(2 \times 2\) 矩阵。$$c_{11} = 1\cdot 5 + 2\cdot 7 = 19$$ $$c_{12} = 1\cdot 6 + 2\cdot 8 = 22$$ $$c_{21} = 3\cdot 5 + 4\cdot 7 = 43$$ $$c_{22} = 3\cdot 6 + 4\cdot 8 = 50$$ 最终得到 C = [[19,22],[43,50]]。
常见问题
为什么乘积有时无法定义?如果左矩阵的列数与右矩阵的行数不相等,乘积就不存在,此时计算器会提示维度不匹配。
A·B 和 B·A 是一样的吗?不一样。矩阵乘法不满足交换律;甚至可能出现一种顺序有定义、另一种顺序无定义的情况。请用顺序选择器自行指定。
可以对向量做乘法吗?可以。一个 \(1 \times n\) 的行向量乘以一个 \(n \times 1\) 的列向量,得到 \(1 \times 1\) 的标量;反过来相乘则得到一个 \(n \times n\) 的矩阵。