DAOrayaki / DAOrayaki-Bounty

DAOrayaki Bounty Repository
6 stars 30 forks source link

DAOrayaki | bounty| Top 35 Open Source Quantum Computing Tools in 2022 #254

Open asqwasweer opened 2 years ago

asqwasweer commented 2 years ago

Title: DAOrayaki | Top 35 Open Source Quantum Computing Tools in 2022  Deadline: 6/2/2022   Committee Decision: 6/2/2022-6/5/2022   Description: English to Chinese; 5/31/2022-6/2/2022 is the creator's translation time, that is, creators need to submit before 6/2 ;6/2/2022-6/5/2022 is the committee review and voting time.   link: https://thequantuminsider.com/2022/05/27/quantum-computing-tools/ Bounty:75u

hahaho21 commented 2 years ago

hahaho will do this bounty.

PenghaoJiang-anu commented 2 years ago

要正确地完成工作,您需要合适的工具来完成工作——这是您可以想到的领域专业。在量子计算 (QC) 行业也不例外。为了让这个新兴领域成长为一个社区,首先必须发展的一个方面是开源量子计算工具领域,例如允许用户设计例如量子算法等。

考虑到这一点,Quantum Insider Data Platform编制并策划了一份包含 35 种最佳工具的列表,这些工具将使那些感兴趣的人有机会做一些伟大的事情。无论是今天还是明天。享受!

35 个量子计算工具 1.项目Q ProjectQ始于 ETH Zurich,是一个用 Python 实现的用于量子计算的开源软件框架。它允许用户使用强大而直观的语法在 Python 中实现他们的量子程序。然后,ProjectQ 可以将这些程序转换为任何类型的后端,无论是在经典计算机上运行的模拟器,还是包括 IBM Quantum Experience 平台在内的实际量子芯片。未来将支持其他硬件平台。可以在 ProjectQ 工具中找到所有代码和文档的链接,以及用于分析费米子量子模拟问题的名为 FermiLib 的库。

  1. 马戏团

Cirq可作为 GitHub 存储库使用,它是一个用于创建、编辑和调用嘈杂中间尺度量子 (NISQ) 电路的 python 框架。由谷歌 AI 量子团队推动,虽然不是谷歌官方产品,但目前处于 alpha 发布状态。Cirq 量子计算工具也可以与 OpenFermion-Cirq 一起使用,这是一个用于为化学问题开发量子算法的平台。目前,其他几家软件公司也在使用 Cirq 工具作为早期采用者。

  1. Q-CTRL Python 打开控件 Q-CTRL Python Open Controls是另一个由澳大利亚量子初创公司 Q-CTRL 开发的开源量子计算工具包,它可以轻松地从公开文献中创建和部署已建立的抗错误量子控制协议。该软件包的目标是成为社区开发的已发布和测试的最全面的量子控制技术库,具有易于使用的导出功能,允许用户将这些控制部署在自定义量子硬件、公开可用的云量子计算机和Q-CTRL 产品套件。

4.量化

Quantify是由荷兰量子计算初创公司 Qblox 和 Orange Quantum Systems 发起的开源 BSD 4 许可平台。该软件的所有功能都在 Read-the-Docs 中有详细记录,提供了用于快速设置和开始测量的基本教程,而高级测序教程也用于更复杂的实验。

Quantify-Core 是一个用于执行物理实验的数据采集平台,而 Quantify-Scheduler 是一个开源混合调度器,它结合了量子位的脉冲级和门级控制。

Quantify 工具与可在 SCPI、python 或 QCoDeS 级别进行接口的 API 一起提供。所有级别都是开源的、有据可查的并在 CI 管道中进行了测试。

5.英特尔量子模拟器 接下来,我们将提供来自科技巨头英特尔的产品,以及英特尔® Quantum Simulator,以前以更酷的名称 qHiPSTER 而闻名,这是一种开源单节点或分布式高性能量子模拟器实现,可以模拟一般的单量子比特门和双量子位控制门。

可作为 GitHub 存储库使用的英特尔量子模拟软件已用于模拟超过 40 个量子位的算法,面向希望在模拟中测试其量子软件的算法开发人员。

6.知觉

Perceval 由法国初创公司 Quandela 提供支持,该公司专注于开发基于光操纵的新一代量子计算机,Perceval是一个用于编程光子量子计算机的开源框架。

通过一个简单的面向对象的 Python API,Perceval 提供了用于从线性光学元件组成电路、定义单光子源、操纵 Fock 状态、运行量子模拟、复制已发表的实验论文和试验新一代量子算法的工具。它旨在成为开发量子光子电路的配套工具——用于模拟和优化其设计,对理想和现实行为进行建模,并提出标准化接口以通过后端概念控制它们。

Perceval 可以访问强大的后端以在数字和符号上模拟光子电路上的量子算法,并针对在本地桌面上运行进行了优化,并为 HPC 集群提供了几个扩展。它还允许用户通过大量预定义组件来设计算法和复杂的线性光学电路。已知算法的集合可用并作为教程提供。您还可以运行实验来微调算法,与实验数据进行比较,并在几行代码中复制已发表的文章。

  1. Mitaq 工具

Mitiq是由非营利组织 Unitary Fund 提供的,它帮助创建一个让大多数人受益的量子技术生态系统,它是一个 Python 工具包,用于在量子计算机上实施错误缓解技术。

Mitiq 兼容为 IBM Q 的 Qiskit、Google 的 Cirq、Rigetti 的 PyQuil 编写的量子程序,以及由于转换为 OpenQASM 而成为可能的其他量子电路形式。

  1. 伯克利量子合成工具包

Berkeley Quantum Synthesis Toolkit是一个超级优化的量子编译器和研究工具,它将 LBNL 的多个项目的想法结合到一个易于访问且可快速扩展的软件套件中。

该套件包括 QSearch,可实现多达四个量子位的最佳深度合成;LEAP 可实现高达 6 个量子位的最佳解决方案合成质量;QFAST,将良好的解决方案质量合成扩展到 8 个量子位;QGO 是一种结合了分区和综合的优化编译器,以及 QFactor,这是使用张量网络的最快的量子电路优化器。

Berkeley Quantum Synthesis Toolkit 的所有软件都是免费和开源的。他们有几个免费的量子开发工具可用于合成和优化,并不断改进软件。

  1. QCircuits QCircuits作为 GitHub 存储库提供,是一个 Python 量子软件,用于基于量子电路模型模拟和研究量子计算机。它被设计成具有简单、轻量级的界面并且易于使用,特别是对于那些刚接触量子计算的人。

它的主要类别是状态,代表计算机的(量子)状态,复向量空间中的单位向量,和操作符,代表量子门,即那些向量空间上的酉算子。QCircuits 允许用户准备算子和状态、将算子应用于状态、测量状态等,以实现量子算法。

10.姚

Yao被制定为“为人类设计的可扩展、高效的量子算法设计”,它是一个 Julia 语言包和构建和操作量子电路的中间表示,并允许您在原生 Julia 中对量子电路进行自己的抽象。

Yao 支持正向模式(忠实梯度)和反向模式自动微分,其内置引擎专门针对量子电路进行了优化,并且被设计为可扩展的。它的分层架构允许您扩展框架以支持和共享您的新算法和硬件。

Yao 是在 Apache License 2.0 下提供的,是一个免费的量子开发工具,供大家使用。

  1. 丝绸

Silq 是一种用于量子计算的新型高级编程语言,具有强大的静态类型系统,由苏黎世联邦理工学院开发,最初发表于 PLDI'20。由于当前的量子语言迫使程序员在低抽象级别上工作,导致代码不直观和混乱,Silq 是第一个通过支持安全、自动取消计算来解决这一挑战的量子语言,支持隐式删除临时值的直观语义,就像在经典计算中一样。为了确保 Silq 语义的物理性,它的类型系统利用新颖的注释来拒绝非物理程序。

要求以量子计算的基本背景为起点,用户应该熟悉量子编程中的所有概念。

12.桨量子

我们列表中的下一个是Paddle Quantum,这是一种基于百度 PaddlePaddle 开发的量子机器学习工具 (QML)。它提供了一个构建和训练量子神经网络(QNNs)的平台,带有易于使用的量子机器学习开发套件,支持组合优化、量子化学和其他前沿量子应用,使PaddlePaddle成为中国第一个支持的深度学习框架量子机器学习。

拥有许多易于使用的在线学习资源(近 40 个教程)、使用各种 QNN 模板高效构建 QNN、自动微分、具有多种优化工具和 GPU 模式的多功能性、25+ qubits 的模拟和灵活的噪声模型。

Paddle Quantum 旨在在人工智能 (AI) 和量子计算 (QC) 之间架起一座桥梁。它已被用于开发多种量子机器学习应用程序。借助赋能QC的PaddlePaddle深度学习平台,Paddle Quantum为科研界和该领域的开发者轻松开发QML应用提供了强有力的支持。此外,它为量子计算爱好者提供了一个学习平台。

  1. 龙舌兰酒 不幸的是,它不是墨西哥酒精饮料,而是一个很酷的名字,尽管如此,Tequila是可扩展的量子信息和学习架构,其主要目标是简化和加速量子算法新思想的实施。

目前支持 Qulacs、Qiskit、Cirq 和 PyQuil,它在抽象数据结构上运行,允许制定、组合、自动区分和优化广义目标。Tequila 可以在最先进的模拟器以及真实的量子设备上执行潜在的量子期望值。

  1. Qulacs Qulacs是京都大学开发的用于量子计算研究的变分量子电路模拟器,由日本初创公司 QunaSys 维护,用于快速模拟大型、嘈杂或参数量子电路。

Qulacs 具有带并行 C/C++ 后端的快速量子电路模拟、用于模拟 NISQ 设备的噪声量子门、用于变分方法的参数量子门、用于快速模拟的电路压缩、用于快速模拟的 GPU 支持以及许多用于研究的实用函数Python/C++ 库,用于在 MIT 许可下快速模拟大型、嘈杂或参数量子电路。

  1. 斯塔克 staq是一个现代 C++17 库,用于量子电路的综合、转换、优化和编译。它既可以通过提供的二进制工具使用,也可以作为仅包含头文件的库来使用,以提供对以 OpenQASM 电路描述语言编写的解析和操作电路的直接支持。

受 Clang 的启发,staq 旨在直接操作 OpenQASM 语法树,而不是通过中间表示来检索原始源代码。特别是,可以检查和转换 OpenQASM 电路(在大多数情况下),而不会丢失原始源结构。这使得 staq 非常适合只需要特定更改的源到源转换。同样,这允许翻译成其他常见的电路描述语言和库,以紧跟 OpenQASM 源。

  1. 贝叶斯福格

Bayesforge是一个 Linux 机器映像,它为需要高级分析工具的数据科学家以及寻求使用主要 QC 框架之一的量子计算和计算数学从业者策划了最好的开源软件。

该图像结合了常见的机器学习框架,例如 PyTorch 和 Tensor Flow,与来自 D-Wave、Rigetti 的开源软件以及 IBM Quantum Experience 和谷歌的新量子计算语言 Cirq,以及其他高级 QC 框架。例如,它的 Quantum Fog 建模框架和它的量子编译器 Qubiter 可以交叉编译到所有主要架构。

所有软件都可以通过 Jupyter WebUI 访问,由于其模块化架构,允许用户使用 Python、R 和 Octave 进行编码(甚至支持 Bash 脚本)。

该图像带有完整的 Anaconda Python 3.6 安装以及最新的 R 发行版,并通过 PyMC 和 Marco Scutari 的 R 优秀 bnlearn 包等模块进行了增强。

可以通过 Jupyter 报告(在顶级 Utility 文件夹中)访问映像上安装的所有 R 和 Python 模块的完整列表。

Bayesforge 团队目前正在准备一个支持 GPU CUDA 加速的单独图像。

  1. 布鲁卡特

Bluqat是一个量子计算机库,可作为 GitHub 存储库使用。Blueqat 是一个基于 Python 的软件框架,专为刚起步的人以及该领域经验更丰富的专业人士而设计,包括易于使用的量子模拟算法,例如 VQE 和 QAOE。

  1. 量子编程工作室

Quantum Programming Studio是一个基于 Web的量子编程 IDE 和模拟器,由 Unitary Fund 和 Rigetti Computing 提供支持。

图形用户界面旨在允许用户通过直接在浏览器中模拟或在真实量子计算机上执行来构建量子算法并获得结果。

电路可以导出为多种量子编程语言/框架,并可以在各种模拟器和量子计算机上执行。

支持的平台包括 Rigetti Forest、IBM Qiskit、Google Cirq 和 TensorFlow Quantum、Microsoft Quantum Development Kit、Amazon Braket 等。

  1. 怪癖 Quirk是一款拖放式量子电路模拟器,非常适合操作和探索小型量子电路。Quirk 的视觉风格对正在发生的事情提供了相当直观的感觉,状态显示会在您更改电路时实时更新,并且总体体验是快速和互动的。

使用 Quirk 主要相当于从工具箱中拖动门,将这些门放入电路中,然后查看电路内部和右侧的状态显示。

Quirk 是免费的开源软件。源代码在许可的 Apache 许可下可用,允许任何人制作和分发他们自己的修改版本。例如,有人想简化 Quirk 以教高中生,所以他们从 Quirk 中分出了“Quirky”。

  1. 求问 QuEST或 Quantum Exact Simulation Toolkit 是量子电路、状态向量和密度矩阵的高性能模拟器。QuEST 使用多线程、GPU 加速和分发在笔记本电脑、台式机和联网的超级计算机上首先运行闪电。QuEST 是独立的,不需要安装,编译和运行都很简单。

QuEST 支持超过 140 种操作,从简单的命名门到强大的深奥操作符,其中许多具有定制算法以实现最大的模拟效率,QuEST 进一步支持一般用户指定的单一和退相干通道,具有任意数量的控制和目标量子位,以及用于Pauli 字符串、对角线运算符和 QASM。

QuEST 由 Simon Benjamin 的量子技术理论小组 (qtechtheory) 和牛津大学的电子研究中心 (oerc) 开发。开发目前由泰森琼斯领导。

  1. 西航

XACC是用于混合量子经典计算架构的可扩展编译框架。它提供了可扩展的语言前端和硬件后端编译组件,它们通过一种新颖的量子中间表示粘合在一起。XACC 目前支持量子经典编程,并能够在 IBM、Rigetti 和 D-Wave QPU 以及许多量子计算机模拟器上执行量子内核。

  1. 量子++ Quantum++是一个现代 C++ 通用量子计算库,仅由模板头文件组成。Quantum++ 是用标准 C++17 编写的,具有非常低的外部依赖性,仅使用 Eigen 3 线性代数仅标头模板库和 OpenMP 多处理库(如果可用)。

Quantum++ 不限于量子比特系统或特定的量子信息处理任务,能够模拟任意量子过程。考虑的主要设计因素是易用性、高便携性和高性能。该库的模拟能力仅受可用物理内存量的限制。在典型的机器(Intel i5 8Gb RAM)上,Quantum++ 可以相当快地成功模拟纯态 25 个量子位或混合态 12 个量子位的演化。

  1. 量子启发

Quantum Inspire由 QuTech 设计和制造,允许用户在 QuTech 的模拟器或硬件后端之一上的各种硬件芯片上编程、执行和检查量子算法,为用户提供构成量子计算可能性的体验。

借助 Quantum Inspire,用户可以在荷兰国家超级计算机 Cartesius 上运行多达 37 个量子比特的模拟。除此之外,Quantum Inspire 还实现了与 IBM 的 Qiskit 的集成——这允许用户在 IBM 的 Qiskit 模拟器以及 IBM 的量子硬件上运行 QI 开发的程序。

24.QuCAT

QuCAT代表量子电路分析工具。这个开源 python 库为超导电子电路提供标准量子分析工具,围绕约瑟夫森结构建。

QuCAT 目前由荷兰代尔夫特大学 Gary Steele 小组的 Mario Gely 开发和维护,具有直观的图形或编程界面来创建电路、计算其哈密顿量的能力以及一组互补功能,例如计算耗散率或可视化电路中的电流流动。QuCAT 目前支持基于正常模式的量化。

  1. QuTiP

QuTIP是用于模拟开放量子系统动力学的开源量子软件。QuTiP 库依赖于优秀的 Numpy、Scipy 和 Cython 数值包。此外,图形输出由 Matplotlib 提供。QuTiP 旨在为各种哈密顿量提供用户友好且高效的数值模拟,包括具有任意时间依赖性的哈密顿量,常见于量子光学、俘获离子、超导电路和量子纳米机械谐振器等广泛的物理应用中. QuTiP 量子计算工具是免费的,可在 Linux、Mac OSX 和 Windows* 等所有主要平台上使用和/或修改。QuTiP 免收任何许可费用,非常适合在课堂上探索量子力学和动力学。

  1. 开放费米子

OpenFermion是一个开源库,用于编译和分析量子算法以模拟费米子系统,包括量子化学。除其他功能外,该版本还具有用于获取和操作费米子和量子比特哈密顿量表示的数据结构和工具,以及包含在这些包上运行的多个插件的软件。此外,您可以在 ProjectQ 和 Rigetti Forest 框架上运行 OpenFermion。

27.TensorFlow量子

TensorFlow Quantum (TFQ)是一个量子机器学习库,用于对混合量子经典 ML 模型进行快速原型设计。量子算法和应用程序的研究可以利用谷歌的量子计算框架,所有这些都来自 TensorFlow。

TensorFlow Quantum 专注于量子数据和构建混合量子经典模型。该工具集成了在 Cirq 中设计的量子计算算法和逻辑,并提供与现有 TensorFlow API 兼容的量子计算原语,以及高性能量子电路模拟器。

28.奎珀 Quipper是一种用于量子计算的嵌入式、可扩展的函数式编程工具。它提供高级电路描述语言。这包括对电路片段的逐门描述,以及用于组装和操作电路的强大运算符,允许混合程序和声明式编程风格的语法,用于自动合成可逆量子电路的内置设施,包括从经典代码开始,支持分层电路、可扩展的量子数据类型、可编程电路转换器,以及对三个执行阶段的支持:编译时间、电路生成时间和电路执行时间。

它还拥有大量的量子函数库,包括量子整数和定点算术库;量子傅里叶变换;高效的 Qram 实施;用于模拟伪经典电路、稳定器电路和任意电路的库;以及用于将电路精确和近似分解为特定门集的库。

  1. QX 量子计算模拟器

QX Simulator是由 Nader Khammassi 在 QuTech 开发的通用量子计算机模拟软件。QX 允许量子算法设计人员在量子计算机上模拟其量子电路的执行。模拟器定义了一种低级量子汇编语言,即量子代码,它允许用户在一个简单的文本源代码文件中描述他们的电路。然后将源代码文件用作执行其内容的模拟器的输入。

量子代码语言允许用户定义具有给定量子比特数的量子寄存器,通过一系列量子门构建电路,通过二进制控制门模拟经典量子接口,将主电路分成几个较小的子电路,通过特殊指令调试电路,显示电路任意点的量子状态和测量结果,评论不同的电路部分,通过执行子电路多次迭代来循环子电路,并安排顺序或并行量子大门。

除了在完美的量子计算机上模拟无错误执行的量子电路外,QX Simulator 还可以使用不同的错误模型(例如去极化噪声)来模拟真实的噪声执行。用户可以激活错误模型并定义物理错误概率来模拟特定的目标量子计算机。这个错误率可以根据目标平台的门保真度和量子位退相干来定义。

  1. 量子算法动物园 Quantum Algorithm Zoo是由 NIST 的 Stephen Jordan 编制的量子算法综合目录。

  2. ScaffCC ScaffCC是 Scaffold 编程语言的编译器和调度器。它是使用 LLVM 开源基础架构编写的。它的目的是为量子计算应用程序编写和分析代码。

ScaffCC 使研究人员能够将用 Scaffold 编写的量子应用程序编译为低级量子组装格式 (QASM)、应用纠错并生成时间和面积指标。它被编写为可扩展到问题大小,其中量子算法优于经典算法,因此为未来设备技术的实际实现提供了对所涉及的开销和可能的优化的宝贵洞察。

32.特里Q TriQ是 Scaffold 量子编程语言的后端编译器。TriQ 接受两个输入:1) ScaffCC 生成的门序列和 2) 目标机器的量子位连接和校准数据。它通过选择程序量子位在硬件量子位上的良好初始位置、减少通信和应用门优化技术来编译程序门序列。

TriQ 为超导和离子阱量子计算机生成优化的量子汇编代码。我们支持 IBM 的 14 和 5 量子位超导设备(IBMQ14、IBMQ5)、Rigetti 的 16 量子位超导系统(Aspen1、Aspen3)和马里兰大学的 5 量子位捕获离子系统。

  1. 来自 D-Wave 的 Qbsolv Qbsolv由量子传统公司 D-Wave 开发,是一种分解求解器,它允许用户通过将大型二次无约束二元优化 (QUBO) 问题拆分为通过 D-Wave 系统或经典禁忌解决的部分来找到最小值求解器。

此存储库在 GitHub 上可用,已于 2021 年底弃用,2022 年 3 月后停止支持。

  1. 量子计算游乐场

Quantum Computing Playground 是 Google 于 2014 年开发的基于浏览器的 WebGL Chrome Experiment。它具有 GPU 加速的量子计算机,具有简单的 IDE 接口,以及具有调试和 3D 量子态可视化功能的自己的脚本语言。Quantum Computing Playground 可以有效地模拟高达 22 个量子位的量子寄存器,运行 Grover 和 Shor 的算法,并在脚本语言本身中内置了各种量子门。

  1. 微软LIQUi|>

微软的LIQUi|>由 QuArC 设计,用于帮助开发和理解量子协议、量子算法、量子纠错和量子设备。

支持哈密顿量、量子电路、量子稳定器电路、量子噪声模型的模拟,支持客户端、服务和云端操作,用户可以用高级函数语言(F#)表达电路,支持提取电路数据结构可以传递给其他组件进行电路优化、量子纠错、门替换、导出或渲染。该系统的架构是完全模块化的,可以根据需要轻松扩展。

LIQUi|> 在具有 32 GB RAM 的单台机器上包含多达 30 个量子位的最先进的电路仿真,仅受内存和计算线程的限制。迄今为止,在模拟器上分解的最大数字是 13 位数,它需要 27 个量子位、50 万个门和 5 天的运行时间。该电路基于用于 Shor 算法的 Beauregard 电路。

LIQUi|> 可用于将以高级程序形式编写的量子算法转换为用于量子设备的低级机器指令。该工具包包括编译器、优化器、翻译器、各种模拟器和大量示例。

其他量子计算开发工具 Microsoft Quantum Development Kit IBM Quantum Experience Rigetti Forest Quantum in the Cloud Penny Lane and Strawberry Field from Xanadu Raytheon BBN Open Source Software PySimulator PyQLab

PenghaoJiang-anu commented 2 years ago

标题:道拉亚基 | 2022 年排名前 35 的开源量子计算工具  截止日期:   2022 年 6 月 2 日 委员会决定:2022 年 6 月 2 日-2022 年 6 月 5 日   描述:英文到中文; 5/31/2022-6/2/2022是创作者的翻译时间,即创作者需要在6/2之前提交;6/2/2022-6/5/2022是委员会审核和投票时间。   链接:https ://thequantuminsider.com/2022/05/27/quantum-computing-tools/ 赏金:75u

创作者:little-white12

要正确地完成工作,您需要合适的工具来完成工作——这是您可以想到的领域专业。在量子计算 (QC) 行业也不例外。为了让这个新兴领域成长为一个社区,首先必须发展的一个方面是开源量子计算工具领域,例如允许用户设计例如量子算法等。

考虑到这一点,Quantum Insider Data Platform编制并策划了一份包含 35 种最佳工具的列表,这些工具将使那些感兴趣的人有机会做一些伟大的事情。无论是今天还是明天。享受!

35 个量子计算工具 1.项目Q ProjectQ始于 ETH Zurich,是一个用 Python 实现的用于量子计算的开源软件框架。它允许用户使用强大而直观的语法在 Python 中实现他们的量子程序。然后,ProjectQ 可以将这些程序转换为任何类型的后端,无论是在经典计算机上运行的模拟器,还是包括 IBM Quantum Experience 平台在内的实际量子芯片。未来将支持其他硬件平台。可以在 ProjectQ 工具中找到所有代码和文档的链接,以及用于分析费米子量子模拟问题的名为 FermiLib 的库。

  1. 马戏团

Cirq可作为 GitHub 存储库使用,它是一个用于创建、编辑和调用嘈杂中间尺度量子 (NISQ) 电路的 python 框架。由谷歌 AI 量子团队推动,虽然不是谷歌官方产品,但目前处于 alpha 发布状态。Cirq 量子计算工具也可以与 OpenFermion-Cirq 一起使用,这是一个用于为化学问题开发量子算法的平台。目前,其他几家软件公司也在使用 Cirq 工具作为早期采用者。

  1. Q-CTRL Python 打开控件 Q-CTRL Python Open Controls是另一个由澳大利亚量子初创公司 Q-CTRL 开发的开源量子计算工具包,它可以轻松地从公开文献中创建和部署已建立的抗错误量子控制协议。该软件包的目标是成为社区开发的已发布和测试的最全面的量子控制技术库,具有易于使用的导出功能,允许用户将这些控制部署在自定义量子硬件、公开可用的云量子计算机和Q-CTRL 产品套件。

4.量化

Quantify是由荷兰量子计算初创公司 Qblox 和 Orange Quantum Systems 发起的开源 BSD 4 许可平台。该软件的所有功能都在 Read-the-Docs 中有详细记录,提供了用于快速设置和开始测量的基本教程,而高级测序教程也用于更复杂的实验。

Quantify-Core 是一个用于执行物理实验的数据采集平台,而 Quantify-Scheduler 是一个开源混合调度器,它结合了量子位的脉冲级和门级控制。

Quantify 工具与可在 SCPI、python 或 QCoDeS 级别进行接口的 API 一起提供。所有级别都是开源的、有据可查的并在 CI 管道中进行了测试。

5.英特尔量子模拟器 接下来,我们将提供来自科技巨头英特尔的产品,以及英特尔® Quantum Simulator,以前以更酷的名称 qHiPSTER 而闻名,这是一种开源单节点或分布式高性能量子模拟器实现,可以模拟一般的单量子比特门和双量子位控制门。

可作为 GitHub 存储库使用的英特尔量子模拟软件已用于模拟超过 40 个量子位的算法,面向希望在模拟中测试其量子软件的算法开发人员。

6.知觉

Perceval 由法国初创公司 Quandela 提供支持,该公司专注于开发基于光操纵的新一代量子计算机,Perceval是一个用于编程光子量子计算机的开源框架。

通过一个简单的面向对象的 Python API,Perceval 提供了用于从线性光学元件组成电路、定义单光子源、操纵 Fock 状态、运行量子模拟、复制已发表的实验论文和试验新一代量子算法的工具。它旨在成为开发量子光子电路的配套工具——用于模拟和优化其设计,对理想和现实行为进行建模,并提出标准化接口以通过后端概念控制它们。

Perceval 可以访问强大的后端以在数字和符号上模拟光子电路上的量子算法,并针对在本地桌面上运行进行了优化,并为 HPC 集群提供了几个扩展。它还允许用户通过大量预定义组件来设计算法和复杂的线性光学电路。已知算法的集合可用并作为教程提供。您还可以运行实验来微调算法,与实验数据进行比较,并在几行代码中复制已发表的文章。

  1. Mitaq 工具

Mitiq是由非营利组织 Unitary Fund 提供的,它帮助创建一个让大多数人受益的量子技术生态系统,它是一个 Python 工具包,用于在量子计算机上实施错误缓解技术。

Mitiq 兼容为 IBM Q 的 Qiskit、Google 的 Cirq、Rigetti 的 PyQuil 编写的量子程序,以及由于转换为 OpenQASM 而成为可能的其他量子电路形式。

  1. 伯克利量子合成工具包

Berkeley Quantum Synthesis Toolkit是一个超级优化的量子编译器和研究工具,它将 LBNL 的多个项目的想法结合到一个易于访问且可快速扩展的软件套件中。

该套件包括 QSearch,可实现多达四个量子位的最佳深度合成;LEAP 可实现高达 6 个量子位的最佳解决方案合成质量;QFAST,将良好的解决方案质量合成扩展到 8 个量子位;QGO 是一种结合了分区和综合的优化编译器,以及 QFactor,这是使用张量网络的最快的量子电路优化器。

Berkeley Quantum Synthesis Toolkit 的所有软件都是免费和开源的。他们有几个免费的量子开发工具可用于合成和优化,并不断改进软件。

  1. QCircuits QCircuits作为 GitHub 存储库提供,是一个 Python 量子软件,用于基于量子电路模型模拟和研究量子计算机。它被设计成具有简单、轻量级的界面并且易于使用,特别是对于那些刚接触量子计算的人。

它的主要类别是状态,代表计算机的(量子)状态,复向量空间中的单位向量,和操作符,代表量子门,即那些向量空间上的酉算子。QCircuits 允许用户准备算子和状态、将算子应用于状态、测量状态等,以实现量子算法。

10.姚

Yao被制定为“为人类设计的可扩展、高效的量子算法设计”,它是一个 Julia 语言包和构建和操作量子电路的中间表示,并允许您在原生 Julia 中对量子电路进行自己的抽象。

Yao 支持正向模式(忠实梯度)和反向模式自动微分,其内置引擎专门针对量子电路进行了优化,并且被设计为可扩展的。它的分层架构允许您扩展框架以支持和共享您的新算法和硬件。

Yao 是在 Apache License 2.0 下提供的,是一个免费的量子开发工具,供大家使用。

  1. 丝绸

Silq 是一种用于量子计算的新型高级编程语言,具有强大的静态类型系统,由苏黎世联邦理工学院开发,最初发表于 PLDI'20。由于当前的量子语言迫使程序员在低抽象级别上工作,导致代码不直观和混乱,Silq 是第一个通过支持安全、自动取消计算来解决这一挑战的量子语言,支持隐式删除临时值的直观语义,就像在经典计算中一样。为了确保 Silq 语义的物理性,它的类型系统利用新颖的注释来拒绝非物理程序。

要求以量子计算的基本背景为起点,用户应该熟悉量子编程中的所有概念。

12.桨量子

我们列表中的下一个是Paddle Quantum,这是一种基于百度 PaddlePaddle 开发的量子机器学习工具 (QML)。它提供了一个构建和训练量子神经网络(QNNs)的平台,带有易于使用的量子机器学习开发套件,支持组合优化、量子化学和其他前沿量子应用,使PaddlePaddle成为中国第一个支持的深度学习框架量子机器学习。

拥有许多易于使用的在线学习资源(近 40 个教程)、使用各种 QNN 模板高效构建 QNN、自动微分、具有多种优化工具和 GPU 模式的多功能性、25+ qubits 的模拟和灵活的噪声模型。

Paddle Quantum 旨在在人工智能 (AI) 和量子计算 (QC) 之间架起一座桥梁。它已被用于开发多种量子机器学习应用程序。借助赋能QC的PaddlePaddle深度学习平台,Paddle Quantum为科研界和该领域的开发者轻松开发QML应用提供了强有力的支持。此外,它为量子计算爱好者提供了一个学习平台。

  1. 龙舌兰酒 不幸的是,它不是墨西哥酒精饮料,而是一个很酷的名字,尽管如此,Tequila是可扩展的量子信息和学习架构,其主要目标是简化和加速量子算法新思想的实施。

目前支持 Qulacs、Qiskit、Cirq 和 PyQuil,它在抽象数据结构上运行,允许制定、组合、自动区分和优化广义目标。Tequila 可以在最先进的模拟器以及真实的量子设备上执行潜在的量子期望值。

  1. Qulacs Qulacs是京都大学开发的用于量子计算研究的变分量子电路模拟器,由日本初创公司 QunaSys 维护,用于快速模拟大型、嘈杂或参数量子电路。

Qulacs 具有带并行 C/C++ 后端的快速量子电路模拟、用于模拟 NISQ 设备的噪声量子门、用于变分方法的参数量子门、用于快速模拟的电路压缩、用于快速模拟的 GPU 支持以及许多用于研究的实用函数Python/C++ 库,用于在 MIT 许可下快速模拟大型、嘈杂或参数量子电路。

  1. 斯塔克 staq是一个现代 C++17 库,用于量子电路的综合、转换、优化和编译。它既可以通过提供的二进制工具使用,也可以作为仅包含头文件的库来使用,以提供对以 OpenQASM 电路描述语言编写的解析和操作电路的直接支持。

受 Clang 的启发,staq 旨在直接操作 OpenQASM 语法树,而不是通过中间表示来检索原始源代码。特别是,可以检查和转换 OpenQASM 电路(在大多数情况下),而不会丢失原始源结构。这使得 staq 非常适合只需要特定更改的源到源转换。同样,这允许翻译成其他常见的电路描述语言和库,以紧跟 OpenQASM 源。

  1. 贝叶斯福格

Bayesforge是一个 Linux 机器映像,它为需要高级分析工具的数据科学家以及寻求使用主要 QC 框架之一的量子计算和计算数学从业者策划了最好的开源软件。

该图像结合了常见的机器学习框架,例如 PyTorch 和 Tensor Flow,与来自 D-Wave、Rigetti 的开源软件以及 IBM Quantum Experience 和谷歌的新量子计算语言 Cirq,以及其他高级 QC 框架。例如,它的 Quantum Fog 建模框架和它的量子编译器 Qubiter 可以交叉编译到所有主要架构。

所有软件都可以通过 Jupyter WebUI 访问,由于其模块化架构,允许用户使用 Python、R 和 Octave 进行编码(甚至支持 Bash 脚本)。

该图像带有完整的 Anaconda Python 3.6 安装以及最新的 R 发行版,并通过 PyMC 和 Marco Scutari 的 R 优秀 bnlearn 包等模块进行了增强。

可以通过 Jupyter 报告(在顶级 Utility 文件夹中)访问映像上安装的所有 R 和 Python 模块的完整列表。

Bayesforge 团队目前正在准备一个支持 GPU CUDA 加速的单独图像。

  1. 布鲁卡特

Bluqat是一个量子计算机库,可作为 GitHub 存储库使用。Blueqat 是一个基于 Python 的软件框架,专为刚起步的人以及该领域经验更丰富的专业人士而设计,包括易于使用的量子模拟算法,例如 VQE 和 QAOE。

  1. 量子编程工作室

Quantum Programming Studio是一个基于 Web的量子编程 IDE 和模拟器,由 Unitary Fund 和 Rigetti Computing 提供支持。

图形用户界面旨在允许用户通过直接在浏览器中模拟或在真实量子计算机上执行来构建量子算法并获得结果。

电路可以导出为多种量子编程语言/框架,并可以在各种模拟器和量子计算机上执行。

支持的平台包括 Rigetti Forest、IBM Qiskit、Google Cirq 和 TensorFlow Quantum、Microsoft Quantum Development Kit、Amazon Braket 等。

  1. 怪癖 Quirk是一款拖放式量子电路模拟器,非常适合操作和探索小型量子电路。Quirk 的视觉风格对正在发生的事情提供了相当直观的感觉,状态显示会在您更改电路时实时更新,并且总体体验是快速和互动的。

使用 Quirk 主要相当于从工具箱中拖动门,将这些门放入电路中,然后查看电路内部和右侧的状态显示。

Quirk 是免费的开源软件。源代码在许可的 Apache 许可下可用,允许任何人制作和分发他们自己的修改版本。例如,有人想简化 Quirk 以教高中生,所以他们从 Quirk 中分出了“Quirky”。

  1. 求问 QuEST或 Quantum Exact Simulation Toolkit 是量子电路、状态向量和密度矩阵的高性能模拟器。QuEST 使用多线程、GPU 加速和分发在笔记本电脑、台式机和联网的超级计算机上首先运行闪电。QuEST 是独立的,不需要安装,编译和运行都很简单。

QuEST 支持超过 140 种操作,从简单的命名门到强大的深奥操作符,其中许多具有定制算法以实现最大的模拟效率,QuEST 进一步支持一般用户指定的单一和退相干通道,具有任意数量的控制和目标量子位,以及用于Pauli 字符串、对角线运算符和 QASM。

QuEST 由 Simon Benjamin 的量子技术理论小组 (qtechtheory) 和牛津大学的电子研究中心 (oerc) 开发。开发目前由泰森琼斯领导。

  1. 西航

XACC是用于混合量子经典计算架构的可扩展编译框架。它提供了可扩展的语言前端和硬件后端编译组件,它们通过一种新颖的量子中间表示粘合在一起。XACC 目前支持量子经典编程,并能够在 IBM、Rigetti 和 D-Wave QPU 以及许多量子计算机模拟器上执行量子内核。

  1. 量子++ Quantum++是一个现代 C++ 通用量子计算库,仅由模板头文件组成。Quantum++ 是用标准 C++17 编写的,具有非常低的外部依赖性,仅使用 Eigen 3 线性代数仅标头模板库和 OpenMP 多处理库(如果可用)。

Quantum++ 不限于量子比特系统或特定的量子信息处理任务,能够模拟任意量子过程。考虑的主要设计因素是易用性、高便携性和高性能。该库的模拟能力仅受可用物理内存量的限制。在典型的机器(Intel i5 8Gb RAM)上,Quantum++ 可以相当快地成功模拟纯态 25 个量子位或混合态 12 个量子位的演化。

  1. 量子启发

Quantum Inspire由 QuTech 设计和制造,允许用户在 QuTech 的模拟器或硬件后端之一上的各种硬件芯片上编程、执行和检查量子算法,为用户提供构成量子计算可能性的体验。

借助 Quantum Inspire,用户可以在荷兰国家超级计算机 Cartesius 上运行多达 37 个量子比特的模拟。除此之外,Quantum Inspire 还实现了与 IBM 的 Qiskit 的集成——这允许用户在 IBM 的 Qiskit 模拟器以及 IBM 的量子硬件上运行 QI 开发的程序。

24.QuCAT

QuCAT代表量子电路分析工具。这个开源 python 库为超导电子电路提供标准量子分析工具,围绕约瑟夫森结构建。

QuCAT 目前由荷兰代尔夫特大学 Gary Steele 小组的 Mario Gely 开发和维护,具有直观的图形或编程界面来创建电路、计算其哈密顿量的能力以及一组互补功能,例如计算耗散率或可视化电路中的电流流动。QuCAT 目前支持基于正常模式的量化。

  1. QuTiP

QuTIP是用于模拟开放量子系统动力学的开源量子软件。QuTiP 库依赖于优秀的 Numpy、Scipy 和 Cython 数值包。此外,图形输出由 Matplotlib 提供。QuTiP 旨在为各种哈密顿量提供用户友好且高效的数值模拟,包括具有任意时间依赖性的哈密顿量,常见于量子光学、俘获离子、超导电路和量子纳米机械谐振器等广泛的物理应用中. QuTiP 量子计算工具是免费的,可在 Linux、Mac OSX 和 Windows* 等所有主要平台上使用和/或修改。QuTiP 免收任何许可费用,非常适合在课堂上探索量子力学和动力学。

  1. 开放费米子

OpenFermion是一个开源库,用于编译和分析量子算法以模拟费米子系统,包括量子化学。除其他功能外,该版本还具有用于获取和操作费米子和量子比特哈密顿量表示的数据结构和工具,以及包含在这些包上运行的多个插件的软件。此外,您可以在 ProjectQ 和 Rigetti Forest 框架上运行 OpenFermion。

27.TensorFlow量子

TensorFlow Quantum (TFQ)是一个量子机器学习库,用于对混合量子经典 ML 模型进行快速原型设计。量子算法和应用程序的研究可以利用谷歌的量子计算框架,所有这些都来自 TensorFlow。

TensorFlow Quantum 专注于量子数据和构建混合量子经典模型。该工具集成了在 Cirq 中设计的量子计算算法和逻辑,并提供与现有 TensorFlow API 兼容的量子计算原语,以及高性能量子电路模拟器。

28.奎珀 Quipper是一种用于量子计算的嵌入式、可扩展的函数式编程工具。它提供高级电路描述语言。这包括对电路片段的逐门描述,以及用于组装和操作电路的强大运算符,允许混合程序和声明式编程风格的语法,用于自动合成可逆量子电路的内置设施,包括从经典代码开始,支持分层电路、可扩展的量子数据类型、可编程电路转换器,以及对三个执行阶段的支持:编译时间、电路生成时间和电路执行时间。

它还拥有大量的量子函数库,包括量子整数和定点算术库;量子傅里叶变换;高效的 Qram 实施;用于模拟伪经典电路、稳定器电路和任意电路的库;以及用于将电路精确和近似分解为特定门集的库。

  1. QX 量子计算模拟器

QX Simulator是由 Nader Khammassi 在 QuTech 开发的通用量子计算机模拟软件。QX 允许量子算法设计人员在量子计算机上模拟其量子电路的执行。模拟器定义了一种低级量子汇编语言,即量子代码,它允许用户在一个简单的文本源代码文件中描述他们的电路。然后将源代码文件用作执行其内容的模拟器的输入。

量子代码语言允许用户定义具有给定量子比特数的量子寄存器,通过一系列量子门构建电路,通过二进制控制门模拟经典量子接口,将主电路分成几个较小的子电路,通过特殊指令调试电路,显示电路任意点的量子状态和测量结果,评论不同的电路部分,通过执行子电路多次迭代来循环子电路,并安排顺序或并行量子大门。

除了在完美的量子计算机上模拟无错误执行的量子电路外,QX Simulator 还可以使用不同的错误模型(例如去极化噪声)来模拟真实的噪声执行。用户可以激活错误模型并定义物理错误概率来模拟特定的目标量子计算机。这个错误率可以根据目标平台的门保真度和量子位退相干来定义。

  1. 量子算法动物园 Quantum Algorithm Zoo是由 NIST 的 Stephen Jordan 编制的量子算法综合目录。

  2. ScaffCC ScaffCC是 Scaffold 编程语言的编译器和调度器。它是使用 LLVM 开源基础架构编写的。它的目的是为量子计算应用程序编写和分析代码。

ScaffCC 使研究人员能够将用 Scaffold 编写的量子应用程序编译为低级量子组装格式 (QASM)、应用纠错并生成时间和面积指标。它被编写为可扩展到问题大小,其中量子算法优于经典算法,因此为未来设备技术的实际实现提供了对所涉及的开销和可能的优化的宝贵洞察。

32.特里Q TriQ是 Scaffold 量子编程语言的后端编译器。TriQ 接受两个输入:1) ScaffCC 生成的门序列和 2) 目标机器的量子位连接和校准数据。它通过选择程序量子位在硬件量子位上的良好初始位置、减少通信和应用门优化技术来编译程序门序列。

TriQ 为超导和离子阱量子计算机生成优化的量子汇编代码。我们支持 IBM 的 14 和 5 量子位超导设备(IBMQ14、IBMQ5)、Rigetti 的 16 量子位超导系统(Aspen1、Aspen3)和马里兰大学的 5 量子位捕获离子系统。

  1. 来自 D-Wave 的 Qbsolv Qbsolv由量子传统公司 D-Wave 开发,是一种分解求解器,它允许用户通过将大型二次无约束二元优化 (QUBO) 问题拆分为通过 D-Wave 系统或经典禁忌解决的部分来找到最小值求解器。

此存储库在 GitHub 上可用,已于 2021 年底弃用,2022 年 3 月后停止支持。

  1. 量子计算游乐场

Quantum Computing Playground 是 Google 于 2014 年开发的基于浏览器的 WebGL Chrome Experiment。它具有 GPU 加速的量子计算机,具有简单的 IDE 接口,以及具有调试和 3D 量子态可视化功能的自己的脚本语言。Quantum Computing Playground 可以有效地模拟高达 22 个量子位的量子寄存器,运行 Grover 和 Shor 的算法,并在脚本语言本身中内置了各种量子门。

  1. 微软LIQUi|>

微软的LIQUi|>由 QuArC 设计,用于帮助开发和理解量子协议、量子算法、量子纠错和量子设备。

支持哈密顿量、量子电路、量子稳定器电路、量子噪声模型的模拟,支持客户端、服务和云端操作,用户可以用高级函数语言(F#)表达电路,支持提取电路数据结构可以传递给其他组件进行电路优化、量子纠错、门替换、导出或渲染。该系统的架构是完全模块化的,可以根据需要轻松扩展。

LIQUi|> 在具有 32 GB RAM 的单台机器上包含多达 30 个量子位的最先进的电路仿真,仅受内存和计算线程的限制。迄今为止,在模拟器上分解的最大数字是 13 位数,它需要 27 个量子位、50 万个门和 5 天的运行时间。该电路基于用于 Shor 算法的 Beauregard 电路。

LIQUi|> 可用于将以高级程序形式编写的量子算法转换为用于量子设备的低级机器指令。该工具包包括编译器、优化器、翻译器、各种模拟器和大量示例。

其他量子计算开发工具 Microsoft Quantum Development Kit IBM Quantum Experience Rigetti Forest Quantum in the Cloud Penny Lane and Strawberry Field from Xanadu Raytheon BBN Open Source Software PySimulator PyQLab