矩阵乘法 笔记

wnsyou / 2023-08-05 / 原文

众所周知,数是可以进行加减乘除的,那矩阵为啥不可以呢?

假设现在我们有两个矩阵 \(A\)\(B\),矩阵大小分别为 \(n \times m\)\(x \times y\),矩阵元素对 \(mod\) 取模。

基本运算

矩阵加法

\(A + B = C\)

要求:\(n = x\) 并且 \(m = y\)

其实很简单,就是一一对应着加就行,即对于 \(1\leqslant i \leqslant n, 1\leqslant j \leqslant m\)\(C_{i, j} = A_{i, j} + B_{i, j}\)

所以 \(C\) 的大小为 \(n \times m\),矩阵减法同。

性质

  • 交换律:明显满足,即 \(A + B = B + A\)
  • 结合律:明显满足,即 \(A + B + C = A + (B + C)\)

单位矩阵

明显,就是一个大小为 \(n \times m\) 的全 \(0\) 矩阵。

矩阵乘法

\(A \times B = C\)

要求:\(m = x\)

公式:对于 \(1 \leqslant i \leqslant n, 1 \leqslant j \leqslant y\):

\[C_{i, j} = \sum_{1 \leqslant k \leqslant m} A_{i, k} \times B_{k, j} \]

似乎看起来没啥用?因为它是在某些特定方面可以进行时间优化(例如用 \(O(8 \log n)\) 的时间复杂度求出斐波那契数列的第 \(n\) 项),所以一般就是把它和其他知识点捆绑起来(例如矩阵乘法优化 dp 等),单独拎出来出的题目很少(大多都是板子)。

性质

  • 交换律:不满足!
    • \(n = y\),交换以后还能乘法,但矩阵大小会变为 \(m \times x\),与原矩乘后答案不同。
    • 当然也有可能 \(n \neq y\),这样交换以后连矩乘的基本要求都无法满足。
  • 结合律:满足,设还有一个矩阵 \(C\),大小为 \(y \times z\)\(A \times B \times C = D\),则 \(D\) 大小为 \(n \times z\),而 \(A \times (B \times C) = A \times E(\texttt{大小为} x \times z) = D\)
  • 分配律:明显满足,设还有一个矩阵 \(C\),大小为 \(y \times z\),即 \(A \times (B + C) = A \times B + A \times C\)

单位矩阵

Link

提到矩乘,就不得不提到它的单位矩阵,首先这个矩阵大小必须为 \(n \times n\)

单位矩阵定义:若这个矩阵乘任意一个矩阵 \(C\),得到的结果都等于 \(C\),则这个矩阵为单位矩阵。

观察式子,容易推出:当矩阵除了主对角线

矩阵除法

\(\frac{A}{B} = C\)

要求:同矩阵乘法。

由于浮点数不可以取模,数里面除法取模等于乘上除数的逆,所以矩阵除法同矩阵除法,不过是把 \(B_{i, j}\) 变成 \(B_{i, j}\) 在模 \(mod\) 意义下的逆。