
量子计算编程语言是设计用于在量子计算机上运行的程序,与经典计算程序非常不同。要理解量子计算语言并有效地使用它们,对量子力学原理和基础数学的充分了解是必不可少的。随着量子计算机致力于在工业中的实际用例并解决迄今为止人类难以解决的问题,量子计算编程语言将取代经典计算机所做的工作,量子计算编程语言将成为更有价值的工具。
目前,与具有经典编程语言技能的人相比,接受过量子编程语言培训的人数很少,但随着量子计算机的广泛使用,这一现实将发生变化。
本文的目的是清晰且简要地解释什么是量子编程语言,量子/经典编程与可用的量子编程语言类型之间的区别是什么。
什么是量子编程语言?
根据其定义,量子编程语言是一种专门为量子计算机编写程序而设计的编程语言。将量子编程语言与经典编程语言进行分类时,要考虑的更多因素是它们如何评估和限定量子算法及其执行,以及它们审查量子系统基础知识的能力,即纠缠、叠加和量子比特。
量子编程和经典编程有什么区别?
量子和经典编程语言之间的差异归结为作为任一系统基础的基本元素。经典系统是由人类“编程”的,人类利用 1 和 0 的线性二进制元素,然后对其进行处理以获得结果(信息)。然而,在量子系统中,粒子的优化物理特性作为矩阵输入到量子计算机中,因此量子信息的基本单位(量子比特 )可以确定结果。
如前所述,这些复杂的量子电路和算法的成功实现需要很高的物理和数学水平。只有经过培训了解二次无约束二元运算 (QUBO)或二次逼近优化算法 (QAOA)的复杂性的量子专家才能提供经验和知识来识别问题,然后处理它们,以最大限度地利用量子计算机。
量子编程语言的类型
量子编程语言的数量一直在增长。基于共享知识和资源的开源心态,量子编程语言被设计为使用高级构造来辅助量子算法。在这里将简要介绍一下量子指令集、量子软件开发套件和可用的量子计算编程语言的类型。
量子指令集
量子指令集用于将复杂的算法转换为可以在量子处理器上执行的物理指令,并根据硬件平台的量子架构(超导/硅基/俘获离子等)的量子位模态而变化。
这种类型的例子包括 cQASM、Quil、OpenQASM 和 Blackbird。
量子软件开发套件
量子软件开发工具包 (SDK) 提供了各种工具来设计和利用量子程序,同时还为用户提供了模拟量子程序或准备使用基于云的量子设备运行它们的能力。
当前可访问量子处理器和/或量子开发套件的 SDK 包括 Ocean、Qiskit、ProjectQ、Forest、t|ket>、Strawberry Fields、PennyLane 和 Cirq。
量子编程语言
量子编程语言可以分为两种语言类别:命令式和函数式。命令式编程是指软件使用改变程序状态的语句,而函数式编程是通过应用和组合函数来构造的。
目前可访问的命令式量子编程语言的示例包括QCL, Quantum pseudocode, Q#, Q|SI>, Q language, qGCL, QMASM, Scaffold, 最后是苏黎世联邦理工学院开发的Silq 。
功能变体包括 QFC、QPL、QML、LIQUi|>、Quantum lambda calculi、Quipper 和 funQ 等语言。
我们已经介绍了不同类型的量子编程语言,以及这些类别中单个量子编程语言的示例,现在我们将讨论2022年“最好的”量子计算编程语言。
最佳量子计算编程语言
PYTHON(实际的量子编程语言)

当需要一种实际的编程语言来帮助您尽可能快速、轻松地进入量子计算时,Python可能是答案。Python 最初由 Python 软件基金会在 30 多年前开发,它是一种很好的编程语言,因为它可以使用 QuTip 等许多软件包,这使得使用量子系统变得更加容易。使用它的最简单的情况可能是它易于学习,并且很多量子框架都是专门针对这种语言设计的。
现在让我们了解各个开源套件和开发工具包。
QISKIT(开源编程工具)

Qiskit 是 IBM 在 2017 年送给量子编程世界的礼物。Qiskit 是一个开源软件开发工具包,用于在电路、脉冲和算法级别与量子计算机一起工作,由 IBM Research 和更广泛的 Qiskit 社区开发,它提供了创建和操作量子程序的工具,并在 IBM Quantum Experience 上的原型量子设备或本地计算机上的模拟器上运行它们。
OCEAN™(量子计算编程套件)

Ocean™ 软件是一套开源 Python 工具,可通过 D-Wave GitHub 存储库和 Leap 量子云服务中的 Ocean Software Development Kit 访问。D-Wave 是量子计算行业的先驱,D-Wave设计 Ocean 的目的是让开发人员能够试验并利用 D-Wave 的 Advantage 量子计算机的强大功能来解决复杂的问题。
Q#(量子计算编程算法)

接下来是微软的 Q#——这个#的发音是“sharp”。Q#与量子开发工具包一起使用,于2017年首次出现,是一种用于表达量子算法的领域特定编程语言。这种量子编程语言的一个优点是它支持算法执行期间的一般经典流控制。特别是,经典流控制基于量子测量结果,这使得编写依赖于中间测量的东西变得更加容易。
CIRQ(谷歌人工智能编程语言)

Cirq 由 Google Quantum AI 团队开发,于 2018 年夏天在量子软件和量子机器学习国际研讨会上宣布(公开 alpha),是一个用于嘈杂的中等规模量子 (NISQ) 计算机的开源框架。该软件包带有用于波函数和密度矩阵的内置模拟器,可以使用蒙特卡罗或全密度矩阵模拟处理嘈杂的量子通道。Cirq 还可以与波函数模拟器 qsim 一起使用。
有很多工具箱和软件包同样出色,但在这里没有一一提及。
未来几年对量子编程有什么期望?
由于我们和我们的读者都不是Nostradamus,这个问题似乎无法回答。然而,在《福布斯》杂志于2021年12月发表的一篇非常有见解的文章《量子计算在未来两年的前景》中, Dr. Yehuda Naveh撰写了这篇文章,他是以色列特拉维夫量子创业公司Classiq的联合创始人兼首席技术官,该公司为量子电路的自动合成提供了量子算法设计软件平台。Naveh认为,“对量子人才和更好的软件平台的需求将会激增。”
从这个领域的专家的观点来看,我们可以期待,正如Naveh所说:“软件平台的崛起让那些知道如何编程但不是量子计算专家的人更容易接触到量子……与常见的机器学习平台一样,它们为用户屏蔽了内部的复杂性。这些量子设计平台可以提供帮助。”
毫无疑问,在未来的几年里,我们将见证更多量子计算优于传统机器的使用案例。因此,我们希望量子编程语言、量子软件开发工具包和编码平台能够通过教育课程和认可认证得到更多的理解和访问,从而使招聘软件专家和相关职业不再是一个困难的任务。
原文链接:https://thequantuminsider.com/2022/07/28/state-of-quantum-computing-programming-languages-in-2022/
---煤油灯科技victorlamp.com翻译整理---