9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

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

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

关注

评论

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

InfoQ 内容推荐位资源限时开放

乐白

InfoQ 资源

WebRTC SDP 详解和剖析

阿里云CloudImagine

阿里云 音视频 WebRTC 视频云 流媒体传输

理解Python协程的本质

Justfly

Python 协程 异步 Async 异步编程

多活/多机房的几种实现方式与重点

Justfly

高可用 跨机房 数据同步 异地多活容灾

工商银行基于 Dubbo 构建金融微服务架构的实践-服务发现篇

阿里巴巴云原生

云原生 dubbo 中间件 案例分享 CloudNative

前端开发还可以这么玩?元数据实践分享

华为云开发者联盟

大前端 元数据 组件 ROMA 业务流

深入灵魂的考验,每行注释都是灵魂的单例模式,源码+实例降临

小Q

Java 学习 架构 面试 设计模式

anyRTC 联合 vInClass 打造在线教育上课模式

anyRTC开发者

音视频 WebRTC 在线教育 RTC

为什么阿里人能够快速成长?看完他们Java架构进化笔记,我秒懂!

Java架构追梦

Java 学习 架构 面试 成长笔记

全球熵ETV系统APP开发|全球熵ETV软件开发

系统开发

基于RTMP数据传输协议的实时流媒体技术研究(论文全文)

程序员小灰

音视频 ffmpeg 流媒体 RTMP webrtc、

揭秘 VMAF 视频质量评测标准

阿里云CloudImagine

视频 图像处理

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

李循律

极客大学架构师训练营

三分钟看懂快速开发,常用软件快速开发平台速览

Marilyn

敏捷开发 快速开发 企业开发 企业应用

王者级别的Java多线程技术笔记,我愿奉你为地表最强!

Java架构师迁哥

构师训练营 - 第七周学习总结

joshuamai

干货分享!用心满满:面试前必知必会的二分查找及其变种

比伯

Java 编程 架构 面试 计算机

构师训练营 - 第七周课后练习

joshuamai

架构探索:事务处理一

Dark

拆解增长黑客之实战(一):获客与激活

懒杨杨

增长 产品运营

鹅厂大佬亲身经历证明,一周上线百万级并发系统

Java架构师迁哥

研发管理:敏捷研发下周报的价值

云原生实验室

云原生 敏捷 研发管理 周报

CloudIDE插件开发实战:教你如何调试代码

华为云开发者联盟

ide 开发 Cloud

深度学习在物理层信号处理中的应用研究

华为云开发者联盟

学习 模型 物理层

Linux角度仰视Goroutine的GMP

ninetyhe

Java Linux 多线程与高并发 Go 语言

《Web自动化》基础知识脑图

清菡软件测试

Web

mongodb 源码实现系列 - command 命令处理模块源码实现二

杨亚洲(专注MongoDB及高性能中间件)

MySQL mongodb 分布式数据库 源码刨析 分布式数据库mongodb

云原生架构:容器资源限制及资源可见性

云原生实验室

云原生

5G多输入多输出技术,到底是个啥东东?

华为云开发者联盟

5G 输入 输出

流动性挖矿系统APP开发|流动性挖矿软件开发

系统开发

告别“效率内卷化”,华为用一年时间让职场人支棱起来

脑极体

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