线性结构化语言——矩阵的分块简化(四)

分块矩阵是线性代数中的一个重要内容,是处理阶数较高的矩阵时常采用的技巧,也是数学在多领域的研究工具。对矩阵进行适当分块,可使高阶矩阵的运算可以转化为低阶矩阵的运算,同时也使原矩阵的结构显得简单而清晰,从而能够大大简化运算步骤,或给矩阵的理论推导带来方便。有不少数学问题利用分块矩阵来处理或证明,将显得简洁、明快。矩阵分块的意思是将一个大矩阵分隔为几个小的矩阵,将每个小的矩阵作为新的矩阵元素。分块可以降低大矩阵运算带来的复杂性。分块后的小矩阵,叫做矩阵的子块,以子块为元素的形式上的矩阵叫做分块矩阵。

一 矩阵的分块

分块矩阵其实就是把一个完整的矩阵随意地切割成不同的块,这种定义就决定了分块矩阵具有很多种形式。其中,把一个矩阵按照列或行来进行划分是一种对矩阵分块的特殊情况。通常来讲,对于一个\(m\times n\) 的矩阵 \(A\) 来说,有如下矩阵分块的形式:

\[A=\begin{bmatrix} A_{11}&\ldots&A_{1r} \\\vdots& &\vdots \\ A_{q1}&\ldots&A_{qr} \end{bmatrix} (A_{11}\in R^{m_{1}\times n_{1}} 、\cdots、A_{qr}\in R^{m_{q}\times n_{r}}) \]

其中\(m_1+⋯+m_q=m、n_1+⋯+n_r=n,A_{\alpha\beta}\) 表示位于位置 \((\alpha,\beta)\) 上的子矩阵且 $A_{\alpha\beta}\in R^{m_{\alpha}\times n_{\beta}} $ 。用这样的表示方法,我们就可以说$ A=(A_{\alpha\beta}) $是一个 \(q×r\)的分块矩阵。

分块对角矩阵(Block Diagonal)

\(A\)\(n\) 阶方阵,若 \(A\) 的分块矩阵在非主对角线上的子矩阵都是零矩阵,且在主对角线上的子矩阵都为方阵,即

\[A= \begin{bmatrix}A_{1} & O & \cdots &O \\ O & A_{2}& \cdots & O \\\vdots& \vdots&\ddots&\vdots \\O&O&\cdots&A_{s}\end{bmatrix} \]

其中 \(O\)表示零矩阵, $A_{i}(i=1,2,\cdots,s) $都是方阵,那么称 \(A\)分块对角矩阵(Block Diagonal)

\[\left[\begin {array}{c} 1 & 1 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 \\ \hdashline 0 & 0 & 1 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 & 1 & 0 \\ \hdashline 0 & 0 & 0 & 0 & 0 & 1 \end{array}\right] \]

分块上(下)三角形矩阵(Block Upper/Lower Triangular)

当我们对方阵进行分块后,主对角线上的子矩阵都是方阵,主对角线以上(以下)的子矩阵都是零矩阵,那我们称之为分块上(下)三角形矩阵(Block Upper/Lower Triangular),即
\begin{bmatrix}A_{11}&A_{12}&\cdots&A_{1s} \\ O&A_{22}&\cdots&A_{2s} \\ \vdots&\vdots&\ddots&\vdots \\O&O&\cdots&A_{ss}\end{bmatrix}

\begin{bmatrix}A_{11}&O&\cdots&O \\ A_{21}&A_{22}&\cdots&O \\ \vdots&\vdots&\ddots&\vdots \\A_{s1}&A_{s2}&\cdots&A_{ss}\end{bmatrix}

分块矩阵示例

例1 将 $3 \times 4 $的矩阵分块。

\[\left[\begin {array}{c} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ a_{31} & a_{32} & a_{33} & a_{34} \end{array}\right] \]

分成子块的方法很多,一般根据矩阵中子块的特点来划分。如可以分成

\begin{array}{ll:ll} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ \hdashline a_{31} & a_{32} & a_{33} & a_{34} \\ \end{array}

\[\left[\begin {array}{c} \boldsymbol{A}_{11} & \boldsymbol{A}_{12} \\ \boldsymbol{A}_{21} & \boldsymbol{A}_{22} \end{array}\right] \]

其中

\[\boldsymbol{A}_{11} =\begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix};\boldsymbol{A}_{12} =\begin{pmatrix} a_{13} & a_{14} \\ a_{23} & a_{24} \end{pmatrix};\boldsymbol{A}_{21} =\begin{pmatrix} a_{31} & a_{32} \end{pmatrix};\boldsymbol{A}_{22} =\begin{pmatrix} a_{33} & a_{34} \end{pmatrix} \]

二 矩阵的分块运算

这里简要说一下分块矩阵的一些运算操作。

数乘

\[\mu \begin{bmatrix}A_{11}&A_{12} \\A_{21}&A_{22} \\A_{31}&A_{32}\end{bmatrix}=\begin{bmatrix}\mu A_{11}&\mu A_{12} \\\mu A_{21}&\mu A_{22} \\\mu A_{31}&\mu A_{32}\end{bmatrix} \]

加法

\[\begin{bmatrix}A_{11}&A_{12} \\A_{21}&A_{22} \\A_{31}&A_{32}\end{bmatrix} + \begin{bmatrix}B_{11}&B_{12} \\B_{21}&B_{22} \\B_{31}&B_{32}\end{bmatrix} =\begin{bmatrix}A_{11}+B_{11}&A_{12}+B_{12} \\A_{21}+B_{21}&A_{22}+B_{22} \\A_{31}+B_{31}&A_{32}+B_{32}\end{bmatrix} \]

乘法

\[\begin{bmatrix}A_{11}&A_{12} \\A_{21}&A_{22} \\A_{31}&A_{32}\end{bmatrix} \begin{bmatrix}B_{11}&B_{12}\\B_{21}&B_{22}\end{bmatrix}= \begin{bmatrix}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} \\ A_{31}B_{11}+A_{32}B_{21}&A_{31}B_{12}+A_{32}B_{22}\end{bmatrix} \]

三 矩阵的分块应用

例2 已知 \(\boldsymbol N=\begin{bmatrix} 0&1&0&0\\ &0&1&0\\ &&0&1\\ &&&0\\ \end{bmatrix},\boldsymbol A= \begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n} \\ a_{21}&a_{22}& \cdots &a_{2n} \\ a_{31}&a_{32} &\cdots&a_{3n}\\ a_{41}&a_{42}& \cdots&a_{4n} \end{bmatrix}\)
,求 $\boldsymbol N^4\boldsymbol A$。

解:令 $\boldsymbol A=\begin{bmatrix}\boldsymbol A_1\\ \boldsymbol A_2\\ \boldsymbol A_3\\ \boldsymbol A_4\\ \end{bmatrix}$ ,则 \(\boldsymbol N\boldsymbol A=\begin{bmatrix} \boldsymbol A_2\\\boldsymbol A_3\\\boldsymbol A_4\\\boldsymbol O\\ \end{bmatrix} , \boldsymbol N^2\boldsymbol A=\boldsymbol N(\boldsymbol N\boldsymbol A)=\begin{bmatrix} \boldsymbol A_3 \\ \boldsymbol A_4\\ \boldsymbol O\\ \boldsymbol O\end{bmatrix}\)
$,……,\boldsymbol N^4\boldsymbol A=\begin{bmatrix} \boldsymbol O\\ \boldsymbol O\\ \boldsymbol O\\ \boldsymbol O \end{bmatrix} $

例3 已知 \(\boldsymbol A=\begin{bmatrix}1&2&1&2\\ -1&-2&-1&-2\\ 1&2&1&2\\ -1&-2&-1&-2 \end{bmatrix}\) ,求 \(\boldsymbol A^{10}\)

解:令 \(\boldsymbol A_1=[1,2,1,2]\) ,则 \(\boldsymbol A=\begin{bmatrix} \boldsymbol A_1\\ -\boldsymbol A_1\\ \boldsymbol A_1\\ -\boldsymbol A_1\end{bmatrix} =\begin{bmatrix} 1\\ -1\\ 1\\ -1 \end{bmatrix} \boldsymbol A_1 =Y \boldsymbol A_1\)

\[\boldsymbol A^{10}=(\boldsymbol Y\boldsymbol A_1)^{10}=\boldsymbol Y\boldsymbol A_1\boldsymbol Y\boldsymbol A_1\cdots\boldsymbol Y\boldsymbol A_1=\boldsymbol Y(\boldsymbol A_1\boldsymbol Y)(\boldsymbol A_1\boldsymbol Y)\cdots (\boldsymbol A_1 \boldsymbol Y)\boldsymbol A_1=\boldsymbol Y(\boldsymbol A_1\boldsymbol Y)^9\boldsymbol A_1 \]

而 $\boldsymbol A_1\boldsymbol Y=[1,2,1,2]\begin{bmatrix} 1\\ -1\\ 1\\ -1\\ \end{bmatrix}=1-2+1-2=-2 $

所以 $$ A^{10}=\boldsymbol Y(-2)^9\boldsymbol A_1=(-2)^9\boldsymbol Y\boldsymbol A_1=-512\boldsymbol A=\begin{bmatrix}-512&-1024&-512&-1024\\ 512&1024&512&1024\\ -512&-1024&-512&-1024\\ 512&1024&512&1024\\ \end{bmatrix}$$

例4 计算 $$\left[\begin{array}{cccc}1 & 2 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & 2 & 1 \\ 0 & 0 & 0 & 3\end{array}\right]\left[\begin{array}{cccc}1 & 0 & 3 & 1 \\ 0 & 1 & 2 & -1 \\ 0 & 0 & -2 & 3 \\ 0 & 0 & 0 & -3\end{array}\right]$$

解: 根据上面两个矩阵的特点分块进行计算,依题意可得:

\[\boldsymbol{A}_{11}=\left [\begin{array}{ll} 1 & 2 \\ 0 & 1 \end{array} \right], \boldsymbol{A}_{22}=\left [\begin{array}{ll} 2 & 1 \\ 0 & 3 \end{array}\right], \boldsymbol{B}_{12}=\left[\begin{array}{cc} 3 & 1 \\ 2 & -1 \end{array}\right], \boldsymbol{B}_{22}=\left [\begin{array}{cc} -2 & 3 \\ 0 & -3 \end{array}\right] \]

\[ 原式=\left[\begin{array}{cc} \boldsymbol{A}_{11} & \boldsymbol{E}_{2} \\ \boldsymbol{O} & \boldsymbol{A}_{22} \end{array}\right] \left [\begin{array}{cc} \boldsymbol{E}_{2} & \boldsymbol{B}_{12} \\ \boldsymbol{O} & \boldsymbol{B}_{22} \end{array}\right] =\left [\begin{array}{cc} \boldsymbol{A}_{11} & \boldsymbol{A}_{11} \boldsymbol{B}_{12}+\boldsymbol{B}_{22} \\ \boldsymbol{O} & \boldsymbol{A}_{22} \boldsymbol{B}_{22} \end{array}\right] \]


\begin{gathered} \boldsymbol{A}_{11} \boldsymbol{B}_{12}+\boldsymbol{B}_{22}=\left[\begin{array}{ll} 1 & 2 \\ 0 & 1 \end{array}\right]\left[\begin{array}{cc} 3 & 1 \\ 2 & -1 \end{array}\right]+\left[\begin{array}{cc} -2 & 3 \\ 0 & -3 \end{array}\right]=\left[\begin{array}{cc} 5 & 2 \\ 2 & -4 \end{array}\right] \\ \boldsymbol{A}_{22} \boldsymbol{B}_{22}=\left[\begin{array}{ll} 2 & 1 \\ 0 & 3 \end{array}\right]\left[\begin{array}{cc} -2 & 3 \\ 0 & -3 \end{array}\right]=\left[\begin{array}{cc} -4 & 3 \\ 0 & -9 \end{array}\right] \end{gathered}

所以

\[原式= \left [\begin{array}{cccc} 1 & 2 & 5 & 2 \\ 0 & 1 & 2 & -4 \\ 0 & 0 & -4 & 3 \\ 0 & 0 & 0 & -9 \end{array}\right] \]

总结

分块矩阵是对矩阵的集成重构。对于一些行数和列数较高的矩阵,为了简化分析和计算,时常用若干条横线和竖线将一个大矩阵划分成许多小矩阵,这些小矩阵称为子块,由子块组成的矩阵就称为分块矩阵。对矩阵进行适当分块,可使高阶矩阵的运算可以转化为低阶矩阵的运算,同时也使原矩阵的结构显得简单而清晰,从而能够大大简化运算步骤,或给矩阵的理论推导带来方便。有不少数学问题利用分块矩阵来处理或证明,将显得简洁、明快。分块矩阵有很多应用,将复杂矩阵转化为稍显熟悉的子块、分块对角矩阵的求逆等方面。分块矩阵最重要的用处就是(在某些情况下)可以把分块矩阵的块看成是数,按照普通矩阵(就是每个元素都是数)去发现解题思路,从而帮助我们思考,最后完成解题的过程(实际上整个线性代数都是这个思想,就是矩阵他具有数的一些特征,从而使我们看问题有一个站在更高的角度上,把问题看的更清楚的,更简单的思路)。

参考文献

  1. 矩阵计算(三):分块矩阵基本概念
  2. 4.2 矩阵的分块运算
  3. 数学技巧篇58:分块矩阵
posted @ 2023-03-07 08:08  郝hai  阅读(1060)  评论(0编辑  收藏  举报