我们既可以把矩阵看作一个数的矩形表,也可以把它看作一组列向量,后面这种看法起了很重要的作用,因而,我们想考虑 A 的其他分块,把它用水平线和竖直线分成几块,如下面例1所示。分块矩阵也出现在线性代数的现代应用中,因为这些记号简化了许多讨论,并使矩阵分析中许多本质的结构显露出来,如本章关于飞机设计的介绍性示例中所示。本节提供一个复习矩阵代数和使用可逆矩阵定理的机会。
矩阵
A = [ c c c c c c 3 & 0 & - 1 & 5 & 9 & - 2 - 5 & 2 & 4 & 0 & - 3 & 1 hline - 8 & - 6 & 3 & 1 & 7 & - 4 ]也可写成 2 × 3 分块矩阵
A = [ c c c A _ 1 1 & A _ 1 2 & A _ 1 3 A _ 2 1 & A _ 2 2 & A _ 2 3 ]的形状,它的元素是分块(或子矩阵)
l A _ 1 1 = [ c c c 3 & 0 & - 1 - 5 & 2 & 4 ], A _ 1 2 = [ c c 5 & 9 0 & - 3 ], A _ 1 3 = [ c - 2 1 ] A _ 2 1 = [ - 8 & - 6 & 3 ], A _ 2 2 = [ 1 & 7 ], A _ 2 3 = [ - 4 ]当某一矩阵 A 出现在物理问题的数学模型中时,例如,电子网络、传输系统或大公司等,会很自然地把 A 看作一个分块矩阵。例如,若一个微型计算机电路板主要由3块超大规模的集成电路芯片组成,如图 2-9所示,那么该电路板的矩阵可以写成一般形式
A 的 “对角” 线上的子矩阵(即 A₁1, A₂2 和 A₃3 )是有关三块超大规模集成电路本身的矩阵,而其他子矩阵则与这三块芯片之间的相互联系有关.
加法与标量乘法
Section titled “加法与标量乘法”若矩阵 A 与 B 有相同维数且以同样方式分块,则自然有矩阵的和 A + B 也以同样方式分块。这时 A + B 的每一块恰好是 A 和 B 对应分块的(矩阵)和。分块矩阵乘以一个数也可以逐块计算。
分块矩阵的乘法
Section titled “分块矩阵的乘法”分块矩阵也可用通常的行列法则进行乘法运算,就如每一块都是数一样,只要对于乘积 AB , A 的列的分法与 B 的行的分法一致.
设
A = [ c c c c c 2 & - 3 & 1 & 0 & - 4 1 & 5 & - 2 & 3 & - 1 hline 0 & - 4 & - 2 & 7 & - 1 ] = [ c c A _ 1 1 & A _ 1 2 A _ 2 1 & A _ 2 2 ], B = [ c c 6 & 4 - 2 & 1 - 3 & 7 hline - 1 & 3 5 & 2 ] = [ c B _ 1 B _ 2 ]A 的5列被分成3列一组和2列一组.B 的5行按同样方法分块——被分成3行一组和2行一组.我们称 A 和 B 的分块是与分块乘法相一致的. AB 的乘积可以被写成
A B = [ l l A _ 1 1 & A _ 1 2 A _ 2 1 & A _ 2 2 ] [ l B _ 1 B _ 2 ] = [ l A _ 1 1 B _ 1 + A _ 1 2 B _ 2 A _ 2 1 B _ 1 + A _ 2 2 B _ 2 ] = [ l l - 5 & 4 - 6 & 2 hline 2 & 1 ]重要的是,对于 AB 的表达式中的小乘积,每一项应把来自 A 的子矩阵写在左边,因矩阵乘法是不可交换的。例如
A _ 1 1 B _ 1 = [ c c c 2 & - 3 & 1 1 & 5 & - 2 ] [ c c 6 & 4 - 2 & 1 - 3 & 7 ] = [ c c 1 5 & 1 2 2 & - 5 ]A _ 1 2 B _ 2 = [ l l 0 & - 4 3 & - 1 ] [ l l - 1 & 3 5 & 2 ] = [ l l - 2 0 & - 8 - 8 & 7 ]因此 AB 的最上面一块是
A _ 1 1 B _ 1 + A _ 1 2 B _ 2 = [ c c 1 5 & 1 2 2 & - 5 ] + [ c c - 2 0 & - 8 - 8 & 7 ] = [ c c - 5 & 4 - 6 & 2 ]分块矩阵乘法的行列法则给出了两个矩阵乘积的最一般观点.下面每一个有关矩阵乘积的观点已经使用简单的矩阵分块的思想讨论过: (1) 使用 A 的列来给出 Ax 的定义; (2) AB 的列的定义;(3)计算 AB 的行列法则;(4) A 的行与矩阵 B 的乘积作为 AB 的行。在下面的定理10中仍然应用分块的思想给出 AB 的第5种观点。
下面的例子为定理10做准备.符号 operatornamecolₖ(A) 表示 A 的第 k 列,operatornamerowₖ(B) 表示 B 的第 k 行.
设 A = -3 & 1 & 2 1 & -4 & 5 和 B = a & b c & d e & f.验证
A B = operatornamecol _ 1 (A) operatornamerow _ 1 (B) + operatornamecol _ 2 (A) operatornamerow _ 2 (B) + operatornamecol _ 3 (A) operatornamerow _ 3 (B)解
上面的每一项都是外积(见2.1节习题27和28),由计算矩阵乘积的行列法则,有
operatornamecol _ 1 (A) operatornamerow _ 1 (B) = [ c - 3 1 ] [ a b ] = [ c c - 3 a & - 3 b a & b ]operatornamecol _ 2 (A) operatornamerow _ 2 (B) = [ c 1 - 4 ] [ c d ] = [ c c c & d - 4 c & - 4 d ]operatornamecol _ 3 (A) operatornamerow _ 3 (B) = [ l 2 5 ] [ e f ] = [ l l 2 e & 2 f 5 e & 5 f ]于是
∑_ k = 1 ^ 3 operatornamecol _ k (A) operatornamerow _ k (B) = [ l l - 3 a + c + 2 e & - 3 b + d + 2 f a - 4 c + 5 e & b - 4 d + 5 f ]这个矩阵恰好就是 AB 。注意 AB 的(1,1)元素是三个外积的(1,1)元素之和, AB 的(1,2)元素是三个外积的(1,2)元素之和,等等。
若 A 是 m × n 矩阵, B 是 n × p 矩阵,则
r l A B & = [ col _ 1 (A) col _ 2 (A) … col _ n (A) ] [ c row _ 1 (B) row _ 2 (B) vdots row _ n (B) ] & = col _ 1 (A) row _ 1 (B) + … + col _ n (A) row _ n (B) (1)证明
对每个行指标 i 和列指标 j ,乘积 operatornamecolₖ(A)operatornamerowₖ(B) 的 (i,j) 元素是 operatornamecolₖ(A) 中元素 aᵢk 与 operatornamerowₖ(B) 中元素 bₖj 的积。因此在(1)的和中, (i,j) 元素为
l a _ i 1 b _ 1 j + a _ i 2 b _ 2 j + … + a _ i n b _ n j (k = 1) (k = 2) (k = n)根据行列法则,该和恰好是 AB 的 (i,j) 元素.
分块矩阵的逆
下例说明分块矩阵的逆的求法.
形如 A = A₁1 & A₂2 0 & A₂2 的矩阵称为分块上三角矩阵.设 A₁1 是 p × p 矩阵,A₂2 是 q × q 矩阵,且 A 为可逆矩阵.求 A⁻1 的表达式.
解
用 B 表示 A⁻1 且把它分块,使得
[ c c A _ 1 1 & A _ 1 2 0 & A _ 2 2 ] [ c c B _ 1 1 & B _ 1 2 B _ 2 1 & B _ 2 2 ] = [ c c I _ p & 0 0 & I _ q ] (2)这个矩阵方程包含了 4 个有关未知子矩阵 B₁1, …, B₂2 的方程.计算(2)式左边的乘积,使每一项与右边单位矩阵中相应的块相等,得
A _ 1 1 B _ 1 1 + A _ 1 2 B _ 2 1 = I _ p (3)A _ 1 1 B _ 1 2 + A _ 1 2 B _ 2 2 = 0 (4)A _ 2 2 B _ 2 1 = 0 (5)A _ 2 2 B _ 2 2 = I _ q (6)方程(6)本身并不能说明 A₂2 可逆.但应用可逆矩阵定理及 A₂2 是方阵的事实,可以断定 A₂2 可逆且 B₂2 = A₂2⁻1.现在我们利用(5)式求得
B _ 2 1 = A _ 2 2 ^ - 1 0 = 0因此(3)式简化为
A _ 1 1 B _ 1 1 + 0 = I _ p因 A₁1 是方阵,这说明 A₁1 是可逆的,且 B₁1 = A₁1⁻1 。最后由(4),
A _ 1 1 B _ 1 2 = - A _ 1 2 B _ 2 2 = - A _ 1 2 A _ 2 2 ^ - 1 text 和 B _ 1 2 = - A _ 1 1 ^ - 1 A _ 1 2 A _ 2 2 ^ - 1于是
A ^ - 1 = [ c c A _ 1 1 & A _ 1 2 0 & A _ 2 2 ] ^ - 1 = [ c c A _ 1 1 ^ - 1 & - A _ 1 1 ^ - 1 A _ 1 2 A _ 2 2 ^ - 1 0 & A _ 2 2 ^ - 1 ]分块对角矩阵是一个分块矩阵,除了主对角线上各分块外,其余全是零分块。这样的一个矩阵是可逆的当且仅当主对角线上各分块都是可逆的。见习题13和14。
数值计算的注解
Section titled “数值计算的注解”-
当矩阵太大时,不适于存储在高速计算机内存中,分块矩阵允许计算机一次处理两到三块子矩阵。例如,最近关于线性规划的工作中,一个研究团队把矩阵分为 837 行和 51 列以简化问题。解这个问题在 Cray 超级计算机上大约需要 4 分钟 ① 。
-
对于某些高速计算机,特别是具有向量传输技术的计算机,当把矩阵分块后再进行矩阵运算更有效 ③ .
-
高性能数值计算的线性代数专业软件 LAPACK 广泛使用分块矩阵进行计算.
下面的习题给出了运用矩阵代数的练习,表明了应用中的典型计算.
-
证明 I & 0 A & I 可逆并求出它的逆.
-
计算 X^(T)X ,其中 X 分块为 [X₁, X₂] .
习题 1~9 中,假设这些矩阵的分块适于分块乘法,计算习题 1~4 的乘积.
-
I & 0 E & I A & B C & D
-
E & 0 0 & F A & B C & D
-
0 & I I & 0 W & X Y & Z
-
I & 0 -X & I A & B C & D
习题 5~8 中,用 A, B, C 求出 X, Y, Z 的表达式,写出你的理由。在这当中你需要对矩阵的维数做假设以得到一个公式。(提示:计算左边的乘积并使它等于右边。)
-
A & B C & 0 I & 0 X & Y = 0 & I Z & 0
-
X & 0 Y & Z A & 0 B & C = I & 0 0 & I
-
X & 0 & 0 Y & 0 & I A & Z 0 & 0 B & I = I & 0 0 & I
-
A & B 0 & I X & Y & Z 0 & 0 & I = I & 0 & 0 0 & 0 & I
-
设 A₁1 是可逆矩阵,求出矩阵 X 和 Y 使下列乘积有所说的形式,并计算 B₂2 。(提示:计算左边的乘积使它等于右边。)
- 设 I & 0 & 0 C & I & 0 A & B & I 的逆为 I & 0 & 0 Z & I & 0 X & Y & I ,求 X, Y, Z.
在习题 11~12 中,标出各个命题的真假。验证你的结论。
- a.若 A = [A₁ A₂], B = [B₁ B₂], A₁ 和 A₂ 的维数分别与 B₁ 和 B₂ 的维数相同,则
b.若 A=A₁1&A₁2 A₂1&A₂2,B=B₁ B₂ ,则 A 和 B 的分块适合于分块乘法.
-
a.矩阵向量的乘积 Ax 的定义是分块乘积的特殊情况. b. 若 A₁, A₂, B₁ 和 B₂ 是 n × n 矩阵, A = A₁ A₂ ,且 B = [B₁ B₂] ,则乘积 BA 有定义,但 AB 无定义.
-
设 A = B & 0 0 & C ,其中 B 和 C 是方阵,证明 A 可逆当且仅当 B 和 C 都可逆.
-
证明:例5中的分块上三角矩阵 A 可逆,当且仅当 A₁1 和 A₂2 都可逆。(提示:若 A₁1 都可逆,例5中 A₂2 都可逆,例5中 A⁻1 的表达式给出 A 的逆矩阵。)这个事实对许多估计矩阵特征值的计算机程序是很重要的。特征值在第5章讨论。
-
设 A₁1 可逆.求出 X 与 Y 使得
其中矩阵 S = A₂2 - A₂1A₁1⁻1A₁2 称为 A₁1 的舒尔补.类似地,若 A₂2 可逆,则矩阵 A₁1 - A₁2A₂2⁻1A₂1 称为 A₂2 的舒尔补.这样的表达式在系统工程理论或其他地方经常出现.
-
设(7)式左边的分块矩阵 A 可逆,而 A₁1 可逆。证明 A₁1 的舒尔补 S 也是可逆的。(提示:(7)的右边的外面两个因子总是可逆的,证明这一点。)当 A 和 A₁1 都可逆,(7)导出用 S⁻1, A₁1⁻1 及 A 的其他元素计算 A⁻1 的一个公式。
-
当太空卫星发射之后,为使卫星在精确计算过的轨道上运行,需要校正它的位置。如图 2-10所示。雷达屏幕给出一组向量 x₁,…,xₖ ,它们给出卫星在不同时间里的位置与计划轨道的比较。设 Xₖ 表示矩阵 [x₁… xₖ] ,矩阵 Gₖ=XₖXₖ^(T) 需要在雷达分析数据时计算出来。当 xₖ+1 到达时,新的 Gₖ+1 必须计算出来。因数据向量高速到达,所以计算负担很重。分块矩阵的计算起了很大作用。计算 Gₖ 和 Gₖ+1 的列行展开,叙述从 Gₖ 如何计算 Gₖ+1 。
- 设 X 是 m × n 矩阵,且 X^(T) X 可逆,又设 M = Iₘ - X(X^(T) X)⁻1 X^(T) 。增加一列 ±bx₀ 于这组数据,构成矩阵 W = [X - ±bx₀] ,计算 W^(T) W 。它的(1,1)元素是 X^(T) X ,证明 X^(T) X 的舒尔补(习题15)是 ±bx₀^(T) M ±bx₀ 。可以证明数 (±bx₀^(T) M ±bx₀)⁻1 是 (W^(T) W)⁻1 的(2,2)元素。在适当假设下,这个数有一个有用的统计解释。
在研究物理系统的工程控制中,一组标准的微分方程用拉普拉斯变换转成下列线性方程组:
[ c c A - s I _ n & B C & I _ m ] [ l boldsymbol x boldsymbol u ] = [ l boldsymbol 0 boldsymbol y ] (8)其中 A, B, C 分别为 n × n, n × m, m × n 矩阵,s 是一个变量。 R^(m) 中向量 u 是系统的“输入”, R^(m) 中的向量 y 是“输出”, Rⁿ 中向量 x 是“状态”向量。(实际上,向量 x, u, y 都是 s 的函数,但忽略这一事实并不影响习题 19 和 20 的代数计算。)
-
假设 A - sIₙ 是可逆的,把(8)看作两个矩阵方程的方程组。把第一个方程的解 ±bx 代入第二个方程,结果是形如 W(s)±bu = ±by 的方程,其中 W(s) 是依赖于 s 的矩阵,称为系统的传递函数,因为它把输入 ±bu 变换成输出 ±by 。求出 W(s) ,叙述它如何与(8)左边分块的系统矩阵相关联。见习题15。
-
设习题 19 中的传递函数 W(s) 对某个 s 可逆,可以证明,逆传递函数 W(s)⁻1 把输出转换为输入,是 A - BC - sIₙ 对于下列矩阵的舒尔补。求
出此舒尔补,见习题15.
[ c c A - B C - s I _ n & B - C & I _ m ]- a.证明 A² = I ,其中 A = 1 & 0 3 & -1 .
b.利用分块矩阵证明 M² = I ,其中
M = [ c c c c 1 & 0 & 0 & 0 3 & - 1 & 0 & 0 1 & 0 & - 1 & 0 0 & 1 & - 3 & 1 ]-
推广习题 21(a)的思想,构造一个 5 × 5 矩阵 M=A&0 C&D ,使得 M²=I 。令C是 2×3 非零矩阵,验证你构造的矩阵满足要求。
-
应用分块矩阵和归纳法证明两个下三角矩阵的乘积仍是下三角矩阵。(提示:一个 (k + 1) × (k + 1) 下三角矩阵 A₁ 可以写成以下形式,其中 a 是标量, ±bv 是 ℝ^k 中的向量, A 是 k × k 下三角矩阵,参见“学习指导”)
- 用分块矩阵归纳证明对 n = 2,3,… ,下面的 n× n 矩阵 A 是可逆的,其逆为 B :
归纳证明时,首先假设 A 和 B 是 (k+1)×(k+1) 矩阵,将 A 和 B 按类似习题 23 的方式进行分块.
-
不使用行化简,求矩阵 A=1&2&0&0&0 3&5&0&0&0 0&0&2&0&0 0&0&0&7&8 0&0&0&5&6 的逆.
-
[M]对于分块运算,必须能够访问或录入大矩阵的子矩阵。叙述你的矩阵程序中实现下列功能的命令。设 A 是 20 × 30 矩阵。
a.显示 A 的从第 5 行到第 10 行和第 15 列到第 20 列的子矩阵.
b.把 5 × 10 矩阵 B 从第 10 行第 20 列开始插入 A.
c.建立形如 B = A & 0 0 & A^(T) 的 50 × 50 矩阵。(注:有可能不需要用命令说明 B 中的零分块矩阵。)
-
[M]设由于内存或维数限制,矩阵程序不可能存储多于32行32列的矩阵,假设某个项目涉
-
若 I & 0 A & I 可逆,则它的逆有 W & X Y & Z 的形式.计算及 50 × 50 矩阵 A 和 B,叙述你的矩阵程序中需要完成下列功能的命令.
c.对 R⁵0 中某个向量 b,解方程 Ax=b,假设 A 可分块为 2 × 2 分块矩阵 [Aᵢj] ,其中 A₁1 是可逆 20 × 20 矩阵, A₂2 是可逆 30 × 30 矩阵, A₁2 是零矩阵。(提示:用适当的小方程组来解,不使用矩阵的逆。)
[ l l I & 0 A & I ] [ l l W & X Y & Z ] = [ c c W & X A W + Y & A X + Z ]所以 W, X, Y, Z 满足 W = I, X = 0, AW + Y = 0, AX + Z = I.由此 Y = -A 及 Z = I ,因此
[ l l I & 0 A & I ] [ l l I & 0 - A & I ] = [ l l I & 0 0 & I ]将左边两个矩阵对调,等式仍成立,所以所给分块矩阵为可逆阵,它的逆是 [ ccI & 0 -A & I ] (也可以用可逆矩阵定理).
- X^(T)X = [ cX₁^(T) X₂^(T) ][X₁,X₂] = [ llX₁^(T)X₁ & X₁^(T)X₂ X₂^(T)X₁ & X₂^(T)X₂ ]. X^(T) 的分块和 X 的分块是适于乘法的,因 X^(T) 的列数等于 X 的行数. X^(T)X 的分块常用于矩阵计算的计算机算法.