「数値解析」 - 2方程式系

0.背景

前の章では、一変量方程式を解く方法を学びました。この章では、方程式の数と同じくらい多くの未知の変数を含む問題に重点を置き、多くの多変量方程式の同時解法を研究します。

ガウス消去法は、適切なサイズの線形方程式を解くのに便利なツールです。

1. ガウス消去法

ガウス消去法は、n 個の未知数を持つ n 個の方程式を効率的に解くことができます。

ガウス消去法は主に、計算コストが比較的大きい消去処理と、計算コストが比較的小さい逆置換処理の 2 つの不等部分で構成されます。

n 個の方程式と n 個の未知数の消去計算は\frac{2}{3}n^3+\frac{1}{2}n^2-\frac{7}{6}n1 回の操作で完了します。 

2.LU分解

LU 分解はガウス消去法の行列形式であり、係数行列 A を下三角行列 L と上三角行列 U の積として書き込むことが含まれます。ガウス消去法によって解かれた問題が Ax=b である場合、LU 分解の後、問題は LUx=b に変換されます。

このうち、U 行列は伝統的なガウス消去法で得られる上三角行列で、対応する L 行列は主対角に 1 を配置し、次に従って下三角行列に乗数を配置することで得られます。エリミネーション中の特定の位置。

LU 分解を使用して生成ステップに変換するにはどうすればよいですか?

Ax=b ---> LUx=b --->c=Ux Lc=b c を見つける ---> Ux=c x を見つける

L と U は両方とも三角行列であるため、これら 2 つのステップの操作は非常に簡単です。

なぜ LU 分解が行われるのでしょうか?

一般に、Ax=b を解く問題は、異なる問題の集合であることがよくあります。通常、行列 A は一定ですが、b は頻繁に変化します。そのため、b は、LU 分解を通じて A を含む計算から分離され、消去プロセスは 1 つだけです。このような問題を解決することができます。

ただし、すべての行列を LU で分解できるわけではありません。LU 分解の前にいくつかの作業、つまりいくつかのピボットを行う必要があります。

3. エラー

無限大ノルム 

ベクトルx=(x_1,x_2,...,x_n)の無限ノルムまたは最大ノルムは{\左 |  \左 |  x \右 |  \right |}_\infty=max \left |  x_i \右 |、つまり、x のすべての要素の最大絶対値です。

x_aを線形方程式系の近似解とし斧=b剰余をベクトルとしますr=b-Ax_a。後方誤差は剰余のノルム{\左\|  b-Ax_a \right \|}_\infty、前方誤差は{\左\|  x-x_a \right \|}_\infty、相対後方誤差は\frac{ {\左 \|  r \right \|}_\infty }{ {\left \|  b \right \|}_\infty }、相対前方誤差は\frac{ {\左 \|  x-x_a \right \|}_\infty }{ {\left \|  x \right \|}_\infty }

誤差増幅率は次のとおりです。

\frac{\frac{ {\左 \|  x -x_a \right \|}_\infty }{ {\left \|  x \right \|}_\infty }}{\frac{ {\left \|  r \right \|}_\infty }{ {\left \|  b \right \|}_\infty }}

行列の条件番号

行列 A の条件数 cond(A) は、Ax=b を解くときの全右ベクトル b の可能な最大誤差増幅率です。

行列ノルム

nxn 行列 A の行列ノルムは、{\左\|  \正しい\|}_\infty各行の要素の絶対値の合計の最大値、つまり各行の要素の絶対値を合計し、その最大値を求めます。 n 行の合計が行列 A のノルムとして使用されます。

驚くべきことに、正方行列の条件数を表すコンパクトな公式があります。

cond(A)=\left \|  \右 \|\左 \|  A^{-1} \右 \|

行列の 1 ノルム

nxn 行列 A の行列 1 ノルムは{\左\|  \正しい\|}_1= 最大絶対列合計、つまり列ベクトルの 1 ノルムの最大値です。

 4.PA=LU分解

先ほど検討したガウス消去法は、2 つの重大な障害があるため、「ナイーブ」問題と呼ばれています。それは、0 ピボット (消去が不可能になる) と溺死問題 (乗数が大きすぎると、一番下の方程式が抑制される) です。非特異行列の場合、アルゴリズムを改善することでこの 2 つを回避できます。改良された戦略は、係数行列の行の交換、つまり部分ピボットと呼ばれる方法に焦点を当てています。

部分ピボット

部分ピボットの考え方は、各削除ステップの前に最初の列で最大の要素を見つけ、その対応する行をピボット行と交換することです (つまり、PA=LU)。このうち、P は各ステップでのピボット選択のための最終的な累積された置換行列です。

部分ピボット法を使用すると、Ax=b の問題はさらに PAx=Pb -->LUx=Pb に変換されます。

次に、Lc=Pb から c を取得し、Ux=c から x を取得します。

ガウス ピボット法の利点は、ピボットを選択する処理があるため、プログラムが消去演算を実行するときに主要素を 0 として選択する状況を回避でき、また、計算の丸め誤差が減少するため、計算の精度が向上します。プログラム、結果の一般性と正確性。

5. 反復的なアプローチ

ガウス法は、連立一次方程式を解くための簡単な方法です。理論的には、直接法は有限ステップで正確な解を得ることができます。

反復法は、線形連立方程式を解くためにも使用できます。固定小数点反復法と同様に、この方法は初期推定値から開始し、各ステップで推定値を調整し、最終的に解ベクトルに収束します。

ヤコビアン法 

ヤコビアン法は、連立方程式における固定小数点反復の形式です。

ヤコビアン法は、次のような標準的な方法で処理されます。

i 番目の方程式を解き、i 番目の未知の量を取得します。

次に、固定小数点反復を使用して、初期推定値から開始して反復します。

しかし、ヤコビアン法が常に解決に成功するとは限らず、それが機能する条件を知ることは理解に役立ちます。

まず、厳密に対角的に優勢な行列の概念を理解しましょう。

厳密に対角優位な行列の定義

対応する行では対角要素が支配的であり、その値(絶対値)は行内の他の要素の合計よりも大きくなります。

厳密に対角優位な行列のプロパティ

nxn 行列 A が厳密に対角的に優勢である場合、A は次のようになります。

1) 非特異行列です。

2) すべてのベクトル b と初期推定値について、ヤコビアン法を Ax=b に適用すると、一意の解に収束します。

ヤコビの具象アルゴリズム

行列 A は A=L+D+U として書くことができ、解の方程式は Lx+Dx+Ux=b として書くことができ、これはさらに次のように変形できます。x=D^{-1}(b-(L+U)x_k)

ヤコビアンの反復プロセスは次のようになります。

x_0= 初期ベクトル;

x_{k+1}=D^{-1}(b-(L+U)x_k)

ガウス・ザイデル法

ガウス・ザイデル法とヤコビアン法の違いは、ガウス・ザイデル法によって更新される未知変数の値は、たとえ現在のステップで更新が行われたとしても、各ステップで常に更新されることです。

ガウス・ザイデル法の反復プロセスは次のとおりです。

x_0= 初期ベクトル;

x_{k+1}=D^{-1}(b-Ux_k-Ux_{k+1})

逐次過緩和法 (SOR)

連続過緩和法では、ガウス・ザイデル法の解方向を使用し、過緩和を利用して収束を高速化します。

SOR は、Ax=b に w を乗算し、方程式を再構成すると考えることができます。

(wL+wD+wU)x=wb

(wL+D)x=wb-wUx+(1-w)Dx

x=(wL+D)^{-1}[(1-w)Dx-wUx]+w(wL+D)^{-1}b

おすすめ

転載: blog.csdn.net/weixin_44307969/article/details/128049556