首页 / 专利库 / 电脑编程 / 量子计算 / 生成量子指令的方法、设备、系统及电子设备

生成量子指令的方法、设备、系统及电子设备

阅读:959发布:2020-05-14

专利汇可以提供生成量子指令的方法、设备、系统及电子设备专利检索,专利查询,专利分析的服务。并且本 说明书 实施例 提供生成量子指令的方法、设备、系统及 电子 设备,其中一个方法包括:获取输入程序的输入指令;将输入指令中的至少一个第一输入指令转换成第一量子指令,其中,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中 量子比特 的、至少两个 逻辑 门 的 波形 ;以及输出量子程序,其中,所述量子程序与所述输入程序对应并包含第一量子指令。,下面是生成量子指令的方法、设备、系统及电子设备专利的具体信息内容。

1.一种用于生成量子指令的方法,包括:
获取输入程序的输入指令;
将输入指令中的至少一个第一输入指令转换成第一量子指令,其中,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中量子比特的、至少两个逻辑波形;以及
输出量子程序,其中,所述量子程序与所述输入程序对应并包含第一量子指令。
2.根据权利要求1所述的方法,还包括:
将输入指令中的至少一个第二输入指令转换成第二量子指令,其中,每个第二量子指令用于触发控制量子芯片系统中量子比特的、单个逻辑门的波形,其中,所述量子程序还包括所述第二量子指令。
3.根据权利要求2所述的方法,其中,第一输入指令是相对于第二输入指令较复杂的程序指令,其中,所述方法还包括:
将所述输入指令判断为第一输入指令或第二输入指令。
4.根据权利要求1所述的方法,其中,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中所有相关量子比特的波形。
5.根据权利要求1或4所述的方法,其中,所述第一量子指令不包含与量子比特对应的操作数。
6.根据权利要求1或4所述的方法,其中,所述至少两个逻辑门的波形包括与空操作对应的波形。
7.一种译码转换设备,包括用于执行根据权利要求1-6中的任意一项权利要求所述的方法中的步骤的装置。
8.一种量子计算处理系统,包括:
根据权利要求7所述的译码转换设备;以及
量子芯片系统,
其中,所述译码转换设备产生量子程序以控制量子芯片系统的操作。
9.一种电子设备,包括根据权利要求8所述的量子计算处理系统。

说明书全文

生成量子指令的方法、设备、系统及电子设备

技术领域

[0001] 本说明书涉及量子计算技术领域,更具体地,涉及一种用于生成量子指令的方法、一种译码转换设备、一种量子计算处理系统及一种电子设备。

背景技术

[0002] 量子计算机(quantum computer)是一类遵循量子学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。由于量子计算机在并行运算上的强大能力,使它有能力快速完成经典计算机无法完成的计算,因此,具有广阔的发展前景。但是,目前的量子计算机还仅在实验室中使用。技术人员还没有针对量子计算的特性设计适用于广泛使用的量子计算处理系统。
[0003] 量子计算机遵循量子力学规律,具有叠加态测量之后会坍塌、纠缠态特性、不可克隆等物理特性。这些物理特性使得量子编程具有不同于传统编程的特点,例如量子编程环境下的变量是不可赋值的,因此无法将经典计算机的编程方法直接移植到量子计算机中,需要提出适用于量子计算机的程序处理方案。发明内容
[0004] 本说明书的实施例提供生成量子指令的新技术方案。
[0005] 根据本说明书的第一方面,提供了一种用于生成量子指令的方法,包括:获取输入程序的输入指令;将输入指令中的至少一个第一输入指令转换成第一量子指令,其中,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中量子比特的、至少两个逻辑波形;以及输出量子程序,其中,所述量子程序与所述输入程序对应并包含第一量子指令。
[0006] 可选地,所述方法还包括:将输入指令中的至少一个第二输入指令转换成第二量子指令,其中,每个第二量子指令用于触发控制量子芯片系统中量子比特的、单个逻辑门的波形。其中,所述量子程序还包括所述第二量子指令。
[0007] 可选地,第一输入指令是相对于第二输入指令较复杂的程序指令,其中,所述方法还包括:将所述输入指令判断为第一输入指令或第二输入指令。
[0008] 可选地,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中所有相关量子比特的波形。
[0009] 可选地,所述第一量子指令不包含与量子比特对应的操作数。
[0010] 可选地,所述至少两个逻辑门的波形包括与空操作对应的波形。
[0011] 根据本说明书的第二方面,提供了一种译码转换设备,包括用于执行根据本说明书的第一方面所述的方法中的步骤的装置。
[0012] 根据本说明书的第三方面,提供了一种量子计算处理系统,包括:根据本说明书的第二方面所述的译码转换设备;以及量子芯片系统,其中,所述译码转换设备产生量子程序以控制量子芯片系统的操作。
[0013] 根据本说明书的第四方面,提供了一种电子设备,包括根据本说明书的第三方面所述的量子计算处理系统。
[0014] 在不同的实施例中,生成量子指令的方法至少在一定程度上减少了编码的复杂程度,减少了量子程序的指令开销。
[0015] 通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

[0016] 被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
[0017] 图1示出了可用于实现本说明书实施例的方法的硬件配置示意图。
[0018] 图2示出了根据一个实施例的方法的流程图
[0019] 图3示出了根据一个实施例的译码转换设备的示意性框图
[0020] 图4示出了根据另外一个实施例的译码转换设备的示意性框图。
[0021] 图5示出了根据一个实施例的量子计算处理系统的示意性框图。

具体实施方式

[0022] 下面,参照附图描述本说明书的不同实施例和例子。
[0023] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0024] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0025] 下面,参照附图描述本说明书的不同实施例和例子。
[0026] <硬件配置>
[0027] 图1是可用于实现本说明书中实施例的硬件配置的示意图,包括译码装置100、波形发生装置200和量子芯片。量子芯片上可以设置有至少一个量子比特300。
[0028] 译码装置100用于将输入程序译码为量子程序。译码装置100可以是经典计算机、专用处理设备等。输入程序可以是经典的计算机程序,包括现有技术的C语言程序、汇编程序等,也可以是针对量子计算机的较高级的语言程序。译码装置100可以根据需要将相应的程序转换成包括量子指令的量子程序。量子程序是适合用控制量子比特的程序。
[0029] 波形发生装置200用于在量子程序的控制下触发控制波形,以生成后续用于控制量子比特的控制信号。波形发生装置200例如是基于FPGA的任意波形发生器。波形发生装置200是对量子比特进行直接操作的量子比特控制装置中的一种。量子比特控制装置是量子比特测控装置的一部分,量子比特测控装置不仅可以通过量子比特控制装置在量子程序的控制下生成控制波形以对量子比特进行操作进行量子运算,还可以用于接收量子比特进行量子运算的运算结果,实现量子比特的测控。根据量子计算机中所采用的量子比特,还可以使用其他的量子比特控制装置,对此不作限定。
[0030] 量子比特300用于在控制波形的作用下执行量子计算。量子比特300例如可以是半导体量子比特、超导量子比特等。
[0031] 这里,可以将量子比特控制装置和量子比特统称为量子芯片系统。
[0032] 上述硬件配置仅仅是说明性的,决不是为了限制本说明书实施例的技术方案。
[0033] <方法实施例>
[0034] 本实施例提供了用于生成量子指令的方法。例如,可以使用图1中的译码装置100来执行本实施例中的方案。如图2所示,该方法包括以下步骤S2100-S2300。
[0035] 在步骤S2100,获取输入程序的输入指令。
[0036] 指令是指示计算机执行某种操作的命令。程序是为实现特定目标或解决特定问题而用计算机语言编写的指令的集合。
[0037] 量子程序用于指示对量子计算机中的量子比特执行的一系列操作。
[0038] 输入程序表示在转换为量子程序之前的程序。输入程序可以是通过已有的程序语言表示的程序、通过高级量子语言表示的高级量子程序、由高级量子程序转换成的量子中间表示等。
[0039] 相应地,输入指令表示在转换为量子指令之前的指令。输入指令可以是通过已有的指令语言表示的指令、通过高级量子语言表示的高级量子指令、由高级量子指令转换成的量子中间表示等。
[0040] 步骤S2200,将输入指令中的至少一个第一输入指令转换成第一量子指令,其中,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中量子比特的、至少两个逻辑门的波形。
[0041] 量子指令是用于生成在特定时间段内控制量子芯片系统中量子比特的波形(即操作该量子比特的逻辑门的波形)的指令。逻辑门是在数据处理中实现从输入态到输出态演化的单元。
[0042] 逻辑门是实现计算的基础。量子计算机和经典计算机都是通过各自对应的逻辑电路来实现计算过程,这种逻辑电路就是由逻辑门组成。由于两种计算机遵循的规律不同,量子逻辑门和经典逻辑门也有着本质区别。
[0043] 量子逻辑门例如包括RX门(绕X轴旋转任意度门)、RY门(绕Y轴旋转任意角度门)、RZ门(绕Z轴旋转任意角度门)、CNOT门(CONTROL-NOT,控制非门)等等。
[0044] 量子逻辑门可分为单比特量子逻辑门、两比特量子逻辑门等。单量子比特逻辑门例如是RX门、RY门、RZ门等,两比特量子逻辑门例如是CNOT门、CR门(控制相位门)等。
[0045] 本实施例中,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中量子比特的、至少两个逻辑门的波形。
[0046] 在一个例子中,一个第一量子指令用于触发在特定时间段内控制两个量子比特分别执行RX门操作和RY门操作的波形。
[0047] 在另一个例子中,一个第一量子指令用于触发在特定时间段内控制两个量子比特分别执行RX门操作和RY门操作以及控制两个量子比特执行RZ门操作的波形。
[0048] 第一量子指令中涉及的至少两个逻辑门可以是不同类型的,也可以是相同类型的。
[0049] 步骤S2300,输出量子程序,其中,量子程序与输入程序对应并包含第一量子指令。
[0050] 量子程序与输入程序对应,是指量子程序指示的计算机(比如量子计算机)的系列操作的预期结果与输入程序指示的计算机(比如量子计算机)的系列操作的预期结果相对应。
[0051] 通过这个实施例,至少在一定程度上减少了编码的复杂程度,减少了量子程序的指令开销。
[0052] 此外,由于指令简洁,可以通过较少的指令(如一条指令)直接调用波形发生装置产生所需波形,减少从量子指令到触发波形所需的处理时间。
[0053] 另外,通过这种方式,可以减小上层指令对于量子比特实现方式的依赖程度,从而提高量子程序的可移植性。
[0054] 另外,通过这种方式,有利于对多个量子比特进行整体控制,从而提高量子比特的整体性能。例如,通过这种方式,可以较方便地对部分量子比特进行补偿。
[0055] 在一个实施例中,生成量子指令的方法还包括以下步骤:将输入指令中的至少一个第二输入指令转换成第二量子指令,其中,每个第二量子指令用于触发量子芯片系统中量子比特的、单个逻辑门的波形。其中,量子程序还包括第二量子指令。第二量子指令例如是现有技术的针对单个逻辑门的指令。通过这种方式,可以兼容现有技术的基于逻辑门的指令编码方式。
[0056] 在一个例子中,一个第二量子指令用于触发控制量子芯片系统中量子比特的、单个逻辑门的波形。单个逻辑门例如是RX门、RY门、RZ门、CZ门(控制Z门)、CNOT门等中的某一个逻辑门。
[0057] 目前,量子程序的一种应用场景是测控实验场景。在测控实验场景中,量子程序较简单,量子比特的数目较少,并且执行的逻辑门的数目较少。这种情况下,基于单个逻辑门描述量子线路不会有较大的指令开销,简便易行。
[0058] 本实施例中,由于量子程序包括第二量子指令,因此能够适用于测控实验的应用场景。
[0059] 在一个实施例中,第一输入指令是相对于第二输入指令较为复杂的程序指令,生成量子指令的方法还包括以下步骤:将输入指令判断为第一输入指令或第二输入指令。
[0060] 在一个例子中,第一输入指令是量子计算场景中的输入指令,第二输入指令是测控实验场景下的输入指令,两种场景下的计算复杂度不同,第一输入指令相对于第二输入指令较为复杂。
[0061] 本实施例中,对输入指令的种类进行判断,即判断输入指令为第一输入指令或第二输入指令。
[0062] 上述判断可以基于输入指令的种类标识(例如在编写指令时预设了种类标识)进行,也可以基于输入指令的复杂度、长度等进行。
[0063] 在判断输入指令为第一输入指令的情况下,将第一输入指令转换成第一量子指令。
[0064] 在判断输入指令为第二输入指令的情况下,将第二输入指令转换成第二量子指令。
[0065] 本实施例中的生成量子指令的方法,可以兼顾输入指令较为简单的场景和输入指令较为复杂的场景。
[0066] 在一个实施例中,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中所有相关量子比特的、所有相关逻辑门的波形。
[0067] 相关量子比特是用于实现同一量子计算的多个量子比特,操作相关量子比特的逻辑门即为相关逻辑门,例如是同一量子芯片系统包括的所有量子比特和操作所有量子比特的所有逻辑门。
[0068] 在一个例子中,量子芯片系统包括4个量子比特,依次为q0、q1、q2、q3。例如,t1为执行操作的时间段。第一量子指令用于触发在t1时间段内控制量子比特q0、q1、q2、q3的波形,这些波形其实是操作量子比特q0、q1、q2、q3的逻辑门的波形。
[0069] 本实施例中的生成量子指令的方法,可以全面控制相关量子比特,有利于实现量子比特的补偿。
[0070] 在一个实施例中,由于第一量子指令可以用于触发控制多个量子比特的波形(就是操作该多个量子比特的逻辑门的波形),因此,通过一个第一量子指令可以控制多个量子比特。在这种情况下,可以减少量子指令中与量子比特对应的操作数,或者第一量子指令不包含与量子比特对应的操作数。
[0071] 操作数是用于编码执行量子操作的比特信息的立即数。例如,操作数00000000000010表示对第1个量子比特执行某个单量子比特逻辑门操作。操作数
00000000001010表示对第1个量子比特和第3个量子比特执行某个单量子比特逻辑门操作。
[0072] 本实施例中的生成量子指令的方法,通过控制所有相关量子比特,无专门记录操作数,可以减少指令的复杂度,增加系统可扩展性。
[0073] 在一个实施例中,至少两个逻辑门的量子比特的波形包括与空操作对应的波形。
[0074] 对量子比特施加与空操作对应的波形,可以产生空操作,即保持量子比特状态(简称量子态)不变的操作。
[0075] 本实施例中,第一量子指令用于触发与空操作对应的波形,能够实现量子比特的空操作。
[0076] 下面提供一个生成量子指令的方法实施的具体例子。
[0077] 在该例子中,输入程序为一种高级量子程序,代码如下:
[0078] SQOS0{0001};
[0079] SQOS1{0010};
[0080] SQOS2{0100};
[0081] SQO S3{1000};
[0082] SQO S4{0110};
[0083] 0|H S0,RX S1;
[0084] 0|RY S2,RX S3;
[0085] 1|RX S4,RY S1;
[0086] 上述代码的前5行为定义操作数的部分。以SQOS1{0010}为例,该代码含义为:指定了一个值为0010的操作数(该操作数表示对第2个量子比特进行操作),并将该操作数记为S1。其中,SQO全称StoreQuantumOperand,意为存储量子比特操作数。
[0087] 上述代码的后3行为基于逻辑门描述的程序主体。以0|H S0,X S1为例,该代码含义为:在距离上一个时间点0个单位时间的时刻,对操作数S0表示的量子比特执行H门(Hadamard,阿达门),对操作数S1表示的量子比特执行RX门。
[0088] 根据本实施例提供的生成量子指令的方法对输入程序进行译码,输出如下量子程序:
[0089] 0|GATE1;
[0090] 其中,GATE1具体为:
[0091] Q 0:H+0;
[0092] Q 1:RX+RY;
[0093] Q 2:RY+0;
[0094] Q 3:RX+0;
[0095] Q 4:0+RX;
[0096] 上述GATE1为一个第一量子指令。GATE 1用于触发控制波形,该控制波形用于在距离上一个时间点0个单位时间的时刻和距离上一个时间点1个单位时间的时刻,对Q0依次执行H逻辑门操作和空操作、对Q1依次执行RX逻辑门操作和RY逻辑门操作、对Q2依次执行RY逻辑门操作和空操作、对Q3依次执行RX逻辑门操作和空操作、对Q4执行空操作和RX逻辑门操作。使用与空操作对应的波形,能够统一波形的总长度,更好适配量子芯片系统。在一个例子中,单比特量子逻辑门的波形长度为20ns,两比特量子逻辑门的波形长度为40ns,一个单位时间长度可设为20ns。
[0097] 可以看出,该例子中的生成量子指令的方法,减少了量子程序的指令开销,还可以通过一条指令直接调用波形发生装置产生所需波形,减少从量子指令到触发波形所需的处理时间。
[0098] <译码转换设备实施例>
[0099] 本实施例提供一种译码转换设备,该设备例如是图3所示的译码转换设备300,包括用于执行根据本说明书方法实施例描述的方法中的步骤的装置,即译码转换装置310。
[0100] 具体地,译码转换装置310包括输入模、译码模块和输入模块。
[0101] 输入模块用于获取输入程序的输入指令。
[0102] 译码模块用于将输入指令中的至少一个第一输入指令转换成第一量子指令,其中,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中量子比特的、至少两个逻辑门的波形。
[0103] 输出模块用于输出量子程序,其中,量子程序与输入程序对应并包含第一量子指令。
[0104] 在一个实施例中,译码模块还用于:将输入指令中的至少一个第二输入指令转换成第二量子指令,其中,每个第二量子指令用于触发控制量子芯片系统中量子比特的、单个逻辑门的波形,其中,量子程序还包括第二量子指令。
[0105] 在一个实施例中,第一输入指令是相对于第二输入指令较复杂的程序指令。上述装置还包括判断模块,该判断模块用于将输入指令判断为第一输入指令或第二输入指令。
[0106] 在一个实施例中,每个第一量子指令用于触发在特定时间段内控制量子芯片系统中所有相关量子比特的波形。
[0107] 在一个实施例中,第一量子指令不包含与量子比特对应的操作数。
[0108] 在一个实施例中,至少两个逻辑门的波形包括与空操作对应的波形。
[0109] 在一个实施例中,译码转换设备为图4所示的译码转换设备400,包括存储器410和处理器420。
[0110] 存储器410用于存储可执行命令。
[0111] 处理器420用于在可执行命令的控制下,实现本说明书方法实施例描述的方法。
[0112] <量子计算处理系统实施例>
[0113] 本实施例提供一种量子计算处理系统,该系统例如是图5所示的计算机处理系统500,包括译码转换设备510和量子芯片系统520。其中,译码转换设备510产生量子程序以控制量子芯片系统520的操作。
[0114] <电子设备实施例>
[0115] 本实施例提供一种电子设备,包括本说明书量子计算处理系统实施例描述的量子计算处理系统。
[0116] 除非明确说明,否则,这里的“第一”、“第二”……仅仅用于区分其后面的名词所指代的事物,而不表示所述事物的先后顺序和/或优先级。
[0117] 上面的实施例可以互相参考。因此,在后面实施例的描述中省略了与前面的实施例重复的部分。
[0118] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈