JavaScript 行列乗算

Anika Tabassum Era 2024年2月15日
  1. 論理ドライブを使用して JavaScript で行列乗算を実行する
  2. メソッドを使用して JavaScript で行列の乗算を計算する
JavaScript 行列乗算

JavaScript では、Web 開発ソリューションを扱うだけでなく、基本的な計算を柔軟に実行することもできます。 結局のところ、それはプログラミング言語です。

JavaScript でマトリックス パターンを有効にするために、ネストされた配列を使用します。 これにより、行と列が簡単に表現されます。

行列の乗算では、いくつかの事前定義された条件を設定する必要があります。 たとえば、行列 Arow_1 = 2, column_1 = 3 があり、行列 Brow_2 = 3, column_2 = 2 がある場合、行列のデュオは乗算に互換性があります。

基本条件 column_1row_2 と等しくなければなりません。 結果は 2x2 の順序になります。

このタスクを説明するために、2つの例を検討します。

論理ドライブを使用して JavaScript で行列乗算を実行する

この例では、ネストされたループを生成して、配列全体 (別名行列配列) をトラバースします。 最初の行列の row 要素をチェックし、2 番目の行列の column で基本的な合計と乗算演算を計算します。

コードフェンスを確認して理解してみましょう。

function multiplyMatrices(m1, m2) {
  var result = [];
  for (var i = 0; i < m1.length; i++) {
    result[i] = [];
    for (var j = 0; j < m2[0].length; j++) {
      var sum = 0;
      for (var k = 0; k < m1[0].length; k++) {
        sum += m1[i][k] * m2[k][j];
      }
      result[i][j] = sum;
    }
  }
  return result;
}
let m1 = [[1, 2, 42], [4, 5, 7]];
let m2 = [[1, 2], [3, 4], [42, 7]];
var result = multiplyMatrices(m1, m2)
console.table(result)

出力:

論理ドライブを使用して行列乗算を実行

メソッドを使用して JavaScript で行列の乗算を計算する

map() および reduce() メソッドを使用して結果を描画します。 反復プロセスは明示的に定義する必要はありませんが、デフォルトで map() が実行されます。

次のコードベースは、残りの説明を説明しています。

let MatrixProd = (A, B) => A.map(
    (row, i) => B[0].map(
        (_, j) => row.reduce((acc, _, n) => acc + A[i][n] * B[n][j], 0)))

let A = [[1, 2, 3], [4, 5, 6]];
let B = [[1, 2], [3, 4], [5, 6]];
console.table(MatrixProd(A, B));

出力:

行列の乗算を計算するメソッドを使用する

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook