AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

谷歌发布 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:083345
用户头像

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

关注

评论

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

架构师训练营第1期第3周作业

业哥

极客大学架构师训练营

FastDFS 分布式文件系统详解

哈喽沃德先生

文件系统 分布式文件存储 fastdfs 分布式文件

高中生写LOL外挂1年狂赚五百万,落网前刚买下120万保时捷

Java架构师迁哥

经常使用的数据结构

hasWhere

一个好系统自我完善自我进化的方法

boshi

产品思维 系统工程 即时反馈 生态体系

Java源码系列2——HashMap

超超不会飞

Java

Java源码系列3——LinkedHashMap

超超不会飞

Java

架构师训练营 1 期 - 第三周 - 设计模式

三板斧

极客大学架构师训练营

c++杂谈4

菜鸟小sailor 🐕

Greenplum 性能优化之路 --(三)ANALYZE

腾讯云大数据

大数据 数据仓库

基于 Flink + Hive 构建流批一体准实时数仓

Apache Flink

flink

在 InfoQ 兼职做运营

邓瑞恒Ryan

创业 用户增长 创业心态 运营 产品运营

我一定是熬夜熬傻了,小程序后台获取用户信息居然发生了这件事

小Q

Java 小程序 学习 编程 架构

一个Hibernate的事务问题

YoungZY

hibernate

智能体的奇幻漂流之“成都折叠”篇

脑极体

架构师训练营第三周作业

邓昀垚

极客大学架构师训练营

码住!Flink Contributor 速成指南

Apache Flink

flink 开源社区

2020互联网公司中秋礼盒大比拼!(文末送福利)

Java架构师迁哥

【FastDFS】SpringBoot整合FastDFS实战,我只看这一篇!!

冰河

springboot fastdfs

Smartisan

Changing Lin

摄影

烦人的Null,你可以走开点了

四猿外

Java 注解 空指针 Optional null

架构师训练营第 1 期第 3 周学习总结

好吃不贵

极客大学架构师训练营

Greenplum 性能优化之路 --(二)存储格式

腾讯云大数据

大数据

Java源码系列4——HashMap扩容时究竟对链表和红黑树做了什么?

超超不会飞

Java

【架构笔记之设计模式】架构师训练营第1期第3周

业哥

极客大学架构师训练营

CSS语法与规则 — 重学CSS

三钻

CSS 大前端

传统网络缺失货币层,比特币是否能担此大任?

blockchain

比特币 区块链 数字货币 比特币数字货币 区块俩金融

鲲鹏播种于时代,花开五色中原

脑极体

Dromara团队发布Hmily全新架构的2.1.1版本

猫大人

分布式事务 分布式柔性事务‘’

Nexmark: 如何设计一个流计算基准测试?

Apache Flink

flink

优秀组织的5大表现

凌晞

团队管理 团队组织 组织

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