基础知识
误差类型及传播
误差类型 | 定义 |
---|---|
绝对误差 | e ( x ∗ ) = x ∗ − x e(x^*) = x^* - x e(x∗)=x∗−x |
绝对误差限 | ∣ e ( x ∗ ) ∣ ≤ ε ( x ∗ ) \mid e(x^*)\mid \leq \varepsilon(x^*) ∣e(x∗)∣≤ε(x∗) |
相对误差 | $e_r(x^) = \cfrac{x^ - x}{x} $ |
相对误差限 | ∣ e r ( x ∗ ) ∣ ≤ ε r ( x ∗ ) \mid e_r(x^*) \mid \leq \varepsilon_r(x^*) ∣er(x∗)∣≤εr(x∗) |
-
设 x x x的近似值 x ∗ x^* x∗有如下标准形式
x ∗ = ± 1 0 m × 0. a 1 a 2 ⋯ a n ⋯ a p x^* = \pm 10^m \times 0.a_1a_2\cdots a_n\cdots a_p x∗=±10m×0.a1a2⋯an⋯ap
其中 m m m为整数, { a i } ∈ { 0 , 1 , 2 , ⋯ , 9 } \{a_i\} \in \{0,1,2,\cdots,9\} {ai}∈{0,1,2,⋯,9}且 a 1 ≠ 0 , p ≥ n a_1 \neq 0,p \geq n a1=0,p≥n。如果 n n n满足
∣ e ∗ ∣ = ∣ x ∗ − x ∣ ≤ 1 2 × 1 0 m − n \mid e^* \mid = \mid x^* - x \mid \leq \frac12 \times 10^{m-n} ∣e∗∣=∣x∗−x∣≤21×10m−n
的最大正整数,则有效数字与相对误差的关系-
若 x ∗ x^* x∗具有 n n n位有效数字,则(有省略,不要用)
∣ e r ∗ ∣ ≤ 1 2 a 1 × 1 0 1 − n \mid e_r^* \mid \leq \frac1{2a_1} \times 10^{1-n} ∣er∗∣≤2a11×101−n -
若
∣ e r ∗ ∣ ≤ 1 2 ( a 1 + 1 ) × 1 0 1 − n \mid e^*_r \mid \leq \frac1{2(a_1+1)} \times 10^{1-n} ∣er∗∣≤2(a1+1)1×101−n
则 x ∗ x^* x∗至少具有 n n n位有效数字 -
近似数的绝对误差限是末尾数位的一半
-
-
数值运算的误差估计
-
一元函数误差估计
e ( y ∗ ) ≈ f ′ ( x ∗ ) e ( x ∗ ) e r ( y ∗ ) ≈ x ∗ f ′ ( x ∗ ) f ( x ∗ ) e r ( x ∗ ) \begin{aligned} &e(y^*) \approx f^\prime(x^*)e(x^*)\\ &e_r(y^*) \approx \cfrac{x^*f^\prime(x^*)}{f(x^*)}e_r(x^*) \end{aligned} e(y∗)≈f′(x∗)e(x∗)er(y∗)≈f(x∗)x∗f′(x∗)er(x∗) -
多元函数误差估计
e ( y ∗ ) ≈ ∑ i = 1 n f i ′ ( x 1 ∗ , ⋯ , x n ∗ ) e ( x i ∗ ) e r ( y ∗ ) ≈ ∑ i = 1 n x i ∗ y ∗ f i ′ ( x 1 ∗ , ⋯ , x n ∗ ) e r ( x i ∗ ) \begin{aligned} &e(y^*) \approx \sum_{i=1}^n f^\prime_i(x_1^*,\cdots,x_n^*) e(x_i^*)\\ &e_r(y^*) \approx \sum_{i=1}^n \cfrac{x_i^*}{y^*} f^\prime_i(x_1^*,\cdots,x_n^*) e_r(x_i^*) \end{aligned} e(y∗)≈i=1∑nfi′(x1∗,⋯,xn∗)e(xi∗)er(y∗)≈i=1∑ny∗xi∗fi′(x1∗,⋯,xn∗)er(xi∗) -
算术运算的误差估计
ε ( x 1 ∗ ± x 2 ∗ ) ≈ ε ( x 1 ∗ ) + ε ( x 2 ∗ ) ε ( x 1 ∗ x 2 ∗ ) ≈ ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) + ∣ x 1 ∣ ε ( x 2 ∗ ) ε ( x 1 ∗ x 2 ∗ ) ≈ ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) + ∣ x 1 ∣ ε ( x 2 ∗ ) ∣ x 2 ∗ ∣ 2 \begin{aligned} &\varepsilon(x_1^* \pm x_2^*) \approx \varepsilon(x_1^*)+\varepsilon(x_2^*)\\ &\varepsilon(x_1^* x_2^*) \approx \mid x_2^* \mid\varepsilon(x_1^*) + \mid x_1\mid \varepsilon(x_2^*) \\ &\varepsilon\Big(\cfrac{x_1^*}{ x_2^*}\Big) \approx \frac{\mid x_2^* \mid\varepsilon(x_1^*) + \mid x_1\mid \varepsilon(x_2^*) }{\mid x_2^* \mid ^2} \end{aligned} ε(x1∗±x2∗)≈ε(x1∗)+ε(x2∗)ε(x1∗x2∗)≈∣x2∗∣ε(x1∗)+∣x1∣ε(x2∗)ε(x2∗x1∗)≈∣x2∗∣2∣x2∗∣ε(x1∗)+∣x1∣ε(x2∗)ε r ( x 1 ∗ ± x 2 ∗ ) ≤ max { ε r ( x 1 ∗ ) , ε r ( x 2 ∗ ) } ε r ( x 1 ∗ x 2 ∗ ) ≈ ε r ( x 1 ∗ ) + ε r ( x 2 ∗ ) ε r ( x 1 ∗ x 2 ∗ ) ≈ ε r ( x 1 ∗ ) + ε r ( x 2 ∗ ) \begin{aligned} &\varepsilon_r(x_1^* \pm x_2^*) \leq \max\{\varepsilon_r(x_1^*),\varepsilon_r(x_2^*)\}\\ &\varepsilon_r(x_1^* x_2^*) \approx \varepsilon_r(x_1^*) + \varepsilon_r(x_2^*) \\ &\varepsilon_r\Big(\cfrac{x_1^*}{ x_2^*}\Big) \approx \varepsilon_r(x_1^*)+ \varepsilon_r(x_2^*) \end{aligned} εr(x1∗±x2∗)≤max{εr(x1∗),εr(x2∗)}εr(x1∗x2∗)≈εr(x1∗)+εr(x2∗)εr(x2∗x1∗)≈εr(x1∗)+εr(x2∗)
-
误差定性分析及数值运算中的若干原则
病态问题与条件数
-
病态问题:对一个数值问题,若由于问题本身而使计算结果绝对误差或相对误差的绝对值很大,这种问题称为绝对误差意义或相对意义下的病态问题
-
条件数
条件数较大,则表示自变量的微小扰动将引起函数值较大的变化
- 绝对意义下计算函数值 f ( x ) f(x) f(x)的条件数: C o n d a ( f ) = ∣ f ′ ( x ) ∣ Cond_a(f) = \mid f^\prime (x) \mid Conda(f)=∣f′(x)∣
- 相对意义下计算函数值 f ( x ) f(x) f(x)的条件数: C o n d r ( f ) = ∣ x f ′ ( x ) f ( x ) ∣ Cond_r(f) = \mid x \cfrac{f^\prime(x)}{f(x)} \mid Condr(f)=∣xf(x)f′(x)∣
算法的数值稳定性
一个算法,如果初始数据微小的误差仅使最终结果产生微小的误差,或在运算过程中舍入误差在一定条件下能够得到控制,则称该算法数值问题,否则不稳定
数值运算中若干原则
- 避免大数吃掉小数
- 避免用绝对值很小的数作除数
- 避免两个相近数相减
- 减小计算工作量
非线性方程求根
- 如果有
α
\alpha
α使
f
(
α
)
=
0
f(\alpha) = 0
f(α)=0,则称
α
\alpha
α为方程
f
(
x
)
=
0
f(x)=0
f(x)=0的根或函数
f
(
x
)
f(x)
f(x)的零点,如果函数
f
(
x
)
f(x)
f(x)可分解为
f ( x ) = ( x − α ) m g ( x ) f(x) = (x-\alpha)^m g(x) f(x)=(x−α)mg(x)
且 g ( α ) ≠ 0 g(\alpha) \neq 0 g(α)=0, m m m为正整数,则当 m = 1 m=1 m=1时,称 α \alpha α为 f ( x ) = 0 f(x)=0 f(x)=0的单根或 f ( x ) f(x) f(x)的单零点;当 m ≥ 2 m \geq 2 m≥2时,称 α \alpha α为 f ( x ) = 0 f(x)=0 f(x)=0的 m m m重根或 f ( x ) f(x) f(x)的 m m m重零点 - 若
f
(
x
)
f(x)
f(x)有
m
m
m阶连续导数,则
α
\alpha
α是
f
(
x
)
f(x)
f(x)的
m
m
m重零点的充要条件为
f ( α ) = 0 , f ′ ( α ) = 0 , ⋯ , f ( m − 1 ) ( α ) = 0 , f ( m ) ( α ) ≠ 0 f(\alpha)=0,f^\prime(\alpha) = 0,\cdots,f^{(m-1)}(\alpha) = 0,f^{(m)}(\alpha) \neq 0 f(α)=0,f′(α)=0,⋯,f(m−1)(α)=0,f(m)(α)=0
二分法
设
α
\alpha
α为方程
f
(
x
)
=
0
f(x)=0
f(x)=0在区间
[
a
,
b
]
[a,b]
[a,b]内的唯一根,其中
f
(
x
)
f(x)
f(x)为满足
f
(
a
)
f
(
b
)
<
0
f(a)f(b) < 0
f(a)f(b)<0的连续函数,则二分法计算过程中第
k
k
k个区间
[
a
k
,
b
k
]
[a_k,b_k]
[ak,bk]的中点
x
k
x_k
xk满足不等式
∣
x
k
−
α
∣
≤
1
2
(
b
k
−
a
k
)
=
1
2
k
(
b
−
a
)
\mid x_k - \alpha \mid \leq \frac12 (b_k-a_k) = \frac1{2^k}(b-a)
∣xk−α∣≤21(bk−ak)=2k1(b−a)
且二分法产生的序列
{
x
k
}
k
=
1
∞
\{x_k\}_{k=1}^\infty
{xk}k=1∞收敛于
α
\alpha
α
不动点迭代的基本理论
将
f
(
x
)
=
0
f(x) = 0
f(x)=0改写为同解方程组
x
=
φ
(
x
)
x = \varphi(x)
x=φ(x)的形式。如果
f
(
α
)
=
0
f(\alpha)=0
f(α)=0,则
α
=
φ
(
α
)
\alpha = \varphi(\alpha)
α=φ(α),称
α
\alpha
α为函数
φ
(
x
)
\varphi(x)
φ(x)的不动点,选取初始近似值
x
0
x_0
x0,并构造迭代格式
x
k
+
1
=
φ
(
x
k
)
x_{k+1} = \varphi(x_k)
xk+1=φ(xk)
可产生序列
{
x
k
}
k
=
0
∞
\{x_k\}_{k=0}^\infty
{xk}k=0∞,上述迭代式称为不动点迭代,
φ
(
x
)
\varphi(x)
φ(x)称为迭代函数。
-
全局收敛性
对于方程 x = φ ( x ) x = \varphi(x) x=φ(x),若 φ ′ ( x ) \varphi^\prime(x) φ′(x)在 [ a , b ] [a,b] [a,b]上连续,且- 封闭性: x ∈ [ a , b ] , φ ( x ) ∈ [ a , b ] x \in [a,b], \varphi(x) \in [a,b] x∈[a,b],φ(x)∈[a,b]
- 压缩性: ∃ L ∈ ( 0 , 1 ) , x ∈ [ a , b ] , ∣ φ ′ ( x ) ∣ ≤ L < 1 \exists L \in (0,1),x \in [a,b],\mid \varphi^\prime(x) \mid \leq L < 1 ∃L∈(0,1),x∈[a,b],∣φ′(x)∣≤L<1
⟹ \Longrightarrow ⟹
- φ ( x ) \varphi(x) φ(x)在 [ a , b ] [a,b] [a,b]上有唯一的不动点 α \alpha α
- ∀ x 0 ∈ [ a , b ] , x k + 1 = φ ( x k ) \forall x_0 \in [a,b],x_{k+1} = \varphi(x_k) ∀x0∈[a,b],xk+1=φ(xk)收敛,且 lim k → ∞ x k = α \lim_{k \rightarrow \infty} x_k =\alpha limk→∞xk=α
- 序列
{
x
k
}
k
=
0
∞
\{x_k\}_{k=0}^\infty
{xk}k=0∞有误差估计式
∣ x k − α ∣ ≤ L 1 − L ∣ x k − x k − 1 ∣ (误差后验估计式) \mid x_k - \alpha \mid \leq \cfrac{L}{1-L} \mid x_k - x_{k-1} \mid \tag{误差后验估计式} ∣xk−α∣≤1−LL∣xk−xk−1∣(误差后验估计式)
∣ x k − α ∣ ≤ L k 1 − L ∣ x 1 − x 0 ∣ (误差先验估计式) \mid x_k - \alpha \mid \leq \cfrac{L^k}{1-L} \mid x_1 - x_0 \mid \tag{误差先验估计式} ∣xk−α∣≤1−LLk∣x1−x0∣(误差先验估计式)
lim k → ∞ x k − α x k − 1 − α = φ ′ ( α ) (误差渐进表达式) \lim_{k \rightarrow \infty} \frac{x_k - \alpha}{x_{k-1}-\alpha} = \varphi^\prime(\alpha) \tag{误差渐进表达式} k→∞limxk−1−αxk−α=φ′(α)(误差渐进表达式)
设函数 φ ( x ) \varphi(x) φ(x)在区间 [ a , b ] [a,b] [a,b]内有不动点 α \alpha α,且当 x ∈ [ a , b ] x\in [a,b] x∈[a,b]时, ∣ φ ′ ( x ) ∣ ≥ 1 \mid \varphi^\prime (x) \mid \geq 1 ∣φ′(x)∣≥1,则对 ∀ x 0 ∈ [ a , b ] , x 0 ≠ α \forall x_0\in[a,b],x_0 \neq \alpha ∀x0∈[a,b],x0=α,迭代格式 x k + 1 = φ ( x k ) x_{k+1} = \varphi(x_k) xk+1=φ(xk)发散
-
局部收敛性
设函数 φ ( x ) \varphi(x) φ(x)有不动点 α \alpha α,如果存在 α \alpha α的一个邻域 N ( α ) = [ α − σ , α + σ ] , σ > 0 N(\alpha) = [\alpha-\sigma,\alpha+\sigma],\sigma>0 N(α)=[α−σ,α+σ],σ>0,使迭代格式 x k + 1 = φ ( x k ) x_{k+1} = \varphi(x_k) xk+1=φ(xk)对 ∀ x 0 ∈ N ( α ) \forall x_0 \in N(\alpha) ∀x0∈N(α)均收敛,则称该迭代格式具有局部收敛性
设函数 φ ( x ) \varphi(x) φ(x)有不动点 α \alpha α, φ ′ ( x ) \varphi^\prime(x) φ′(x)在 α \alpha α连续,则- ∣ φ ′ ( α ) ∣ < 1 ⇒ \mid \varphi^\prime(\alpha) \mid <1 \Rightarrow ∣φ′(α)∣<1⇒迭代格式收敛
-
∣
φ
′
(
α
)
∣
>
1
⇒
\mid \varphi^\prime(\alpha) \mid >1 \Rightarrow
∣φ′(α)∣>1⇒迭代格式发散
设序列 { x k } k = 0 ∞ \{x_k\}_{k=0}^\infty {xk}k=0∞收敛到 α \alpha α。令 k k k次的迭代误差 e k = x k − α , x k ≠ α e_k=x_k-\alpha,x_k \neq \alpha ek=xk−α,xk=α。如果存在实数 p ≥ 1 p\geq 1 p≥1及非零常数 c > 0 c>0 c>0,使得
lim k → ∞ ∣ e k + 1 ∣ ∣ e k ∣ p = c \lim_{k\rightarrow \infty}\frac{\mid e_{k+1} \mid }{\mid e_k \mid^p} = c k→∞lim∣ek∣p∣ek+1∣=c
则称序列 { x k } k = 0 ∞ \{x_k\}_{k=0}^\infty {xk}k=0∞为 p p p阶收敛 - 若
φ
(
x
)
\varphi(x)
φ(x)在不动点
α
\alpha
α的领域内有
p
p
p阶连续导数,则当初值
x
0
x_0
x0取得充分靠近
α
\alpha
α时,迭代格式
x
k
+
1
=
φ
(
x
k
)
x_{k+1} = \varphi(x_k)
xk+1=φ(xk)为
p
p
p阶收敛的充要条件是
φ ( α ) = α , φ ′ ( α ) = φ ′ ′ ( α ) = ⋯ = φ ( p − 1 ) ( α ) = 0 , φ ( p ) ( α ) ≠ 0 \varphi(\alpha) = \alpha,\varphi^\prime(\alpha) = \varphi^{\prime \prime}(\alpha) = \cdots = \varphi^{(p-1)}(\alpha) = 0,\varphi^{(p)}(\alpha) \neq 0 φ(α)=α,φ′(α)=φ′′(α)=⋯=φ(p−1)(α)=0,φ(p)(α)=0
且有
lim k → ∞ e k + 1 e k p = 1 p ! φ ( p ) ( α ) ≠ 0 \lim_{k\rightarrow \infty} \frac{e_{k+1}}{e_k^p} = \frac{1}{p!} \varphi^{(p)}(\alpha) \neq 0 k→∞limekpek+1=p!1φ(p)(α)=0
如果 p = 1 p=1 p=1时,要求 0 < ∣ φ ′ ( α ) ∣ < 1 0 < \mid \varphi^\prime (\alpha) \mid < 1 0<∣φ′(α)∣<1
不动点迭代的加速
x
k
+
1
−
α
=
φ
(
x
k
)
−
φ
(
α
)
=
φ
′
(
ξ
k
)
(
x
k
−
α
)
,
ξ
k
∈
[
α
,
x
k
]
x
k
+
2
−
α
=
φ
(
x
k
+
1
)
−
φ
(
α
)
=
φ
′
(
ξ
k
+
1
)
(
x
k
+
1
−
α
)
,
ξ
k
+
1
∈
[
α
,
x
k
+
1
]
\begin{aligned} &x_{k+1} - \alpha = \varphi(x_k) - \varphi(\alpha) = \varphi^\prime(\xi_k) (x_k-\alpha) ,\xi_k \in [\alpha,x_k]\\ &x_{k+2} - \alpha = \varphi(x_{k+1}) - \varphi(\alpha) = \varphi^\prime(\xi_{k+1}) (x_{k+1}-\alpha) ,\xi_{k+1} \in [\alpha,x_{k+1}]\\ \end{aligned}
xk+1−α=φ(xk)−φ(α)=φ′(ξk)(xk−α),ξk∈[α,xk]xk+2−α=φ(xk+1)−φ(α)=φ′(ξk+1)(xk+1−α),ξk+1∈[α,xk+1]
令
φ
′
(
ξ
k
)
≈
φ
′
(
ξ
k
+
1
)
\varphi^\prime(\xi_k) \approx \varphi^\prime(\xi_{k+1})
φ′(ξk)≈φ′(ξk+1),则有
x
k
+
2
−
α
x
k
+
1
−
α
≈
x
k
+
1
−
α
x
k
−
α
\frac{x_{k+2} - \alpha}{x_{k+1} - \alpha} \approx \frac{x_{k+1} - \alpha}{x_{k} - \alpha}
xk+1−αxk+2−α≈xk−αxk+1−α
解出
x
k
+
1
=
ψ
(
x
k
)
=
α
≈
x
k
−
(
x
k
+
1
−
x
k
)
2
x
k
+
2
−
2
x
k
+
1
+
x
k
=
x
k
−
[
φ
(
x
k
)
−
x
k
]
2
φ
(
φ
(
x
k
)
)
−
2
φ
(
x
k
)
+
x
k
x_{k+1} = \psi(x_k) = \alpha \approx x_k - \frac{(x_{k+1}-x_k)^2}{x_{k+2}-2x_{k+1}+x_k} = x_k - \frac{[\varphi(x_k)-x_k]^2}{\varphi(\varphi(x_k))-2\varphi(x_k)+x_k}
xk+1=ψ(xk)=α≈xk−xk+2−2xk+1+xk(xk+1−xk)2=xk−φ(φ(xk))−2φ(xk)+xk[φ(xk)−xk]2
称其为
S
t
e
f
f
e
n
s
e
n
\rm Steffensen
Steffensen迭代格式
- ψ ( α ) = α ⇒ φ ( α ) = α \psi(\alpha) = \alpha \Rightarrow \varphi(\alpha) = \alpha ψ(α)=α⇒φ(α)=α;反之$\varphi(\alpha) = \alpha ,且 ,且 ,且\varphi^\prime( x )$在 α \alpha α的邻域内连续, φ ′ ( α ) ≠ 1 \varphi^\prime(\alpha) \neq 1 φ′(α)=1,则 ψ ( α ) = α \psi(\alpha) = \alpha ψ(α)=α
- 若 φ ( x ) \varphi(x) φ(x)在其不动点 α \alpha α的邻域内有二阶连续导数,且 φ ′ ( α ) = A ≠ 1 , ≠ 0 \varphi^\prime(\alpha)=A \neq 1,\neq 0 φ′(α)=A=1,=0,则 S t e f f e n s e n \rm Steffensen Steffensen迭代局部收敛
- 若 φ ′ ′ ( α ) ≠ 0 \varphi^{\prime \prime}(\alpha) \neq 0 φ′′(α)=0,则 S t e f f e n s e n \rm Steffensen Steffensen迭代平方收敛;若 φ ′ ′ ( α ) = 0 \varphi^{\prime \prime}(\alpha) = 0 φ′′(α)=0,则 S t e f f e n s e n \rm Steffensen Steffensen迭代超平方收敛【可将线性收敛或不收敛的式子平方收敛】
Newton迭代
为了构造二阶收敛速度的迭代格式,令
φ
(
x
)
=
x
+
h
(
x
)
f
(
x
)
\varphi(x) = x+ h(x)f(x)
φ(x)=x+h(x)f(x),通过满足二阶收敛的条件求解设定函数。或者将原函数
f
(
x
)
f(x)
f(x)进行泰勒展开,得到二阶收敛格式
φ
(
x
)
=
x
−
f
(
x
)
f
′
(
x
)
\varphi(x) = x - \frac{f(x)}{f^\prime(x)}
φ(x)=x−f′(x)f(x)
-
局部收敛性
设 α \alpha α是方程 f ( x ) = 0 f(x)=0 f(x)=0的根, f ′ ( x ) f^\prime(x) f′(x)在 α \alpha α的邻域内连续,则 Newton \text{Newton} Newton迭代局部收敛。且求单根时, Newton \text{Newton} Newton迭代至少二阶收敛;而求重根时, Newton \text{Newton} Newton迭代只有一阶收敛
当 f ( x ) = ( x − α ) m g ( x ) , g ( α ) ≠ 0 f(x) = (x-\alpha)^mg(x),g(\alpha)\neq 0 f(x)=(x−α)mg(x),g(α)=0时,有
φ ′ ( α ) = 1 − 1 m \varphi^{\prime}(\alpha) = 1- \frac1m φ′(α)=1−m1 -
全局收敛性判定 I \text{I} I
给定 f ( x ) = 0 f(x)=0 f(x)=0,如果$f^{\prime \prime}(x) 在 在 在[a,b]$上连续,且- f ( a ) f ( b ) < 0 f(a)f(b) < 0 f(a)f(b)<0
- ∀ x ∈ [ a , b ] , f ′ ( x ) ≠ 0 , f ′ ′ ( x ) ≠ 0 \forall x\in [a,b], f^\prime(x) \neq 0,f^{\prime \prime}(x) \neq 0 ∀x∈[a,b],f′(x)=0,f′′(x)=0
- 取
x
0
∈
[
a
,
b
]
,
f
(
x
0
)
f
′
′
(
x
0
)
>
0
x_0 \in [a,b],f(x_0) f^{\prime \prime}(x_0) > 0
x0∈[a,b],f(x0)f′′(x0)>0
则 f ( x ) = 0 f(x)=0 f(x)=0在 [ a , b ] [a,b] [a,b]内有唯一的根 α \alpha α,且由初值 x 0 x_0 x0按 N e w t o n \rm Newton Newton迭代格式产生的序列收敛于 α \alpha α,并有
lim k → ∞ x k + 1 − α ( x k − α ) 2 = f ′ ′ ( α ) 2 f ′ ( α ) \lim_{k \rightarrow \infty} \frac{x_{k+1} - \alpha}{(x_k-\alpha)^2} = \frac{f^{\prime \prime}(\alpha)}{2f^\prime(\alpha)} k→∞lim(xk−α)2xk+1−α=2f′(α)f′′(α)
即迭代二阶收敛
-
全局收敛性判定 II \text{II} II
给定 f ( x ) = 0 f(x)= 0 f(x)=0,如果 f ′ ′ ( x ) f^{\prime \prime}(x) f′′(x)在 [ a , b ] [a,b] [a,b]上连续,且- f ( a ) f ( b ) < 0 f(a) f(b) <0 f(a)f(b)<0
- ∀ x ∈ [ a , b ] , f ′ ( x ) ≠ 0 , f ′ ′ ( x ) ≠ 0 \forall x\in [a,b],f^\prime(x) \neq 0,f^{\prime \prime}(x) \neq 0 ∀x∈[a,b],f′(x)=0,f′′(x)=0
- ∣ f ( a ) f ′ ( a ) ∣ ≤ b − a ∣ , f ( b ) f ′ ( b ) ∣ ≤ b − a \mid\cfrac{f(a)}{f^\prime(a)} \mid \leq b-a\mid,\cfrac{f(b)}{f^\prime(b)} \mid \leq b-a ∣f′(a)f(a)∣≤b−a∣,f′(b)f(b)∣≤b−a
则 ∀ x 0 ∈ [ a , b ] \forall x_0 \in [a,b] ∀x0∈[a,b],由 Newton \text{Newton} Newton迭代格式产生的序列 { x k } k = 0 ∞ \{x_k\}_{k=0}^\infty {xk}k=0∞收敛于 f ( x ) = 0 f(x)=0 f(x)=0的根 α \alpha α
Newton迭代的变形
求重根的修正Newton法
当
α
\alpha
α为
f
(
x
)
=
0
f(x)=0
f(x)=0的
m
≥
0
m\geq0
m≥0重根时,将
Newton
\text{Newton}
Newton迭代法修正为
x
k
+
1
=
x
k
−
m
f
(
x
k
)
f
′
(
x
k
)
(修正的Newton迭代格式)
x_{k+1} = x_k - m \frac{f(x_k)}{f^\prime(x_k)} \tag{修正的Newton迭代格式}
xk+1=xk−mf′(xk)f(xk)(修正的Newton迭代格式)
该迭代方程局部收敛,且至少二阶收敛。
由于
m
m
m一般事先不知道,因此取
μ
(
x
)
=
f
(
x
)
f
′
(
x
)
\mu(x) = \frac{f(x)}{f^\prime(x)}
μ(x)=f′(x)f(x)
当
α
\alpha
α为
f
(
x
)
=
0
f(x)=0
f(x)=0的
m
m
m重根时,
α
\alpha
α是
μ
(
x
)
\mu(x)
μ(x)的单重零点,则
Newton
\text{Newton}
Newton修正为
φ
(
x
)
=
x
−
μ
(
x
)
μ
′
(
x
)
=
x
−
f
(
x
)
f
′
(
x
)
(
f
′
(
x
)
)
2
−
f
(
x
)
f
′
′
(
x
)
\varphi(x) = x - \frac{\mu(x)}{\mu^\prime(x)} = x - \frac{f(x)f^\prime(x)}{(f^\prime(x))^2 - f(x)f^{\prime\prime}(x)}
φ(x)=x−μ′(x)μ(x)=x−(f′(x))2−f(x)f′′(x)f(x)f′(x)
可知其局部收敛,且至少二阶收敛
零点的重数
m
m
m可通过以下方式估计
由误差渐进表达式和牛顿法迭代式与
m
m
m的关系可得
lim
k
→
∞
x
k
+
1
−
α
x
k
−
α
=
1
−
1
m
⇒
m
≈
α
−
x
k
x
k
+
1
−
x
k
\lim_{k\rightarrow \infty} \frac{x_{k+1}-\alpha}{x_k -\alpha} = 1-\frac1m \Rightarrow m \approx \frac{\alpha-x_k}{x_{k+1}-x_k}
k→∞limxk−αxk+1−α=1−m1⇒m≈xk+1−xkα−xk
Newton下山法
由于
Newton
\text{Newton}
Newton迭代法对初值的选择要求比较苛刻,为了放宽初值的选择范围,将
N
e
w
t
o
n
\rm Newton
Newton法的计算结果
x
‾
k
+
1
=
x
k
−
f
(
x
k
)
f
′
(
x
k
)
\overline{x}_{k+1} = x_k - \cfrac{f(x_k)}{f^\prime(x_k)}
xk+1=xk−f′(xk)f(xk)与前一步的近似值
x
k
x_k
xk进行加权后得到新的近似,即
x
k
+
1
=
(
1
−
λ
s
)
x
k
+
λ
s
x
‾
k
+
1
=
(
1
−
λ
s
)
x
k
+
λ
s
[
x
k
−
f
(
x
k
)
f
′
(
x
k
)
]
=
x
k
−
λ
s
f
(
x
k
)
f
′
(
x
k
)
,
s
=
0
,
1
,
⋯
\begin{aligned} x_{k+1} &= (1-\lambda_s) x_k + \lambda_s \overline x_{k+1}\\ &= (1-\lambda_s)x_k+\lambda_s\bigg[x_k-\frac{f(x_k)}{f^\prime(x_k)}\bigg] \\ &= x_k - \lambda_s \frac{f(x_k)}{f^\prime(x_k)} ,s=0,1,\cdots \end{aligned}
xk+1=(1−λs)xk+λsxk+1=(1−λs)xk+λs[xk−f′(xk)f(xk)]=xk−λsf′(xk)f(xk),s=0,1,⋯
λ
s
\lambda_s
λs称为下山因子,通过选择适当下山因子,能使得产生的迭代序列
{
x
k
}
k
=
0
∞
\{x_k\}_{k=0}^\infty
{xk}k=0∞满足
∣
f
(
x
k
+
1
)
∣
<
∣
f
(
x
k
)
∣
\mid f(x_{k+1}) \mid < \mid f(x_k) \mid
∣f(xk+1)∣<∣f(xk)∣
则该序列是一个下山序列。
N
e
w
t
o
n
\rm Newton
Newton下山法的具体算法如下:
计算开始前需要先给出根的绝对误差限
ε
x
\varepsilon_x
εx,下山因子的下界
ε
λ
s
\varepsilon_{\lambda_s}
ελs,
∣
f
(
x
)
∣
\mid f(x) \mid
∣f(x)∣的下界
ε
f
\varepsilon_f
εf,适当的增量
δ
\delta
δ以及最大迭代次数
N
N
N
- 选取初值 x 0 x_0 x0
- 令下山因子 λ s = 1 \lambda_s=1 λs=1
- 利用 N e w t o n \rm Newton Newton下山公式由 x k x_k xk计算 x k + 1 x_{k+1} xk+1,并计算 f ( x k + 1 ) f(x_{k+1}) f(xk+1)
- 若 k > N k>N k>N,则转到 6 6 6,否则执行 5 5 5
- 判断
∣
f
(
x
k
+
1
)
∣
<
∣
f
(
x
k
)
∣
\mid f(x_{k+1}) \mid < \mid f(x_k) \mid
∣f(xk+1)∣<∣f(xk)∣是否成立
- 当
∣
f
(
x
k
+
1
)
∣
<
∣
f
(
x
K
)
∣
\mid f(x_{k+1} ) \mid < \mid f(x_K) \mid
∣f(xk+1)∣<∣f(xK)∣成立,分情况执行
a. 若 ∣ x k + 1 − x k ∣ < ε x \mid x_{k+1} - x_k \mid < \varepsilon_x ∣xk+1−xk∣<εx,则取 α ≈ x k + 1 \alpha \approx x_{k+1} α≈xk+1,输出结果
b. 若 ∣ x k + 1 − x k ∣ ≥ ε x \mid x_{k+1} - x_k \mid \geq \varepsilon_x ∣xk+1−xk∣≥εx,则将 x k + 1 x_{k+1} xk+1作为新的 x k x_k xk, k k k增加 1 1 1,转向 2 2 2 - 当$\mid f(x_{k+1}) \mid \geq \mid f(x_k) \mid
成立,分情况执行
a
.
若
成立,分情况执行 a. 若
成立,分情况执行a.若\mid f(x_{k+1}) \mid < \varepsilon_f
,则取
,则取
,则取\alpha \approx x_{k+1}
,输出结果
b
.
若
,输出结果 b. 若
,输出结果b.若\mid f(x_{k+1} \mid \geq \varepsilon_f$,分情况执行
- 若 λ s > ε λ s \lambda_s> \varepsilon_{\lambda_s} λs>ελs,则以 λ s 2 \cfrac{\lambda_s}{2} 2λs代替 λ s \lambda_s λs,转向 3 3 3
- 若 λ s ≤ ε λ s \lambda_s \leq \varepsilon_{\lambda_s} λs≤ελs,则以 x k + 1 + σ x_{k+1}+\sigma xk+1+σ代替 x k x_k xk, k k k增加 1 1 1,转向 2 2 2
- 当
∣
f
(
x
k
+
1
)
∣
<
∣
f
(
x
K
)
∣
\mid f(x_{k+1} ) \mid < \mid f(x_K) \mid
∣f(xk+1)∣<∣f(xK)∣成立,分情况执行
- 已迭代 N N N次,仍未达到要求,下山失败,此时需重新另选初值 x 0 x_0 x0,再转向 2 2 2后开始新的计算
弦割法
x k + 1 = x k − f ( x k ) f ′ ( x k ) f ′ ( x ) ≈ f ( x k ) − f ( x k − 1 ) x k − x k − 1 ⇒ x k + 1 = x k − f ( x k ) f ( x k ) − f ( x k − 1 ) ( x k − x k − 1 ) \begin{aligned} &x_{k+1} = x_k - \frac{f(x_k)}{f^\prime(x_k)}\\ &f^\prime(x) \approx \frac{f(x_k)-f(x_{k-1})}{x_k-x_{k-1}} \\ \Rightarrow &x_{k+1} = x_k-\frac{f(x_k)}{f(x_k)-f(x_{k-1})}(x_k-x_{k-1}) \end{aligned} ⇒xk+1=xk−f′(xk)f(xk)f′(x)≈xk−xk−1f(xk)−f(xk−1)xk+1=xk−f(xk)−f(xk−1)f(xk)(xk−xk−1)
解线性代数方程组的直接法
Gauss消元法
Gauss顺序消元法
KaTeX parse error: Undefined control sequence: \mbox at position 30: …ongrightarrow_{\̲m̲b̲o̲x̲{初等行变换,依次消去各列的主…
- Gauss \text{Gauss} Gauss顺序消元法能进行下去 ⟺ \iff ⟺ 前 n − 1 n-1 n−1阶顺序主子式不为零
Gauss主元消元法
- 列主元消元法
- 全主元消元法
矩阵三角分解法
直接三角分解法
A = L U { L is Unit lower triangular matrix Doolittle U is Unit upper triangular matrix Crout A = LU \begin{cases} \text{L is Unit lower triangular matrix} &\text{Doolittle} \\ \text{U is Unit upper triangular matrix} &\text{Crout} \\ \end{cases} A=LU{L is Unit lower triangular matrixU is Unit upper triangular matrixDoolittleCrout
前
n
−
1
n-1
n−1阶顺序主子式不为零,
Doolittle,Crout
\text{Doolittle,Crout}
Doolittle,Crout分解唯一
A
=
L
U
,
A
x
=
b
⟹
(
L
U
)
x
=
b
⟹
{
L
y
=
b
lower triangular matrix
U
x
=
y
upper triangular matrix
A = LU,Ax = b \Longrightarrow (LU)x = b \Longrightarrow \begin{cases} Ly = b &\text{lower triangular matrix}\\ Ux = y &\text{upper triangular matrix} \end{cases}
A=LU,Ax=b⟹(LU)x=b⟹{Ly=bUx=ylower triangular matrixupper triangular matrix
{ y 1 = b 1 , y k = b k − ∑ m = 1 k − 1 l k m y m ( k = 2 , 3 , ⋯ , n ) . { x n = y n u n n x k = 1 u k k ( y k − ∑ m = k + 1 n u k m x m ) ( k = n − 1 , n − 2 , ⋯ , 1 ) \begin{aligned} &\left\{\begin{array}{l} y_1=b_1, \\ y_k=b_k-\sum_{m=1}^{k-1} l_{k m} y_m \quad(k=2,3, \cdots, n) . \end{array}\right.\\ &\left\{\begin{array}{l} x_n=\frac{y_n}{u_{n n}} \\ x_k=\frac{1}{u_{k k}}\left(y_k-\sum_{m=k+1}^n u_{k m} x_m\right) \quad(k=n-1, n-2, \cdots, 1) \end{array}\right. \end{aligned} {y1=b1,yk=bk−∑m=1k−1lkmym(k=2,3,⋯,n).{xn=unnynxk=ukk1(yk−∑m=k+1nukmxm)(k=n−1,n−2,⋯,1)
{ u k j = a k j − ∑ m = 1 k − 1 l k m u m j ⇒ a k j ( j = k , k + 1 , ⋯ , n ) , l i k = 1 u k k ( a i k − ∑ m = 1 k − 1 l i m u m k ) ⇒ a i k ( i = k + 1 , k + 2 , ⋯ , n ) \begin{cases} u_{k j}=a_{k j}-\sum_{m=1}^{k-1} l_{k m} u_{m j} \Rightarrow a_{k j} \quad(j=k, k+1, \cdots, n), \\ l_{i k}=\frac{1}{u_{k k}}\left(a_{i k}-\sum_{m=1}^{k-1} l_{i m} u_{m k}\right) \Rightarrow a_{i k} \quad(i=k+1, k+2, \cdots, n) \\ \end{cases} {ukj=akj−∑m=1k−1lkmumj⇒akj(j=k,k+1,⋯,n),lik=ukk1(aik−∑m=1k−1limumk)⇒aik(i=k+1,k+2,⋯,n)
列主元三角分解法
- 选第一列主元后,分解第一行第一列,以及 y 1 y_1 y1
- 求解第二列分解后的元素的临时大小,求最大行交换
- 求第2行第2列, y 2 y_2 y2,重复
平方根法
A
A
A是
n
n
n阶对称正定矩阵$\Longrightarrow $
A
=
L
L
T
(Cholesky)
A = LL^T \tag{Cholesky}
A=LLT(Cholesky)
L
L
L是非奇异下三角矩阵(如果规定对角元为正,分解唯一)
方程组的性态与误差分析
向量和矩阵范数见矩阵论
C
o
n
d
(
A
)
=
∥
A
−
1
∥
∥
A
∥
Cond(A) = \parallel A^{-1} \parallel \ \parallel A \parallel
Cond(A)=∥A−1∥ ∥A∥
降低方程组系数矩阵条件数的方法
A
x
=
b
→
Λ
1
A
Λ
2
y
=
Λ
1
b
,
x
=
Λ
2
y
Ax =b \rightarrow \Lambda_1 A \Lambda_2 y = \Lambda_1 b,x = \Lambda_2y
Ax=b→Λ1AΛ2y=Λ1b,x=Λ2y
使得
C
o
n
d
(
Λ
1
A
Λ
2
)
=
m
i
n
Cond(\Lambda_1 A \Lambda_2) = min
Cond(Λ1AΛ2)=min
Λ
1
,
Λ
2
\Lambda_1,\Lambda_2
Λ1,Λ2简单的设置方法有
Λ
2
=
I
,
Λ
1
=
d
i
a
g
(
1
s
1
,
1
s
2
,
⋯
,
1
s
n
)
,
s
i
=
max
1
≤
j
≤
n
∣
a
i
j
∣
\Lambda_2 = I,\Lambda_1 = diag(\frac1s_1,\frac1s_2,\cdots,\frac1s_n),s_i =\max_{1\leq j \leq n} \mid a_{ij} \mid
Λ2=I,Λ1=diag(s11,s12,⋯,s1n),si=1≤j≤nmax∣aij∣