解の分類を理解する
1次方程式の系は、方程式が表す直線(または平面)どうしの幾何学的な関係によって、必ず3つのケースのいずれか1つに分類されます。
| ケース | 幾何学的な意味(2元の場合) | 解の個数 |
|---|---|---|
| 独立かつ無矛盾 | 2本の直線がちょうど1点で交わる | 唯一解が1つ存在 |
| 従属 | 2つの式が同じ直線を表す | 解が無限に存在 |
| 矛盾(無解) | 2本の直線が平行で交わらない | 解なし |
- この計算機は、従属の場合と矛盾している場合のどちらも「唯一解なし」として報告します。拡大係数行列をさらに行簡約しない限り、ガウスの消去法だけでは両者を区別できず、係数行列が特異なとき、この2つはどちらも同じくらい起こり得る結果だからです。
- 数値の結果は小数点以下6桁で丸められています。係数が整数や単純な分数である系では、出力中のわずかな非ゼロの小数(例えば2の代わりに1.999999)は通常の浮動小数点の丸めによるもので、近い厳密値として扱って構いません。
- 部分ピボット選択によって数値誤差は抑えられますが、「ほぼ特異」な系(行列式が0に極めて近い)では、入力のわずかな変化に結果が敏感になることがあります。これは数値線形代数で悪条件(ill-conditioning)と呼ばれる性質です。
連立1次方程式とは
連立1次方程式とは、同じ変数の組を共有する2つ以上の1次方程式の集まりです。系の解とは、変数それぞれに1つずつ値を割り当てたとき、系のすべての式を同時に成り立たせる組のことです。幾何学的に見ると、2変数の1次方程式は1本の直線であり、2元の系を解くことは2本の直線が交わる点を求めることに当たります。3変数の1次方程式は3次元空間内の1枚の平面であり、3元の系は3枚の平面が交わる点を求めます。
この計算機では、各方程式を拡大係数行列の1行として表します。各変数の係数と、等号の右辺の定数を並べたものです。2元の系では、行優先の順で6個の数値を入力します——a₁、b₁、c₁、a₂、b₂、c₂——これはa₁x + b₁y = c₁とa₂x + b₂y = c₂を表します。3元の系も同じ考え方で、3行×4個の係数、合計12個の数値を入力します。
求解にはガウスの消去法(部分ピボット選択付き)を用います。これは行ごとに変数を系統的に消去し、拡大係数行列を各未知数を直接読み取れる形へと簡約する、数値線形代数の標準的な手法です。部分ピボット選択——各列で絶対値が最大の係数を持つ行を、消去の前に選び出す操作——により、単純な消去法よりも数値的に安定します。
連立方程式計算機の使い方
- 未知数の個数を選びます。2元・2変数の系(x, y)なら2、3元・3変数の系(x, y, z)なら3を選びます。
- 係数を行優先の順でセミコロン区切りで入力します。2元の系では、a₁x + b₁y = c₁とa₂x + b₂y = c₂に対応するa₁; b₁; c₁; a₂; b₂; c₂の6個の数値を入力します。
- 3元の系では12個の数値を入力します。a₁x + b₁y + c₁z = d₁とそれに続く2つの方程式に対応するa₁, b₁, c₁, d₁, a₂, b₂, c₂, d₂, a₃, b₃, c₃, d₃です。
- 求まったx、y(3元の場合はzも)の値を確認します。系が特異である場合——式同士が従属または矛盾している場合——計算機は数値の代わりに「唯一解なし」と表示します。
ガウスの消去法の仕組み
ガウスの消去法は、解の集合を変えない行操作——行の入れ替え、0でない定数による行のスケーリング、ある行に他の行の定数倍を加える操作——を用いて、拡大係数行列[A | b]を、より解きやすい同値な形へと変形します。この計算機は簡約形になるまで消去を行い、得られた対角行列から解を直接読み取ります。その際、各列で利用可能な最大のピボットを選ぶ部分ピボット選択を用いて、浮動小数点の丸め誤差を抑えています。
計算例(2元):2x + y = 5とx − y = 1を解きます。2式を足すとyが消え、3x = 6となるのでx = 2です。これを2番目の式に代入すると2 − y = 1となり、y = 1が得られます。検算:2(2) + 1 = 5 ✓、2 − 1 = 1 ✓。
系が特異——唯一解を持たない——であるのは、係数行列の行列式が0のとき、つまりガウスの消去法を行うと、あるピボット列の成分がすべて(数値的に)0になるときです。特異な系は、矛盾している(式同士が食い違う、例えばx + y = 2とx + y = 5で解なし)か、従属している(一方の式が他方の定数倍になっている、例えばx + y = 2と2x + 2y = 4で解が無限に存在する)かのいずれかです。どちらに当たるかを判定するには式そのものを直接調べる必要があり、この計算機はどちらの場合も「唯一解なし」として報告します。
よくある間違い
- 係数を行優先の順で入力しないこと。この計算機は各方程式の係数とその定数項を、列ごとではなく行ごとに並べて入力することを想定しています。
- 3元の系には9個ではなく12個の数値(1行あたり4個)が必要であることを忘れること。各方程式の右辺の定数項も必ず含める必要があります。
- 「唯一解なし」が常に解が存在しないことを意味すると思い込むこと。これは解が無限に存在する(従属な系)場合も同じく指しており、どちらに当たるかは元の式を手で確認する必要があります。
- 定数をどちらの辺に置くべきか混同すること。すべての変数の項を左辺にまとめ、a₁x + b₁y(+ c₁z)= 定数の形に書き直してから係数を入力してください。
- 出力が厳密な分数で表示されると期待すること。結果は小数点以下6桁に丸められた近似値であり、真の解が1/3であっても0.333333と表示されます。
よくある質問
2元の連立1次方程式はどうやって解きますか?
よく使われる方法の1つが消去法です。方程式を定数倍して足し引きすることで一方の変数を消し、残った変数について解いてから代入で元に戻します。2x + y = 5とx − y = 1の場合、両式を足すとyが消えて3x = 6となり、x = 2です。これを代入するとy = 1が得られます。この計算機は、2元・3元どちらの系についても、これと同等の処理——ガウスの消去法——を自動で行います。
「唯一解なし」とはどういう意味ですか?
方程式がちょうど1点で交わらないことを意味します。これには2通りの起こり方があります。式同士が矛盾している場合(例えばx + y = 2とx + y = 5)は解が全く存在せず、一方の式が他方の定数倍になっている従属の場合(例えばx + y = 2と2x + 2y = 4)は解が無限に存在します。どちらの場合も、係数行列の行列式が0であることに対応します。
3つの未知数を解くには何本の方程式が必要ですか?
一般に、系が唯一解を持つには、未知数の個数以上の独立な方程式が必要です。x、y、zの3つの未知数なら、独立な方程式が3本必要になります。独立な方程式が不足していると少なくとも1つの自由度が残り、唯一解ではなく無限に多くの解が生じます。
ガウスの消去法とは何ですか?
ガウスの消去法は、連立1次方程式を解くための系統的な手法です。行の入れ替え、行のスケーリング、ある行に他の行の定数倍を加えるといった行操作を使って、拡大係数行列をより単純な三角形または対角形へと変形し、そこから解を直接読み取ります。線形代数で標準的に教えられる手法であり、この計算機を含む多くの数値方程式ソルバーが内部で用いています。
x²を含むような非線形の系もこの計算機で解けますか?
いいえ。この計算機が解けるのは線形の系のみです。線形の系とは、すべての変数が1次で現れ、変数同士の積(x²やxyの項)を含まないものです。非線形の系を解くには、2次方程式の解の公式と組み合わせた代入法や、数値的な求根法など別の手法が必要です。
なぜ結果が厳密な分数ではなく小数で表示されるのですか?
このソルバーは、記号的な分数演算ではなく、浮動小数点(10進数)によるガウスの消去法を実行しています。これは数値線形代数における標準的な手法です。真の解が1/3であれば0.333333(小数点以下6桁に丸め)と表示されます。整数係数がきれいな系では、小数の出力は通常、厳密値またはそれに極めて近い値に収束します。
参考文献
- Strang G. Linear Algebra and Its Applications. 4th ed. Cengage Learning, 2006. (Gaussian elimination and matrix rank.)
- Lay DC, Lay SR, McDonald JJ. Linear Algebra and Its Applications. 5th ed. Pearson, 2015.
- Burden RL, Faires JD. Numerical Analysis. 9th ed. Cengage Learning, 2011. (Partial pivoting and numerical stability.)