先说结论:矩阵乘法在做关系组合
若A是m×n矩阵,B是n×p矩阵,那么AB是m×p矩阵。结果中第i行第j列的元素,等于A第i行与B第j列对应相乘后求和。简单说,每个格子都是一次点积,而整个结果把两层关系合成为一层。
例如A记录“学生×科目成绩”,B记录“科目×评分权重”,AB就得到“学生×评分方案”。中间的科目被汇总,学生和评分方案被保留下来,这正是结果尺寸取外侧维度的原因。
矩阵相乘怎么算是什么?它不是把相同位置的数字机械相乘,而是用一个矩阵的行去匹配另一个矩阵的列,把多组关系压缩成新的结果。下面先给出完整定义,再集中回答为什么要行乘列、尺寸怎样判断、顺序能否交换等高频疑问,最后整理成一条可直接套用的判断口诀。
若A是m×n矩阵,B是n×p矩阵,那么AB是m×p矩阵。结果中第i行第j列的元素,等于A第i行与B第j列对应相乘后求和。简单说,每个格子都是一次点积,而整个结果把两层关系合成为一层。
例如A记录“学生×科目成绩”,B记录“科目×评分权重”,AB就得到“学生×评分方案”。中间的科目被汇总,学生和评分方案被保留下来,这正是结果尺寸取外侧维度的原因。
为什么不是行乘行?因为A的一行描述某个输入对象在n个中间维度上的取值,B的一列描述某个输出如何使用这n项信息,两者方向正好配套。每组对应量相乘,再相加,才能形成一个完整输出。
为什么要满足A列数等于B行数?因为点积要求两组数字长度相同。A是2×4、B是4×3时,每格都包含4次乘法,结果有2×3个格子;若B有5行,第四项之后无法继续一一配对。
AB通常不等于BA。顺序代表关系或变换的先后次序,调换后不仅数值可能变化,尺寸也可能不合法。只有某些特殊矩阵彼此可交换,不能把这种例外当通用规则。
零矩阵参与普通乘法时,只要维度允许,结果是零矩阵;单位矩阵I则像数字1,AI=A、IA=A,但I的阶数必须与对应维度匹配。方阵可以做乘方A²=AA,非方阵通常无法与自身相乘。
先问运算类型:题目要关系组合,还是逐位置缩放?再看尺寸:普通乘法要求前者列数等于后者行数,结果取外侧维度。最后逐格执行:锁定一行、一列,对应相乘并全部相加。
如果还拿不准,就给维度加文字标签。能被消掉的内侧标签必须同名,剩下的外侧标签就是答案含义。公式负责算数,标签负责防止你算出一个看似工整、实际没人知道是什么的矩阵。
它把第一个矩阵描述的输入关系,与第二个矩阵描述的转换关系组合起来。结果的每个元素都是一行和一列的点积。
若A为m×n、B为n×p,则AB为m×p。可以记成“中间维度检查并消掉,外侧维度留下来”。
单位矩阵主对角线为1,其余位置为0。行乘列时,它只保留原矩阵对应位置的值,不混入其他元素,因此AI或IA仍为A。