精华内容
下载资源
问答
  • 十、张量网络收缩算法 1. 张量网络的基本定义 ...其中,收缩规则由张量网络形成的图确定,网络中的一个节点代表一个张量,与该节点连接的边代表该张量的指标,连接不同节点的边代表对应张量的共有指标,我们需要把这些

    十、张量网络收缩算法


    1. 张量网络的基本定义


           通过前面的学习,我们对张量网络有了简单的了解,这里我们给出张量网络的一般定义:由多个张量按照一定的收缩规则构成的模型,被称为张量网络

           其中,收缩规则由张量网络形成的图确定,网络中的一个节点代表一个张量,与该节点连接的边代表该张量的指标,连接不同节点的边代表对应张量的共有指标,我们需要把这些共有指标收缩掉从而计算整个张量网络的结果。

           之前我们提到的 MPS 是一种特殊的张量网络,MPS 中两个不同张量所共有的指标称为 辅助指标(也称为虚拟指标或几何指标);没有被共有的指标代表物理空间的自由度,称为 物理指标

           在张量网络中,我们统一的将仅连接一个节点的指标称为 开放指标 ,连接两个节点的指标称为 几何指标 。当张量网络被用于表示量子态时,开放指标代表物理空间的自由度,所以又称为物理指标。

           从张量网络的一般定义出发,我们可以看出,张量网络就是张量的一种表示形式,任意张量网络其实就是一个张量,该张量的指标就是张量网络的开放指标。

           张量网络可以记为:
    T=tTr(A,B,)T=\operatorname{tTr}(A, B, \cdots)

    其中 TT 代表收缩所有集合指标后得到的张量,ABA、B、\cdots 等代表张量网络中的每个张量,tTr\operatorname{tTr} 表示对所有的几何指标求和。

           一个高阶张量可以表示为不同形式的张量网络。如下图所示的两种张量网络都可以表示一个五阶张量 Ts1s2s3s4s5T_{s_1s_2s_3s_4s_5}

    在这里插入图片描述

           我们称没有开放指标的张量网络为 闭合张量网络 。闭合张量网络因为没有开放指标,也就是没有自由指标,表示一个标量。闭合张量网络可以用来表示一大类的问题。


    2. 张量网络的低秩近似


           有了张量网络的定义,我们考虑以下问题,在给定的张量网络中,如何裁剪某一几何指标的维数,使得裁剪前后的张量保持原有的结构,但是两者有着最小的误差。

           这里我们只考虑无圈张量网络中几何指标维数的裁剪。也就是整个张量网络图中不存在环路。

           以下图的张量网络 Ts1s2s3s4s5T_{s_1s_2s_3s_4s_5} 为例,我们考虑对途中红色的几何指标进行维数裁剪。

    在这里插入图片描述

    通过矩阵的最优低秩问题进行裁剪

           这是一种比较简单的裁剪方式,我们首先将张量网络矩阵化,也就是沿要裁剪的指标将张量变成矩阵,再对矩阵进行 SVD 分解,实现维数裁剪。

           对于上图的张量,我们可以将其 reshape 成为维数分别为 s1×s2s_1 \times s_2s3×s4×s5s_3 \times s_4 \times s_5 的矩阵,表示为 T[s1s3][s3s4s5]T_{[s_1s_3][s_3s_4s_5]} 。我们对得到的矩阵进行 SVD 分解,保留指定维数的奇异谱,就能实现对张量的裁剪。

           一般情况下我们不推荐使用这种方式对张量网络进行维数裁剪,因为对张量网络 TT 的 SVD 分解的复杂度是随着开放指标的维数呈指数上升的,我们将张量转换为张量网络的目的就是为了避免该指数问题,所以我们并不使用这种方式实现维数裁剪。


    引入非方的裁剪矩阵进行维数裁剪

           这种方式的基本思路为:通过引入非方的裁剪矩阵,与连接待裁剪指标的张量进行收缩,实现该指标的维数裁剪。

           对于一个要裁剪的指标,我们首先假设连接待裁剪指标的张量分别为 A(1)A^{(1)}A(3)A^{(3)} ,假设待裁剪指标 aa 的维数为 DD ,裁剪后的指标维数为 χ\chi ,我们引入维数为 D×χD \times \chi 的矩阵 VLV^LVRV^R ,将矩阵的指标和张量中待裁剪指标进行收缩:
    As1a1a2a(1)=aAs1a1a2a(1)VaaLA_{s_{1} a_{1} a_{2} a^{\prime}}^{\prime(1)}=\sum_{a} A_{s_{1} a_{1} a_{2} a}^{(1)} V_{a a^{\prime}}^{L}

    As3(3)a3a4a=aAs3a3a4a(3)VaaRA_{s_{3}}^{\prime(3)} a_{3} a_{4} a_{\prime}=\sum_{a} A_{s_{3} a_{3} a_{4} a}^{(3)} V_{a a^{\prime}}^{R}

    我们可以用图形表示为,VLV^LVRV^R 被称为裁剪矩阵

    在这里插入图片描述
           因为我们引入了裁剪矩阵,那么不可避免的就会对原仗张量网络造成影响,那么几何指标维数裁剪的问题就转换为,如何计算裁剪矩阵,使得裁剪误差极小化。

    一种常用的算法步骤如下:

    1. 通过规范变化,将张量网络变换为中心正交形式,正交中心为连接待裁剪指标的两个张量中的其中一个。如下图所示,正交中心为 A(3)A^{(3)} ,中心正交形式中,除正交中心张量外,其他张量满足正交性,我们用箭头表示正交条件,也就是该张量的所有内向指标对应与其共轭进行收缩,得到以外向指标为指标的单位阵。

    在这里插入图片描述

    1. 对正交中心的张量进行奇异值分解,由前 χ\chi 个奇异向量构成 VLV^L ,且 VL=VRV^L=V^R 。以 A(3)A^{(3)} 为例,我们对其进行奇异值分解,即:
      As3a3a4a(3)=aUs3a3a4aΛaVaaA_{s_{3} a_{3} a_{4} a}^{(3)}=\sum_{a^{\prime}} U_{s_{3} a_{3} a_{4} a^{'}} \Lambda_{a^{'}} V_{a a}^{*}

    那么 VV 的前 χ\chi 个奇异向量构成裁剪矩阵,即 VL=VR=V:,0:χV^L=V^R=V_{:,0:\chi}

    由于 VLV^L 的正交性,可以得到:

    1. 更新后 A(1)A^{'(1)} 的正交性不变,即
      As1a1a2a(1)=aAs1a1a2a(1)VaaLA_{s_{1} a_{1} a_{2} a'}^{\prime(1)}=\sum_{a} A_{s_{1} a_{1} a_{2} a}^{(1)} V_{a a'}^{L}

    2. 变换后的 A(3)A^{(3)} 可写成定义在指标 aa 上的 Λ\Lambda 乘上正交张量 UU ,此时张量网络的正交中心为 Λ\Lambda ,即:
      As3a3a4a(3)=ΣaAs3a3a4a(3)VaaR=a=0χ1Us3a3a4aΛaA_{s_{3} a_{3} a_{4} a^{\prime}}^{\prime(3)}=\Sigma_{a} A_{s_{3} a_{3} a_{4} a}^{(3)} V_{a a^{\prime}}^{R}=\sum_{a^{\prime}=0}^{\chi-1} U_{s_{3} a_{3} a_{4} a^{\prime}} \Lambda_{a}

    3. 通过上面的讨论可以得出,上述的裁剪方式实际上是保留了 Λ\Lambdaχ\chi 个最大奇异值以及相关的奇异向量,且由于 Λ\Lambda 为正交中心,整个张量网络 T=tTr(A(1),A(5))T=\operatorname{tTr}\left(A^{(1)}, \cdots A^{(5)}\right) 在指标 aa 二分时的前 χ\chi 个奇异谱为 Λ\Lambda 。如果想保持张量网络的形式不变,可以将 Λ\Lambda 乘入 A(3)A^{'(3)} ,那么整个张量网络的正交中心变为 A(3)A^{'(3)}

    4. 因为 Λ\Lambda 为正交中心,其余张量都是正交的,对 A(3)A^{(3)} 进行的局域奇异值裁剪实际就是全局最优的裁剪,也就是极小化了裁剪误差
      ϵ=tTr(A(1),A(2),A(3),A(4),A(5))tTr(A(1),A(2),A(3),A(4),A(5))\epsilon=\left|\operatorname{tTr}\left(A^{(1)}, A^{(2)}, A^{(3)}, A^{(4)}, A^{(5)}\right)-\operatorname{tTr}\left(A^{\prime(1)}, A^{(2)}, A^{\prime(3)}, A^{(4)}, A^{(5)}\right)\right|

    而且其避免了计算整个张量网络 T[s1s3][s3s4s5]T_{[s_1s_3][s_3s_4s_5]} 的奇异值分解,避免了指数大的问题。


    3. 张量重整化群(TRG)算法


           下面我们考虑一种特殊的张量网络收缩计算,即 由无穷多个张量构成的闭合张量网络,且所有张量都相等。我们记该类张量网络为
    Z=tTr([T])Z=\operatorname{tTr}\left([T]^{\infty}\right)

    TT 被称为构成该张量网络的 不等价张量 ,整个张量网络都是由 TT 组成。

    该类张量网络由两个因素完全确定:

    1. 不等价张量
    2. 张量网络的几何结构

           下面我们以定义在无穷大正方格子上的张量网络为例计算这种类型网络的收缩。如下图所示,显然,严格收缩该张量网络的计算复杂度会随着收缩的进行呈指数上升。

    在这里插入图片描述

           我们使用 张量重整化群(TRG) 算法,通过引入合理的近似,将计算复杂度控制到多项式级。该算法的步骤如下:

    1. 在第 tt 次的循环中,利用 SVD 对不等价张量 TT 做下面两种不同的分解。

      一种是将不等价张量矩阵化为两个维度分别为 s1×s2s_1\times s_2s3×s4s_3\times s_4 的矩阵,然后对其进行 SVD 分解,其中的奇异谱可以任意收缩到 UUVV 中:
      T[s1s2][s3s4](t)s=0χ1U[s1s2]sV[s3s4]sT_{\left[s_{1} s_{2}\right]\left[s_{3} s_{4}\right]}^{(t)} \cong \sum_{s^{\prime}=0}^{\chi-1} U_{\left[s_{1} s_{2}\right] s^{\prime}} V_{\left[s_{3} s_{4}\right] s^{\prime}}

      另外一种是将不等价张量矩阵化为两个维度分别为 s1×s4s_1\times s_4s2×s3s_2\times s_3 的矩阵,再对其进行奇异值分解,其中的奇异谱可以任意收缩到 PPQQ 中:
      T[s1s4][s2s3](t)s=0χ1P[s1s4]sQ[s2s3]sT_{\left[s_{1} s_{4}\right]\left[s_{2} s_{3}\right]}^{(t)} \cong \sum_{s^{\prime \prime}=0}^{\chi-1} P_{\left[s_{1} s_{4}\right] s^{\prime \prime}} Q_{\left[s_{2} s_{3}\right] s^{\prime\prime}}

      在进行 SVD 分解时,当奇异谱的维数大于截断维数 χ\chi 时,则仅保留前 χ\chi 个最大的奇异值对应的奇异向量。

      该步用图形表示如下:
      在这里插入图片描述

    2. 经过第一步的分解,我们将每个张量都替换为上面两种 SVD 分解其中一种得到的张量,整个张量网络被变换为如下的形式。我们可以将图中虚线框内的张量收缩,得到一个四阶张量:
      Ts1s2s3s4(t)=s1s2s3s4Vs3s4s1Qs2s3s2Us1s2s3Ps1s4s4T_{s^{\prime}_{1} s_{2}^{\prime} s^{\prime} _3 s_4^{'}}^{\prime(t)}= \sum_{s_{1} s_{2} s_{3} s_{4}} V_{s_{3} s_{4} s_{1}^{'}} Q_{s_{2} s_{3} s_{2}^{'}} U_{s_{1} s_{2} s_{3}^{'}} P_{s_{1} s_{4} s_{4}^{'}}

    在这里插入图片描述

    1. 对每一个收缩后的张量进行归一化处理
      C(t)=Ts1ss3s4(t)C^{(t)}=\left|T^{\prime(t)}_{s^{\prime}_{1}s^{\prime} s_{3}^{\prime} s_{4}^{\prime}}\right|

      Ts1s2s3s4(t+1)=Ts1s2s3s4(t)C(t)T_{s_{1}^{\prime} s_{2}^{\prime} s_{3}^{\prime} s_{4}^{\prime}}^{(t+1)}= \frac{T_{s^{\prime}_{1} s^{\prime}_2 s_{3}^{\prime} s_{4}^{\prime}}^{\prime(t)} } {C^{(t)}}

      其表示对第 tt 次收缩后的张量求其范数,归一化后得到下次收缩的初始张量 T(t+1)T^{(t+1)} 。之后张量网络又变成了正方格子网络,但是经过前面的操作,我们先将一个张量变成了两个,之后收缩四个张量为一个张量,总的张量个数会减少一半,经过 tt 次收缩整个张量网络变为:

      tTr([T(t+1)]2t)\operatorname{tTr}\left(\left[T^{(t+1)}\right]^{\frac{\infty} {2^{t}}}\right)

      张量总个数为最初的 12t\frac{1}{2^t} 倍。C(t)C^{(t)} 被称为 重整化因子

    2. 检查不等价张量是否收敛 ,如果未达到收敛阈值,则返回第一步,如果收敛,计算张量网络收缩的结果
      Z=t=1t~[C(t)]N2t=t=1t~[C(t)]2(tt)Z=\prod_{t=1}^{\tilde{t}}\left[C^{(t)}\right]^{\frac{N}{2^{t}}}=\prod_{t=1}^{\tilde{t}}\left[C^{(t)}\right]^{2^{(t-t)}}

      其中,N 为收敛时张量网络中每个张量等效代表的原始张量 T(0)T^{(0)} 的个数,这个过程就称为重整化群,满足 N=2t~N=2^{\tilde{t}}t~\tilde{t} 为收敛时的迭代次数。因为每进行一步迭代,张量网络中张量的个数减少一半,相当于收缩后的每个张量等效地代表收缩之前的两个张量。

      之所以可以用 ZZ 代表整个张量网络的收缩结果,是因为如果我们没有进行归一化,直接对 TtT^{t} 进行收缩就是整体的结果,但是由于我们在每一步进行了归一化处理,即每一步除以一个重整化因子 C(t)C^{(t)} ,所以我们整个张量网络的收缩结果就可以用 ZZ 来表示。

           上式中的 ZZ 是难以计算的,其取值取决于收敛次数,它可能是发散的,这里我们定义张量网络的 平均自由能 来刻画张量网络:
    F=lnZN=ln[t=1t~[C(t)]2(tt)2t~]=t=1t~2tlnC(t)F=-\frac{\ln Z}{N}=\ln \left[\frac{\prod_{t=1}^{\tilde{t}}\left[C^{(t)}\right]^{2^{(t-t)}}}{2^{\tilde{t}}}\right]=-\sum_{t=1}^{\tilde{t}} 2^{-t} \ln C^{(t)}

    当不等价张量收敛时,重整化因子 C(t)C^{(t)} 收敛于 1 ,所以求和项随 tt 指数减小,当 tt 足够大时,FF 收敛,且收敛的 FF 与迭代次数 t~\tilde{t} 无关。

            TRG 算法并没有严格地计算张量网络的收缩。在第一步中,设张量 T(t)T^{(t)} 的维数为 D×D×D×DD \times D \times D \times D ,如果进行严格的奇异值分解,则分解出的新的指标为 D2D^2 ,即张量 T(t+1)T^{(t+1)} 的维数为 D2×D2×D2×D2D^2 \times D^2 \times D^2 \times D^2 。可以看出,如果每次迭代都进行严格的奇异值分解,则不等价张量的指标维数将会随着迭代次数呈指数上升。

           如果奇异值分解出的指标维数大于截断维数 χ\chi ,那么进行维数裁剪,保留前 χ\chi 个奇异谱对应的奇异向量。该近似中的误差,对于被分解的不等价张量来说是最小化的,因此,不等价张量 T(t)T^{(t)} 被称为裁剪环境,所以 TRG 的裁剪环境是局域的,即对整个张量网络而言,其裁剪并不是最优的,这也是限制 TRG 精度的主要因素。


    4. 角转移矩阵重整化群算法 (CTMRG)


           在 TRG 中,其裁剪环境是局域的,因此整个张量网络的裁剪并不是最优的,这里我么介绍 角转移矩阵重整化群算法 (CTMRG) ,其裁剪环境为非局域的裁剪环境,所以精度更高。

           我们仍然考虑收缩一个不等价张量构成的无穷闭合大张量网络:
    Z=tTr([T])Z=\operatorname{tTr}\left([T]^{\infty}\right)

           在角转移矩阵重整化群算法中,我们假设在无穷远的张量网络中有一个 “边界” ,我们在边界处放一些变分张量,记定义在边上的三阶张量 SS 为边张量,定义在角上的二阶张量 CC 为角矩阵。边张量和角矩阵可以随机初始化。如下图所示:
    在这里插入图片描述
           考虑到张量网络边的长度(边张量的个数)为无穷大,且由于张量网络具有平移不变性,我们设所有边张量相等,所有角矩阵相等。

           解决该问题的思路为,设计一种迭代收缩的过程,使得边张量与角矩阵达到收敛。

           我们首先将边张量与角矩阵和他们直接相邻的不等价张量进行收缩,其迭代的收缩过程如下图所示:

    在这里插入图片描述
    在收缩过程中包括两种形式的收缩,如下所示:
    在这里插入图片描述
    第一种是边张量和相邻张量的收缩,其收缩的结果是一个新的边张量;第二种是角矩阵与相邻张量和边张量的收缩,其收缩为一个新的角矩阵。

           通过图示,我们可以知道,每进行一次收缩,边张量与角矩阵的指标(上图黄色指标)维数扩大 dd 倍,因此,需要使用矩阵或张量的低秩近似对增大的指标维数进行裁剪,否则指标的维数会呈指数增大。其裁剪的方法并不唯一,不同的裁剪方法实际上对应于不同的裁剪环境。

    展开全文
  • 张量的概念及其理解

    万次阅读 2015-03-09 14:25:40
    这一节主要讲张量的概念以及其理解。 l 张量概念 张量(tensor)是指能够用指标表示法表示的物理量,并且该物理量满足坐标的变换关系。 0阶张量:无自由指标的量,与坐标系选取无关,如温度、质量、能量等标量。 1...

    转自MOOChttp://mooc.guokr.com/note/14380/

    这一节主要讲张量的概念以及其理解。

    l 张量概念

    张量(tensor)是指能够用指标表示法表示的物理量,并且该物理量满足坐标的变换关系。

    0阶张量:无自由指标的量,与坐标系选取无关,如温度、质量、能量等标量。

    1阶张量:有1个自由指标的量,如坐标Xi,位移ui等矢量

    2阶张量:有2个自由指标的量,如应力

    n阶张量:有n个自由指标的量,如Dijkl四阶弹性系数张量

    • 张量的性质

    (1)张量是描述客观存在的物理量,具有坐标不变性;

    (2)张量在不同的参考坐标下有不同的分量;

    (3)分量之间满足坐标变换关系。

    • 以一个平面的力矢量(一阶张量)来说明如何理解张量(物理量)中的不变量或特征量的性质。

    力矢量F是具有方向性的物理量,基于不同的坐标来描述该物理量

    上图中的两个坐标系间满足坐标转换关系

    令两个坐标系之间的夹角为α,则令l=cosα,m = sinα。坐标转换矩阵为:

    则力矢量分量的转换关系为

    虽然采用不同的坐标系,对于同一个客观的物理量的分量描述不同,但该物理量应该具有一些与坐标系无关的本质特征,即不随坐标系的变化而变化。对于该一阶力矢量,力的大小是不变的,也就是说该该矢量的长度是不变的。

    虽然采用不同的坐标系,对于同一个客观的物理量的分量描述不同,但该物理量应该具有一些与坐标系无关的本质特征,即不随坐标系的变化而变化。对于该一阶力矢量,力的大小是不变的,也就是说该该矢量的长度是不变的。

    这些不随坐标系的改变而改变的物理量反映了物理量的本质特征,因而课可以采用这些特征量定义或构建物理准则,如:等效应力、强度准则等。

    • 一个平面的应力张量(二阶张量) σ

    在两个坐标系中对应力张量分别进行描述。两个坐标系之间的夹角为α。

    一号坐标系中的应力分量如下图方框中所示。

    二号坐标系中的应力分量如下图红圈中所示。

    可以看出,在两个坐标系中应力有着不同的分量。

    不同坐标系中应力张量的分量之间的转换关系为

    2D问题应力分量的转换为

    用Mohr圆表示2D问题应力张量变换

    从图中可以看出,在P1点可以得到最大主应力σ1,在P2点可以得到最小主应力σ2。

    这两个主应力就是2阶应力张量的特征量。σ1、σ2通常作为材料的强度准则。

    • 张量的一般性表达

    用不同的基张量的组合来表达张量。

    n阶张量的分量转换就是要乘以n次基张量的坐标变换的张量。

    展开全文
  • ] 中, 我们介绍了矢量空间, 对偶矢量空间, 张量的概念与重复指标求和约定(也称之为上下重复指标缩并). 初阶理论有一大特点就是: 我们将矢量与列矩阵绑定, 而对偶矢量与行矩阵绑定. 即将矢量空间看作列矩阵空间, 而...

    c2cf9c67d21f22a81fd77cd205cc6e3f.png

    序言

    在初阶理论 [東雲正樹:物理人的张量运算 / 爱因斯坦求和? 何为矩阵? 为何这样乘? 什么是张量? 什么又是线性空间?] 中, 我们介绍了矢量空间, 对偶矢量空间, 张量的概念与重复指标求和约定(也称之为上下重复指标缩并).

    初阶理论有一大特点就是: 我们将矢量与列矩阵绑定, 而对偶矢量与行矩阵绑定. 即将矢量空间看作列矩阵空间, 而对偶矢量空间看作行空间, 并要求只有 (1,1) 型张量才能写为矩阵.

    但这样的做法其实只是为了给你一个从矩阵运算升级到指标运算的适应过程罢了.

    事实上你发现量子力学中将算符解释为方矩阵, 左矢解释为行矩阵, 右矢解释为列矩阵的做法的根本原因也是如此. 因为量子力学也只是一门初级科目, 既然线性代数里面那些矩阵的运算你是已经懂了的, 它就没必要给你讲张量这些有的没的, 更何况量子力学里面只有 (1,0), (0,1), (1,1) 三种型号的张量, 这和矩阵空间简直是天造地设的一对.

    一般碰到这种结构我反手就上狄拉克符号.

    但当我们习惯了指标缩并的运算逻辑并接受了各式各样不同型张量的存在之后, 我们完全可以将这种分量运算当作底层逻辑而抛弃老旧的矩阵空间对应理论. 那么这个想法是否切实可行呢?

    验证这个想法的可行性同时抛弃老旧的矩阵空间对应理论正是本文的任务.


    目録

    1. 矩阵空间对应的张量理论观点

    2. 废除矩阵空间对应

    2.1. 动机与具体做法
    2.2. 举例分析
    2.3. 结论

    3. 进阶玩法总结


    1. 矩阵空间对应的张量理论观点

    研究的对象是矢量空间

    , 其中定义有内积
    , 内积诱导出对偶空间
    .
    其实就是研究一个内积空间啦, 内积空间就是定义了内积的矢量空间(线性空间).

    而我们当时为了最直观地构建张量的指标运算理论用到了如下的对应观点:

    (1). 取了一组标准正交基
    内积运算将诱导出对偶基
    , 其中
    .

    (2). 翻译成矩阵后基底们表现为
    .

    (3). 分量表示张量, 即分别用
    来表示
    ,
    .

    (4). 矩阵翻译要上下重复指标相连
    .

    (5). 转置
    , 共轭
    , 厄米共轭
    .

    我们当时为了将这个观点变得可信还花了不少精力去完整地解释了内部的对应逻辑. 这也导致我们当时强调说, 矩阵必须是 (1,1) 型张量, 而 (2,0) 与 (0,2) 型无法用矩阵表达.

    但现在你已经能够接受指标运算的逻辑了, 所以我们就要用指标运算逻辑取代矩阵运算逻辑作为底层逻辑, 这样我们就进一步地抽象化了这个体系, 抽象作为代价给我们带来的是更高的操作自由度, 与更便捷的运算逻辑.

    具体而言, 我们就是要删除列矩阵空间对应矢量空间, 行矩阵空间对应对偶矢量空间这个限制, 但翻译到矩阵还是要遵守上下重复指标要首尾相连这个约定, 事实上这个约定是万万不能删除的, 后面我们将看到这一点.


    2. 废除矩阵空间对应

    2.1. 动机与具体做法:

    前面说受到

    ,
    ,
    的启发, 我们很自然的就会发现, 既然这套符号系统如此灵活, 其实也没必要将矢量空间对应列空间, 对偶矢量空间对应行空间吧? 我约定指标的上下控制共轭, 左右控制转置岂不是更好?

    意思就是说左行右列, 无论

    还是
    都将对应一个矩阵. 且左指标掌控行右指标掌控列. 即分别表达为
    .

    但你可能会问: 那么矢量究竟对应行矩阵还是列矩阵呢?

    我会告诉你: 完全不做绑定, 但若是涉及矩阵翻译就仍然要遵守上下指标首尾相连的逻辑.

    2.2. 举例分析:

    简洁起见, 二维空间意思意思就行, 你懂我意思就好了:

    (1).

    上式说明无论矢量和对偶矢量与行矩阵列矩阵是如何对应的, 最后结果都是一样的.

    (2).

    翻译到矩阵就是
    .

    ┗ 这是我们古老又传统的经典操作.

    (3). 对于

    我们以前翻译为矩阵的逻辑是什么?
    当时是
    这样先转置再说对吧?

    ┣ 然后再翻译矩阵:



    ┣ 然而实际上假如我们考虑
    再用左行右列的思想的话就有:


    ┣ 这俩做法中, 一个将矢量空间对应到行空间, 一个将矢量空间对应到列空间,
    ┣ 但结果却是完全一样的, 又一次说明了没这个行列空间的对应完全不影响计算结果.
    ┣ 事实上从
    我们就该能看到
    不是吗?

    ┣ 我怎么知道要把
    写出列矩阵呢? 因为它在方阵的右边啊.

    ┣ 它为啥要在方阵的右边呢?
    ┗ 因为虽然我们放弃了行列对应, 但并没有破坏矩阵翻译要上下指标首尾相连的逻辑.

    (4). 最后一例:

    .
    就从重复指标求和来说, 我们可以知道
    对吧?

    ┣ 那按照我们前面的说法, 强行翻译一下?
    ┣ 即

    ┣ 算出来就是
    .

    ┗ 即有
    , 这说明这样翻译仍然是自洽的.

    (5). 可能有人会担心两个矩阵的运算会出意外, 其实不用担心这点.

    因为矩阵总是可以拆解成若干行列矩阵乘积的和, 譬如说:

    ┣ 这么一来俩矩阵相乘总可以做如下分解:
    .

    ┣ 其中
    ,
    ,
    ,
    .

    ┗ 于是又回到了前面描述的情况了对吧.
    这里稍微提一下,
    这种式子怎么看待, 没东西给你首尾相接了对吧?

    ┣ 然后又没矩阵给你确定它们是行还是列, 怎么办?
    ┣ 答案是先把它们看作张量
    , 然后就还是老规矩左行右列的排列成矩阵呗.

    ┣ 问题是
    , 如何确定左右关系?

    ┣ 答案是看左边的
    , 首尾相连要求
    在左.

    ┣ 不过你这又变回去了就没意思了, 我们要说明的是矩阵相乘可以分解为:
    .

    ┗ 至于最后的
    的顺序就由
    的指标来确定.

    其实还有一个确定的方法, 看
    这一项:

    是要缩并的, 所以
    在矩阵的右边自然是列矩阵.

    ┗ 缩并后它们构成
    , 而
    是不缩并的, 就还是左行右列这样排列就是了.

    (6). 就算你行列对应不再限制死, 但

    中的
    明明都是对偶矢量却一个列一个行, 这样子真的没问题吗?
    当然没问题, 其实你想想,
    能被写成矩阵不就说明了指标的上下跟行列毫无关系吗?

    (7). 对于两个矩阵的情况总而言之就是说:

    我们一开始不确定将
    翻译为
    是否合理,

    ┣ 但我们很清楚
    是合理的操作, 也可以翻译到矩阵.

    ┣ 而这样分解出来的
    是我们熟知的操作, 也可以翻译到矩阵.

    ┣ 它可以进一步化为
    , 而这, 我们太懂了, 当然, 它也可以翻译到矩阵.

    ┣ 所以总的来说
    翻译为
    一定是合理的.

    ┗ 由此可以轻易推广到任意个任意阶矩阵连乘, 这就是标量运算的威力.

    2.3. 结论:

    前面的例子显然说明了我们完全没有必要将抽象的内积空间运算强行与矩阵空间做一一对应. 因为对于一个张量, 只要我们能确定它在已知基底下的全部分量, 我们就完全地掌握了这个张量的所有信息, 所以无论你怎么运算只要最后分量能给对就达到了我们的目的.

    而前面的过程相当于是说, 我们将张量的运算翻译到矩阵空间, 用矩阵的运算法则来转述张量分量的运算规律, 而我们发现只要我们要求:

    (1). 上下重复指标首尾相连来确定各项的相对位置.
    (2). 两个指标的张量按照左指标代表行右指标代表列这样排成矩阵,
    ┗ 然后单指标的张量根据相对于矩阵的位置与是否缩并来确定是行矩阵还是列矩阵.

    就可以很顺利且正确地确定最后的结果.

    由此, 矩阵表述就由底层逻辑退化到计算过程中的一种表述方式, 而指标缩并运算也确实可以毫无顾虑的作为底层逻辑.

    这样一来, 就不再是研究内积空间的时候将矢量看作列矩阵而对偶矢量看作行矩阵, 而是将来在研究矩阵运算的时候, 你可以将列矩阵做作矢量, 而将行矩阵看作对偶矢量. 这是一次颠覆, 基本上等于我们在父子局里通过一顿骚操作让儿子当上了爸爸, 爸爸却变成儿子了.

    以后就不是用矩阵来理解内积空间的张量运算了, 而是可以用内积空间的张量运算来解析矩阵的运算. 当然另一个目的就是可以利用矩阵的运算作为一个更自由的工具来分析张量运算.


    3. 进阶玩法总结

    (-1). 请务必按照

    的顺序使用指标.
    用完了呢? 这也能用完吗(悲), 那后面的你就随便吧, 但我建议是
    .

    ┗ 这样有啥好处呢? 没啥好处, 就是跟我统一了, 你用我的东西, 跟我统一, 不过分吧.

    (0). 取了一组标准正交基

    内积运算将诱导出对偶基
    , 满足
    .

    (1). 分量表示张量本身, 即分别用

    来表示
    张量无所谓写成什么样, 只要是这些分量的集合就行了,
    ┣ 所以 (0,2), (2,0), (1,1) 型都一律按左行右列写成矩阵,
    ┗ 而 (1,0) 与 (0,1) 型单独写得话都一律写成行矩阵.

    (2). 重复的指标会缩并, 或者全范围求和, 比如说

    .
    重复的指标可以随便换符号:
    .

    ┗ 但不要换成本项中已有的指标, 即
    , 这属于欠揍行为.

    (3). 那我怎么知道你这个是分量运算的式子还是张量运算的式子呢?

    即是分量运算的式子又是张量运算的式子.
    ┣ 打个比方这就是在用数列的通项表示数列本身,
    ┗ 通项看作是数列本身与看作是数列中的其中一项有什么冲突吗?

    (4). 不重复的指标是张量积, 构成高阶张量比如说

    可以看作是
    .

    (5). 张量缩并会退化, 比如说

    , 你可以说是
    从 (1,1) 型退化到 (1,0) 型了.
    矩阵的角度也好理解, 就是矩阵作用在列矩阵上得到一个列矩阵呗.
    ┗ 这种一样:
    但是你不好矩阵解释了, 这是从 (2,1) 型退化到 (2,0) 型.

    (6). 但这不叫缩并, 缩并是另外一种观点, 比如说一个 (2,1) 型张量

    .
    我们可以看出来
    通过张量积合成的 (2,1) 型张量.

    ┣ 当我们将其中上指标其中之一与下指标重复, 就发生了张量缩并.
    ┗ 即
    就是
    从 (2,1) 型缩并到 (1,0) 型的例子.

    顺带一提 (1,1), (2,0), (0,2) 型张量再缩并就是方阵求迹运算:
    .

    ┣ 这里专门引入一个
    只是提醒一下公式可能还有其他可能性.

    ┣ 比如说系统里有互逆的方阵满足
    那还可以进一步写为下面

    这种形式也是合法的.

    (7). 你可以通过观察缩并后的等式两边指标是否平衡来检查是否有书写错误.

    比如说
    就是准确无误的.

    (8).

    都表示同一个矢量,
    表示同一个张量, 重要的只是重复了的指标.
    但你不要出现
    这种式子, 这对我们将来检查指标平衡很不利,

    ┣ 同理
    这种式子就是有毒的, 你必须写成
    .

    ┗ 总之就是虽然你分开写它们是一回事, 但在等式中要保证指标平衡.

    (9). 这个记号下各个张量分量可以随便调换位置, 因为反正指标缩并已经指出作用模式了,

    只 要 当 作 分 量 计 算 即 可(因为本来就是分量运算)
    ┗ 比如
    或者
    或者
    .

    (10). 观察一个式子的时候心里可以灵活点儿, 不要很死板的就一定看作是张量运算.

    实际上写的确实都是分量不是吗?
    ┣ 在分析的时候要知道一点, 比如说
    确实是 (2,2) 型张量,

    ┗ 但我在心里把
    固定的话其实也可以看作是一个矩阵, 这个很难讲清楚, 多算多感悟吧.

    (11). 矩阵翻译要上下重复指标首尾相连

    .
    先上下重复指标首尾相连来确定各项的相对位置.
    ┣ 然后两个指标的张量按照左指标代表行右指标代表列这样排成矩阵,
    ┗ 最后单指标的张量根据相对于矩阵的位置与是否缩并来确定是行矩阵还是列矩阵.

    (12).

    ,
    ,
    .
    你感觉靠谱吗?

    ┗ 当然靠谱,
    总是能认同的吧? 那其实
    不就是
    吗?
    展开全文
  • 通俗地说,张量在数学上理解为多重线性函数,在物理上可以理解为在不同坐标系(参考系)下有不同表示量。先来说一下一些基本概念,与代数学有关:对偶空间:设 是 维向量空间,命 。则 也是一个 维线性空间,将其...

    29e6eed4f90cc06eae0a1b1593b690b9.png

    通俗地说,张量在数学上理解为多重线性函数,在物理上可以理解为在不同坐标系(参考系)下有不同表示的量。

    先来说一下一些基本概念,与代数学有关:

    对偶空间:设

    维向量空间,命
    。则
    也是一个
    维线性空间,将其称为空间
    对偶空间

    也就是说,对于线性变换

    来讲,若
    ,那么
    ,向量空间的对偶空间也就是算子的空间。

    求和约定
    代表
    ,即上下同时出现一个指标表示对其求和。

    对于向量来讲,有线性变换

    也就是
    或者
    (后文讨论区别)。

    双线性型:双重线性函数

    都保持线性,即:

    其中

    是向量,
    是实数。多重线性函数以此类推。

    张量积:最简单的想法是

    ,即
    的结果是一个分块矩阵

    下面进入正题。

    实际上,双线性型定义出了一种积,这种积是对参与运算的元素分别进行线性变换,使得它们成为同一个向量后,再进行运算。就拿二元情况来说,有

    ,则 有:

    对于二次型来讲:

    其中

    我们把中间起作用的矩阵叫做张量,它的基底是

    ,它是一个
    阶方阵。并且我们把
    看作一个一维张量(向量)的话,就把
    称为
    反变张量,把
    称作
    协变张量。n阶张量实际上可以找出
    个反变基,
    个协变基,于是把这个张量称作
    阶反变
    阶协变的张量(或者
    权逆变
    权协变
    秩张量)。

    所谓协变是指与变换

    一致。

    反变(逆变)是指与变换

    一致。

    如果是学习过场论的同学,就会知道双线性型最中间的

    其实就是
    度规张量

    比方说对于欧几里得空间,有度规

    ,意思是:

    如果在这个空间中有一个

    ,那么
    有长度的平方:

    所以物理上,度规张量意味着如何测量空间中的“距离”。

    张量的运算遵循着:

    ,其中
    都是矩阵元素符号。

    张量的缩并运算是指对张量

    进行以下运算:令
    ,有
    。三元情况为
    。所以对
    秩张量来说,进行缩并运算会得到一个
    秩的张量。而对于
    阶张量来说,缩并就是求迹(trace),得到的是各个特征值的和,所以缩并的物理意义在于:得到坐标系变换下的不变量。

    例如:

    其中

    代表对某张量进行缩并运算,实际上就是将参与张量积的两个向量分别转置后求积。
    展开全文
  • 欢迎大家来到我这一个新专栏,本专栏我们将一起学习并探讨一些张量方面知识,同样,需要一定线性代数基础知识铺垫,但是肯定是没有量子计算那么深入和复杂,有需要小伙伴可以点点关注,您鼓励是我前进...
  • 在建立模型损失函数时,直接使用tensorflow keras自带MSE函数,传入是3D张量,但是在训练过程中,报错ValueError: operands could not be broadcast together with shapes。 查了形状方面不匹配,但是我...
  • 曲率和挠率张量若干性质的证明,采用指标运茸, 给出了曲率张量和挠量张量的主要性质的证明
  • 1)指标符号 例如,在三维空间任意一点P在笛卡尔坐标系表示为: 当我们用指标符号表示时为: 其中 2)求和约定和哑指标 我们约定: 注意:求和指标与所用的字母无关,指标重复只能一次。...该重复的指标
  • 提出了一种基于张量的平稳小波变换红外图像去噪方法。采用平稳小波对噪声红外图像进行分解, 保持低频近似图像不变, 将所有尺度上的水平、垂直和对角方向的高频细节图像组合为一个立方体, 形成三阶张量, 通过多线性...
  • 浅谈张量数据存储

    千次阅读 2019-12-22 17:06:28
    几种张量数据存储方式: 主要讲讲高维的张量数据存储: 1.excel中二维表+不同sheet ...列是发动机各项指标property1、property2、…、propertyN 行是发动机1、发动机2、…、发动机N sheet1 Property1 P...
  • 1)矢量(一阶张量) 概念: 1.既有大小又有方向性物理量 2.其分量与坐标系选取有关,满足坐标转换关系 3.遵从相应矢量运算规则 矢量uuu在笛卡尔坐标系中分解为 其中u1,u2,u3u_1,u_2,u_3u1​,u2​,u3​是uuu...
  • 单位张量和任意张量的点积就等于该张量本身: I⋅a=aI·a = aI⋅a=a ,I⋅A=AI·A = AI⋅A=A 3.转置张量 对于二阶张量T=TijeiejT = T_{ij}e_ie_jT=Tij​ei​ej​,由对换分量指标而基矢量顺序保持不变所得到的新张量 ...
  • 文章目录一、标量二、...标量典型用途之一是误差值表示、各种测量指标的表示,比如准确度(Accuracy, acc),精度(Precision)和召回率(Recall)等。 以均方差误差函数为例,经过tf.keras.losses.mse(或tf.keras.l...
  • 在建立模型损失函数时,直接使用tensorflow keras自带MSE函数,传入是3D张量,但是在训练过程中,报错ValueError: operands could not be broadcast together with shapes。查了形状方面不匹配,但是我把...
  • 标量一些典型用途是误差值表示、 各种测量指标的表示,比如准确度(Accuracy,简称 acc),精度(Precision)和召回率(Recall)等。 向量   向量是一种非常常见数据载体,如在全连接层和卷积神经网络层中,偏置...
  • 张量简介

    2016-01-07 10:42:43
    (1)标量是0阶张量,其值与坐标系的选取无关 如质量等 (2)矢量是1阶张量 如速度。应力,应变等 (3)爱因斯坦求和约定 ...如果在表达式的某些项中,相同下标出现两次,...(4)高阶张量源自于低阶张量的梯度和并积
  •   当张量的阶数超过了3阶后,我们要去形象地描绘这个张量就会显得困难,为了方便,现在引入一种新的张量表示方法。 使用新的方法描绘各阶张量   对于一个矩阵,可以将行作为起始地点,将列作为目标地点,那么...
  • 在建立模型损失函数时,直接使用tensorflow keras自带MSE函数,传入是3D张量,但是在训练过程中,报错ValueError: operands could not be broadcast together with shapes。查了形状方面不匹配,但是我把...
  • 以本文为例, 理论上任意定义的张量积都可以用指标符号拆解成分量表示: ┣ 例如定义运算 , ┗ 则可等价地表示为 . 目録1. 直积与张量定义1.1. 直积和张量积不是一回事1.2. 张量积用来构造高阶张量1.3. 喀兴林...
  • 标量典型用途之一是误差值表示、各种测量指标的表示,比如准确度,精度和召回率等。 import tensorflow as tf # 随机模拟网络输出 out = tf.random.uniform([4, 10]) # 随即构造样本真实标签 y = tf.constant(...
  • 经过前面几期博客的学习,我们初步认识了张量的基本概念,一些重要的符号与指标,坐标的变换规律和相应的张量的分量转化规律之后,接下里,将持续学习张量的各种运算法则与规律! 本人励志做最详细的博客撰写,所以...
  •   在上一次学习中,我们从TT分解借助新的张量表示方法过渡到了矩阵乘积态,可以说矩阵乘积态(MPS)另一个别称为TT分解,现在,让我们再一次看看以下两个概念。 截断维数χ\chiχ与TT秩:截断维数实际上就是...
  • 针对这些缺点,提出了一种基于二叉树搜索多密集块检测方法(DDB-BST),通过对张量数据进行基于评价指标的局部搜索,找到评价指标最高张量数据,将数据分成左右子节点,通过不断比较父节点和左右子节点评价...
  • TENET:基于关系中心表示法的张量数据流建模框架 TENET是一个分析框架,用于对空间体系结构上的张量应用程序硬件数据流进行建模。 通过使用以关系为中心表示法来统一表示数据流,互连和张量操作,TENET支持广泛...
  • 张量及其标记法

    千次阅读 2018-09-19 11:19:40
    哑指标:同项中出现两次的指标;(爱因斯坦求和约定) 自由指标:同项中不重复出现的指标; 注:X1Y12+X2Y12是两项,同项指X1Y12。上式中J在同项中初选两次,因此为哑指标,同理i为自由指标! 2. 张量(tensor...
  • python 张量编程

    2019-07-10 16:32:17
    个人看来,张量编程最直接方法是以一维矢量为核心,用位置指标编程来实现张量运算,而以reshape辅助打印。 例:给定若干组数,各组取出一个求和,将所有和放到一个张量中。 简单起见,一共就两组数 x=[2,3], y...
  • 弥散张量成像DTI

    千次阅读 2020-07-14 00:28:36
    基本概念背景弥散张量的定量表示量化指标平均弥散系数各向异性程度弥散的主要方向三维可视化量化分析参考文献 什么是弥散张量成像? 基本概念 因为水分子沿白质纤维方向的运动(弥散)比垂直于白质纤维方向的速度要...
  • 可以使用有关给定背景指标的指标扰动来识别它们。 由于度量是对称张量,因此爱因斯坦-希尔伯特理论(无质量Fierz-Pauli)中存在的无质量spin-2粒子自然用对称等级2张量来描述。 但是,这不是线性化水平上唯一可行的...
  • tensorflow中张量是什么

    2021-02-21 20:34:41
    提示:文章写完后,目录可以自动生成,如何...提示:关于人工智能中tensorflow中张量的理解 一、什么是张量? 张量就是可以简单的直接理解为是可以表示任何数的一个东西,阶才是表示这个数是什么最重要的指标。 ...
  • 实验结果和重建视觉效果表明,在相同采样率下,该算法与单独使用全变分方法、k-t SLR方法、单独使用张量奇异值分解方法相比重建质量更优,在峰值信噪比(PSNR)、均方差(MSE)和结构相似性度量(SSIM)评价指标上...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 157
精华内容 62
关键字:

张量的指标