张量与多重线性代数
张量秩
张量 T 的秩,是其和等于 T 的简单张量的最少个数 r。对一个三阶张量而言,就是分解 T = sum over k=1..r of a_k (x) b_k (x) c_k 中的最少项数。它直接推广了如下事实:秩为 r 的矩阵是 r 个项 u_k*v_k^T 之和,每一项都是一块秩 1 的碎片。
你对矩阵秩所信赖的一切,对三阶或更高阶的张量统统失效。秩可能取决于你在实数还是复数上工作:同一个实张量所需的实秩 1 项,可能多于复秩 1 项。最大秩可以超过显然的维数界,而且秩不是下半连续的,于是一列秩 2 的张量可以收敛到一个秩 3 的张量。
最后这条失效,逼出第二个概念——边界秩:使 T 成为秩至多为 r 的张量之极限的最小 r。边界秩可以严格小于秩,它正是快速矩阵乘法算法的主宰:削减乘法指数依赖于某个特定小张量的边界秩。
请注意:在有理数上精确计算张量秩是 NP 困难的,即便在实数上判定它也很微妙。这是矩阵与张量之间一道真实的悬崖——对矩阵,秩离一次高斯消元只有一步之遥;对张量,秩却跻身最难钉死的不变量之列。在你弄清指的是哪种概念之前,对任何关于三维数组的干净“秩”断言都应心存疑虑。
T = sum_{k=1}^{r} a_k (x) b_k (x) c_k , rank(T) = min such r
张量秩是精确重建 T 所需的最少秩 1(简单)项数。
一个著名的具体例子:2x2x2 矩阵乘法张量的秩为 7(Strassen),其边界秩也是 7;而 2x2 型张量 W = e1(x)e1(x)e2 + ... 的秩为 3、边界秩为 2——这正是说明秩不闭合的教科书例子。
又称
另见