转载前言:
由于图片未经授权,不能转载,所以,为了不影响阅读,请大家通过链接查阅原文!
量子计算已经不是什么新鲜话题了,但一直以来,该领域的研究总感觉在给人们画大饼,关于研究成果,也总是出现“未来”、“总有一天”、“或许”等字眼,难免让人产生审美疲劳。
在科学家们的确在通往“量子天堂”的路上,的确取得了一个又一个的成果,但真正实用的成果并不多。但现在,突破就在眼前,量子革命即将来临!
如果你比较关注量子计算方面的研究进展,可能还记得,两个月前,《Nature》刊登了一篇关于将量子计算的数字化与模拟方法相结合的论文。通过数模结合,科学家们创造了一种更稳定的架构。虽然这一成果极具潜力,但与其他类型的量子计算机相比,还算不上是突破性进展。
时至今日,类似的设备已经被用于量子化学计算,结果令人振奋,计算结果出奇的准确!
就在上个月,科学家们使用了一台9量子位量子计算机,仅用了其中两个量子比特位进行了氢气分子的基态和化学键长的模拟计算实验。
获得了能态和键长信息后,就能计算使氢分子键断裂的能量。由于传统计算机利用量子化学方法也能计算氢分子的能态,所以实验结果能够得到很好地对比和验证。
可喜的是,从结果来看该量子计算机的结果相当准确。那么,这台量子计算机是怎么计算的?
科学家们尝试了两种不同的方法“可变量子本征求解”(Variational Quantum Eigensolver,VQE)和“相位估值算法”(Phase Estimation Algorithm,PEA)。
PEA属于量子化学的传统量子算法,由于计算每进一步需要耗费大量资源,无法达到化学精度,结果不怎么理想。
而另一种VQE方法在实验中表现出更高的鲁棒性(robust,越高意味着在各种极端情况下的生存能力越强)和可适应性,获得了足够的化学精度。
VQE量子算法的硬件、软件图解。硬件部分:图显示了两个Xmon量子比特位和进行单量子比特位旋转的微波脉冲序列(粗线),以及进行量子比特位测量的微波光谱(细线)。软件部分:图显示了Hartree-Fock准态的量子电路图。图片来源:P. J. J. O’Malley, et al, Physical Review X, 2016.
那么,VQE量子算法到底该怎么理解?
简单来说,要用这个算法,就必须找到分子的基态,即化学分子能量最低的状态,而对应于该基态的数学函数计算出来的相应状态能不可能比基态能再低,只可能是相等或者更高的值。
明白了这点,就不难想到可以用迭代的方法来无限逼近基态能:首先选取一系列初始化函数和参数,不断改变参数来优化结果,重复迭代直到找到获得绝对最小值的参数和函数。
此时,所得到的函数就会非常接近真实的分子基态能。而在获得了分子基态能相对应的函数后,我们就可以计算任何想知道的分子信息。
科学家们最终的分子能态模拟结果达到了万分之一的精度。
这支科学家团队由来自英美的各大高校和研究所,相关成果于7月18日发表在了《Physical Review X》上,论文的第一作者是来自加州大学圣芭芭拉分校物理系的科学家彼得·奥马利(Peter O'Malley)。
从表面上看,计算氢分子能态并不是什么了不起的事情。可是要知道完成这样的计算仅仅使用了两个量子比特位,而整个量子计算机却有着9个量子位。
因此从理论上,这台9量子位量子计算机能够计算更加复杂的化学分子,当然这样的运算可能仍然没有突破传统计算机目前的极限。
科学家们宣称,这台9量子比特位的计算机在结构上是可扩展的。鉴于操作性的问题,这个扩展能否成功,其实还很难说。
但是,如果科学家们做成了,那么量子计算机在结构化学的计算上绝对会带给我们无数的惊喜。
还没看懂?那我们再来交待一下背景,并建议您耐心读完下面的500字。
一点不像化学的量子化学
物理学家可能会告诉你,化学其实也是物理。但化学家会告诉你,那些解不出来的方程可能具有物理学意义,对于化学来说则完全没有意义,这意味着反应根本无法进行。
其实,物理学家和化学家说的都没错,所有的分子都有固定形态,使分子键断裂都是需要能量的,因此在化学反应中会吸收或释放出特定的能量,这些能量的大小与分子的结构息息相关。
量子力学规定了分子结构。如果能解出某个分子的薛定谔方程,就意味着可以了解这个分子结构的所有信息。其中当然也包括了打开分子键所需要的能量,这样一来,就可以推算出在已知能量下的反应速度。
在这基础之上,对反应环境的研究就变得简单了,我们同时还可以确定催化剂是如何改变分子形态,让化学反应更容易发生。
问题在于,分子键的长度决定了将其切断所需的能量,所以,任何对分子结构的错误计算都将导致对反应速率预测的误差的指数级增长。
如果我们能找到薛定谔方程中的精确解,那误差倒不是个问题。但事实上,我们连氢原子的精确解都找不到。
此外,如果计算对象是结构更为复杂的分子,所消耗的时间将大到没有可操作性。所以大家现在经常会用到多层近似法,牺牲一些精确度来换取时间上的平衡。
各种近似法带来了误差,而这些计算误差也会随着计算规模的增加而急剧扩大。
总的来说,在计算过程中,分子键健长的误差,导致了计算键断开能量的误差,最终导致了化学反应的速率的极大误差。
因此,尽管现有的各种模型在进行很多类型的计算时都有不俗的表现,但唯独在计算化学键断开所需要的能量时,表现差强人意,而其导致的结果就是误差更大的反应速率计算。
量子化学如此困难的原因在于,计算时体系内的个体数量以及它们之间的互动关系多的不可想象。
比如,对一个氢原子进行计算,只要计算一个电子和一个质子的相互作用;对一个氢分子进行计算,要计算两个质子和两个电子之间的相互作用。
此外,两个电子的自旋也要纳入考虑,因为这对系统的演化有重要影响。如果原子数更多,那么复杂度增加极其迅速。
我们可以用一个舞会来类比量子化学计算:你不可能在任意一个时刻,精确计算出每个舞者在和谁跳舞。如果你非要达到这一点,那么你要不断跟踪每个人的舞伴;要不断跟踪那些刚刚拒绝了上一个舞伴的人;要不断跟踪那些不愿意跟任何人跳舞的人;要把跳的快的人和跳的慢的人区分开。计算量不可想象——至少对传统计算式机是这样。
然而,量子算法可以克服这一困难。多年来,科学家发明了多种量子算法来有效计算物质结构和分子的最低能态——即它最可能存在的形式。
尽管量子算法的具体计算能力仍有争议,但这些争议之前没法化解,因为没有量子计算硬件来测试这些算法。
为什么量子算法更快?因为分子中的电子不能任意选择状态。
首先,分子的能态决定了电子只能处于某些状态。
其次,如果一个电子处于一个特定状态,第二个电子就不能处于该状态(泡利不相容原理)。
第三条规律则是所谓的量子纠缠态,即如果电子1进入了状态a,电子2进入状态b,则这种轨道进入不是完全随机的,电子1进入的状态可以影响电子2进入哪个轨道。
量子力学可以描述量子纠缠这种相关性,从而预测两个量子比特的行为。举个例子,如果两个量子比特在观测之前处于叠加态,一个比特处于a状态的概率为75%,处于b状态的概率为25%。另一个量子比特相反:处于a状态的概率为25%,处于状态b的概率为25%。两个处于相互纠缠态的电子就可以充当两个量子比特。
然而,在经典计算机体系下,每个比特处于确定的状态。因此,随着体系中电子数目的增加,计算量增长呈指数增长。因此靠经典计算机进行一个水分子的量子化学计算还是可行的,但是计算一个蛋白质分子就完全不行了。
但量子计算机还是存在一些技术问题的,比如,用两个纠缠态的电子来精确代表分子,只能在特定的耦合方式下实现。不过,科学家们正是为了解决这个问题而来的。
参考:
[1] P. J. J. O’Malley et el, Scalable Quantum Simulation of Molecular Energies, Phy. Rev. X2016, 6, 031007.
[2] C. LEE, Hydrogen molecule falls to quantum computer, 2016, http://arstechnica.co.uk/science/2016/08/quantum-computer-tackles-quantum-chemistry/
[3]P. Ball, Quantum computer simulates hydrogen molecule, 2016, http://www.rsc.org/chemistryworld/2016/07/quantum-computer-simulates-hydrogen-molecule-complex-calculations