このツールでできること
掃き出し法(ガウス・ジョルダン法)の計算を、 行基本変形の1手ごとに行列を表示しながら進めます。 計算はすべて有理数のまま行うため、1/3 のような値も丸め誤差なしで扱えます。
- 途中式の確認— どの行に何をしたかと、その直後の行列を毎回表示します
- ランク(階数)の判定— 掃き出した結果から自動で求めます
- 連立一次方程式を解く— 拡大係数行列を入力します(後述)
- 逆行列を求める— A と単位行列を並べて入力します(後述)
- 整数・小数・分数を入力でき、最大8行8列まで対応します
掃き出し法とは
行列に行基本変形だけを繰り返し行い、 左上から順に「1が1つ、その列の他は全部0」という形を作っていく手法です。 連立一次方程式の解、行列のランク、逆行列を求めるのに使われます。
行基本変形の3種類
| 変形 | 内容 | 表示例 |
|---|---|---|
| 行の入れ替え | 2つの行を交換する | R1 ↔ R2 |
| 行の定数倍 | ある行を0でない数で割る(掛ける) | R1 ÷ 2 |
| 行の加減 | ある行に、別の行の定数倍を足す(引く) | R2 ← R2 - 3 × R1 |
この3つ以外の操作をしてはいけません。 とくに列を入れ替える(列基本変形)のは別物です。 ランクは変わりませんが、連立一次方程式としての解が変わってしまいます。
ガウスの消去法との違い
| ガウスの消去法 | ガウス・ジョルダン法 | |
|---|---|---|
| どこまで消すか | ピボットより下だけ | ピボットの上下とも |
| 到達する形 | 階段行列 | 簡約階段行列(既約行階段形) |
| 解の求め方 | 後退代入が必要 | そのまま解が読める |
このツールはガウス・ジョルダン法です。 ピボットの上側も0にするため、最後の行列をそのまま読めば解が分かります。
連立一次方程式を解くには
係数と右辺を並べた拡大係数行列を入力します。 未知数が3つなら「3行4列」です。
x + y + z = 6
2y + 5z = -4
2x + 5y - z = 27
これは3行4列で、次のように入力します。
1 1 1 6 0 2 5 -4 2 5 -1 27
掃き出すと次の形になります。
1 0 0 5 0 1 0 3 0 0 1 -2
左が単位行列になったので、右の列がそのまま解です。 x = 5、y = 3、z = -2 と読めます。
逆行列を求めるには
求めたい行列 A の右に単位行列を並べて入力します。 2次の正方行列なら「2行4列」です。
A = [[2, 1], [1, 1]] の逆行列を求めるなら、2行4列でこう入力します。
2 1 1 0 1 1 0 1
掃き出すと次のようになります。
1 0 1 -1 0 1 -1 2
左が単位行列になったので、右半分が逆行列です。
A-1 = [[1, -1], [-1, 2]] と求まります。
左半分が単位行列にならなかった場合、その行列に逆行列は存在しません。 n次の正方行列でランクが n 未満のとき(行列式が0のとき)がこれにあたります。
ランクから解の個数を判定する
係数行列を A、拡大係数行列を [A|b]、未知数の個数を n とすると、次のように判定できます。
| 条件 | 解 |
|---|---|
| rank(A) = rank([A|b]) = n | ただ1つに定まる |
| rank(A) = rank([A|b]) < n | 無数にある(不定)。自由度は n − rank |
| rank(A) < rank([A|b]) | 解なし(不能) |
このツールが表示するランクは、入力した行列そのもののランクです。 拡大係数行列 [A|b] を入れれば rank([A|b]) が出ます。 rank(A) と比べたい場合は、右辺の列を除いた A だけをもう一度入力してください。
解なしの見分け方
たとえば x + y = 1 と x + y = 2 を2行3列で入力すると、次の形になります。
1 1 0 0 0 1
2行目は「0x + 0y = 1」を意味しており、成り立ちません。 このように左側がすべて0なのに右端だけ0でない行が出たら、解なしです。
よくある間違い
- 列を入れ替えてしまう— 許されるのは行の操作だけです
- ピボットが0のまま進める— 0の場合は下の行と入れ替えます。下にも非零がなければ、その列は飛ばして次の列へ進みます
- 分数を小数に直してしまう— 1/3 を 0.333 とすると誤差が積み上がります。このツールが分数のまま計算するのはこのためです
- ピボットの上を消し忘れる— 下だけ消すとガウスの消去法になり、後退代入が必要になります
よくある質問
Q. 正方行列でなくても使えますか?
A. 使えます。行数と列数は8までなら自由に指定できます。
連立一次方程式の拡大係数行列や、逆行列を求めるための横長の行列も扱えます。
Q. 分数はどう入力しますか?
A. 2/3 のようにスラッシュで入力します。
-1.5 のような小数も入力でき、内部では分数に直して計算されます。
「分数で表示」のチェックを外すと小数表示に切り替わりますが、
計算そのものは常に分数のまま行われます。
Q. ランクだけを知りたいときは?
A. 行列をそのまま入力して掃き出すだけです。
結果の下に「行列のランク」が表示されます。
Q. 途中の行列だけを見たいのですが。
A. 各ステップに操作の内容(R2 ← R2 - 3 × R1 など)と、
その直後の行列が並びます。上から順に追えば、手計算の答え合わせに使えます。
Q. 逆行列が求まらない行列があります。
A. 左半分が単位行列にならない場合、その行列に逆行列は存在しません。
ランクが次数より小さい(行列式が0)ことを意味します。