来源:转载自公众号「雷克世界」微信号: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)的集成。

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

  1. 最受企业青睐的开源软件包是什么?它们的三大风险是什么?

    聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 近期,Linux 基金会和哈佛大学创新科学实验室 (LISH) 联合发布<核心基础设施中的漏洞:开源软件初步报告和共识II项目&g ...

  2. 文本深度表示模型Word2Vec 简介 Word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具, 其利用深度学习的思想,可以通过训练,把对文本内容的处理简

    文本深度表示模型Word2Vec 简介 Word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具, 其利用深度学习的思想,可以通过训练,把对文本内容的处理简化为 ...

  3. 【Rust 日报】2022-03-27 Google对25名Rust开源贡献者做出奖励

    Google对25名Rust开源贡献者做出奖励 Rust 是系统级编程语言,重点关注内存安全.Google 在一些项目中使用了 Rust:包括 Android.Fuchsia 和 ICU4X:并一直参 ...

  4. Google公布了Moto X作为和苹果对抗的智能手机

    Google公布了Moto X作为和苹果对抗的智能手机 谷歌已经开始将枪口对准苹果,谷歌透露计划未来廉价智能手机,手机组装并不是在东南亚,而是在德克萨斯州雇佣2000名员工. 该工厂位于Fort Wo ...

  5. 微软为NBA提供云计算服务、Google公布Fuchsia OS细节、Zoom用户可选择数据库等|Decode the Week...

    Decode the Week≠音视频技术周刊  01 苹果正在研发可替换零部件的入耳式无线耳机 并发布了Apple Music Web版 彭博社消息,苹果试图通过高端音频产品扩大AirPods业务, ...

  6. InfoWorld 公布 2020 年最佳开源软件

    InfoWorld 公布了 2020 年最佳开源软件榜单. InfoWorld 是致力于引领 IT 决策者走在科技前沿的国际科技媒体品牌,每年 InfoWorld 都会根据软件对开源界的贡献,以及在业 ...

  7. 让数百万台手机训练同一个模型?Google把这套框架开源了

    作者 | 琥珀 出品 | AI科技大本营(公众号id:rgznai100) [导语]据了解,全球有 30 亿台智能手机和 70 亿台边缘设备.每天,这些电话与设备之间的交互不断产生新的数据.传统的数据 ...

  8. Google 神秘 Fuchsia OS 的开源线索

    LWN 和 IEEE Spectrum 发表了两篇文章讨论了 Google 神秘的操作系统 Fuchsia.Google 目前 没有披露多少 Fuchsia 的正式消息,但因为它是作为一个开源项目开发 ...

  9. 【Android 内存优化】Bitmap 硬盘缓存 ( Google 官方 Bitmap 示例 | DiskLruCache 开源库 | 代码示例 )

    文章目录 一.Google 官方 Bitmap 相关示例参考 二.磁盘缓存类 DiskLruCache 三.磁盘缓存初始化 四.存储数据到磁盘缓存中 五.从磁盘缓存中读取数据 六. Android 1 ...

最新文章

  1. js中字符替换函数String.replace()使用技巧
  2. python调用r语言_【Python调用第三方R包】【环境变量设置】Python 通过rpy2调用 R语言...
  3. 手机自动化测试:appium源码分析之bootstrap十二
  4. python爬虫beautifulsoup_python爬虫初步之BeautifulSoup实战
  5. CF1146F: Leaf Partition(树形dp)
  6. [css] 用css怎么实现两端对齐?
  7. 操作系统之I/O管理:1、I/O控制器、I/O控制方式(程序直接控制方式、中断驱动方式、DMA方式、通道控制方式)
  8. tp5 database.php,Tp5项目修改数据库
  9. Android Studio 初探
  10. Linux下使用rsync同步文件
  11. python 生成器_python 生成器 - 刘江的python教程
  12. JavaScript与浏览器
  13. 下载哔哩哔哩代码php,哔哩哔哩电脑客户端 v1.4.4 官方最新版
  14. FAST迅捷路由器设置
  15. 怎么用计算机搜索文件夹,如何在电脑中查找文件_如何在电脑里查找文件-win7之家...
  16. 程序员如何写好自己的简历,一位 5 年中大厂老哥跟你聊聊
  17. ue4开关门点击时onclicked事件没有触发的解决方案
  18. 用于软件测试的最佳免费自动化工具
  19. (JAVA)获取支付宝二维码 带参数
  20. VMWARE ESXI虚拟机安装系统

热门文章

  1. 软硬兼施极限轻量BERT!能比ALBERT再轻13倍?!
  2. 【2020 Fall】哥伦比亚大学最新《机器学习》课程
  3. 惊!YOLOv5重磅来袭!还是基于Pytorch实现?
  4. 吴恩达、谷歌、Facebook纷纷开源研究数据集
  5. 2小时演讲,近140页PPT,这个NeurIPS Tutorial真是超硬核的AI硬件教程
  6. SAP RETAIL WA01创建分配表报错- No allocation rule allowed for allocation strategies or variants-
  7. SAP物料移动过账之差异科目
  8. AI赋能,让无人系统更智能
  9. 一文看懂计算机视觉-CV(基本原理+2大挑战+8大任务+4个应用)
  10. SAP SD基础知识之销售模式