对应教材 2.2.1–2.2.5、定理 2.3–2.5、例 2–3、习题 4–8;对应老师第 4 讲 §二–§四。
主线:把“消元”写成“分解” A=LU,一次分解、反复使用;三对角结构再把 O(n3) 降到 O(n)。
设 A 非奇异,且前 n−1 个顺序主子式不为零。Doolittle 分解是
A=LU,
其中 L 是单位下三角(对角元为 1),U 是上三角。逐圈公式(教材式 2.12):
ukj=akj−s=1∑k−1lksusj(j=k,…,n),lik=ukkaik−∑s=1k−1lisusk(i=k+1,…,n).
解方程组分两步:先解 Ly=b(前代),再解 Ux=y(回代)。
定理 2.3:n≥2 阶矩阵 A 有唯一 Doolittle 分解的充要条件是前 n−1 个顺序主子式 Dk=0 (k=1,…,n−1)。
证明要点:充分性由定理 2.1 的顺序消去得到 Pn−1⋯P1A=U,取 L=P1−1⋯Pn−1−1;必要性由 Ak=LkUk 得 Dk=u11⋯ukk,若某个 ukk=0 则分解不唯一。■
Crout 分解:A=LU,其中 L 是下三角(对角元不一定是 1),U 是单位上三角。教材给出推论:与 Doolittle 分解存在唯一性等价;两者只差一个对角缩放。
例 2(教材 2.2.1,四位十进制):方程组
⎩⎨⎧8.1x1+2.3x2−1.5x3=6.1,0.5x1−6.23x2+0.87x3=2.3,2.5x1+1.5x2+10.2x3=1.8.
Doolittle 分解后前代得 y1=6.1, y2≈1.923, y3≈0.1560,再回代得 x。这个例子说明:分解本身不神秘,逐圈公式的顺序不能乱——每一步只让一个新未知数出现。
若某个 ukk=0 或相对很小,分解不能继续或误差会被放大。与列主元 Gauss 消去类似,在分解过程中选主元:第 k 步在当前列的剩余行中选绝对值最大者,交换行,再继续分解。
定理 2.4:若 A 非奇异,则存在置换矩阵 Q,使 QA=LU,其中 L 单位下三角、U 上三角。
证明要点:由定理 2.2,列主元消去可把 A 化为上三角;把行交换矩阵 Qk 与消元矩阵 Pk 合并,得到 QA=LU。■
实际实现时通常把 Q 记录为一个排列向量,不显式构造矩阵;解方程组时对右端做同样的行交换。
若 aij=0 当 i−j>r 或 j−i>s,称 A 为上半带宽 s、下半带宽 r 的带状矩阵。
定理 2.5(保带状结构三角分解):设 A 是上半带宽 s、下半带宽 r 的带状矩阵,且前 n−1 个顺序主子式不为零;则 A 有唯一 Doolittle 分解 A=LU,其中 L 是下半带宽 r 的单位下三角,U 是上半带宽 s 的上三角。
证明要点:由定理 2.3 有唯一分解;当 i−j>r 时,aik=0 (k≤j),由逐圈公式推出 lij=0;同理 j−i>s 时 uij=0。■
推论:同样条件下,A 有唯一 Crout 分解,且保带宽。计算量:只需存 (r+s+1)n 个带内元素,分解与求解都是 O(n)。
三对角方程组
aixi−1+bixi+cixi+1=di,i=1,…,n
(a1=cn=0)是 r=s=1 的带状矩阵。用 Crout 分解可写成“追”和“赶”两步:
追(前代):
c1′=b1c1,d1′=b1d1;deni=bi−aici−1′,ci′=denici,di′=denidi−aidi−1′.
赶(回代):
xn=dn′,xi=di′−ci′xi+1(i=n−1,…,1).
计算量约 3n 次乘除法,即 O(n);不需要选主元的前提是 deni=0(如严格对角占优)。
例 3(教材 2.2.4):教材用五对角/三对角方程组演示追赶法,精确解为 (0.21,−0.52,1.2,0.82,−0.64)T。关键是:分解不产生填充,带外元素始终为零。
拟三对角矩阵形如
A=b1a2e1c1b2⋱c2⋱an−1⋱bn−1and1cn−1bn,
即三对角外加右上角 d1 与左下角 e1。教材 2.2.5 给出把它分解为两个三对角矩阵乘积的方法,从而仍可用追赶法求解。课堂未展开,考试按老师范围;需要时按教材补读。
2.4 · Doolittle 运算量(教材习题 4)
统计 Doolittle 分解法求解 n 元线性方程组所需的乘除法次数。
参考答案
分解约 n3/3 次,前代约 n2/2 次,回代约 n2/2 次;主导项 n3/3。与高斯消去同阶,但一次分解可反复用于多个右端。
2.5 · 不选主元的 Doolittle(教材习题 5)
用不选主元的 Doolittle 分解求解教材习题 5 的方程组。
参考答案
按逐圈公式算 L,U,前代得 y,回代得 x。若某步 ukk=0 或很小,说明不能直接分解,应改用选主元版本;本题数据下分解可进行,结果按四位十进制核对。
2.6 · 选主元的 Doolittle(教材习题 6)
用选主元的 Doolittle 分解求解教材习题 6 的方程组。
参考答案
第 k 步在当前列剩余行中选绝对值最大者,交换行并记录排列;分解得 QA=LU,对右端做同样行交换后前代/回代。与列主元 Gauss 消去等价,只是把消元信息存进了 L。
2.7 · 带状存储下计算 Ax(教材习题 7)
带状矩阵的带内元素存在 (r+s+1)×n 的矩阵 C 中,写出由 C 计算 u=Ay 的公式。
参考答案
对每个 i,只累加 j∈[max(1,i−r),min(n,i+s)]:ui=∑jCr+1+i−j,jyj。带外元素不参与,故每行最多 r+s+1 次乘法,总体 O((r+s)n)。
2.8 · 追赶法(教材习题 8)
用追赶法求解教材习题 8 的五元三对角方程组。
参考答案
按 2.2.4 的“追/赶”公式,先算 ci′,di′,再从 x5 回代。精确解为 (0.21,−0.52,1.2,0.82,−0.64)T;计算量 O(n),不要写成 O(n3)。
覆盖核对
本节覆盖教材 2.2.1–2.2.5、定理 2.3–2.5 及推论、例 2–3、习题 4–8;老师第 4 讲 §二–§四。下一节:2.3 条件数与病态。