量子核算机根据与经典核算机彻底不同的典范进行操作。 这是一种考虑差异的简略办法在传统核算机中您有0和1。 可是在量子核算机上您有0、1和“或许是0或1”这也称为叠加。 一切量子算法都感动“或许”状况来显现量子核算机的素净功用。 今日的量子核算机编程有点像1950年代的经典核算机编程-以挨近汇编言语的办法但具有更好的语法。
这听起来或许很有挑战性由于汇编言语一点都不简略。 现实是假如您知道根本的门以及量子位和叠加的意义就能够开端对量子核算机进行编程。 您无需深化物理学即可开端编写面子的量子代码。
公司和研讨实验室都一直在尽力开发一种高档量子编程言语这种言语不需求程序员对量子物理学和量子力学十分大显神通。 现在比您幻想的更多的独立量子编程言语和用于经典编程言语的量子库。
因而您的挑选将是在量子汇编等级上进行编程感动经过经典编程言语进行量子核算的库或感动纯量子编程言语。 我将列出每个类别中最闻名/最活泼的选项。
QX模仿器此模仿器旨在模仿通用量子核算机的行为。 它答应程序员规划和模仿他们的量子算法。 为了感动QX Simulator完成算法程序员需求用量子汇编言语(QASM)来描绘算法的流程。
感动经典编程言语编写量子代码有许多挑选。 我将把它们从最受欢迎到最不受欢迎进行排序。
QiskitQiskit(量子信息科学工具包)是由IBM Research在2017年开发和保护的Python库构建。它是最受欢迎和感动最广泛的量子编程库。 Qiskit之所以受欢迎是由于其活泼而昌盛的社区。 别的您能够在实践的IBM Quantum核算机上运转用Python编写的代码。
Cirq这是Google开发人员开发的非官方Python库用于在Google的量子核算机上编写和运转测验。 您能够感动Cirq编写和模仿量子算法。 可是Google不答应任何人在其设备上运转代码。
还有更多根据经典编程言语的量子库但其间许多现已过期或在某个时分中止了开发。
为了脱节古典编程言语并构建独立的量子言语研讨人员现已研讨和开发了与闻名古典言语在语法上挨近的量子编程言语。 这简化了从经典编程到量子编程的进程。 这些言语包含
Q这是一种由Microsoft开发的用于编写和履行量子代码的量子编程言语。 它是Microsoft量子开发套件(QDK)的一部分。 QDK包含独自的模仿器和电路优化器。
拆箱机这是一种嵌入式量子编程言语支撑功用量子编程并答应程序员在比汇编言语更高的层次上描绘其算法。 Quipper还包含从当时理论研讨中取得的七种已完成的量子算法。
有这么多的挑选当您测验挑选从哪里开端量子之旅时您或许会手足无措。 这是我的主张从建立在习惯于经典编程言语的库开端。 一旦您对量子逻辑和思想办法感到满足请转向纯量子编程言语。
假如我想更深化地研讨量子核算机的作业原理以及各门之间的动态联系我只会考虑感动低级言语(例如QX Simulator)。
我从Qiskit开端至今依然广泛感动它-不只由于它是用Python编写的并且由于我能够在真实的量子核算机上运转代码。 是的现在的摇头晃脑很糟糕可是实践上能够在量子核算机上运转代码依然是一个风趣的现实。
为了使工作变得简略让咱们感动上述一切九种办法来完成相同的量子代码。 您能够查看电路的不同完成办法并决议从哪一个开端更风趣。
现在在大多数量子编程中您将构建一个电路该电路感动与经典门等效的量子门来感动算法。 让咱们测验完成一个在两个量子位之间创立叠加的量子电路。 为此您需求了解戏法门-发明叠加的门。 这便是哈达玛门。您给它0或1它回来0和1持平的叠加。
我是学习和探究新事物的爱好者可是我也知道当咱们将精力会集在一次学习一件事上时咱们的体现会更好。
因而我主张您从根据经典编程言语的量子库开端。 这样您只专心于习惯于量子思想办法而不是学习怎么感动特定的编程言语。 一旦您对量子逻辑感到满足请持续感动量子编程言语。 一旦您对此感到满足并想进一步扩展自己的常识那就走低一些探究QASM。
上一篇:
量子核算机编程(三)——量子感动
下一篇:
量子核算机和量子编程的学习过程汇总