七、矩阵乘积态
1. 矩阵乘积态的定义 由于基态的参数复杂度随量子个数N N N 的增加呈指数上升,所以我们无法在经典计算机上进行严格对角化求解基态,但是对于N N N 个量子组成的整体∣ φ ? |\varphi\rangle ∣φ? 的在基态上的系数组成的张量,如果我们可以将其写为N N N 个二阶或三阶张量构成的 TT 形式,那么我们可以通过优化这N N N 个张量,求解基态对应的最优化问题:
E g = min ? ? g ∣ g ? = 1 ? g ∣ H ^ ∣ g ? E_{g}= \min_{\langle g \mid g\rangle=1} \langle g|\widehat{H}| g\rangle Eg?=?g∣g?=1min??g∣H ∣g?
一般而言,我们定义矩阵乘积态(matrix product state , MPS) 为其基态系数满足 TT 形式的多量子组成的整体的量子态,即对于如下的量子态:
∣ φ ? = ∑ s 1 s 2 ? s N φ s 1 s 2 ? s N ∏ ? n = 1 N ∣ s n ? |\varphi\rangle=\sum_{s_{1} s_{2} \cdots s_{N}} \varphi_{s_{1} s_{2} \cdots s_{N}} \prod_{\otimes n=1}^{N}\left|s_{n}\right\rangle ∣φ?=s1?s2??sN?∑?φs1?s2??sN???n=1∏N?∣sn??
其中的系数组成的张量满足下式:
φ s 1 s 2 ? s N = ∑ a 1 a 1 … a N ? 1 A s 1 a 1 ( 1 ) A s 2 a 1 a 2 ( 2 ) ? A s N ? 1 a N ? 2 a N ? 1 ( N ? 1 ) A s N a N ? 1 ( N ) = A s 1 : ( 1 ) A s 2 : : ( 2 ) … A s N ? 1 : : ( N ? 1 ) A s N : ( N ) T \varphi_{s_{1} s_{2} \cdots s_{N}}=\sum_{a_{1} a_{1} \ldots a_{N-1}} A_{s_{1} a_{1}}^{(1)} A_{s_{2} a_{1} a_{2}}^{(2)} \cdots A_{s_{N-1} a_{N-2} a_{N-1}}^{(N-1)} A_{s_{N} a_{N-1}}^{(N)}=A_{s_{1}:}^{(1)} A_{s_{2}::}^{(2)} \ldots A_{s_{N-1}::}^{(N-1)} A_{s_{N}:}^{(N) \mathrm{T}} φs1?s2??sN??=a1?a1?…aN?1?∑?As1?a1?(1)?As2?a1?a2?(2)??AsN?1?aN?2?aN?1?(N?1)?AsN?aN?1?(N)?=As1?:(1)?As2?::(2)?…AsN?1?::(N?1)?AsN?:(N)T?
可以看出,矩阵乘积态就是将系数构成的张量表示为若干小张量的缩并。
在 MPS 中,开放的指标s n s_n sn? 被称为 物理指标,被两个不同张量共有的指标a n a_n an? 被称为 辅助指标,默认情况下我们要对辅助指标进行求和运算。
矩阵乘积态包含两种边界条件:
- 开放边界条件
开放边界条件就是在将系数张量表示为若干小张量的缩并时,将中间的张量变为三阶张量,而两边的两个张量变为二阶张量,用图可以表示如下:
文章图片
- 周期边界条件
周期边界条件就是将两端的两个张量也表示为三阶张量,并且将其两个指标进行缩并,可以用图表示为:
文章图片
# ( ∣ φ ? ) ~ O ( d N ) \#(|\varphi\rangle) \sim O\left(d^{N}\right) #(∣φ?)~O(dN)
但是在 MPS 中,给定辅助指标的截断维数为χ \chi χ ,那么 MPS 包含参数的个数随N N N 仅呈线性增加,即
# ( M P S ) ~ O ( N d χ 2 ) \#(M P S) \sim O\left(N d \chi^{2}\right) #(MPS)~O(Ndχ2)
MPS 将表征量子多体态的参数复杂度由指数级降低到了线性级。在 TT 分解中,我们需要先知道我们要分解的具体张量是什么,但是 MPS 的关键在于,我们并不需要知道指数复杂的量子态系数是什么,也不需要进行 TT 分解,而是直接假设基态具备给定截断维数的 MPS 态,直接处理MPS中的 “局域” 张量,从而绕过了 “指数墙” 问题,但是我们并不能确定这样的 MPS 态可以有效地描述基态,这样做就会导致误差的产生,因此我们引入一个量来判断 MPS 的有效性。
在奇异值分解的矩阵低秩近似中,我们用被裁剪的奇异值的范数来描述裁剪误差,即
ε ~ ∣ Λ R ′ : R ? 1 ∣ \varepsilon \sim\left|\Lambda_{R^{\prime}: R-1}\right| ε~∣ΛR′:R?1?∣
所以我们也可以从奇异值谱来入手刻画 MPS 的有效性,我们称为 量子纠缠。
2. 矩阵乘积态与量子纠缠 给定一个N N N 个量子组成的整体态
∣ φ ? = ∑ s 1 s 2 ? s N φ s 1 s 2 ? s N ∏ ? n = 1 N ∣ s n ? |\varphi\rangle=\sum_{s_{1} s_{2} \cdots s_{N}} \varphi_{s_{1} s_{2} \cdots s_{N}} \prod_{\otimes n=1}^{N}\left|s_{n}\right\rangle ∣φ?=s1?s2??sN?∑?φs1?s2??sN???n=1∏N?∣sn??
我们将其中的量子分成两个部分,即
{ s n } = ( s 1 , ? ? , s K ) ∪ ( s K + 1 , ? ? , s N )( K ≥ 1 ) \left\{s_{n}\right\}=\left(s_{1}, \cdots, s_{K}\right) \cup\left(s_{K+1}, \cdots, s_{N}\right) \ \ \ (K \geq 1) {sn?}=(s1?,?,sK?)∪(sK+1?,?,sN?)(K≥1)
即将量子分为非空的两个部分,然后我们对矩阵化的系数张量进行奇异值分解,分解的步骤为,首先将前K K K 个指标的维数相乘,将后面的N ? K N-K N?K 个指标的维数相乘,这时我们可以得到两个数,整个张量就可以变成一个矩阵,矩阵的两个维度就是上面相乘得到的两个数,这时我们对该矩阵进行奇异值分解得到如下结果:
φ s 1 s 2 ? s N = ∑ α = 0 D ? 1 U s 1 , ? ? , s K , α Λ α V s K + 1 , ? ? , s N , α ? \varphi_{s_{1} s_{2} \cdots s_{N}}=\sum_{\alpha=0}^{D-1} U_{s_{1}, \cdots, s_{K}, \alpha} \Lambda_{\alpha} V_{s_{K+1}, \cdots, s_{N}, \alpha}^{*} φs1?s2??sN??=α=0∑D?1?Us1?,?,sK?,α?Λα?VsK+1?,?,sN?,α??
其对应于将量子态进行如下的分解:
∣ φ ? = ∑ α = 0 D ? 1 Λ α ∣ U α ? ∣ V α ? |\varphi\rangle=\sum_{\alpha=0}^{D-1} \Lambda_{\alpha}\left|U^{\alpha}\right\rangle\left|V^{\alpha}\right\rangle ∣φ?=α=0∑D?1?Λα?∣Uα?∣Vα?
其中∣ U α ? \left|U^{\alpha}\right\rangle ∣Uα? 和∣ V α ? \left|V^{\alpha}\right\rangle ∣Vα? 为D D D 个量子组成的状态,他们满足下面的等式,也就是对系数张量进行奇异值分解得到的左奇异向量和右奇异向量分别和基态组成的状态∣ U α ? \left|U^{\alpha}\right\rangle ∣Uα? 和∣ V α ? \left|V^{\alpha}\right\rangle ∣Vα? ,即:
∣ U α ? = ∑ s 1 , … , s K U s 1 , ? ? , s K , α ∏ ? n = 1 K ∣ s n ? \left|U^{\alpha}\right\rangle=\sum_{s_{1}, \ldots, s_{K}} U_{s_{1}, \cdots, s_{K}, \alpha} \prod_{\otimes n=1}^{K}\left|s_{n}\right\rangle ∣Uα?=s1?,…,sK?∑?Us1?,?,sK?,α??n=1∏K?∣sn??
∣ V α ? = ∑ s 1 , ? ? , s K V s K + 1 , ? ? , s N , α ? ∏ ? n = K + 1 N ∣ s n ? \left|V^{\alpha}\right\rangle=\sum_{s_{1}, \cdots, s_{K}} V_{s_{K+1}, \cdots, s_{N}, \alpha}^{*} \prod_{\otimes n=K+1}^{N}\left|s_{n}\right\rangle ∣Vα?=s1?,?,sK?∑?VsK+1?,?,sN?,α???n=K+1∏N?∣sn??
该分解就被称为量子态的 斯密特分解 ,其中Λ \Lambda Λ 称为 量子态的纠缠谱 。我们可以看出,量子态的斯密特分解就对应于其系数张量形成矩阵的奇异值分解。
由于∣ φ ? |\varphi\rangle ∣φ? 归一,所以∣ Λ ∣ = 1 |\Lambda|=1 ∣Λ∣=1 ,也就是说
∑ α = 0 D ? 1 Λ α 2 = 1 \sum_{\alpha=0}^{D-1} \Lambda_{\alpha}^{2}=1 α=0∑D?1?Λα2?=1
我们考虑因为量子态为
∣ φ ? = ∑ α = 0 D ? 1 Λ α ∣ U α ? ∣ V α ? |\varphi\rangle=\sum_{\alpha=0}^{D-1} \Lambda_{\alpha}\left|U^{\alpha}\right\rangle\left|V^{\alpha}\right\rangle ∣φ?=α=0∑D?1?Λα?∣Uα?∣Vα?
其中∣ U α ? \left|U^{\alpha}\right\rangle ∣Uα? 和∣ V α ? \left|V^{\alpha}\right\rangle ∣Vα? 为D D D 个量子组成的状态,所以他们也构成了一组基态,那么根据量子状态的概率幅,我们可以得到,如果对∣ φ ? |\varphi\rangle ∣φ? 进行测量,那么我们得到的每种状态的概率满足
P α = Λ α 2 P_{\alpha}=\Lambda_{\alpha}^{2} Pα?=Λα2?
显然,概率满足归一化条件
∑ α P α = 1 \sum_\alpha P_{\alpha}=1 α∑?Pα?=1
那么根据概率论香农熵的定义E S = ? P α ∑ α ln ? P α E^{\mathrm{S}}=-P_{\alpha} \sum_{\alpha} \ln P_{\alpha} ES=?Pα?α∑?lnPα?
【七、矩阵乘积态】我们可以定义量子态的纠缠熵为
S = ? ∑ α = 0 D ? 1 Λ α 2 ln ? Λ α 2 S=-\sum_{\alpha=0}^{D-1} \Lambda_{\alpha}^{2} \ln \Lambda_{\alpha}^{2} S=?α=0∑D?1?Λα2?lnΛα2?
量子态的纠缠熵就是经典信息论中香农熵的量子版本,用来刻画信息量的大小。
在奇异值分解
φ s 1 s 2 ? s N = ∑ α = 0 D ? 1 U s 1 , ? ? , s K , α Λ α V s K + 1 , ? ? , s N , α ? \varphi_{s_{1} s_{2} \cdots s_{N}} =\sum_{\alpha=0}^{D-1} U_{s_{1}, \cdots, s_{K}, \alpha} \Lambda_{\alpha} V_{s_{K+1}, \cdots, s_{N}, \alpha}^{*} φs1?s2??sN??=α=0∑D?1?Us1?,?,sK?,α?Λα?VsK+1?,?,sN?,α??
中, U U U 和V V V 满足正交性:
U H U = ∑ s 1 , … , s K U s 1 , … , s K , α ? U s 1 , … , s K , α ′ = I α α ′ U^{H} U =\sum_{s_{1}, \ldots, s_{K}} U_{s_{1}, \ldots, s_{K}, \alpha}^{*} U_{s_{1}, \ldots, s_{K}, \alpha'}=I_{\alpha\alpha'} UHU=s1?,…,sK?∑?Us1?,…,sK?,α??Us1?,…,sK?,α′?=Iαα′?
V H V = ∑ s 1 , … , s K V s 1 , … , s K , α ? V s 1 , … , s K , α ′ = I α α ′ V^{H} V =\sum_{s_{1}, \ldots, s_{K}} V_{s_{1}, \ldots, s_{K}, \alpha}^{*} V_{s_{1}, \ldots, s_{K}, \alpha'}=I_{\alpha\alpha'} VHV=s1?,…,sK?∑?Vs1?,…,sK?,α??Vs1?,…,sK?,α′?=Iαα′?
我们根据上述性质来计算开放边界 MPS 的纠缠,设 MPS 态
φ s 1 s 2 … s N = ∑ a 1 a 1 … a N ? 1 A s 1 a 1 ( 1 ) … A s K a K ? 1 a K ( K ) Λ a K ( K ) A s K + 1 a K ( K + 1 ) a K + 1 ? A s N a N ? 1 ( N ) \varphi_{s_{1} s_{2} \ldots s_{N}}=\sum_{a_{1} a_{1} \ldots a_{N-1}} A_{s_{1} a_{1}}^{(1)} \ldots A_{s_{K} a_{K-1} a_{K}}^{(K)} \Lambda_{a_{K}}^{(K)} A_{s_{K+1} a_{K}}^{(K+1)} a_{K+1} \cdots A_{s_{N} a_{N-1}}^{(N)} φs1?s2?…sN??=a1?a1?…aN?1?∑?As1?a1?(1)?…AsK?aK?1?aK?(K)?ΛaK?(K)?AsK+1?aK?(K+1)?aK+1??AsN?aN?1?(N)?
满足如下条件时, Λ ( K ) \Lambda^{(K)} Λ(K) 为 MPS 给出的前K K K 个量子与其余量子之间的纠缠,前面我们说了,可以用量子纠缠刻画 MPS 有效性,这里我们进一步得到,可以对量子态进行斯密特分解得到量子纠缠。对量子态的斯密特分解就是对量子态系数进行 SVD 分解,其中的量子纠缠谱也就是量子态系数的奇异谱,根据奇异谱我们可以得到测量下得到各基矢的概率。
文章图片
其中左正交条件是指对于前K K K 个量子,他和它的转置的缩并是单位阵,右正交条件是指后面的n ? K n-K n?K 个量子和自己的转置的缩并是单位阵,最后一条表示Λ \Lambda Λ 是一个对角线元素递减的对角阵。
其中前面K K K 个张量的收缩构成了 SVD 中的U U U ,除Λ ( K ) \Lambda^{(K)} Λ(K) 之外的其余张量的收缩构成 SVD 中的V V V ,我们可以用图表示上面的 MPS 态如下,其中箭头表明了其左右的正交条件,我们称该形式为 MPS 的 键中心正交形式。
文章图片
3. 矩阵乘积态的规范自由度与正交形式 上面我们了解了 MPS 的斯密特分解,计算方法就是在不改变所表示的量子态的前提下,将 MPS 变换成上述的 SVD 形式,改变 MPS 中的张量,但是不改变所表示的量子态的过程称为 规范变换 ,也就是用不同的数学形式表示相同的物理量。
我们定义 MPS 的 规范自由度 为,对于同一个量子态,可由多组不同的张量组成的 MPS 态来表示其系数。
一般而言,MPS 规范变换如下图所示,我们可以在两个张量之间插入一对可逆矩阵的乘积,经过消解,我们可以保证整个状态不发生改变,但是将每对可逆矩阵分别收缩到两个张量中,就改变了张量,但是整体的状态不发生改变,这就是一种简单的规范变换。
文章图片
上图的红蓝方块代表任意的一对可逆矩阵,我们通过这种变换,将量子态中的张量由A A A 变换成了B B B ,即
φ s 1 s 2 ? s N = A s 1 : : ( 1 ) ? A s n : : ( n ) A s n + 1 : : ( n + 1 ) ? A s N : ( N ) T = B s 1 : ( 1 ) ? B s n : : ( n ) B s n + 1 : : ( n + 1 ) ? B s N : ( N ) T \varphi_{s_{1} s_{2} \cdots s_{N}}=A_{s_{1}::}^{(1)} \cdots A_{s_{n}::}^{(n)} A_{s_{n+1}::}^{(n+1)} \cdots A_{s_{N}:}^{(N) \mathrm{T}}=B_{s_{1}:}^{(1)} \cdots B_{s_{n}::}^{(n)} B_{s_{n+1}::}^{(n+1)} \cdots B_{s_{N}:}^{(N) \mathrm{T}} φs1?s2??sN??=As1?::(1)??Asn?::(n)?Asn+1?::(n+1)??AsN?:(N)T?=Bs1?:(1)??Bsn?::(n)?Bsn+1?::(n+1)??BsN?:(N)T?
因为可逆矩阵有无数个,因此 MPS 的状态也有很多种表示,这时我们可以引入新的 约束条件,来固定 MPS 的规范自由度,使得给定量子态具备唯一的 MPS 表示,我们通过将不同的 MPS 转换为满足该约束条件的表示方式,可以比较两个不同的 MPS 表示是否是同一个量子态。常用的约束条件为构成 MPS 张量的正交条件。
我们定义 MPS 的 中心正交形式 为:当张量{ A ( n ) ( n < K ) } \{A^{(n)} (n
文章图片
通过图我们可以发现,该形式以第 K 个张量为界限,分解为三组张量的缩并。我们可以通过多次的 SVD 或 QR 分解进行规范变换,让 K - 中心正交形式变换成 K’ - 中心正交形式,也就是满足左右正交条件的界限变为 K‘ 。
我们也可以通过中心正交形式计算 MPS 纠缠谱。对于 MPS 的 SVD 形式可得,在以( s 1 , … , s K ) ∪ ( s K + 1 , … , s N ) \left(s_{1}, \ldots, s_{K}\right) \cup\left(s_{K+1}, \ldots, s_{N}\right) (s1?,…,sK?)∪(sK+1?,…,sN?) 形式将量子分成两组时,其纠缠谱Λ ( K ) \Lambda^{(K)} Λ(K) ,就是中心处张量A s K a K ? 1 a K ( K ) A_{s_{K} a_{K-1} a_{K}}^{(K)} AsK?aK?1?aK?(K)? 的奇异谱,我们对该张量进行奇异值分解即可得到奇异谱,即A s K a K ? 1 a K ( K ) = ∑ β U s K a K ? 1 β Λ β ( K ) V a K β A_{s_{K} a_{K-1} a_{K}}^{(K)}=\sum_{\beta} U_{s_{K} a_{K-1} \beta} \Lambda_{\beta}^{(K)} V_{a_{K}} \beta AsK?aK?1?aK?(K)?=∑β?UsK?aK?1?β?Λβ(K)?VaK??β 。
基于 K - 中心正交形式,我们可以对 MPS 辅助指标的维数进行 最优裁剪,也就是寻找一个辅助指标的维数比较低的 MPS 态来近似表示一个辅助指标维数较高的 MPS 态,如果需要对第K K K 个辅助指标进行 裁剪 ,我们可以按如下步骤进行:
- 进行中心正交化,将正交中心放置于第 K 个张量。
- 对中心张量进行奇异值分解,如下A s K a K ? 1 a K ( K ) = ∑ β = 0 χ ? 1 U s K a K ? 1 β Λ β ( K ) V a K β A_{s_{K} a_{K-1} a_{K}}^{(K)}=\sum_{\beta=0}^{\chi -1} U_{s_{K} a_{K-1} \beta} \Lambda_{\beta}^{(K)} V_{a_{K}} \beta AsK?aK?1?aK?(K)?=β=0∑χ?1?UsK?aK?1?β?Λβ(K)?VaK??β
然后仅保留前χ \chi χ 个奇异值及其对应的奇异向量, χ \chi χ 被称为截断维数。
- 将第K K K 个张量更新为 U ,即将U s K a K ? 1 β U_{s_{K} a_{K-1} \beta} UsK?aK?1?β? 替换A s K a K ? 1 a K ( K ) A_{s_{K} a_{K-1} a_{K}}^{(K)} AsK?aK?1?aK?(K)?
- 将第K + 1 K+1 K+1 个张量更新为
∑ a K Λ β ( K ) V a K β A s K + 1 a K a K + 1 ( K + 1 ) → A s K + 1 β a K + 1 ( K + 1 ) \sum_{a_K}\Lambda_{\beta}^{(K)} V_{a_{K} \beta} A_{s_{K+1} a_{K} a_{K+1}}^{(K+1)} \rightarrow A_{s_{K+1} \beta a_{K+1}}^{(K+1)} aK?∑?Λβ(K)?VaK?β?AsK+1?aK?aK+1?(K+1)?→AsK+1?βaK+1?(K+1)?
φ s 1 s 2 ? s N = A s 1 : ( 1 ) Λ ( 1 ) A s 2 : : ( 2 ) Λ ( 2 ) ? Λ ( N ? 2 ) A s N ? 1 : : ( N ? 1 ) Λ ( N ? 1 ) A s N : ( N ) T \varphi_{s_{1} s_{2} \cdots s_{N}}=A_{s_{1}:}^{(1)} \Lambda^{(1)} A_{s_{2}::}^{(2)} \Lambda^{(2)} \cdots \Lambda^{(N-2)} A_{s_{N-1}::}^{(N-1)} \Lambda^{(N-1)} A_{s_{N}:}^{(N) \mathrm{T}} φs1?s2??sN??=As1?:(1)?Λ(1)As2?::(2)?Λ(2)?Λ(N?2)AsN?1?::(N?1)?Λ(N?1)AsN?:(N)T?
我们可以用图表示为:
文章图片
其意义为,当每个张量和左边的对角阵的缩并是单位阵,即和左边的对角阵满足右正交条件;每个张量和右边的对角阵的缩并是单位阵,即和右边的对角阵满足左正交条件。即满足下列式子:
文章图片
在正则形式中,每个位置的二分纠缠谱都显式地定义在了 MPS 的定义中,也就是在该形式中对任意位置的二分纠缠谱就是该位置的对角阵Λ ( n ) \Lambda^{(n)} Λ(n) 。
推荐阅读
- 论文|利用树结构的张量网络进行机器学习
- 六、物理中的张量问题
- 二、张量 CP 分解
- 张量网络算法基础|张量网络算法基础(五、TEBD算法和DMRG算法)
- 张量网络算法基础|张量网络算法基础(三、格点模型)
- 张量网络算法基础|张量网络算法基础(一、张量和线性代数基础)
- 张量网络算法基础|张量网络基础算法(四、TT分解和矩阵乘积态)