高维矩阵乘法学习总结

发布时间 2023-08-02 14:57:09作者: name555difficult

参考:

base Knowlegde:高维矩阵相当于二维矩阵的顺序堆叠

相同维度数目

举例:A shape [a, b, c, d], B shape [e, f, g , h]

For 高维 (除第一维和第二维之外)长度相同:(eg. \(a = e, b = f\)

那么根据 base knowledge 提示,可知 A,B 两个矩阵顺序堆叠的二维矩阵可以一一对应,因此按顺序一一对应着执行二维矩阵的矩阵乘法(当然需要符保证第一维和第二维需要符合二维矩阵乘法要求),之后将结果按同样顺序堆叠即可。

For 高维长度不相同: (eg. \(a \neq e\ (and || or)\ b \neq f\)

在 numpy 等矩阵运算相关库中由于广播机制的存在依然可以运行,即按维度广播到高维一致,之后执行乘法

不同维度数目

举例:A shape [a, b, c, d], B shape [e, f, g]

相当于:

  • 一维向量与常数进行对位点乘
  • 二维矩阵与一维向量相乘

总结来说,首先看如果执行二维矩阵乘法 or 二维矩阵与一维向量相乘(当然低维首先得符合执行要求),能不能造成高维表示(数目 and 长度)一致,不能通过广播机制使其一致,还不能就是报错