五、矩阵乘法的分块法则
矩阵乘法的分块法则是简化矩阵乘法的一种方法。对两个可以相乘的矩阵 \(A\) 和 \(B\),可以先用纵横线把它们切割成小矩阵(要求 \(A\) 的纵向切割和 \(B\) 的横向切割一致!),再用它们来作乘法。例如:
\[\left[ \begin{array}{l l} A_{11} & A_{12} \\ A_{21} & A_{22} \end{array} \right] \left[ \begin{array}{l l} B_{11} & B_{12} \\ B_{21} & B_{22} \end{array} \right] = \left[ \begin{array}{l l} A_{11}B_{11} + A_{12}B_{21} & A_{11}B_{12} + A_{12}B_{22} \\ A_{21}B_{11} + A_{22}B_{21} & A_{21}B_{12} + A_{22}B_{22} \end{array} \right]\]注:把“块”当作元素,按照乘法定义那样乘。
练习题
例题1
设矩阵
\[A = \begin{bmatrix} 1 & 2 & 0 \\ 3 & 4 & 0 \\ 0 & 0 & 2 \end{bmatrix}, \quad B = \begin{bmatrix} 2 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 3 \end{bmatrix}\]将 \(A\) 和 \(B\) 分块为
\[A = \begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}, \quad B = \begin{bmatrix} B_{11} & B_{12} \\ B_{21} & B_{22} \end{bmatrix}\]其中 \(A_{11}, B_{11}\) 为 \(2\times 2\) 子矩阵,其余子矩阵大小相应确定。
利用分块矩阵乘法计算 \(C = AB\)。
题目解答
分块如下:
计算 \(C\) 的四个分块:
\[C_{11} = A_{11}B_{11} + A_{12}B_{21} = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix} + \begin{bmatrix} 0 \\ 0 \end{bmatrix} \begin{bmatrix} 0 & 0 \end{bmatrix} = \begin{bmatrix} 4 & 5 \\ 10 & 11 \end{bmatrix}\] \[C_{12} = A_{11}B_{12} + A_{12}B_{22} = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \begin{bmatrix} 0 \\ 0 \end{bmatrix} + \begin{bmatrix} 0 \\ 0 \end{bmatrix} \begin{bmatrix} 3 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}\] \[C_{21} = A_{21}B_{11} + A_{22}B_{21} = \begin{bmatrix} 0 & 0 \end{bmatrix} \begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix} + \begin{bmatrix} 2 \end{bmatrix} \begin{bmatrix} 0 & 0 \end{bmatrix} = \begin{bmatrix} 0 & 0 \end{bmatrix}\] \[C_{22} = A_{21}B_{12} + A_{22}B_{22} = \begin{bmatrix} 0 & 0 \end{bmatrix} \begin{bmatrix} 0 \\ 0 \end{bmatrix} + \begin{bmatrix} 2 \end{bmatrix} \begin{bmatrix} 3 \end{bmatrix} = \begin{bmatrix} 6 \end{bmatrix}\]因此
\[C = \begin{bmatrix} C_{11} & C_{12} \\ C_{21} & C_{22} \end{bmatrix} = \begin{bmatrix} 4 & 5 & 0 \\ 10 & 11 & 0 \\ 0 & 0 & 6 \end{bmatrix}\]例题2
设
\[A = \begin{bmatrix} 1 & 0 & 2 \\ 0 & 1 & 3 \\ 4 & 5 & 0 \end{bmatrix}, \quad B = \begin{bmatrix} 2 & 1 \\ 3 & 0 \\ 0 & 4 \end{bmatrix}\]将 \(A\) 按前两行、前两列分块为
\[A = \begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}\]其中 \(A_{11}\) 为 \(2\times 2\) 矩阵,\(A_{12}\) 为 \(2\times 1\) 矩阵,\(A_{21}\) 为 \(1\times 2\) 矩阵,\(A_{22}\) 为 \(1\times 1\) 矩阵。
将 \(B\) 按前两行、所有列分块为
其中 \(B_{11}\) 为 \(2\times 2\) 矩阵,\(B_{21}\) 为 \(1\times 2\) 矩阵。
利用分块矩阵乘法计算 \(C = AB\)。
题目解答
分块:
计算 \(C\) 的两个分块(因为 \(B\) 只有一列分块,所以 \(C\) 也按同样方式分块):
\[C_{11} = A_{11}B_{11} + A_{12}B_{21} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} 2 & 1 \\ 3 & 0 \end{bmatrix} + \begin{bmatrix} 2 \\ 3 \end{bmatrix} \begin{bmatrix} 0 & 4 \end{bmatrix} = \begin{bmatrix} 2 & 1 \\ 3 & 0 \end{bmatrix} + \begin{bmatrix} 0 & 8 \\ 0 & 12 \end{bmatrix} = \begin{bmatrix} 2 & 9 \\ 3 & 12 \end{bmatrix}\] \[C_{21} = A_{21}B_{11} + A_{22}B_{21} = \begin{bmatrix} 4 & 5 \end{bmatrix} \begin{bmatrix} 2 & 1 \\ 3 & 0 \end{bmatrix} + \begin{bmatrix} 0 \end{bmatrix} \begin{bmatrix} 0 & 4 \end{bmatrix} = \begin{bmatrix} 23 & 4 \end{bmatrix}\]因此
\[C = \begin{bmatrix} C_{11} \\ C_{21} \end{bmatrix} = \begin{bmatrix} 2 & 9 \\ 3 & 12 \\ 23 & 4 \end{bmatrix}\]例题3
设 \(A, B\) 为 \(n\times n\) 矩阵,且
\[A = \begin{bmatrix} A_{11} & 0 \\ A_{21} & A_{22} \end{bmatrix}, \quad B = \begin{bmatrix} B_{11} & 0 \\ B_{21} & B_{22} \end{bmatrix}\]其中 \(A_{11}, A_{22}, B_{11}, B_{22}\) 均为方阵。
证明:\(AB\) 也具有类似的下三角分块形式,即
并求出 \(*\) 位置的表达式。
题目解答
按分块乘法:
因此 \(* = A_{21}B_{11} + A_{22}B_{21}\),且 \(AB\) 确实为下三角分块形式。