2 つの入力信号の行列積を計算します。ブロックの上の入力が 1 つ目のオペランドになります。
ライブラリ
Math Functions / Matrices and Linear Algebra
説明
Matrix Multiply ブロックには、2 つの入力ポートと 1 つの出力ポートがあります。出力信号は、入力信号 (1 つ目のオペランドが上の入力) の行列積です。
データ型サポート
入力信号は、浮動小数点型、固定小数点型、整数型、またはブール型にできます。入力信号には、実数または複素数を使用できます。入力信号には、スカラー、ベクター、または行列を使用できますが、数学的に行列積を定義できる次元にする必要があります。次の表に、有効な組み合わせを示します。表にない組み合わせはエラーとなります。
1 つ目のオペランドの次元 | 2 つ目のオペランドの次元 | 行列積の次元 | 条件 |
---|---|---|---|
K x L | L x M | K x M | K >= 1、L >= 1、M >= 1 |
K x L | L | K | K >=1、L > 1 |
K x 1 | 1 | K x 1 | K >= 1 |
K | 1 | K | K >= 1 |
K | 1 x M | K x M | K >= 1、M >= 1 |
出力のデータ型は、次の規則に従って、リストされる順に決定されます。T1 は 1 つ目のオペランドの型を示す変数で、T2 は 2 つ目のオペランドの型を示す変数です。これらの規則は、Vitis HLS とのアライメントが最大になるように選択されています。Vivado HLS では、 Simulink® Matrix Product ブロックの内部規則で計算された出力のデータ型に対応していないことがあります。
1 つ目のオペランドのデータ型 | 2 つ目のオペランドのデータ型 | 行列積のデータ型 |
---|---|---|
T1: 浮動小数点 | T2 | T2 が浮動小数点型の場合、T1 と T2 の広い方の幅の浮動小数点型、T2 が浮動小数点型でない場合は T1 |
T1 | T2: 浮動小数点 | T1 が浮動小数点型の場合、T1 と T2 の広い方の幅の浮動小数点型、T1 が浮動小数点型でない場合は T2 |
固定小数点型 | 固定小数点型 | 精度を下げることなく積を表すことのできる最小の固定小数点型 |
固定小数点型 | 整数 | 精度を下げることなく積を表すことのできる最小の固定小数点型 |
整数 | 固定小数点型 | 精度を下げることなく積を表すことのできる最小の固定小数点型 |
T1: 整数 | T2: 整数 | W1 を T1 のビット幅、W2 を T2 のビット幅とすると、積は最大ビット幅 (W1,W2) の整数型で、T1 または T2 のいずれかが符号付きの場合は符号付きです。 |
ブール型 | T2 | T2 |
T1 | ブール型 | T1 |
パラメーター
設定するパラメーターはありません。