Shor‘s量子算法

1. 问题转化:因数分解 → 阶寻找

设要分解的合数为 N,其两个未知质因数为 p 和 q。Shor算法通过以下步骤实现分解:

  1. 随机选择整数 a:
    选取 a 满足 1<a<N 且 gcd⁡(a,N)=1。若 gcd⁡(a,N)≠1,则已找到因数;否则进入下一步。

  2. 寻找 a 的阶 r:
    找到最小的正整数 r,使得 a^{r}\equiv 1modN

    • 若 r 为奇数或 a^{r/2}\equiv -1modN,需重新选择 a。

    • 否则,利用gcd(a^{r/2}\pm 1,N)得到 N 的因数。

2. 量子相位估计(Phase Estimation)的核心作用

Shor算法通过量子相位估计快速找到 a 的阶 r。其步骤如下:

步骤1:定义乘法算子M_{a}

在模 N 的加法群 ZN​ 上定义酉算子 M_{a},其作用为:

                                                     M_{a}|x\rangle = | (ax) mod N \rangle

由于 a 与 N 互质,M_{a} 是置换矩阵,其本征值为单位根 e2πik/r,其中 k∈Zr。

步骤2:构造量子态叠加
  1. 初始化量子寄存器:

                                              | \Psi \rangle=\frac{1}{\sqrt{N}}\sum_{x=0}^{N-1}|x\rangle|0\rangle
  2. 应用量子傅里叶变换(QFT):
    对第一个寄存器应用 QFTN​,得到:

                                  | \Psi \rangle=\frac{1}{N}\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}e^{2\pi ixy/N}|y\rangle|0\rangle
步骤3:应用受控乘法算子

通过受控​ M_{a}操作,将相位信息编码到量子态中:

                                        | \Psi \rangle=\frac{1}{N}\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}e^{2\pi ixy/N}|y\rangle|(a^{x}) mod N \rangle

步骤4:逆量子傅里叶变换(QFT⁻¹)

测量第二个寄存器后,第一个寄存器的态坍缩为与 r相关的周期函数。应用 QFT^{-1} 提取相位 s/r,其中 s 是整数。通过连分数展开逼近s/r,得到 r。

3. 数论关键:从阶到因数分解

假设已成功找到阶 r,且 r 为偶数,满足a^{r/2}\not\equiv -1modN,则

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​ (a^{r}-1)(a^{r}+1)\equiv 0 ,mod N

由于a^{r/2}\not\equiv \pm 1modN,N必须与a^{r/2}\pm1有平凡公因子,通过计算:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        gcd(a^{r/2}+1,N)gcd(a^{r/2}-1,N)

即可得N的因数

4.示例:分解 N=15的完整过程

  1. 选择 a=2:
    gcd⁡(2,15)=1,进入下一步。

  2. 寻找阶 r:
    计算 2^{1}=2mod 152^{2}=4mod 152^{3}=8mod 152^{4}\equiv 1mod 15,故 r=4。

  3. 验证条件:
    r=4为偶数,且 2^{2}=4\not\equiv -1mod 15

  4. 计算公因数:

                                               gcd⁡(4−1,15)=3,  gcd⁡(4+1,15)=5..

    成功分解 15=3×5。

5. 算法的量子优势

  • 经典困难性: 寻找 rr 的经典算法复杂度为指数级(如试除法),而Shor算法通过量子相位估计将其降至多项式时间 O((log⁡N)3)。

  • 量子并行性: 叠加态和量子干涉允许同时计算所有可能的 ax mod  N,并通过QFT高效提取周期 rr。


6. 群结构与算法的普适性

  • 群 ZN∗​ 的性质: 当 N=pq 为两不同质数乘积时,ZN∗≅Zp−1×Zq−1​。

  • 阶的存在性: 由拉格朗日定理,元素的阶必整除 ϕ(N)=(p−1)(q−1),但实际分解只需找到任意一个满足条件的r。

总结

        Shor算法通过量子相位估计高效求解乘法群中元素的,结合数论中最大公约数的计算,将大数分解转化为可量子加速的周期寻找问题,最终实现多项式时间分解。其步骤如下:

  1. 随机选择 a 并验证互质

  2. 用量子相位估计找到 a 的阶 rr

  3. 若 r 满足条件,计算 gcd⁡(ar/2±1,N)

附录:

1.为什么r不能为奇数或者a^{r/2}\equiv -1modN

因为会导致无法有效分解N

无法构造平方差公式:

分解的关键是将a^{r}\equiv 1modN转化为平方差形式:

                                                  (a^{r/2}-1)(a^{r/2}+1)\equiv 0 ,mod N

若r为奇数那么.,r/2不是整数,无法定义a^{r/2}mod N

a^{r/2}\equiv -1modN,则:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         a^{r/2}+1=0 mod N,那么a^{r/2}-1=-2 modN

此时:

                                 gcd(a^{r/2}+1,N)=N,gcd(a^{r/2}-1,N)=gcd(-2,N)

若 N 为奇数,gcd⁡(−2,N)=1,无法得到非平凡因数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白光白光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值