Google公布OpenFermion:量子计算机的开源软件包

来源:转载自公众号「雷克世界」微信号:ROBO_AI

作者:Ryan Babbush、Jarrod McClean

编译:嗯~阿童木呀、多啦A亮

概要:OpenFermion是一个用于模拟电子(费米子)相互作用系统的库,它能够产生物质的性质。


“对于大部分物理学和整个化学领域的数学理论来说,其所必需的基本物理定律是完全已知的,而困难仅是这些定律的精确应用所带来的方程式过于复杂,以致难以解决”

                                                   ——保罗•狄拉克《多电子系统的量子力学》(1929)


物理学家保罗•狄拉克(Paul Dirac)哀叹道,尽管量子力学能够对所有的化学领域进行精确地建模,但想要精确地模拟相关的方程式似乎有着不可避免的复杂性。这个问题长期以来一直困扰着大家,直到1982年,理查德•费曼(Richard Feynman)提出这样一种理论:与其屈服于量子力学的复杂性而无可作为,我们倒不如可以将其作为一种计算资源。因此,量子计算最初的发展动机是:在遵循量子力学定律的基础上操作计算机,人们可以对自然进行高效精确的模拟。而这种模拟可能导致在诸如光电池、电池、新材料、药品和超导等领域带来新突破。虽然现在我们还没有一个足够大的量子计算机来解决这些领域的经典难题,但我们正在不断地取得快速发展。去年,谷歌发表了下面所展示的这篇论文,详细介绍了使用超导量子位的量子计算机所进行的分子的首次量子计算。在这项研究的基础上,IBM量子计算小组将实验扩展到了更大的分子上,并在上个月占据了《自然》杂志的封面。


谷歌去年发表的论文《分子能量的可扩展性量子模拟》


9月13日,IBM宣布,在自己的超导量子设备上实现了一种新的量子算法,这种算法可以模拟真实分子,能够高效精确地计算出小分子电子的最低能态。此次他们就用量子计算机推导了氢化铍(BeH2)分子的最低能量状态。该研究成为了《自然》杂志最新一期的封面文章。


现在,我们宣布发布OpenFermion,这是第一个能够将化学和材料科学问题转化为可以在现有平台上执行的量子电路的开源平台。OpenFermion是一个用于模拟电子(费米子)相互作用系统的库,它能够产生物质的性质。在OpenFermion开发之前,量子算法开发人员需要学习大量的化学知识,并且要编写大量的代码,除了要将其他的代码组合在一起,甚至连最基本的量子模拟也涵盖在内。该项目起源于谷歌,在项目进行过程中,苏黎世联邦理工学院、美国劳伦斯伯克利国家实验室、美国密歇根大学、哈佛大学、牛津大学、达特茅斯大学、Rigetti Computing公司和美国国家航空航天局都为alpha版本的发布做出了贡献有关此版本发布的更多详情,可阅读此论文:《OpenFermion:量子计算机的电子结构软件包》。


一种常见的方法是将OpenFermion看做是生成和编译物理方程式的工具,能够将化学和物质系统描述成可以由量子计算机解释的表征。针对这些问题,最高效的量子算法得以建立,并扩展了由政府、工业界和学术界的研究化学家使用和开发的经典量子化学包的能力。因此,我们也将发布OpenFermion-Psi4和OpenFermion-PySCF,这是当OpenFermion和经典的电子结构包Psi4和PySCF协同使用时的插件。


核心OpenFermion库是以一种量子编程框架无关的方式设计的,以确保与社区开发的各种平台之间的兼容性。这使得OpenFermion能够支持外部包,而这些包可以为不同的硬件平台编译量子汇编语言规范。我们希望这一决定能够有助于建立OpenFermion成为将量子化学放置于量子计算机上的一个社区标准。要了解OpenFermion是如何与不同的量子编程框架协同使用的,请参阅OpenFermion-ProjectQ和Forest-OpenFermion-plugins——它们可以将OpenFermion与称为ProjectQ和Forest的外部开发的集成电路模拟和编译平台连接在一起。


以下工作流程描述了量子化学家是如何使用OpenFermion来模拟一个分子的能量表面的(例如,通过准备我们在过去的文章中所描述的量子计算种类):


1.研究人员对OpenFermion计算进行初始化,具体规定如下:


•输入文件指定分子中核的坐标。


•基础集(例如:cc-pvtz)应该用来对分子进行离散化。


•系统的电荷和自旋多重性(如果已知)。


2.该研究人员使用openfermion-psi4插件或openfermion-pyscf插件来执行可扩展的经典计算,这些计算被用来优化量子计算。例如,一个人可能会执行经典的Hartree-Fock计算来为量子模拟选择一个好的初始状态。


3.然后,研究人员指定哪些电子是最适合在量子计算机上(称为活跃空间)进行研究的,并要求OpenFermion将这些电子的方程式映射到适用于量子位的表示,可以使用OpenFermion中可用的程序之一,例如Bravyi- Kitaev转换。


4.研究人员选择一种量子算法来解决某些特性,并用一种诸如OpenFermion-ProjectQ之类的量子编译框架,将量子电路以一种可以在量子计算机上运行汇编语言输出。如果研究人员可以访问量子计算机,那么他们就会执行这个实验。


关于我们能够用OpenFermion来做些什么呢?这里有一些可以在ipythonnotebook上演示了一些案例(https://github.com/quantumlib/OpenFermion/blob/master/examples/openfermion_demo.ipynb)。虽然量子模拟在短期内被广泛认为是量子计算中最重要的应用之一,但很少有量子计算机科学家熟知量子化学,而知道量子计算的化学家就更少了。我们的初衷就是希望OpenFermion能够帮助缩小这些群体之间的鸿沟,并为化学家和材料科学家呈现出量子计算的强大力量。


注:OpenFermion的主要功能是使用由各种基集和活动空间所定义的二次量子化方法对电子结构问题进行编码,然后使用量子比特与费米子代数之间的各种同构性将这些运算符转换为自旋哈密顿量(spin Hamiltonians)。


OpenFermion


OpenFermion是一个开放源代码,用于编译和分析量子算法来模拟费米子系统,包括量子化学。在其他功能中,当前版本的特征是数据结构和用于获取和操控费米子和量子位哈密顿算符的表示的工具。欲了解更多相关信息,请参阅我们发布的论文(https://arxiv.org/abs/1710.07629)和有关该项目的新闻稿(https://research.googleblog.com/2017/10/announcing-openfermion-open-source.html)。


入门


安装OpenFermion需要pip,确保你使用的是最新版本。有关入门其他信息,请参阅介绍:http://openfermion.readthedocs.io/en/latest/intro.html


代码示例:http://openfermion.readthedocs.io/en/latest/examples.html


ipython notebook演示:https://github.com/quantumlib/OpenFermion/blob/master/examples/openfermion_demo.ipynb


详细的代码文件:http://openfermion.readthedocs.io/en/latest/openfermion.html

 

目前,OpenFermion仅在Mac和Linux上进行测试,因为电子结构插件仅与Mac和Linux兼容。但是,对于那些想要使用Windows或者安装OpenFermion及其插件有困难的人来说,我们在docker文件夹(https://github.com/quantumlib/OpenFermion/tree/master/docker)中提供了一个Docker镜像和使用说明。Docker镜像为OpenFermion提供了一个虚拟环境,并选择了预先安装的插件。Docker安装系统可以在任何操作系统上运行。

 

开发者安装


要安装最新版本的OpenFermion(在开发模式下):

git clone https://github.com/quantumlib/OpenFermion

cd OpenFermion

python -m pip install -e .

 

库安装


将最新的PyPI版本作为库(以用户模式)安装:

python -m pip install --user openfermion


插件

 

OpenFermion依赖于模块化插件库,以实现重要的功能。具体来说,插件用于模拟和编译量子电路并执行传统的电子结构计算。请查看下面的链接了解更多有用的插件信息。

 

电路编译和仿真插件


OpenFermion-ProjectQ:(http://github.com/quantumlib/OpenFermion-ProjectQ)支持与ProjectQ(https://projectq.ch/)的集成。

 

Forest-OpenFermion:(https://github.com/rigetticomputing/forestopenfermion)支持与Forest(https://www.rigetti.com/forest)的集成。

 

电子结构包插件


OpenFermion-Psi4:(http://github.com/quantumlib/OpenFermion-Psi4)支持与Psi4(http://psicode.org/)的集成(推荐)。

 

OpenFermion-PySCF:(http://github.com/quantumlib/OpenFermion-PySCF)支持与PySCF(https://github.com/sunqm/pyscf)的集成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 类集合_java集合类详解

一、集合类与数组的区别1.集合的长度可变,数组的长度固定;2.集合用来存放对象引用,数组用来存放基本类型的数据;二、集合类的关系1.Collection接口存储一组不唯一、无序的对象。2.List接口存储一组不唯一、有序(插入顺序)的对象。…

英特尔宣布推出“Nervana”神经网络处理器

原作者:Ryan Whitwam 译者:彭婷 概要:Nervana NNP就是基于这种计算设计的。这也是所谓的专用集成电路(ASIC),所以它无法应用于一般的计算任务。 科幻小说家和现代科技大型公司一致认为AI可以开辟出一条康庄…

java爬取button_学习使用Java的webmagic框架爬取网页内容

(一)使用前的配置:2,(1)添加依赖:us.codecraftwebmagic-core0.7.3us.codecraftwebmagic-extension0.7.3us.codecraftwebmagic-selenium0.7.3(2)从GitHub官网下载webmagic的压缩包(https://codeload.github.com/code4craft/webmagic/zip/maste…

异构智能吴韧:物联网是“伪命题”?智联网才是未来

概要:“咨询机构预测,在未来人工智能的市场上12%的比例的资金将用在人工智能芯片上。”吴韧表示,异构智能瞄准的就是人工智能本地芯片市场。 Novumind异构智能(以下简称异构智能)在火热的人工智能新闻里出现的次数屈指…

java栈编程题_Java实现栈和队列面试题

面试的时候,栈和队列经常会成对出现来考察。本文包含栈和队列的如下考试内容:(1)栈的创建(2)队列的创建(3)两个栈实现一个队列(4)两个队列实现一个栈(5)设计含最小函数min()的栈,要求min、push、pop、的时间复杂度都是O(1)(6)判断栈的push和p…

联合国《2017年信息经济报告》

来源:联合国 概要:数字经济已经深入到了人们生活的衣食住行等所有方面,其发展速度和方式超出人们的想象。数字经济将把人类带往何方?这还是一个难解的谜题。 数字经济已经深入到了人们生活的衣食住行等所有方面,其发展…

java链表list_java自定义List链表

第一步:定义一个List接口,规定一些基本操作package my.stack;public class Node {private T data;private Node next;public Node(){data null;next null;}public Node(T data){this.data data;this.next null;}public Node(T data, Node next){this…

Amazon、Google、 Microsoft和IBM如何将人工智能作为一项服务出售

译者:李凌 概要:Alphabet、Amazon和Microsoft这几家公司都发现,在产品中植入人工智能后能让产品变得更加优秀,他们可以将这种做法转变成一项服务,然后作为一种基于蓬勃发展的云计算业务的增值服务出售给企业客户。 云计…

java炸弹人素材_炸弹人图片_炸弹人模板_炸弹人设计素材下载

[{"id":658285,"url":"https://www.tooopen.com/view/658285.html","title":"英雄联盟全员高清游戏壁纸海报图片素材","imgthumb":"http://img05.tooopen.com/images/20140711/tooopen_sl_010800932879.jpg&…

CB Insights发布2017全球AI企业100强,出门问问、碳云智能入选

来源:亿欧 概要:在美国加州圣芭芭拉举办的创新峰会(TheInnovation Summit)上,CB Insight的CEO Anand Sanwal揭晓了全球2017 AI100名单,评选出全球最有创新实力的100家AI公司,国内公司出门问问、…

Java树形转扁平_js把树形数据转成扁平数据

我就直接上代码了都是实际项目里面用到的1.假设这个json就已经是树型结构数据了(如果不知道怎么实现树型结构数据请看我另一篇博客)var compressedArrafcommon.treeDataToCompressed(json);/*******************************JS封装好的方法***********************************…

定位AI交互技术服务商,声智科技完成近亿元A轮融资,将拓展安防、汽车等新场景

来源:36Kr 摘要:“语音交互是人工智能相关技术的重要应用场景,而语音交互的核心和关键突破点在于远场。而国内真正有实力做好远场技术的团队是非常稀少的。” 定位人工智能交互技术服务商的声智科技(SoundAI)&#xff…

java http超时重连_httpclient 重连机制

我们在进行http请求时,难免会遇到请求失败的情况,失败后需要重新请求,尝试再次获取数据。Apache的HttpClient提供了异常重试机制,在该机制中,我们可以很灵活的定义在哪些异常情况下进行重试。今天有个小伙伴&#xff0…

德国电信:5G有重复3G命运的风险!

来源:5G 摘要:德国电信:5G有重复3G命运的风险! 行业深度观察

java 改装电动_java 数组

数组:数组是同意变量的集合,不仅可以是基本数据类型,也可以是类的对象集合。数组的缺点就是定长,不能随时扩张,所以一般是确定个数时用,不确定时一般用集合。优点就是可以一下子定义多个相同类型的数据。使…

DARPA发布产业振兴计划,继承摩尔智慧

来源: 传感器与物联网 摘要:高登摩尔(Gordon Moore)赖以成名的摩尔定律(Moores law)几十年来一直引导着产业的发展,也为DARPA日前发布的“电子产业振兴计划”(ERI)计划附加条例提供许多想法。 根据美国国防部先进研究计划署(DARPA)微系统技术…

java没通过测试_我们应该把没有通过测试的故事回退到“开发”状态吗

Eric Willeke在思考:任务看板上的那些没有通过测试的用户故事,该怎么处理呢?应该把它回退到“开发”状态,还是保留“测试中”的状态?他提出了一些不同的方案:● 一个方法是把开发和测试状态合并为“完成”状…

图解全球无人驾驶产业链:这些公司在主宰人类出行的未来

来源:战略前沿技术、华尔街见闻 摘要:与通常的报告不同,Comet Labs图表集合了整个产业链。 无人驾驶技术可以算是如今硅谷创投中最火的名词。作为人工智能的终极场景,无人驾驶技术已经成为了许多创业公司和投资者参与AI的机会。 …

java9默认收集器_Oracle提议将G1作为Java9的默认垃圾收集器

Oracle正在考虑将 JEP 248 包含到 Java 9的JEP列表 中,即在服务器配置中将G1作为默认垃圾收集器。该决定在Java社区引发了一些争Oracle正在考虑将 JEP 248 包含到 Java 9的JEP列表 中,即在服务器配置中将G1作为默认垃圾收集器。该决定在Java社区引发了一…

2017全球最具影响力机器人公司TOP排行榜

来源: Future智能 摘要:全球最有影响力的 50 家机器人行业上市公司和非上市公司名单。 近日,美国《机器人商业评论》公布了它们的第六个年度「RBR50 名单」,即 2017 年《机器人商业评论》认为最值得关注、全球最有影响力的 50 家机…