写点什么

谷歌发布 Cirq:一个用于量子计算的 Python 开源库

  • 2018-08-01
  • 本文字数:1079 字

    阅读完需:约 4 分钟

Cirq 旨在让嘈杂中型量子计算机(Noisy Intermediate Scale Quantum,NISQ)算法的编写、操作和优化变得更容易。Cirq 还支持在本地模拟器上运行这些程序,并计划支持未来的量子硬件和量子云处理器。

NISQ 计算机将成为第一批在不久的将来可用的量子计算机,包括微软、谷歌、IBM、英特尔等在内的多家公司已经宣布开发 NISQ。NISQ 计算机由 50-100 个量子比特组成,让研究人员能够证明量子霸权,尽管它们的用途将受到量子门噪声以及后续将要出现的纠错算法效率的限制。

根据谷歌 AI 量子团队工程师 Alan Ho 和 Dave Bacon 透露,NISQ 计算机编程的主要障碍之一是如何正确地映射算法和硬件,从而可以完全将量子位用于解决问题最困难的部分,以及处理特定的处理器约束,因为如果没有正确处理这些问题,可能会导致计算错误。这正是 Cirq 发挥作用的地方。

Cirq 为用户提供了对量子电路的精确控制,使用原生的门指定门的行为,将这些门适当地放置在设备上,以及在量子硬件的约束内调度这些门的时序。数据结构经过优化,可用于编写和编译这些量子电路,从而让用户能够充分利用 NISQ 架构。

以下是最简单的“hello world”程序:

复制代码
import cirq
# Pick a qubit.
qubit = cirq.GridQubit(0, 0)
# Create a circuit
circuit = cirq.Circuit.from_ops(
cirq.X(qubit)**0.5, # Square root of NOT.
cirq.measure(qubit, key='m') # Measurement.
)
print("Circuit:")
print(circuit)
# Simulate the circuit several times.
simulator = cirq.google.XmonSimulator()
result = simulator.run(circuit, repetitions=20)
print("Results:")
print(result)

如你所见,Cirq 提供了高级语法来管理典型的量子计算抽象,例如电路、量子位上的逻辑运算或度量。正如上面的代码片段所示,Cirq 提供了对本地模拟的支持,但根据谷歌的说法,Cirq 的高级指令也可以转换为谷歌 Bristlecone 处理器的量子电路,并将用于访问云端版本(当云端 Bristlecone 处理器可用时)。 谷歌提供了更完整的教程,将指导你完成创建量子变分算法的过程,同时还有Cirq 的官方文档。此外,谷歌正在发布OpenFermion-Cirq,一个用于创建低深度量子算法的平台,创建的算法主要针对量子化学问题,通过将化学问题的细节(例如模拟分子和复杂材料的特性)转换为Cirq 电路来创建量子算法。

Cirq 托管在 GitHub 上,可以使用 pip 安装在 Linux、Mac OS X 和 Windows 上:

复制代码
python -m pip install --upgrade pip
python -m pip install cirq

Cirq 早期采用者包括 Zapata Computing QC Ware Quantum Benchmark 等。

查看英文原文 Google Cirq: a Python Open Source Library for Quantum Computing

2018-08-01 07:083042
用户头像

发布了 731 篇内容, 共 447.3 次阅读, 收获喜欢 2001 次。

关注

评论

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

计算机操作系统基础(十一)---线程同步之互斥量

书旅

php laravel 线程 操作系统 进程

饿了么4年,阿里2年:我的总结与思考

程序员生活志

工作经验

源码分析 | 数据异构Canal 初探

小新

解读 java 并发队列 BlockingQueue

猿灯塔

Java

spring 那点事儿——让你少走弯路

爱java爱自己

Spring Cloud Spring Boot

什么时候不要用微服务?以 Istio 为例

无予且行

Java 微服务 后端

【思考】互联网厂商争夺企业市场

superman

企业中台 互联网

编程核心能力之组合

顿晓

Java 学习 pipe

今天来聊聊如何挑书

封不羁

读书 个人感想

架构师训练营第五周学习总结

张明森

程序员阿里、京东、美团面试整理的面试题,测试一下你都会了吗?

小谈

Java 阿里巴巴 面试

ConcurrentHashMap里面也有死循环

无予且行

Java jdk 面试 jdk8

cms项目系列(一)——SSM框架搭建

程序员的时光

spring

如何站在架构师的角度做框架

小新

Java 集合 框架

锦囊篇|一文摸懂SharedPreferences和MMKV(二)

ClericYi

你真的理解透彻高并发了吗?来看看架构师眼里的高并发

小谈

Java 面试 高并发 高并发系统设计

专科程序员与本科程序员之间有什么区别?薪资待遇又差多少?

码农月半

spring 程序员 面试

架构师训练营 -week5 命题作业

J.Smile

极客大学架构师训练营

授权专利争夺正当时

CECBC

数据隐私 授权专利 平台应用服务

区块链+金融赋能高原特色农业重点产业

CECBC

打破信息孤岛 区块链+咖啡 特色农业 咖云链

在Windows上使用IIS来托管站点

Puran

windows IIS Server

1.2w字 | 初中级前端 JavaScript 自测清单 - 1

Geek_z9ygea

Java 大前端 Web

如何搭建一个Zookeeper集群

Rayjun

大数据 zookeeper 分布式

PHP实现一致性哈希算法

任小龙

农产品电商平台的S曲线分析

石云升

增长 S型曲线 破局点

为什么建议项目中统一线程池类?

张挺

架构师训练营 第 5 周作业

Lingjun

极客大学架构师训练营

SQLite你用对了吗

山楂大卷

sqlite 数据库 选型

面试官:既然CPU有MESI,为什么 JMM 还需要volatile关键字?

犬来八荒

Java 面试 JVM 硬件

面试中必问的JVM应该怎么学(面试题含答案)

猿灯塔

Java架构-Apache POI Excel

猿灯塔

谷歌发布Cirq:一个用于量子计算的Python开源库_开源_Sergio De Simone_InfoQ精选文章