IBM 借 QISKit 打造基于云平台的量子计算

  • Sergio De Simone
  • 大愚若智

2017 年 3 月 14 日

话题:IBM语言 & 开发文化 & 方法

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')

在 IBM 的 OPENAQSM 模型中,量子计算是通过下列四个步骤实现的:

  • 编译(Compilation),使用经典计算机将文本模式的量子算法转换为对应的 IR 呈现。
  • 电路生成(Circuit generation),将 IR 转换为一系列量子电路,量子电路则是量子程序的最基本组成部分。量子电路是由基本步骤组成的一种序列,其中不包含任何分支或过程度量。经典控制块可包含量子电路,并可根据度量结果确定程序的整体控制流,或可即时创建新的量子电路。
  • 执行(Execution),该过程在量子计算机上实时进行。执行过程中,由一个高级控制器负责处理输入或来自量子电路的中间态度量,并将其放入由底层控制器执行的物理操作序列。
  • 后续处理(Post-processing),依然在经典计算机上进行,会借助实时量子处理过程中进行的度量创建最终结果。

IBM 量子体验旨在通过 IBM 云平台连接至 IBM 的量子计算机,供用户借此进行实验或将量子计算能力融入自己的软件程序。量子计算机与基于晶体管的经典计算机最大的不同在于,经典计算机只能使用两种状态,而由于使用了量子位(Quantum bit),量子计算机可以同时叠加更多状态。根据宣传,量子计算技术将能轻松解决传统计算机无法解决的问题,例如可用于大整数分解(密码学)、量子物理过程模拟、琼斯多项式(Jones polynomial)逼近、佩尔方程(Pell’s equation)求解等领域。对于这类问题,量子计算机可实现远超经典计算机的速度,同时也意味着目前棘手的(NP)问题尽管不会变成小菜一碟,但至少量子计算将为我们提供可行的思路。

阅读英文原文IBM QISKit Aims to Enable Cloud-basaed Quantum Computation

IBM语言 & 开发文化 & 方法