テンソル
Tensor
1つの値
1次元配列と同等
$ a_1, a_2, \cdots, a_n
2次元配列と同等
$ a_{1,1}, a_{1,2}, \cdots,a_{1,j}, a_{2,1}, a_{2,2}, \cdots, a_{i,j}
テンソル
N次元配列と同等(ベクトルと行列も内包する)
以下は3次元配列とした場合のテンソル
$ a_{1,1,1}, a_{1,1,2}, \cdots,a_{1,1,k}, a_{1,j,1}, a_{1,j,2}, \cdots, a_{1,j,k}, \cdots, a_{i,j,k}
N次元配列のNの部分をテンソルでは「次数」または「階数」と呼ぶ。
スカラーは0階のテンソル、ベクトルは1階のテンソル、行列は2階のテンソルとなる。
(あるいはスカラーは0次のテンソル、ベクトルは1次のテンソル、行列は2次のテンソル)
N次元配列のそれぞれの添え字(軸)を「モード」と呼ぶ。
添え字の大きさを「次元」と呼ぶ。(モードごとに異なる次元を持つ。)
3次元のベクトルと言う場合、例えば$ (x, y, z)の事を意味するが、テンソルではそれぞれのモードに次元がある。
テンソルの演算
ここでは簡易的に$ I \times J \times K 次元の3階のテンソルで書く。
$ [X]_{ijk} はテンソル$ Xから$ (i, j, k)の位置の要素を取り出すことを意味する。
$ x_{ijk}はテンソル$ Xの$ (i, j, k)の位置の要素そのものとする。
つまり、$ [X]_{ijk} = x_{ijk} となる。
スカラー倍
それぞれの要素を単純にスカラー倍したものが結果となる。
$ [aX]_{ijk} = ax_{ijk}
加算
全てのモードの次元が同一でなければならない。
それぞれの要素を加算したものが結果となる。
$ [X + Y]_{ijk} = x_{ijk} + y_{ijk}
内積(アダマール積)
全てのモードの次元が同一でなければならない。
それぞれの要素を掛け合わせた物の総和になる。
$ X \cdot Y = \sum_{i}{\sum_j{\sum_k x_{ijk}y_{ijk}}}