如何理解这类矩阵乘法?怎样确定乘积矩阵的行列数?

矩阵乘法的行列判定规则与运算方法
结果矩阵的行列数判定
两个矩阵可以相乘的前提是:第一个矩阵的列数 = 第二个矩阵的行数,不满足这个条件的话无法进行矩阵乘法运算。
如果我们用符号来表示:假设矩阵A是m×n的矩阵(m行n列),矩阵B是n×p的矩阵(n行p列),那么二者相乘得到的结果矩阵C=AB就是m×p的矩阵(m行p列)。
你可以记个简单的口诀:前取行,后取列,中间相等才能乘。这里的“中间”指的就是前一个矩阵的列数、后一个矩阵的行数,二者相等才是合法的矩阵乘法输入。
举个直观的例子:如果第一个矩阵是3行2列,第二个是2行4列,那么结果就是3行4列;反过来如果拿4列的矩阵去乘3行的矩阵,因为4≠3,根本没法计算。
矩阵乘法的具体运算规则
结果矩阵中第i行第j列的元素,等于第一个矩阵第i行的所有元素,和第二个矩阵第j列的所有元素,对应位置相乘之后再求和。
我们用实际的数值举例更清楚:
A = [ [1, 2], [3, 4] ] // 2行2列矩阵 B = [ [5, 6], [7, 8] ] // 2行2列矩阵
二者相乘得到的C是2行2列矩阵,每个元素的计算逻辑:
- 第1行第1列:A的第1行 × B的第1列 = 1×5 + 2×7 = 19
- 第1行第2列:A的第1行 × B的第2列 = 1×6 + 2×8 = 22
- 第2行第1列:A的第2行 × B的第1列 = 3×5 + 4×7 = 43
- 第2行第2列:A的第2行 × B的第2列 = 3×6 + 4×8 = 50
最终得到的结果:
C = [ [19, 22], [43, 50] ]
运算注意事项
- 矩阵乘法不满足交换律,绝大多数情况下AB≠BA,甚至很多时候BA根本不满足相乘的前提,无法计算
- 矩阵乘法满足结合律:
(AB)C = A(BC) - 矩阵乘法满足分配律:
A(B+C) = AB + AC、(B+C)A = BA + CA
内容的提问来源于stack exchange,提问作者Vishal Chauhan
相关产品推荐
相关产品推荐

