當前位置:
首頁 > 科技 > Google公布OpenFermion:量子計算機的開源軟體包

Google公布OpenFermion:量子計算機的開源軟體包

原文來源:Google Research Blog、GitHub

作者:Ryan Babbush、Jarrod McClean

「雷克世界」編譯:嗯~阿童木呀、多啦A亮

「對於大部分物理學和整個化學領域的數學理論來說,其所必需的基本物理定律是完全已知的,而困難僅是這些定律的精確應用所帶來的方程式過於複雜,以致難以解決」。

——保羅?狄拉克《多電子系統的量子力學》(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能夠幫助縮小這些群體之間的鴻溝,並為化學家和材料科學家呈現出量子計算的強大力量。如果你有興趣,請查閱GitHub資料庫(https://github.com/quantumlib/OpenFermion/blob/master/README.rst),了解更多詳情。

註: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)的集成。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷克世界 的精彩文章:

詳解Nervana最新開源深度強化學習庫Coach
KDnuggets整理最新機器學習必備十大入門演算法!都在這裡了
人類如何從不同角度識別物體?你需要對「小樣本學習」有所了解
蘋果最新機器學習研究,詳解「嘿Siri」語音觸發器背後的深度神經網路

TAG:雷克世界 |