(17)张量重整化群算法

1.背景

我们考虑一种特殊的张量网络收缩计算,即由无穷多个张量构成的闭合张量网络,且所有张量都相等。记该类张量网络为
Z = t T r ( [ T ] ∞ ) Z = tTr([T] ^∞ ) Z=tTr([T]) T T T被称为构成该张量网络的不等价(inequivalent)张量。
该类张量网络由两个因素完全确定:不等价张量与网络几何结构。
下面,我们以定义在无穷大正方格子上的张量网络为例,其示意图如下,显然,严格收缩该张量网络的计算复杂度会随着收缩的进行指数上升,刚好对应张量网络态的二维的面积定律。
d i m ∼ O ( D L ) ( L 为 边 界 指 标 个 数 ) dim\sim O(D^L)(L为边界指标个数) dimO(DL)L

在这里插入图片描述
注:如果收缩一部分几何指标,例如图中黄色阴影部分内的指标,则会得到一个高阶张量,其指标为边界处的几何指标(红色)。易得,该张量的维数会随着边界处指标个数指数上升

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

由上可知,我们需要发展算法,引入合理的近似,将计算复杂度控制到多项式级,下面,我们介绍张量重整化群(tensor renormalization group,TRG)算法,设第0步时 T ( 0 ) = T T^{(0)} = T T(0)=T,计算步骤如下:
步骤1:在第t次循环中,利用SVD对不等价张量做如下两种不同的分解
T [ s 1 s 2 ] [ s 3 s 4 ] ( t ) ≅ ∑ s ′ = 0 χ − 1 U [ s 1 s 2 ] s ′ V [ s 3 s 4 ] s ′ T_{\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}} T[s1s2][s3s4](t)s=0χ1U[s1s2]sV[s3s4]s T [ s 4 s 1 ] [ s 2 s 3 ] ( t ) ≅ ∑ s ′ ′ = 0 χ − 1 P [ s 1 s 4 ] s ′ ′ Q [ s 2 s 3 ] s ′ ′ T_{\left[s_{4} s_{1}\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}} T[s4s1][s2s3](t)s=0χ1P[s1s4]sQ[s2s3]s如图所示:
在这里插入图片描述

其中,当SVD中求和的维数(即被分解矩阵的秩)大于截断维数χ时,则仅保留前χ个最大的奇异值及对应的奇异向量(注: T ( t ) = T T^{(t)} = T T(t)=T
经过步骤1,张量网络被变换为如有图所示的形式:
在这里插入图片描述
步骤2:计算如下收缩(虚框所示)
T s 1 ′ s 2 ′ s 3 ′ s 4 ′ ′ ( t ) = ∑ 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 ′ T^{'(t)}_{s^{'}_1s^{'}_2s^{'}_3s^{'}_4} = \sum_{s_1s_2s_3s_4}V_{s_3s_4s^{'}_1}Q_{s_2s_3s^{'}_2}U_{s_1s_2s^{'}_3}P_{s_1s_4s^{'}_4} Ts1s2s3s4(t)=s1s2s3s4Vs3s4s1Qs2s3s2Us1s2s3Ps1s4s4收缩完后原张量网络变为如下图所示:
在这里插入图片描述

步骤3:归一化张量
C ( t ) = ∣ T s 1 ′ s 2 ′ s 3 ′ s 4 ′ ′ ( t ) ∣ C^{(t)} = |T^{'(t)}_{s^{'}_1s^{'}_2s^{'}_3s^{'}_4}| C(t)=Ts1s2s3s4(t) T s 1 ′ s 2 ′ s 3 ′ s 4 ′ ( t + 1 ) = T s 1 ′ s 2 ′ s 3 ′ s 4 ′ ′ ( t ) / C ( t ) T^{(t+1)}_{s^{'}_1s^{'}_2s^{'}_3s^{'}_4} = T^{'(t)}_{s^{'}_1s^{'}_2s^{'}_3s^{'}_4}/C^{(t)} Ts1s2s3s4(t+1)=Ts1s2s3s4(t)/C(t)归一化的目的:防止张量元的数值发散
步骤3后,张量网络变回正方格子网络tTr ( [ T ( t + 1 ) ] ∞ / 2 t ) \left(\left[T^{(t+1)}\right]^{\infty / 2^{t}}\right) ([T(t+1)]/2t),张量总个数为最初的 1 2 t \frac{1}{2^t} 2t1倍。 C ( t ) C^{(t)} C(t) 被称为重整化因子
步骤4:检查不等价张量是否收敛,如果未达到收敛阈值,则返回步骤1;如果收敛,计算张量网络收缩结果:
Z = ∏ t = 1 t ~ [ C ( t ) ] N 2 t = ∏ t = 1 t ~ [ C ( t ) ] 2 ( t ~ − t ) Z=\prod_{t=1}^{\tilde{t}}\left[C^{(t)}\right]^{\frac{N}{2^{t}}}=\prod_{t=1}^{\tilde{t}}\left[C^{(t)}\right]^{2^{(\tilde{t}-t)}} Z=t=1t~[C(t)]2tN=t=1t~[C(t)]2(t~t)其中, N N N为收敛时张量网络中每个张量等效代表的原张量 T ( 0 ) T^{(0)} T(0) 的个数,满足 N = 2 t ~ N = 2^{\tilde{t}} N=2t~, t ~ \tilde{t} t~为收敛时的迭代次数。这是由于每进行一步迭代,张量网络中张量的个数减小一半,相当于收缩之后的每个张量等效地代表收缩之前的两个张量。
注意:上式中 Z Z Z是难以计算的,其取值取决于收敛次数,这显然不是一个被良好定义的量。于是我们定义张量网络平均自由能:
F = − ln ⁡ Z N = ln ⁡ [ ∏ t = 1 t ~ [ C ( t ) ] 2 ( t ~ − t ) 2 t ~ ] = − ∑ t = 1 t ~ 2 − t ln ⁡ C ( t ) F=-\frac{\ln Z}{N}=\ln \left[\frac{\prod_{t=1}^{\tilde{t}}\left[C^{(t)}\right]^{2^{(\tilde{t}-t)}}}{2^{\tilde{t}}}\right]=-\sum_{t=1}^{\tilde{t}} 2^{-t} \ln C^{(t)} F=NlnZ=ln2t~t=1t~[C(t)]2(t~t)=t=1t~2tlnC(t)
显然,重整化因子 C ( t ) C^{(t)} C(t)为有限大小的正实数,则由于因子 2 − t 2^{-t} 2t,求和项随 t t t指数减小。
t t t足够大时, F F F收敛,且收敛的 F F F与迭代次数 t ~ \tilde{t} t~无关。

当张量网络代表Ising模型配分函数时,根据热力学公式,在倒温度𝜷下的模型的平均格点自由能满足:
f ( β ) = − ln ⁡ Z N β = F β f(\beta)=-\frac{\ln Z}{N \beta}=\frac{F}{\beta} f(β)=NβlnZ=βF

3.总结

TRG算法并不是严格地计算了张量网络的收缩。在步骤1中,设张量 T ( t ) T^{(t)} T(t)的维数为 D × D × D × D D\times D\times D\times D D×D×D×D,如果进行严格的奇异值分解,则分解出的新指标(奇异谱维数)为 D 2 D^2 D2,即张量 T ( t + 1 ) T^{(t+1)} T(t+1) 的维数为 D 2 × D 2 × D 2 × D 2 D^2\times D^2\times D^2\times D^2 D2×D2×D2×D2
可以看出,如果每次迭代都进行严格的奇异值分解,则不等价张量的指标维数会随着迭代次数指数上升
TRG中,如果奇异值分解出的指标维数大于截断维数 χ ,则进行维数裁剪,保留前χ个奇异谱与对应的奇异向量。
该近似中的误差,对于被分解的不等价张量是极小化的( T [ s 1 s 2 ] [ s 3 s 4 ] ( t ) T_{\left[s_{1} s_{2}\right]\left[s_{3} s_{4}\right]}^{(t)} T[s1s2][s3s4](t) T s 1 ′ s 2 ′ s 3 ′ s 4 ′ ′ ( t ) T^{'(t)}_{s^{'}_1s^{'}_2s^{'}_3s^{'}_4} Ts1s2s3s4(t)的最优低秩近似),因此, T ( t ) T^{(t)} T(t)被称为裁剪环境。
因此,TRG的裁剪环境是局域的,即对整个张量网络而言裁剪并不是最优的,这也是限制TRG精度的主要因素。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值