基于张量网络的机器学习(五)

  在基本了解了张量新的表示方法后,如果我们把向量换成矢量,将实矩阵换为复矩阵,总之将对应的一切实数都换成复数,我们会发现这种方法很多时候依旧适用,甚至在其中会蕴含更多奇妙的东西,能够起到更大的作用。

一.TT分解(Tensor-train decomposition)

1.TT分解

  先上一张张量火车分解的示意图:
基于张量网络的机器学习(五)
  这里将一个三阶张量分解成了两个二阶张量和若干个三阶张量的乘积,如果我们用等式来表达这个过程会显得麻烦,此时,新的方法就起到了作用。

  • 定义:给定一个N阶张量,如果能将其分解成N个二阶或三阶张量的缩并形式,即:
    基于张量网络的机器学习(五)
    上式即TT分解形式,其中SN开放指标,aN辅助指标,用新的方法描述即:
    基于张量网络的机器学习(五)
    并用箭头表明正交性:规定将张量的内向指标和其共轭张量收缩后得单位阵(箭头要有进有出)。还可以知道,上图公共边用辅助指标表示,*边用开放指标表示,指标的维数又可以称为尺寸。

2.TT分解算法

  TT分解可通过N-1次的奇异值分解或QR分解实现。

基于张量网络的机器学习(五)
  以上图为例,将一个四阶张量从左往右作TT分解(也可以从右往左作TT分解),依次得到第一个左奇异矩阵、第二个左奇异矩阵、第三个左奇异矩阵,最后一个矩阵是其他矩阵的乘积,在奇异值分解的过程中,需要用到矩阵化的思想,这里就出现了一个问题,如果是一开始就矩阵化了,那么下面这张图就显得有点奇怪了,但如果不是一开始就矩阵化,那么第一个矩阵也不应当是左奇异矩阵。
基于张量网络的机器学习(五)
  于是我找到了一张求最优TT低秩近似的算法图,然后按照我所理解的叙述,可能会有错误:
基于张量网络的机器学习(五)
ε\varepsilon是裁剪误差,约等于被裁剪的奇异值的范数,rkTT秩,δ\delta为限制因素,第三到八行为迭代部分,一开始就将初始张量矩阵化,在限制因素下进行奇异值分解得到第一个左奇异矩阵,然后将其他部分作为下一次迭代的初始张量,不过此时这个张量是二阶的,依次迭代,最后返回各个张量。

3.TT秩与最优TT低秩近似

  • TT秩:在不引入误差的情况下对给定张量进行TT分解,存在的极小的辅助指标的维数,构成该张量的TT秩,N阶张量的TT秩为*(N-1)维数列,说明TT*秩并不是一个数。
  • 最优TT低秩近似:给定张量???? ,进行TT分解使得:
    基于张量网络的机器学习(五)
    则????的最优低秩近似为:
    基于张量网络的机器学习(五)
    其中χ\chi为截断维数或者裁剪维数。
      在进行低秩近似的求解时,如果奇异值分解时得到的辅助指标维数大于截断维数,则通过最大χ\chi个奇异值及对应的奇异向量,将该辅助指标的维数裁剪为χ\chi

二.多体系统的量子态和量子算符

  对于????自旋体系,其对应希尔伯特空间维数为2????,即量子态的系数为????????维张量,算符的系数为????????×????????维张量。用图形来表示即:
基于张量网络的机器学习(五)
  左边的为多体量子态,右边的为多体量子算符,对于量子态,有N条边就有N种态(也是系数张量的维数),对于量子算符(N体算符),有2N条边其系数就为????????×????????维张量,后面半句意思就是量子算符有系数,其系数实际上是将该量子算符进行谱分解后得来的对角阵。
  我们如果要把一个N体算符作用在一个m体量子态上,需要注意的是,该算符一定是定义在维数为2m的希尔伯特空间里面的,即便我们只想让这个算符作用在一个或几个自旋上(某量子态有多少种态就有多少自旋)。
基于张量网络的机器学习(五)
  对于上面这张图,要将一个单体算符作用在该量子态的某个自旋上,虽然只是和某个自旋进行收缩,但是这是错误的,我们无法定义对某一个自旋的单独操作。
  下图可以看出有四个算符分别作用在这个量子态的多个自旋上(避免量子态和基态以及前面的说的态混淆,实际上前面说的态指的就是基态,也是自旋),由下往上依次作用在量子态。
基于张量网络的机器学习(五)
到了这里,大概就已经能够基本理解多体系统的量子态和量子算符了,顺便注意一下,一个多体算符可以写成多个单体算符的直积。

三.矩阵乘积态(MPS)

  当系统包含的自旋个数????增加时,量子态系数的个数随????指数增加,将会遇到“指数墙”问题。
基于张量网络的机器学习(五)

基于张量网络的机器学习(五)
  而矩阵乘积态定义为系数满足TT形式的量子态:
基于张量网络的机器学习(五)
其中:
基于张量网络的机器学习(五)
  这里的SN物理指标也叫开放指标,aN为辅助指标,和前面介绍的是一样的,其中或许会有差别。
  矩阵乘积态有两种条件,一种是开放边界条件(OBC),另一种是周期边界条件(PBC),MPS的长度定义为TT形式下所含张量的个数,以长度为4的MPS为例,一张图帮你顺利理解:
基于张量网络的机器学习(五)
在开放边界条件下:
基于张量网络的机器学习(五)
在周期边界条件下:
基于张量网络的机器学习(五)
注意两种其中的细微差别。
  矩阵乘积态就相当于是利用TT形式求解基态,这么做的原因就是前面“指数墙”引起的在进行谱分解(对角化)时非常困难,难度指数增加,但利用了TT形式后,难度体现在了辅助指标的截断维数上了,这时,难度线性增加,抠抠脚指头都知道后者更好,我们并不需要知道指数复杂的量子态系数是什么,也不需要进行TT分解,而是直接假设基态具备MPS的形式,直接处理MPS中的“局域”张量,从而绕过了“指数墙”问题,但这会引起误差,这个误差可以由奇异值谱衡量(前面提到的那种裁剪误差)。

四.斯密特分解与纠缠谱

  量子态的斯密特分解对应于其系数矩阵的奇异值分解,对于一个N自旋的量子态(矩阵乘积态那见过):
基于张量网络的机器学习(五)
将自旋分成两部份分别作为一个二阶张量(矩阵)的行和列,其中行和列都必须大于1,接着再对这个矩阵进行奇异值分解:
基于张量网络的机器学习(五)
D代表这个量子态有D个自旋,D-1代表要作D-1次奇异值分解,这不就是前面的TT分解吗?这还没完,还要对量子态进行分解:
基于张量网络的机器学习(五)
其中Λ\Lambda称为量子态的纠缠谱且对于这两个量子态有:
基于张量网络的机器学习(五)
两个量子态的基态数量合起来一共为N