Articles

連立方程式

Posted on

連立方程式を解くためのアルゴリズムはいくつかあります。

Describing the solutionEdit

無限の解を持つ集合を記述するには、通常、変数のいくつかを自由変数(または独立変数、またはパラメータ)とし、任意の値を取ることができるようにし、残りの変数は自由変数の値に依存します。

例えば、次のようなシステムを考えてみましょう。

x + 3 y – 2 z = 5 3 x + 5 y + 6 z = 7\\&&&&3y&&;-。&&2z&&&&&\3x&&\3x&;+\5y&& 5y&&;+\6z&&&&&&&\end{alignedat}}}

この系の解集合は、次の式で表されます:

x = – 7 z – 1 and y = 3 z + 2 . {\displaystyle x=-7z-1\;\;\;\;{\text{and}}\;\;\;\;y=3z+2{\text{.}}}

ここで、zは自由変数で、xとyはzに依存します。

各自由変数は、解空間に1つの自由度を与え、その数は解集合の次元に等しい。

各自由変数は、解空間に1つの自由度を与え、その数は解集合の次元に等しい。例えば、上の方程式の解集合は、パラメータzの値を指定することで解集合の点を選ぶことができるので、直線である。

自由変数の選択を変えると、同じ解集合でも異なる記述になることがある。例えば、上の方程式の解は、代替的に次のように記述できる。

y = – 3 7 x + 11 7, z = – 1 7 x – 1 7 …

ここで、xは上の方程式の解である。

ここで、xは自由変数、yとzは従属変数です。

変数の消去 編集

連立方程式を解く最も簡単な方法は、変数の消去を繰り返すことです。

  1. 最初の式で、変数の1つを他の変数で解きます。
  2. この式を残りの式に代入すると、方程式が1つ減り、未知数が1つ減る連立方程式が得られます。
  3. この連立方程式が1つの連立方程式になるまで繰り返します。

例えば、次のようなシステムを考えてみましょう。

x + 3 y – 2 z = 5 3 x + 5 y + 6 z = 7 2 x + 4 y + 3 z = 8 {˶‾᷄ -̫ ‾᷅˵}x&&&&3y&&&&2z&&&&&\3x&&\3x&;+\5y&& 5y&&;| && 6z&&;=。&&&\2x&&&&4y&&&&3z&& 。=\;&&&\end{alignedat}}}

1つ目の式をxについて解くと、x = 5 + 2z – 3yとなり、これを2つ目と3つ目の式に差し込むと

– 4 y + 12 z = – 8 – 2 y + 7 z = – 2 {\displaystyle {\begin{alignedat}{5}-4y&&\;| 12z&&&&&&\-2y&&\-2y&&&7z&& ;=\;&&&\end{alignedat}}}

これらの方程式の最初の式をyについて解くと、y = 2 + 3zとなり、これを2番目の式に差し込むとz = 2となります。 これで、次のようになります。

x = 5 + 2 z – 3 y y = 2 + 3 z z = 2 {\\}x&&&&&÷&&2z&& 。&&3y&\y&&\y&&&&& ;+\;&&3z&&&&&&\\z&&&&&&&&&&&&&\end{alignedat}}}

行数削減編集

Main article: Gaussian elimination

行の削減(Gaussian eliminationとしても知られている)では、線形システムは拡張行列として表現されます。

この行列を、縮小行エシュロン形式になるまで、基本的な行操作を用いて修正します。 基本的な行操作には3つのタイプがあります:

タイプ1:2つの行の位置を入れ替える。 タイプ2:1つの行に非ゼロのスカラを乗算する。 タイプ3:ある行に他の行のスカラー倍数を加える。

これらの演算は可逆的であるため、生成される拡張行列は常に元の行列と等価な線形系を表します。

拡張行列を行削減するための具体的なアルゴリズムはいくつかありますが、最も単純なものはガウスの消去とガウス・ヨルダンの消去です。 次の計算は、上の行列にガウス・ヨルダンの消去法を適用したものである:

∼ ∼ ∼ ∼ ∼ ∼ .

最後の行列は、ガウス・ヨルダンの消去法を適用したものです。

最後の行列は、縮小行エシュロン形式で、システムx = -15, y = 8, z = 2を表しています。 前節の変数の代数的消去の例と比較すると、これらの2つの方法は実際には同じであり、違いは計算の書き方にあることがわかります。

Cramer’s ruleEdit

Main article: クレーマーの法則

クレーマーの法則とは、各変数が2つの行列式の商で与えられる連立方程式の解を示す明示的な公式です。 例えば、システムの解は

x + 3 y – 2 z = 5 3 x + 5 y + 6 z = 7 2 x + 4 y + 3 z = 8 {displaystyle {begin{alignedat}{7}x&&\;3y&&\;2z&&\;5\\3x&&\;5y&&\;6z&&\;7\\2x&&\;4y&&\;3z&&\;8\end{alignedat}}}

は次のように与えられます

x = | 5 3 – 2 7 5 6 8 4 3 | 1 3 – 2 3 5 6 2 4 3 | , y = | 1 5 – 2 3 7 6 2 8 3 | 1 3 – 2 3 5 6 2 4 3 | 1 3 – 2 3 5 7 6 2 4 3 | , z = | 1 3 5 3 5 7 2 4 8 | 1 3 – 2 3 5 6 2 4 3 | . このようにして、私たちは、自分たちの生活をより豊かなものにしていきます。\left|{\begin{matrix}5&&&&&&3\end{matrix}}\right|\,}{\,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}},\;\;\;\;y={{\\}}。\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}{\,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}},\;\;\;\;z={˶‾᷄덴‾᷅˵\left|{\begin{matrix}1&&&&&&8\end{matrix}}\right|\,}{\,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}}.}

Cramerの法則は理論的には重要ですが、大きな行列の場合、大きな行列式の計算はやや面倒なので、実用的な価値はほとんどありません。

Matrix solutionEdit

連立方程式が行列形式で表現される場合 A x = b {\\mathbf {x} =\mathbf {b}}。 } とすれば、全解セットも行列形式で表現できる。 行列Aが正方(m行、n=m列)でフルランク(m行すべてが独立)の場合、システムは次のように与えられるユニークな解を持つ

x = A – 1 b {displaystyle ˶‾᷄ -̫ ‾᷅˵} {A^{-1}\mathbf {b}. } x = A + b + ( I – A + A ) w {\\ mathbf {x} =A^{+}\ mathbf {b} +(I-A^{+}A)⏺️⏺️⏺️⏺️。 }

Other methodsEdit

3~4つの方程式系は手で簡単に解けるが(Cracovian参照)、より大きな方程式系ではコンピュータを使うことが多い。 一次方程式系を解くための標準的なアルゴリズムは、ガウスの消去法に基づいていますが、いくつかの変更が加えられています。 まず,不正確な結果を招く可能性のある小数による除算を避けることが重要である. これは、必要に応じて方程式の順序を入れ替えることで可能になります(ピボットと呼ばれる処理)。 第二に,このアルゴリズムは正確にはガウスの消去を行わず,行列AのLU分解を計算しています.

行列 A が何らかの特別な構造を持っている場合、これを利用して、より高速または高精度のアルゴリズムを得ることができます。 例えば、対称性のある正定値行列を持つシステムは、コレスキー分解によって2倍の速さで解くことができます。 レビンソン再帰は、トエプリッツ行列に対する高速な手法です。

非常に大きなシステムでは、時間やメモリがかかりすぎるため、まったく別のアプローチをとることがよくあります。 これは、解の初期近似(正確である必要はありません)から始めて、この近似をいくつかのステップで変更し、真の解に近づけていくというものです。 近似値が十分に正確になると、これをシステムの解とします。

また、連立方程式に対する量子アルゴリズムもあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です