連立一次方程式†
連立一次方程式とは†
どういう意味か?
- 連立
- 複数ある
- 一次方程式
- 項の次数が最大で一次の方程式
「項」とは?
- 項
- +やーで繋がれたもの
なら
や
の他、
を項と呼ぶことも
- 因子
- 積や商で繋がれたもの
なら
や
「次数」とは?
項を構成する因子に「変数が」何個含まれているか
「一次」とは?
- 0次
- 一次
-
← これ
- 二次
- 三次
- ……
∴「項の次数が0次か一次の方程式が複数ある」=「連立一次方程式」
連立一次方程式の例†
たとえば、
を解くと、
うまく解けない場合もある†
の場合もある。
解がたくさん出てくる†
を解くと、
任意の
について解になる。
(下の式が上の式のちょうど2倍になっているため、
実効的には式が1つしかないのと同じ事になっている)
解が1つもない†
下の式から上の式の2倍を引くと、
どんな
を持ってきてもこの式(0=-1)を満たすことはできない。
したがって、「解無し」
連立一次方程式の一般形†
変数の数も、式の数も、いくつでも良い。
が変数
が定数(係数)
も定数
変数に使う文字:
変数が3つまでであれば、
が使われ、
変数が4つまでであれば、
が使われる事が多い。
それ以上の時は、
の形で表すとよい。
ベクトル方程式として表す†
係数行列、変数ベクトル、定数ベクトル、をそれぞれ
、
、
と置くと、連立一次方程式は次のベクトル方程式の形に書ける。
方程式の分類†
先の例と同様に、
のいずれかに分類できる。
なら
だから、かならず解は1つだけ求まるんじゃないの?
というのはちょっと甘い。
-
が正則でない場合もあるし
- そもそも
が正方行列にならない場合も考えないと
本章で何をしたいのか†
物理学やその他のシミュレーションでは、
何万、何十万の変数を持つ連立一次方程式を解かなければならない。
- 大きな次数の計算は「行き当たりばったり」では困るので、
「必ず解ける解法」を知りたい
- 方程式の性質を行列を使って理解したい
というのが、以降で扱う内容。
連立一次方程式を解く(普通に)†
を解こう。
∴
より
あるいは、
どうやったか?†
連立方程式の解を変化させずに以下の式変形が可能:
- ある式を定数倍(
)する
- ある式を定数倍して別の式に加える
- (ある式を別の式を入れ替える) ←必要なら
与えられた式に上記の操作を繰り返して、最終的に
の形にできれば、解けたことになる。
係数だけ取り出して考える†
のような連立一次方程式に対して、係数行列と定数ベクトルを並べてできる次のような行列を「拡大係数行列」と呼ぶ。
この行列に対して、「(行に対する)基本変形」と呼ばれる3つの変形
- ある行を定数倍(
)する
- ある行を定数倍して別の行に加える
- ある行を別の式を入れ替える
を行っても、対応する方程式の解は変わらない。
したがって、拡大係数行列に基本変形を繰り返すことで、
のように 「単位行列の右側に(始めと異なる)定数ベクトルが並ぶ形」 にできれば、
これは、
のような式に対応し、
が解となる。
やってみる → ガウスの消去法(掃出し法)†
先の問題を、拡大係数行列を変形する方法で解いてみる。
ここで採用する方法は「ガウスの消去法」あるいは「掃出し法」と呼ばれる。
まず、1列目を目的の形と一致させたい。
そこで、(1, 1) 要素を軸にして1列目を掃き出す(「軸にする」「掃き出す」は専門用語)。
具体的には、(1, 1) 要素が1なので、2行目から1行目の3倍を引き、3行目に1行目の2倍を足せばよい。
行列の右側に出てくる
などは、教科書と同じ書き方で、直前の行列の
行目の行ベクトルを
と書いている。あくまでメモ代わりだが、書いておくと計算間違いなどを防ぎやすい。
これで1列目を目的の形にできた。次は2列目。
(2, 2) 要素を軸に掃き出したいが、他の行が7で割り切れないので、まずは2行目に 1/7 を掛けて (2, 2) 要素を1にしておく。
そして、(2, 2) 要素を軸に2列目を掃き出す。ここでは1行目に2行目の2倍を、3行目に2行目の−2倍を加えればよい。
(3, 3) 要素は1なので、そのまま軸にして3列目を掃き出す。1行目に3行目をそのまま、2行目には2倍して加えればよい。
この形が求める物であり、
という方程式に対応する。
「式の解を変えない変形」でこの結果を得たのであるから、これは元の式の解でもある。
すなわち、
あるいは、
が与式の解となる。
解答の書き方†
問:
を解け。
解答:
拡大係数行列を求め基本変形する。
したがって、
より、解は
注意点†
上記では基本変形を表すのに "〜" を使っている。
ここでの "〜" は、連立方程式の解を変えずに行列を変形したことを表す「同値関係」(これは専門用語なので余力があれば各自調べること)
基本変形の前後で行列同士が等しいわけではないため "=" で繋いではならない。
ガウスの消去法:復習†
上で使った方針は、
- 左側の列から順に、対角成分を軸にして掃き出す
- 最後が
の形になれば解けたことになる
この方法は、任意の大きさの連立一次方程式に適用可能。
しかし、これだけではうまく行かないケースがある。
うまく行かないケース(1)行の入れ替えが必要†
基本変形による計算途中で、以下のように軸に取るべき要素がゼロになってしまう場合がある。
次に (2, 2) を軸に掃出しをしたいが、(2, 2) がゼロなので掃出しができない。
ここでは、他の行と入れ替えることで掃出しが行える。(2行目と3行目を入れ替える)
うまく行かないケース(2)軸に取るべき要素がない†
入れ替えようとしてもできない場合がある。
→ 軸とすべき要素よりしたが全てゼロになっている
たとえば、計算途中で次のようになった場合、2列目を掃き出せない
→ (2, 2) 要素がゼロだし、それより下にもゼロでない要素がない
その場合には、仕方がないのでその列は飛ばして、次列以降の掃き出しを続ける。
4列目も掃き出せないのでこれで終了。対応する方程式は、
「掃出しのできなかった列に対応する変数をパラメータに置く」
→ ここでは2列目 =
ただし
は任意の実数とすると、
すなわち、
が一般解となる。
「一般解」とは?
- 一般解
- すべての解がこの形に表せることを保証できる形
- 特殊解
- その値自体は解になるが、他にも解があることを否定しない形
行数が足りない場合も同様†
1列目、2列目を掃き出した結果が次のようになったとする。
3列目、4列目はこれ以上掃き出せない。対応する方程式は、
掃出しのできなかった列に対応する変数を
と置けば、
すなわち、
が一般解となる。
うまく行かないケース(3)定数項まで掃き出せてしまう†
について掃出しを進めると、
ここまででおかしな事になっているのだけれど、形式的には4列目も掃き出せてしまう。
対応する方程式は、
この連立方程式(特に3番目の式)は、どんな
に対しても成り立たないため、
「解無し」が結論になる。
連立一次方程式の解法†
(以上の手順)+(うまく行かない場合の対処)
により、どんな連立一次方程式も解ける(任意の次数でOK)
注)「解ける」=「一般解が求まる」 or 「解無しを結論する」