BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Sergio De Simone 关注 14 他的粉丝 ,译者 无明 关注 1 他的粉丝 发布于 2018年8月2日. 估计阅读时间: 4 分钟 | BCCon2018全球区块链生态技术大会,将区块链技术的创新和早期落地案例带回您的企业

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 ComputingQC WareQuantum Benchmark等。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT