高校数学の難所の一つ、行列の計算。行列演算は、3Dグラフィックや統計、最近ではAIなどプログラミングでも「必須科目」と言えます。 ただ、縦横に入り乱れる数字を見ていると、慣れているつもりでも「計算の順序」を間違えることがありますよね。面倒な計算はプログラムでやっちゃえ、というわけで行列の積を求めるプログラムを作ってみましょう。 行列の積の計算方法行列の積(掛け算)は、「左側の列と右側の行」の各要素の積の和からなる行列になります。たとえば
という二つの行列の積は、以下のようになるわけです。
行列の積は、異なる形式(行/列の数)の行列であっても求めることができます。ただし、その場合は「列と行」を掛けていく演算の定義から「左側の行列の列数と右側の行列の行数が同じ」であることが条件です。 行列の積を求めるプログラム計算方法が確認できたところで、行列の積を求めるプログラムを作ってみましょう。 行列は、2*2の4つの要素を持つものとし、それをJavaScriptの配列に入れて渡します。プログラムとしては、配列の各要素を掛けて新しい行列(配列)に格納していく単純なものになりますね。 JavaScriptの関数にまとめたサンプルコードは、以下のようになります。 function getMatrixProduct22(a, b) { var result = []; result[0] = a[0] * b[0] + a[1] * b[2]; result[1] = a[0] * b[1] + a[1] * b[3]; result[2] = a[2] * b[0] + a[3] * b[2]; result[3] = a[2] * b[1] + a[3] * b[3]; return result; } 実際に、このプログラムを使って2*2の行列の積を求めてみましょう。
=左側の入力欄に二つの行列を入れて「行列の積を求める」ボタンをクリックすると、計算結果が表示されます。 |