量子计算 - 软件工具
以下是量子计算中使用的软件工具 −
ProjectQ
ProjectQ 是由苏黎世联邦理工学院发起的一款量子计算框架开源软件。它使用 Python 编写而成。ProjectQ 允许用户利用其简单的语法用 Python 语言编写量子问题。之后,它可以将这些程序实现到任何类型的后端,无论是 IBM Quantum Experience Platform 等真正的量子芯片,还是在任何经典计算机上运行的模拟器。FermiLib 是 ProjectQ 中用于分析费米子模拟问题的库。
Cirq
Cirq 是一个 Python 框架,用于创建、编辑和调用 NISQ,即嘈杂中尺度量子电路。它在 git 存储库中可用。OpenFemion-Cirq 是一个用于开发量子算法的平台。 Openfemion-Cirq 可与 criq 一起使用。
Q-CTRL Python Open Controls
Q-CTRL Python Open Controls 是由澳大利亚量子初创公司 Q-CTRL 开发的开源量子计算工具包。它简化了从现有文献中创建和部署已建立的抗错误量子控制协议的过程。该软件包的目标是成为社区开发的发布和测试过的量子控制技术最广泛的库,具有用户友好的导出功能。
Quantify
Quantify 是一个根据 BSD 4 许可的开源平台,由荷兰初创公司 Qblox 和 Orange Quantum Systems 创建。该平台的功能在 Read-the-Docs 中有详尽的文档记录,并提供了快速设置和启动测量的基本教程。此外,还提供高级测序教程,用于更复杂的实验。
英特尔量子模拟器
英特尔量子模拟器,以前称为更有趣的 qHiPSTER。这款开源高性能模拟器可用作单节点或分布式系统,能够模拟一般的单量子比特门和双量子比特控制门。
Mitaq 工具
Mitiq 由 Unitary Fund 开发——这是一个致力于培育造福最多人的量子技术生态系统的非营利组织——是一个用于在量子计算机上实现错误缓解技术的 Python 工具包。
通过转换为 OpenQASM,Mitiq 可与为 IBM Q 的 Qiskit、Google 的 Cirq、Rigetti 的 PyQuil 和其他量子电路形式编写的量子程序兼容。8.伯克利量子合成工具包。
Yao
Yao 被设计为"可扩展、高效的人类量子算法设计",是一个 Julia 语言包,作为构建和操纵量子电路的中间表示。它允许用户使用原生 Julia 在量子电路上创建自己的抽象。
Silq
Silq 是一种用于量子计算的新型高级编程语言,具有强大的静态类型系统,由苏黎世联邦理工学院开发,最初在 PLDI'20 上发布。它的创建是为了解决当前量子语言要求程序员在低抽象级别上工作的问题,从而导致代码不直观且混乱。Silq 是第一个旨在通过支持安全、自动计算来克服这一挑战的量子语言,它允许直观的语义,隐式地删除临时值,类似于经典计算。为了确保 Silq 语义的物理性,其类型系统使用新颖的注释来拒绝非物理程序。
Qulacs
Qulacs 是一款专为量子计算研究而设计的变分量子电路模拟器,由京都大学开发,并由日本初创公司 QunaSys 维护。它针对大型、嘈杂或参数化量子电路的快速模拟进行了优化。
伯克利量子合成工具包
伯克利量子合成工具包是一个高度优化的量子编译器和研究平台,它将来自各种 LBNL 项目的概念集成到一个用户友好且易于扩展的量子计算软件套件中。
该套件具有 QSearch,用于最多四个量子位的最佳深度合成;LEAP,用于最多六个量子位的高质量解决方案合成;QFAST,用于扩展最多八个量子位的良好解决方案质量合成;QGO,一种结合了分区和合成的优化编译器;以及使用张量网络的最快量子电路优化器 QFactor。
伯克利量子合成工具包中的所有软件都是免费和开源的。该工具包提供了几种用于合成和优化的免费量子开发工具,并且正在不断增强。
QCircuits
QCircuits 可作为 GitHub 存储库使用,它是一种 Python 软件工具,用于基于量子电路模型模拟和研究量子计算机。它采用简单、轻量级的界面设计,易于使用,尤其适合量子计算新手。
QCircuits 中的主要类是 State,它将计算机的(量子)状态表示为复杂向量空间中的单位向量,以及 Operator,它将量子门表示为这些向量空间上的酉算子。
QuEST
QuEST,即量子精确模拟工具包,是一种用于量子电路、状态向量和密度矩阵的高性能模拟器。它利用多线程、GPU 加速和分布在笔记本电脑、台式机和联网超级计算机上提供快速性能。QuEST 作为独立工具运行,无需安装,并且易于编译和运行。
QuEST 支持超过 140 种操作,从基本的命名门到具有专门算法的高级运算符以实现最佳模拟效率,还适应一般用户指定的酉和退相干通道。它可以处理任意数量的控制和目标量子位,并为泡利弦、对角线算子和 QASM 提供数据结构。