CN109754087B - 量子程序转化方法、装置及电子设备 - Google Patents
量子程序转化方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109754087B CN109754087B CN201910028262.1A CN201910028262A CN109754087B CN 109754087 B CN109754087 B CN 109754087B CN 201910028262 A CN201910028262 A CN 201910028262A CN 109754087 B CN109754087 B CN 109754087B
- Authority
- CN
- China
- Prior art keywords
- node
- type
- quantum
- operation instruction
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本申请实施例提供一种量子程序转化方法、装置及电子设备。该方法包括:获取待转化量子程序中量子比特的第一数量及寄存器的第二数量,并根据所述第一数量及所述第二数量生成初始化指令;遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令;按照节点在所述待转化量子程序中的顺序将所有所述运行指令及所述初始化指令进行保存,以得到与所述待转化量子程序对应的设定量子指令集。通过上述方法可将量子程序转化为设定量子指令集,该指令集可将量子程序中的各种信息直观地显示出来。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种量子程序转化方法、装置及电子设备。
背景技术
量子计算机是一种遵循量子力学规律进行高速数据和逻辑运算、存储及处理量子信息的物理装置。在量子计算机上运行的程序为量子程序。虽然量子技术在不断发展,但是目前一般的量子程序都不能直观地看出该程序中各种信息。
发明内容
本申请实施例的目的在于提供一种量子程序转化方法、装置及电子设备。
第一方面,本申请实施例提供一种量子程序转化方法,包括:
获取待转化量子程序中量子比特的第一数量及寄存器的第二数量,并根据所述第一数量及所述第二数量生成初始化指令;
遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令;
按照节点在所述待转化量子程序中的顺序将所有所述运行指令及所述初始化指令进行保存,以得到与所述待转化量子程序对应的设定量子指令集。
如上所述的方法,优选的,所述遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令,包括:
在遍历至每个节点时,获取该节点的节点类型;
判断该节点的节点类型是否属于预设的第一类型、第二类型或第三类型;
在该节点的节点类型属于第一类型或第二类型时,根据该节点的节点类型对应的预设类型标识及运行信息生成与该节点对应的运行指令;
在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型或第二类型的子节点对应的运行指令,以得到与该节点对应的运行指令。
如上所述的方法,优选的,所述第一类型为量子逻辑门节点,所述第二类型为测量节点,所述在该节点的节点类型属于第一类型或第二类型时,根据该节点的节点类型对应的类型标识及运行信息生成与该节点对应的运行指令,包括:
在该节点的节点类型为量子逻辑门节点时,获取该节点的运行状态、量子逻辑门节点种类、目标量子比特标识,并根据与该运行状态对应的预设运行状态标识、与该量子逻辑门节点种类对应的预设量子逻辑门种类标识及所述目标量子比特标识生成与该节点对应的运行指令;
在该节点的节点类型为测量节点时,获得用于存储测量结果的寄存器的寄存器标识及被测量的量子比特的量子比特标识,并根据预设测量标识、所述寄存器标识及量子比特标识生成与该节点对应的运行指令。
如上所述的方法,优选的,所述第三类型包括量子线路节点,所述在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型的子节点对应的运行指令,以得到与该节点对应的运行指令,包括:
在该节点的节点类型为量子线路节点时,获得该节点的运行状态,并通过遍历得到与该节点内的节点类型为量子逻辑门节点的子节点对应的运行指令,根据与该运行状态对应的预设运行状态标识及与子节点对应的运行指令得到与该节点对应的运行指令。
如上所述的方法,优选的,所述在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型的子节点对应的运行指令,以得到与该节点对应的运行指令,还包括:
在该节点的节点类型为量子线路节点且该节点内包括子量子线路子节点时,获得子量子线路子节点的运行状态,并遍历得到该子量子线路子节点内的节点类型为量子逻辑门节点的子节点对应的运行指令,以得到与该节点对应的运行指令。
如上所述的方法,优选的,所述第三类型还包括子量子程序节点,所述在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型或第二类型的子节点对应的运行指令,以得到与该节点对应的运行指令,还包括:
在该节点的节点类型为子量子程序节点时,遍历该子量子程序节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以得到与该节点对应的运行指令。
如上所述的方法,优选的,所述第三类型还包括控制流节点,所述在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型或第二类型的子节点对应的运行指令,以得到与该节点对应的运行指令,还包括:
在该节点的节点类型为控制流节点时,获得该节点的控制流节点种类及逻辑判断语句,并根据所述逻辑判断语句及与所述控制流节点种类对应的预设控制流节点种类标识生成第一运行指令;
遍历该节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以根据所述第一运行指令及与子节点对应的运行指令得到与该节点对应的运行指令。
如上所述的方法,优选的,在获取该节点的节点类型之前,所述遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令,还包括:
获取该节点内的节点参数,并判断该节点参数是否符合预设规则;在该节点的节点参数符合所述预设规则时,再执行所述获取该节点的节点类型的步骤。
第二方面,本申请实施例提供一种量子程序转化装置,包括:
第一转化模块,用于获取待转化量子程序中量子比特的第一数量及寄存器的第二数量,并根据所述第一数量及所述第二数量生成初始化指令;
第二转化模块,用于遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令;
保存模块,用于按照节点在所述待转化量子程序中的顺序将所有所述运行指令及所述初始化指令进行保存,以得到与所述待转化量子程序对应的设定量子指令集。
如上所述的装置,优选的,第二转化模块具体用于:在遍历至每个节点时,获取该节点的节点类型;判断该节点的节点类型是否属于预设的第一类型、第二类型或第三类型;在该节点的节点类型属于第一类型或第二类型时,根据该节点的节点类型对应的预设类型标识及运行信息生成与该节点对应的运行指令;在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型或第二类型的子节点对应的运行指令,以得到与该节点对应的运行指令。
如上所述的装置,优选的,所述第一类型为量子逻辑门节点,所述第二类型为测量节点,所述第二转化模块具体用于:在该节点的节点类型为量子逻辑门节点时,获取该节点的运行状态、量子逻辑门节点种类、目标量子比特标识,并根据与该运行状态对应的预设运行状态标识、与该量子逻辑门节点种类对应的预设量子逻辑门种类标识及所述目标量子比特标识生成与该节点对应的运行指令;在该节点的节点类型为测量节点时,获得用于存储测量结果的寄存器的寄存器标识及被测量的量子比特的量子比特标识,并根据预设测量标识、所述寄存器标识及量子比特标识生成与该节点对应的运行指令。
如上所述的装置,优选的,所述第三类型包括量子线路节点,所述第二转化模块具体用于:在该节点的节点类型为量子线路节点时,获得该节点的运行状态,并通过遍历得到与该节点内的节点类型为量子逻辑门节点的子节点对应的运行指令,根据与该运行状态对应的预设运行状态标识及与子节点对应的运行指令得到与该节点对应的运行指令。
如上所述的装置,优选的,所述第二转化模块具体用于:在该节点的节点类型为量子线路节点且该节点内包括子量子线路子节点时,获得子量子线路子节点的运行状态,并遍历得到该子量子线路子节点内的节点类型为量子逻辑门节点子节点对应的运行指令,以得到与该节点对应的运行指令。
如上所述的装置,优选的,所述第三类型还包括子量子程序节点,所述第二转化模块具体用于:在该节点的节点类型为子量子程序节点时,遍历该子量子程序节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以得到与该节点对应的运行指令。
如上所述的装置,优选的,所述第三类型还包括控制流节点,所述第二转化模块具体用于:在该节点的节点类型为控制流节点时,获得该节点的控制流节点种类及逻辑判断语句,并根据所述逻辑判断语句及与所述控制流节点种类对应的预设控制流节点种类标识生成第一运行指令;
遍历该节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以根据所述第一运行指令及与子节点对应的运行指令得到与该节点对应的运行指令。
如上所述的装置,优选的,在获取该节点的节点类型之前,所述第二转化模块还具体用于:获取该节点内的节点参数,并判断该节点参数是否符合预设规则;在该节点的节点参数符合所述预设规则时,再获取该节点的节点类型。
第三方面,本申请实施例提供一种电子设备,包括:处理器及可读存储介质,所述可读存储介质存储有可执行计算机指令,所述可执行计算机指令由所述处理器读取并运行时,执行所述的量子程序转化方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供一种量子程序转化方法、装置及电子设备。在获得待转化量子程序后,首先获取该待量化量子程序中的量子比特的第一数量及寄存器的第二数量,然后根据所述第一数量及第二数量生成初始化指令。接着遍历该转化量子程序中的每个节点,得到每个节点的运行信息,并根据该运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令。最后通过上述初始化指令及所有的运行指令进行保存,以得到与该待转化量子程序对应的设定量子指令集。其中,在保存过程中,可以先保存初始化指令,再按照节点在该待转化量子程序中的顺序依次将所有运行指令进行保存。由此,利用上述方式可将量子程序转化为设定量子指令集,该指令集可将量子程序中的各种信息直观地显示出来,同时保证得到的设定量子指令集中的指令与该待转化量子程序执行时的顺序对应。
为使申请的上述目的、特征和优点能更明显易懂,下文特举本申请较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例提供的电子设备的方框示意图。
图2是本申请实施例提供的量子程序转化方法的流程示意图。
图3是本申请实施例提供的量子程序转化方法的举例示意图。
图4是本申请实施例提供的量子程序结构图。
图5是本申请实施例提供的量子程序转化装置的方框示意图。
图标:100-电子设备;110-存储器;120-存储控制器;130-处理器;200-量子程序转化装置;210-第一转化模块;220-第二转化模块;230-保存模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请实施例提供的电子设备100的方框示意图。本申请实施例中所述电子设备100可以是,但不限于,个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。如图1所示,所述电子设备100包括:存储器110、存储控制器120、处理器130以及量子程序转化装置200。
所述存储器110、存储控制器120及处理器130各元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器110中存储有量子程序转化装置200,所述量子程序转化装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器130通过运行存储在存储器110内的软件程序以及模块,如本申请实施例中的量子程序转化装置200,从而执行各种功能应用以及数据处理,即实现本申请实施例中的量子程序转化方法。
其中,所述存储器110可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-OnlyMemory,EEPROM)等。其中,存储器110用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。所述处理器130以及其他可能的组件对存储器110的访问可在所述存储控制器120的控制下进行。
所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器130可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,图2是本申请实施例提供的量子程序转化方法的流程示意图。下面对量子程序转化方法的具体流程进行详细阐述。
步骤S110,获取待转化量子程序中量子比特的第一数量及寄存器的第二数量,并根据所述第一数量及所述第二数量生成初始化指令。
在本实施例中,在得到待转化量子程序后,对该待转化量子程序进行分析,以得到该待转化量子程序中量子比特的第一数量及寄存器的第二数量,然后根据上述第一数量及第二数据和预设的初始化指令生成格式生成所述初始化指令。可选地,可以经对待转化量子程序中与量子比特数量及寄存器数量相关的内容进行分析后得到上述第一数量及第二数量。
可选地,在本实施例中的一种实施方式中,所述初始化指令包括第一初始化指令及第二初始化指令。预设的初始化指令生成格式为:预设量子比特类标识+数量;预设寄存器类标识+数量。所述根据所述第一数量及所述第二数量生成初始化指令的步骤可以包括:根据所述第一数量及预设量子比特类标识生成所述第一初始化指令;根据所述第二数量及预设寄存器类标识生成所述第二初始化指令。由此,即可得到所述初始化指令。
比如,量子比特的数量为4,寄存器的数量为3,则可得到初始化指令为:QINIT4CREG 2。其中,QINIT表示预设量子比特类标识,QINIT 4表示定义4个量子比特。CREG表示预设寄存器类标识,CREG 3表示定义3个寄存器。
步骤S120,遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令。
在本实施例中,可以通过以下方式实现步骤S120:在遍历至每个节点时,获取该节点的节点类型;判断该节点的节点类型是否属于预设的第一类型、第二类型或第三类型;在该节点的节点类型属于第一类型或第二类型时,根据该节点的节点类型对应的预设类型标识及运行信息生成与该节点对应的运行指令;在该节点的节点类型属于第二类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型或第二类型的子节点对应的运行指令,以得到与该节点对应的运行指令。
在获得一个节点的节点类型后,若该节点的节点类型属于所述第一类型或第二类型,表示该节点内不包括子节点,可以直接根据该节点的节点类型对应的预设类型标识及运行信息生成与该节点对应的运行指令。
若该节点的节点类型属于所述第三类型,表示该节点内包括子节点,子节点的类型可以分为两类,一类不可以包括第二类型节点,例如:第一类型节点为量子逻辑门节点,第二类型节点为测量节点,第三类型为量子线路,量子线路由量子逻辑门、子量子线路组成,量子线路是不能包括测量节点;另一类可以包括第二类型节点,例如:第一类型节点为量子逻辑门节点,第二类型节点为测量节点,第三类型为控制流节点或者子量子程序节点,控制流节点或者子量子程序节点均即可包括量子逻辑门节点,又可包括测量节点。
在这种情况下,需要对每个子节点进行遍历,获得每个子节点的节点类型,然后根据每个子节点的节点类型及该子节点的运行信息生成该节点的运行指令,最后得到该节点的运行指令。若子节点内包括子节点,则重复上述过程,继续遍历,直到子节点的节点类型属于所述第一类型或第二类型。即,若一子节点的节点类型属于所述第三类型,则对该子节点继续遍历,直到得到节点类型属于所述第一类型或第二类型的子节点。也就是说,在节点的节点类型属于所述第三类型时,将该节点进行分解,获得该节点内的节点类型属于所述第一类型或第二类型的所有子节点,然后得到节点类型属于所述第一类型或第二类型的子节点对应的运行指令。该节点对应的运行指令包括该节点内的节点类型属于所述第一类型或第二类型的子节点对应的运行指令。
比如,若节点A的节点类型属于所述第三类型,包括子节点a1、a2,子节点a1还属于第三类型,包括b1、b2,其中,子节点b1、b2、a2的节点类型属于所述第一类型或第二类型,则经遍历可得到子节点b1、b2、a2对应的运行指令,以作为节点A对应的运行指令。
可选地,在本实施例中,在获取该节点的节点类型之前,所述遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令,还可以包括:获取该节点内的节点参数,并判断该节点参数是否符合预设规则;在该节点的节点参数符合所述预设规则时,再执行所述获取该节点的节点类型的步骤。其中,预设规则可以根据实际需求进行设置。通过对每一个函数传入的参数都进行有效性检查,保证了运行的稳定性,同时优化了部分代码,并避免函数调用的多重嵌套,减少了后期维护的工作量。
可选地,在本实施例的一种实施方式中,所述第一类型为量子逻辑门节点,所述第二类型为测量节点。
在该节点的节点类型为量子逻辑门节点时,获取该节点的运行状态、量子逻辑门节点种类、目标量子比特标识,并根据与该运行状态对应的预设运行状态标识、与该量子逻辑门节点种类对应的预设量子逻辑门种类标识及所述目标量子比特标识生成与该节点对应的运行指令。
可选地,所述运行状态可以包括是否受控及Dagger,Dagger表示转置共轭操作。在运行状态为受控时,对应的预设运行状态标识可以为CONTROL、ENDCONTROL。进一步地,在运行状态为受控时,生成与该节点对应的运行指令时,该预设运行状态标识后可有对应的量子比特标识,即,表示控制某个量子比特,或结束控制某个量子比特。在运行状态为转置共轭操作时,对应的预设运行状态标识可以为DAGGER、ENDDAGGER。若对应的运行指令中不包括与运行状态相关的内容,则表示若该节点的运行状态为不受控且不处于转置共轭操作状态。若该节点的运行状态为受控,则该节点对应的运行指令的开始及结束位置存在CONTROL、ENDCONTROL。若为转置共轭操作,同理。
在该节点的节点类型为测量节点时,获得用于存储测量结果的寄存器的寄存器标识及被测量的量子比特的量子比特标识,并根据预设测量标识、所述寄存器标识及量子比特标识生成与该节点对应的运行指令。
比如,预设的测量标识为MEASURE,则节点类型为测量节点的节点对应的运行指令为:MEASURE 1,$2,表示对量子比特标识为1的量子比特进行测量操作,测量结果保存在寄存器标识为2的寄存器中。
在节点的节点类型属于所述第三类型时,通过遍历,分解得到该节点包括的所有节点类型属于所述第一类型或第二类型的子节点,在得到节点类型属于所述第一类型或第二类型的子节点后,则可以按照上述生成节点类型属于所述第一类型或第二类型的节点的运行指令的方式,得到节点类型属于所述第一类型或第二类型的子节点对应的运行指令,由此即可得到节点类型属于所述第三类型的节点对应的运行指令。
下面对如何得到节点类型属于第三类型的节点对应的运行指令进行说明。
可选地,在本实施例的一种实施方式中,所述第二类型包括量子线路节点。量子线路节点内的子节点的节点类型可以为子量子线路节点、量子逻辑门节点之一或者其组合,但是量子线路节点不可以包括测量节点。此处的子节点指仅对该量子线路节点进行一次分解时的子节点。比如,量子线路节点A的节点类型属于所述第三类型,该量子线路节点A包括子节点a1、a2,子节点a1包括b1、b2,该量子线路节点进行一次分解时得到的子节点为a1、a2。
在该节点的节点类型为量子线路节点时,获得该节点的运行状态,并通过遍历得到与该节点内的节点类型为量子逻辑门节点的子节点对应的运行指令,根据与该运行状态对应的预设运行状态标识及与子节点对应的运行指令得到与该节点对应的运行指令。即,该节点的运行指令中包括该节点的运行状态及包括的节点类型为量子逻辑门节点的子节点对应的运行指令。
可选地,量子线路节点内的子节点也可以为子量子线路子节点。
在该节点的节点类型为量子线路节点且该节点内包括子量子线路子节点时,获得子量子线路子节点的运行状态,并遍历得到该子量子线路子节点内的节点类型为量子逻辑门节点的子节点对应的运行指令,以得到与该节点对应的运行指令。
在该节点内包括子量子线路子节点时,首先获得该子量子线路子节点的运行状态,然后遍历该子量子线路子节点内的所有子节点,直到遍历至节点类型为量子逻辑门节点的子节点,然后生成节点类型为量子逻辑门节点的子节点的运行指令,最后根据该子量子线路子节点的运行状态及该子量子线路子节点内的所有子节点的运行指令得到该子量子线路子节点对应的运行指令,进而得到该节点对应的运行指令。
若该节点内还包括量子逻辑门节点,该节点对应的运行指令包括:子量子线路子节点对应的运行指令、节点类型为量子逻辑门节点和的子节点对应的运行指令。
可选地,所述第二类型还可以包括子量子程序节点,子量子程序节点即量子程序节点,可以包括子量子程序、量子逻辑门、量子线路、控制流节点、测量节点之一或者组合。
在该节点的节点类型为子量子程序节点时,遍历该子量子程序节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以得到与该节点对应的运行指令。
对于节点类型为子量子程序节点的节点,通过遍历,将该节点分解,得到该接点内的所有节点类型为量子逻辑门及测量节点的子节点,然后生成与子节点对应的运行指令,即可得到该节点对应的运行指令。比如,一个节点类型为子量子程序节点的节点A包括子节点a1、a2,子节点a1包括子节点b1、b2、b3,子节点b2包括子节点c1、c2。其中,子节点b1、c1、c2、b3、a2的节点类型属于所述第一类型。该节点对应的运行指令包括子节点b1、c1、c2、b3、a2对应的运行指令,其中,子节点b1、c1、c2、b3、a2对应的运行指令在该节点对应的运行指令中顺序为子节点在该节点中出现的顺序。当然可以理解的是,节点对应的运行指令中还可以包括与运行状态对应的预设运行状态标识。
可选地,所述第三类型还可以包括控制流节点。
在该节点的节点类型为控制流节点时,获得该节点的控制流节点种类及逻辑判断语句,并根据所述逻辑判断语句及与所述控制流节点种类对应的预设控制流节点种类标识生成第一运行指令。然后遍历该节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以根据所述第一运行指令及与子节点对应的运行指令得到与该节点对应的运行指令。
控制流节点的控制针对子量子程序。子量子程序即一段量子程序,一段量子程序是由量子逻辑门、测量节点、量子线路、控制流节点、一段子量子程序之一或者其结合组成的。在本实施方式中,控制流节点种类包括两种,对应的预设控制流节点种类标识分别为QIF、QWHILE。节点类型为控制流节点的节点对应的运行指令可以为:QIF(逻辑判断语句)+执行指令,其中,考虑到if,else的判断逻辑,该执行指令包括满足该逻辑判断语句的子量子程序或不满足该逻辑判断语句的子量子程序,即QIF的执行指令有3种情况,第一种为只有满足该逻辑判断语句的子量子程序(此时执行指令有1个子量子程序),第二种为只有不满足该逻辑判断语句的子量子程序(此时执行指令有1个子量子程序),第三种为既有满足该逻辑判断语句,又有不满足该逻辑判断语句的子量子程序(此时执行指令有2个子量子程序);QWHILE(逻辑判断语句)+执行指令,考虑到while的判断逻辑,该执行指令只有满足该逻辑判断语句的子量子程序,此时只有1个子量子程序。其中,关于对子量子程序进行遍历得到与量子程序对应的运行指令的方式上文已经描述,此处不再赘述。
在具体实施时,所述第一类型、所述第二类型及所述第三类型包括的具体节点类型可以根据实际情况设置,上述内容仅为举例说明。
步骤S130,按照节点在所述待转化量子程序中的顺序将所有所述运行指令及所述初始化指令进行保存,以得到与所述待转化量子程序对应的设定量子指令集。
在本实施例中,可以先保存所述初始化指令,然后按照节点在所述待转化量子程序中的出现顺序将与每个节点的运行指令进行保存。由此,将待转化量子程序转化为设定量子指令集。需要说明的是,本实施例所述的设定量子指令集可以为QRunes指令集,也可以为Quil指令集,这些指令集可将量子程序中的各种信息按照指令集的固定格式直观地显示出来。
下面对QRunes进行解释说明。
QRunes可以从一个很低级的层次直接描述量子程序、量子算法,它的地位类似于经典计算机中的硬件描述语言或者汇编语言。QRunes的设计目的是为了直接操纵量子计算机的动作,在一个QRunes程序(即一个QRunes指令集)中,只包含了量子计算机一次执行所需要进行的动作。也就是说,这一组指令集不包含任何逻辑判断。语言所不具备的变量系统,都将以更高层次的量子语言去封装。QRunes的语法十分直接,基本采用了“指令+参数列表”的设计方法,一个简单的QRunes程序的例子如下所示。
%Comment:QRunes Example1
QINIT 2
%Define and initialize 2qubit
CREG 2
%Define 2classical register
H 0
CNOT 0,1
%Perform a series of quantum logic gates
MEASURE 0,$0
MEASURE 1,$1
%Perform measurement,results will be saved and export.
在上述例子中,每个语句中关键词作用如下:
(1)%的作用是从%开始,到该行的结尾,是程序的行注释,就类似于C语言的”//”。注释的语句会被完全忽略。
(2)QINIT的作用是在QRunes程序中第一行(除注释之外)显式定义量子比特数。这一行定义将被自动附带到程序的开头。
(3)CREG的作用是在一个QRunes程序中第二行(除注释之外)显式定义经典寄存器数。在量子计算机运行时,所有的测量值都会被保存到经典计算机的经典寄存器中并且导出。这一行定义将被自动附带到程序的第二行。
(4)H的作用是对目标量子比特进行Hadamard门操作,H门是单量子逻辑门的一种,常见的单量子逻辑门还有X、Y、NOT等等。
(5)CNOT的作用是对两个量子比特执行CNOT操作。CNOT门是常见的一个双量子比特逻辑门,输入参数为控制量子比特序号和目标量子比特序号。
(6)MEASURE的作用对目标量子比特进行测量并将测量结果保存在对应的经典寄存器里面,输入参数为目标量子比特序号和保存测量结果的经典寄存器序号。
上述语句只是QRunes语法中的一小部分,QRunes支持更多的量子逻辑门种类,同时还包含每个量子线路和每个量子逻辑门中是否处于受控以及是否Dagger的运行状态。
在本实施例中,所述方法可以将任意结构的量子程序转化为QRunes指令集。QRunes指令集完整地记录了量子计算机一次执行所需要进行的动作。且该方式随着QRunes指令集的完善也会不断完善,因为具有很强的拓展性,后续可以支持新的量子语言、量子逻辑门种类及其他功能节点。
Quil指令集同QRunes指令集,可以从一个很低级的层次直接描述量子程序、量子算法,只是它在QVM(Quantum Virutal Machine,量子虚拟机)或QPU(Quantum ProcessingUnit,量子处理器)中执行,它的地位类似于经典计算机中的硬件描述语言或者汇编语言。Quil指令集基本也采用“指令+参数列表”的设计方法,类似QRunes指令集中预设格式。
请参照图3,图3是本申请实施例提供的量子程序转化方法的举例示意图。首先获得量子比特及寄存器的数量,生成对应的初始化指令(图3中未示出),接下来则对待转化量子程序内的节点进行遍历。在遍历至一个节点时,先获得该接节点当前节点类型。若节点类型为量子逻辑门节点,则获得该节点的运行状态以判断是否受控或DAGGER;然后获得该节点的具体量子逻辑门节点种类及量子比特标识;接下来则根据QRunes指令集或Quil指令集的格式及上述内容生成字符串,由此可得到该节点对应的运行指令。若节点类型为测量节点,则获得用于存储测量结果的寄存器(即图3中的经典寄存器)的寄存器标识及被测量的量子比特的量子比特标识,然后根据QRunes指令集或Quil指令集的格式及上述内容生成字符串,由此可得到该节点对应的运行指令。
若节点类型为量子线路节点,则先获得该节点的运行状态以判断是否受控或DAGGER,然后遍历该节点内的子节点,得到每个节点类型为量子逻辑门节点或测量节点的子节点的相关内容,最后根据上述得到的所有的内容、所述子节点的相关内容及QRunes指令集的格式得到该节点对应的运行指令。
若节点类型为控制流节点,先获得该节点的控制流节点种类,然后获得控制流节点的逻辑判断语句,接着遍历量子线路节点,最后即可得到该节点对应的运行指令。
若节点类型为子量子程序节点(图3中未示出),则遍历该子量子程序节点内的每个子节点,最后得到该节点对应的运行指令。
在本实施例中,输出的QRunes指令集或Quil指令集严格按照预先设定的格式。首先是在前两行显式定义量子比特数和经典寄存器数,其次严格按照量子程序内部节点顺序依次获取相关信息。对于受控节点,节点内部指令集应置于CONTROL和ENDCONTROL之间,起始标识是CONTROL,终止标识是ENDCONTROL,输入参数是量子比特序号n,表示在CONTROL和ENDCONTROL之间的语句都是受控操作。CONTROL和ENDCONTROL语句之间可嵌套CONTROL和ENDCONTROL语句,对应规则是ENDCONTROL对应的CONTROL是离其最近的CONTROL,CONTROL与ENDCONTROL一一对应。DAGGER节点指令集格式同上。若量子程序存在联合测量操作(PMEASURE),则PMEASURE语句仅能放置在程序的最后一行,它只是一个量子仿真的功能,并不实际改变量子态。
在本方案的算法开始前,要先准备量子程序的构建。首先分配量子比特,然后进行相关量子逻辑门与量子线路的建立,需要注意的是,RX、RY和RZ门建立时,传入的第一个参数为量子比特,第二个参数为角度参数。对于CNOT等双比特门构建时,传入的第一个参数是控制量子比特,第二个参数是目标量子比特,最后整合量子程序并装载。
下面根据图4对所述量子程序转化方法进行举例说明。其中,忽略量子比特数量及寄存器数量的具体信息。
首先遍历整个待转化程序,先遍历到线路1节点,然后遍历整个线路1内部节点,由于线路1被设置Dagger,所以整个线路1节点内指令集在DAGGER语句与ENDDAGGER语句之间。对于线路2同理,遍历整个线路2内部节点时,由于线路2被设置受控状态,整个线路2节点内指令集在CONTROL语句与ENDCONTROL语句之间。遍历普通的量子线路分解然后获取内部节点即可。然后依次遍历量子程序后续节点。整个示例待转化量子程序转化指令集结果输出如下:
QINIT 4
CREG 1
DAGGER
RX 0,3.141593
X 1
ENDDAGGER
CONTROL 3
RX 1,3.141593
H 2
ENDCONTROL 3
H 1
CONTROL 3
Y 1
ENDCONTROL 3
DAGGER
X 1
ENDDAGGER
RY 0,3.141593
请参照图5,图5是本申请实施例提供的量子程序转化装置200的方框示意图。所述量子程序转化装置200可以包括第一转化模块210、第二转化模块220及保存模块230。
第一转化模块210,用于获取待转化量子程序中量子比特的第一数量及寄存器的第二数量,并根据所述第一数量及所述第二数量生成初始化指令。
第二转化模块220,用于遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令。
保存模块230,用于按照节点在所述待转化量子程序中的顺序将所有所述运行指令及所述初始化指令进行保存,以得到与所述待转化量子程序对应的设定量子指令集。
可选地,在本实施例中,所述第二转化模块220具体用于:在遍历至每个节点时,获取该节点的节点类型;判断该节点的节点类型是否属于预设的第一类型、第二类型或第三类型;在该节点的节点类型属于第一类型或第二类型时,根据该节点的节点类型对应的预设类型标识及运行信息生成与该节点对应的运行指令;在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型或第二类型的子节点对应的运行指令,以得到与该节点对应的运行指令。
可选地,在本实施例中,所述第一类型为量子逻辑门节点,所述第二类型为测量节点,所述第二转化模块220具体用于:在该节点的节点类型为量子逻辑门节点时,获取该节点的运行状态、量子逻辑门节点种类、目标量子比特标识,并根据与该运行状态对应的预设运行状态标识、与该量子逻辑门节点种类对应的预设量子逻辑门种类标识及所述目标量子比特标识生成与该节点对应的运行指令;在该节点的节点类型为测量节点时,获得用于存储测量结果的寄存器的寄存器标识及被测量的量子比特的量子比特标识,并根据预设测量标识、所述寄存器标识及量子比特标识生成与该节点对应的运行指令。
可选地,在本实施例中,所述第三类型为量子线路节点,所述第二转化模块220具体用于:在该节点的节点类型为量子线路节点时,获得该节点的运行状态,并通过遍历得到与该节点内的节点类型为量子逻辑门节点的子节点对应的运行指令,根据与该运行状态对应的预设运行状态标识及与子节点对应的运行指令得到与该节点对应的运行指令。
可选地,在本实施例中,所述第二转化模块220具体用于:在该节点的节点类型为量子线路节点且该节点内包括子量子线路子节点时,获得子量子线路子节点的运行状态,并遍历得到该子量子线路子节点内的节点类型为量子逻辑门节点的子节点对应的运行指令,以得到与该节点对应的运行指令。
可选地,在本实施例中,所述第三类型为子量子程序节点时,所述第二转化模块220具体用于:在该节点的节点类型为子量子程序节点时,遍历该子量子程序节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以得到与该节点对应的运行指令。
可选地,在本实施例中,所述第三类型为控制流节点时,所述第二转化模块220具体用于:在该节点的节点类型为控制流节点时,获得该节点的控制流节点种类及逻辑判断语句,并根据所述逻辑判断语句及与所述控制流节点种类对应的预设控制流节点种类标识生成第一运行指令;遍历该节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以根据所述第一运行指令及与子节点对应的运行指令得到与该节点对应的运行指令。
可选地,在本实施例中,在获取该节点的节点类型之前,所述第二转化模块220还具体用于:获取该节点内的节点参数,并判断该节点参数是否符合预设规则;在该节点的节点参数符合所述预设规则时,再获取该节点的节点类型。
在本实施例中,关于所述量子程序转化装置200的具体描述可以参照上文对量子程序转化方法的描述。
综上所述,本申请实施例提供一种量子程序转化方法、装置及电子设备。在获得待转化量子程序后,首先获取该待量化量子程序中的量子比特的第一数量及寄存器的第二数量,然后根据所述第一数量及第二数量生成初始化指令。接着遍历该转化量子程序中的每个节点,得到每个节点的运行信息,并根据该运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令。最后通过上述初始化指令及所有的运行指令进行保存,以得到与该待转化量子程序对应的设定量子指令集。其中,在保存过程中,可以先保存初始化指令,再按照节点在该待转化量子程序中的顺序依次将所有运行指令进行保存。由此,利用上述方式可将量子程序转化为设定量子指令集,该指令集可将量子程序中的各种信息直观地显示出来,同时保证得到的设定量子指令集中的指令与该待转化量子程序执行时的顺序对应。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种量子程序转化方法,其特征在于,包括:
获取待转化量子程序中量子比特的第一数量及寄存器的第二数量,并根据所述第一数量及所述第二数量生成初始化指令;
遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令;
按照节点在所述待转化量子程序中的顺序将所有所述运行指令及所述初始化指令进行保存,以得到与所述待转化量子程序对应的设定量子指令集。
2.根据权利要求1所述的方法,其特征在于,所述遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令,包括:
在遍历至每个节点时,获取该节点的节点类型;
判断该节点的节点类型是否属于预设的第一类型、第二类型或第三类型;
在该节点的节点类型属于第一类型或第二类型时,根据该节点的节点类型对应的预设类型标识及运行信息生成与该节点对应的运行指令;
在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型或第二类型的子节点对应的运行指令,以得到与该节点对应的运行指令。
3.根据权利要求2所述的方法,其特征在于,所述第一类型为量子逻辑门节点,所述第二类型为测量节点,所述在该节点的节点类型属于第一类型或第二类型时,根据该节点的节点类型对应的类型标识及运行信息生成与该节点对应的运行指令,包括:
在该节点的节点类型为量子逻辑门节点时,获取该节点的运行状态、量子逻辑门节点种类、目标量子比特标识,并根据与该运行状态对应的预设运行状态标识、与该量子逻辑门节点种类对应的预设量子逻辑门种类标识及所述目标量子比特标识生成与该节点对应的运行指令;
在该节点的节点类型为测量节点时,获得用于存储测量结果的寄存器的寄存器标识及被测量的量子比特的量子比特标识,并根据预设测量标识、所述寄存器标识及量子比特标识生成与该节点对应的运行指令。
4.根据权利要求3所述的方法,其特征在于,所述第三类型包括量子线路节点,所述在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型的子节点中的对应的运行指令,以得到与该节点对应的运行指令,包括:
在该节点的节点类型为量子线路节点时,获得该节点的运行状态,并通过遍历得到与该节点内的节点类型为量子逻辑门节点的子节点对应的运行指令,根据与该运行状态对应的预设运行状态标识及与子节点对应的运行指令得到与该节点对应的运行指令。
5.根据权利要求4所述的方法,其特征在于,所述在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型的子节点对应的运行指令,以得到与该节点对应的运行指令,还包括:
在该节点的节点类型为量子线路节点且该节点内包括子量子线路子节点时,获得子量子线路子节点的运行状态,并遍历得到该子量子线路子节点内的节点类型为量子逻辑门节点的子节点对应的运行指令,以得到与该节点对应的运行指令。
6.根据权利要求4或5所述的方法,其特征在于,所述第三类型还包括子量子程序节点,所述在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型或第二类型的子节点对应的运行指令,以得到与该节点对应的运行指令,还包括:
在该节点的节点类型为子量子程序节点时,遍历该子量子程序节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以得到与该节点对应的运行指令。
7.根据权利要求6所述的方法,其特征在于,所述第三类型还包括控制流节点,所述在该节点的节点类型属于第三类型时,遍历该节点内的所有子节点,并生成与节点类型属于第一类型或第二类型的子节点对应的运行指令,以得到与该节点对应的运行指令,还包括:
在该节点的节点类型为控制流节点时,获得该节点的控制流节点种类及逻辑判断语句,并根据所述逻辑判断语句及与所述控制流节点种类对应的预设控制流节点种类标识生成第一运行指令;
遍历该节点内的每个子节点,获得每个子节点的节点类型,并根据每个子节点的节点类型生成与该子节点对应的运行指令,以根据所述第一运行指令及与子节点对应的运行指令得到与该节点对应的运行指令。
8.根据权利要求2所述的方法,其特征在于,在获取该节点的节点类型之前,所述遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令,还包括:
获取该节点内的节点参数,并判断该节点参数是否符合预设规则;在该节点的节点参数符合所述预设规则时,再执行所述获取该节点的节点类型的步骤。
9.一种量子程序转化装置,其特征在于,包括:
第一转化模块,用于获取待转化量子程序中量子比特的第一数量及寄存器的第二数量,并根据所述第一数量及所述第二数量生成初始化指令;
第二转化模块,用于遍历所述待转化量子程序中的每个节点,获得每个节点的运行信息,并根据所述运行信息及预设的运行指令生成格式生成与每个节点对应的运行指令;
保存模块,用于按照节点在所述待转化量子程序中的顺序将所有所述运行指令及所述初始化指令进行保存,以得到与所述待转化量子程序对应的设定量子指令集。
10.一种电子设备,其特征在于,包括:
处理器及可读存储介质,所述可读存储介质存储有可执行计算机指令,所述可执行计算机指令由所述处理器读取并运行时,执行权利要求1-8中任意一项所述的量子程序转化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910028262.1A CN109754087B (zh) | 2019-01-11 | 2019-01-11 | 量子程序转化方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910028262.1A CN109754087B (zh) | 2019-01-11 | 2019-01-11 | 量子程序转化方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109754087A CN109754087A (zh) | 2019-05-14 |
CN109754087B true CN109754087B (zh) | 2020-12-04 |
Family
ID=66405540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910028262.1A Active CN109754087B (zh) | 2019-01-11 | 2019-01-11 | 量子程序转化方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109754087B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598867B (zh) * | 2019-09-17 | 2023-08-08 | 本源量子计算科技(合肥)股份有限公司 | 一种量子态信息转化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108710951A (zh) * | 2018-05-17 | 2018-10-26 | 合肥本源量子计算科技有限责任公司 | 一种构建量子线路的方法及系统 |
CN108734302A (zh) * | 2018-05-24 | 2018-11-02 | 合肥本源量子计算科技有限责任公司 | 一种量子计算机的编程架构及运行流程 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1870015A (zh) * | 2006-06-28 | 2006-11-29 | 中山大学 | 一种协同量子计算机体系结构方案 |
KR101517361B1 (ko) * | 2014-01-24 | 2015-05-06 | 고려대학교 산학협력단 | 수신기 측의 불완전한 얽힌 큐비트의 오류를 정정하는 방법 |
KR101768595B1 (ko) * | 2016-09-08 | 2017-08-17 | 고려대학교 산학협력단 | 양자 오류 정정 부호간 결함 허용 방식의 상호 변환 장치 및 방법 |
CN108647790A (zh) * | 2018-05-16 | 2018-10-12 | 合肥本源量子计算科技有限责任公司 | 用于统一量子计算机和量子虚拟机的接口系统及方法 |
CN109063843B (zh) * | 2018-07-12 | 2020-10-13 | 合肥本源量子计算科技有限责任公司 | 一种量子计算机软件架构系统 |
CN109063844A (zh) * | 2018-07-13 | 2018-12-21 | 合肥本源量子计算科技有限责任公司 | 一种表示量子程序的数据结构 |
CN109165741A (zh) * | 2018-08-02 | 2019-01-08 | 合肥本源量子计算科技有限责任公司 | 量子线路的处理方法、装置、存储介质和电子装置 |
-
2019
- 2019-01-11 CN CN201910028262.1A patent/CN109754087B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108710951A (zh) * | 2018-05-17 | 2018-10-26 | 合肥本源量子计算科技有限责任公司 | 一种构建量子线路的方法及系统 |
CN108734302A (zh) * | 2018-05-24 | 2018-11-02 | 合肥本源量子计算科技有限责任公司 | 一种量子计算机的编程架构及运行流程 |
Also Published As
Publication number | Publication date |
---|---|
CN109754087A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210182721A1 (en) | Method and apparatus for constructing quantum machine learning framework, quantum computer and computer storage medium | |
CN108351636B (zh) | 工程设计工具、系统及模块 | |
Jenkins et al. | Software architecture graphs as complex networks: A novel partitioning scheme to measure stability and evolution | |
JP2021105980A (ja) | 異種グラフにおけるノード表現の生成方法、装置及び電子機器 | |
CN112104664B (zh) | 物联网数据的协议转换方法、装置及设备 | |
CN111209203B (zh) | 一种基于源代码的模型验证方法 | |
CN113778449B (zh) | 航空电子接口数据适配转换系统 | |
Ma et al. | A complexity metrics set for large-scale object-oriented software systems | |
CN111367786B (zh) | 一种符号执行方法、电子设备以及存储介质 | |
CN108664241A (zh) | 一种将SysML模型进行仿真验证的方法 | |
CN107590254A (zh) | 具有合并处理方法的大数据支撑平台 | |
CN112069456A (zh) | 一种模型文件的生成方法、装置、电子设备及存储介质 | |
CN109522005A (zh) | 跨平台图形化程序设计方法 | |
CN109754087B (zh) | 量子程序转化方法、装置及电子设备 | |
US20110289396A1 (en) | Spreadsheet-Based Graphical User Interface for Dynamic System Modeling and Simulation | |
Baake et al. | Lines of descent in the deterministic mutation–selection model with pairwise interaction | |
US20100275183A1 (en) | Source code auditor with a customized rules builder | |
CN112307719A (zh) | 一种基于n叉树的字符串表达式计算方法 | |
CN112148566A (zh) | 计算引擎的监控方法、装置、电子设备及存储介质 | |
Dai et al. | IEC 61499 ontology model for semantic analysis and code generation | |
CN113835688B (zh) | 一种科学计算语言解释器的对象封装方法 | |
CN115525321A (zh) | 分布式任务生成方法、装置、设备及存储介质 | |
CN111240972B (zh) | 一种基于源代码的模型验证装置 | |
CN114047926A (zh) | 数组计算表达语言的转换方法、装置、设备及存储介质 | |
Werner et al. | Formal Methods-Based Optimization of Dataflow Models with Translation to Synchronous Models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |