連立方程式

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

解がただ一つに定まる条件 D=a1b2−a2b1≠0D=a_1b_2-a_2b_1\neq0
解 x=c1b2−c2b1D,y=a1c2−a2c1Dx=\frac{c_1b_2-c_2b_1}{D},\qquad y=\frac{a_1c_2-a_2c_1}{D}
インタラクティブシミュレーションを読み込んでいます...
レッスン

理論 — 連立方程式707語

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

各記号の意味

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

全プロセスの詳細解説

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

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

    この問題をツールで開く

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

      2x+y=8,x−y=12x + y = 8, \qquad x - y = 1
    2. 方程式を解く前に行列式を確認してください。値は 0 ではないので、解はただ一つ存在し、それを探す価値があることが分かります。

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

      (2x+y)+(x−y)=8+1  ⇒  3x=9(2x + y) + (x - y) = 8 + 1 \;\Rightarrow\; 3x = 9
    4. コーヒーの値段は 3 と求まります。これをどちらかの式に代入してケーキの値段を出し、確認にはもう一方の使わなかった式を用いてください。先ほど使ったばかりの式に代入しても、正しいかどうかの証明にはならないからです。

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

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

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

      x<0  ⇒  x∉[0,∞)x < 0 \;\Rightarrow\; x \notin [0, \infty)

    解答

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

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

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

    この問題をツールで開く

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

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

      4x+2y=16,4x+2y=10  ⟹  0x+0y=64x + 2y = 16, \qquad 4x + 2y = 10 \;\Longrightarrow\; 0x + 0y = 6
    3. 比を見れば、計算をまったくせずに同じことが言えます。二つの左辺は 1 : 2 の比にありますが、二つの定数はそうではありません。つまり二直線は向きを共有し、位置だけが違うのです。

      a1a2=b1b2=12  ≠  c1c2=810\frac{a_1}{a_2} = \frac{b_1}{b_2} = \frac{1}{2} \;\neq\; \frac{c_1}{c_2} = \frac{8}{10}
    4. では、どれだけ離れているのでしょうか。第二の式を 2 で割ると二直線は同一の左辺を持つので、隔たりは定数の差を係数の組の長さで割ったものになります。

      2x+y=8,2x+y=5:d=∣8−5∣22+12=35=1.3422x + y = 8, \quad 2x + y = 5: \qquad d = \frac{|8-5|}{\sqrt{2^{2}+1^{2}}} = \frac{3}{\sqrt5} = 1.342
    5. ここで、ツールが手前で止まる問いが出てきます。どの点も両方を満たさないなら、最も近い点はどこでしょうか。二つの残差の平方をまとめて最小化します。2x + y を u と書くと、どの u でも第二の残差は第一の 2 倍なので、重みは 4 倍かかります。最小値は真ん中の 6.5 ではなく u = 5.6 に来ます。

      u=2x+y:min⁡u (u−8)2+4(u−5)2  ⟹  10u=56  ⟹  u=5.6u = 2x+y: \quad \min_u\ (u-8)^{2} + 4(u-5)^{2} \;\Longrightarrow\; 10u = 56 \;\Longrightarrow\; u = 5.6
    6. これは、この二直線についてではなく最小二乗法についての警告です。答えが動いたのは、第二の式が大きな数で書かれていたからであって、それがより良い証拠だからではありません。それぞれの式を係数の組の長さが 1 になるように正規化すると、最も近い点はちょうど真ん中、どちらの直線からも 0.671 の位置に落ち着きます。

      2x+y5=85, 55  ⟹  u=6.5,12(1.342)=0.671\frac{2x+y}{\sqrt5} = \frac{8}{\sqrt5},\ \frac{5}{\sqrt5} \;\Longrightarrow\; u = 6.5, \qquad \tfrac{1}{2}(1.342) = 0.671

    解答

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

    d=∣c1−c2∣a2+b2=35=1.342d = \frac{|c_1 - c_2|}{\sqrt{a^{2}+b^{2}}} = \frac{3}{\sqrt5} = 1.342
  3. 代入法 4 ステップ

    連立方程式 y = 2x − 1、3x + 2y = 12 を解きましょう。

    この問題をツールで開く

    解答を表示
    1. はじめの式は、すでにyをxで表した形になっています。もう一方の式のyに2x − 1を代入します。

      y=2x−1:3x+2(2x−1)=12y=2x-1:\qquad3x+2(2x-1)=12
    2. かっこを外して整理すると、3x + 4x − 2 = 12 より 7x = 14。

      7x−2=12 ⇒ x=27x-2=12\ \Rightarrow\ x=2
    3. x = 2 を y = 2x − 1 に代入します。

      y=2(2)−1=3y=2(2)-1=3
    4. もう一方の式でも確かめましょう。

      3(2)+2(3)=12 ✓3(2)+2(3)=12\ \checkmark

    解答

    x = 2、y = 3。 ページ上では、はじめの式は 2x − y = 1 と書かれていますが、同じ直線を表しています。

    x=2,y=3x=2,\quad y=3
  4. 解が無数にある場合 3 ステップ

    連立方程式 2x + 4y = 6、x + 2y = 3 を解きましょう。

    この問題をツールで開く

    解答を表示
    1. 行列式が0なので、解がただ一つに定まることはありません。解がないか、無数にあるかのどちらかです。

      D=(2)(2)−(1)(4)=0D=(2)(2)-(1)(4)=0
    2. はじめの式の両辺を半分にすると、もう一方の式と一致します。

      2x+4y=6  ∣  ÷2⟹x+2y=32x+4y=6\;\Big|\;\div2\quad\Longrightarrow\quad x+2y=3
    3. したがって、直線 x + 2y = 3 上のすべての点が、両方の式を満たします。yを自由に選ぶと、x = 3 − 2y と決まります。

      x=3−2y:(3,0), (1,1), (−1,2)x=3-2y:\qquad(3,0),\ (1,1),\ (-1,2)

    解答

    解は無数にあり、すべての点 (3 − 2t, t) で表されます。 問題2と比べてみましょう。あちらは左辺の係数の比が等しいのに右辺の比が異なり、解がありませんでした。

    (x,y)=(3−2t, t),t∈R(x,y)=(3-2t,\ t),\quad t\in\mathbb{R}
  5. 文章から式を立てる 4 ステップ

    学校でチケットが20枚売れ、売上は合計133でした。チケットの価格は大人用が8、子ども用が5です。それぞれ何枚売れたでしょうか。

    この問題をツールで開く

    解答を表示
    1. 大人用、子ども用の販売枚数をそれぞれa、cとおきます。枚数の合計と代金の合計から、式を一つずつ立てます。

      a+c=20,8a+5c=133a+c=20,\qquad8a+5c=133
    2. 枚数の式を5倍して、両方の式でcの係数をそろえます。

      5a+5c=1005a+5c=100
    3. 代金の式からこの式を引くと、cの項が消えて 3a = 33。

      3a=33 ⇒ a=113a=33\ \Rightarrow\ a=11
    4. すると c = 20 − 11 = 9 となり、代金の合計も条件に合います。

      c=9,88+45=133 ✓c=9,\qquad88+45=133\ \checkmark

    解答

    大人用が11枚、子ども用が9枚です。

    a=11,c=9a=11,\quad c=9

補充問題(答えのみ)

  1. 連立方程式 x + y = 10、x − y = 4 を解きましょう。

    答えを表示

    x = 7、y = 3。二つの式を足すと 2x = 14 となります。

    x=7,y=3x=7,\quad y=3
  2. 連立方程式 3x + 2y = 16、2x − y = 6 を解きましょう。

    答えを表示

    x = 4、y = 2。

    x=4,y=2x=4,\quad y=2
  3. 連立方程式 4x − 6y = 2、2x − 3y = 5 を解きましょう。

    答えを表示

    解はありません。後の式を倍にすると 4x − 6y = 10。同じ左辺が2にも10にも等しくなることはありません。

    4x−6y=2,4x−6y=10 ⇒ 0=84x-6y=2,\quad4x-6y=10\ \Rightarrow\ 0=8
  4. 連立方程式 y = 3x − 5、2x + y = 15 を解きましょう。

    答えを表示

    x = 4、y = 7。

    x=4,y=7x=4,\quad y=7
  5. 和が50、差が14となる二つの数を求めましょう。

    答えを表示

    32と18。

    32,1832,\quad18

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

問題を解き始める前に、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 個になっても、世界中の線形ソルバーがいまだにやっているのはまさにこの計算なのです。

学習の道すじ

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

参考文献 (1)