张量的概念及基本运算
文章目录
- 张量的概念及基本运算
-
- 1 张量的定义
- 2 纤维(Fibers)与 切片(Slices)
- 3 张量的范数(norm)
- 4 张量的内积(inner product)
- 5 秩1张量(Rank-One Tensors)
- 6 对称性与张量(Symmetry and Tensors)
- 7 对角张量(Diagonal Tensors)
- 8 矩阵化:将张量转化为矩阵(Matricization: Transforming a Tensor into a Matrix)
- 9 张量乘积:n模乘(Tensor Multiplication : The n-Mode Product)
- 10 矩阵Kronecker积、Khatri–Rao积与Hadamard积
1 张量的定义
张量是一个多维数组。更正式地说,一个 N 阶张量是 N 个向量空间元素的张量积,每个向量空间都有自己的坐标系。
张量的阶数(the order of a tensor)也称为维数(dimensions)、模态(modes)、或方式(ways)。
一阶张量是一个矢量,二阶张量是一个矩阵,三阶或更高阶的张量叫做高阶张量。
2 纤维(Fibers)与 切片(Slices)
2.1 纤维(Fibers)
纤维(Fibers) 是矩阵的行和列的高阶类似物。(纤维是指从张量中抽取的向量)
例如,矩阵 A 的列为mode-1纤维,行为mode-2纤维;
三阶张量有 列(column) 、行(row) 、管(tube) 纤维,分别用 x : , j , k { {\bf{x}}_{:,j,k}} x:,j,k , x i , : , k { {\bf{x}}_{i,:,k}} xi,:,k , x i , j , : { {\bf{x}}_{i,j,:}} xi,j,: 表示。
2.2 切片(Slices)
切片 (Slices) 是一个张量的二维切片,通过固定除两个维度之外的索引来定义。(切片是指从张量中抽取的矩阵)
- 例如,三阶张量 X \mathscr{X} X 的 水平面(horizontal) 、 侧面(lateral) 和 正面(frontal) 的切片,分别用 X i , : , : {\bf{X}}_{i,:,:} Xi,:,: , X : , j , : {\bf{X}}_{:,j,:} X:,j,: 和 X : , : , k {\bf{X}}_{:,:,k} X:,:,k 表示,且 X : , : , k {\bf{X}}_{:,:,k} X:,:,k 可简记为 X k {\bf{X}}_{k} Xk
3 张量的范数(norm)
张量 X ∈ R I 1 × I 2 × ⋯ × I N \mathscr{X} \in \mathbb{R}^{I_{1} \times I_{2} \times \cdots \times I_{N}} X∈RI1×I2×⋯×IN 的范数是其所有元素平方和的平方根,即:
∥ X ∥ = ∑ i 1 = 1 I 1 ∑ i 2 = 1 I 2 ⋯ ∑ i N = 1 I N x i 1 i 2 ⋯ i N 2 \|\mathscr{X}\|=\sqrt{\sum_{i_{1}=1}^{I_{1}} \sum_{i_{2}=1}^{I_{2}} \cdots \sum_{i_{N}=1}^{I_{N}} x_{i_{1} i_{2} \cdots i_{N}}^{2}} ∥X∥=i1=1∑I1i2=1∑I2⋯iN=1∑INxi1i2⋯iN2
这类似于矩阵 A \bf{A} A 的 F范数(Frobenius norm).
4 张量的内积(inner product)
两个相同大小张量 X , Y ∈ R I 1 × I 2 × ⋯ × I N \mathscr{X}, \mathscr{Y} \in \mathbb{R}^{I_{1} \times I_{2} \times \cdots \times I_{N}} X,Y∈RI1×I2×⋯×IN 的内积,即
⟨ X , Y ⟩ = ∑ i 1 = 1 I 1 ∑ i 2 = 1 I 2 ⋯ ∑ i N = 1 I N x i 1 i 2 ⋯ i N y i 1 i 2 ⋯ i N \langle \mathscr{X}, \mathscr{Y} \rangle=\sum_{i_{1}=1}^{I_{1}} \sum_{i_{2}=1}^{I_{2}} \cdots \sum_{i_{N}=1}^{I_{N}} x_{i_{1} i_{2} \cdots i_{N}} y_{i_{1} i_{2} \cdots i_{N}} ⟨X,Y⟩=i1=1∑I1i2=1∑I2⋯iN=1∑INxi1i2⋯iNyi1i2⋯iN
且有
⟨ X , X ⟩ = ∥ X ∥ 2 \langle\mathscr{X}, \mathscr{X}\rangle=\|\mathscr{X}\|^{2} ⟨X,X⟩=∥X∥2
5 秩1张量(Rank-One Tensors)
一个 N 维张量 X ∈ R I 1 × I 2 × ⋯ × I N \mathscr{X} \in \mathbb{R}^{I_{1} \times I_{2} \times \cdots \times I_{N}} X∈RI1×I2×⋯×IN ,如果可以被写成 N 个向量的张量外积(outer product) ,
X = a ( 1 ) ∘ a ( 2 ) ∘ ⋯ ∘ a ( N ) \mathscr{X}=\mathbf{a}^{(1)} \circ \mathbf{a}^{(2)} \circ \cdots \circ \mathbf{a}^{(N)} X=a(1)∘a(2)∘⋯∘a(N)
则这个张量的秩为1.
其中,符号“◦”代表张量外积,即,张量的每个元素都是对应的向量元素的乘积:
x i 1 i 2 ⋯ i N = a i 1 ( 1 ) a i 2 ( 2 ) ⋯ a i N ( N ) for all 1 ≤ i n ≤ I n x_{i_{1} i_{2} \cdots i_{N}}=a_{i_{1}}^{(1)} a_{i_{2}}^{(2)} \cdots a_{i_{N}}^{(N)} \quad \text { for all } 1 \leq i_{n} \leq I_{n} xi1i2⋯iN=ai1(1)ai2(2)⋯aiN(N) for all 1≤in≤In
下图展示了 X = a ∘ b ∘ c \mathscr{X} =a \circ b \circ c X=a∘b∘c,一个三阶秩1张量
- 注:
① 张量外积(Outer Product) 是线性代数中的外积, 也就是张量积(Tensor Product);克罗内克积(Kronecker Product)是张量积在矩阵中的特殊形式。
② 向量外积(Exterior Product) 是解析几何中的外积,也叫叉积(Cross Product)。
6 对称性与张量(Symmetry and Tensors)
6.1 立方张量(cubical tensors)
如果一个张量的每个维度大小相同, X ∈ R I × I × I × ⋯ × I \mathscr{X} \in \mathbb{R}^{I \times I \times I \times \cdots \times I} X∈RI×I×I×⋯×I,那么这个张量就叫做立方(cubical)张量;
6.2 超对称张量(super symmetric)
如果立方张量在任何索引排列下都保持不变,则立方张量称为超对称张量(supersymmetric)(或对称张量)。
- 例如,如果满足以下条件,则三阶张量 X ∈ R I × I × I \mathscr{X} \in \mathbb{R}^{I \times I \times I} X∈RI×I×I 是超对称的
x i j k = x i k j = x j i k = x j k i = x k i j = x k j i for all i , j , k = 1 , … , I x_{i j k}=x_{i k j}=x_{j i k}=x_{j k i}=x_{k i j}=x_{k j i} \quad \text { for all } i, j, k=1, \ldots, I xijk=xikj=xjik=xjki=xkij=xkji for all i,j,k=1,…,I
6.3 部分对称张量(partically symmetric)
张量也可在两个或多个维度下(部分)对称。
- 例如,对于三阶张量 X ∈ R I × I × K \mathscr{X} \in \mathbb{R}^{I \times I \times K} X∈RI×