量子信息与计算化学

Posted by Zijian on April 23, 2020

题图

(本文于2019/6/2首发于知乎 https://zhuanlan.zhihu.com/p/67779878)

计算化学的核心研究对象是分子的基态能量(我们把计算化学限定在electronic structure问题)。因为原子核比电子重很多,大多数情况下人们用经典力学处理原子核,而用量子力学处理电子(计算电子的波函数),并且在计算电子的波函数时固定原子核。通过计算体系在不同原子核位置下的基态能量,我们可以获得原子核坐标和基态能量之间的函数,也就是势能面(potential energy surface) (PES)。PES可以帮我们计算系统能够稳定的构型(分子稳定在势能面的极小点),反应路径等重要信息。

Potential_Energy_Surface_for_Water

(图摘自Wikipedia)

变分原理是解决体系基态能量问题的关键。变分原理写作 (读者也可以查阅Griffith量子力学Variational Law那一章) 这个式子是说系统任何一个态,取求其能量的期望值(简称能量),都应该大于等于系统的基态能量。要应用这个原理,一个Naïve的方法是直接在全部的态空间里面搜索能量最低的态。但是由于在考虑多体问题的时候这个态空间非常之大,我们无法这样处理。在实际操作中人们会建立一个从较少个参数到量子态的一个映射(称为ansatz),然后在这个较少的参数空间里找到能量最低的态。如何构造或寻找ansatz就成了一个重要的问题。

首先需要注意到的是,分子里电子的波函数是无穷维的,必须把波函数投影到某个有限基底生成的空间,变成有限维问题之后才能被处理。这样的基底可以是平面波(VASP这样做),原子轨道,分子轨道等等。这里说的基底都是单体波函数。然而体系里一般有一个以上的电子,我们考虑的是一个多体问题,所以我们需要用到占据数表象(Fock state)。假设我们有4个轨道$ \phi_1,\phi_2,\phi_3,\phi_4 $,与两个电子。那么我们记$\vert 1100\rangle$为$\phi_1,\phi_2$轨道被两个电子完全占据(我们默认轨道都是自旋轨道,已经考虑自旋了)。对于一个有$N_o$个轨道,$N_e$个电子的系统,任意一个波函数我们都可以用可能的占据数表象下的基的线性组合来表示。具体来说,设$s$可以是所有长度为$N_o$,含有$N_e$个1的字符串,任何一个波函数都可以展开为

信息熵与互信息

我们先来复习一下qubit系统里的量子纠缠。最著名的纠缠态是Bell state,我们设有一个Bell state被$AB$双方持有,这个态可以写作: 它是一个纠缠态是因为它不能写作$AB$两方的量子态的直积。也就是 对于更一般的两个系统$AB$,如果他们共同的波函数$\vert \Phi_{AB}\rangle$不能写成$\vert \Phi_{A}\rangle\otimes\vert \Phi_{B}\rangle$,那么我们称$\vert \Phi_{AB}\rangle$是一个纠缠态,反之称其为一个可分态。

定义了量子纠缠之后,一个重要的任务就是要去定义一个量来度量它。如果只有两个系统的话,一个很好的度量就是信息熵(von Neumann entropy)。设$\rho_A$是A的密度矩阵,信息熵被定义为($\lambda_i$为$\rho_A$的第$i$个本征值) 对于一个处于纯态的两方系统,计算其一方的信息熵就可以得知这两方的纠缠程度。信息熵越大,纠缠越强。比如在量子纠缠一个重要的应用——态传输(quantum teleportation)中,设AB系统整体处于纯态中,那么AB任意一方的信息熵就是两个系统间可以进行态传输的qubit数量。对于上述的Bell state,可以计算得到$\rho_A=\frac{I}{2}$,$S_A=1$。也就是说$A$可以通过Bell state把一个qubit传到B那里去。

一个更重要的量是mutual information。对于AB两个系统,其互信息可以被定义为 互信息也是衡量两个比特之间关联的重要度量。与信息熵不同,互信息可以处理AB处于一个更大的系统之中的情况。就比如说一共有ABC三个系统,计算$I_{AB}$可以知道AB两个系统的关联情况。而计算某个系统的信息熵只能知道某个系统与其他所有系统整体的互信息,而且无法处理整个系统处于混态的情况($S_{ABC}\neq 0$)。

那么量子纠缠跟计算化学有什么关系呢?需要注意的是,量子信息研究的对象是qubit,而计算化学研究的对象是电子。电子由于有全同性,你没法说这个电子或者那个电子。所以你也没法说这个电子和那个电子是纠缠在一起的。在这种情况下怎么定义量子纠缠呢?注意到在上文我们引入了占据数表象(如$\vert 0011\rangle$)。注意到占据数表象的基跟qubit的computational basis长得很像,不同点在于占据数表象上每一位代表一个轨道,而qubit的基上面每一位是一个qubit。所以在电子系统里我们不去研究电子之间的纠缠,而去研究轨道之间的纠缠,把每一个轨道当成一个qubit来处理。这样做的坏处是这样定义的纠缠是与轨道有关的。但其实这个坏处并没有多么严重(也许还蕴含了深刻的物理?)。

量子纠缠与active space selection

在上述框架下,我们可以把每个轨道当成一个系统。我们计算这个轨道的约化密度矩阵,计算其信息熵,就可以度量某个轨道与其他轨道之间纠缠。在计算化学中,有一些计算方法可以很好地计算轨道在没有纠缠的时的情况。这些方法一般消耗的资源不多,但是会在轨道之间的纠缠明显的时候失效。通过一个小小的观察我们可以发现信息熵的作用:当一个轨道的信息熵为零的时候,其处于纯态之中,要么为$\vert 0\rangle$要么为$\vert 1\rangle$。这样我们就可以认为这些轨道永远不会被占据,或者永远被占据,从而在计算中剔除这些轨道(frozen core approximation&delete virtual approximation),把计算里留给纠缠强烈的轨道们。这些需要精确计算的轨道被称为active space。在使用信息熵来选择active space的初始文章 [5] 中,其先由DMRG(下文介绍)生成粗略的波函数。然后利用粗劣的波函数计算信息熵,选择active space。其利用了DMRG计算中即使能量没有收敛,其半收敛的波函数依旧可以提供比较定性准确的信息熵的特点。这种自动选取active space的方法目前已经在autoCAS这个软件中得到实现。

量子纠缠与DMRG

DMRG(Density matrix renormalization group)一开始是一个用来计算一维系统的基态能量的。后来被拓展到用于计算一般的分子。DMRG本质上使用Matrix Product State(MPS)作为ansatz去寻找基态。(对于MPS态不了解的读者一定要阅读 矩阵乘积态表示简介,并且关注其中的vMPS那一部分)大家可能会奇怪,【DMRG不是用来处理一维系统的吗,怎么用来处理分子系统啊】。确实,分子系统看上去远非一维系统,但是令人惊奇的是,把分子系统里的轨道(一个轨道相当于一维系统里的一个site),排列成一个一维系统然后做DMRG真的是很有效的方法!(对水分子来说可以得到介于CISD和QMC之间的能量)

fig_mps3

MPS的样子,在DMRG中每一个轨道被放到一个蓝点上(图为网上随便找的)

但是一个很重要的问题就是如何排列这些轨道。对于长链分子,不用多说,只要按照轨道的空间关系排列就好了。但是对于一般的,比如说水这样的分子,我们该如何排列呢?下面的图片展示了一些分子在不同的轨道排序策略下DMRG计算收敛的情况。可见,在不同的排列策略下,DMRG的表现效果很不同。

不同orderDMRG.png

(图摘自 [1])

这个结果并不奇怪,因为在DMRG中,两个site之间的量子纠缠随着site之间距离的变远而减小,所以如果我们把两个强烈纠缠的轨道放在离得较远的两个位置,必然得不到满意的结果。Legeza 和 Solyom[2]在2003的时候提出了用轨道的信息熵的大小来排列轨道的方案。正如上文所说,一个轨道与别的轨道纠缠得越强烈,其信息熵会越大。故可以先跑一遍比较粗糙的计算(比如DMRG),获得一个粗略的波函数,然后计算各个轨道的信息熵,把信息熵比较大的轨道放到DMRG中位于中部的site,而把信息熵小的轨道放到两边的site。

这个方案虽然考虑了纠缠,但是只考虑了轨道的纠缠程度,没有考虑轨道之间的纠缠关系。但实际上这一步并不难跨越。用计算信息熵的方法我们也可以计算轨道之间的互信息。记轨道pq之间的互信息为$I_{pq}$。在[1]中作者提出,对于一个轨道的排序,我们可以用估价函数 去衡量这个排序的好坏。其中$r$与site之间的距离$\vert p-q\vert $有关(需要做一些小调整)。显然,使得这个估价函数最大可以使互信息比较大的轨道离得尽量近。有了估价函数之后我们就可以用模拟退火等优化方法找到最优的排序了。这种方法被证明非常有效。如上图,实线为HF ordering,也就是按能量的大小排列轨道。圆圈和方块为用互信息的方法ordering。(虚线说是用eigenvalue ordering,我没看懂)可见应用上述方法之后DMRG可以得到更低的基态能量。在实际操作中,互信息其实并不好算,通常人们用两个轨道的exchange integral去代替。

上面的方法还可不可以改进呢?注意到归根到底我们是在用一维系统去模拟一个多维的系统。然而轨道之间的纠缠有着更复杂的结构。

纠缠的几何

(摘自[1])

就比如上图中的情况,其展示了几种分子中轨道之间互信息的结构。其中,两个轨道之间有一根线代表这两个轨道的互信息大于0.01。而圆圈代表围绕其的这几个轨道都是互相连接的。既然互信息给了我们描绘轨道之间纠缠的几何的工具,我们为什么不用它去设计更加高效的Tensor Network State(TNS),跳出一维的框架去优化寻找基态呢?这么直接的想法早就被人想到了。Naoki Nakatani 与 Garnet Kin-Lic Chan(求问Chan是什么裔)在 [3] 中提出可以用树状的TNS(TTNS)来做DMRG(你看上图的LiF,像不像一棵树?)。他们发现在树状分子上,用TTNS做DMRG有明显的优势。更多的类似的设计可以在 [4] 里面找到。 笔者主要好奇能否把这个方法用在VQE计算里面。

结语

本文主要总结了笔者看到的一些信息熵和互信息在计算化学中的应用。笔者其实一开始只是想找一个自动找active space的方法来找一个看起来比较大但是active space比较小的分子来做VQE(因为需要active space里轨道数的qubit)(因为这样子可以吓唬人:「看我跑了个这么大的分子!」)。碰巧找到了一个讲autoCAS这个软件的slides,遂研究起来。(笔者第一次在Linux装这么复杂的软件,花了三天时间才装好。但最后发现跑autoCAS需要的内存奇大(乙烷需要12GB内存)现在正在研究怎么在学校的超算上装。)

另外我写这篇文章写到最后才发现 [4] 这篇神奇的review。也许我可以读完 [4] 再写一些总结。

Reference

(这是一篇multireference的文章)

[1] Rissler, Jörg, Reinhard M. Noack, and Steven R. White. “Measuring orbital interaction using quantum information theory.” Chemical Physics 323.2-3 (2006): 519-531.

[2] Legeza, Örs, and Jeno Sólyom. “Optimizing the density-matrix renormalization group method using quantum information entropy.” Physical Review B 68.19 (2003): 195116.

[3] Nakatani, Naoki, and Garnet Kin-Lic Chan. “Efficient tree tensor network states (TTNS) for quantum chemistry: Generalizations of the density matrix renormalization group algorithm.” The Journal of chemical physics 138.13 (2013): 134113. (题图来源)

[4] Szalay, Szilárd, et al. “Tensor product methods and entanglement optimization for ab initio quantum chemistry.” International Journal of Quantum Chemistry 115.19 (2015): 1342-1391. (神奇的综述)

[5] Stein, Christopher J., and Markus Reiher. “Automated selection of active orbital spaces.” Journal of chemical theory and computation 12.4 (2016): 1760-1771.

[6] The density matrix renormalization group for ab initio quantum chemistry (一篇很好的DMRG综述)