大数因子分解的量子算法流程
大数因子分解的量子算法即shor算法,由于特别适合在量子位上执行并行运算,而成为量子计算机最有前景的应用方向。
1. 输入任意整数N;
2. 判断N是否为偶数,否则至3;
3. 判断N是否为a^b,其中a>=1,b>=2,否则至4;
4. 取x∈[1,N-1],计算gcd(x,N),若无gcd(x,N)>1则至5;
5. 仍然对这个x,求x(mod N)的阶r;
6. 若r是偶数,且x^(r/2)≠-1,计算gcd(x^(r/2-1),N)和gcd(x^(r/2+1),N),并测试两者是否为N的因子,若是,停止,否则返回4。
其中计算gcd(即最大公约数)和求阶是两个关键步骤,而求阶更是需要在量子位上执行的核心过程。