学习笔记-Deutsch-Jozsa算法

问题描述

Deutsch算法考虑了只有一个变量的函数(参考Deutsch算法),Deutsch-Jozsa算法进行了推广,可运用于n个变量的函数。

推导过程

公式推导

1.经过第一次Hadamard变换:

|\varphi _{1} \rangle=\sum_{x\in (0,1)^{n}}\frac{1}{\sqrt{2}}|x \rangle(\frac{|0 \rangle-|1 \rangle}{\sqrt{2}})

2.对|\varphi_{1} \rangle进行F运算:

|\varphi _{2} \rangle=\sum_{x\in (0,1)^{n}}\frac{(-1)^{f(x)}}{\sqrt{2^{n}}}|x \rangle

3.丢弃最后一位,对上面的量子比特进行Hadamard变换:

先算H门作用于|x \rangle=|x_{1} \rangle|x_{2} \rangle \cdots |x_{n} \rangle上:

H^{\otimes n}\cdot |x \rangle=H|x_{1} \rangle\otimes H|x_{2} \rangle\otimes \cdots \otimes H|x_{n} \rangle

                 =\frac{1}{\sqrt{2^{n}}}\sum_{y\in (0,1)}(-1)^{x_{1}\cdot y_{1}} |y_{1} \rangle \cdots \sum_{y\in (0,1)}(-1)^{x_{n}\cdot y_{n}}|y_{n} \rangle

                 =\frac{1}{\sqrt{2^{n}}}\sum_{y\in (0,1)}(-1)^{x_{1}\cdot y_{1}+\cdots+x_{n}\cdot y_{n} } |y\rangle

                 =\frac{1}{\sqrt{2^{n}}}\sum_{y\in (0,1)}(-1)^{x\cdot y } |y\rangle                                这里的  (x\cdot y=\sum_{i=1}^{n}x_{i}y_{i})

所以:

|\varphi _{3} \rangle=|\varphi _{2} \rangle\cdot H^{\otimes n}

        =\frac{1}{2^{n}}\sum_{x\in (0,1)^{n}} \sum_{y\in (0,1)^{n}}(-1)^{f(x)+xy}|y \rangle

可以看看本源量子的文档中心对该算法的讲解:https://qcloud.originqc.com.cn/documentShow?label=1&openId=3677&pageId=3683

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值