柔道の技には左右があります。右利きの人は右技ばかりを稽古すればよいかというと、そうではありません。右技しかない、と相手にわかれば、相手は警戒して防御しますから技をかけることが難しくなります。試合では、左と見せかけて右、あるいは右と見せかけて左、やっぱり右、と駆け引きをします。実際には左右ばかりではなく8方向の技を交えていくわけで、フェイントをかけたつもりが相手の技の方向にはまって自滅、なんてこともあるのです。どのスポーツでも常に同じ方向、パターンではうまく行かないものです。
今回学ぶ正方行列は、裏に、表にと向きを変える行列です。方程式を解くとき、変数や係数をイコールの左右へ移動させるでしょう。行列の向きを変えるのは、まさにそのような仕事をするためです。今回の学習内容は、行列で方程式を解くための学習で必要な内容です。
正方行列
行列の行の数と列の数が同じ場合、その行列を正方行列[1]といいます。
行数がnのとき、n次の正方行列といいます。
以下に2次から4次の正方行列の例を示します。
対角行列
n次の正方行列において、左上から右下にかけての一直線に並ぶ成分を対角成分といいます。次の式中で、四角の枠で囲まれた部分が対角成分です。
正方行列のうち、対角成分以外の成分がゼロの場合、その行列を対角行列[2]といいます。
単位行列
対角行列のうち、対角成分がすべて1の場合、その行列を単位行列[3]といいます。単位行列は、特別に記号Eで表されます。
転置行列
行列の行と列を入れ替えたものを転置行列[4]といいます。行と列を入れ替える転置行列は、正方行列に限らず作ることが出来ます。単純に行と列を入れ替えるだけです。
行列の転置行列はと書きます。
特に、=が成り立つ正方行列のことを対称行列[5]といいます(式42.11、42.12)。-=が成り立つ正方行列を交代行列[6]といいます(式42.13、42.14、42.15)。
対角成分以外の値がゼロである対角行列は、転置しても全体として行列の様子が変わりませんから対称行列であることがわかります。
問題 以下に示す関数を作りましょう。
(1) 与えられた行列が正方行列かどうか判定する関数。
(2) 与えられた行列が対角行列かどうか判定する関数。
以下にそれぞれの問題に取り組むためのソースコードを掲載します。不足するコードを補って完成させましょう。ソースはテストの形をとっており、目的の動作をしなければその旨を表示しますが、正常に実行されれば何も起こりません[7]。
解説
以下に、追加する部分のコードを示します。それぞれの行列の判定基準を満たすようにロジックが組まれていることを確認してください。
(1)与えられた行列が正方行列かどうか判定する関数。
(2) 与えられた行列が対角行列かどうか判定する関数。
今回はここまで
次回学習する逆行列、そして行列式をクリアすれば、行列を用いて方程式を解くために必要な道具を全て手に入れたことになります。あと少し、頑張ってください。