张量转置 (Tensor Transpose)
张量转置是多重线性代数与张量分析中的基本操作,指对张量的指标(下标或分量顺序)进行重新排列。对于二阶张量(即矩阵),转置退化为经典的行列互换;对于三阶及以上张量,转置具有更丰富的组合结构,是张量网络、连续介质力学和深度学习中的核心运算。
定义与坐标表示
设 T∈Rn1×n2×⋯×nk 为一个 k 阶张量,其分量记为 ti1i2⋯ik,其中每个指标 ij∈{1,…,nj}。给定 {1,2,…,k} 的一个置换 (permutation) σ,张量 T 的σ-转置是一个 k 阶张量 Tσ,其分量满足:
(Tσ)iσ(1)iσ(2)⋯iσ(k)=ti1i2⋯ik
等价地,令 jm=iσ(m),则 im=jσ−1(m),从而:
(Tσ)j1j2⋯jk=tjσ−1(1)jσ−1(2)⋯jσ−1(k)
当 k=2 时,唯一的非平凡置换 σ=(12) 即给出矩阵转置:(AT)ji=aij,其中 aij 为原矩阵第 i 行第 j 列的元素。直观上,转置将张量的指标顺序"翻转",在坐标表示中等价于重新排列多维数组的轴 (axis)。
矩阵情形的经典性质
对于二阶张量(矩阵)A,B∈Rm×n,转置满足以下基本代数性质:
(AT)T=A,(A+B)T=AT+BT,(αA)T=αAT
(AB)T=BTAT(乘积转置,次序反转)
若 A 为方阵且可逆,则 (A−1)T=(AT)−1。这些性质自然推广到内积空间上的伴随算子理论:在实内积空间中,矩阵转置即为标准内积下的伴随算子;在希尔伯特空间中,由此衍生出自伴算子与正规算子的丰富理论。
高阶张量的转置分类
对于 k 阶张量,可能置换的数量为 k!(阶乘),但以下若干特殊类型在实际应用中尤为重要。
部分转置
仅对张量的某两个指标进行转置,而其余指标保持原位。例如,在量子信息论中,密度矩阵的部分转置是判断量子纠缠的核心工具——PPT准则(Positive Partial Transpose)要求对子系统做部分转置后,所得矩阵仍为半正定;若该条件被违反,则量子态必然纠缠。
完全转置
将所有指标逆序排列,即 σ=(k,k−1,…,1)。对于三阶张量 (tijk),完全转置的结果为 (tkji)。
模式-n 展开
在张量分解(如Tucker分解、CP分解)中,模式-n 展开 (mode-n unfolding) 将张量沿第 n 个指标展开为矩阵,可视为一种特殊的转置加扁平化操作。例如 T∈Rn1×n2×n3 的模式-1 展开矩阵 T(1)∈Rn1×(n2n3) 的分量满足:
(T(1))i1,i2i3=ti1i2i3
其中 i2i3 表示将两个指标展平为单一复合指标。该操作在交替最小二乘法求解张量分解时反复出现。
张量转置与对称性
转置操作是定义张量对称性的基础语言。一个 k 阶张量 T 若在某个置换 σ 下保持不变,即 Tσ=T,则称其关于 σ 对称;若 Tσ=−T,则称其关于 σ 反称(或反对称)。
对于任意二阶张量,恒有分解:
A=2A+AT+2A−AT
其中第一项为对称部分,第二项为反称部分。该分解在刚体运动学中对应速度梯度张量的应变率(对称)与旋转率(反称)的分离。对于高阶张量,置换群 Sk 的作用使得对称性分类更为复杂:张量可能在某些置换下对称而在另一些置换下不具备对称性,如四阶弹性张量仅要求 Cijkl=Cjikl=Cijlk=Cklij 而不在所有 4!=24 种置换下对称。
与张量缩并的关系
张量转置与张量缩并密不可分。两个张量的缩并等价于外积后再对指定的一对指标求和。引入转置后,任意两个指标之间的缩并都可以通过先转置使目标指标对齐到特定位置,再进行标准缩并来实现。这一思路在爱因斯坦求和约定中尤为自然:对指标 i 和 j 的缩并仅需将两者分别置于适当的转置位置后求和即可。
在张量网络的图形记法中,张量节点伸出的每一条腿 (leg) 代表一个指标,转置对应重新排列这些腿的标号,而缩并对应将两条腿连接。这使得复杂的多重转置-缩并操作可以通过直观的图形变换来理解和推导。
应用场景
- 连续介质力学:四阶弹性张量 C 具有小对称性 Cijkl=Cjikl=Cijlk 和大对称性 Cijkl=Cklij,后者即为一种特殊的张量转置对称性,保证了应变能密度函数的唯一性。
- 深度学习:多通道特征图是天然的三阶张量(高度 × 宽度 × 通道数)。PyTorch 中的 \texttt{torch.transpose}、\texttt{torch.permute} 和 \texttt{torch.einsum} 均直接调用张量转置,用于实现注意力机制中的 QKV 重塑和多头拼接。
- 张量网络:矩阵乘积态 (MPS) 和 PEPS 表示中,转置用于重组虚拟指标和物理指标的排列,是等距中心规范变换和截断奇异值分解的基础操作。
- 微分几何:曲率张量 Rjkli 的指标升降和对称性讨论依赖转置操作;里奇张量 Rij=Rikjk 本质上是曲率张量对第一和第三指标转置后的缩并。
- 量子计算:N 量子比特的态向量是一个 2N 维张量,量子门以克罗内克积形式作用于态空间,多量子比特操作天然涉及高阶张量的转置与缩并。
计算实现
现代张量计算库对转置实现了高效的零拷贝策略:转置不移动物理存储中的数据,仅重新排列张量的 stride(步长)和 shape(形状)元数据。例如,NumPy 的 \texttt{np.transpose} 与 PyTorch 的 \texttt{torch.permute} 均在常数时间内返回原张量的视图 (view) 而非副本。这意味着即使对大型高阶张量进行多次转置,内存占用和计算开销几乎可忽略。
然而,当转置后的张量需要参与后续涉及内存连续性的操作(如卷积、矩阵乘法)时,调用 \texttt{.contiguous()} 或 \texttt{.copy()} 是必要的:视图的 stride 可能不满足底层 BLAS 库的连续内存要求,此时会触发隐式复制,影响性能。
张量转置看似简单,却是连接矩阵理论、多重线性代数、物理建模与机器学习的关键桥梁。理解其坐标表示与置换群结构,并熟悉主流计算库的零拷贝语义,是深入张量分析和现代数值计算的基础。