天天看點

IBM借QISKit打造基于雲平台的量子計算

IBM量子體驗(Quantum Experience)團隊已将量子計算軟體QISKit開源,根據量子計算和資訊科學家Jay Gambetta的介紹,QISKit可供開發者使用Python體驗IBM的雲端量子處理器。

IBM QISKit包含三個主要元件:

  • 使用Python編寫的官方QISKit API用戶端,可執行

    pip install IBMQuantumExperience

    安裝,随後可按照下列範例使用:
api = IBMQuantumExperience("token", config)
  qasm = 'OPENQASM 2.0;
          include "qelib1.inc";
          qreg q[5];
          creg c[5];\
          h q[0];
          cx q[0],q[2];
          measure q[0] -> c[0];
          measure q[2] -> c[1];'
  device = 'simulator'
  shots = 1024
  api.run_experiment(qasm,
                     device,
                     shots,
                     name='My First Experiment',
                     timeout=60)
      

QISKit用戶端還可配合Jupyter Notebook使用:

import pip
def install(package):
   pip.main(['install', package])
install('IBMQuantumExperience')
      
  • 一個Python QISKit SDK,其中包含多個由IBM Q工程師提供的用作示範和說明用途的工具。尤其是該SDK可以讓我們了解如何建立進行複雜實驗的多個作業,如狀态層析(State tomography)、随機基準(Randomized benchmarking),以及糾纏測試(Entanglement test)。
  • OPENQASM規範,其中詳細介紹了Open Quantum Assembly Language 2.0及其基本資料,可以幫助我們了解由IBM推動的量子計算模型,以及進行量子實驗所需的文法。

在IBM的OPENAQSM模型中,量子計算是通過下列四個步驟實作的:

  • 編譯(Compilation),使用經典計算機将文本模式的量子算法轉換為對應的IR呈現。
  • 電路生成(Circuit generation),将IR轉換為一系列量子電路,量子電路則是量子程式的最基本組成部分。量子電路是由基本步驟組成的一種序列,其中不包含任何分支或過程度量。經典控制塊可包含量子電路,并可根據度量結果确定程式的整體控制流,或可即時建立新的量子電路。
  • 執行(Execution),該過程在量子計算機上實時進行。執行過程中,由一個進階控制器負責處理輸入或來自量子電路的中間态度量,并将其放入由底層控制器執行的實體操作序列。
  • 後續處理(Post-processing),依然在經典計算機上進行,會借助實時量子處理過程中進行的度量建立最終結果。

IBM量子體驗旨在通過IBM雲平台連接配接至IBM的量子計算機,供使用者借此進行實驗或将量子計算能力融入自己的軟體程式。量子計算機與基于半導體的經典計算機最大的不同在于,經典計算機隻能使用兩種狀态,而由于使用了量子位(Quantum bit),量子計算機可以同時疊加更多狀态。根據宣傳,量子計算技術将能輕松解決傳統計算機無法解決的問題,例如可用于大整數分解(密碼學)、量子實體過程模拟、瓊斯多項式(Jones polynomial)逼近、佩爾方程(Pell’s equation)求解等領域。對于這類問題,量子計算機可實作遠超經典計算機的速度,同時也意味着目前棘手的(NP)問題盡管不會變成小菜一碟,但至少量子計算将為我們提供可行的思路。

原文釋出時間為:2017年3月15日

本文作者:Sergio De Simone

本文來源:

InfoQ

,如需轉載請聯系原作者。