3非線形方程式

3非線形方程式

3.1基本的な定義

すなわち、式の多項式又は根を解くを超え、非線形方程式を解くルートは、式がそのような固定されたルートの式ではありません。:一般的な非線形方程式が正式のように表すことができる
\ [F(X)= 0 \]
定義3.1場合\(P \)を満足\(F(P)= 0 \)と呼ばれる、\(Pは\)でありますゼロルートまたは関数式。もし(F(X)\)\:次の形式に分解することができる
\リム\ limits_ {X \ RIGHTARROW P}; \ [F(X)=(XP)^ MH(X)\クワッド\テキスト{と} \ H(X)\ NE0 \] (M> 1 \)\、我々はと呼ばれる\(P \)である\(F(X)= 0 \) M複数ルートの。

定理3.1:集合\(F(X)\に{C ^ M [A、B]} \) 次いで\(のp \ {( A、B)} \) である\(F(X)\)のM重根、場合に限り
、[F(P)= F \ 「(p)= \ cdots = F ^ {(M-1)}(P)= 0 \; \テキスト{と} \; F ^ {( \ NE0 M)}(P)
\] 上記定理がテイラーによって実証することができる拡張しました。

3.2定義:間隔場合\([A、B] \ ) の式を含む\(F(X)= 0 \) ルートは、式の部分を含有する根元部と呼ばれます。セクションでは、唯一のルートが含まれている場合、範囲は、すべての根元部と呼ばれています。

一般的に、連続関数のために、それはセクションの式(の根を含む値定理か否かによって決定することができる\(F(A)F(B)<0 \) かどうかを決定するの単調関数が続きます唯一のルート。

3.2二分法

原理:\(F(X)\にC [A、B] \) および\(F(A)F(B)\ LT0 \) 次いで\(F(X)\)\((A 、B)\)少なくとも一つのルート上に存在します。

計算:

  1. オーダー\(K = 0 \) 所定の初期間隔((A_0、B_0)\)\、満足\(F(A_0)F(B_0)<0 \) 又は根元端部において)
  2. 計算\(X_K =(a_k + b_k )/ 2 \)
  3. 場合\(F(X_K)= 0 \) または(| b_k-a_k | / 2 <\ varepsilon \)\、次に\(X_Kは\)所望のルートです。
  4. もし\(F(a_k)F(X_K)<0 \) そう\(A_ 1} = {K +のa_k、B_。1} = {+ X_K K、K = K + 1 \) リターン2
  5. もし\(F(b_k)F(X_K)<0 \) そう\(A_ 1} = {K + X_K、B_。1} = {+ b_k K、K = K + 1 \) リターン2

ステップkの二分法を行った後:
\ [| X-X_K | \ル\ FRAC {| b_k-a_k | 2} = {\ FRAC {BA} ^ {2}} 1、{K + \。]
使用期間とすることができます長さの推定精度。

二分法の欠点:

収束速度に対応する単純なものの二分法が、遅い収束、\(1/2 \)等比数列の一般的な比率であるが、一般に根元部は、最初に二分法により同定することができます。偶数次根の重量のために(例えば、\((XA)^ 2 = 0 \) と複素根を二分法を解決するために使用することができません。

定点反復3.3

定点反復基本的な考え方は、固定小数点式を構築することである、すなわち、元の式\(F(X)= 0 \) 同等に\(X = \ varphi(X )\) 形式、前記\ (\ varphi(\ CDOT)\ ) 圧縮されたマッピング機能です。次いで、反復形式:(1 + X_ {K} = \ varphi(X_K)\)\繰り返し、所定の初期値\(X_0 \)反復に収束する\(\ varphi(\ CDOT) \) 我々はルートを必要とし、ある一定のポイント、。:これは、ある
\ [X ^ * = \ lim_ {K \ RIGHTARROW \ inftyの} X_ {K + 1} = \リム\ varphi(X_K)= \ varphi(\リム_ {} X_K)= \ varphi(X ^ * )\]
以下のように反復プロセスの概略図です。

画像-20200111154500356

ここで、画像の左側は、収束のための反復の場合で\(P_0 = \ファイ(X_0)、X_1 = P_0、P_1 = \ファイ(X_1)\) 直線に沿っと等価である\(Y = X \)ルートへの近似。右側には収束せずに絵があります。

例如:求解方程\(f(x)=x^3+4x^2-10=0\)\((1,2)\)内的根,具有以下几种迭代格式:
\[ \begin{aligned} &1.\;x=x^3+4x^2-10+x\qquad&\text{divergence}\\ &2.\;x=\sqrt{\frac{10}{x}-4x}&\text{divergence}\\ &3.\;x=\frac{1}{2}\sqrt{(10-x^3)}&\text{convergence}\\ &4.\;x=\sqrt{\frac{10}{4+x}}&\text{convergence}\\ \end{aligned} \]
因此,对于相同的方程可以有不同的迭代格式。然而这些格式有些是发散的,有些是收敛的。并且对于收敛的迭代而言,其收敛速度也不尽相同。

之前已经证明,如果\((X,d)\)是一个完备度量空间,且映射\(g:X\rightarrow X\)是集合\(X\)上的一个压缩映射,那么\(g\)有唯一不动点。因此,我们的目标自然是找到一个合适的压缩映射函数。

定理3.2:如果\(\varphi(x)\in{C[a,b]}\),并满足以下条件:

  1. 对于任意\(x\in[a,b]\),有\(a\le\varphi(x)\le b\)
  2. 存在正数\(0\le L<1\),并且\(\forall\;x_1,x_2\in[a,b]\),都有\(|\varphi(x_1)-\varphi(x_2)|\le L|x_1-x_2|\)成立

则根据压缩映射定理,只要\(x_0\in[a,b]\),那么迭代过程\(x_{k+1}=\varphi(x_k)\)必然收敛到该压缩映射的不动点,也就是我们所要求的根。

证明:如果\(\varphi(a)=a\)或者\(\varphi(b)=b\),即\(a\)\(b\)\(\varphi(x)\)的不动点,即我们所要求的根。否则根据条件1,可构造函数\(h(x)=\varphi(x)-x\)并且满足如下条件:
\[ h(a)=\varphi(a)-a>0\\h(b)=\varphi(b)-b<0 \]
根据介值定理可知,存在\(x^*\in(a,b)\)使得\(h(x^*)=\varphi(x^*)-x^*=0\),即\(x^*\)\(\varphi(x)\)的不动点。
\[ |x_{k+1}-x^*|=|\varphi(x_k)-\varphi(x^*)|\le L|x_k-x^*| \]
最终可以得到:\(|x_k-x^*|\le L^k|x_0-x^*|\),因此
\[ \lim_{k\rightarrow\infty}|x_k-x^*|\le\lim_{k\rightarrow\infty}L^k|x_0-x^*|=0 \]
所以\(\lim{x_k}=x^*\),即根的存在性得到证明。

根据条件2可知,\(\varphi(\cdot)\)实际上就是区间\([a,b]\)上的压缩映射函数,根据第二章关于压缩映射函数的证明可知该不动点\(x^*\)是唯一的。至此,我们证明了根的存在性和唯一性。

此外,根据条件2,\(|x_{k+1}-x_k|=|\varphi(x_k)-\varphi(x_{k-1})|\le L|x_k-x_{k-1}|\),所以\(|x_{k+1}-x_k|\le L^k|x_1-x_0|\)。对于任意正整数\(p\)
\[ \begin{split} |x_{k+p}-x_k|&\le|x_{k+p}-x_{k+p-1}|+|x_{k+p-1}-x_{k+p-2}|+\cdots+|x_{k+1}-x_k|\\ &\le(L^{k+p-1}+L^{k+p-2}+\cdots+L^k)|x_1-x_0|\\ &\le\frac{L^k}{1-L}|x_1-x_0| \end{split} \]
因为\(p\rightarrow+\infty\)时,\(x_{k+p}\rightarrow x^*\),所以
\[ |x^*-x_k|\le\frac{L^k}{1-L}|x_1-x_0| \]
此外
\[ \begin{split} |x^*-x_k|&=|x^*-x_{k+1}+x_{k+1}-x_k|\\ &\le|x^*-x_{k+1}|+|x_{k+1}-x_k|\\ &\le L|x^*-x_{k}|+L|x_{k}-x_{k-1}| \end{split} \]
经过移项可以得到
\[ |x^*-x_k|\le\frac{L}{1-L}|x_k-x_{k-1}| \]
所以我们可以令\(|x_k-x_{k-1}|<\varepsilon\)来控制解的迭代次数(精度)。

对于定理3.2而言,关键是找到区间\([a,b]\)上的压缩映射函数,如果
\[ \forall\;x\in[a,b],\exists\;L\in[0,1)\quad|\varphi’(x)|\le L<1 \]
那么\(\varphi(x)\)就是该区间上的一个压缩映射函数,根据拉格朗日中值定理可以很容易得到:
\[ \forall\;x_1,x_2\in[a,b]\quad|\varphi(x_1)-\varphi(x_2)|=|\varphi'(\xi)||x_1-x_2|\le L|x_1-x_2| \]
其中\(\xi\)\(x_1\)\(x_2\)之间。

3.4 牛顿迭代法

\(x_k\)\(f(x)=0\)的一个近似根,将\(f(x)\)\(x_k\)处作泰勒展开
\[ f(x)=f(x_k)+f'(x_k)(x-x_k)+\frac{f''(x_k)}{2!}(x-x_k)^2+\cdots \]
若选择前两项来代替\(f(x)\),称为\(f(x)\)线性化,则得到近似的线性化方程
\[ f(x)\approx f(x_k)+f'(x_k)(x-x_k)=0 \]
\(f(x_k)\ne0\),将上述式子变成
\[ x=x_k-\frac{f(x_k)}{f'(x_k)} \]
写成迭代的形式,如下
\[ x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)} \]
牛顿迭代法具有很直观的几何意义,如下图所示,从\(x_0\)点处开始做切线,然后通过切线与x轴的交点来逼近零点\(x^*\)

画像-20200111145547616

在什么情况下,牛顿法能够收敛是我们关心的问题。因此下面将介绍全局收敛定理,只要满足该定理,使用牛顿法就能够唯一收敛到方程的根。

全局收敛定理\(f(x)\in C^2[a,b]\)

  1. \(f(a)f(b)<0\)
  2. 在整个\([a,b]\)\(f'(x)\ne0\)
  3. \(f''(x)\)\([a,b]\)上不变号
  4. 选取初始值\(x_0\in[a,b]\)使得\(f''(x_0)f(x_0)>0\)

只要满足上述四个条件,就可以保证由牛顿法产生的序列\(\{x_k\}\)能够单调收敛到\(f(x)=0\)的唯一根。

  1. 条件1实际上就是介值定理,保证方程有根。

  2. 条件2保证函数的单调性不变,即方程只有唯一的根。
  3. 条件3保证函数的凹凸性不变。
  4. 条件4指导我们如何选取一个合适的初始值,使得迭代过程更够单调且收敛。

实际上在满足条件1的前提下,根据条件2,3我们可以将情况分成单调增凸函数、单调减凸函数、单调增凹函数、单调减凹函数。画一个示意图,很容易就可以理解条件4为什么这样取值。

牛顿迭代也可以看成是一种不动点迭代,迭代函数为
\[ \varphi(x)=x-\frac{f(x)}{f'(x)} \]
于是我们可以得到
\[ \varphi'(x)=\frac{f''(x)f(x)}{[f'(x)]^2} \]
假设方程\(f(x)=0\)的根为\(x^*\),那么\(f(x^*)=0\)。于是,\(\varphi'(x^*)=0\)。根据函数的连续性,一定存在一个关于\(x^*\)的邻域\(|x-x^*|<\delta\)使得\(|\varphi'(x)|<1\)恒成立。

接下来只需说明\(\varphi(x)\)在区间\([x^*-\delta,x^*+\delta]\)上满足\(\varphi(x)\in[x^*-\delta,x^*+\delta]\),也就是说\(\varphi(x)\)是一个压缩映射函数,所以牛顿迭代法当选定好合适的区间后一定是单调收敛的。

在区间\([x^*-\delta,x^*+\delta]\)上应用拉格朗日中值定理有:
\[ |\varphi(x)-x^*|=|\varphi(x)-\varphi(x^*)|=|\varphi'(\xi)||x-x^*|<|x-x^*|\lt\delta \]
于是我们得到:\(\varphi(x)\in[x^*-\delta,x^*+\delta]\)

牛顿下山法

下山法是为了防止初始值\(x_0\)选取不当造成迭代发散或无限循环的情况,在迭代过程中加入函数绝对值单调减下的约束,即\(|f(x_{k+1})|<|f(x_k)|\)。为了达到这个目的,我们将使用原始牛顿迭代法的计算结果和前一步的近似值进行加权平均:
\[ x_{k+1}=\lambda\left(x_k-\frac{f(x_k)}{f'(x_k)}\right)+(1-\lambda)x_k=x_k-\lambda\frac{f(x_k)}{f'(x_k)} \]
通常,在每一步迭代中,依次取
\[ \lambda=1,\frac{1}{2},\frac14,\cdots \]
不断尝试计算\(x_{k+1}\)的值,直到满足条件\(|f(x_{k+1})|<|f(x_k)|\)后,进入下一次迭代。

割线法

如果所求的问题求导很不方便,则可以利用通过\(x_k\)点处的割线来替代切线,即
\[ f'(x_k)\approx\frac{f(x_k)-f(x_{k-1})}{x_k-x_{k-1}} \]
于是迭代公式变为
\[ x_{k+1}=x_k-\frac{f(x_k)}{f(x_k)-f'(x_{k-1})}(x_k-x_{k-1}) \]
因此如果使用割线法,就需要两个初始值。

大M法

如果想更加偷懒一点,就可以使用某一个给定的数\(M\)来替代\(f'(x_k)\),得到迭代公式
\[ x_{k+1}=x_k-\frac{f(x_k)}{M} \]
这种做法更加简便。

3.5 收敛阶和加速收敛

同样是收敛的方法,收敛的快慢可能是不同的,我们很自然会想要去选择收敛速度足够快的方法,在这一部分将介绍收敛阶,收敛阶是衡量迭代法收敛快慢的重要指标。

3.5.1 收敛阶的定义

定义 设序列\(\{x_k\}\)收敛于\(x^*\)\(x_k\ne x^*\),如果存在常数\(\alpha\ge1,\lambda>0\),使得迭代误差\(e_k=x_k-x^*\)满足极限式:
\[ \lim_{k\rightarrow\infty}\frac{|e_{k+1}|}{|e_k^\alpha|}= \lim_{k\rightarrow\infty}\frac{|x_{k+1}-x^*|}{|x_k-x^*|^\alpha}=\lambda \]
则称序列\(\{x_k\}\)\(\alpha\)阶收敛的,\(\lambda\)称为渐进误差常数。特殊地,

  • \(\alpha=1,\lambda<1\),称此时是线性收敛的。若\(\lambda\ge1\),则称为次线性收敛。
  • \(1<\alpha<2\)时,称为超线性收敛。
  • \(\alpha=2\)时,称为平方收敛。

此外,如果将上述极限式换成下面的不等式,且当\(k\ge K\)\(K\)为某一常数)时,下面不等式恒成立
\[ |x_{k+1}-x^*|\le\lambda|x_k-x^*|^\alpha \]
则称序列\(\{x_k\}\)至少\(\alpha\)阶收敛。

若满足\(\alpha\ge1\),都有
\[ \lim_{k\rightarrow\infty}\frac{|x_{k+1}-x^*|}{|x_k-x^*|^\alpha}=0 \]
则称序列\(\{x_k\}\)\(\alpha\)阶收敛。

3.5.2 不动点迭代的收敛阶

定理\(x^*\)\(g(x)\)的不动点,如果在\(x^*\)的一个邻域内\(g(x)\)具有\(m\)阶连续导数,并且满足
\[ g'(x^*)=g^{(2)}(x^*)=\cdots=g^{(m-1)}(x^*)=0,g^{(m)}(x^*)\ne0 \]
则迭代过程\(x_{k+1}=g(x_k)\)\(x^*\)的邻域内是\(m\)阶收敛的。

证明:在点\(x^*\)处进行泰勒展开
\[ g(x)=g(x^*)+g'(x^*)(x-x^*)+\cdots+\frac{g^{(m)}(\xi)}{m!}(x-x^*)^m \]
其中\(\xi\)\(x\)\(x^*\)之间的某个数。

于是,我们可以得到
\[ x_{k+1}=g(x_k)=x^*+\frac{g^{(m)}(\xi)}{m!}(x_k-x^*)^m \]
整理一下,便可以得到
\[ \lim_{k\rightarrow\infty}\frac{|x_{k+1}-x^*|}{|x_k-x^*|^m}= \lim_{k\rightarrow\infty}\left|\frac{g^{(m)}(\xi)}{m!}\right|= \left|\frac{g^{(m)}(x^*)}{m!}\right| \]
通过上述定理知道,如果在\(m=1\)的情况下,\(g'(x^*)\ne0\)那么该不动点迭代是1阶收敛的。如果\(0<|g'(x^*)|<1\),则是线性收敛。

3.5.3 牛顿法的收敛阶

牛顿法的收敛阶

假设\(f(x)\)具有唯一零点\(x^*\)且具有二阶连续导数,为了研究牛顿法的收敛阶,在\(x_k\)处进行泰勒展开
\[ f(x)=f(x_k)+f'(x_k)(x-x_k)+\frac{f''(\xi)}{2}(x-x_k)^2 \]
于是,我们有
\[ 0=f(x^*)=f(x_k)+f'(x_k)(x^*-x_k)+\frac{f''(\xi)}{2}(x^*-x_k)^2 \]
整理可得
\[ x_k-\frac{f(x_k)}{f'(x_k)}-x^*=\frac{f''(\xi)}{2}(x^*-x_k)^2 \]
于是
\[ \lim_{k\rightarrow\infty}\frac{|x_{k+1}-x^*|}{|x_k-x^*|^2}= \lim_{k\rightarrow\infty}\left|\frac{f^{''}(\xi)}{2}\right|= \left|\frac{f^{''}(x^*)}{2}\right| \]
因此,牛顿迭代法是平方收敛的。

重根的情况

但是如果方程\(f(x)\)具有\(m(\ge2)\)重根\(x^*\),那么牛顿法的收敛将会是线性的,原因如下:

假设\(f(x)=(x-x^*)^mg(x),g(x^*)\ne0\),那么根据牛顿迭代法有
\[ \begin{aligned} x_{k+1}&=x_k-\frac{(x_k-x^*)^mg(x_k)}{m(x_k-x^*)^{m-1}g(x_k)+(x_k-x^*)^mg'(x_k)}\\ &=x_k-\frac{(x_k-x^*)g(x_k)}{mg(x_k)+(x_k-x^*)g'(x_k)} \end{aligned} \]
于是
\[ \begin{aligned} x_{k+1}-x^*&=(x_k-x^*)-\frac{(x_k-x^*)g(x_k)}{mg(x_k)+(x_k-x^*)g'(x_k)}\\ &=(x_k-x^*)\frac{(m-1)g(x_k)+(x_k-x^*)g'(x_k)}{mg(x_k)+(x_k-x^*)g'(x_k)} \end{aligned} \]
因此
\[ \lim_{k\rightarrow\infty}\frac{|x_{k+1}-x^*|}{|x_k-x^*|}= \lim_{k\rightarrow\infty}\left|\frac{(m-1)g(x_k)+(x_k-x^*)g'(x_k)}{mg(x_k)+(x_k-x^*)g'(x_k)}\right|=\frac{m-1}{m}<1 \]
出现重根时的加速收敛

我々は多数のルートを知っていれば(M \)を\、我々はニュートンのフォーマットを変更することができる
\ [X_ {K + 1} = X_K-M \ FRAC {F(X_K)} {F「(X_K)} \]
以前の分析、我々が得ることができる
[\ \開始{整列} X_ {K + 1} -x ^ *&=(X_K-X ^ *) - \ FRAC {(X_K-X ^ *)MG(X_K )} {MG(X_K)+ (X_K-X ^ *)G '(X_K)} \\&=(X_K-X ^ *)^ 2 \ FRAC {G'(X_K)} {MG(X_K)+( X_K-X ^ *)G '
(X_K)} \端{整列} \] したがって
\ [\ lim_ {K \ RIGHTARROW \ inftyの} \ FRAC {| X_ {K + 1} -x ^ * |} {| X_K -x ^ * | ^ 2} =
\左| \ FRAC {G「(X ^ *)} {MG(X ^ *)} \右| \] このとき、反復スキームの改善が依然として正方形収束しています。

おすすめ

転載: www.cnblogs.com/philolif/p/calculation-method-3.html