数值分析复习笔记-第六章-线性方程组的迭代解法

Chapter6 线性方程组的迭代解法

6.1 范数

6.1.1 向量范数

  1. 定义:对任意n维向量x\boldsymbol{x}x,有对应的一个非负实数∣∣x∣∣||\boldsymbol{x}||∣∣x∣∣满足->
    • 非负性:∣∣x∣∣⩾0||x||\geqslant 0∣∣x∣∣0,并且∣∣x∣∣=0→x=0||x||=0 \rightarrow x=0∣∣x∣∣=0x=0
    • 齐次性:对于任意实数γ\gammaγ,有∣∣γx∣∣=γ∣∣x∣∣||\gamma x|| = \gamma ||x||∣∣γx∣∣=γ∣∣x∣∣
    • 三角不等性:∣∣x∣∣+∣∣y∣∣⩾∣∣x+y∣∣||x||+||y|| \geqslant ||x+y||∣∣x∣∣+∣∣y∣∣∣∣x+y∣∣
  2. 分类
    • 1-norms: norm(x,1)
      ∣∣v∣∣=∣v1∣+∣v2∣+∣v3∣+⋯+∣vn∣=∑i=1n∣vi∣||v||=|v_1|+|v_2|+|v_3|+\dots+|v_n|=\sum_{i=1}^{n}|v_i|∣∣v∣∣=v1+v2+v3++vn=i=1nvi
    • 2-norms(欧几里得范数): norm(x,2)
      ∥x∥2=v12+v22+⋯+vn2=∑i=1nvi2\|x\|_2=\sqrt{v_1^2+v_2^2+\cdots+v_n^2}=\sqrt{\sum_{i=1}^n v_i^2}x2=v12+v22++vn2=i=1nvi2
    • ∞\infty-norms: norm(x,inf)
      ∥x∥∞=max⁡1⩽j⩽n∣xj∣\|x\|_{\infty}=\max _{1 \leqslant j \leqslant n}\left|x_j\right|x=1jnmaxxj

6.1.2 矩阵范数

  1. 定义:对任意n阶方阵A\boldsymbol{A}A,有对应的一个非负实数∣∣A∣∣||\boldsymbol{A}||∣∣A∣∣满足->
    • 非负性:∣∣A∣∣⩾0||\boldsymbol{A}||\geqslant 0∣∣A∣∣0,并且∣∣A∣∣=0→A=0||\boldsymbol{A}||=0 \rightarrow \boldsymbol{A}=\boldsymbol{0}∣∣A∣∣=0A=0
    • 齐次性:对于任意实数γ\gammaγ,有∣∣γA∣∣=γ∣∣A∣∣||\gamma \boldsymbol{A}|| = \gamma ||\boldsymbol{A}||∣∣γA∣∣=γ∣∣A∣∣
    • 三角不等性:∣∣A∣∣+∣∣B∣∣⩾∣∣A+B∣∣||\boldsymbol{A}||+||\boldsymbol{B}|| \geqslant ||\boldsymbol{A}+\boldsymbol{B}||∣∣A∣∣+∣∣B∣∣∣∣A+B∣∣
    • 相容性:∣∣AB∣∣≤∣∣A∣∣⋅∣∣B∣∣||\boldsymbol{AB}||\leq||\boldsymbol{A}||\cdot||\boldsymbol{B}||∣∣AB∣∣∣∣A∣∣∣∣B∣∣
  2. 谱半径:矩阵特征值的最大值
    ρ(A)=max⁡1≤j≤n∣λi∣ \rho(\bold{A})=\max _{1 \leq j \leq n}|\lambda_{i}|ρ(A)=1jnmaxλi
  3. 分类
    • 1-norms(列模): norm(A,1)
      ∥A∥1=max⁡1≤j≤n∑i=1n∣aij∣\|A\|_1=\max _{1 \leq j \leq n} \sum_{i=1}^n\left|a_{i j}\right|A1=1jnmaxi=1naij
    • 2-norms(谱模): norm(A,2)
      ∥A∥2=ρ(ATA)\lVert A\rVert_2 =\sqrt{\rho(A^TA)} A2=ρ(ATA)
    • ∞\infty-norms(行模): norm(A,inf)
      ∥A∥1=max⁡1≤i≤n∑j=1n∣aij∣\|A\|_1=\max _{1 \leq i \leq n} \sum_{j=1}^n\left|a_{i j}\right|A1=1inmaxj=1naij
    • F-norms(vector 2-norms): norm(A,'fro')
      ∥A∥F=(∑i=1m∑j=1n∣aij∣2)12\|\mathrm{A}\|_{\mathrm{F}}=\left(\sum_{\mathrm{i}=1}^{\mathrm{m}} \sum_{\mathrm{j}=1}^{\mathrm{n}}\left|\mathrm{a}_{\mathrm{ij}}\right|^2\right)^{\frac{1}{2}}AF=i=1mj=1naij221

6.1.3 相容关系

  1. 定义:若如下不等式成立,我们称向量范数和矩阵范数相容
    ∣∣Ax∣∣≤∣∣A∣∣⋅∣∣x∣∣ ||\boldsymbol{Ax}||\leq||\boldsymbol{A}||\cdot||\boldsymbol{x}|| ∣∣Ax∣∣∣∣A∣∣∣∣x∣∣
  2. 其余范数应满足:
    ∣∣Ax∣∣1≤∣∣A∣∣1⋅∣∣x∣∣1∣∣Ax∣∣2≤∣∣A∣∣2⋅∣∣x∣∣2∣∣Ax∣∣∞≤∣∣A∣∣∞⋅∣∣x∣∣∞∣∣Ax∣∣2≤∣∣A∣∣F⋅∣∣x∣∣2 ||\boldsymbol{Ax}||_{1}\leq||\boldsymbol{A}||_{1}\cdot||\boldsymbol{x}||_{1}\\ ||\boldsymbol{Ax}||_{2}\leq||\boldsymbol{A}||_{2}\cdot||\boldsymbol{x}||_{2}\\ ||\boldsymbol{Ax}||_{\infty}\leq||\boldsymbol{A}||_{\infty}\cdot||\boldsymbol{x}||_{\infty}\\ ||\boldsymbol{Ax}||_{2}\leq||\boldsymbol{A}||_{F}\cdot||\boldsymbol{x}||_{2}\\ ∣∣Ax1∣∣A1∣∣x1∣∣Ax2∣∣A2∣∣x2∣∣Ax∣∣A∣∣x∣∣Ax2∣∣AF∣∣x2

6.2 条件数

6.2.1 条件数的推导

 对一般的非奇异线性方程组Ax=b\boldsymbol{Ax=b}Ax=b,在x\boldsymbol{x}xb\boldsymbol{b}b两端分别增加扰动δb\boldsymbol{\delta b}δbδx\boldsymbol{\delta x}δx,有:
A(x+δx)=b+δbA(x+\delta x) = b + \delta b A(x+δx)=b+δb
 带入Ax=b\boldsymbol{Ax=b}Ax=b,得到:
δx=A−1δb\delta x = A^{-1}\delta bδx=A1δb
 两边同时取范数,根据相容性得:
∥δx∥≤∥A−1∥⋅∥δb∥\left\lVert \delta x \right\lVert \leq \left\lVert A^{-1} \right\lVert\cdot \left\lVert \delta b \right\lVert δxA1δb
 对Ax=b\boldsymbol{Ax=b}Ax=b两边取范数,得到:
∥b∥≤∥A∥⋅∥x∥\left\lVert b \right\lVert \leq \left\lVert A \right\lVert\cdot \left\lVert x \right\lVert bAx
1∥x∥≤∥A∥⋅1∥b∥\frac{1}{\left\lVert x \right\lVert} \leq \left\lVert A \right\lVert\cdot \frac{1}{\left\lVert b \right\lVert} x1Ab1
 两边分别相乘:
∥δx∥∥x∥≤∥A∥∥A−1∥∥δb∥∥b∥ \frac{\left\lVert \delta x \right\lVert}{\left\lVert x \right\lVert} \leq \left\lVert A \right\lVert\left\lVert A^{-1} \right\lVert \frac{\left\lVert \delta b \right\lVert}{\left\lVert b \right\lVert} xδxAA1bδb
式中这个∥A∥∥A−1∥\left\lVert A \right\lVert\left\lVert A^{-1} \right\lVertAA1玩意起到一个放大倍数的作用,对方程组得解的相对误差起到关键性作用。

6.2.2 定义

A\boldsymbol{A}A为n阶非奇异矩阵,称cond(A)=∣∣A∣∣⋅∣∣A−1∣∣cond(\boldsymbol{A})=||\boldsymbol{A}||\cdot||\boldsymbol{A^{-1}}||cond(A)=∣∣A∣∣∣∣A1∣∣为条件数

6.2.3 分类

常用的有:

  1. cond(A,inf)
    cond∞(A)=∣∣A∣∣∞⋅∣∣A−1∣∣∞cond_{\infty}(A)=||A||_{\infty}\cdot||A^{-1}||_{\infty}cond(A)=∣∣A∣∣A1
  2. cond(A,2)
    cond2(A)=∣∣A∣∣2⋅∣∣A−1∣∣2cond_{2}(A)=||A||_{2}\cdot||A^{-1}||_{2}cond2(A)=∣∣A2∣∣A12
  3. 如果A是对称正定矩阵,有:
    cond2(A)=λ1(A)λn(A)=A特征值最大值A特征值最小值cond_{2}(A)=\frac{\lambda_{1}(A)}{\lambda_{n}(A)}=\frac{A特征值最大值}{A特征值最小值}cond2(A)=λn(A)λ1(A)=A特征值最小值A特征值最大值
    证明:
    Ax=λx=>AAx=Aλx=λAx=λ2xAx=\lambda x => AAx=A\lambda x=\lambda Ax=\lambda^{2}xAx=λx=>AAx=Aλx=λAx=λ2x
    A⋅AT=A2=>if  λ12>...>λn2A\cdot A^{T}=A^{2} => if\;\lambda_{1}^{2}>...>\lambda_{n}^{2}AAT=A2=>ifλ12>...>λn2
    ∣∣A⋅AT∣∣2=∥A∥2=ρ(ATA)=λ1∣∣A−1⋅(AT)−1∣∣2=∥A∥2=ρ(ATA)=1λn||A\cdot A^{T}||_{2}=\lVert A\rVert_2 =\sqrt{\rho(A^TA)}=\lambda_{1}\\ ||A^{-1}\cdot (A^{T})^{-1}||_{2}=\lVert A \rVert_2 =\sqrt{\rho(A^TA)}=\frac{1}{\lambda_{n}}∣∣AAT2=A2=ρ(ATA)=λ1∣∣A1(AT)12=A2=ρ(ATA)=λn1

6.2.4 性质

  1. 对于任意的n阶非奇异矩阵A,cond(A)≥1cond(A)\geq1cond(A)1
    ∣∣A∣∣⋅∣∣A−1∣∣≥∣∣A⋅A−1∣∣=∣∣I∣∣=1||A||\cdot||A^{-1}|| \geq ||A\cdot A^{-1}||= ||I||=1∣∣A∣∣∣∣A1∣∣∣∣AA1∣∣=∣∣I∣∣=1
  2. 对于任意的n阶非奇异矩阵A和常数c,cond(cA)=cond(A)cond(cA) =cond(A)cond(cA)=cond(A)
  3. 对于任意正交矩阵P,cond2(P)=1cond_{2}(P)=1cond2(P)=1,且cond2(AP)=cond2(PA)=cond2(A)cond_{2}(AP)=cond_{2}(PA)=cond_{2}(A)cond2(AP)=cond2(PA)=cond2(A)

    选用常数和正交矩阵,无法改善条件数

6.2.5 作用

 条件数越小,表示这个矩阵式良态矩阵,反之,为病态矩阵。

6.3 基本迭代法

定常迭代法的迭代矩阵通常保持不变

6.3.1 basic concept

  1. 本质:find a matrix, derive the origin matrix to a new form
    origin:Ax=b↓A=M−nMx=Nx+b,M=非奇异x=Bx+g={B=M−1Ng=M−1b↓newform:x(k+1)=B⋅x(k)+g origin:Ax=b\\ \downarrow\\ A=M-n\\ Mx=Nx+b,M=非奇异\\ x=Bx+g=\begin{cases} B & = M^{-1}N \\ g&=M^{-1}b \end{cases}\\ \downarrow\\ new form:x^{(k+1)}=B\cdot x^{(k)}+g origin:Ax=bA=MnMx=Nx+b,M=非奇异x=Bx+g={Bg=M1N=M1bnewform:x(k+1)=Bx(k)+g
  2. 定义:我们希望MMMNNN具有特殊性质,因此,定义对角矩阵DDD、上三角矩阵LLL和下三角矩阵UUU
    A=D−L−UD=diag(a11,a22,...,ann)L=−(0a210⋮⋱an1an2⋯0)U=−(0a12⋯a1n0⋯a2n⋱⋮0) A=D-L-U\\ D=diag(a_{11},a_{22},...,a_{nn})\\ L=-\begin{pmatrix} 0\\ a_{21} &0\\ \vdots & &\ddots\\ a_{n1} & a_{n2}&\cdots &0 \end{pmatrix}\\ U=-\begin{pmatrix} 0 & a_{12} & \cdots & a_{1n} \\ &0 & \cdots &a_{2n} \\ & & \ddots & \vdots \\ & & &0 \end{pmatrix} A=DLUD=diag(a11,a22,...,ann)L=0a21an10an20U=0a120a1na2n0

6.3.2 Jacobi

  1. 本质:
    x(k+1)=D−1(L+U)x(k)+D−1b x^{(k+1)}=D^{-1}(L+U)x^{(k)}+D^{-1}bx(k+1)=D1(L+U)x(k)+D1b
  2. 推导:
    {a11x1+a12x2+⋯a1nxn=b1a21x1+a22x2+⋯a2nxn=b2⋯an1x1+an2x2+⋯annxn=bn⇔x=Mx+g \left\{\begin{array}{ll} a_{11} x_1+a_{12} x_2+\cdots a_{1 n} x_n=b_1 \\ a_{21} x_1+a_{22} x_2+\cdots a_{2 n} x_n=b_2 \\ \cdots \\ a_{n 1} x_1+a_{n 2} x_2+\cdots a_{n n} x_n=b_n \end{array} \quad \Leftrightarrow x=M x+g\right.\\ a11x1+a12x2+a1nxn=b1a21x1+a22x2+a2nxn=b2an1x1+an2x2+annxn=bnx=Mx+g
    ⇓{x1=−a12a11x2−⋯−a1na11xn+b1a11x2=−a21a22x1−⋯−a2na22xn+b2a22⋯xn=−an1annx1−an2annx2−⋯−ann−1annxn−1+bnann \Downarrow\\ \left\{\begin{array}{l} x_1=-\frac{a_{12}}{a_{11}} x_2-\cdots-\frac{a_{1 n}}{a_{11}} x_n+\frac{b_1}{a_{11}} \\ x_2=-\frac{a_{21}}{a_{22}} x_1-\cdots-\frac{a_{2 n}}{a_{22}} x_n+\frac{b_2}{a_{22}} \\ \quad \cdots \\ x_n=-\frac{a_{n 1}}{a_{n n}} x_1-\frac{a_{n 2}}{a_{n n}} x_2-\cdots-\frac{a_{n n-1}}{a_{n n}} x_{n-1}+\frac{b_n}{a_{n n}} \end{array}\right. x1=a11a12x2a11a1nxn+a11b1x2=a22a21x1a22a2nxn+a22b2xn=annan1x1annan2x2annann1xn1+annbn
    ⇓xi(k+1)=bi−∑j=1i−1aijxj(k)−∑j=i+1naijxj(k)aii;i=1,2,⋯ ,n \Downarrow\\ x_i^{(k+1)}=\frac{b_i-\sum_{j=1}^{i-1} a_{i j} x_j^{(k)}-\sum_{j=i+1}^n a_{i j} x_j^{(k)}}{a_{i i}} ; i=1,2, \cdots, n xi(k+1)=aiibij=1i1aijxj(k)j=i+1naijxj(k);i=1,2,,n
  3. 例题一道

写一个Jacobi迭代程序,输入维数n,求解Ax=b,其中:
U=−(n+11⋯11n+2⋯1⋮⋱⋮11⋯2n),b=(12⋮n)U=-\begin{pmatrix} n+1 & 1 & \cdots & 1 \\ 1 & n+2 & \cdots & 1 \\ \vdots & & \ddots & \vdots \\ 1& 1 & \cdots&2n \end{pmatrix}\quad ,b=\begin{pmatrix}1\\2\\ \vdots\\n\end{pmatrix}U=n+1111n+21112n,b=12n

function [x,iteration]=jacobi(n,tol)
% n为维数,tol为误差
A=ones(n,n);
D=diag([n+1:2*n]); %n*n
L=-tril(A,-1); %n*n
U=-triu(A,1); % n*n
A=D-L-U;
b=[1:n]'; %n*1
x=zeros(size(b)) % initialize x
for iteration=1:2000
    x=D\(L*x+U*x+b) % remember divide by'\' no '/'
    error=norm(b-A*x,2)/norm(b,2) % 2-norm to calculate error
    if error<tol
        break;
    end
end
end
  1. notes
    简单记忆:向左倒是左除\,向右倒是右除/
    /:右除:a/b表示矩阵a乘以矩阵b的逆
    \:左除:a\b表示矩阵a的逆乘以b。

6.3.3 Gauss-Seidel

  1. 本质:
    x(k+1)=(D−L)−1Ux(k)+(D−L)−1b x^{(k+1)}=(D-L)^{-1}Ux^{(k)}+(D-L)^{-1}bx(k+1)=(DL)1Ux(k)+(DL)1b
  2. 上一次迭代出来的x,会继承给下一次迭代
    aii⋅xi(k+1)+∑j=1i−1aijxj(k+1)=(bi−∑j=i+1naijxj(k)),i=1,2,…,n a_{i i} \cdot x_i^{(k+1)}+\sum_{j=1}^{i-1} a_{i j} x_j^{(k+1)}=\left(b_i-\sum_{j=i+1}^n a_{i j} x_j^{(k)}\right), \quad i=1,2, \ldots, n aiixi(k+1)+j=1i1aijxj(k+1)=(bij=i+1naijxj(k)),i=1,2,,n
    ⇓(D−L)⋅x=Ux+b \Downarrow\\ (D-L)\cdot x=Ux+b (DL)x=Ux+b
    ⇓xi(k+1)=1aii(bi−∑j=1i−1aijxj(k+1)−∑j=i+1naijxj(k)),i=1,2,…,n \Downarrow\\ x_i^{(k+1)}=\frac{1}{a_{i i}}\left(b_i-\sum_{j=1}^{i-1} a_{i j} x_j^{(k+1)}-\sum_{j=i+1}^n a_{i j} x_j^{(k)}\right), \quad i=1,2, \ldots, n xi(k+1)=aii1(bij=1i1aijxj(k+1)j=i+1naijxj(k)),i=1,2,,n
  3. 一道例题

用高斯赛德尔迭代求解Ax=b,其中:
A=(204642086820),b=(10−24−22)A=\begin{pmatrix} 20&4&6\\ 4&20&8\\ 6&8&20 \end{pmatrix}\quad ,b=\begin{pmatrix}10\\-24\\-22\end{pmatrix}A=204642086820,b=102422

A=[20 4 6;4 20 8;6 8 20];
b=[10 -24 -22]';
[xgs,itergx]=gs(A,b,5e-5)
%% guess-seidel
function [x,iter]=gs(A,b,tol)
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
x=zeros(size(b));
for iter=1:2000
    x=(D-L)\(U*x+b); % D->(D-L)
    error=norm(b-A*x)/norm(b);
    if error<tol
        break;
    end
end
end

6.3.4 SOR:Successive Over Relaxation

  1. 本质:上一次迭代结果+残差修正量
    x(k+1)=x(k)+ω⋅D−1(Lx(k+1)+Ux(k)−Dx(k)+b) x^{(k+1)}=x^{(k)}+\omega\cdot D^{-1}(Lx^{(k+1)}+Ux^{(k)}-Dx^{(k)}+b)x(k+1)=x(k)+ωD1(Lx(k+1)+Ux(k)Dx(k)+b)
  2. 推导:高斯赛德尔迭代->分离x(K)x^{(K)}x(K),然后对剩余项乘以一个松弛因子
    xi(k+1)=1aii(bi−∑j=1i−1aijxj(k+1)−∑j=i+1naijxj(k)),i=1,2,…,n x_i^{(k+1)}=\frac{1}{a_{i i}}\left(b_i-\sum_{j=1}^{i-1} a_{i j} x_j^{(k+1)}-\sum_{j=i+1}^n a_{i j} x_j^{(k)}\right), \quad i=1,2, \ldots, n xi(k+1)=aii1(bij=1i1aijxj(k+1)j=i+1naijxj(k)),i=1,2,,n
    ⇓xi(k+1)=xi(k)+1aiiri(k)ri(k)=(bi−∑j=1i−1aijxj(k+1)−∑j=inaijxj(k)),i=1,2,⋯ ,n \Downarrow\\ \mathrm{x}_{\mathrm{i}}^{(\mathrm{k}+1)}=\mathrm{x}_{\mathrm{i}}^{(\mathrm{k})}+\frac{1}{\mathrm{a}_{\mathrm{ii}}} \mathrm{r}_{\mathrm{i}}^{(\mathrm{k})} \\ \mathrm{r}_{\mathrm{i}}^{(\mathrm{k})}=\left(\mathrm{b}_{\mathrm{i}}-\sum_{\mathrm{j}=1}^{\mathrm{i}-1} \mathrm{a}_{\mathrm{ij}} \mathrm{x}_{\mathrm{j}}^{(\mathrm{k}+1)}-\sum_{\mathrm{j}=\mathrm{i}}^{\mathrm{n}} \mathrm{a}_{\mathrm{ij}} \mathrm{x}_{\mathrm{j}}^{(\mathrm{k})}\right), \quad \mathrm{i}=1,2, \cdots, \mathrm{n} xi(k+1)=xi(k)+aii1ri(k)ri(k)=bij=1i1aijxj(k+1)j=inaijxj(k),i=1,2,,n
    ⇓xi(k+1)=(1−ω)xi(k)+ωaii(bi−∑j=1i−1aijxj(k+1)−∑j=i+1naijxj(k)),i=1,2,⋯ ,n(2.5) \Downarrow\\ \mathrm{x}_{\mathrm{i}}^{(\mathrm{k}+1)}=(1-\omega) \mathrm{x}_{\mathrm{i}}^{(\mathrm{k})}+\frac{\omega}{\mathrm{a}_{\mathrm{ii}}}\left(\mathrm{b}_{\mathrm{i}}-\sum_{\mathrm{j}=1}^{\mathrm{i}-1} \mathrm{a}_{\mathrm{ij}} \mathrm{x}_{\mathrm{j}}^{(\mathrm{k}+1)}-\sum_{\mathrm{j}=\mathrm{i}+1}^{\mathrm{n}} \mathrm{a}_{\mathrm{ij}} \mathrm{x}_{\mathrm{j}}^{(\mathrm{k})}\right), \quad \mathrm{i}=1,2, \cdots, \mathrm{n}(2.5) xi(k+1)=(1ω)xi(k)+aiiωbij=1i1aijxj(k+1)j=i+1naijxj(k),i=1,2,,n(2.5)
  3. 一道例题

用超松弛迭代求解Ax=b,其中:
A=(204642086820),b=(10−24−22)A=\begin{pmatrix} 20&4&6\\ 4&20&8\\ 6&8&20 \end{pmatrix}\quad ,b=\begin{pmatrix}10\\-24\\-22\end{pmatrix}A=204642086820,b=102422

function [x,iter]=sor(A,b,omega,tol)
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
x=zeros(size(b));
for iter=1:2000
    x=(D-omega*L)\((1-omega)*D*x+omega*U*x+omega*b);
    error=norm(b-A*x)/norm(b);
    if error<tol
        break;
    end
end
end
  1. 特点
    • 高斯赛德尔迭代是ω=1\omega =1ω=1时的SOR迭代
    • 采用松弛因子是为了加快迭代方法收敛的速度

6.4 迭代法收敛性和误差分析

6.4.1 可约矩阵

  1. 排列矩阵:
    • 每行每列仅有唯一的非0元1的方阵P
    • 对任意矩阵A左乘一个排列矩阵P,就是对矩阵A的进行排列。
    • 对任意矩阵A右乘一个排列矩阵P,就是对矩阵A的进行排列。
      P=(010100001)P=\begin{pmatrix} 0&1&0\\1&0&0\\0&0&1 \end{pmatrix}P=010100001
  2. 可约矩阵:设A是n阶矩阵,如果存在n阶排列矩阵P,满足:
    PTAP=(A11A120A22) P^{T}AP=\begin{pmatrix} A_{11}&A_{12}\\0&A_{22} \end{pmatrix} PTAP=(A110A12A22)
    其中,A11A_{11}A11A22A_{22}A22分别为r阶和n-r阶的方阵,则称为可约矩阵;若不存在,则称为不可约矩阵。
  3. 应用:类似于高斯消元,将x和b也进行类似转换,可以得到,从而加快运算
    {A11y1+A12y2=f1                          A11y2=f2 \begin{cases} A_{11}y_1+A_{12}y_2=f_1\\ \;\;\;\;\;\;\;\;\;\;\;\;\;A_{11}y_2=f_2\\ \end{cases} {A11y1+A12y2=f1A11y2=f2

6.4.2 对角占优

  1. 若n阶矩阵A满足:
    ∣aii∣>∑j≠i∣aij∣,i=1,⋯ ,n. \left|a_{i i}\right|>\sum_{j \neq i}\left|a_{i j}\right|, \quad i=1, \cdots, n . aii>j=iaij,i=1,,n.
    • 至少满足一个:弱对角占优
    • 全部满足:严格对角占优
    • 都不满足:不对角占优
  2. 例题一道

判断下列矩阵属于什么占优?
(532−242618)\begin{pmatrix} 5&3&2\\-2&4&2\\6&1&8 \end{pmatrix}526341228
5=|3|+|2|;
4=|-2|+|2|;
8>|6|+|1|;
因此,这是一个弱对角占优

  1. 引理一:若A是严格对角占优OR不可约弱对角占优,则A是可逆矩阵(非奇异矩阵==det|A|≠0)

反证法,若det∣A∣=0det|A|=0detA=0,则对Ax=0Ax=0Ax=0有非零解x=(x1,⋯ ,xn)x=(x_1,\cdots,x_n)x=(x1,,xn)
xrx_rxr为最大的一个,则∣xr∣>0|x_r|>0xr>0,不妨令∣xr∣=1|x_r|=1xr=1,取第r个方程:
∑j=1narjxj=0\sum_{j=1}^{n} a_{rj}x_j=0j=1narjxj=0
−arrxr=∑j=1,j≠rnarjxj-a_{rr}x_r=\sum_{j=1,j≠r}^{n} a_{rj}x_jarrxr=j=1,j=rnarjxj
∣arr∣∣xr∣≤∑j=1,j≠rn∣arj∣∣xj∣|a_{rr}||x_r|\leq\sum_{j=1,j≠r}^{n} |a_{rj}||x_j|arr∣∣xrj=1,j=rnarj∣∣xj
∣arr∣≤∑j=1,j≠rn∣arj∣∣xj∣≤∑j=1,j≠rn∣arj∣|a_{rr}|\leq\sum_{j=1,j≠r}^{n} |a_{rj}||x_j|\leq\sum_{j=1,j≠r}^{n} |a_{rj}|arrj=1,j=rnarj∣∣xjj=1,j=rnarj
因此,A可逆

  1. 引理二:n阶矩阵A的k次幂Ak→0(k→∞)\boldsymbol{A^k\rightarrow0(k\rightarrow\infty)}Ak0(k) ⇔\Leftrightarrow 谱半径ρ(A)<1\boldsymbol{\rho(A)<1}ρ(A)<1

6.4.3 迭代法基本定理

  1. 定理一:ρ(A)≤∣∣A∣∣\boldsymbol{\rho(A)\leq||A||}ρ(A)∣∣A∣∣,其中,A表示任一与某一向量范数相容的矩阵范数
  2. 定理二:对于基本迭代格式,给定初值x(0)x^{(0)}x(0)x∗x^*x是真值,有下列收敛结果和误差估计
    • 迭代格式收敛的充要条件:ρ(B)<1\boldsymbol{\rho(B)<1}ρ(B)<1
    • 如果∣∣B∣∣<1||B||<1∣∣B∣∣<1,则有:
      ∥x(k)−x∗∥⩽∥B∥k1−∥B∥∥x(1)−x(0)∥∥x(k)−x∗∥⩽∥B∥1−∥B∥∥(k)−x(k−1)∥ \begin{aligned} & \left\|x^{(k)}-x_*\right\| \leqslant \frac{\|B\|^k}{1-\|B\|}\left\|x^{(1)}-x^{(0)}\right\| \\ & \left\|x^{(k)}-x_*\right\| \leqslant \frac{\|B\|}{1-\|B\|}\left\|^{(k)}-x^{(k-1)}\right\| \end{aligned} x(k)x1BBkx(1)x(0)x(k)x1BB(k)x(k1)

proof1:
x(k)−x∗=B(x(k−1)−x∗)=⋯=Bk(x(0)−x∗)↓x(0)−x∗=const↓由引理二:when  k→∞,  Bk→0↔ρ(B)<1 x^{(k)}-x^*=B(x^{(k-1)}-x^*)=\cdots=B^{k}(x^{(0)}-x^*)\\ \downarrow\\ x^{(0)}-x^*=const\\ \downarrow\\ 由引理二:when\;k\rightarrow\infty, \;B^k\rightarrow0 \leftrightarrow \rho(B)<1 x(k)x=B(x(k1)x)==Bk(x(0)x)x(0)x=const由引理二:whenk,Bk0ρ(B)<1
proof2: 运用矩阵范数的三角不等式原理
x(k)−x∗=x(k)−x(k+1)+x(k+1)−x∗=[(Bx(k−1)+f)−(Bx(k)+f)]+[(Bx(k)+f)−(Bx∗+f)]=B(x(k−1)−x(k))+B(x(k)−x∗)↓∥x(k)−x(k+1)+x(k+1)−x∗∥⩽∥Bx(k−1)+f−(Bx(k)+f)∥+∥(Bx(k)+f)−(Bx∗+f)∥⩽∥B∥∥x(k−1)−x(k)∥+∥B∥∥x(k)−x∗∥↓[1−∥B∥)∥x(k)−x∗∥⩽∥B∥∥x(k−1)−x(k)∥↓∥x(k)−xA∥⩽∥B∥(1−∥B∥)∥x(k−1)−x(k)∥ \begin{aligned} x^{(k)}-x^* &=x^{(k)}-x^{(k+1)}+x^{(k+1)}-x^*\\ &=[(B x^{(k-1)}+f)-(B x^{(k)}+f)]+[(Bx^{(k)}+f)-(Bx^*+f)]\\ &=B\left(x^{(k-1)}-x^{(k)}\right)+B\left(x^{(k)}-x^*\right) \end{aligned}\\ \downarrow\\ \begin{aligned} \left\|x^{(k)}-x^{(k+1)}+x^{(k+1)}-x^*\right\| & \leqslant\left\|B x^{(k-1)}+f-\left(B x^{(k)}+f\right)\right\|+\left\|\left(B x^{(k)}+f\right)-\left(B x^*+f\right)\right\| \\ & \leqslant\|B\|\left\|x^{(k-1)}-x^{(k)}\right\|+\|B\|\left\|x^{(k)}-x^*\right\| \end{aligned}\\ \downarrow\\ {[1-\|B\|)\left\|x^{(k)}-x^*\right\| \leqslant\|B\|\left\|x^{(k-1)}-x^{(k)}\right\|} \\ \downarrow\\ \left\|x^{(k)}-x^A\right\| \leqslant \frac{\|B\|}{(1-\|B\|)}\left\|x^{(k-1)}-x^{(k)}\right\| x(k)x=x(k)x(k+1)+x(k+1)x=[(Bx(k1)+f)(Bx(k)+f)]+[(Bx(k)+f)(Bx+f)]=B(x(k1)x(k))+B(x(k)x)x(k)x(k+1)+x(k+1)xBx(k1)+f(Bx(k)+f)+(Bx(k)+f)(Bx+f)Bx(k1)x(k)+Bx(k)x[1B)x(k)xBx(k1)x(k)x(k)xA(1B)Bx(k1)x(k)

  1. 定理三:若A是严格对角占优OR不可约弱对角占优 ⇒\Rightarrow Jacobi和GS迭代法收敛
  2. 定理四:若A是对称正定矩阵,Jacobi收敛 ⇔\Leftrightarrow 2D-A也为正定对称
  3. 定理五:SOR迭代收敛 ⇒\Rightarrow 0<ω<2\boldsymbol{0<\omega<2}0<ω<2

BSOR=(D−ωL)−1[(1−ω)D+ωU]B_{SOR}=(D-\omega L)^{-1}[(1-\omega)D+\omega U]BSOR=(DωL)1[(1ω)D+ωU],其特征值为λ1,⋯ ,λn\lambda_{1},\cdots,\lambda_{n}λ1,,λn
n个谱半径肯定大于各特征值之积,各特征值的积就是det(A)
(ρ(BSOR))≥∣λ1λ2⋯λn∣=det(BSOR)=det∣下三角矩阵∣⋅det∣上三角矩阵∣=∣a11−1⋯ann−1∣∣(1−ω)na11⋯ann∣=(1−ω)n<1 \begin{aligned} (\rho(B_{SOR}))&\geq|\lambda_{1}\lambda_{2}\cdots\lambda_{n}|=det(B_{SOR})\\ &=det|下三角矩阵|\cdot det|上三角矩阵|\\ &=|a_{11}^{-1}\cdots a_{nn}^{-1}||(1-\omega)^na_{11}\cdots a_{nn}|\\ &=(1-\omega)^n <1 \end{aligned} (ρ(BSOR))λ1λ2λn=det(BSOR)=det下三角矩阵det上三角矩阵=a111ann1∣∣(1ω)na11ann=(1ω)n<1

  1. 定理六:若A是对称正定矩阵,且0<ω<2\boldsymbol{0<\omega<2}0<ω<2 ⇔\Leftrightarrow SOR迭代收敛
  2. 一道例题

设线性方程组Ax=b的系数矩阵为:
A=(1aaa1aaa1)A=\begin{pmatrix}1&a&a\\a&1&a\\a&a&1\end{pmatrix}A=1aaa1aaa1
证明:
(1) 当-0.5<a<1时,用GS迭代求解收敛
(2) 当-0.5<a<0.5时,用Jacobi迭代求解收敛
(3) 当a=0.8时,用Jacobi迭代求解发散
求解:
(1)由于不是对角占优,因此采用定理六,判断对称正定矩阵,ω=1\omega=1ω=1
(2)定理三,充分条件,证明严格对角占优矩阵
(3)定理四,充要条件,证明2D-A不是对称正定矩阵

6.5 不定常迭代

6.5.1 特点

基于变分方法来最小化线性方程组的残量方法,没有明显的迭代矩阵

6.5.2 分类

  • 最速下降法:求解对称正定线性方程组
  • 共轭梯度法:求解对称正定线性方程组,本质上是一种变分的方法,即求二次函数的极值
  • 广义极小残量法:求解不对称线性方程组

e4468069-f8a3-4ca5-afbf-462bd10c1997

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值