1.引出
我们仍然考虑收缩由一个不等价张量构成的无穷闭合大张量网络 Z = t T r ( [ U ] ∞ ) Z= tTr([U]^\infty) Z=tTr([U]∞)。
在角转移矩阵重整化群算法中,我们考虑在无穷远的“边界”处,存在变分张量,记定义在边上的三阶张量𝑇为边张量,定义在角上的二阶张量𝐷为角矩阵。(注:边张量和角矩阵即为变分参数,具体怎么取值不清楚,可以随机初始化或者自己初始化 )
考虑到张量网络边的长度(边张量的个数)为无穷大,且由于张量网络具有平移不变性和旋转不变性,我们设所有边张量相等,所有角矩阵相等。
解决的思路:设计迭代收缩,使边张量与角矩阵达到收敛(不动点)。
2.具体算法
边张量与角矩阵满足的迭代收缩方程如下:
易见,每进行一次收缩,边张量与角矩阵的的指标(黄色)维数扩大d倍
因此,需要利用矩阵或张量的低秩近似(例如奇异值分解或Tucker分解,或张量网络的低秩近似),对增大的指标维数进行裁剪,否则,指标维数会指数增大。
3.裁剪方法
裁剪的方法并不唯一:
①角矩阵指标裁剪:矩阵SVD
②边张量指标维数裁剪:Tucker分解
③将边张量看成平移不变MPS,利用MPS的裁剪算法进行维数裁剪
④按CTMRG原文方法进行裁剪
所有裁剪方法本质上相同,不同的裁剪方法实际上对应于不同的裁剪环境。