目录
一、受控U门
1、证明
在上一篇文章的结尾,我们讲到为了后续内容,希望大家私底下自行证明一个重要结论:
设U是作用在单良子比特上的一个酉门,则单量子比特上存在酉算子A,B,C使得ABC=I且U=
AXBXC,其中
为某个全局相位因子。
现在它的证明方法来啦!
首先,我们要讲解单量子比特的Z-X分解:假设U是单量子比特上的酉操作,存在实数、
、
和
使得
。也就是说,我们能找到一个酉矩阵满足是由旋转Z门和旋转Y门构成的。且先由旋转Z门旋转角度
,再由旋转Y门旋转角度
,最后再由旋转Z门旋转角度
。
这个好办,我们学习过旋转Z门和旋转Y门的矩阵表达式,只需要我们把式子右端这些旋转门矩阵相应的乘起来,再看看得到的最终矩阵是不是酉矩阵,就能证明出单量子比特的Z-X分解的合理性。这里省略掉计算,我们直接上最终结果:
接着,我们根据酉矩阵的性质判定是否满足。经计算,满足!
那么,我们可以令A=,B=
,C=
,不难发现ABC=I(脑补一下,一个球先绕Z轴逆时针旋转
,再绕y轴逆时针旋转
,再绕y轴顺时针旋转
,然后绕z轴顺时针旋转
,最后绕z轴逆时针旋转
不就是自己本身吗?而矩阵中相乘仍然表示自己本身的矩阵不就是单位矩阵I吗?)
利用X门矩阵相乘为单位阵,以及可知,
这意味着AXBXC=,即ABC=I且U=
AXBXC。
2、受控U门的量子电路构造
相信不少同学又要有疑问了:小编,你讲了这么多,我们虽然知道了这个结论,但这结论有啥用吗,反正我是百思不得其解。
别急别急,它的最大的用处,就是帮助我们构造受控U门的电路。
众所周知,我们知道最简单的酉矩阵为,我们根据多比特量子门的性质,乘一下,发现它的真值表如下:
|00> | |00> |
|01> | |01> |
|10> | |
|11> |
所以相当于那么控制比特乘上矩阵,大家可以自己验证一下。
显然构造没有这么简单,我们期待的是,将目标比特乘上,而不是控制比特,否则这样会失去“控制”的效果,变得华而不实。
其实根据我们刚刚的结论,我们可以这么想:如果控制比特为|0>,就进行ABC=I的运算,也就是对这条电路不起作用,相反如果控制比特为|1>,就进行U=AXBXC运算。
X为非门,为了显示“控制”,所以使用的是受控非门CNOT门,这一点大家应该能够理解,就不过多解释了。
二、SWAP门
你是否还在为两个比特不能转换而发愁?你是否在制作量子电路时发现:明明第一条线路为|1>更好,第二个线路为|0>更好,但是这俩就是反着来?
它来了它来了,它带着礼物走来了,它来了它来了,它脚踏祥云进来了!有请我们的重量级嘉宾:SWAP门、sqiSWAP与iSWAP门。
由刚刚的说辞,我们可以发现,SWAP门、sqiSWAP门与iSWAP门的主要作用是交换两个比特的状态。但是天下怎么可能白掉馅饼,它的代价是iSWAP门被赋予了相位。iSWAP门在某些体系中是比较容易实现的两比特逻辑门,他是由泡利X矩阵和泡利Y矩阵作为生成元生成,需要将矩阵对角化,它的矩阵表示如下:
感兴趣的同志们可以试一下,是不是实现了交换,且获得了相应的相位。
而sqiSWAP门获得的是的相位,其矩阵表达式为:
而SWAP门就简单多了,它没有获得的相位,其矩阵表达式为:
三、Toffoli门
我们已经学习了如何通过单量子比特来设定条件,那么,如何在多量子比特上设定条件呢?我们先构造一个Toffoli门,也就是当前两个量子比特(控制比特)都为1时,才会翻转第三个量子比特(目标量子比特)。
大家可以看结果前自己算一算,想一想,如何实现这种操作的矩阵。
答案是,是不是感觉这个矩阵超级大,毕竟是三量子比特的,至少维度是个2乘2乘2的矩阵。
更一般的,假设我们有n+k个量子比特,U是一个k量子比特酉算子,利用如下等式对受控操作进行定义:
其中在U指数中x1x2……xn表示乘积,也就是说,若前面n量子比特均等于1,则对最后k量子比特应用操作U,否则不变。这样的条件运算非常有用,以至于我们引入一种特殊的电路表示如下。
Toffoli门是操作的一个重要案例,即
。当然了,这其中还有很多门道:如何用简单的单量子比特门构造出宏大的多量子比特门,这是我们后面的课程所需要考虑的。下一篇文章小编将会讲解pyqpanda的编程计算,请大家敬请期待吧!