連立方程式

係数を自由に変更して、二本の直線が動く様子を観察してください。直線が交わる点が解です。下にある行列式を見れば、計算を始める前に交点がただ一つ存在するかどうかが分かります。

インタラクティブシミュレーションを読み込んでいます...
レッスン

理論 — 連立方程式707語

二つの二元一次方程式は二本の直線を表します。そしてそれを解くということは、直線がどこで交わるのかを見つけ出す作業にほかなりません。しかし、交点が存在するかどうかと、その場所がどれほど正確に特定できるかはまったく別の問題であり、この正確さを測るための専用の数値が存在するのです。

各記号の意味

Δ
行列式 a₁b₂ − a₂b₁ です。ゼロなら二直線は平行であり、ゼロでなければ交点がただ一つ存在します。
κ
条件数 です。係数のわずかな揺らぎに対して解がどれだけ動きうるかを示します。方程式の両辺を十倍しても、Δ とは違ってこの値が変わることはありません。
前提
係数が厳密に正しいという前提です。もし係数が測定から得られたものであれば、交点はその不確かさを受け継ぎ、さらに増幅させてしまいます。
成り立たない場合
行列式は、解の存在を教えてはくれます。しかし、その解の信頼性までは語りません。語ることすらできないのです。方程式の一つを 10 倍にすれば Δ も 10 倍に膨らみますが、背後にある幾何学的な関係は何も変わらないからです。Δ にできないこの役割を、条件数が担います。このページのプリセット Almost parallel では、その値は 312 に達します。これが意味するのは、誤差への許可証です。四つの係数のどこかにあるわずか 0.1% の相対誤差が、交点ではおよそ 31% の誤差となって現れることを許してしまうのです。橋の設計なら誰もがはねつけるような大きなブレですが、行列式にも、代数の式にも、導かれた解そのものにも、この危うさは一切姿を見せません。この次のステップでは、方程式の行数を増やして再びこの指標に向き合います。そこでは、そもそも計算を実行する価値があるのかどうかを、条件数が決定することになります。

たった一つの数値が、交点が一つだけ存在するかどうかを決める 🖖

問題を解き始める前に、a₁b₂ − a₂b₁ を計算してみてください。値がゼロでなければ二直線はただ一点で交わり、解は一つに定まります。ゼロの場合は平行です。そこから先、解なしになるか、直線上のすべての点が解になるかは定数項だけで決まります。三つのプリセットを押して、行列式の値に注目しましょう。−3、次に 0、そして再び 0 となりますが、最後は異なる判定が下されます。このサイトの先にある行列ツールを動かしているのも同じ行列式です。二つの方向が本質的に異なるものかどうかという同じ問いを、考え得る最も小さな形で尋ねているのです。

行列式が小さいことは、小さな問題ではない 🖖

ほぼ平行を押してください。行列式は −0.02 なので交点は一つ存在し、代数計算によって (−146, 300) という解が何の問題もなく求まります。では、感度の数値を見てみましょう。a₁ を 0.01 動かすと交点はおよそ 108 も移動し、その変化率は単位あたり 10,767 になります。計算自体は何も間違っていません。問題は、解が係数に依存する度合いが、係数本来の信頼性をはるかに超えていることです。もしこれらが測定値から得られた係数であれば、導き出された解にはほとんど意味がありません。浅い角度で交わる二直線は、完全に明確な交点を持つと同時に、それが全く使い物にならない交点でもあります。そして方程式を解く過程のどこにも、そのことを明らかにするものはありません。行列式だけがそれを教えてくれるのです。

消去法とは、1つの正当な操作を2回繰り返すこと 🖖

グラフの下に表示された計算手順は、決して特別なことをしているわけではありません。方程式の両辺に数を掛ける。後で割り算して元に戻せるので、すべての解は保たれます。次もう一方の方程式から引く。どちらの式も満たす値の組ならその差も満たすため、やはり解は保たれます。手法としてはこれだけです。これがテクニックのように感じられるのは、一方の未知数が消えるように掛ける数を選んでいるからです。しかしその選択は直感ではなく単なる計算です。第1行に b₂ を、第2行に b₁ を掛ければ、y の項は構造上必ず一致するようになっています。未知数が3つになったときに同じ操作を行えばガウスの消去法になり、未知数が n 個になっても、世界中の線形ソルバーがいまだにやっているのはまさにこの計算なのです。

全プロセスの詳細解説

  1. コーヒーが1多くかかる場合に8となる2つのコーヒーと1つのケーキ 7 ステップ

    コーヒー二杯とケーキ一個の代金は 8 です。コーヒー一杯からケーキ一個を引くと 1 になります(コーヒーはケーキより 1 だけ高い)。それぞれの値段はいくらでしょうか。また、もしこの金額が不鮮明なレシートから読み取られたものだとしたら、その答えをどの程度信用できるでしょうか。

    1. この二つの事実を、同じ二つの未知数を用いて式に表します。これらの二本の直線を正しく引くことこそがモデリングであり、その後の計算はすべて機械的な作業に過ぎません。

    2. 方程式を解く前に行列式を確認してください。値は 0 ではないので、解はただ一つ存在し、それを探す価値があることが分かります。

    3. y を消去します。二つ目の式に 1 を掛けて足し合わせるか、あるいは一つ目の式に −1 を掛けて引きます。どちらにせよ y の項は相殺されるようにできています。

    4. コーヒーの値段は 3 と求まります。これをどちらかの式に代入してケーキの値段を出し、確認にはもう一方の使わなかった式を用いてください。先ほど使ったばかりの式に代入しても、正しいかどうかの証明にはならないからです。

    5. 次にレシートの話に戻りましょう。二つ目の方程式に読み間違いがあり、ケーキの係数が −1 から 0.49 に変わってしまったとします。すると行列式は −3 から −0.02 へと落ち込みます。

    6. 解がただ一つであることに変わりはなく、その値は (−146, 300) に移動しました。つまりコーヒーが −146 という値段になったのです。代数計算は不平一つこぼしませんでした。警告する術を持たないからです。

    7. ここから先は単なる代数学ではありません。価格がマイナスになるということは、コーヒーがおかしいのではなく、作成したモデルが間違っていると計算結果が教えてくれているのです。ツールは喜んでその解を報告してきますが、行列式は事前により静かに警告を発してくれます。そして方程式を解く手法そのものは、価格がマイナスになり得ないという現実を知りません。

    解答

    コーヒーは 3、ケーキは 2。 行列式は −3 なので交点は一つであり、最初の二つの方程式も両方とも成り立ちます。係数の一つを直線が平行になる方向へ少しずらすと、全く同じ計算手法が不平一つこぼさずに −146 という解を返してきます。だからこそ、行列式は解を出した後ではなく、出す前に確認する価値があるのです。

  2. 二本の平行線が、解を持つことにどれだけ近づけるか 6 ステップ

    2x + y = 8 と 4x + 2y = 10 です。行列式は 0 ですが、これでは行列式が 0 のときの二つの判定のどちらに当たるかが分かりません。どちらなのかを求め、そのうえでこの連立方程式が解を持つことにどれだけ近いのかを判断してください。

    1. 行列式が 0 なので、一点で交わることはありません。それ以上のことは言えません。平行で別々の二直線も、同じ直線を二度書いたものも、どちらも 0 を与えるからです。

    2. それでも消去してみると答えが出ます。第一の式を 2 倍して第二の式に揃え、引きます。残った式に未知数は含まれていません。グラフの下の手順では 0x + 0y = 6 と表示され、0 は 6 ではありません。

    3. 比を見れば、計算をまったくせずに同じことが言えます。二つの左辺は 1 : 2 の比にありますが、二つの定数はそうではありません。つまり二直線は向きを共有し、位置だけが違うのです。

    4. では、どれだけ離れているのでしょうか。第二の式を 2 で割ると二直線は同一の左辺を持つので、隔たりは定数の差を係数の組の長さで割ったものになります。

    5. ここで、ツールが手前で止まる問いが出てきます。どの点も両方を満たさないなら、最も近い点はどこでしょうか。二つの残差の平方をまとめて最小化します。2x + y を u と書くと、どの u でも第二の残差は第一の 2 倍なので、重みは 4 倍かかります。最小値は真ん中の 6.5 ではなく u = 5.6 に来ます。

    6. これは、この二直線についてではなく最小二乗法についての警告です。答えが動いたのは、第二の式が大きな数で書かれていたからであって、それがより良い証拠だからではありません。それぞれの式を係数の組の長さが 1 になるように正規化すると、最も近い点はちょうど真ん中、どちらの直線からも 0.671 の位置に落ち着きます。

    解答

    解なし。そして二直線の隔たりは 1.342 です。 行列式は交点が消えたことを告げ、定数はそれがどちらの意味で消えたのかを告げます。両方に最も近い点は、式がたまたまどう書かれていたかに左右されます。与えられたままなら最小二乗法は 2x + y = 5.6 に落ち、両方を正規化して初めて真ん中の 6.5 に落ち着きます。

学習の道すじ

xについて解く:マイナス記号からの積み上げ

この次に 3つ以上の式を同時に 消去法。そして、2本の直線が1点で交わるか、交わらないか、あるいは完全に重なるかを事前に判定する行列式。これらはどちらもそのまま一般化でき、その行き着く先が最後のツールです。

参考文献 (1)

例題

  • 1点で交わる - 2x + y = 8 と x − y = 1 は (3, 2) で交わります。行列式は −3 であり 0 から十分に離れています。係数を 0.01 動かすと、交点は単位あたり約 1.4 の割合で移動します。
  • 平行(解なし) - 二つ目の方程式は、定数項を除いて一つ目の方程式を二倍にしたものです。行列式は 0 となり、二本の直線は決して交わりません。存在しない点を代数計算で見つけ出すことは不可能です。
  • 2直線が重なる - 今回は定数項も二倍になっています。そのため、二つ目の方程式は一つ目と全く同じことを語っています。行列式は同じく 0 で、直線は平行なままですが、結論は正反対です。直線上のすべての点が解となるのです。
  • ほぼ平行 - 行列式が 0 ではなく −0.02 の場合です。交点は (−146, 300) にただ一つ存在します。しかし a₁ を 0.01 動かすと交点はおよそ 108 移動し、その変化率は単位あたり 10,767 にも及びます。この解は数学的には正しいのですが、実用上は全く役に立ちません。