写点什么

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

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

关注

评论

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

攻防演练中常见的8种攻击方式及应对指南

青藤云安全

DTMO直播预告|Taier1.1新功能详解&控制台介绍

袋鼠云数栈

大数据

漏洞扫描器并非100%靠谱,那么容器镜像安全又当如何保证?

青藤云安全

网络安全 安全管理 漏洞修复

KeyDB重量发布6.3.0开源版

华为云开发者联盟

redis 开源 多线程 分布式缓存 KeyDB

邀您填写调研问卷 | 2022中国 AIOps 现状调查全面启动!

博睿数据

AIOPS 博睿数据

《安全大讲堂》 第十四期|不破不立:软件供应链的威胁与方案

腾讯安全云鼎实验室

供应链 安全大讲堂

Hoo研究院 | 什么是流动性池?(下)流动性池的运作

区块链前沿News

defi 流动性 Hoo

批量作业调度引擎 TASKCTL 安装与实例部署

敏捷调度TASKCTL

程序员 DevOps 分布式 ETL 自动化运维

小白福利!教你用低代码实现一个简单的HarmonyOS页面跳转功能

HarmonyOS开发者

HarmonyOS 低代码开发

FinClip+系列 | VUE前端开发框架核心原理

Speedoooo

Vue 前端框架 移动开发 移动端开发 小程序容器

vuejs中的mixin混入-局部混入/全局混入

itclanCoder

Vue 前端开发

JAVA OOM异常可观测最佳实践

观测云

可观测性 可观测

国内首个开源物联网边缘工业协议网关软件,Neuron v2.0产品解读

EMQ映云科技

开源 物联网 IoT 5月月更 neuron

柏拉图会成为元宇宙风险标吗?PlatoFarm的机会很大

西柚子

清晰明了!人人都能懂的Python自动发送邮件实战教程

Python全栈库

Python 编程 程序员 面试 全栈开发

三、云原生安全关键要素

穿过生命散发芬芳

云原生安全 5月月更

【LeetCode】后继者Java题解

Albert

LeetCode 5月月更

大咖说*图书分享-Node布道师狼叔|三卷书详解Node.js

大咖说

前端 后端 代码

SeaTunnel 加入开源之夏!一起来拿奖金

Apache SeaTunnel

Apache 大数据 开源 workflow Seatunnel

小型企业需要CRM系统的理由

低代码小观

CRM 企业管理系统 中小企业 CRM系统 客户关系管理系统

netty系列之:HashedWheelTimer一种定时器的高效实现

程序那些事

Java Netty 程序那些事 5月月更

vuejs中的默认插槽-具名插槽-作用域插槽三者的比较

itclanCoder

JavaScript Vue 前端开发

毕设不会做,怎么办?

图灵教育

机器学习 深度学习 毕设

工业质检如何以“智”取胜?15分钟上手工业零部件检测全流程方案

百度开发者中心

明明已部署EDR,服务器为什么还是被入侵了?

青藤云安全

安全攻防 网络安全 主机安全

开源生态在中国:播撒种子,待成雨林

科技热闻

这些年,使用缓存踩过的坑

鲸品堂

缓存

vuejs中的普通方法/计算属性computed与监听属性watch四者的比较

itclanCoder

JavaScript Vue 前端开发

时间轮算法

领创集团Advance Intelligence Group

算法 时间轮算法

Spark离线开发框架设计与实现

百度开发者中心

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