经典计算机表示信息的方式是位,它可以有两种状态:“0”或“1”。算法通过操纵比特来执行<一个href="//www.parkandroid.com/wiki/logic-gates/" class="wiki_link" title="盖茨gydF4y2Ba" target="_blank">盖茨一个>,从而改变比特的状态。物理上,位可以通过设备中两个电压级别之一的开关来实现,而门是电路的一个特殊部分。
通常,一些常见的门是NOT门和and门。NOT门作用于一个位将“0”映射到“1”,反之亦然。AND门接受两个比特作为输入,如果两个输入比特都是“1”,则将它们映射为“1”,否则将它们映射为“0”。
NAND(非与)门需要两个比特
x而且
y,用AND作用于它们,用NOT作用于结果。写下NAND门所有可能选择的输入位的输出
x而且
y.
下表给出了所有可能的输入位选择的NAND门的输出
x而且
y:
x0011y0101x与非y1110
要了解这些结果是如何生成的,请考虑这两个输入位
x=0而且
y=1.AND门地图
(0,1)来
0.NOT门然后地图
0来
1,如表所示。对于其他输入位的选择,计算NAND的过程是类似的。
□
CNOT(受控非)门是一种映射一对比特的可逆门
x而且
y来
x把CNOTy=(x,(x+y)国防部2).找到
1把CNOT1.
NAND门是计算通用.这意味着任何位上的函数都可以用NAND门同时操作两个位来构造。然而,NAND门的作用不是可逆的,因为它需要两个输入对一个输出,而且输出不是唯一的。由于任何可逆门都可以在量子计算机上实现,因此在量子计算中使用可逆门通常很方便。NAND门可以用一个可逆门来模拟,这个可逆门采用三个比特作为输入Toffoli门.托夫利门地图
(x,y,z)来
(x,y,(z+x∗y)国防部2).当
z=1,托夫利门地图
(x,y,1)来
(x,y,x与非y).因为量子计算机可以实现托夫利门,所以量子计算机在经典计算上是通用的,尽管单独的托夫利门不足以实现任何功能量子州。
(1,0,0)
(1,0, - 1)
(0,1,0)
(0, 1, 1)
求作用于托夫利门的输出
(1,0,1).
量子计算机和经典计算机一样,依赖于作用于双态系统中的状态的门。这种双态系统的一个简单物理原型是电子,它的自旋可以指向上,也可以指向下。作为量子力学的惯例,这些态通常被写成
∣0⟩
而且
∣1⟩.与经典计算机不同的是,量子计算机并不局限于仅仅操纵这两种状态。态的叠加,例如
2
∣0⟩+∣1⟩,也是可能的。因为叠加是一种量子性质,这些双态系统被称为量子比特或更常见的名称量子比特.
量子位的状态也可以表示为二维向量,例如:
∣0⟩=(10),∣1⟩=(01).
这很重要,因为很容易用数学方法将门表示为
2×2
通过乘以相应的向量作用于量子位的矩阵。
一个任意的状态
∣Ψ⟩
可以写成的线性组合
∣0⟩而且
∣1⟩也就是复系数
∣Ψ⟩=一个∣0⟩+b∣1⟩,一个,b∈C.
(我−1−1−我)
(我−1−我)
(−1−1−我)
(1−1−我)
写出量子位状态
∣Ψ⟩=我∣0⟩−(1+我)(∣0⟩+∣1⟩)
作为一个二维向量。
经典计算机要描述任意量子态,需要两个复数;同样,模型
n
经典计算机上的任意量子态要求
2n因此是复数的最小值
2n位。量子计算机只需要
n量子位来描述
n通过定义。因此,在经典计算机上对那些用于化学的量子系统建模所需的时间将随着状态的数量呈指数增长
n人们想要建模,而在量子计算机上建模同样的系统只需要时间线性增长
n.对于这个基本的例子,计算时间的差异通常用经典计算机表示
O(2n)量子计算机的时间
O(n)时间。这是一个例子<一个href="//www.parkandroid.com/wiki/big-o-notation/" class="wiki_link" title="大O符号gydF4y2Ba" target="_blank">大O符号一个>,大致说明了随着输入数量的增加,计算时间是如何增长的
n.
量子计算中一个重要的门是阿达玛门.这个门,用
H,具有矩阵形式和状态符号的表示形式如下:
H=2
1(111−1)=2
1x,y∈{0,1}∑(−1)xy∣x⟩⟨y∣.
证明阿达玛门在两种状态下都旋转
∣0⟩而且
∣1⟩变成两者相等的叠加。
用阿达玛门的矩阵表示直接作用于每个状态的向量表示,
H∣0⟩H∣1⟩=2
1(111−1)(10)=2
1(11)=2
∣0⟩+∣1⟩=2
1(111−1)(01)=2
1(1−1)=2
∣0⟩−∣1⟩.
两者是相等的叠加
∣0⟩而且
∣1⟩声称。
□
一般来说,阿达玛门地图
n所有处于相同状态的量子位到所有可能状态的相等叠加
n量子位。这使得阿达玛门成为量子算法的重要组成部分,如下面描述的那些。