写点什么

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

  • 2017-03-14
  • 本文字数:1295 字

    阅读完需:约 4 分钟

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

2017-03-14 19:001974
用户头像

发布了 283 篇内容, 共 109.1 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

python操作word文件

wjchenge

Python word

面试官问:运行时的内存布局

Java小咖秀

Java JVM

SICP,我的函数式编程启蒙书

Kurtis Moxley

读书 函数式编程

年轻的樵夫哟,你掉的是这个免费 8 核 4G 公网服务器,还是这个随时可用的 Docker 实验平台?

newbe36524

Docker 微服务 .net core ASP.NET Core

KPI考核存在的问题

石云升

读书笔记 考核 KPI 数字化管理

AI+云,数字金融掘金客户微细分

人称T客

技术分享丨数据仓库的建模与ETL实践技巧

华为云开发者联盟

数据仓库 数据分析 数据模型 GaussDB ETL算法

【得物技术】乘风破浪—优雅代码四部曲

得物技术

Java 代码规范

PHPStrom安装Xdebug及使用

书旅

php Xdebug PHPStrom

C++ 借来的资源,如何还的潇洒?

小林coding

c c++ 编程 编程习惯 内存管理

初识WebRTC

soolaugust

WebRTC

高并发,你真的了解吗?

华为云开发者联盟

负载均衡 软件 高并发 操作系统 服务器集群

对于一款软件而言,完备的功能固然重要,但交互体验也不该被忽视

Philips

Java 敏捷开发 UI .net core 交互设计

了解JS压缩图片,这一篇就够了

华为云开发者联盟

Java html5 vue.js 大前端 npm

我们是如何逐渐变普通的?

架构精进之路

个人成长 认知提升

HTTP方式文件分片断点下载

xcbeyond

Java 断点续传 下载 Range

架构到底是什么?

架构精进之路

架构

最受 IT 公司欢迎的 30 款开源软件

程序员生活志

开源

昨梦记

波波夫

一、GraphQL,你准备好了么?

星期35

学过 C++ 的你,你不得不知的这 10 条细节

小林coding

c c++ 编程 编程之路

全面剖析PHP-FPM+Nginx通信原理

书旅

nginx 正向代理与反向代理 PHP-FPM

二叉树-四种遍历方式的 Java 实现

多选参数

二叉树 遍历

如何有效提高技能?我推荐《刻意练习》

老胡爱分享

个人成长 练习

Docker 禁止美国“实体清单”主体使用,Docker 开源项目应不受影响

程序员生活志

Docker 互联网热点

MECE分析法

陈磊@Criss

测者陈磊

5步教你完成小熊派开发板贴片

华为云开发者联盟

后端 开发工具 华为云 小熊派 开发板

实战分享丨MySQL 与Django版本匹配相关经验

华为云开发者联盟

MySQL 数据库 django 华为云

面经手册 · 第5篇《看图说话,讲解2-3平衡树「红黑树的前身」》

小傅哥

Java 数据结构 小傅哥 红黑树 2-3树

推荐一款可视化+NoteBook工具

数据社

大数据 可视化 Zeppelin notebook

C++ 互斥锁和条件变量的性能比较

小林coding

c c++ 编程 并发编程

IBM借QISKit打造基于云平台的量子计算_IBM_Sergio De Simone_InfoQ精选文章