1.一种量子除法器的设计方法,其特征在于:该方法包括以下步骤:S1:利用量子门设计n位量子比较器,实现两个n位二进制数的比较运算;
S2:利用量子门设计等位和不等位量子减法器;
S3:将步骤S1和S2中的比较器和减法器综合设计得到量子除法器;
S4:采用经典计算机与IBM实验室提供的开源量子云模拟器搭建实验平台并进行仿真模拟实现量子除法运算;
所述步骤S1具体为:
给定两个n比特量子态组成的复合系统|a>|b>,采用量子比特串比较器QBSC实现量子比特串|a>=|an‑1an‑2...a0|和|b>=|bn‑1bn‑2...b0|的比较运算,QBSC是如下所示的酉演化UCMP:UCMP|a>|b>|0>|0>=|a>|b>|0>|c>其中,比较器的实现还需要另外2个被初始化为0的辅助量子比特;|0>并未携带任何有用的信息,最后的量子比特态|c>携带比较所得的结果信息,|a>和|b>分别为进行比较的两个量子比特串;
所述步骤S2具体为:
n个一位的量子减法器叠加在一起,构成n位量子比特的等位相减,从最低位开始相减,其借位作为下一次减法的上一次的借位,这样将借位置零交替复用,实现循环,直到完成最高位的相减,最后得出相减的结果;
所述步骤S3具体为:
S31,利用比较器对除数N和被除数M进行比较,比较之前先将表示除数N的量子比特与表示被除数M的量子比特从高位到低位依次对齐,比较结果作为控制位a,控制位a的值为:当除数N表示的量子比特小于被除数M所表示的量子比特中与除数N对齐的量子比特时,控制位为0;反之为1;a作为控制位,控制商S的最高位,当控制位结果为1时,商S赋值1;当控制位结果为0时,商S赋值0;
S32,将S31中的a作为控制位,在减法器的作用下,控制减法运算;减法运算的结果为b,除数与b的次高位对齐,并以b的最高位c为控制位对商的次高位赋值,c同时也是减法的控制位;
S33,S32减法运算的结果为d,d作为新的循环的开始,除数N表示的量子比特与d的次高位对齐;
S34,重复S31、S32、S33,直到所有表示被除数M的量子比特参与完成运算,此时结果保留到整数位,若进一步保留到小数,则在表示被除数M的量子比特后增加新的状态为|0>的量子比特作为被除数的低位,再次重复S31、S32、S33,结果保留到小数位,小数位的精确程度与添加的|0>比特的数量有关,添加的|0>比特越多结果越精确;
所述步骤S4具体为:
利用开源量子计算工具包QISKIT以及Anaconda提供的包管理和环境管理功能,用Python语言模拟并实现量子除法运算仿真。