CN113632111A - 使用窗口化量子算术的量子电路优化 - Google Patents

使用窗口化量子算术的量子电路优化 Download PDF

Info

Publication number
CN113632111A
CN113632111A CN202080025632.7A CN202080025632A CN113632111A CN 113632111 A CN113632111 A CN 113632111A CN 202080025632 A CN202080025632 A CN 202080025632A CN 113632111 A CN113632111 A CN 113632111A
Authority
CN
China
Prior art keywords
indices
index
value
register
window size
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.)
Pending
Application number
CN202080025632.7A
Other languages
English (en)
Inventor
C.吉德尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN113632111A publication Critical patent/CN113632111A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/4824Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices using signed-digit representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/5057Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination using table look-up; using programmable logic arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/70Photonic quantum communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Optics & Photonics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Electromagnetism (AREA)
  • Algebra (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Spectrometry And Color Measurement (AREA)
  • Measurement Of Radiation (AREA)
  • Semiconductor Memories (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Processing (AREA)
  • Superconductor Devices And Manufacturing Methods Thereof (AREA)
  • Logic Circuits (AREA)

Abstract

用于执行窗口化量子算术的方法、系统以及装置。在一个方面中,一种用于执行乘积加法运算的方法包括:确定查找表的多个条目,包括:针对第一索引集合中的每个索引,将索引值乘以乘积加法运算的标量;针对第二索引集合中的每个索引,确定多个地址值,包括:提取和在i)第二索引集合中的索引与ii)第二索引集合中的索引加上预定窗口大小之间的索引对应的源寄存器值;以及基于查找表的所确定的多个条目和所确定的多个地址值来调整目标量子寄存器的值。

Description

使用窗口化量子算术的量子电路优化
背景技术
本说明书涉及量子计算。
经典计算机具有由位组成的存储器,其中每个位可以表示零或一中的任一者。量子计算机维持被称作量子位的量子位序列,其中每个量子位可以表示零、一或零和一的任何量子叠加。量子计算机例如根据量子逻辑门的序列通过在初始状态下设置量子位并且控制量子位来操作。
发明内容
本说明书描述了用于使用窗口化量子算术来使量子计算加速的技术。
一般而言,本说明书中所描述的主题的一个创新方面可以在用于对量子位的目标量子寄存器和量子位的源量子寄存器执行乘积加法运算的方法中实施,该方法包括:确定查找表的多个条目,包括:针对第一索引集合中的每个索引,其中第一索引集合包括在零与作为预定窗口大小的函数的最大索引值之间的索引值,将索引值乘以乘积加法运算的标量;针对第二索引集合中的每个索引,其中第二索引集合包括在零与作为源量子寄存器的函数的最大索引值之间的索引值,其中索引值按预定窗口大小步进:确定多个地址值,包括:提取和在i)第二索引集合中的索引与ii)第二索引集合中的索引加上预定窗口大小之间的索引相对应的源寄存器值;以及基于查找表的所确定的多个条目和所确定的多个地址值来调整目标量子寄存器的值。
这些方面的其它实施方式包括对应计算机系统、装置以及记录在一个或多个计算机存储设备上的计算机程序,该对应计算机系统、装置以及计算机程序分别配置为执行方法的动作。一个或多个经典和/或量子计算机的系统可以配置为借助于使软件、固件、硬件或其组合安装在系统上来执行特定操作或动作,这些软件、固件、硬件或其组合在操作中致使执行动作或致使系统执行动作。一个或多个计算机程序可以配置为借助于包括指令来执行特定操作或动作,该指令在被数据处理装置执行时致使装置执行动作。
前述和其它实施方式可以分别可选地单独或组合地包括以下特征中的一个或多个。在一些实施方式中,作为预定窗口大小的函数的最大索引值等于2的预定窗口大小次幂。
在一些实施方式中,作为源量子寄存器的函数的最大索引值等于源寄存器的长度。
在一些实施方式中,预定窗口大小包括ln n,其中n表示目标量子寄存器中的逻辑量子位的数量。
在一些实施方式中,基于查找表的所确定的多个条目和所确定的多个地址值来调整目标量子寄存器的值包括:将所确定的多个条目添加到目标量子寄存器中。
在一些实施方式中,乘积加法运算执行x+=ky,其中x表示将第一值存储在目标量子寄存器中的变量,y表示将第二值存储在源量子寄存器中的对应变量,k表示乘积加法运算的经典恒定标量值。
在一些实施方式中,目标量子寄存器包括固定宽度2s补码寄存器。
在一些实施方式中,第一值包括经典整数或经典整数的叠加。
在一些实施方式中,第二值包括经典整数或经典整数的叠加。
一般而言,本说明书中所描述的主题的另一创新方面可以在用于使用量子位的目标量子寄存器和量子位的源量子寄存器执行模乘积加法运算的方法中实施,该方法包括:针对第一索引集合中的每个索引,其中第一索引集合包括在零与作为源量子寄存器的函数的最大索引值之间的索引值,其中索引值按预定窗口大小步进:确定多个地址值,包括:提取和在i)第一索引集合中的索引与ii)第一索引集合中的索引加上预定窗口大小之间的索引相对应的源寄存器值;确定多个对应表条目,包括:针对第二索引集合中的每个索引,其中第二索引集合包括在零与作为预定窗口大小的函数的最大表索引之间的索引值:确定包括i)乘积加法运算中的标量、ii)2的第一索引集合中的索引次幂以及iii)第二索引集合中的索引的乘积的表条目,且将模运算应用于所确定的表条目;以及基于所确定的多个表条目和所确定的多个地址值来调整目标量子寄存器的值。
这些方面的其它实施方式包括对应计算机系统、装置以及记录在一个或多个计算机存储设备上的计算机程序,该对应计算机系统、装置以及计算机程序分别配置为执行方法的动作。一个或多个经典和/或量子计算机的系统可以配置为借助于使软件、固件、硬件或其组合安装在系统上来执行特定操作或动作,这些软件、固件、硬件或其组合在操作中致使执行动作或致使系统执行动作。一个或多个计算机程序可以配置为借助于包括指令来执行特定操作或动作,该指令在被数据处理装置执行时致使装置执行动作。
前述和其它实施方式可以分别可选地单独或组合地包括以下特征中的一个或多个。在一些实施方式中,作为源量子寄存器的函数的最大索引值等于源量子寄存器的长度。
在一些实施方式中,作为预定窗口大小的函数的最大表索引等于2的预定窗口大小次幂。
在一些实施方式中,模乘积加法运算执行x+=ky(mod N),其中x表示将第一值存储在目标量子寄存器中的变量,y表示将第二值存储在源量子寄存器中的对应变量,k表示模乘积加法运算的经典恒定标量值,且N表示模乘积加法运算的经典恒模。
在一些实施方式中,x、y以及k的值为正且小于N。
在一些实施方式中,第一值包括经典整数或经典整数的叠加。
在一些实施方式中,第二值包括经典整数或经典整数的叠加。
在一些实施方式中,预定窗口大小包括ln n,其中n表示目标量子寄存器中的逻辑量子位的数量。
在一些实施方式中,基于所确定的多个表条目和所确定的多个地址值来调整目标量子寄存器的值包括:将所确定的多个表条目添加到目标量子寄存器中。
在一些实施方式中,该方法进一步包括:执行一系列模乘积加法运算以执行模乘运算。
一般而言,本说明书中所描述的主题的另一创新方面可以在用于将量子位的目标量子寄存器的值乘以奇整数的方法中实施,该方法包括:确定多个查找表条目,包括:针对第一索引集合中的每个索引,其中第一索引集合包括在零与作为预定窗口大小的函数的最大表索引之间的索引值:确定第一索引集合中的索引和奇整数的乘积;针对第二索引集合中的每个索引,其中第二索引集合包括从作为目标量子寄存器的函数的最大索引值到零的索引值,其中索引值按预定窗口大小步进:提取在第二索引集合中的索引到第二索引集合中的索引加上预定窗口大小之间的目标量子寄存器的多个值;以及基于所确定的多个查找表条目和目标量子寄存器的所提取的多个值来调整目标量子寄存器的多个值,其中目标量子寄存器的多个值包括在第二索引集合中的索引加上预定窗口大小与目标量子寄存器的末端之间的值。
这些方面的其它实施方式包括对应计算机系统、装置以及记录在一个或多个计算机存储设备上的计算机程序,该对应计算机系统、装置以及计算机程序分别配置为执行方法的动作。一个或多个经典和/或量子计算机的系统可以配置为借助于使软件、固件、硬件或其组合安装在系统上来执行特定操作或动作,这些软件、固件、硬件或其组合在操作中致使执行动作或致使系统执行动作。一个或多个计算机程序可以配置为借助于包括指令来执行特定操作或动作,该指令在被数据处理装置执行时致使装置执行动作。
前述和其它实施方式可以分别可选地单独或组合地包括以下特征中的一个或多个。在一些实施方式中,作为预定窗口大小的函数的最大表索引等于2的预定窗口大小次幂。
在一些实施方式中,作为目标量子寄存器的函数的最大索引值等于目标量子寄存器的长度。
在一些实施方式中,将量子位的目标量子寄存器的值乘以奇整数包括:执行x*=k,其中x表示将第一值存储在目标量子寄存器中的变量且k表示奇整数。
在一些实施方式中,第一值包括经典整数或经典整数的叠加。
在一些实施方式中,预定窗口大小包括ln n,其中n表示目标量子寄存器中的逻辑量子位的数量。
在一些实施方式中,基于所确定的多个查找表条目和目标量子寄存器的所提取的多个值来调整目标量子寄存器的多个值包括:将所确定的多个查找表条目添加到目标量子寄存器中。
一般而言,本说明书中所描述的主题的另一创新方面可以在用于使用量子位的目标量子寄存器和量子位的源量子寄存器执行模幂运算的方法中实施,该方法包括:针对第一索引集合中的每个索引,确定第一多个地址值,包括:提取多个源寄存器值;针对第二索引集合中的每个索引,确定第二多个地址值,包括:提取多个目标寄存器值;针对第三索引集合中的每个索引且针对第四索引集合中的每个索引,通过将i)第三索引集合中的索引、ii)第四索引集合中的索引以及iii)2的第二索引集合中的索引次幂相乘并应用模运算来确定表条目;使用与第一多个地址值和第二多个地址值相对应的表条目来调整模加法寄存器;针对第五索引集合中的每个索引,确定第三多个地址值,包括:提取调整后的模加法寄存器的多个值;针对第六索引集合中的每个索引,针对第七索引集合中的每个索引,通过将i)第六索引集合中的索引、ii)第七索引集合中的索引以及iii)2的第五索引集合中的索引次幂相乘并应用模运算来确定表条目;以及使用与第一多个地址值和第三多个地址值相对应的表条目来调整目标量子寄存器。
这些方面的其它实施方式包括对应计算机系统、装置以及记录在一个或多个计算机存储设备上的计算机程序,该对应计算机系统、装置以及计算机程序分别配置为执行方法的动作。一个或多个经典和/或量子计算机的系统可以配置为借助于使软件、固件、硬件或其组合安装在系统上来执行特定操作或动作,这些软件、固件、硬件或其组合在操作中致使执行动作或致使系统执行动作。一个或多个计算机程序可以配置为借助于包括指令来执行特定操作或动作,该指令在被数据处理装置执行时致使装置执行动作。
前述和其它实施方式可以分别可选地单独或组合地包括以下特征中的一个或多个。在一些实施方式中,第一索引集合包括在零与作为源量子寄存器的函数的第一最大索引值之间的索引值,其中索引值按第一预定窗口大小步进。
在一些实施方式中,索引集合包括在零与作为目标寄存器的函数的第二最大索引值之间的索引值,其中索引值按第二预定窗口大小步进。
在一些实施方式中,第三索引集合包括在1与基于第一预定窗口大小的第三最大值之间的索引值。
在一些实施方式中,第四索引集合包括在0与作为目标量子寄存器和第二预定窗口大小的函数的第四最大值之间的索引值。
在一些实施方式中,第五索引集合包括在零与作为目标寄存器的函数的第五最大索引值之间的索引值,其中索引值按第二预定窗口大小步进。
在一些实施方式中,第六索引集合包括在1与基于第二预定窗口大小的第六值之间的索引值。
在一些实施方式中,第七索引集合包括在0与作为模加法寄存器和第二预定窗口大小的函数的第七最大值之间的索引值。
在一些实施方式中,确定第一多个地址值包括:提取和在i)第一索引集合中的索引与ii)第一索引集合中的索引加上第一预定窗口大小之间的索引相对应的源寄存器值。
在一些实施方式中,确定第二多个地址值包括:提取和在i)第二索引集合中的索引与ii)第二索引集合中的索引加上第二预定窗口大小之间的索引相对应的目标寄存器值。
在一些实施方式中,确定第三多个地址值包括:提取和i)第五索引集合中的索引与ii)第五索引集合中的索引加上第二预定窗口大小之间的索引相对应的调整后的模加法寄存器的值。
在一些实施方式中,作为源量子寄存器的函数的第一最大索引值等于源量子寄存器的长度。
在一些实施方式中,作为目标寄存器的函数的第二最大索引值等于目标量子寄存器的长度。
在一些实施方式中,基于第一预定窗口大小的第三最大值包括
Figure BDA0003284341430000061
其中k表示模幂运算的标量,i表示第一索引集合中的索引,且w1表示第一预定窗口大小。
在一些实施方式中,作为目标量子寄存器和第二预定窗口大小的函数的第四最大值包括2的第二窗口大小次幂。
在一些实施方式中,作为目标寄存器的函数的第五最大索引值等于目标量子寄存器的长度。
在一些实施方式中,作为目标量子寄存器和第二预定窗口大小的函数的第七最大值包括2的第二窗口大小次幂。
在一些实施方式中,模幂运算执行x*=ke(mod N),其中x表示将第一值存储在目标量子寄存器中的变量,e表示将第二值存储在源量子寄存器中的对应变量,k表示模幂运算的经典恒定标量值,且N表示模幂运算的经典恒模。
在一些实施方式中,第一值包括经典整数或经典整数的叠加。
在一些实施方式中,第二值包括经典整数或经典整数的叠加。
在一些实施方式中,第一预定窗口大小与第二窗口大小相等。
在一些实施方式中,第一预定窗口大小和第二预定窗口大小等于ln n/2,其中n表示目标量子寄存器中的逻辑量子位的数量。
本说明书中所描述的主题可以以特定方式实施以实现以下优点中的一个或多个。
实施当前所描述的加窗技术的系统可以以较低的Toffoli复杂性和增加的计算速度执行量子算术任务,例如乘积加法、乘法以及取幂。
当前所描述的加窗技术可以应用于涉及算术运算的任何量子计算中。由于上述增加的计算速度和减小的Toffoli计数,因此实施当前所描述的技术的量子计算因此也可以实现增加的计算速度和成本/计算资源的减少。
在附图和以下描述中阐述了本说明书的主题的一种或多种实施方式的细节。本主题的其它特征、方面以及优点将通过描述、附图以及权利要求书而变得显而易见。
附图说明
图1示出了用于执行查表的示例量子电路。
图2示出了示例量子计算系统。
图3是用于对量子位的目标量子寄存器和量子位的源量子寄存器执行乘积加法运算的示例过程的流程图。
图4示出了用于对量子位的目标量子寄存器和量子位的源量子寄存器执行乘积加法运算的可执行python 3代码片段。
图5是用于将量子位的目标量子寄存器的值乘以奇整数的示例过程的流程图。
图6示出了用于将量子位的目标量子寄存器的值乘以奇整数的可执行python 3代码片段。
图7是用于使用量子位的目标量子寄存器和量子位的源量子寄存器执行模乘积加法运算的示例过程的流程图。
图8示出了用于执行模乘积加法运算的可执行python 3代码片段。
图9是用于使用量子位的目标量子寄存器和量子位的源量子寄存器执行模幂运算的示例过程的流程图。
图10示出了用于执行模幂运算的可执行python 3代码片段。
各种附图中的相似附图标记和命名指示相似元件。
具体实施方式
概述
在经典计算中,可以通过使用查找表将运算合并在一起来减少运算计数。例如,循环冗余校验奇偶校验码的快速软件实施使用预先计算的表一次性地处理多个位。这些技术被称为“加窗”。
本说明书描述了量子计算中的加窗。具体地,描述了用于通过将多个受控运算合并为作用于由QROM(量子只读存储器)查找(在本文中被称为“查表”)产生的值的单个运算来减少量子计算中的运算计数的技术。
查表是从由量子寄存器寻址的经典表中检索数据的操作。查表执行运算
Figure BDA0003284341430000081
其中T表示具有L个条目的经典预先计算表。图1是具有L-1Tofffoli计数(独立于每个条目中的位数)的用于执行查表的示例量子电路100的量子电路图。在图1中,从其它线合并和合并到其它线中以形成拐点的垂直线(例如合并线104)分别是AND计算和非计算且等效于Tofffoli门。如果设置了控制量子位102并且地址寄存器106包含二进制值a,那么示例量子电路100将来自预先计算的查找表T的第a个位串异或成W个输出量子位。在示例量子电路100中,L=23且W=6。CNOT目标旁边的问号指示应根据T中的对应位而省略或包括目标。使用已知技术(例如与本说明书中所描述的技术不同的技术),能够在O(WL/k+k)Toffolis中计算查表,其中W表示查找的输出大小且k表示自由选择的参数。
示例硬件
图2描绘了示例量子计算系统200。系统200是在一个或多个位置中的一个或多个量子计算设备和经典计算机上实施为量子和经典计算机程序的系统的示例,其中可以实施下面所描述的系统、组件以及技术。
系统200包括与一个或多个经典处理器204进行数据通信的量子计算设备202。出于方便起见,将量子计算设备202和经典处理器204图示为单独实体,然而在一些实施方式中,可以将经典处理器204包括在量子计算设备202中。
量子计算设备202包括用于执行量子计算的组件。例如,量子计算设备202包括量子电路系统206和控制设备208。
量子电路系统206包括用于执行量子计算的组件,例如用于实施本说明书中所描述的各种量子电路和操作的组件。例如,量子电路系统可以包括量子系统,该量子系统包括一个或多个多级量子子系统,例如量子位214。量子位214是可以用于执行算法运算或量子计算的物理量子位。一个或多个量子位及其交互的特定实现可以取决于各种因素,包括量子计算设备202正在执行的量子计算的类型。例如,量子位可以包括经由原子、分子或固态量子系统实现的量子位。在其它示例中,量子位可以包括但不限于超导量子位(例如Gmon或Xmon量子位)或半导量子位。实现多级量子子系统的其它示例包括fluxmon量子位、硅量子点或磷杂质量子位。在一些情况下,量子电路系统可以进一步包括附接到一个或多个超导量子位的一个或多个谐振器。在其它情况下,可以使用离子阱、光子设备或超导腔(其可以在不需要量子位的情况下准备状态)。
在本说明书中,术语“量子电路”用于指可以应用于量子位寄存器以执行相应计算的量子逻辑运算序列。可以使用量子电路系统206来构造包括不同量子逻辑运算的量子电路(例如单量子位门、多量子位门等)。可以使用控制设备208操作/实施所构造的量子电路。
量子系统中所包括的控制设备208的类型取决于量子计算设备中所包括的量子位的类型。例如,在一些情况下,多个量子位可以是频率可调谐的。也就是说,每个量子位都可以具有相关联的操作频率,可以使用一个或多个控制设备来调整该操作频率。示例操作频率包括量子位空载频率、量子位交互频率以及量子位读出频率。不同频率与量子位可以执行的不同运算对应。例如,将操作频率设置为对应空载频率可以将量子位置于其不与其它量子位强烈交互并且其可以用于执行单量子位运算/门的状态。在这些示例中,控制设备208可以包括控制量子电路系统206中所包括的量子位的频率的设备、激发脉冲产生器以及将量子位耦合到激发脉冲产生器的控制线。控制设备然后可以致使每个量子位的频率被调整朝向或远离对应控制传动系统上的激发脉冲的量子门频率。
控制设备208可以进一步包括测量设备,例如读出谐振器。可以将经由测量设备获得的测量结果提供给经典处理器204以供处理和分析。测量设备直接或间接地对量子位的特性执行物理测量,从其中可以推断出量子位的(多种)状态。
对硬件进行编程:用于执行乘积加法运算的示例过程
图3是用于对量子位的目标量子寄存器和量子位的源量子寄存器执行乘积加法运算的示例过程300的流程图。出于方便起见,过程300将被描述为由位于一个或多个位置中的一个或多个经典和量子计算设备的系统执行。例如,根据本说明书适当地编程的量子计算系统(例如图2的系统200)可以执行过程300。
由示例过程300执行的乘积加法运算可以由x=x+ky(或等效地,x+=ky)给出,其中x表示将第一值存储在目标量子寄存器中的变量,y表示将第二值存储在源量子寄存器中的对应变量,且k表示乘积加法运算的(经典)恒定标量值。第一值和第二值为量子整数。在本说明书中,量子整数是指由量子寄存器存储的经典整数或经典整数的叠加,例如作为使用2s补码小字节序格式的量子位序列。
系统确定查找表的多个条目(步骤302)。针对第一索引集合中的每个索引,其中第一索引集合包括在零与作为预定窗口大小的函数的最大索引值之间的索引值,系统将索引值乘以乘积加法运算的标量。作为预定窗口大小的函数的最大索引值可以等于2的预定窗口大小次幂。
在一些实施方式中,系统可以使用经典计算(例如经典执行的乘法)确定查找表的条目。然后可以将由所确定的条目定义的查找表存储在系统的经典存储器中。
针对第二索引集合中的每个索引,系统确定多个地址值(步骤304)并基于查找表的所确定的多个条目和所确定的多个地址值来调整目标量子寄存器的值(步骤306)。第二索引集合包括在零与作为源量子寄存器的函数的最大索引值之间的索引值,且其中索引值按预定窗口大小步进。作为源量子寄存器的函数的最大索引值可以等于源量子寄存器的长度。
为了确定多个地址值,系统提取和在i)第二索引集合中的索引与ii)第二索引集合中的索引加上预定窗口大小之间的索引对应的源量子寄存器值。系统设置等于相应提取的源量子寄存器值的多个地址值。提取源量子寄存器值是由量子计算设备基于量子一元运算/量子门(不包括测量)执行的量子计算。
为了基于查找表的所确定的多个条目和所确定的多个地址值来调整目标量子寄存器的值,系统识别与地址值(在步骤304中确定)对应的表条目(在步骤302中确定)。在一些实施方式中,系统可以将所识别的表条目存储在临时量子寄存器中。系统使用所识别的表条目来调整目标量子寄存器的条目子集。条目子集与包括来自第二索引集合的当前索引且在该当前索引之后的条目相对应。为了调整目标量子寄存器的条目子集,系统将所识别的表条目添加到目标量子寄存器中。例如,系统可以例如通过将量子加法电路应用于目标量子寄存器和临时量子寄存器,使用量子计算设备执行量子加法计算。量子加法电路可以包括实施加法运算的量子逻辑门的序列。
由示例过程300描述的乘积加法的窗口化实施具有
Figure BDA0003284341430000111
的渐近Tofffoli计数,其中w表示预定窗口大小。在一些实施方式中,预定窗口大小可以等于ln n,其中n表示目标量子寄存器中的逻辑量子位的数量。在这些实施方式中,查表与加法同样花费高昂,实现了O(n2/lg n)的Toffoli计数。
图4示出了用于对量子位的目标量子寄存器和量子位的源量子寄存器执行乘积加法运算的可执行python 3代码片段400。在本说明书中所描述的代码片段中,量子运算以与经典运算相同的方式进行指定。代码解译器然后必须将高级量子算术分解为对应的低级量子运算。例如,当a,b为拥有量子整数的变量时,语句a+=b将量子加法电路应用于a和b。如果b是经典整数,那么将b视为必须加载到量子寄存器中的临时表达(右值),使得可以应用使用经典整数的量子加法电路。存在其它类型的右值,可以将这些右值临时加载到寄存器中以便将其添加到目标中。例如,使用量子整数将查找表编入索引会产生查找右值,且因此语句a+=T[b]会导致以下三个动作:将具有经典数据T和量子地址b的查表计算到临时寄存器中,然后将临时寄存器添加到a中,然后不计算查表。
片段400的部分402定义了乘积加法运算“plus_equal_product”,其中“target”表示目标量子寄存器,“Quint”表示量子整数,“k”表示乘积加法运算的恒定标量值,“int”表示经典整数,“y”表示源量子寄存器,“window”表示预定窗口大小。
片段400的部分404与示例过程300的步骤302对应。针对第一索引集合中的范围介于0到2window的每个索引i,计算相应表条目值i*k。片段400的部分406与示例过程300的步骤304对应。针对第二索引集合中的范围介于0到按窗口大小步进的源量子寄存器的长度len(y)的每个索引i,基于计算出的表条目的对应集合中的值来调整目标寄存器的对应段内的值,其中集合的大小等于预定窗口大小。
对硬件进行编程:用于执行乘法运算的示例过程
图5是用于将量子位的目标量子寄存器的值乘以奇整数的示例过程500的流程图。出于方便起见,过程500将被描述为由位于一个或多个位置中的一个或多个经典和量子计算设备的系统执行。例如,根据本说明书适当地编程的量子计算系统(例如图2的系统200)可以执行过程500。
由示例过程500执行的乘法运算可以由x*=k给出,其中x表示将第一值存储在目标量子寄存器中的变量且k表示奇整数。第一值是量子整数,如上面参考示例过程300所定义的。
系统确定查找表的多个条目(步骤502)。针对第一索引集合中的每个索引,其中第一索引集合包括在零与作为预定窗口大小的函数的最大表索引之间的索引值,系统确定第一索引集合中的索引和奇整数的乘积。作为预定窗口大小的函数的最大表索引可以等于2的预定窗口大小次幂。
在一些实施方式中,系统可以使用经典计算(例如经典执行的乘法)确定查找表的条目。然后可以将由所确定的条目定义的查找表存储在系统的经典存储器中。
针对第二索引集合中的每个索引,系统提取目标量子寄存器的多个值(步骤504)并且基于所确定的多个查找表条目和目标量子寄存器的所提取的多个值来调整目标量子寄存器的多个值(步骤506)。第二索引集合包括从作为目标量子寄存器的函数的最大索引值到零的索引值,其中索引值按预定窗口大小步进。作为目标量子寄存器的函数的最大索引值可以等于目标量子寄存器的长度。
为了提取目标量子寄存器的多个值,系统提取在第二索引集合中的索引到第二索引集合中的索引加上预定窗口大小之间的值。提取目标量子寄存器值是由量子计算设备执行的量子计算。
为了基于查找表的所确定的多个条目和所提取的多个地址值来调整目标量子寄存器的值,系统识别与地址值(在步骤504中确定)对应的表条目(在步骤502中确定)。在一些实施方式中,系统可以将所识别的表条目存储在临时量子寄存器中。系统使用所识别的表条目来调整目标量子寄存器的条目子集。条目子集与包括来自第二索引集合加上窗口大小的当前索引且在该当前索引之后的条目相对应。为了调整目标量子寄存器的条目子集,系统将所识别的表条目添加到目标量子寄存器中。例如,系统可以例如通过将量子加法电路应用于目标量子寄存器和临时量子寄存器,使用量子计算设备执行量子加法计算。量子加法电路可以包括实施加法运算的量子逻辑门的序列。
由示例过程500描述的窗口化乘法具有
Figure BDA0003284341430000131
的Tofffoli计数,其中w表示预定窗口大小。在一些实施方式中,预定窗口大小可以等于ln n,其中n表示目标量子寄存器中的逻辑量子位的数量。在这些实施方式中,Tofffoli计数是O(n2/lg n)。
图6示出了用于将量子位的目标量子寄存器的值乘以奇整数的可执行python 3代码片段600。
片段600的部分602定义了乘法运算。如在片段400中,“target”表示目标量子寄存器,“Quint”表示量子整数,“k”表示乘法运算的恒定标量值,“int”表示经典整数,且“window”表示预定窗口大小。
片段600的部分604定义了用于归一化标量值k的可选例程。片段600的部分606与示例过程500的步骤502对应。片段600的部分608与示例过程500的步骤504和506对应。片段600的部分610定义了用于修复窗口的例程,例如以完成针对先前在部分608期间未进行运算的所有目标寄存器条目的乘法运算。
对硬件进行编程:用于执行模乘积加法的示例过程
图7是用于使用量子位的目标量子寄存器和量子位的源量子寄存器执行模乘积加法运算的示例过程700的流程图。出于方便起见,过程700将被描述为由位于一个或多个位置中的一个或多个经典和量子计算设备的系统执行。例如,根据本说明书适当地编程的量子计算系统(例如图2的系统200)可以执行过程700。
由示例过程700执行的模乘积加法运算可以由x+=ky(mod N)给出,其中x表示将第一值存储在目标量子寄存器中的变量,y表示将第二值存储在源量子寄存器中的对应变量,k表示模乘积加法运算的经典恒定标量值,且N表示模乘积加法运算的经典恒模。在一些实施方式中,x、y以及k的值为正且小于N。如上面参考图3所描述,第一值和第二值可以是量子整数。
针对第一索引集合中的每个索引,系统确定多个地址值(步骤702)并且确定多个表条目(步骤704)。第一索引集合包括在零与作为源量子寄存器的函数的最大索引值之间的索引值,其中索引值按预定窗口大小步进。作为源量子寄存器的函数的最大索引值可以等于源量子寄存器的长度。
为了确定多个地址值,系统提取和在i)第一索引集合中的索引与ii)第一索引集合中的索引加上预定窗口大小之间的索引相对应的源量子寄存器值。系统将多个地址值设置为等于相应提取的源量子寄存器值。提取源量子寄存器值是由量子计算设备执行的量子计算。
为了确定多个表条目,系统针对第二索引集合中的每个索引确定由i)乘积加法运算中的标量、ii)2的第一索引集合中的索引次幂以及iii)第二索引集合中的索引的乘积给出的表条目,然后将与模乘积加法运算对应的模运算应用于所确定的表条目。第二索引集合包括在零与作为预定窗口大小的函数的最大表索引(例如2的预定窗口大小次幂)之间的索引值。在一些实施方式中,系统可以使用经典计算(例如经典执行的乘法)确定表的条目。然后可以将由所确定的条目定义的表存储在系统的经典存储器中。
系统然后例如使用与所确定的地址值对应的表条目,基于所确定的多个表条目和所确定的多个地址值来调整目标量子寄存器的值(步骤706)。在一些实施方式中,系统可以将与所确定的地址值对应的表条目存储在临时量子寄存器中。系统使用表条目来调整目标量子寄存器的条目。为了调整目标量子寄存器的条目,系统将所确定的表条目添加到目标量子寄存器中。例如,系统可以例如通过将量子加法电路应用于目标量子寄存器和临时量子寄存器,使用量子计算设备执行量子加法计算。量子加法电路可以包括实施加法运算的量子逻辑门的序列。
由示例过程700描述的窗口化模乘积加法具有
Figure BDA0003284341430000141
的Tofffoli计数,其中w表示预定窗口大小。在一些实施方式中,预定窗口大小可以等于ln n,其中n表示目标量子寄存器中的逻辑量子位的数量。在这些实施方式中,Tofffoli计数是O(n2/ln n)。
可以执行一系列模乘积加法来执行模乘运算x*=k(mod N),其中k具有乘法逆模N并且两者都是经典常数。
图8示出了用于执行模乘积加法运算的可执行python 3代码片段800。片段800的部分802定义了模乘积加法运算“plus_equal_product_mod”,其中“target”表示目标量子寄存器,“Quint”表示量子整数,“QuintMod”表示与模数相关联的量子整数,“k”表示模乘积加法运算的恒定标量值,“int”表示经典整数,“y”表示源量子寄存器,且“window”表示预定窗口大小。
片段800的部分804与示例过程700的步骤702对应。片段800的部分806与示例过程700的步骤704对应。片段800的部分808与示例过程700的步骤706对应。
对硬件进行编程:用于执行模乘积加法的示例过程
图9是用于使用量子位的目标量子寄存器和量子位的源量子寄存器执行模幂运算的示例过程900的流程图。出于方便起见,过程900将被描述为由位于一个或多个位置中的一个或多个经典和量子计算设备的系统执行。例如,根据本说明书适当地编程的量子计算系统(例如图2的系统200)可以执行过程900。
由示例过程900执行的模幂运算可以由x*=ke(mod N)给出,其中x表示将第一值存储在目标量子寄存器中的变量,e表示将第二值存储在源量子寄存器中的对应变量,k表示模幂运算的经典恒定标量值,且N表示模幂运算的经典恒模。第一值可以是经典整数或经典整数的叠加。第二值可以是经典整数或经典整数的叠加。
针对第一索引集合中的每个索引,其中第一索引集合包括在零与作为源量子寄存器的函数的第一最大索引值(例如等于源量子寄存器的长度)之间的索引值,且其中索引值按第一预定窗口大小步进,系统执行步骤902到908。
系统通过提取和在i)第一索引集合中的索引与ii)第一索引集合中的索引加上第一预定窗口大小之间的索引相对应的源量子寄存器值来确定第一数量的地址值(步骤902)。提取源量子寄存器值是由量子计算设备执行的量子计算。
针对第二索引集合中的每个索引,其中第二索引集合包括在零与作为目标寄存器的函数的第二最大索引值(例如等于目标量子寄存器的长度)之间的索引值,且其中索引值按第二预定窗口大小步进,系统执行步骤904、906、908。
系统通过提取和在i)第二索引集合中的索引与ii)第二索引集合中的索引加上第二预定窗口大小之间的索引相对应的目标寄存器值来确定第二数量的地址值(步骤904)。提取目标量子寄存器值是由量子计算设备执行的量子计算。
针对第三索引集合中的每个索引,其中第三索引集合包括在1与基于第一预定窗口大小的第三最大值(例如
Figure BDA0003284341430000151
其中k表示模幂运算的标量,i表示第一索引集合中的索引,且w1表示第一预定窗口大小)之间的索引值,系统执行步骤906。
针对第四索引集合中的每个索引,其中第四索引集合包括在0与作为目标量子寄存器和第二预定窗口大小的函数的第四最大值(例如2的第二窗口大小次幂)之间的索引值,系统通过将i)第三索引集合中的索引、ii)第四索引集合中的索引以及iii)2的第二索引集合中的索引次幂相乘并应用模运算来确定表条目(步骤906)。在一些实施方式中,系统可以使用经典计算(例如经典执行的乘法)确定表的条目。然后可以将由所确定的条目定义的表存储在系统的经典存储器中。
系统使用与第一数量的地址值和第二数量的地址值对应的表条目来调整量子位的模加法寄存器(步骤908)。例如,系统可以例如通过将量子加法电路应用于存储与第一数量的地址值和第二数量的地址值对应的表条目的模加法寄存器和临时量子寄存器,使用量子计算设备执行量子加法计算。量子加法电路可以包括实施加法运算的量子逻辑门的序列。
针对第五索引集合中的每个索引,其中第五索引集合包括在零与作为目标寄存器的函数的第五最大索引值(例如等于目标量子寄存器的长度)之间的索引值,且其中索引值按第二预定窗口大小步进,系统执行步骤910到914。
系统通过提取和在i)第五索引集合中的索引与ii)第五索引集合中的索引加上第二预定窗口大小之间的索引相对应的调整后的模加法寄存器的值来确定第三数量的地址值(步骤910)。提取值是由量子计算设备执行的量子计算。
针对第六索引集合中的每个索引,其中第六索引集合包括在1与基于第二预定窗口大小的第六值之间的索引值,系统执行步骤912。
针对第七索引集合中的每个索引,其中第七索引集合包括在0与作为模加法寄存器和第二预定窗口大小的函数的第七最大值(例如等于2的第二窗口大小次幂)之间的索引值,系统通过将i)第六索引集合中的索引、ii)第七索引集合中的索引以及iii)2的第五索引集合中的索引次幂相乘并应用模运算来确定表条目(步骤912)。
系统使用与第一数量的地址值和第三数量的地址值对应的表条目来调整(例如通过减法)目标量子寄存器(步骤914)。
由示例过程900描述的窗口化模幂运算具有
Figure BDA0003284341430000161
的Tofffoli计数,其中ne表示指数量子位的数量,n表示寄存器大小,we表示指数加窗大小(第一预定窗口大小),且wm表示乘法加窗(第二预定窗口大小)。在一些实施方式中,第一预定窗口大小与第二窗口大小可以相等。例如,第一预定窗口大小和第二预定窗口大小可以都等于ln n/2,其中n表示目标量子寄存器中的逻辑量子位的数量。这些窗口大小产生
Figure BDA0003284341430000171
的Toffoli计数,该
Figure BDA0003284341430000172
比已知的替代算法节省了两个对数因子。
图10示出了用于执行模幂运算的可执行python 3代码片段1000。片段1000的部分1002定义了模幂运算“times_equal_exp_mod”,其中“target”表示目标量子寄存器,“Quint”表示量子整数,“QuintMod”表示与模数相关联的量子整数,“k”表示模幂运算的恒定标量值,“int”表示经典整数,“e”表示源量子寄存器,“e_window”表示第一预定窗口大小,且“m_window”表示第二预定窗口大小。
片段1000的部分1004与第一索引集合对应。部分1006与示例过程900的步骤902对应。部分1008与第二索引集合对应。部分1010与示例过程900的步骤904对应。部分1012与第三索引集合、第四索引集合以及示例过程900的步骤906对应。部分1014与示例过程900的步骤908对应。
片段1000的部分1016与第五索引集合对应。部分1018与示例过程900的步骤910对应。部分1020与第六索引集合、第七索引集合以及示例过程900的步骤912对应。部分1022与示例过程900的步骤914对应。部分1024和1026是用于重新标记交换并且将交换结果异或到正确寄存器中的可选例程。
本说明书和附录中所描述的数字和/或量子主题以及数字功能操作和量子运算的实施可以利用数字电子电路系统、合适的量子电路系统或更一般而言量子计算系统来实施,利用有形体现的数字和/或量子计算机软件或固件来实施,利用数字和/或量子计算机硬件(包括本说明书中所公开的结构及其结构等效物)来实施,或利用它们中的一个或多个的组合来实施。术语“量子计算系统”可以包括但不限于量子计算机、量子信息处理系统、量子密码系统或量子模拟器。量子计算系统(一般而言)和量子计算机(特殊地)可以被实现或基于不同量子计算模型和架构。例如,量子计算系统可以基于诸如量子电路模型、单向量子计算、绝热量子计算、完整量子计算、模拟量子计算、数字量子计算或拓扑量子计算的模型或由这些模型描述。
本说明书中所描述的数字和/或量子主题的实施方式可以实施为一个或多个数字和/或量子计算机程序,即,编码在有形的非暂时性存储介质上以供数据处理装置执行或控制该数据处理装置的操作的数字和/或量子计算机程序指令的一个或多个模块。数字和/或量子计算机存储介质可以是机器可读存储设备、机器可读存储衬底、随机或串行存取存储器设备、一个或多个量子位,或它们中的一个或多个的组合。可替代地或另外,程序指令可以编码在人工生成的传播信号(例如机器生成的电气、光学或电磁信号)上,该信号能够对数字和/或量子信息进行编码的,生成该信号是为了对用于传输到合适的接收器装置以供数据处理装置执行的数字和/或量子信息进行编码)。
术语量子信息和量子数据是指由量子系统携带、保存或存储的信息或数据,其中最小的非平凡系统是量子位,即,定义量子信息单元的系统。应理解,术语“量子位”涵盖在对应上下文中可以适当地近似为两级系统的所有量子系统。这种量子系统可以包括例如具有两级或更多级的多级系统。例如,这种系统可以包括原子、电子、光子、离子或超导量子位。在许多实施方式中,计算基础状态用基态和第一激发态识别,然而应理解,计算状态用更高级激发态识别的其它设置是可能的。
术语“数据处理装置”是指数字和/或量子数据处理硬件,并且涵盖用于处理数字和/或量子数据的所有种类的装置、设备以及机器,包括例如可编程数字处理器、可编程量子处理器、数字计算机、量子计算机、多个数字和量子处理器或计算机以及其组合。该装置还可以是或进一步包括专用逻辑电路系统,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或量子模拟器,即,设计成模拟或产生关于特定量子系统的信息的量子数据处理装置。具体地,量子模拟器是不具有执行通用量子计算的能力的专用量子计算机。除了硬件之外,装置还可以可选地包括为数字和/或量子计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
可以用任何形式的编程语言(包括:编译语言或解译语言,或陈述性语言或程序语言)来编写数字计算机程序(也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码),并且可以按照任何形式(包括:作为独立式程序或模块、组件、子例程或适合于数字计算环境的其它单元)来部署数字计算机程序。可以用任何形式的编程语言(包括:编译语言或解译语言,或陈述性语言或程序语言)来编写量子计算机程序(也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码),并将其转换成合适的量子编程语言,或可以用量子编程语言(例如QCL或Quipper)来编写该量子计算机程序。
数字和/或量子计算机程序可以但并非必须与文件系统中的文件对应。可以将程序存储在保存其它程序或数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中,或存储在专用于所探讨的程序的单个文件中,或存储在多个协作文件(例如存储一个或多个模块、子程序或部分代码的文件)中。可以将数字和/或量子计算机程序部署为在一个数字或一个量子计算机上执行或在多个数字和/或量子计算机上执行,该多个数字和/或量子计算机位于一个站点处或分布在多个站点中并且由数字和/或量子数据通信网络互连。将量子数据通信网络理解为可以使用量子系统(例如量子位)传输量子数据的网络。通常,数字数据通信网络无法传输量子数据,然而,量子数据通信网络可以传输量子数据和数字数据两者。
本说明书中所描述的过程和逻辑流程可以由一个或多个可编程数字和/或量子计算机执行,与一个或多个数字和/或量子处理器一起操作,视情况,执行一个或多个数字和/或量子计算机程序以通过对输入数字和量子数据进行操作并且生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路系统(例如FPGA或ASIC)或量子模拟器执行,并且装置也可以实施为专用逻辑电路系统或量子模拟器,或由专用逻辑电路系统或量子模拟器和一个或多个经过编程的数字和/或量子计算机的组合实施。
使一个或多个数字和/或量子计算机的系统“配置为”执行特定操作或动作意味着系统已经在其上安装有软件、固件、硬件或其组合,这些软件、固件、硬件或其组合在操作中致使系统执行操作或动作。使一个或多个数字和/或量子计算机程序配置为执行特定操作或动作意味着一个或多个程序包括指令,该指令在被数字和/或量子数据处理装置执行时致使装置执行操作或动作。量子计算机可以从数字计算机接收指令,该指令在被量子计算装置执行时致使装置执行操作或动作。
适合于执行数字和/或量子计算机程序的数字和/或量子计算机可以基于通用或专用数字和/或量子处理器或两者,或任何其它种类的中央数字和/或量子处理单元。通常,中央数字和/或量子处理单元将从只读存储器、随机存取存储器或适合于传输量子数据的量子系统(例如光子)或其组合接收指令和数字和/或量子数据。
数字和/或量子计算机的基本元件是用于进行或执行指令的中央处理单元以及用于存储指令和数字和/或量子数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路系统或量子模拟器补充或可以并入该专用逻辑电路系统或量子模拟器中。通常,数字和/或量子计算机还将包括或可操作地耦合以从用于存储数字和/或量子数据的一个或多个海量存储设备(例如适合于存储量子信息的磁盘、磁光盘、光盘或量子系统)接收数字和/或量子数据或将数字和/或量子数据传送到该一个或多个海量存储设备或二者。然而,数字和/或量子计算机无需具有此类设备。
适合于存储数字和/或量子计算机程序指令以及数字和/或量子数据的数字和/或量子计算机可读介质包括所有形式的非易失性数字和/或量子存储器、介质以及存储器设备,包括例如,半导体存储器设备(例如EPROM、EEPROM和闪速存储器设备);磁盘(例如内部硬盘或可移动盘);磁光盘;CD-ROM盘和DVD-ROM盘;以及量子系统,例如俘获原子或电子。应理解,量子存储器是可以在长时间内以高保真度和效率存储量子数据的设备,例如使用光进行传输和使用物质存储和保存量子数据的诸如叠加或量子相干性的量子特征的光-物质界面。
对本说明书中所描述的各种系统或其部分的控制可以在数字和/或量子计算机程序产品中实施,该数字和/或量子计算机程序产品包括存储在一个或多个非暂时性机器可读存储介质上并且可在一个或多个数字和/或量子处理设备上执行的指令。本说明书中所描述的系统或其部分可以分别实施为可包括一个或多个数字和/或量子处理设备和存储器以存储可执行指令来执行本说明书中所描述的操作的装置、方法或系统。
虽然本说明书包含许多特定实施细节,但这些细节不应被解释为对可以要求的内容的范围的限制,而是被解释为对可对具体实施方式特定的特征的描述。在本说明书中在单独实施方式的上下文中描述的某些特征还可以组合地实施在单种实施方式中。相反,在单种实施方式的上下文中描述的各种特征也可以单独地或按照任何合适的子组合实施在多种实施方式中。而且,尽管上文可以将特征描述为以某些组合来起作用并且最初甚至同样地对该特征进行了要求,但在一些情况下可以从组合中删除来自所要求的组合的一个或多个特征,并且所要求的组合可以涉及子组合或子组合的变化。
类似地,虽然在附图中按照特定顺序描绘了操作,但不应将其理解为需要按照所示出的特定顺序或按照相继的顺序来执行此类操作,或需要执行所有图示的操作以实现期望结果。在某些情况下,多任务处理和并行处理可以是有利的。而且,不应该将在上述实施方式中的各种系统模块和组件的分离理解为在所有实施方式中需要这种分离,并且应理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品中。
已经描述了本主题的具体实施方式。其它实施方式在以下权利要求书的范围内。例如,在权利要求书中所叙述的动作可以按照不同的顺序来执行并且仍然可以实现期望结果。作为一个示例,在附图中所描绘的过程不一定需要所示的特定顺序或相继顺序,以实现期望结果。在一些情况下,多任务处理和并行处理可以是有利的。

Claims (50)

1.一种用于对量子位的目标量子寄存器和量子位的源量子寄存器执行乘积加法运算的方法,所述方法包括:
确定查找表的多个条目,包括:针对第一索引集合中的每个索引,其中所述第一索引集合包括在零与作为预定窗口大小的函数的最大索引值之间的索引值,将所述索引值乘以所述乘积加法运算的标量;
针对第二索引集合中的每个索引,其中所述第二索引集合包括在零与作为所述源量子寄存器的函数的最大索引值之间的索引值,其中所述索引值按所述预定窗口大小步进:
确定多个地址值,包括:提取和在i)所述第二索引集合中的所述索引与ii)所述第二索引集合中的所述索引加上所述预定窗口大小之间的索引相对应的源寄存器值;以及
基于所述查找表的所确定的多个条目和所确定的多个地址值来调整所述目标量子寄存器的值。
2.根据权利要求1所述的方法,其中作为所述预定窗口大小的函数的所述最大索引值等于2的所述预定窗口大小次幂。
3.根据权利要求1所述的方法,其中作为所述源量子寄存器的函数的所述最大索引值等于源寄存器的长度。
4.根据权利要求1所述的方法,其中所述预定窗口大小包括ln n,其中n表示所述目标量子寄存器中的逻辑量子位的数量。
5.根据权利要求1所述的方法,其中基于所述查找表的所确定的多个条目和所确定的多个地址值来调整所述目标量子寄存器的值包括:将所确定的多个条目添加到所述目标量子寄存器中。
6.根据权利要求1所述的方法,其中所述乘积加法运算执行x+=ky,其中x表示将第一值存储在所述目标量子寄存器中的变量,y表示将第二值存储在所述源量子寄存器中的对应变量,k表示所述乘积加法运算的经典恒定标量值。
7.根据权利要求6所述的方法,其中所述目标量子寄存器包括固定宽度2s补码寄存器。
8.根据权利要求6所述的方法,其中所述第一值包括经典整数或经典整数的叠加。
9.根据权利要求6所述的方法,其中所述第二值包括经典整数或经典整数的叠加。
10.一种用于使用量子位的目标量子寄存器和量子位的源量子寄存器执行模乘积加法运算的方法,所述方法包括:
针对第一索引集合中的每个索引,其中所述第一索引集合包括在零与作为所述源量子寄存器的函数的最大索引值之间的索引值,其中所述索引值按预定窗口大小步进:
确定多个地址值,包括:提取和在i)所述第一索引集合中的所述索引与ii)所述第一索引集合中的所述索引加上所述预定窗口大小之间的索引相对应的源寄存器值;
确定多个对应表条目,包括:针对第二索引集合中的每个索引,其中所述第二索引集合包括在零与作为所述预定窗口大小的函数的最大表索引之间的索引值:
确定包括i)所述乘积加法运算中的标量、ii)2的所述第一索引集合中的所述索引次幂以及iii)所述第二索引集合中的所述索引的乘积的表条目,以及
将模运算应用于所确定的表条目;以及
基于所确定的多个表条目和所确定的多个地址值来调整所述目标量子寄存器的值。
11.根据权利要求10所述的方法,其中作为所述源量子寄存器的函数的所述最大索引值等于所述源量子寄存器的长度。
12.根据权利要求10所述的方法,其中作为所述预定窗口大小的函数的所述最大表索引等于2的所述预定窗口大小次幂。
13.根据权利要求10所述的方法,其中所述模乘积加法运算执行x+=ky(mod N),其中x表示将第一值存储在所述目标量子寄存器中的变量,y表示将第二值存储在所述源量子寄存器中的对应变量,k表示所述模乘积加法运算的经典恒定标量值,且N表示所述模乘积加法运算的经典恒模。
14.根据权利要求13所述的方法,其中x、y以及k的值为正且小于N。
15.根据权利要求13所述的方法,其中所述第一值包括经典整数或经典整数的叠加。
16.根据权利要求13所述的方法,其中所述第二值包括经典整数或经典整数的叠加。
17.根据权利要求10所述的方法,其中所述预定窗口大小包括ln n,其中n表示所述目标量子寄存器中的逻辑量子位的数量。
18.根据权利要求10所述的方法,其中基于所确定的多个表条目和所确定的多个地址值来调整所述目标量子寄存器的值包括:将所确定的多个表条目添加到所述目标量子寄存器中。
19.根据权利要求10所述的方法,所述方法进一步包括:执行一系列模乘积加法运算以执行模乘运算。
20.一种用于将量子位的目标量子寄存器的值乘以奇整数的方法,所述方法包括:
确定多个查找表条目,包括:针对第一索引集合中的每个索引,其中所述第一索引集合包括在零与作为预定窗口大小的函数的最大表索引之间的索引值:
确定所述第一索引集合中的所述索引和所述奇整数的乘积;
针对第二索引集合中的每个索引,其中所述第二索引集合包括从作为所述目标量子寄存器的函数的最大索引值到零的索引值,其中所述索引值按预定窗口大小步进:
提取所述第二索引集合中的所述索引到所述第二索引集合中的所述索引加上所述预定窗口大小之间的所述目标量子寄存器的多个值;以及
基于所确定的多个查找表条目和所述目标量子寄存器的所提取的多个值来调整所述目标量子寄存器的多个值,其中所述目标量子寄存器的所述多个值包括在所述第二索引集合中的所述索引加上所述预定窗口大小与所述目标量子寄存器的末端之间的值。
21.根据权利要求20所述的方法,其中作为所述预定窗口大小的函数的所述最大表索引等于2的所述预定窗口大小次幂。
22.根据权利要求20所述的方法,其中作为所述目标量子寄存器的函数的所述最大索引值等于所述目标量子寄存器的长度。
23.根据权利要求20所述的方法,其中将量子位的目标量子寄存器的值乘以奇整数包括:执行x*=k,其中x表示将第一值存储在所述目标量子寄存器中的变量且k表示所述奇整数。
24.根据权利要求23所述的方法,其中所述第一值包括经典整数或经典整数的叠加。
25.根据权利要求20所述的方法,其中所述预定窗口大小包括ln n,其中n表示所述目标量子寄存器中的逻辑量子位的数量。
26.根据权利要求20所述的方法,其中基于所确定的多个查找表条目和所述目标量子寄存器的所提取的多个值来调整所述目标量子寄存器的多个值包括:将所确定的多个查找表条目添加到所述目标量子寄存器中。
27.一种用于使用量子位的目标量子寄存器和量子位的源量子寄存器执行模幂运算的方法,所述方法包括:
针对第一索引集合中的每个索引,
确定第一多个地址值,包括:提取多个源寄存器值;
针对第二索引集合中的每个索引,
确定第二多个地址值,包括:提取多个目标寄存器值;
针对第三索引集合中的每个索引且针对第四索引集合中的每个索引,
通过将i)所述第三索引集合中的所述索引、ii)所述第四索引集合中的所述索引以及iii)2的所述第二索引集合中的所述索引次幂相乘并应用模运算来确定表条目;
使用与所述第一多个地址值和所述第二多个地址值相对应的表条目来调整模加法寄存器;
针对第五索引集合中的每个索引,
确定第三多个地址值,包括:提取调整后的模加法寄存器的多个值;
针对第六索引集合中的每个索引,
针对第七索引集合中的每个索引,
通过将i)所述第六索引集合中的所述索引、ii)所述第七索引集合中的所述索引以及iii)2的所述第五索引集合中的所述索引次幂相乘并应用模运算来确定表条目;以及
使用与所述第一多个地址值和所述第三多个地址值相对应的表条目来调整所述目标量子寄存器。
28.根据权利要求27所述的方法,其中所述第一索引集合包括在零与作为所述源量子寄存器的函数的第一最大索引值之间的索引值,其中所述索引值按第一预定窗口大小步进。
29.根据权利要求27所述的方法,其中所述第二索引集合包括在零与作为目标寄存器的函数的第二最大索引值之间的索引值,其中所述索引值按第二预定窗口大小步进。
30.根据权利要求28所述的方法,其中所述第三索引集合包括在1与基于所述第一预定窗口大小的第三最大值之间的索引值。
31.根据权利要求29所述的方法,其中所述第四索引集合包括在0与作为所述目标量子寄存器和所述第二预定窗口大小的函数的第四最大值之间的索引值。
32.根据权利要求29所述的方法,其中所述第五索引集合包括在零与作为所述目标寄存器的函数的第五最大索引值之间的索引值,其中所述索引值按所述第二预定窗口大小步进。
33.根据权利要求29所述的方法,其中所述第六索引集合包括在1与基于所述第二预定窗口大小的第六值之间的索引值。
34.根据权利要求29所述的方法,其中所述第七索引集合包括在0与作为所述模加法寄存器和所述第二预定窗口大小的函数的第七最大值之间的索引值。
35.根据权利要求27所述的方法,其中确定所述第一多个地址值包括:提取和在i)所述第一索引集合中的所述索引与ii)所述第一索引集合中的所述索引加上所述第一预定窗口大小之间的索引相对应的源寄存器值。
36.根据权利要求27所述的方法,其中确定所述第二多个地址值包括:提取和在i)所述第二索引集合中的所述索引与ii)所述第二索引集合中的所述索引加上所述第二预定窗口大小之间的索引相对应的目标寄存器值。
37.根据权利要求27所述的方法,其中确定所述第三多个地址值包括:提取和在i)所述第五索引集合中的所述索引与ii)所述第五索引集合中的所述索引加上所述第二预定窗口大小之间的索引相对应的所述调整后的模加法寄存器的值。
38.根据权利要求27所述的方法,其中作为所述源量子寄存器的函数的所述第一最大索引值等于所述源量子寄存器的长度。
39.根据权利要求27所述的方法,其中作为所述目标寄存器的函数的所述第二最大索引值等于所述目标量子寄存器的所述长度。
40.根据权利要求27所述的方法,其中基于所述第一预定窗口大小的所述第三最大值包括
Figure FDA0003284341420000061
其中k表示所述模幂运算的标量,i表示所述第一索引集合中的所述索引,且w1表示所述第一预定窗口大小。
41.根据权利要求27所述的方法,其中作为所述目标量子寄存器和所述第二预定窗口大小的函数的所述第四最大值包括2的第二窗口大小次幂。
42.根据权利要求27所述的方法,其中作为所述目标寄存器的函数的所述第五最大索引值等于所述目标量子寄存器的所述长度。
43.根据权利要求27所述的方法,其中作为所述目标量子寄存器和所述第二预定窗口大小的函数的所述第七最大值包括2的所述第二窗口大小次幂。
44.根据权利要求27所述的方法,其中所述模幂运算执行x*=ke(mod N),其中x表示将第一值存储在所述目标量子寄存器中的变量,e表示将第二值存储在所述源量子寄存器中的对应变量,k表示所述模幂运算的经典恒定标量值,且N表示所述模幂运算的经典恒模。
45.根据权利要求44所述的方法,其中所述第一值包括经典整数或经典整数的叠加。
46.根据权利要求34所述的方法,其中所述第二值包括经典整数或经典整数的叠加。
47.根据权利要求34所述的方法,其中所述第一预定窗口大小与所述第二窗口大小相等。
48.根据权利要求34所述的方法,其中所述第一预定窗口大小和所述第二预定窗口大小等于ln n/2,其中n表示所述目标量子寄存器中的逻辑量子位的数量。
49.一种装置,所述装置包括:
一个或多个经典计算处理器;以及
量子计算硬件,所述量子计算硬件与所述一个或多个经典处理器进行数据通信,
其中所述装置配置为执行根据前述权利要求中任一项所述的方法。
50.根据权利要求40所述的装置,其中所述量子计算硬件包括:
目标寄存器,所述目标寄存器包括第一多个量子位;
源寄存器,所述源寄存器包括第二多个量子位;以及
多个控制设备,所述控制设备配置为运算所述第一多个量子位和所述第二多个量子位。
CN202080025632.7A 2019-03-29 2020-03-27 使用窗口化量子算术的量子电路优化 Pending CN113632111A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962826142P 2019-03-29 2019-03-29
US62/826,142 2019-03-29
PCT/US2020/025445 WO2020205612A1 (en) 2019-03-29 2020-03-27 Quantum circuit optimization using windowed quantum arithmetic

Publications (1)

Publication Number Publication Date
CN113632111A true CN113632111A (zh) 2021-11-09

Family

ID=70286038

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202080025632.7A Pending CN113632111A (zh) 2019-03-29 2020-03-27 使用窗口化量子算术的量子电路优化
CN202080026132.5A Active CN113646785B (zh) 2019-03-29 2020-03-27 使用自动ccz量子态的表面编码计算
CN202410341674.1A Pending CN118333179A (zh) 2019-03-29 2020-03-27 使用自动ccz量子态的表面编码计算
CN202080024944.6A Active CN113646778B (zh) 2019-03-29 2020-03-27 用于执行分段相加的不经意进位轨道寄存器

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN202080026132.5A Active CN113646785B (zh) 2019-03-29 2020-03-27 使用自动ccz量子态的表面编码计算
CN202410341674.1A Pending CN118333179A (zh) 2019-03-29 2020-03-27 使用自动ccz量子态的表面编码计算
CN202080024944.6A Active CN113646778B (zh) 2019-03-29 2020-03-27 用于执行分段相加的不经意进位轨道寄存器

Country Status (6)

Country Link
US (12) US11586969B2 (zh)
EP (4) EP3918539A1 (zh)
CN (4) CN113632111A (zh)
AU (9) AU2020253282B2 (zh)
CA (4) CA3135491A1 (zh)
WO (4) WO2020205612A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114429096A (zh) * 2022-04-06 2022-05-03 北京中科弧光量子软件技术有限公司 量子电路的故障仿真方法、系统、存储介质和电子设备

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3080180A1 (en) * 2018-04-17 2019-10-24 Google Llc Methods and apparatus for performing phase operations
US11086665B2 (en) * 2018-10-22 2021-08-10 Red Hat, Inc. Scheduling services for quantum computing
WO2020205612A1 (en) * 2019-03-29 2020-10-08 Google Llc Quantum circuit optimization using windowed quantum arithmetic
KR20210153423A (ko) * 2020-06-10 2021-12-17 한국전자통신연구원 곱셉 역원 연산 회로, 장치 및 방법
US11093850B1 (en) * 2020-08-26 2021-08-17 Abu Dhabi University Quantum random access memory
US11777505B2 (en) 2020-09-28 2023-10-03 Beit Inc. Controllable quantum logic gates and methods for use therewith
US11625639B2 (en) 2020-09-28 2023-04-11 Beit Inc. Controllable quantum logic gates with measurement and methods for use therewith
US11146339B1 (en) * 2020-10-07 2021-10-12 Oxford University Innovation Limited Method of operating a quantum information processing system
US12093785B2 (en) 2020-11-13 2024-09-17 Amazon Technologies, Inc. High-fidelity measurement of bosonic modes
US11741279B2 (en) * 2020-11-13 2023-08-29 Amazon Technologies, Inc. Toffoli gate distillation from Toffoli magic states
US11681845B2 (en) 2021-01-28 2023-06-20 International Business Machines Corporation Quantum circuit valuation
CN115409192B (zh) * 2021-05-26 2024-09-27 腾讯科技(深圳)有限公司 量子比特的奇偶校验方法、超导量子芯片
US11294797B1 (en) * 2021-06-22 2022-04-05 Classiq Technologies LTD. Debugger for quantum computers
US20230401474A1 (en) * 2022-06-14 2023-12-14 Microsoft Technology Licensing, Llc DOUBLY CONTROLLED iX CIRCUIT
US20230401470A1 (en) * 2022-06-14 2023-12-14 Microsoft Technology Licensing, Llc Combined table lookup at quantum computing device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311532A1 (en) * 2012-05-19 2013-11-21 Eric B. Olsen Residue number arithmetic logic unit
CN107683460A (zh) * 2015-05-05 2018-02-09 凯恩迪股份有限公司 在传统处理器上模拟量子样计算的quanton表示
US20180113708A1 (en) * 2016-10-20 2018-04-26 Jesus Corbal Systems, apparatuses, and methods for chained fused multiply add
US20180240032A1 (en) * 2017-02-23 2018-08-23 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on a quantum processing platform
US20190042971A1 (en) * 2018-09-27 2019-02-07 Xiang Zou Apparatus and method for scalable qubit addressing

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3249745A (en) * 1962-01-09 1966-05-03 Monroe Int Two-register calculator for performing multiplication and division using identical operational steps
GB1103384A (en) * 1964-03-02 1968-02-14 Olivetti & Co Spa Improvements in or relating to electronic computers
US3937941A (en) * 1974-11-27 1976-02-10 Signetics Corporation Method and apparatus for packed BCD sign arithmetic employing a two's complement binary adder
US6252958B1 (en) * 1997-09-22 2001-06-26 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers
US7133173B2 (en) * 2004-07-26 2006-11-07 Hewlett-Packard Development Company, L.P. Nonlinear electromagnetic quantum information processing
US20230229950A1 (en) * 2005-05-16 2023-07-20 Panvia Future Technologies, Inc. Programmable quantum computer
US9779359B2 (en) * 2012-03-14 2017-10-03 Microsoft Technology Licensing, Llc Quantum arithmetic on two-dimensional quantum architectures
KR101925868B1 (ko) * 2012-05-17 2018-12-06 삼성전자주식회사 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템
US8995797B2 (en) * 2013-07-31 2015-03-31 The United States Of America As Represented By The Secretary Of The Air Force Periodic probabilistic two-dimensional cluster state generator with arbitrary interconnections
US9264148B2 (en) * 2013-09-19 2016-02-16 The United States Of America As Represented By The Secretary Of The Air Force Two dimensional photonic cluster state generator from sequential photons with multiple entanglement gates
WO2015188025A1 (en) * 2014-06-06 2015-12-10 Microsoft Technology Licensing, Llc Quantum algorithms for arithmetic and function synthesis
WO2016054079A1 (en) * 2014-09-29 2016-04-07 Zyomed Corp. Systems and methods for blood glucose and other analyte detection and measurement using collision computing
EP3113084B1 (en) * 2015-06-29 2020-12-09 Parity Quantum Computing GmbH Quantum processing device and method
WO2017083744A1 (en) * 2015-11-12 2017-05-18 Google Inc. Neural random access machine
CN115545207A (zh) * 2015-12-30 2022-12-30 谷歌有限责任公司 多个本征值的量子相位估计
CN108698815B (zh) * 2016-01-15 2022-04-08 耶鲁大学 用于操纵双量子位量子态的技术及相关系统和方法
JP2020513610A (ja) * 2016-11-10 2020-05-14 イェール ユニバーシティーYale University 一般化された量子チャンネル
US10423887B2 (en) * 2016-11-23 2019-09-24 Microsoft Technology Licensing, Llc Compilation, memory management, and fault localization with ancillas in an unknown state
US10404287B2 (en) * 2017-03-20 2019-09-03 Microsoft Technology Licensing, Llc Magic state distillation with low space overhead and asymptotic input count
CN111373421B (zh) 2017-09-08 2023-12-26 谷歌有限责任公司 具有减少的t门计数的量子电路
US11157826B2 (en) * 2018-06-08 2021-10-26 University Of Maryland, College Park Parallel multi-qubit operations on a universal ion trap quantum computer
US11694103B2 (en) * 2018-09-19 2023-07-04 Microsoft Technology Licensing, Llc Quantum-walk-based algorithm for classical optimization problems
US10997337B2 (en) * 2018-10-30 2021-05-04 Microsoft Technology Licensing, Llc Trading t-gates for qubits in arbitrary state and unitary synthesis
AU2019389094B2 (en) * 2018-11-29 2023-02-16 Google Llc Magic state factory constructions for producing CCZ and T states
GB201903884D0 (en) * 2019-03-21 2019-05-08 Quantum Motion Tech Limited Architectures for quantum information processing
WO2020205612A1 (en) * 2019-03-29 2020-10-08 Google Llc Quantum circuit optimization using windowed quantum arithmetic
US11699002B2 (en) * 2020-05-28 2023-07-11 Microsoft Technology Licensing, Llc Separable-state simulation of quantum program code
US20220084123A1 (en) * 2020-09-16 2022-03-17 Accenture Global Solutions Limited Quantum mixed integer quadratic programming and graphical user interface for portfolio optimization
US20220374378A1 (en) * 2021-05-10 2022-11-24 Quantum Machines System and method for processing between a plurality of quantum controllers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311532A1 (en) * 2012-05-19 2013-11-21 Eric B. Olsen Residue number arithmetic logic unit
CN107683460A (zh) * 2015-05-05 2018-02-09 凯恩迪股份有限公司 在传统处理器上模拟量子样计算的quanton表示
US20180113708A1 (en) * 2016-10-20 2018-04-26 Jesus Corbal Systems, apparatuses, and methods for chained fused multiply add
US20180240032A1 (en) * 2017-02-23 2018-08-23 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on a quantum processing platform
US20190042971A1 (en) * 2018-09-27 2019-02-07 Xiang Zou Apparatus and method for scalable qubit addressing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RODNEY VAN METER: ""TRADING CLASSICAL FOR QUANTUM COMPUTATION USING INDIRECTION"", 《HTTPS://WEB.SFC.KEIO.AC.JP/~RDV/QUANTUM/PUBLICATIONS/PAY-THE-EXPONENTIAL-FULL-INLINE.PDF》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114429096A (zh) * 2022-04-06 2022-05-03 北京中科弧光量子软件技术有限公司 量子电路的故障仿真方法、系统、存储介质和电子设备
CN114429096B (zh) * 2022-04-06 2022-06-24 北京中科弧光量子软件技术有限公司 量子电路的故障仿真方法、系统、存储介质和电子设备

Also Published As

Publication number Publication date
US20230177373A1 (en) 2023-06-08
US20240338582A1 (en) 2024-10-10
AU2024201831A1 (en) 2024-04-11
AU2020253340A1 (en) 2021-09-16
WO2020205618A1 (en) 2020-10-08
CA3135494C (en) 2024-02-27
AU2020256115B2 (en) 2022-08-25
EP3776384B1 (en) 2024-09-18
EP3776383A1 (en) 2021-02-17
US20200311594A1 (en) 2020-10-01
US20230267354A1 (en) 2023-08-24
WO2020205612A1 (en) 2020-10-08
CN113646778A (zh) 2021-11-12
US20210295197A1 (en) 2021-09-23
AU2023202870B2 (en) 2023-10-05
AU2022275474B2 (en) 2023-12-21
US11586969B2 (en) 2023-02-21
AU2020256115A1 (en) 2021-09-16
AU2023274198A1 (en) 2024-01-04
AU2024203562A1 (en) 2024-06-20
CA3135491A1 (en) 2020-10-08
AU2020253340B2 (en) 2023-02-09
AU2020253282A1 (en) 2021-09-16
US20200311593A1 (en) 2020-10-01
CA3226735A1 (en) 2020-10-08
US11710063B2 (en) 2023-07-25
CN113646778B (zh) 2024-09-06
AU2022275474A1 (en) 2023-01-05
US20200311592A1 (en) 2020-10-01
CN113646785B (zh) 2024-04-12
US20220237493A1 (en) 2022-07-28
US20200310760A1 (en) 2020-10-01
US11531923B2 (en) 2022-12-20
US20240020560A1 (en) 2024-01-18
US11636373B2 (en) 2023-04-25
AU2020253282B2 (en) 2022-09-01
AU2022279429B2 (en) 2024-02-29
US20230162073A1 (en) 2023-05-25
CA3135494A1 (en) 2020-10-08
CN113646785A (zh) 2021-11-12
WO2020205628A1 (en) 2020-10-08
AU2022279429A1 (en) 2023-01-19
WO2020205624A1 (en) 2020-10-08
EP3776383B1 (en) 2024-09-18
US11475348B2 (en) 2022-10-18
US11966814B2 (en) 2024-04-23
EP4435677A2 (en) 2024-09-25
US11568298B2 (en) 2023-01-31
US11030546B2 (en) 2021-06-08
EP3776384A1 (en) 2021-02-17
EP3918539A1 (en) 2021-12-08
US20230281497A1 (en) 2023-09-07
AU2023202870A1 (en) 2023-06-01
CN118333179A (zh) 2024-07-12
CA3135493A1 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
CN113632111A (zh) 使用窗口化量子算术的量子电路优化
US10430162B2 (en) Quantum resource estimates for computing elliptic curve discrete logarithms
CN110692067A (zh) 量子神经网络
AU2019454816B2 (en) Measuring quantum state purity
CN111279368B (zh) 用于执行相位运算的方法和装置

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