解线性方程组的直接法例题
Doolittle 分解与 Crout 分解
例题
求矩阵
A=2141−11−22−1
的 Doolittle 分解和 Crout 分解。
Doolittle 分解
设
A=LU=1l21l3101l32001u1100u12u220u13u23u33.
依次按行、列计算:
u11l21u11l21u12+u22l31u12+l32u22l31u13+l32u23+u33=2,=a21,=a22,=a32,=a33,u12l31u11l21u13+u23=1,=a31,=a23,u13l21u22l32u33=−2,=21,l31=2,=−23,u23=3,=u22a32−l31u12=32,=1.
因此
A=121201320012001−230−231.
Crout 分解
设
A=LU=l11l21l310l22l3200l33100u1210u13u231.
由第一列得 l11=2,l21=1,l31=4;由第一行得 u12=21,u13=−1。再由第二列及第二行得
l22=−23,l32=−1,u23=−2,
最后由第三列得 l33=1。故
A=2140−23−10011002110−1−21.
列主元消元与 PLU 分解
列主元消元的每一步均包含一次换行 Pi 和一次消元 Gi。若
GnPn⋯G2P2G1P1A=U,
则可将置换矩阵移到左侧,得到 PA=LU。
例题
用列主元消元法求
A=231343573
的 PLU 分解。
第一步交换前两行:
P1=010100001,P1A=321433753.
再作消元
G1=1−32−31010001,G1P1A=3004313573132.
第二步交换后两行并消元:
P2G2P2G1P1A=100001010,=300435073251=U.G2=10001−51001,
令 P=P2P1,并把消元矩阵按置换后的次序整理,得到
PA=LU,P=001100010,
其中
L=131320151001,U=300435073251.
Cholesky 分解
对于对称正定矩阵,有 A=LLT。
例题
对
A=4222101212
作 Cholesky 分解。
设 L=l11l21l310l22l3200l33。逐列计算得
l112l21l11l212+l222l31l21+l32l22l312+l322+l332=a11,=a21,=a22,=a32,=a33,l11l31l11l22l32l33=2,=a31,=3,=0,=1.l21=l31=1,
所以
A=LLT=211030001200130101.
三对角方程组
例题
用 Doolittle(追赶法)解
2−100−12−100−12−100−12x1x2x3x4=0005.
其分解为
A=1−210001−320001−4300012000−123000−134000−145.
先解 Ly=b,得 y=(0,0,0,5)T;再解 Ux=y,得
x=(1,2,3,4)T.
解线性方程组的迭代法例题
矩阵范数
例题
设
A=(2−114),
求 ∥A∥1、∥A∥∞、∥A∥2 及 ρ(A)。
由列和与行和分别得到
∥A∥1∥A∥∞=1≤j≤nmaxi=1∑n∣aij∣=max{3,5}=5,=1≤i≤nmaxj=1∑n∣aij∣=max{3,5}=5.
笔记续算特征值为 λ1=7,λ2=−1,因而记为
ρ(A)=7,∥A∥2=ρ(A)=7.
Jacobi 迭代法
将 A 分裂为
A=D−L−U,H=D−1(L+U),g=D−1b,
则 x(k+1)=Hx(k)+g。
例题
对方程组
201228−33115x1x2x3=251014,x(0)=(0,0,1)T,
写出 Jacobi 迭代格式。
取
D=diag(20,8,15),L=0−1−2003000,U=000−200−3−10.
于是
H=0−81−152−101051−203−810,g=45451514.
例题
判断下列矩阵对应的 Jacobi 迭代是否收敛:
A1=10.90.90.910.90.90.91,A2=1−11012103.
A1 为对称正定矩阵,故相应迭代收敛。对 A2,它既不严格对角占优,也不对称正定,需考察迭代矩阵
H=D−1(L+U)=01−3100−32−100.
其谱半径不小于 1,故 Jacobi 迭代不收敛。
Gauss–Seidel 迭代法
Gauss–Seidel 迭代矩阵及常向量为
H=(D−L)−1U,g=(D−L)−1b.
对前述三元方程组,
H=000−101801120019−203−16017−8001,g=453235480473.
对于矩阵 A2,其 Gauss–Seidel 迭代矩阵的谱半径为 1,故迭代不收敛。
SOR 方法与一个收敛判据
SOR 方法的迭代矩阵和常向量为
H=(D−ωL)−1[(1−ω)D+ωU],g=ω(D−ωL)−1b.
考虑一般定常迭代
x(k+1)=(I−B−1A)x(k)+B−1b.
若
ρ((A−B)T(A−B))<λ∈σ(BBT)min∣λ∣,
则该迭代收敛。事实上,只需验证 ρ(H)<1,而
ρ(I−B−1A)≤∥I−B−1A∥2≤∥B−1∥2∥B−A∥2=ρ((BBT)−1)ρ((B−A)T(B−A))=minλ∈σ(BBT)∣λ∣ρ((A−B)T(A−B))<1.
线性最小二乘问题例题
正规方程法
线性最小二乘问题 Ax≈b 的正规方程法为
C=ATA,d=ATb,C=LLT,Ly=d,LTx=y.
例题
用正规方程法求
A=21−23−14,b=5−10−15
所确定的最小二乘解。
计算得
C=ATA=(9−3−326),d=ATb=(30−35).
对 C 作 Cholesky 分解:
C=LLT=(3−105)(30−15).
由 Ly=d 得 y=(10,−5)T,再由 LTx=y 得
x=(3,−1)T.
Householder 与 Givens 变换
Householder 变换写为
H=I−2wwT,w=∥y−z∥2y−z.
例题
设 y=(2,1,−2)T,z=(∥y∥2,0,0)T=(3,0,0)T,求满足 Hy=z 的 Householder 矩阵。
此时
w=61(−1,1,−2)T,H=3121−2122−22−1.
Givens 变换满足
(c−ssc)(ab)=(a2+b20),c=a2+b2a,s=a2+b2b.
例题
用 Givens 变换将 y=(1,3,−2)T 化为 z=(∥y∥2,0,0)T。
先消去第二个分量,取 c=21,s=23:
21−2302321000113−2=20−2.
再在第一、第三分量间旋转,取 c=22、s=−22,得到 (22,0,0)T。
Householder QR 分解
例题
求
A=21−23−14
的 QR 分解。
对第一列 a1=(2,1,−2)T,令
w1=∥a1−(3,0,0)T∥2a1−(3,0,0)T=61(−1,1,−2)T,
则
H1=I−2w1w1T=3231−32313232−3232−31,H1A=300−13−4.
再令
w2=−51(24),Hˉ2=I−2w2w2T=(−53−54−5453).
于是
(100Hˉ2)H1A=300−150=R.
令 Q=H1diag(1,Hˉ2),则 A=QR。
由此也可直接解本节最小二乘例题:
Q1Tb=(10−5),(30−15)x=(10−5),x=(3,−1)T.
矩阵特征值问题例题
乘幂法、位移法与反幂法
乘幂法迭代为
y(k)=Ax(k−1),mk=imax∣yi(k)∣,x(k)=mky(k).
例题
用乘幂法估计
A=−4−5−114130002,x(0)=(1,1,1)T
的最大模特征值及特征向量。
第一步
y(1)=Ax(0)=(10,8,1)T,m1=10,x(1)=(1,54,101)T.
迭代后主特征值趋于 10,相应特征向量趋于 (1,1511,−51)T。
采用原点位移 B=A−pI 时,A 的特征值满足 λ=p+λ。笔记取 p=2.5,则
B=−6.5−5−11410.5000−0.5,Bx(0)=(7.5,5.5,−1.5)T.
由位移后的主特征值 7.5,还原得 λmax=10。
反幂法对 A−1 使用乘幂法,用于求最小模特征值。笔记计算
A−1=18131853613−97−92−1870021,y(1)=A−1x(0)=−1811813617.
对称矩阵 Jacobi 方法
对于对称矩阵,取正交旋转矩阵 Pk,作
Ak+1=PkTAkPk,
逐步消去最大的非对角元。
例题
对
A=2−10−12−10−12
作一次 Jacobi 旋转。
先取 a12=a21,有
tan2θ=a11−a22−2a12=∞,θ=4π,c=s=22,
故
P1=22−22022220001.
继续选择新的最大非对角元作旋转,直至非对角元足够小;最终对角元给出特征值,旋转矩阵之积的列向量给出相应特征向量。
Householder 三对角化与 Sturm 序列
例题
用 Householder 方法将对称矩阵
A=121223−111−1112111
化为对称三对角矩阵。
第一步使第一列主对角线以下仅保留一个非零元。令 y=(2,1,2)T、z=(3,0,0)T,则
w1=61(−1,1,2)T,H1=I−2w1w1T=3231323132−3232−32−31.
嵌入为 diag(1,H1),作正交相似变换后得
diag(1,H1)Adiag(1,H1)T=13003a22a32a420a23a33a430a24a34a44.
再构造 H2,使 H2(a32,a42)T=(a322+a422,0)T,即可得到三对角矩阵。
例题
用 Sturm 序列判断三对角矩阵
T=−211−211−211−211−2
在给定区间内的特征值个数。
其主子式序列满足
p0(λ)=1,p1(λ)=−2−λ,pj(λ)=(−2−λ)pj−1(λ)−pj−2(λ).
例如在 λ=−2 与 λ=0 处列符号表,用两端符号变化次数之差,可知区间 [−2,0] 中有三个特征值;继续二分即可逐个定位。
插值与样条例题
Lagrange 与 Newton 插值
例题
已知
xsinx0.320.3145670.340.3334870.360.352274
用线性插值和抛物插值估计 sin0.3367。
线性插值取最接近的节点 0.32,0.34,其基函数为
l0(x)=0.32−0.34x−0.34,l1(x)=0.34−0.32x−0.32,
故 L1(0.3367)=l0(0.3367)y0+l1(0.3367)y1。抛物插值使用三个节点并代入
L2(x)=k=0∑2ykj=k∏xk−xjx−xj.
Newton 插值的计算式为
Nn(x)=f[x0]+f[x0,x1](x−x0)+f[x0,x1,x2](x−x0)(x−x1)+⋯+f[x0,…,xn](x−x0)⋯(x−xn−1).
三次 Hermite 插值及余项
设节点 x0,x1,x2 上同时给定 f(xi) 和 f′(xi)。构造基函数 αi(x),βi(x),使
αi(xj)=δij,αi′(xj)=0,βi(xj)=0,βi′(xj)=δij.
记 Lagrange 基函数为 li(x),则
αi(x)βi(x)=li(x)21−2(x−xi)j=i∑xi−xj1,=(x−xi)li(x)2,
并有
H5(x)=i=0∑2[f(xi)αi(x)+f′(xi)βi(x)].
为求余项,令
F(t)=f(t)−H5(t)−λ(x)(t−x0)2(t−x1)2(t−x2)2,
并令 F(x)=0。由于 x0,x1,x2 均为二重零点,反复使用 Rolle 定理得
R5(x)=f(x)−H5(x)=6!f(6)(ξ)(x−x0)2(x−x1)2(x−x2)2.
三次样条例题
例题
给定节点
xy11234452
并给定第二边值条件 S′′(1)=S′′(5)=6,求三次样条插值函数。
步长为 h0=1,h1=2,h2=1,故
λ1=32,μ1=31,λ2=31,μ2=32.
右端为
g0g1g2g3=3f[x0,x1]−2h0S′′(x0)=3,=3(λ1f[x0,x1]+μ1f[x1,x2])=29,=3(λ2f[x1,x2]+μ2f[x2,x3])=−27,=3f[x2,x3]+2h2S′′(x3)=−3.
于是
23200123100312100322m0m1m2m3=329−27−3.
解得
m0=817,m1=47,m2=−45,m3=−819.
代入分段 Hermite 公式,得到
S(x)=⎩⎨⎧−81x3+83x2+47x−1,−81x3+83x2+47x−1,83x3−845x2+4103x−33,x∈[1,2],x∈[2,4],x∈[4,5].
数值积分与常微分方程例题
两点 Gauss 求积公式
在 [−1,1] 上取两个 Gauss 点 x0,x1。节点多项式 (x−x0)(x−x1) 应与 1,x 正交:
∫−11(x−x0)(x−x1)dx=0,∫−11x(x−x0)(x−x1)dx=0.
由此
x0x1=−31,x0+x1=0,x0=−31,x1=31.
权重为
w0=∫−11x0−x1x−x1dx=1,w1=∫−11x1−x0x−x0dx=1.
故
∫−11f(x)dx≈f(−31)+f(31).
Euler 格式例题
例题
对初值问题
y′=y−y2x,y(0)=1,h=0.1,
写出向前 Euler 和改进 Euler 格式。
向前 Euler 格式为
yn+1=yn+h(yn−yn2xn).
改进 Euler 格式先预测
yˉn+1=yn+h(yn−yn2xn),
再校正
yn+1=yn+2h[yn−yn2xn+yˉn+1−yˉn+12xn+1].
向前与向后 Euler 为一阶,梯形与改进 Euler 为二阶,经典四级 Runge–Kutta 为四阶。
绝对稳定域例题
考虑二级 Runge–Kutta 中点格式
yn+1=yn+hf(xn+2h,yn+2hf(xn,yn)).
将测试方程 y′=μy 代入,得
yn+1=(1+hμ+2(hμ)2)yn.
故其绝对稳定域为
{z∈C:1+z+2z2<1},z=hμ.
补充矩阵例题
顺序主子式与 Cholesky 分解
例题
设
A=10α01ααα1.
讨论 A=LU、A=LLT 的存在条件及正定性。
不选主元的 LU 分解存在要求各阶顺序主子式非零,即
1=0,1=0,detA=1−2α2=0,
故 α=±22。因为 A 对称,Cholesky 分解存在等价于正定,条件为
1>0,1>0,1−2α2>0,
即
−22<α<22.
带参数的定常迭代
例题
对
A=(2112),b=(12),x(k+1)=x(k)+ω(Ax(k)−b),
讨论收敛区间并求最优参数。
迭代矩阵为
Hω=I+ωA=(2ω+1ωω2ω+1).
其特征值为 ω+1 与 3ω+1,故
ρ(Hω)=max{∣ω+1∣,∣3ω+1∣}.
收敛条件 ρ(Hω)<1 给出
−32<ω<0.
两条绝对值函数相等时谱半径最小,得
ωopt=−21.
SOR 收敛的必要条件
SOR 迭代矩阵为
Hω=(D−ωL)−1[(1−ω)D+ωU].
由特征方程
det(λ(D−ωL)−[(1−ω)D+ωU])=0
可知,当 0<ω≤1 且 ∣λ∣≥1 时会与严格对角占优矛盾,因而在相应条件下 SOR 收敛;更一般的必要条件为 0<ω<2。
线性方程组的扰动误差
若 Ax=b,而扰动系统为
(A+δA)(x+δx)=b,
则
δx=−A−1δA(x+δx).
从而
∥x+δx∥2∥δx∥2≤∥A−1∥2∥δA∥2=κ2(A)∥A∥2∥δA∥2.
对对称矩阵,∥A∥2=maxi∣λi∣、∥A−1∥2=1/mini∣λi∣。
正定矩阵诱导的范数
若 A 对称正定,则存在 Cholesky 分解 A=QTQ,定义
∥x∥A=(xTAx)1/2=∥Qx∥2.
由 Q 可逆以及 Euclid 范数的性质,立即得到正定性、齐次性和三角不等式,故 ∥⋅∥A 确为向量范数。