【笔记】数值分析原理与计算方法

绪论(更新时间2021/3/14—13:25)

误差理论

绝对误差:
准确值为x,近似值为x*,则 x-x为近似数x的绝对误差或简称误差
绝对误差界:
如果|x-x*|≤η,则称η为近似值x的绝对误差界或简称误差界
相对误差:
x − x ∗ x \frac {x-x^*}{x} xxx为近似值x
的相对误差.在实际问题中常取 x − x ∗ x ∗ \frac {x-x^*}{x^*} xxx 为近似值x*的相对误差.
相对误差界:
如果 ∣ x − x ∗ x ∣ < δ |\frac {x-x^*}{x}|<δ xxx<δ,则称δ为近似值x*的相对误差界.

有效数字

定义

若x的某一近似值x的绝对误差界是某一位的半个单位,则从这一位起直到左边第一个非零数字为止的所有数字都称为x*的有效数字。
设准确值x的近似值x*可表示为x*=±0. a 1 a_1 a1 a 2 a_2 a2 a n a_n an…×10m,其中m是整数, a i a_i ai是0到9之间的一个数字且 a 1 a_1 a1≠0 ,如果 ∣ x − x ∗ x ∣ < 1 2 × 1 0 m − n |\frac {x-x^*}{x}|<\frac12\times 10^{m-n} xxx<21×10mn,则称近似值x
具有n位有效数字,也可以说它精确到第n位。
有效数字越多,绝对误差界越小

有效数字与相对误差的联系

定理:
若x*=±0. a 1 a_1 a1 a 2 a_2 a2 a n a_n an…×10m 具有n位有效数字,则其相对误差满足 ∣ x − x ∗ x ∗ ∣ ≤ 1 2 a 1 × 1 0 − n + 1 |\frac {x-x^*}{x^*}|\leq\frac{1}{2a_1}\times10^{-n+1} xxx2a11×10n+1,反之,若x*满足 ∣ x − x ∗ x ∗ ∣ ≤ 1 2 ( a 1 + 1 ) × 1 0 − n + 1 |\frac {x-x^*}{x^*}|\leq\frac{1}{2(a_1+1)}\times10^{-n+1} xxx2a1+11×10n+1,则x*至少具有n位有效数字
有效数字越多,相对误差界越小

数值计算

应注意的问题

  • 防止有效数字损失(要避免两个相近的数相减, 要避免大数“吃掉”小数,要避免除数绝对值远远小于被除数绝对值的除法);
    如将二次方程的求根公式优化为 x 1 = − b − s i g n ( b ) b 2 − 4 a c 2 a x_1=\frac{-b-sign(b)\sqrt[]{b^2-4ac}}{2a} x1=2absign(b)b24ac x 2 = c a x 1 x_2=\frac{c}{ax_1} x2=ax1c其中sign(b)是b的符号函数。
  • 注意简化运算步骤,减少运算次数
    如秦九韶算法、级数等
  • 要使用数值稳定的算法

第一章:非线性方程的数值解法

二分法

过程略
优点

  • 计算过程简单
  • 收敛性可保证
  • 对函数性质要求低(只需连续)

缺点

  • 收敛速度慢
  • 不能求偶数重根以及复根和虚根
  • 只利用了之前函数值的符号而没利用函数值

迭代法(更新时间2021/3/15—16:49)

迭代法是一种逐次逼近的方法,它的基本思想是通过构造一个递推关系式 (迭代格式) ,计算出根的近似值序列,并要求该序列收敛于方程的根
对于方程f(x)=0,总可以将其化成𝑥 = 𝜙(𝑥),然后选定一个根的初始近似值 x 0 x_0 x0,利用地推关系式 x i + 1 = Φ ( x i ) , i = 0 , 1 , 2... x_{i+1}=\Phi(x_i),i=0,1,2... xi+1=Φ(xi),i=0,1,2...产生序列{ x i x_i xi},若该序列收敛于 α \alpha α ,则 α \alpha α一定也满足𝑥 = 𝜙(𝑥),因此 α \alpha α也是方程f(x)=0的根
为产生迭代序列{ x i x_i xi},仅需一个初始值 x 0 x_0 x0的迭代法称为单点迭代法,一般形式为 x i + 1 = Φ i ( x i ) x_{i+1}=\Phi_i(x_i) xi+1=Φi(xi),其中 Φ i \Phi_i Φi称为迭代函数
多点迭代法的一般形式为 x i + 1 = Φ i ( x i , x i − 1 , . . . , x i − n + 1 ) , i = 0 , 1 , 2 , . . . x_{i+1}=\Phi_i(x_i,x_{i-1},...,x_{i-n+1}),i=0,1,2,... xi+1=Φi(xi,xi1,...,xin+1),i=0,1,2,...其中, x i , x i − 1 , . . . , x i − n + 1 x_i,x_{i-1},...,x_{i-n+1} xi,xi1,...,xin+1为初始近似值
若迭代函数 Φ i \Phi_i Φi随迭代次数𝑖变化,则称迭代为非定常迭代,若 Φ i \Phi_i Φi不随迭代次数𝑖变化,则称迭代为定常迭代
定义

  • 全局收敛:设 α \alpha α为f(x)=0的根,若果对∀ x 0 x_0 x0∈[a,b],由迭代法产生的序列都收敛于根 α \alpha α,则称该迭代法是全局收敛的
  • 局部收敛:设方程 x = Φ ( x ) x=\Phi(x) x=Φ(x)有根 α \alpha α,若存在 α \alpha α的某个邻域 Δ : ∣ x − α ∣ ≤ δ \Delta:|x-\alpha|\leq\delta Δ:xαδ,对任意初值 x 0 x_0 x0 Δ \Delta Δ,迭代过程所产生的序列均收敛于根 α \alpha α,则称该迭代法是局部收敛的
  • 设迭代过程 x k + 1 = Φ ( x k ) x_{k+1}=\Phi(x_k) xk+1=Φ(xk)产生的序列{ x k x_k xk}收敛于方程 x = Φ ( x ) x=\Phi(x) x=Φ(x)的根 α \alpha α,记 e k = α − x k e_k=\alpha-x_k ek=αxk,若 lim ⁡ k → + ∞ ∣ e k + 1 ∣ ∣ e k ∣ p = C ≠ 0 \lim_{k\rightarrow+\infty} \frac{|e_{k+1}|}{|e_k|^p}=C\neq0 k+limekpek+1=C=0则称迭代过程是p阶收敛的
    特别的,
    当p=1时,称为线性收敛
    当p>1时,称为超线性收敛
    当p=2时,称为平方收敛
  • E I = p 1 θ EI=p^{\frac{1}{\theta}} EI=pθ1为效率指数. 其中p表示迭代的收敛阶, θ \theta θ表示每步迭代的计算量.EI越大,计算效率越高

不动点迭代法

整体收敛性

定理

  • ϕ ( x ) \phi(x) ϕ(x)在[a,b]上具有一阶导数,且
    (1)当x∈[a,b]时, ϕ ( x ) \phi(x) ϕ(x)∈[a,b];
    (2)∀x∈[a,b],有 ∣ ϕ ′ ( x ) ∣ ≤ L < 1 |\phi^{'}(x)|\le L\lt1 ϕ(x)L<1
    则对任意初值 x 0 x_0 x0∈[a,b],迭代过程 x k + 1 = ϕ ( x k ) x_{k+1}=\phi(x_k) xk+1=ϕ(xk)收敛于x= ϕ ( x ) \phi(x) ϕ(x)在[a,b]上的唯一根

  • ϕ ( x ) \phi(x) ϕ(x)满足
    (1)当x∈[a,b]时, ϕ ( x ) \phi(x) ϕ(x)∈[a,b];
    (2)∀ x 1 , x 2 ∈ [ a , b ] x_1,x_2∈[a,b] x1,x2[a,b],有 ∣ ϕ ( x 1 ) − ϕ ( x 2 ) ∣ ≤ L ∣ x 1 − x 2 ∣ , L < 1 |\phi(x_1)-\phi(x_2)|\le L|x_1-x_2|,L\lt1 ϕ(x1)ϕ(x2)Lx1x2,L<1
    则对任意初值 x 0 x_0 x0∈[a,b],迭代过程 x k + 1 = ϕ ( x k ) x_{k+1}=\phi(x_k) xk+1=ϕ(xk)收敛于x= ϕ ( x ) \phi(x) ϕ(x)在[a,b]上的唯一根,且有误差估计式 ∣ α − x k ∣ ≤ L 1 − L ∣ x k − x k − 1 ∣ |\alpha-x_k|\le\frac{L}{1-L}|x_k-x_{k-1}| αxk1LLxkxk1 ∣ α − x k ∣ ≤ L k 1 − L ∣ x 1 − x 0 ∣ |\alpha-x_k|\le\frac{L^k}{1-L}|x_1-x_0| αxk1LLkx1x0

局部收敛性

定理:

  • ϕ ( x ) \phi(x) ϕ(x)在方程 x = ϕ ( x ) x=\phi(x) x=ϕ(x)的根 α \alpha α的邻域内有一阶连续导数,且 ∣ ϕ ′ ( α ) ∣ < 1 |\phi^{'}(\alpha)|\lt1 ϕ(α)<1,则迭代过程 x k + 1 = ϕ ( x k ) x_{k+1}=\phi(x_k) xk+1=ϕ(xk)具有局部收敛性
    该定理由拉格朗日中值定理证明显然—Ninght
  • ϕ ( x ) \phi(x) ϕ(x)在方程 x = ϕ ( x ) x=\phi(x) x=ϕ(x)的根 α \alpha α的邻域内有充分阶连续导数,则迭代过程 x k + 1 = ϕ ( x k ) x_{k+1}=\phi(x_k) xk+1=ϕ(xk) α \alpha α邻域是p阶收敛的充要条件是 ϕ ( α ) ( α ) = 0 , j = 1 , 2 , . . . , p − 1 \phi^{(\alpha)}(\alpha)=0,j=1,2,...,p-1 ϕ(α)(α)=0,j=1,2,...,p1 ϕ p ( α ) ≠ 0 \phi^{p}(\alpha)\ne0 ϕp(α)=0
    充分性由在 α \alpha α处的泰勒展开可证明,必要性可反正—Ninght

牛顿迭代法(切线法)(更新时间2021/3/16—15:46)

牛顿迭代公式 x k + 1 = x k − f ( x k ) f ′ ( x k )      ( k = 0 , , 1 , 2 , . . . ) x_{k+1}=x_k-\frac{f(x_k)}{f^{'}(x_k)}\space\space\space\space(k=0,,1,2,...) xk+1=xkf(xk)f(xk)    (k=0,,1,2,...)

局部收敛性及收敛阶

α \alpha α f ( x ) = 0 f(x)=0 f(x)=0的一个单根,则根 α \alpha α附近Newton法是局部收敛且是二阶收敛的,即p=2, E I = 2 1 1 + θ 1 EI=2^{\frac{1}{1+\theta_1}} EI=21+θ11(书上说是二阶收敛,但个人认为这里应该修改为至少是二阶收敛的—Ninght )
α \alpha α f ( x ) = 0 f(x)=0 f(x)=0重根,则Newton法为局部线性收敛,即p=1

全局收敛性

定理:

  • f ( x ) f(x) f(x)在有根区间[a,b]上二阶导数存在,且满足
    (1) f ( a ) f ( b ) < 0 ; f(a)f(b)\lt0; f(a)f(b)<0;保证根的存在
    (2) f ′ ( x ) ≠ 0 , x ∈ [ a , b ] f^{'}(x)\ne0,x∈[a,b] f(x)=0,x[a,b];(单调,根唯一
    (3) f ′ ′ ( x ) f^{''}(x) f(x)不变号,x∈[a,b];(凹凸性不变
    (4)初值 x 0 ∈ [ a , , b ] x_0∈[a,,b] x0[a,,b]且使 f ′ ′ ( x 0 ) f ( x 0 ) > 0 ; f^{''}(x_0)f(x_0)\gt0; f(x0)f(x0)>0;保证x∈[a,b]时, ϕ ( x ) = x − f ( x ) f ′ ( x ) ∈ [ a , b ] \phi(x)=x-\frac{f(x)}{f^{'}(x)}∈[a,b] ϕ(x)=xf(x)f(x)[a,b]
    则Newton迭代法收敛于 f ( x ) = 0 f(x)=0 f(x)=0在[a,b]内的唯一跟

研究求 a \sqrt[]{a} a 的Newton公式 x k + 1 = 1 2 ( x k + a x k ) , x 0 > 0    ( k = 0 , 1 , 2 , . . . ) x_{k+1}=\frac12(x_k+\frac{a}{x_k}),x_0\gt0\space\space(k=0,1,2,...) xk+1=21(xk+xka),x0>0  (k=0,1,2,...)证明
(1)对一切k=1,2,… x k ≥ a x_k\ge\sqrt[]{a} xka ,且序列{ x k x_k xk}是单调递减的

证明:
因为 a > 0 , x 0 > 0 a\gt0,x_0\gt0 a>0,x0>0,故 x k > 0 x_k\gt0 xk>0
x k + 1 = 1 2 ( x k + a x k ) x_{k+1}=\frac12(x_k+\frac{a}{x_k}) xk+1=21(xk+xka)
          = 1 2 ( x k − a x k ) + a ≥ a \space\space\space\space\space\space\space\space\space=\frac12(\sqrt[]{x_k}-\frac{\sqrt[]{a}}{\sqrt[]{x_k}})+\sqrt[]{a}\ge\sqrt[]{a}          =21(xk xk a )+a a
因此对于一切 k ≥ 1 k\ge1 k1,均有 x k ≥ a x_k\ge\sqrt[]{a} xka ,故
x k + 1 x k = 1 2 x k + a x k x k = 1 2 + a 2 x k 2 ≤ 1 2 + a 2 a = 1 \frac{x_{k+1}}{x_k}=\frac12\frac{x_k+\frac{a}{x_k}}{x_k}=\frac12+\frac{a}{2x_k^2}\le\frac12+\frac{a}{2a}=1 xkxk+1=21xkxk+xka=21+2xk2a21+2aa=1
x k + 1 ≤ x k x_{k+1}\le x_k xk+1xk,即{ x k x_k xk}单调递减,根据单调有界原理知 x k {x_k} xk收敛,证毕!

(2)对任意的初值 x 0 > 0 x_0\gt0 x0>0,此Newton迭代公式收敛到 a \sqrt[]{a} a

证明:
由于序列 x k {x_k} xk单调递减且有下界故其必有极限,即 lim ⁡ k → + ∞ x k \lim_{k\rightarrow+\infty} x_k k+limxk存在,对于任意初值 x 0 > 0 x_0\gt0 x0>0
x k + 1 − a = 1 2 ( x k + a x k ) − a = 1 2 x k ( x k − a ) 2 x_{k+1}-\sqrt[]{a}=\frac12(x_k+\frac{a}{x_k})-\sqrt[]{a}=\frac{1}{2x_k}(x_k-\sqrt[]{a})^2 xk+1a =21(xk+xka)a =2xk1(xka )2 x k + 1 + a = 1 2 ( x k + a x k ) + a = 1 2 x k ( x k + a ) 2 x_{k+1}+\sqrt[]{a}=\frac12(x_k+\frac{a}{x_k})+\sqrt[]{a}=\frac{1}{2x_k}(x_k+\sqrt[]{a})^2 xk+1+a =21(xk+xka)+a =2xk1(xk+a )2
两式相除可得
x k + 1 − a x k + 1 + a = ( x k − a x k + a ) 2 k \frac{x_{k+1}-\sqrt[]{a}}{x_{k+1}+\sqrt[]{a}}=(\frac{x_k-\sqrt[]{a}}{x_k+\sqrt[]{a}})^{2^k} xk+1+a xk+1a =(xk+a xka )2k
反复递推可得
x k − a x k + a = ( x 0 − a x 0 + a ) 2 k \frac{x_{k}-\sqrt[]{a}}{x_{k}+\sqrt[]{a}}=(\frac{x_0-\sqrt[]{a}}{x_0+\sqrt[]{a}})^{2^k} xk+a xka =(x0+a x0a )2k
不妨令 q = x 0 − a x 0 + a q=\frac{x_0-\sqrt[]{a}}{x_0+\sqrt[]{a}} q=x0+a x0a ,可解得 x k = 1 + q 2 k 1 − q 2 k a x_k=\frac{1+q^{2^k}}{1-q^{2^k}}\sqrt[]{a} xk=1q2k1+q2ka
由于 ∣ q ∣ < 1 |q|\lt1 q<1,因此 lim ⁡ k → + ∞ q 2 k = 0 \lim_{k\rightarrow+\infty} q^{2^k}=0 k+limq2k=0

lim ⁡ k → + ∞ x k = a \lim_{k\rightarrow+\infty} x_k=\sqrt[]{a} k+limxk=a
即序列 x k {x_k} xk收敛于 a \sqrt[]{a} a ,证毕!

简化Newton法

x k + 1 = x k − f ( x k ) C , k = 0 , 1 , 2 , . . . x_{k+1}=x_k-\frac{f(x_k)}{C},k=0,1,2,... xk+1=xkCf(xk),k=0,1,2,...一般地,取 C = f ′ ( x 0 ) C=f^{'}(x_0) C=f(x0) ∣ ψ ′ ( x ) ∣ = ∣ 1 − f ′ ( x ) C ∣ < 1 |\psi^{'}(x)|=|1-\frac{f^{'}(x)}{C}|\lt1 ψ(x)=1Cf(x)<1,则该迭代是一阶收敛的
在这里插入图片描述从几何角度来看,简化Newton法就是在做平行线来逼近零点—Ninght

Newton下山法

x k + 1 = x k − λ f ( x k ) f ′ ( x k )     ( 0 < λ < 1 ) x_{k+1}=x_k-\lambda\frac{f(x_k)}{f^{'}(x_k)}\space\space\space(0\lt\lambda\lt1) xk+1=xkλf(xk)f(xk)   (0<λ<1),k=0,1,2,…
其中 λ \lambda λ为下山因子, λ \lambda λ的选取应满足条件:
f ( x k + 1 ) < f ( x k ) , k = 0 , 1 , 2 , . . . f(x_{k+1})\lt f(x_k),k=0,1,2,... f(xk+1)<f(xk),k=0,1,2,...
保证所得的序列是收敛的,在实际中每次迭代可选用不同的下山因子(单点非定常迭代),当 λ ≠ 1 \lambda\ne1 λ=1时,序列是一阶收敛的。

多点迭代法(割线法)(更新时间2021/3/16—15:46)

在方程 f ( x ) = 0 f(x)=0 f(x)=0的根 α \alpha α附近选取两初始近似根 x 0 , x 1 x_0,x_1 x0,x1,则有迭代公式
x k + 1 = x k − x k − x k − 1 f ( x k ) − f ( x k − 1 ) f ( x k )    ( k = 0 , 1 , . . . ) x_{k+1}=x_k-\frac{x_k-x_{k-1}}{f(x_k)-f(x_{k-1})}f(x_k)\space\space(k=0,1,...) xk+1=xkf(xk)f(xk1)xkxk1f(xk)  (k=0,1,...)
或改写为
x k + 1 = f ( x k ) f ( x k ) − f ( x k − 1 ) x k − 1 − f ( x k − 1 ) f ( x k − 1 ) − f ( x k ) x k x_{k+1}=\frac{f(x_k)}{f(x_k)-f(x_{k-1})}x_{k-1}-\frac{f(x_{k-1})}{f(x_{k-1})-f(x_k)}x_k xk+1=f(xk)f(xk1)f(xk)xk1f(xk1)f(xk)f(xk1)xk
来逐次逼近根 α \alpha α
在这里插入图片描述

局部收敛性和收敛速度

定理:

  • f ( x ) , f ′ ( x ) f(x),f^{'}(x) f(x),f(x)在包含方程 f ( x ) = 0 f(x)=0 f(x)=0的根 α \alpha α的某个区间上连续,并假设 f ′ ( α ) ≠ 0 f^{'}(\alpha)\ne0 f(α)=0。则如果初始值 x 0 , x 1 x_0,x_1 x0,x1的选取充分接近根 α \alpha α,那么由上述迭代公式产生的迭代序列收敛于根 α \alpha α,收敛阶为
    p = 1 + 5 2 p=\frac{1+\sqrt[]{5}}{2} p=21+5
    且有
    lim ⁡ i → + ∞ ∣ ϵ i + 1 ∣ ∣ ϵ i ∣ p = ∣ f ′ ′ ( α ) 2 f ′ ( α ) ∣ p − 1 \lim_{i\rightarrow+\infin}\frac{|\epsilon_{i+1}|}{|\epsilon_i|^p}=|\frac{f^{''}(\alpha)}{2f^{'}(\alpha)}|^{p-1} i+limϵipϵi+1=2f(α)f(α)p1

与Newton法比较,割线法每次迭代仅计算一次 f ( x ) f(x) f(x),其效率指数为 E I 1 = 1 + 5 2 EI_1=\frac{1+\sqrt[]{5}}{2} EI1=21+5
而Newton迭代法的效率为
E I 2 = 2 1 1 + θ 1 EI_2=2^{\frac{1}{1+\theta_1}} EI2=21+θ11
计算易知
θ 1 < 0.44 \theta_1\lt0.44 θ1<0.44时,Newton迭代法的计算效率大于割线法
θ 1 > 0.44 \theta_1\gt0.44 θ1>0.44时,Newton迭代法的计算效率小于割线法

重根上的迭代法(更新时间2021/3/16—21:34)

已知根的重数为r

将Newton法修正为
x k + 1 = x k − r f ( x k ) f ′ ( x k )     k = 0 , 1 , 2 , . . . x_{k+1}=x_k-r\frac{f(x_k)}{f^{'}(x_k)}\space\space\space k=0,1,2,... xk+1=xkrf(xk)f(xk)   k=0,1,2,...
求r重根的二阶收敛格式

根的重数未知

将Newton法修正为
x k + 1 = x k − u ( x k ) u ′ ( x k )     k = 0 , 1 , 2 , . . . x_{k+1}=x_k-\frac{u(x_k)}{u^{'}(x_k)}\space\space\space k=0,1,2,... xk+1=xku(xk)u(xk)   k=0,1,2,...
其中 u ( x ) = f ( x ) f ′ ( x ) u(x)=\frac{f(x)}{f^{'}(x)} u(x)=f(x)f(x)
u ( x ) = 0 u(x)=0 u(x)=0的单根就是 f ( x ) = 0 f(x)=0 f(x)=0的r重根(显然—Ninght ),证明如下:

证明:
α \alpha α f ( x ) = 0 f(x)=0 f(x)=0的r重根,则
u ( x ) = f ( x ) f ′ ( x ) = ( x − α ) r g ( x ) r ( x − α ) r − 1 g ( x ) + ( x − α ) r g ′ ( x ) = g ( x ) r g ( x ) + ( x − α ) g ′ ( x ) ( x − α ) u(x)=\frac{f(x)}{f^{'}(x)}=\frac{(x-\alpha)^rg(x)}{r(x-\alpha)^{r-1}g(x)+(x-\alpha)^rg^{'}(x)}=\frac{g(x)}{rg(x)+(x-\alpha)g^{'}(x)}(x-\alpha) u(x)=f(x)f(x)=r(xα)r1g(x)+(xα)rg(x)(xα)rg(x)=rg(x)+(xα)g(x)g(x)(xα)
u ( x ) = 0 u(x)=0 u(x)=0的单根就是 f ( x ) = 0 f(x)=0 f(x)=0的r重根
证毕!

例题

方程 x 4 − 4 x 2 + 4 = 0 x^4-4x^2+4=0 x44x2+4=0的根 α = 2 \alpha=\sqrt[]{2} α=2 是二重根,用下列方法求根
(1)Newton迭代法

x k + 1 = x k − x k 2 − 2 4 x k x_{k+1}=x_{k}-\frac{x_k^2-2}{4x_k} xk+1=xk4xkxk22

(2)修正的Newton迭代法(已知重数为2)

$ x k + 1 = x k − r f ( x k ) f ′ ( x k ) = x k − 2 × x k 2 − 2 4 x k = x k − x k 2 − 2 2 x k x_{k+1}=x_k-r\frac{f(x_k)}{f^{'}(x_k)}=x_k-2\times\frac{x_k^2-2}{4x_k}=x_k-\frac{x_k^2-2}{2x_k} xk+1=xkrf(xk)f(xk)=xk2×4xkxk22=xk2xkxk22

(3)修正的Newton迭代法(未知重数)

x k + 1 = x k − u ( x k ) u ′ ( x k ) x_{k+1}=x_k-\frac{u(x_k)}{u^{'}(x_k)} xk+1=xku(xk)u(xk)
u ( x ) = f ( x ) f ′ ( x ) = x 2 − 2 4 x u(x)=\frac{f(x)}{f^{'}(x)}=\frac{x^2-2}{4x} u(x)=f(x)f(x)=4xx22,故
x k + 1 = x k − x k ( x k 2 − 2 ) x k 2 + 2 x_{k+1}=x_k-\frac{x_k(x_k^2-2)}{x_k^2+2} xk+1=xkxk2+2xk(xk22)

取初值 x 0 = 1.5 x_0=1.5 x0=1.5,计算结果如下表

k x k x_k xk方法(1)方法(2)方法(3)
1 x 1 x_1 x11.4583333331.4166666671.411764706
2 x 2 x_2 x21.4366071431.4142156861.414211438
3 x 3 x_3 x31.4254976191.4142135621.414213562

在迭代三步时,方法(2)和方法(3)均能达到10位有效数字,而Newton法只能线性收敛,若要达到相同精度,需迭代30次

第二章:线性代数方程组数值解法

向量范数(更新时间2021/3/16—22:00)

定义:

  • R n R^n Rn(或 C n C^n Cn)上任一向量 x x x,对应一个非负实数|| x x x||,满足如下条件
    (1)非负性: ∣ ∣ x ∣ ∣ ≥ 0 ||x||\ge0 x0 ∣ ∣ x ∣ ∣ = 0 ⇔ x = 0 ||x||=0⇔x=0 x=0x=0
    (2)齐次性: ∣ ∣ λ x ∣ ∣ = ∣ λ ∣ ⋅ ∣ ∣ x ∣ ∣ , ∀ λ ∈ R ( 或 C ) ||\lambda x||=|\lambda|\cdot||x||,∀\lambda\in R(或C) λx=λx,λR(C)
    (3)三角不等式:
    ∣ ∣ x + y ∣ ∣ ≤ ∣ ∣ x ∣ ∣ + ∣ ∣ y ∣ ∣ , ∀ x , y ∈ R n ( 或 C n ) ||x+y||\le||x||+||y||,∀x,y\in R^n(或C^n) x+yx+y,x,yRn(Cn)
    则称 ∣ ∣ x ∣ ∣ ||x|| x为向量 x x x的一种范数

常用的向量范数
x = ( x 1 , x 2 , . . . , x n ) T x=(x_1,x_2,...,x_n)^T x=(x1,x2,...,xn)T

  • 1-范数: ∣ ∣ x ∣ ∣ 1 = ∑ i = 1 n ∣ x i ∣ ||x||_1=\sum_{i=1}^{n}|x_i| x1=i=1nxi向量元素绝对值之和
  • 2-范数: ∣ ∣ x ∣ ∣ 2 = ( ∑ i = 1 n x i 2 ) 1 2 ||x||_2=(\sum_{i=1}^{n}x_i^2)^{\frac12} x2=(i=1nxi2)21向量的模
  • ∞ \infin -范数: ∣ ∣ x ∣ ∣ ∞ = max ⁡ 1 ≤ i ≤ n ∣ x i ∣ ||x||_\infin=\max_{1\le i\le n}|x_i| x=1inmaxxi(元素中最大的绝对值)
  • p-范数: ∣ ∣ x ∣ ∣ p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 p ||x||_p=(\sum_{i=1}^n|x_i|^p)^{\frac{1}{p}} xp=(i=1nxip)p1(类比2-范数)
    实际上向量的范数通项公式就是p-范数的公式,1-范数、2-范数、 ∞ \infin -范数都是其特殊形式—Ninght
    定理:
  • f ( x ) = ∣ ∣ x ∣ ∣ f(x)=||x|| f(x)=x R n R^n Rn上任一向量范数,则 f ( x ) f(x) f(x) x x x的连续函数(范数连续性定理
  • ∣ ∣ x ∣ ∣ s , ∣ ∣ x ∣ ∣ t ||x||_s,||x||_t xs,xt R n R^n Rn上任意两种向量范数,则存在常数 c 1 , c 2 > 0 c_1,c_2\gt0 c1,c2>0,使得 c 1 ∣ ∣ x ∣ ∣ s ≤ ∣ ∣ x ∣ ∣ t ≤ c 2 ∣ ∣ x ∣ ∣ s , ∀ x ∈ R n c_1||x||_s\le ||x||_t\le c_2||x||_s,∀x\in R^n c1xsxtc2xsxRn范数等价性定理
  • 向量序列{ x k x^k xk}收敛于 x ∗ x^* x的充要条件是 ∣ ∣ x k − x ∗ ∣ ∣ → 0 , k → ∞ ||x^k-x^*||\rightarrow0,k\rightarrow\infin xkx0,k
    其中 ∣ ∣ ⋅ ∣ ∣ ||\cdot|| 是任一向量范数

矩阵范数(更新时间2021/3/16—22:59)

定义:

  • R n × n ( 或 C n × n ) R^{n\times n}(或C^{n\times n}) Rn×n(Cn×n)上任一矩阵 A = ( a i j ) n × n A=(a_ij)_{n\times n} A=(aij)n×n,对应一个非负实数 ∣ ∣ A ∣ ∣ ||A|| A,满足以下条件
    (1)非负性: ∣ ∣ A ∣ ∣ ≥ 0 ||A||\ge0 A0 ∣ ∣ A ∣ ∣ = 0 ⇔ A = 0 ||A||=0⇔A=0 A=0A=0
    (2)齐次性: ∣ ∣ λ A ∣ ∣ = ∣ λ ∣ ⋅ ∣ ∣ A ∣ ∣ , ∀ λ ∈ R ( 或 C ) ||\lambda A||=|\lambda|\cdot||A||,∀\lambda\in R(或C) λA=λA,λR(C)
    (3)三角不等式:
    ∣ ∣ A + B ∣ ∣ ≤ ∣ ∣ A ∣ ∣ + ∣ ∣ B ∣ ∣ , ∀ A , B ∈ R n × n ( 或 C n × n ) ||A+B||\le||A||+||B||,∀A,B\in R^{n\times n}(或C^{n\times n}) A+BA+B,A,BRn×n(Cn×n)
    (4) ∣ ∣ A B ∣ ∣ ≤ ∣ ∣ A ∣ ∣ ⋅ ∣ ∣ B ∣ ∣ , ∀ A , B ∈ R n × n ( 或 C n × n ) ||AB||\le||A||\cdot||B||,∀A,B\in R^{n\times n}(或C^{n\times n}) ABAB,A,BRn×n(Cn×n)
    则称 ∣ ∣ A ∣ ∣ ||A|| A为矩阵 A A A的一种范数

  • 对于给定向量范数 ∣ ∣ ⋅ ∣ ∣ ||\cdot|| 和矩阵范数 ∣ ∣ ⋅ ∣ ∣ ||\cdot|| ,如果对任何向量 x ∈ R n ( 或 C n ) x\in R^n(或C^n) xRn(Cn) A ∈ R n × n ( 或 C n × n ) A\in R^{n\times n}(或C^{n\times n}) ARn×n(Cn×n),都有不等式 ∣ ∣ A x ∣ ∣ ≤ ∣ ∣ A ∣ ∣ ⋅ ∣ ∣ x ∣ ∣ ||Ax||\le||A||\cdot ||x|| AxAx成立,则称所给的矩阵范数与向量范数是相容的

  • x ∈ R n ( 或 C n ) x\in R^n(或C^n) xRn(Cn) A ∈ R n × n ( 或 C n × n ) A\in R^{n\times n}(或C^{n\times n}) ARn×n(Cn×n),且给定一种向量范数 ∣ ∣ ⋅ ∣ ∣ v ||\cdot||_v v,称
    ∣ ∣ A ∣ ∣ v = max ⁡ x ≠ 0 ∣ ∣ A x ∣ ∣ v ∣ ∣ x ∣ ∣ v 或 ∣ ∣ A ∣ ∣ v = max ⁡ ∣ ∣ x ∣ ∣ v = 1 ∣ ∣ A x ∣ ∣ v ||A||_v=\max_{x\ne0}\frac{||Ax||_v}{||x||_v}或||A||_v=\max_{||x||_v=1}||Ax||_v Av=x=0maxxvAxvAv=xv=1maxAxv
    为矩阵 A A A的由向量范数 ∣ ∣ x ∣ ∣ v ||x||_v xv产生的从属范数或算子范数
    注意:
    单位矩阵的任一种从属范数都为1.
    从属范数一定与所给定的向量范数相容.
    矩阵的从属范数 ∣ ∣ A ∣ ∣ v ||A||_v Av依赖于向量范数 ∣ ∣ x ∣ ∣ v ||x||_v xv的具体含义

定理:

  • 1-范数: ∣ ∣ A ∣ ∣ 1 = max ⁡ 1 ≤ j ≤ n ∑ i = 1 n ∣ a i j ∣ ||A||_1=\max_{1\le j\le n}\sum_{i=1}^n|a_{ij}| A1=1jnmaxi=1naij(所有列向量中的最大1-范数)
  • 2-范数: ∣ ∣ A ∣ ∣ 2 = ρ ( A H A ) , A H 是 A 的 共 轭 转 置 , ρ 为 谱 半 径 ||A||_2=\sqrt[]{\rho(A^HA)},A^H是A的共轭转置,\rho 为谱半径 A2=ρ(AHA) AHA,ρ
  • ∞ \infin -范数: ∣ ∣ A ∣ ∣ ∞ = max ⁡ 1 ≤ i ≤ n ∑ j = 1 n ∣ a i j ∣ ||A||_\infin=\max_{1\le i\le n}\sum_{j=1}^n|a_{ij}| A=1inmaxj=1naij

谱半径
ρ ( A ) = max ⁡ 1 ≤ i ≤ n ∣ λ i ∣ , λ i 为 矩 阵 的 特 征 值 \rho(A)=\max_{1\le i\le n}|\lambda_i|,\lambda_i为矩阵的特征值 ρ(A)=1inmaxλi,λi
λ i \lambda_i λi满足 ∣ λ E − A H A ∣ = 0 |\lambda E-A^HA|=0 λEAHA=0

Gauss消元法(更新时间2021/3/18—09:32)

思想:
A x = b → B x = d Ax=b\rightarrow Bx=d Ax=bBx=d,其中B是上三角阵
求解 B x = d Bx=d Bx=d
列选主元
对方程组 A x = b Ax=b Ax=b仍按照 x 1 , x 2 , . . . x_1,x_2,... x1,x2,...的顺序依次消元,在每一步消元前增加按列选主元的过程,如第k步消元前,对于所有的 a μ k k − 1    ( μ = k , k + 1 , . . . , n ) a_{\mu k}^{k-1}\space\space(\mu=k,k+1,...,n) aμkk1  (μ=k,k+1,...,n),取绝对值最大者,设 ∣ a l k k − 1 ∣ = max ⁡ k ≤ μ ≤ n ∣ a μ k k − 1 ∣ |a_{lk}^{k-1}|=\max_{k\le\mu\le n}|a_{\mu k}^{k-1}| alkk1=kμnmaxaμkk1将第 l l l个方程与第 k k k个方程互换,然后进行第 k k k步消元
全选主元
对方程组 A x = b Ax=b Ax=b仍按照 x 1 , x 2 , . . . x_1,x_2,... x1,x2,...的顺序依次消元,在每一步消元前增加全选主元的过程,如第k步消元前,对于所有的 a i j k − 1    ( i , j = k , k + 1 , . . . , n ) a_{ij}^{k-1}\space\space(i,j=k,k+1,...,n) aijk1  (i,j=k,k+1,...,n),取绝对值最大者,设 ∣ a l s k − 1 ∣ = max ⁡ k ≤ i ≤ n , k ≤ j ≤ n ∣ a i j k − 1 ∣ |a_{ls}^{k-1}|=\max_{k\le i\le n,k\le j\le n}|a_{ij}^{k-1}| alsk1=kin,kjnmaxaijk1将第 l l l个方程与第 k k k个方程互换,变元 x s , x k x_s,x_k xs,xk互换,然后进行第 k k k步消元

注意:选主元的Gauss消元法能压制计算过程中舍入误差的增长,减少舍入误差对计算结果的影响。

三角分解法

Doolittle分解(更新时间2021/3/18—09:56)

如果A的所有顺序主子式均不为零,则A可唯一分解为 A = L U A=LU A=LU
其中 L L L为单位下三角阵(主对角线全为1), U U U为上三角阵
则求解 A x = b ⇔ Ax=b⇔ Ax=b求解 { U x = y L y = b \lbrace_{Ux=y}^{Ly=b} {Ux=yLy=b
A = [ a 11 a 12 . . . a 1 n a 21 a 22 . . . a 2 n . . . . . . . . . . . . a n 1 a n 2 . . . a n n ] = [ 1 0 . . . 0 l 21 1 . . . 0 . . . . . . . . . . . . l n 1 l n 2 . . . 1 ] [ u 11 u 12 . . . u 1 n 0 u 22 . . . u 2 n . . . . . . . . . . . . 0 0 . . . u n n ] = L U A= \left[ \begin{matrix} a_{11} & a_{12}& ... &a_{1n}\\ a_{21} & a_{22} & ... &a_{2n}\\ ... & ... & ...&...\\ a_{n1}&a_{n2}&...&a_{nn} \end{matrix} \right] = \left[ \begin{matrix} 1 & 0& ... &0\\ l_{21} & 1 & ... &0\\ ... & ... & ...&...\\ l_{n1}&l_{n2}&...&1 \end{matrix} \right] \left[ \begin{matrix} u_{11} & u_{12}& ... &u_{1n}\\ 0 & u_{22} & ... &u_{2n}\\ ... & ... & ...&...\\ 0&0&...&u_{nn} \end{matrix} \right]=LU A=a11a21...an1a12a22...an2............a1na2n...ann=1l21...ln101...ln2............00...1u110...0u12u22...0............u1nu2n...unn=LU
由矩阵乘法已知
u k j = a k j − ∑ r = 1 k − 1 l k r u r j (j=k,k+1,...,n) u_{kj}=a_{kj}-\sum_{r=1}^{k-1}l_{kr}u_{rj}\tag {j=k,k+1,...,n} ukj=akjr=1k1lkrurj(j=k,k+1,...,n)
l i k = a i k − ∑ r = 1 k − 1 l i r u r k u k k (i=k+1,k+2,...,n) l_{ik}=\frac{a_{ik}-\sum_{r=1}^{k-1}l_{ir}u_{rk}}{u_{kk}}\tag {i=k+1,k+2,...,n} lik=ukkaikr=1k1lirurk(i=k+1,k+2,...,n)
其中 ∑ 1 2 = 0 \sum_1^2=0 12=0
求解 A x = b ⇔ Ax=b⇔ Ax=b求解 { U x = y L y = b \lbrace_{Ux=y}^{Ly=b} {Ux=yLy=b

  1. 求解方程组 L y = b Ly=b Ly=b y k = b k − ∑ r = 1 k − 1 l k r y r (k=1,2,...,n) y_k=b_k-\sum_{r=1}^{k-1}l_{kr}y_r\tag{k=1,2,...,n} yk=bkr=1k1lkryr(k=1,2,...,n)其中 ∑ 1 2 = 0 \sum_1^2=0 12=0
  2. 求解方程组 U x = y Ux=y Ux=y: x k = y k − ∑ r = k + 1 n u k r x r u k k x_k=\frac{y_k-\sum_{r=k+1}^nu_{kr}x_r}{u_{kk}} xk=ukkykr=k+1nukrxr其中 ∑ n + 1 n = 0 \sum_{n+1}^n=0 n+1n=0

在代码实现中,Doolittle分解法的存储可利用原系数矩阵的存储单元
[ u 11 u 12 . . . u 1 n l 21 u 22 . . . u 2 n . . . . . . . . . . . . l n 1 l n 2 . . . u n n ] → A \left[ \begin{matrix} u_{11} & u_{12}& ... &u_{1n}\\ l_{21} & u_{22} & ... &u_{2n}\\ ... & ... & ...&...\\ l_{n1}&l_{n2}&...&u_{nn} \end{matrix} \right]\rightarrow A u11l21...ln1u12u22...ln2............u1nu2n...unnA

Crout分解

A = [ a 11 a 12 . . . a 1 n a 21 a 22 . . . a 2 n . . . . . . . . . . . . a n 1 a n 2 . . . a n n ] = [ l 11 0 . . . 0 l 21 l 22 . . . 0 . . . . . . . . . . . . l n 1 l n 2 . . . l n n ] [ 1 u 12 . . . u 1 n 0 1 . . . u 2 n . . . . . . . . . . . . 0 0 . . . 1 ] = L U A= \left[ \begin{matrix} a_{11} & a_{12}& ... &a_{1n}\\ a_{21} & a_{22} & ... &a_{2n}\\ ... & ... & ...&...\\ a_{n1}&a_{n2}&...&a_{nn} \end{matrix} \right] = \left[ \begin{matrix} l_{11} & 0& ... &0\\ l_{21} & l_{22} & ... &0\\ ... & ... & ...&...\\ l_{n1}&l_{n2}&...&l_{nn} \end{matrix} \right] \left[ \begin{matrix} 1 & u_{12}& ... &u_{1n}\\ 0 & 1 & ... &u_{2n}\\ ... & ... & ...&...\\ 0&0&...&1 \end{matrix} \right]=LU A=a11a21...an1a12a22...an2............a1na2n...ann=l11l21...ln10l22...ln2............00...lnn10...0u121...0............u1nu2n...1=LU
U为单位上三角阵,L是下三角阵,分解唯一
求解方式类似Doolittle分解法

Cholesky分解(平方根法)

A = L U = ( L D ) ( D − 1 U ) = L D U 1 A=LU=(LD)(D^{-1}U)=LDU_{1} A=LU=(LD)(D1U)=LDU1
L L L是单位下三角阵, U 1 U_{1} U1是单位上三角阵

  • 若A对称正定,则 A = L L T A=LL^{T} A=LLT其中 L L L是下三角阵

改进的Cholesky分解(改进的平方根法)

A = [ a 11 a 12 . . . a 1 n a 21 a 22 . . . a 2 n . . . . . . . . . . . . a n 1 a n 2 . . . a n n ] = [ 1 0 . . . 0 l 21 1 . . . 0 . . . . . . . . . . . . l n 1 l n 2 . . . 1 ] [ d 1 0 . . . 0 0 d 2 . . . 0 . . . . . . . . . . . . 0 0 . . . d n ] [ 1 l 21 . . . l n 1 0 1 . . . l n 2 . . . . . . . . . . . . 0 0 . . . 1 ] A=\left[ \begin{matrix} a_{11} & a_{12}& ... &a_{1n}\\ a_{21} & a_{22} & ... &a_{2n}\\ ... & ... & ...&...\\ a_{n1}&a_{n2}&...&a_{nn} \end{matrix} \right]= \left[ \begin{matrix} 1 & 0& ... &0\\ l_{21} & 1 & ... &0\\ ... & ... & ...&...\\ l_{n1}&l_{n2}&...&1 \end{matrix} \right] \left[ \begin{matrix} d_1 & 0& ... &0\\ 0 & d_2 & ... &0\\ ... & ... & ...&...\\ 0&0&...&d_n \end{matrix} \right] \left[ \begin{matrix} 1 & l_{21}& ... &l_{n1}\\ 0 & 1 & ... &l_{n2}\\ ... & ... & ...&...\\ 0&0&...&1 \end{matrix} \right] A=a11a21...an1a12a22...an2............a1na2n...ann=1l21...ln101...ln2............00...1d10...00d2...0............00...dn10...0l211...0............ln1ln2...1

矩阵的条件数与误差分析

c o n d ( A ) = ∣ ∣ A ∣ ∣ ⋅ ∣ ∣ A − 1 ∣ ∣ cond(A)=||A||\cdot||A^{-1}|| cond(A)=AA1为矩阵 A A A的条件数
c o n d ( A ) = ∣ ∣ A ∣ ∣ ⋅ ∣ ∣ A − 1 ∣ ∣ ≥ ∣ ∣ A A − 1 ∣ ∣ = 1 cond(A)=||A||\cdot||A^{-1}||\ge||AA^{-1}||=1 cond(A)=AA1AA1=1

线性方程组的迭代方法(Jacobi方法,Gauss-Seidel方法,SOR方法)

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于数值分析期末复习笔记.docx,下面是我简要的回答。 数值分析是一门研究利用数学方法解决数学问题的学科,重点在于求解数值计算问题以及分析数值计算方法的准确性和稳定性。在课程学习中,我们可以通过掌握一些重要的概念、算法和技巧来提高数值计算的效率和正确性。 在复习笔记中,可以包括以下内容: 1. 数值计算基础知识:涉及数值计算的误差、舍入误差和截断误差的概念以及如何进行误差分析。 2. 插值法:包括拉格朗日插值、牛顿插值和埃尔米特插值等方法,用于根据给定的数据点推断不存在的数据点。 3. 数值微积分:数值积分和数值微分的方法,包括梯形法则、辛普森法则和复合求积法。 4. 方程求解:包括二分法、牛顿迭代法和割线法等求解非线性方程的数值方法。 5. 线性方程组的数值解法:高斯消元法、LU分解法和迭代法(如雅可比法和Gauss-Seidel法)等。 6. 最小二乘拟合:通过最小化残差平方和来拟合一组数据点。 7. 常微分方程的数值解法:如欧拉方法、龙格-库塔法和Adams-Bashforth法等。 此外,还应该重点关注与数值分析相关的数值计算的应用领域,如工程、金融等。 通过复习这些重点内容,可以帮助我们更全面地理解数值分析的基本原理和方法,提高我们解决实际问题的能力。当然,为了更好地复习和掌握数值分析,日常的练习和理解概念也是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值