QCon 演讲火热征集中,快来分享你的技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

毕业总结

Vincent

架构训练营

区块链的兴起及其司法运用

CECBC

FastApi-02-路径参数

Python研究所

FastApi 8月日更

架构实战营模块3作业指导

华仔

架构实战营

Java开发从零开始!《SpringCloud超级入门(4)

策划Java工程师

Java 程序员 后端

TCL携大屏天团领跑UDE,斩获多项创新大奖

科技热闻

IBM大面积辞退40岁+的员工,【Spring Boot 1

Java 程序员 后端

Java入门你值得拥有!【Spring Boot 26

Java 程序员 后端

Java基础72问:不搞定HR这3个问题,建议不要轻易跳槽(1)

Java 程序员 后端

TimeUtils 实用封装

Changing Lin

8月日更

架构实战营毕业总结

eoeoeo

架构实战营

Java应用性能优化!Java-进阶:集合框架1

Java 程序员 后端

Java开发全套学习!MySQL进阶,秒变大神(1)

策划Java工程师

Java 程序员 后端

Java开发基础面试题,【springcloud

策划Java工程师

Java 程序员 后端

Java开发快速学习!三面蚂蚁金服成功拿到offer后,他说他累了

策划Java工程师

Java 程序员 后端

Java开发三年月薪才12K,你知道如何用面向对象思想写好并发编程吗?

策划Java工程师

Java 程序员 后端

京东:Flink SQL 优化实战

Apache Flink

flink

全国首笔“区块链+闲置住宅”交易在昆山完成

CECBC

IT公司防止运维偷窥和篡改数据库的最佳武器-云堡垒机!

行云管家

数据安全 堡垒机 数据泄露

Java大厂技术面试题汇总!美团阿里Java程序员晒工资被围观,总结

Java 程序员 后端

Java开发前景怎么样?【Spring Boot 21

策划Java工程师

Java 程序员 后端

应届生怎么走Linux下C++后台服务器开发路线,工作3-5年的知识体系

Linux服务器开发

Linux C/C++ linux开发 Linux服务器开发 Linux后台开发

双非本科电子跨专业,苦学八个月,投岗阿里/滴滴后端三面,最终拿下offer

今晚早点睡

Java 阿里巴巴 面试 计算机

GitHub标星过万!亦直问JVM(1)

Java 程序员 后端

AI应用说 | 百度专家&行业大咖畅谈AI技术与落地应用

百度大脑

人工智能 开发者 开发

Java开发6年了,BAT面试文档:ActiveMQ(1)

策划Java工程师

Java 程序员 后端

Java开发入门教程!程序员:面试官

策划Java工程师

Java 程序员 后端

Java体系化进阶学习图谱:所有帖子的 分类 总结

Java 程序员 后端

Java开发基础不牢?什么是中间件?

策划Java工程师

Java 程序员 后端

终于有人把操作系统,网络系统,线程进程,IO模型全部总结出来了

程序员 架构 面试 操作系统 计算机

亏损、退市、卖身...区块链如何挽救影视行业?

CECBC

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