行列積計算機

互換性のある次元の2つの行列を即座に掛け算 — 線形代数や工学向けに自動次元検証付きで結果を取得。

行列 A と行列 B を入力し、行はセミコロン、列はカンマで区切ってから、「計算」をクリックすると積を求められます。

行列積計算機
互換性のある次元の2つの行列を即座に掛け算 — 線形代数や工学向けに自動次元検証付きで結果を取得。

行はセミコロン(;)、列はカンマ(,)で区切ります。A × B では、A の列数と B の行数が一致している必要があります。

行列積計算機について

行列積は線形代数の中心的な演算の一つです。対応する要素を単純に足し合わせる加法とは異なり、乗法はドット積の規則に従い、1つ目の行列の行と2つ目の行列の列を結び付けます。その結果は、2つの線形変換がどのように合成されるかを表します。つまり、まず B を適用してから A を適用することは、単一の行列 AB を適用するのと同じ効果になります。 A × B の積を定義するには、A の列数が B の行数と等しくなければなりません。A が m×n 行列、B が n×p 行列なら、積 C = A × B は m×p 行列になります。C[i][j] は、A の i 行目と B の j 列目のドット積として計算されます:C[i][j] = Σ(k=0 to n−1) A[i][k] × B[k][j]。つまり、結果の各要素は A の1つの行全体と B の1つの列全体に依存します。 行列積は可換ではありません。一般に AB ≠ BA であり、A と B の次元が合わなければ BA は定義されないことさえあります。ただし、結合法則は成り立ちます:(AB)C = A(BC)。つまり、連続した乗算は最終結果を変えずに任意の順序でまとめることができます。 単位行列を掛けても、任意の行列は変化しません:AI = IA = A。これは通常の掛け算における 1 の役割に対応します。単位行列は主対角線に 1、それ以外に 0 を持ちます。 実用面では、行列積は多様な計算を簡潔な記法にまとめます。コンピュータグラフィックスでは、3D 座標に回転、平行移動、透視投影を適用するために行列積を使います。ロボティクスでは、回転行列を連鎖させて座標系間を変換します。機械学習では、ニューラルネットワーク層の順伝播は本質的に行列ベクトル積です:output = W × input + bias。マルコフ連鎖、グラフの隣接計算、統計における共分散の伝播もすべて行列積に依存しています。したがって、行列積を理解することは、定量分野で働く人にとって不可欠なスキルです。

行列積の例

正方行列と非正方行列の積を、要素ごとの計算手順付きで4例示します。

入力備考
A = [[1,2],[3,4]], B = [[2,0],[1,2]][[4,4],[10,8]]C[0][0] = 1×2 + 2×1 = 4。C[0][1] = 1×0 + 2×2 = 4。C[1][0] = 3×2 + 4×1 = 10。C[1][1] = 3×0 + 4×2 = 8。
A = [[1,2,3]], B = [[4],[5],[6]][[32]]A は 1×3、B は 3×1 です。積は 1×1 で、1×4 + 2×5 + 3×6 = 4+10+18 = 32。これは2つのベクトルのドット積です。
A = [[1,0],[0,1]], B = [[7,3],[2,8]][[7,3],[2,8]]2×2 の単位行列を掛けると B は変わりません。単位行列は行列積における乗法単位元です。
A = [[1,2],[3,4],[5,6]], B = [[7,8,9],[10,11,12]][[27,30,33],[61,68,75],[95,106,117]]A は 3×2、B は 2×3 なので、積は 3×3 です。C[0][0] = 1×7 + 2×10 = 27。C[2][2] = 5×9 + 6×12 = 45+72 = 117。

行列積計算機の使い方

  1. 最初の欄に行列 A を入力します。同じ行の要素はカンマで、行はセミコロンで区切ります。例えば、1,2;3,4 は [[1,2],[3,4]] を表します。
  2. 2つ目の欄に同じ形式で行列 B を入力します。A × B を成立させるには、A の列数と B の行数が一致している必要があります。
  3. 「計算」をクリックします。積の行列 C = A × B が下に表示され、次元は(A の行数)×(B の列数)になります。
  4. 必要であれば、結果の任意の位置 [i][j] を選び、A の i 行目と B の j 列目のドット積を手計算して1つの要素を確認できます。
  5. 「リセット」をクリックすると両方の入力がクリアされ、新しい計算を始められます。どちらかの行列を変更して、変化が積にどう影響するかも確認できます。

よくある質問

2つの行列はいつ掛けられますか?
行列 A の列数が行列 B の行数と等しい場合にのみ、A と B は(A × B として)掛け算できます。A が m×n、B が n×p なら積は定義され、結果は m×p 行列になります。この内側の次元条件を満たさない場合、乗算は未定義です。
行列積は可換ですか?
いいえ。一般に、AB と BA の両方が定義されても AB ≠ BA です。たとえば A が回転、B がせん断を表す場合、適用順が異なると結果も異なります。この非可換性は、行列代数が通常の数の計算と異なる特徴の一つです。
単位行列とは何ですか?
単位行列 I は、主対角線に 1、それ以外に 0 を持つ正方行列です。任意の行列 A に I を掛けても A は変わりません:AI = IA = A。単位行列は、行列積において数値の 1 と同じ役割を果たします。
機械学習では行列積はどう使われますか?
ニューラルネットワークでは、全結合層の順伝播は output = W × input + bias として計算されます。ここで W は重み行列、input は列ベクトルです。逆伝播では、勾配は転置行列を使った積で伝播します。バッチ計算によりこれが行列同士の積へ拡張され、GPU がニューラルネットワーク学習で非常に効率的になります。
要素ごとの積と行列積の違いは何ですか?
要素ごとの積(ハダマード積)は、同じ大きさの2つの行列で対応する要素を掛けます:(A ⊙ B)[i][j] = A[i][j] × B[i][j]。一方、行列積は行と列のドット積を使います:(AB)[i][j] = Σ A[i][k] × B[k][j]。これらは異なる操作で、必要条件も結果も異なります。
非正方行列も掛けられますか?
はい。内側の次元が一致していれば、非正方行列でも掛けられます。たとえば 2×3 行列に 3×4 行列を掛けると、2×4 行列が得られます。結果の行数は最初の行列、列数は2番目の行列に由来します。非正方行列の積は実務でも非常に一般的で、たとえば入力ベクトルのバッチ (n×d) に重み行列 (d×k) を掛けると、その層の出力 (n×k) が得られます。