发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

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:001685
用户头像

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

关注

评论

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

为什么会是Docker?

架构精进之路

Docker

[修复 Webpack 官方 Bug] 提取CSS时的依赖图修正

分一

大前端 webpack 编译优化 源码刨析

Git设置分支保护实现CodeReview卡点

陈磊@Criss

微服务框架 - 模块功能设计篇

superman

MySQL 架构与历史

多选参数

MySQL 数据库 MySQL优化

【写作群星榜】8.1~8.14 写作平台优秀作者 & 文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

6种快速统计代码执行时间的方法

Bruce Duan

java统计时间 currentTimeMillis nanoTime StopWatch

Windows AD 保姆级配置NTP服务器教程

BigYoung

时间 AD ntp Windows Server 2012 R2

源码分析 | 咋嘞?你的IDEA过期了吧!加个Jar包就破解了,为什么?

小傅哥

Java 字节码插桩 asm bytebuddy

手把手教你从零开始使用python编写大型冒险类游戏01之游戏介绍

Geek_8dbdc1

2.3.2 JDK动态代理 -《SSM深入解析与项目实战》

谙忆

从北京降雨的复盘中,我发现了企业SD-WAN网络的秘密

脑极体

微博基于 Flink 的机器学习实践

Apache Flink

flink

芯片破壁者(十二.下):青瓦台魔咒与半导体“死亡谷”

脑极体

手撕二分查找及其变种,就是干!

我是程序员小贱

一文了解对称加密与非对称加密

我是程序员小贱

安全

为什么修改hosts不立即生效?--浏览器DNS缓存机制分析

陈磊@Criss

契约测试:解决微服务测试的问题

陈磊@Criss

中本聪原始比特币论文解读:点对点的电子现金系统

韩超

比特币 区块链

Flink 中的应用部署:当前状态与新应用模式

Apache Flink

flink

Serverless:为我们到底带来了什么

刘宇

Serverless 云原生

非科班学习编程一定得知道这几个网站!

我是程序员小贱

想要成功,你需要的是目标与动机,目标是你的助攻,动机是你的爱人。

叶小鍵

成功学 心理学 海蒂·格兰特·霍尔沃森

记一次腾讯云(西安)后台开发面试经历

z小赵

面试 分布式 高并发

LeetCode题解:88. 合并两个有序数组,splice合并数组+sort排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

Django的Models更新时,不触发Signals解决办法

BigYoung

django singals 信号机制 update 更新

图解23种设计模式——前方高能,前端切图仔请务必抓好方向盘

执鸢者

typescript 大前端 设计模式

Go: Goroutine, 系统线程和CPU管理

陈思敏捷

mpg Go 语言

Python中的单下划线和双下划线使用场景

王坤祥

Python Python基础知识 Python基础

微服务框架-模块需求篇

superman

2.3.1 理解动态代理 -《SSM深入解析与项目实战》

谙忆

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