当前正处于量子计算发展的爆发期,量子计算机硬件、软件都在快速迭代升级,全球的量子计算机开发也越来越活跃。本文将延续上篇文章,为大家介绍国内外大厂量子开源软件的发展和应用。
1. 国内外大厂量子开源软件的发展和应用
据波士顿咨询发布的报告预测,在不考虑量子纠错算法的进展情况下,2035年全球量子计算应用市场规模将达到近20亿美元,随后暴涨到2050年的2600多亿美元;若量子计算技术迭代速度超出预期,2035年市场规模可突破600亿美元,2050年则有望飙升至2950亿美元。各国争先布局量子计算领域产业。
1.1 Google
Cirq 是Google开源的一个量子编程框架,它提供了所有基本运算(例如量子位、门、电路和测试),用于编写、操作和优化量子电路,并针对量子计算机和模拟器运行它们,将帮助开发人员在机器上进行试验,其中包括谷歌自家的超强量子处理器。
Google还发布了 Cirq 软件工具包,让开发人员在不需要量子物理背景的情况下也可以创建算法,该计划也这意味着任何人都可以访问和修改该软件。谷歌将其比作流行的TensorFlow开源工具包,该工具包使得构建机器学习软件变得更加容易。目前,开发人员可以使用 Cirq 创建在模拟器上运行的量子算法。以下是启动并运行Cirq示例:
import cirq
# Pick a qubit.
qubit = cirq.GridQubit(0, 0)
# Create a circuit
circuit = cirq.Circuit(
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.Simulator()
result = simulator.run(circuit, repetitions=20)
print("Results:")
print(result)
示例结果输出:
Circuit:
(0, 0): ───X^0.5───M('m')───
Results:
m=11000111111011001000
TensorFlowQuantum (TFQ) 是Google发布的量子机器学习开源库,用于混合量子经典机器学习的 Python 框架,致力于建模量子数据。TensorFlow Quantum集成了许多量子算法和逻辑,并提供与现有 TensorFlow API 兼容的量子计算原函数,以及高性能量子电路模拟器。它将量子计算基元(如构建量子电路)引入 TensorFlow 生态系统,使用 TensorFlow 构建的模型和运算使用这些基元来创建功能强大的量子经典混合系统。目前,TensorFlow Quantum 主要面向在经典量子电路模拟器上执行量子电路。
1.2 微软
2019年11月,Microsoft推出量子云生态服务--Azure Quantum,为开发者和客户提供预先构建的解决方案以及软件和量子硬件。用户通过使用Azure Quantum及其开发者工具包工具集,可对量子算法进行编程,并优化解决方案,然后在Azure平台内应用这些量子解决方案。
Azure 量子提供商主要包括量子硬件的提供商,以及方案优化提供商。
Azure Quantum 的客户主要是使用Azure提供的量子机器以及 Azure 提供的量子优化服务。其中量子优化服务占了一定的比例。优化服务涉及的领域有导航(复杂的线路规划)、材料化学以及自动驾驶等领域。
QDK 主要包含两部分,首先是量子库,主要是针对不同行业提供了量子算法的封装,包含基本库,化学库,机器学习库等。其次是量子模拟器,针对不同量子场景,提供了不同的量子模拟器。
其量子模拟器的详细说明
以下是量子程序在Azure Quantum上完成实现的阶段工作流
(1)编写量子代码。可以使用适用于 Visual Studio、Visual Studio Code 或 Jupyter Notebook 的 QDK 扩展创建 Q# 程序。
(2)使用库来保持代码的精简程度。量子库可保持代码的精简程度,在执行中完成大量繁重的工作,使用户能够专注于算法的逻辑。
(3)与传统软件集成。使用Quantum开发工具包,可以将 Q# 程序与 Python 和 .NET 集成。
(4)在模拟中运行量子代码。编写程序后,需要使用量子模拟器,以便运行程序的一个小实例,并查看它的功能,而无需访问实际的硬件。
(5)估算资源。运行量子硬件之前,需要确定程序是否可以在现有硬件上运行。可以使用 QDK 资源估算器来获知需要多少个量子比特以及