ArrayDot
ArrayDot[a,b,k]
a の最後の k 次元と b の最初の k 次元の項の積を合計することで得られた配列 a と配列 b の積を計算する.
ArrayDot[a,b,{{s1,t1},{s2,t2},…}]
次元のペア{si,ti}の項の積を合計することで得られた配列 a と配列 b の積を計算する.
詳細
- ArrayDot[a,b,k]の引数 a と b は,それぞれ次元が{m1,…,mp,d1,…,dk}と{d1,…,dk,n1,…,nq}の配列でなければならない.結果は次元が{m1,…,mp,n1,…,nq}の配列 c で, ci1,…,ip,j1,…,jqai1,…,ip,α1,…,αkbα1,…,αk,j1,…,jqである.
- ArrayDot[a,b,{{s1,t1},…,{sk,tk}}]の引数 a と b は次元がそれぞれ{m1,…,mp}と{n1,…,nq}の配列でなければならない.ここで,すべての siと tiは他と異なり,すべての i について1≤si≤p,1≤ti≤q,msintiである.結果はTensorContract[ab,{{s1,p+t1},…,{sk,p+tk}}]に等しい.
- ArrayDotは,SparseArrayオブジェクトおよび構造化配列オブジェクトに使うことができる.
- ArrayDotは,配列微分連鎖法則に使用される.
例題
すべて開くすべて閉じる特性と関係 (9)
ArrayDotは,各引数において線形である:
SymbolicIdentityArrayはArrayDotの単位元である:
厳密行列 a について,Norm[a,"Frobenius"]はArrayDot[a,a,2]の平方根に等しい:
c=ArrayDot[a,b, k]なら ci1,…,ip,j1,…,jqai1,…,ip,α1,…,αkbα1,…,αk,j1,…,jqである:
ArrayDepth[ArrayDot[a,b,k]]はArrayDepth[a]+ArrayDepth[b]-2kに等しい:
ArrayDotはTensorProductとTensorContractの組合せとして実装できる:
ArrayDotはFlattenとDotの組合せとして実装できる:
ArrayDotは,配列の微分連鎖律で使われる:
テキスト
Wolfram Research (2024), ArrayDot, Wolfram言語関数, https://reference.wolfram.com/language/ref/ArrayDot.html.
CMS
Wolfram Language. 2024. "ArrayDot." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ArrayDot.html.
APA
Wolfram Language. (2024). ArrayDot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ArrayDot.html