矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column,台湾作行数)和第二个矩阵的行数(row,台湾作列数)相同时才有定义。一般单指矩阵乘积时,指的便是一般矩阵乘积。若 为 矩阵, 为 矩阵,则他们的乘积 (有时记做 )会是一个 矩阵。其乘积矩阵的元素如下面式子得出:
-
以上是用矩阵单元的代数系统来说明这类乘法的抽象性质。本节以下各种运算法都是这个公式的不同角度理解,运算结果相等:
左边的图表示出要如何计算 的 和 元素,当 是个 矩阵和B是个 矩阵时。分别来自两个矩阵的元素都依箭头方向而两两配对,把每一对中的两个元素相乘,再把这些乘积加总起来,最后得到的值即为箭头相交位置的值。
-
-
这种矩阵乘积亦可由稍微不同的观点来思考:把向量和各系数相乘后相加起来。设 和 是两个给定如下的矩阵:
-
其中
- 是由所有 元素所组成的向量(column), 是由所有 元素所组成的向量,以此类推。
- 是由所有 元素所组成的向量(row), 是由所有 元素所组成的向量,以此类推。
则
-
举个例子来说:
-
-
左面矩阵的列为为系数表,右边矩阵为向量表。例如,第一行是[1 0 2],因此将1乘上第一个向量,0乘上第二个向量,2则乘上第三个向量。
一般矩阵乘积也可以想为是行向量和列向量的内积。若 和 为给定如下的矩阵:
- 且
其中,这里
- 是由所有 元素所组成的向量, 是由所有 元素所组成的向量,以此类推。
- 是由所有 元素所组成的向量, 是由所有 元素所组成的向量,以此类推。
则
-
即
-
矩阵乘法是不可交换的(即 ),除了一些较特别的情况。很清楚可以知道,不可能预期说在改变向量的部分后还能得到相同的结果,而且第一个矩阵的列数必须要和第二个矩阵的行数相同,也可以看出为什么矩阵相乘的顺序会影响其结果。
虽然矩阵乘法是不可交换的,但 和 的行列式总会是一样的(当 、 是同样大小的方阵时)。其解释在行列式条目内。
当 、 可以被解释为线性算子,其矩阵乘积 会对应为两个线性算子的复合函数,其中B先作用。
以 Google Sheet 为例,选取储存格范围或者使用阵列,在储存格输入
=MMULT({1,0,2;-1,3,1},{3,1;2,1;1,0})
在某些试算表软件中必须必须按Ctrl+⇧ Shift+↵ Enter 将储存格内的变量变换为阵列
上述三种乘积都符合结合律:
-
以及分配律:
-
-
而且和标量乘积相容:
-
-
-
注意上述三个分开的表示式只有在标量体的乘法及加法是可交换(即标量体为一可交换环)时会相同。
其它参考文献包括:
- Strassen, Volker, Gaussian Elimination is not Optimal, Numer. Math. 13, p. 354-356, 1969.
- Coppersmith, D., Winograd S., Matrix multiplication via arithmetic progressions, J. Symbolic Comput. 9, p. 251-280, 1990.
- Horn, Roger; Johnson, Charles: "Topics in Matrix Analysis", Cambridge, 1994.
- Robinson, Sara, Toward an Optimal Algorithm for Matrix Multiplication, SIAM News 38(9), November 2005.