A x B
- 更新日2025-07-30
- 4分で読める
2つの入力行列または入力行列と入力ベクトルの乗算を行います。A入力およびB入力に配線するデータタイプにより、使用する多態性のインスタンスが決まります。
(FPGAモジュール)FPGA上で行列とベクトルの乗算を行うには、 Matrix*Vector Express VIを使用します。

Aがn x kの行列で、Bがk x mの行列の場合、AとBの行列乗算C = ABにより、n x mの次元を含む行列Cが求められます。Aが2D入力配列A、Bが2D入力配列B、Cが2D出力配列A x Bを表すとします。VIは以下の式を使用してCの要素を求めます。

ここで、nはAの行数、kはAの列数とBの行数、mはBの列数です。
メモ 「A x B」VIは、要素ごとの2D乗算でなく、タイプ指定の行列乗算を実行します。要素ごとの乗算を実行するには、「積」関数を使用する必要があります。一般的には、AB≠BAです。
A x ベクトル
Aがn x kの行列、Xがk個の要素を含むベクトルである場合、AとXの乗算Y = AXの結果は、n個の要素を含むベクトルYとなります。VIは以下の式を使用してYの要素を求めます。

ここで、Yは出力Axベクトル、Aは入力行列A、Xは入力ベクトル、nはAの行数、kはAの列数でありベクトルの要素数です。
ベクトル x A
X′を n個の 要素を持つ行ベクトル、 Aを n×k 個の行列とすると、X′と Aの乗算、Y=X′Aは k個の 要素を持つ行ベクトルY′となる。VIは,以下の式でY′の要素を計算する.

および
X'=[x0 x1 ...xn -1]である。 Y'=[y0 y1 ...yk -1]とする。ここで、Y′は出力 V′×A、X′は入力 Vector V′、Aは入力行列 A、 nは Vector V′の 要素数および Aの行数、 kは Aの列数です。