現在この提出コンテンツをフォロー中です。
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます
Usage: einsum(A,B,s)
einsum(A,B,iA,iB)
Calculates the contraction of A and B which are n-dimensional tensors.
The contraction is specified either by s, in Einstein notation, or by two
vectors, iA and iB which list the indices to contract on for each tensor.
Example:
A=rand(7,4,5);
B=rand(5,7);
To contract the 1st dimension of A with the 2nd dimension of B, use
einsum(A, B, 'ijk,li->jkl') OR einsum(A, B, 1, 2)
The result will be of size [4,5,5].
To contract the 3rd dimension of A with the 1st dimension of B, use
einsum(A, B, 'ijk,kl->ijl') OR einsum(A, B, 3, 1)
The result will be of size [7,4,7].
To do both contractions at once, use
einsum(A,B,'ijk,ki->j') OR einsum(A, B, [1 3], [2 1])
Using the iA, iB it is not possible to specify the order of dimensions
in the output, they're just in the same order as the input, with the
contracted dimensions omitted.
Author: Yohai Bar-Sinai
引用
Yohai (2026). einsum (https://jp.mathworks.com/matlabcentral/fileexchange/68995-einsum), MATLAB Central File Exchange. に取得済み.
