
数学において、線形方程式系(または線形システム)とは、同じ変数を含む 2 つ以上の線形方程式の集合である。[ 1 ] [ 2 ] 例えば、 これは、3つの変数x、y、z に関する3つの方程式からなる連立方程式です。線形連立方程式の解とは、すべての方程式が同時に満たされるような変数への値の割り当てのことです。上記の例では、解は順序付き三つ組で与えられます。 なぜなら、それによって3つの方程式すべてが有効になるからである。
線形システムは、現代数学のほとんどの分野で用いられる線形代数の基礎となるものです。解を求めるための計算アルゴリズムは、数値線形代数の重要な部分であり、工学、物理学、化学、コンピュータ科学、経済学において重要な役割を果たしています。非線形方程式系は、多くの場合、線形システムで近似できます(線形化を参照)。これは、比較的複雑なシステムの数学モデルやコンピュータシミュレーションを作成する際に役立つ手法です。
多くの場合、そしてこの記事でも、方程式の係数と解は実数または複素数に限定されていますが、理論とアルゴリズムは任意の体上の係数と解にも適用できます。他の代数構造については、別の理論が開発されています。整数環などの整域における係数と解については、「環上の線形方程式」を参照してください。係数と解が多項式である場合は、「グレブナー基底」を参照してください。多数の整数解の中から「最適」な整数解を見つけるには、「整数線形計画法」を参照してください。線形代数を適用できるより特殊な構造の例については、「熱帯幾何学」を参照してください。
未知数が1つである方程式のシステム
解決策があります
しかし、興味深い線形システムのほとんどは、少なくとも2つの方程式から構成されている。
最も単純な非自明な線形システムは、2つの方程式と2つの変数から構成されます。
このような連立方程式を解く方法の一つは次のとおりです。まず、上の式を解いて、に関しては:
次に、このxの式を下の式に代入します。
これにより、変数のみを含む単一の方程式が得られます。解くと、これを式に代入すると収量この方法は、追加の変数を持つシステムにも一般化できます(下記の「変数の消去」または初等代数に関する記事を参照)。
n個の未知数と係数を持つm個の線形方程式の一般システムは次のように記述できます。
どこ未知の要素は、はシステムの係数であり、定数項です。[ 3 ]
係数や未知数は実数や複素数であることが多いが、整数や有理数、多項式や抽象的な代数構造の要素も現れる。
非常に役立つ見方の一つは、各未知数が線形結合における列ベクトルの重みであると考えることです。
これにより、ベクトル空間(より一般的には加群)のあらゆる言語と理論を適用することが可能になります。例えば、左辺( LHS)のベクトルの可能なすべての線形結合の集合をスパンと呼び、方程式は右辺のベクトルがそのスパン内にある場合にのみ解を持ちます。スパン内のすべてのベクトルが、与えられた左辺のベクトルの線形結合としてちょうど1つの式を持つ場合、解は一意になります。いずれにせよ、スパンは、ちょうど1つの式を保証する線形独立なベクトルの基底を持ち、その基底に含まれるベクトルの数(次元)はmまたはnより大きくなることはありませんが、それより小さくなることもあります。これは、 m個の独立なベクトルがあれば右辺(RHS)に関係なく解が保証され、そうでなければ保証されないため重要です。
ベクトル方程式は、次の形式の 行列方程式と同等である。 ここで、 Aはm × n行列、xはn個の要素を持つ列ベクトル、bはm個の要素を持つ列ベクトルである。[ 4 ]
行列Aの列ベクトルの張る空間の基底に含まれるベクトルの数は、行列のランクとして表される。

線形システムの解とは、変数に値を割り当てることである。 各方程式が満たされるような解の集合を解集合と呼ぶ。[ 5 ]
線形システムは、次の3つのいずれかの方法で動作する可能性があります。
2つの変数( xとy )を含むシステムの場合、各線形方程式はxy平面上の直線を決定します。線形システムの解はすべての方程式を満たす必要があるため、解集合はこれらの直線の交点であり、したがって直線、一点、または空集合のいずれかになります。
3 つの変数については、各線形方程式は3 次元空間内の平面を決定し、解集合はこれらの平面の交点です。したがって、解集合は平面、直線、一点、または空集合になります。たとえば、3 つの平行な平面は共通点を持たないため、それらの方程式の解集合は空です。一点で交わる 3 つの平面の方程式の解集合は一点です。3 つの平面が 2 つの点を通過する場合、それらの方程式は少なくとも 2 つの共通解を持ちます。実際には、解集合は無限であり、これらの点を通過するすべての直線で構成されます。[ 6 ]
n個の変数に対して、各線形方程式はn次元空間内の超平面を決定します。解集合はこれらの超平面の交点であり、nより小さい任意の次元を持つ平面です。

一般的に、線形システムの挙動は、方程式の数と未知数の数の関係によって決まります。ここで「一般的に」とは、方程式の係数の特定の値によっては、異なる挙動が生じる可能性があることを意味します。
最初のケースでは、解集合の次元は一般にn − mに等しくなります。ここで、nは変数の数、mは方程式の数です。
以下の図は、2つの変数の場合におけるこの三区分を示しています。
最初のシステムには無限に多くの解があり、それは青い線上のすべての点です。2番目のシステムにはただ1つの解があり、それは2つの線の交点です。3番目のシステムには解がありません。なぜなら、3つの線は共通点を持たないからです。
上記の図は最も一般的なケース(一般ケース)のみを示していることに留意する必要があります。2つの方程式と2つの未知数からなる連立方程式は、2つの直線が平行な場合は解を持たない可能性があり、3つの方程式と2つの未知数からなる連立方程式は、3つの直線が1点で交わる場合は解を持つ可能性があります。
線形方程式系は、方程式が線形従属である場合、または方程式が矛盾していて未知数の数よりも方程式の数が少ない場合、一般の場合とは異なる挙動を示す。
線形システムの方程式は、いずれの方程式も他の方程式から代数的に導出できない場合に独立である。方程式が独立している場合、各方程式は変数に関する新しい情報を含み、いずれかの方程式を削除すると解集合のサイズが大きくなる。線形方程式の場合、論理的独立性と線形独立性は同じである。

例えば、方程式
これらは独立ではありません。2倍に拡大すると同じ方程式になり、同じグラフが生成されます。これは、連立一次方程式における等価性の例です。
より複雑な例では、方程式は次のようになります。
これらは独立ではありません。なぜなら、3番目の式は他の2つの式の和だからです。実際、これらの式のいずれも他の2つから導き出すことができ、また、いずれか1つの式を削除しても解集合には影響しません。これらの式のグラフは、1点で交わる3本の直線になります。

線形システムは、解がない場合には矛盾しており、そうでない場合は一貫性があると言われます。[ 7 ]システムが矛盾している場合は、方程式から矛盾を導き出すことができ、それは常に0 = 1 という記述に書き換えることができます。
例えば、方程式
これらは矛盾しています。実際、2番目の式から最初の式を引いて、その結果の両辺に1/6を掛けると、0 = 1となります。これらの式をxy平面上にグラフ化すると、一対の平行線になります。
3 つの線形方程式は、そのうちの 2 つが互いに整合していても、矛盾が生じる可能性があります。たとえば、次の方程式は
これらは矛盾しています。最初の2つの式を足し合わせると、3x + 2y = 2となり、これを3番目の式から引くと0 = 1となります。これらの式のうち、任意の2つに共通の解が存在します。同様の現象は、任意の数の式でも起こり得ます。

一般に、連立方程式の左辺が線形従属であり、定数項がその従属関係を満たさない場合、矛盾が生じる。左辺が線形独立である連立方程式は常に矛盾がない。
言い換えれば、ルーシェ・カペリの定理によれば、拡大行列のランクが係数行列のランクより大きい場合、任意の方程式系(過剰決定系か否かを問わず)は矛盾している。一方、これら2つの行列のランクが等しい場合、その系は少なくとも1つの解を持つ。解は、ランクが変数の数に等しい場合に限り一意である。そうでない場合、一般解はk個の自由パラメータを持ち、ここでkは変数の数とランクの差である。したがって、このような場合には無限の解が存在する。方程式系のランク(すなわち、拡大行列のランク)は[変数の数] + 1を超えることは決してない。つまり、任意の数の方程式を持つ系は、独立方程式の数が最大で[変数の数] + 1である系に常に還元できる。
同じ変数セットを使用する2つの線形システムは、 2番目のシステムの各方程式が最初のシステムの方程式から代数的に導出でき、かつその逆も成り立つ場合に同値である。2つのシステムは、両方とも矛盾しているか、またはそれぞれの方程式が他方の方程式の線形結合である場合に同値である。したがって、2つの線形システムは、同じ解集合を持つ場合に限り同値である。
解集合が有限の場合、それは単一の要素に縮小されます。この場合、一意解は、左辺が未知数の名前、右辺が対応する値である一連の方程式によって記述されます。たとえば、未知数の順序が固定されている場合(例えばアルファベット順) 、解は次のような値のベクトルとして記述できます。前の例について。
無限個の解を持つ集合を記述する場合、通常、いくつかの変数は自由変数(または独立変数、あるいはパラメータ)として指定され、任意の値をとることが許されます。残りの変数は、自由変数の値に依存します。
例えば、次のシステムを考えてみましょう。
この連立方程式の解集合は、以下の式で表すことができます。
ここで、zは自由変数であり、xとyはzに依存します。解集合内の任意の点は、まずzの値を選択し、次にそれに対応するxとyの値を計算することによって得られます。
各自由変数は解空間に1つの自由度を与え、その数は解集合の次元に等しくなります。例えば、上記の方程式の解集合は直線です。これは、パラメータzの値を指定することで解集合内の点を選択できるためです。より高次の無限解は、平面、あるいはより高次元の集合を表す場合があります。
自由変数の選択が異なると、同じ解集合でも異なる記述になる場合があります。例えば、上記の方程式の解は、次のように記述することもできます。
ここで、xは自由変数であり、yとzは従属変数である。
連立一次方程式を解く最も簡単な方法は、変数を繰り返し消去することです。この方法は次のように説明できます。
例えば、次のシステムを考えてみましょう。
最初の式をxについて解くと、、これを2番目と3番目の式に代入すると、
これら2つの式の左辺はどちらもyに等しいので、右辺を等しくすると、次の式が得られます。
z = 2 を 2 番目または 3 番目の式に代入するとy = 8 となり、yとzの値を最初の式に代入するとx = −15 となります。したがって、解集合は順序付き三つ組です。。
行削減(ガウス消去法とも呼ばれる)では、線形システムは拡大行列として表現される[ 8 ]。
この行列は、基本行操作を使用して簡約行階段形になるまで変更されます。基本行操作には 3 つの種類があります。[ 8 ]
これらの操作は可逆であるため、生成される拡大行列は常に元の行列と等価な線形システムを表す。
拡大行列の行簡約化にはいくつかの具体的なアルゴリズムがあり、その中で最も単純なものはガウス消去法とガウス・ジョルダン消去法です。以下の計算は、上記の行列にガウス・ジョルダン消去法を適用した例を示しています。

最後の行列は簡約行階段形であり、システムx = − 15、y = 8、z = 2を表しています。前のセクションの代数的変数消去の例と比較すると、これら 2 つの方法は実際には同じであることがわかります。違いは、計算の記述方法にあります。
クラメルの公式は、各変数が2つの行列式の商で与えられる連立一次方程式の解を求める明示的な公式である。[ 9 ]例えば、次の連立方程式の解は
は
各変数について、分母は係数行列の行列式であり、分子は1つの列が定数項のベクトルに置き換えられた行列の行列式である。
クラメルの公式は理論的には重要であるものの、大きな行列式を計算するのはやや煩雑であるため、大きな行列に対しては実用的な価値はほとんどありません。(実際、大きな行列式は行簡約法を用いるのが最も容易です。)さらに、クラメルの公式は数値的な性質が非常に劣悪であるため、無限精度の有理数演算を用いない限り、小さな連立方程式でさえも確実に解くには適していません。
方程式系を行列形式で表すと全体の解集合は行列形式でも表現できます。行列Aが正方行列 ( m行、n = m列) でフルランク ( m行すべてが独立) である場合、システムには次の式で表される一意の解が存在します。
どこはAの逆行列です。より一般的には、m = nであるかどうか、またAのランクに関係なく、すべての解 (存在する場合) は、Aのムーア・ペンローズ逆行列を使用して与えられます。、 次のように:
どこは、すべての可能なn × 1 ベクトルにわたる自由パラメータのベクトルです。解が存在するための必要十分条件は、を使用して得られる潜在的な解が満足するつまり、この条件が満たされない場合、方程式系は矛盾しており、解がありません。条件が満たされる場合、システムは一貫性があり、少なくとも 1 つの解が存在します。たとえば、上記のAが正方行列でフルランクである場合、単純に等しいそして一般解方程式は次のように簡略化される。
前述のとおり、は完全に解から除外され、単一の解だけが残ります。ただし、他のケースでは、自由パラメータベクトルには無限の潜在値が存在する。この方程式には無限の解が存在する。
3つまたは4つの方程式からなる連立方程式は手計算で容易に解くことができますが(クラコフ式を参照)、より大規模な連立方程式にはコンピュータがよく使用されます。連立一次方程式を解くための標準的なアルゴリズムは、いくつかの修正を加えたガウス消去法に基づいています。まず、不正確な結果につながる可能性があるため、小さな数による除算を避けることが重要です。これは、必要に応じて方程式の順序を変更することによって行うことができます。このプロセスはピボットと呼ばれます。次に、このアルゴリズムは厳密にはガウス消去法を実行するのではなく、行列AのLU分解を計算します。これは主に整理ツールですが、同じ行列Aで異なるベクトルbを持つ複数の連立方程式を解く必要がある場合は、はるかに高速になります。
行列Aが何らかの特殊な構造を持つ場合、それを利用してより高速または高精度なアルゴリズムを得ることができます。例えば、対称正定値行列を持つシステムは、コレスキー分解を用いることで2倍の速さで解くことができます。レビンソン再帰法は、トープレッツ行列に対する高速な手法です。また、多くのゼロ要素を持つ行列(いわゆる疎行列)に対しても特別な手法が存在し、これらは応用分野でよく見られます。
非常に大規模なシステムでは、そうでなければ時間やメモリを過剰に消費してしまうため、全く異なるアプローチがしばしば採用されます。その考え方は、解の初期近似値(必ずしも正確である必要はありません)から始め、この近似値を数ステップで変更して真の解に近づけていくというものです。近似値が十分に正確になったら、それをシステムの解とみなします。これが反復法と呼ばれる手法につながります。疎行列の場合、ランダム性を導入することで反復法の速度が向上します。[ 10 ]反復法の一例としてヤコビ法があり、行列は対角成分に分割されるおよび非対角成分最初の推測はアルゴリズムの開始時に使用されます。以降の各推定値は、反復方程式を使用して計算されます。
推測の差がそしてが十分に小さい場合、アルゴリズムは解に収束したと言われる。 [ 11 ]
線形方程式系に対する量子アルゴリズムも存在する。[ 12 ]
線形方程式系は、すべての定数項がゼロである場合に同次である。
同次システムは、次の形式の行列方程式と同等である。
ここで、 Aはm × n行列、xはn個の要素を持つ列ベクトル、0はm個の要素を持つゼロベクトルである。
すべての同次システムには、少なくとも1つの解、すなわちゼロ解(または自明解)が存在し、これは各変数にゼロの値を割り当てることによって得られます。システムが非特異行列(det( A ) ≠ 0)を持つ場合、それが唯一の解となります。システムが特異行列を持つ場合、無限個の解を持つ解集合が存在します。この解集合には、以下の追加特性があります。
これらはまさに、解集合がR nの線形部分空間となるために必要な性質である。特に、同次系の解集合は、対応する行列Aの零空間と同じである。
線形システムの解と、それに対応する同次システムの解の間には密接な関係がある。
具体的には、p が線形システムA x = bの特定の解である場合、解の集合全体は次のように記述できます。
幾何学的には、これはA x = bの解集合がA x = 0の解集合の平行移動であることを意味します。具体的には、最初のシステムの平面は、同次システムの線形部分空間をベクトルpで平行移動することによって得られます。
この推論は、システムA x = b が少なくとも 1 つの解を持つ場合にのみ適用されます。これは、ベクトルb が線形変換Aの像に含まれる場合に限り発生します。