跳转至

(广义)矩阵乘法

若无特殊说明,矩阵默认指方阵,矩阵乘法指广义矩阵乘法。

对于数集上的两个二元运算 \(+\)\(\times\),及一个 \(n\times m\) 的矩阵和 \(m\times p\) 的矩阵,定义矩阵乘法:

\[ (AB)_{i,j}=\sum_{k=1}^{m}{A_{i,k}\times B_{k,j}} \]

一般情况下,矩阵乘法要求:

  • \(a+ b=b+ a\)
  • \(a\times (b\times c)=(a\times b)\times c\)
  • \(a\times (b+ c)=a\times c+ b\times c\)
  • \((b+ c)\times a=b\times a+ c\times a\)

只有满足这些条件,矩阵乘法才具有结合律,才能使用快速幂和线段树。

结合律证明

对于 \(n\times n\) 的方阵 \(A,B,C\),求证:

\[ (AB)C=A(BC) \]

证明:

根据 乘法对加法的分配律 乘法的结合律 和 加法的交换律:

\[ \begin{align*} \big((AB)C\big)_{i,j}&=\sum_{k_2=1}^{n}{\Big(\sum_{k_1=1}^{n}A_{i,k_1}B_{k_1,k_2}\Big)}C_{k_2,j}\\ &=\sum_{k_2=1}^{n}{\Big(\sum_{k_1=1}^{n}A_{i,k_1}B_{k_1,k_2}C_{k_2,j}\Big)}\\ &=\sum_{k_1=1}^{n}{\Big(\sum_{k_2=1}^{n}A_{i,k_1}B_{k_1,k_2}C_{k_2,j}\Big)}\\ &=\sum_{k_1=1}^{n}{A_{i,k_1}\Big(\sum_{k_2=1}^{n}B_{k_1,k_2}C_{k_2,j}\Big)}\\ &=\big(A(BC)\big)_{i,j} \end{align*} \]