经典的计算机用…来表示信息位,有两种状态:“0”或“1”。运算法则通过操纵比特来执行<一个href="//www.parkandroid.com/wiki/logic-gates/" class="wiki_link" title="盖茨gydF4y2Ba" target="_blank">盖茨一个>,它改变位的状态。从物理上讲,位可以通过设备中两个电压电平之一之间的开关来实现,而门是电路中的一个特殊部分。
一般来说,一些常见的门是非门和与门。NOT门作用于一个位将“0”映射为“1”,反之亦然。AND门接受两个位作为输入,如果两个输入位都是“1”,则将它们映射为“1”,否则映射为“0”。
非和(非与)门需要两个比特
x和
y,用AND对其进行操作,用NOT对结果进行操作。记下所有可能的输入位的与非门的输出
x和
y.
下表给出了输入位的所有可能选择的与非门的输出
x和
y:
x0011y0101x与非y1110
要查看这些结果是如何生成的,请考虑这两个输入位
x=0和
y=1.与门地图
(0,1)来
0.然后,NOT门映射
0来
1,如表中所示。为其他选择的输入位计算与非运算的过程是类似的。
□
CNOT(受控非)门是映射一对位的可逆门
x和
y来
x把CNOTy=(x,(x+y)国防部2).找到
1把CNOT1.
与非门是计算通用.这意味着任何数量的位上的任何函数都可以只用与非门一次操作两个位来构造。然而,与非门的动作不是可逆的,因为它将两个输入输入到一个输出,并且输出不是唯一的。由于任何可逆门都可以在量子计算机上实现,因此在量子计算中使用可逆门通常是很方便的。与非门可以用一个可逆门来模拟,它以3位作为输入,称为Toffoli门.Toffoli门地图
(x,y,z)来
(x,y,(z+x∗y)国防部2).当
z=1, Toffoli门地图
(x,y,1)来
(x,y,x与非y).由于量子计算机可以实现Toffoli门,量子计算机在传统计算上是通用的,尽管仅凭Toffoli门不足以实现任何功能量子州。
(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量子位。这使得哈达玛门成为量子算法的一个重要组成部分,如下所述。