DAOrayaki DAO研究奖金池:
资助地址: DAOrayaki.eth
投票进展:DAO Reviewer 1/0 通 过
赏金总量:75 USD
研究种类:Quantum Computing, Open Source, Tools
原文作者:James Dargan
创作者:hahaho@DAOrayaki.org
审核者:Tan Zhi Xuan@DAOrayaki.org
原文:Top 35 Open Source Quantum Computing Tools [2022]


工欲善其事,必先利其器,这在量子计算(QC)行业也不例外。为了使这个新兴行业作为一个社区成长,必须发展的一个方面是开源的,允许用户参与设计的量子计算工具,例如量子算法。
考虑到这一点, The Quantum Insider Data Platform汇编策划了一份工具清单,这些工具将为那些感兴趣的人提供机会去做一些伟大的事情。
35个量子计算工具
1.ProjectQ
ProjectQ是由苏黎世联邦理工学院研发,基于Python实现的量子计算的开源软件框架。它允许用户使用直观且有效的语法在Python中运行一个量子程序。然后,ProjectQ可以将这些程序翻译成任何类型的后端,无论是在传统计算机上运行的模拟器还是包括IBM量子体验平台在内的量子芯片,并在未来将支持其他硬件平台。在ProjectQ工具中可以找到所有代码和文档的链接,以及一个叫做FermiLib的库来分析费米子量子模拟问题。
2. Cirq

Cirq是一个GitHub库,用于创建、编辑和调用噪声中级量子(NISQ)电路的python框架。由谷歌AI量子团队推广,但它不是谷歌的官方产品,且目前处于alpha发布状态。Cirq量子计算工具还可以与OpenFermion-Cirq一起使用,这是一个开发化学领域量子算法的平台。目前,其他几家软件公司也作为早期采用者与Cirq合作。
3. Q-CTRL Python Open Controls
Q-CTRL Python Open Controls是另一个由澳大利亚量子初创公司Q-CTRL开发的开源量子计算工具包,它可以帮助人们从公开文献中创建和部署既定且容错的量子控制协议。该软件包希望由社区主导开发,成为全面的量子控制技术库,且具有易于使用的导出功能,允许用户在自定义量子硬件、公开可用的云量子计算机和Q-CTRL产品套件上部署这些控制。

4.Quantify
Quantify是一个开源的BSD4许可平台,由荷兰的量子计算初创公司Qblox和Orange Quantum Systems发起。该软件的所有功能在 "阅读文档 "中都有很好的记录,为快速设置和开始测量提供了基本教程,而高级测序教程也为更复杂的实验提供了途径。
Quantify-Core是一个用于执行物理学实验的数据采集平台,Quantify-Scheduler是一个开源的混合调度器,结合了脉冲级和门级的量子比特控制。
Quantify工具与API一起提供,可以在SCPI、python或QCoDeS层面上进行接口。所有的级别都是开源的,有很好的文件记录,并在CI管道中进行测试。
5.Intel® Quantum Simulator
接下来是来自科技巨头英特尔的产品, Intel® Quantum Simulator是一个开源的单节点或分布式量子模拟器的高性能实现,可以模拟一般的单量子门和双量子门的控制。
Intel® Quantum Simulator以GitHub库的形式提供,该软件已被用于模拟40多个量子比特的算法,主要针对于希望在模拟中测试量子软件的算法开发者。
6.Perceval

Perceval是一个用于编程光子量子计算机的开源框架。由Quandela公司提供,该公司是一家法国初创公司,专注于开发基于光操纵的新一代量子计算机。
通过一个简单的面向对象的Python API,Perceval提供了从线性光学元件组成电路的工具,定义单光子源,操纵Fock状态,运行量子模拟,重现已发表的实验论文,并实验新一代的量子算法。它的目标是成为开发量子光子电路的配套工具--用于模拟和优化其设计,对理想和现实行为进行建模,并提出一个规范化的接口,通过后台的概念来控制它们。
Perceval提供了强大的后端来模拟光子电路上的量子算法,以数值和符号的方式,Perceval被优化为在本地桌面上运行,并为HPC集群做了一些扩展。它还允许用户通过大量预定义的组件集合来设计算法和复杂的线性光学电路。一组已知的算法可用,并以教程的形式呈现。你还可以通过实验来微调算法,与实验数据进行比较,并在几行代码中复现已发表的文章。
7. Mitaq

Mitiq是一个用于在量子计算机上实现错误缓解技术的Python工具箱。由Unitary Fund支持,该基金是一个非营利组织,帮助创建一个惠及大多数人的量子技术生态系统。
Mitiq与为IBM Q的Qiskit、Google的Cirq、Rigetti的PyQuil以及其他因转换为OpenQASM而实现的量子电路形式主义编写的量子程序兼容。
8. Berkeley Quantum Synthesis Tool

Berkeley Quantum Synthesis Toolkit是一款优化了的量子编译器和研究工具,它结合了LBNL的几个项目的想法,成为一个易于使用和快速扩展的软件套件。
该套件包括QSearch,用于最佳深度合成,最高可达4个量子比特;LEAP,用于最佳解决方案质量的合成,最高可达6个量子比特;QFAST,将良好的解决方案质量的合成扩展到8个量子比特;QGO是一个结合分区和合成的优化编译器,以及QFactor,使用张量网络的最快量子电路优化器。
伯克利量子合成工具箱的所有软件都是免费和开源的。他们有几个免费的量子开发工具可用于合成和优化,并在不断改进软件。
9. QCircuits
QCircuits是一个以GitHub库的形式提供的Python量子软件,用于模拟和研究基于量子电路模型的量子计算机。它被设计为有一个简单的、轻量级的界面,易于使用,特别是对于刚接触量子计算的人。
它的主要类别是状态,代表计算机的(量子)状态,即复数向量空间中的单位向量;以及算子,代表量子门,即这些向量空间上的单位算子。QCircuits允许用户准备算子和状态,将算子应用于状态,测量状态等,以实现量子算法。
10.Yao

Yao是一个 "可扩展的、高效的人类量子算法",它基于Julia语言包,是构建和操作量子电路的中间表征,让你在本地Julia中对量子电路做出自己的抽象。
Yao支持正向模式(忠实梯度)和反向模式的自动微分,其内置引擎专门为量子电路优化,并被设计为可扩展的。它的分层结构允许你扩展框架以支持和分享你的新算法和硬件。
Yao是在Apache许可证2.0下提供的,是一个供所有人使用的免费量子开发工具。
11. Silq

Silq是一种用于量子计算的新的高级编程语言,具有强大的静态类型系统,由苏黎世联邦理工学院开发,最初发表于PLDI'20。设计的原因是目前的量子语言迫使程序员在低水平的抽象中工作,导致不直观和杂乱的代码,Silq是第一个解决这一挑战的量子语言,支持安全的自动解算,实现直观的语义,隐含地放弃临时值,如经典计算。为了确保Silq语义的物理性,它的类型系统利用了新的注释来拒绝非物理性程序。
由于要求拥有量子计算的基本背景为起点,用户应该熟悉量子编程的所有概念。
12.Paddle Quantum

下一个是Paddle Quantum,是基于百度Paddle开发的量子机器学习工具(QML)。它提供了一个构建和训练量子神经网络(QNN)的平台,具有易于使用的量子机器学习开发工具包,支持组合优化、量子化学和其他尖端的量子应用,使Paddle成为中国第一个支持量子机器学习的深度学习框架。
具有许多易于使用的在线学习资源(近40个教程),利用各种QNN模板构建QNN的高效率,自动分化,具有多种优化工具和GPU模式的多功能性,具有25+量子比特的模拟和灵活的噪声模型。
Paddle Quantum旨在建立一座人工智能(AI)和量子计算(QC)之间的桥梁。它已被用于开发一些量子机器学习应用。通过Paddle深度学习平台为QC赋能,Paddle Quantum为科研界和该领域的开发者提供了强有力的支持,使其能够轻松开发QML应用。此外,它还为量子计算爱好者提供了一个学习平台。
13. Tequila
这指的并不是墨西哥的酒精饮料,但同样是一个很酷的名字。Tequila是可扩展的量子信息和学习架构,其主要目标是简化和加速实现量子算法的新想法。
目前支持Qulacs、Qiskit、Cirq和PyQuil,它在抽象数据结构上运行,允许广义目标的制定、组合、自动区分和优化。Tequila可以在最先进的模拟器以及真实的量子设备上执行基本的量子期望值。
14. Qulacs
Qulacs是京都大学开发的用于量子计算研究的变异量子电路模拟器,由日本创业公司QunaSys维护,用于快速模拟大型、噪声或参数化的量子电路。
Qulacs是一个Python/C++库,采用并行化的C/C++后台进行快速量子电路模拟,用于模拟NISQ器件的噪声量子门,用于变量方法的参数化量子门,用于快速模拟的电路压缩,用于快速模拟的GPU支持,以及用于研究的许多实用功能,是一个在MIT许可下用于快速模拟大型、噪声或参数化量子电路的Python/C++库。
15. Staq
staq是一个现代C++17库,用于量子电路的合成、转换、优化和编译。它既可以通过所提供的二进制工具使用,也可以作为一个只包含头文件的库,为解析和操作用OpenQASM电路描述语言编写的电路提供直接支持。
受到Clang的启发,staq被设计为直接操作OpenQASM语法树,而不是通过中间表示法,这使得检索原始源代码成为可能。特别是,OpenQASM电路可以被检查和转换(在大多数情况下)而不丢失原始的源结构。这使得staq非常适用于源到源的转换,在这种情况下,只需要特定的变化。同样,这也允许翻译成其他常见的电路描述语言和库,以密切关注OpenQASM源。
16. Bayesforge

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包等模块增强。
所有安装在图像上的R和Python模块的完整列表可以通过Jupyter报告(在顶层的Utility文件夹中)访问。
Bayesforge团队目前正在准备一个单独的图像,它将支持GPU CUDA加速。
17. Blueqat

Bluqat是一个量子计算机库,以GitHub库的形式提供。作为一个基于Python的软件框架,Blueqat是为那些刚刚起步的人,以及在这个领域更有经验的专业人士设计的,包括易于使用的量子模拟算法,如VQE和QAOE。
18. Quantum Programming Studio

Quantum Programming Studio是一个基于网络的量子编程IDE和模拟器,由统一基金和Rigetti计算公司支持。
图形用户界面的设计允许用户构建量子算法,并通过直接在浏览器中模拟或在真正的量子计算机上执行来获得结果。
电路可以输出到多种量子编程语言/框架,并可以在各种模拟器和量子计算机上执行。
支持的平台包括Rigetti Forest、IBM Qiskit、Google Cirq和TensorFlow Quantum、Microsoft Quantum Development Kit、Amazon Braket等。
19. Quirk
Quirk是一个拖放式的量子电路模拟器,非常适合操作和探索小型量子电路。Quirk的视觉风格给人以相当直观的感觉,当你改变电路时,状态显示实时更新,总体体验是快速和互动的。
使用Quirk主要相当于从工具箱中拖动门,把这些门放到电路中,然后看一下电路内部和右侧的状态显示。
Quirk是自由和开源的软件。源代码在Apache许可下可用,允许任何人制作和发布他们自己的修改版本。例如,有人想简化Quirk,以便教高中学生,所以他们从Quirk中分叉出 "Quirky"。
20. Quantum Exact Simulation Toolkit
Quantum Exact Simulation Toolkit是一个高性能的量子电路、状态向量和密度矩阵的模拟器。QuEST使用多线程、GPU加速和分布,首先在笔记本电脑、台式机和联网的超级计算机上闪电运行。QuEST是独立的,不需要安装,编译和运行都很简单。
QuEST支持超过140种操作,从简单的命名门到强大的深度运算,其中许多有定制的算法,以获得最大的模拟效率,QuEST进一步支持一般用户指定的单元和退相干通道,有任何数量的控制和目标量子比特,以及保利串、对角运算和QASM的数据结构。
QuEST是由西蒙-本杰明的量子技术理论组(qtechtheory)和牛津大学的电子研究中心(oerc)开发。开发工作目前由泰森-琼斯领导。
21. XACC

XACC是一个用于混合量子-经典计算架构的可扩展的编译框架。它提供了可扩展的语言前端和硬件后端编译组件,通过一个新的量子中间表示法粘在一起。XACC目前支持量子经典编程,并能在IBM、Rigetti和D-Wave QPU上执行量子内核,以及一些量子计算机模拟器。
22. Quantum++
Quantum++是一个现代的C++通用量子计算库,仅由模板头文件组成。Quantum++是用标准的C++17编写的,对外部的依赖性很低,只使用Eigen 3线性代数的头文件模板库,如果有的话,还使用OpenMP多处理库。
Quantum++不限于量子比特系统或特定的量子信息处理任务,能够模拟任意的量子过程。考虑到的主要设计因素是易用性、高可移植性和高性能。该库的模拟能力只受到可用物理内存数量的限制。在一台典型的机器上(英特尔i5 8Gb内存),Quantum++可以成功地模拟25个量子位的纯状态或12个量子位的混合状态的演变,速度相当快。
23. Quantum Inspire

由QuTech公司设计和建造。Quantum Inspire允许用户在QuTech的一个模拟器或硬件后端上对各种硬件芯片进行编程、执行和检查量子算法,让用户体验到构成量子计算的可能性。
通过Quantum Inspire,用户可以在荷兰国家超级计算机Cartesius上运行多达37个量子比特的模拟。除此之外,Quantum Inspire还实现了与IBM的Qiskit的整合--这使得用户可以在IBM的Qiskit模拟器上运行QI开发的程序以及IBM的量子硬件。
24.QuCAT

QuCAT是指量子电路分析工具。这个开源的python库为围绕约瑟夫森结建立的超导电子电路提供标准的量子分析工具。
目前,QuCAT由荷兰代尔夫特大学Gary Steele小组的Mario Gely开发和维护,其特点是以直观的图形或编程界面来创建电路,能够计算它们的哈密顿量,并有一套补充功能,如计算耗散率或可视化电路中的电流流动。QuCAT目前支持基于正常模式的量化。
25. QuTiP

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

OpenFermion是一个开源的库,用于编译和分析量子算法,以模拟费米子系统,包括量子化学。在其他功能中,这个版本的特点是数据结构和工具,用于获得和操作费米子和量子比特哈密尔顿的表示,软件包括几个插件,可以在这些包上运行。此外,你可以在ProjectQ和Rigetti Forest框架上运行OpenFermion。
27.TensorFlow Quantum

TensorFlow Quantum (TFQ)是一个量子机器学习库,用于快速建立混合量子-经典ML模型的原型。量子算法和应用的研究可以利用谷歌的量子计算框架,所有这些都在TensorFlow中进行。
TensorFlow Quantum专注于量子数据和构建混合量子-经典模型。该工具整合了Cirq中设计的量子计算算法和逻辑,并提供与现有TensorFlow API兼容的量子计算原语,以及高性能的量子电路模拟器。
28.Quipper
Quipper是一个用于量子计算的嵌入式、可扩展的函数式编程工具。它提供高水平的电路描述语言。这包括对电路片段的逐门描述,以及用于组装和操作电路的强大运算符,允许程序性和声明性编程风格混合的语法,用于自动合成可逆量子电路的内置设施,包括从经典代码,支持分层电路,可扩展的量子数据类型,可编程的电路变换器,以及支持三个执行阶段:编译时间,电路生成时间和电路执行时间。
它还有大量的量子函数库,包括量子整数和定点算术库;量子傅里叶变换;高效的Qram实现;用于模拟伪经典电路、稳定器电路和任意电路的库;以及用于将电路精确和近似分解为特定门组的库。
29. QX Simulat

是由Nader Khammassi在QuTech公司开发的通用量子计算机模拟软件。QX Simulator是由Nader Khammassi在QuTech开发的通用量子计算机模拟软件。QX允许量子算法设计师模拟他们的量子电路在量子计算机上的执行。该模拟器定义了一种低级的量子汇编语言,即量子代码,允许用户在一个简单的文本源代码文件中描述他们的电路。然后,该源代码文件被用作模拟器的输入,模拟器执行其内容。
量子密码语言允许用户用给定的量子比特数定义一个量子寄存器,通过一连串的量子门建立电路,通过二进制控制的门模拟经典-量子接口,将主电路分割成几个较小的子电路,通过特殊指令调试电路,显示电路中任何一点的量子状态和测量结果,对不同的电路部分进行评论,通过执行子电路多次迭代,在一个子电路上循环,安排顺序或并行量子门。
除了在完美的量子计算机上模拟无错误的执行量子电路外,QX模拟器还可以使用不同的错误模型(如去极化噪声)来模拟现实的噪声执行。用户可以激活错误模型并定义一个物理错误概率来模拟特定的目标量子计算机。这个错误率可以根据门的保真度和目标平台的量子比特退相干性来定义。
30. Quantum Algorithm Zoo
Quantum Algorithm Zoo是由NIST的Stephen Jordan编制的量子算法的综合目录。
31. ScaffCC
ScaffCC是Scaffold编程语言的一个编译器和调度器。它是使用LLVM开源基础设施编写的。它的目的是为量子计算应用编写和分析代码。
ScaffCC使研究人员能够将用Scaffold编写的量子应用程序编译成低级别的量子汇编格式(QASM),应用错误校正,并产生时间和面积指标。它被写成可扩展到量子算法优于经典算法的问题规模,并因此对所涉及的开销和未来设备技术的现实实现的可能优化提供了宝贵的见解。
32.TriQ
TriQ是Scaffold量子编程语言的后端编译器。TriQ需要两个输入。1)由ScaffCC产生的门序列;2)目标机的量子比特连接和校准数据。它通过选择程序量子比特在硬件量子比特上的良好初始位置来编译程序门序列,减少通信,并应用门优化技术。
TriQ为超导和离子阱量子计算机生成优化的量子组装代码。我们支持IBM的14和5量子位超导设备(IBMQ14,IBMQ5),Rigetti的16量子位超导系统(Aspen1,Aspen3)和马里兰大学的5量子位陷落离子系统。
33. D-WAVE的Qbsolv
由D-Wave公司开发。Qbsolv是一个分解求解器,它允许用户通过将大型二次无约束二元优化(QUBO)问题分割成通过D-Wave系统或经典Tabu求解器求解的碎片,来找到问题的最小值。
在GitHub上可以看到,这个存储库从2021年底开始被废弃,2022年3月后停止支持。
34. Quantum Computing Playground

量子计算游乐场是谷歌在2014年开发的一个基于浏览器的WebGL Chrome实验。它具有一个GPU加速的量子计算机,有一个简单的IDE界面,以及自己的脚本语言,具有调试和3D量子状态可视化功能。量子计算游乐场可以有效地模拟多达22个量子比特的量子寄存器,运行Grover和Shor的算法,并在脚本语言本身中内置各种量子门。
35. LIQUi|>

微软的LIQUi|>由QuArC设计,用于帮助开发和理解量子协议、量子算法、量子纠错和量子设备。
支持哈密顿量、量子电路、量子稳定器电路、量子噪声模型的模拟,支持客户端、服务和云端操作,用户可以用高级函数语言(F#)表达电路,支持提取电路数据结构可以传递给其他组件进行电路优化、量子纠错、门替换、导出或渲染。该系统的架构是完全模块化的,可以根据需要轻松扩展。
LIQUi|>包括最先进的电路模拟,在一台拥有32GB内存的机器上模拟多达30个量子比特,只受内存和计算线程的限制。迄今为止,模拟器上最大的数字是一个13位的数字,它需要27个量子比特、50万个门和5天的运行时间。该电路是基于Beauregard的Shor算法的电路。
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
通过 DAO,研究组织和媒体可以打破地域的限制,以社区的方式资助和生产内容。DAOrayaki将会通过DAO的形式,构建一个代表社区意志并由社区控制的功能齐全的去中心化媒体。欢迎通过文末方式提交与DAO、量子计算、星际移民、DA相关的内容,瓜分10000USDC赏金池!欢迎加入DAOrayaki社区,了解去中心化自治组织(DAO),探讨最新话题!
Media:https://media.daorayaki.org
Discord server: https://discord.gg/wNUPmsGsa4
Medium: https://medium.com/@daorayaki
Email: daorayaki@dorafactory.org
Twitter: @daorayaki_
微信助手:DAOrayaki-Media
小宇宙:DAOrayaki

详情请参考:
Dora Factory支持去中心化DAO研究组织DAOrayaki
DAOrayaki |DAOrayaki 开启去中心化治理2.0时代
DAOrayaki |风险投资的范式转移:无限主义基金和无限游戏
DAOrayaki |DAOrayaki dGov 模型:基于Futarchy的正和游戏
更多关于DAO的文章,关注Dorafactory,查看往期文章。