量子閘

来自testwiki
跳转到导航 跳转到搜索

Template:NoteTA

常見的量子閘名稱(包括縮寫)、電路形式以及相應的酉矩陣.

量子閘(或量子邏輯閘)在量子計算和特別是量子線路的計算模型裡面是一個基本的,操作一個小數量量子位元量子線路。它是量子線路的基礎,就像傳統邏輯閘跟一般數位線路之間的關係。

與多數傳統邏輯閘不同,量子邏輯閘是可逆的。然而,傳統的計算可以只使用可逆的閘表示。舉例來說,可逆的Toffoli閘可以實做所有的布尔函数。這個閘有一個直接等同的量子閘,也因此代表量子線路可以模擬所有傳統線路的操作。

量子邏輯閘使用么正矩陣表示。就像傳統的邏輯閘一樣,它們是針對一個或兩個位元進行操作,常見的量子邏輯閘也是針對一個或兩個量子位元進行操作。這也代表這一些量子閘可以使用 2 × 2 或者 4 × 4 的么正矩陣表示。

常使用的閘

量子閘常使用矩陣表示,操作K個量子位元的閘可以用2k × 2k的么正矩陣表示。一個閘輸入跟輸出的量子位元數量必須要相等。量子閘的操作可以用代表量子閘的矩陣與代表量子位元狀態的向量作相乘來表示。

在下文中,单个量子位元的向量表示为:

v0|0+v1|1[v0v1]

而两个量子位元的向量表示为:

v00|00+v01|01+v10|10+v11|11[v00v01v10v11]

其中|ab是代表第一个量子位元处于|a态,第二个量子位元处于|b态所构成的(两个量子位元的)量子态的基矢。

阿達馬閘(Template:Lang

阿達馬閘是只對一個一個量子位元進行操作的閘。這個閘將基本狀態|0變成|0+|12,並且將|1變成|0|12。這個閘可以以阿達馬矩陣表示:

Graphical representation of Hadamard gate
H=12[1111]

因為矩陣的每一列正交,HH*=I,其中I表示单位矩阵,因此H是一個么正矩陣。

泡利-X閘(Template:Lang

泡利-X閘操作一個量子位元。這個閘相當於經典的邏輯反閘。它將|0換成|1並且|1換成|0。這個閘可以以一個泡利X矩陣表示:

X=[0110]

泡利-Y閘(Template:Lang

泡利-Y閘操作單一個量子位元。這個閘可以以一個泡利Y矩陣表示:

Y=[0ii0]

泡利-Z閘(Template:Lang

泡利-Z閘操作單一個量子位元。這個閘保留基本狀態|0不變並且將|1換成|1。這個閘可以以一個泡利Z矩陣表示:

Z=[1001]

相位偏移閘(Template:Lang

這是一系列操作單一量子位元的閘,它保留基本狀態|0並且將|1換成eiθ|1

R(θ)=[100eiθ]

這裡的θ代表相位位移。一些常見的例子像是π8閘的θ=π4,相位閘的的θ則等於π2而泡利-Z閘的θ=π

互換閘(Template:Lang

互換閘操作兩個量子位元,可以用以下這個矩陣表示:

SWAP=[1000001001000001]

受控閘(Template:Lang

Circuit representation of controlled NOT gate

受控閘操作兩個以上的量子位元,其中一個或多個量子位元視為某一些操作的控制位元。舉例來說,受控反閘Template:Lang)操作兩個量子位元,第二個量子位元只有在第一個量子位元為|1的時候進行NOT操作,否則就保持不變。這個閘可以採以下的矩陣表示:

CNOT=[1000010000010010]

更普遍地說,如果U是一個操作單一量子位元的閘,採以下這個矩陣表示:

U=[x00x01x10x11]

受控-U就是操作兩個量子位元的量子閘,以第一個量子位元作為控制。操作基本狀態如下:

Graphical representation of controlled-U gate
|00|00
|01|01
|10|1U|0=|1(x00|0+x10|1)
|11|1U|1=|1(x01|0+x11|1)

受控-U閘可以以矩陣代表如下:

C(U)=[1000010000x00x0100x10x11]

Toffoli閘(Template:Lang

Circuit representation of Toffoli gate

Toffoli閘是一個操作三個量子位元的,對傳統運算是完備的閘。量子的Toffoli閘是類同的閘,以三個量子位元定義。如果前兩個量子位元是|1,則對第三個量子位元進行泡利-X運算,反之則不做操作。這是一個受控閘的範例。既然這個閘是一個傳統邏輯閘的量子類比,因此它可以用一個真值表來完整表示如下:

INPUT OUTPUT
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 0 1
1 1 0 1 1 1
1 1 1 1 1 0

也可以將這個閘以像是|a,b,c to |a,b,cab的操作形容。

萬能量子閘

較不正式地說,一個萬能量子閘的集合,是一個任何量子線路均可以用這一些閘實做出來的集合。也就是說,任何其他的單位操作均可以從這個集合組合出一個有限長度的序列來表示。技術上來說,因為可能的量子閘數目是不可數的,而從有限大的集合取出的有限長度的序列則是可數的,所以不可能達成。為了解決這個問題,我們只要求這一個有限大小的集合可以組合出近似任何量子運算的序列。Solovay–Kitaev theorem保證這一件事情可以有效達成。

一個簡單的,操作兩個量子位元的閘,的萬能量子閘集合是一個阿達馬閘(H),一個相位偏移閘R(π/4),和一個受控反閘.

只有單一個量子閘的萬能量子閘集合可以用一個操作三個量子位元的Deutsch閘D(θ)建構出來[1],Deutsch閘它的操作如下:

|a,b,c{icos(θ)|a,b,c+sin(θ)|a,b,1cfor a=b=1|a,b,cotherwise

在傳統邏輯線路裡面的萬用算子Toffoli閘可以被簡化成一個Deutsch閘,D(π2),因此代表著所有傳統邏輯線路的操作均可以由量子電腦模擬。

歷史

現有量子閘的記號是Barenco et al.以費曼所提出的記號为基础[2]發明的。[3]

註釋

Template:Reflist

参考文献

Template:Refbegin

  • M. Nielsen and I. Chuang,Quantum Computation and Quantum Information,Cambridge University Press,2000

Template:Refend

參閱

外部連結

Template:- Template:Quantum computing Template:Quantum mechanics topics

  1. Template:CitationTemplate:Dead link
  2. R. P. Feynman,“Quantum mechanical computers”,Optics News,February 1985,11,p. 11; reprinted in Foundations of Physics 16(6) 507–531
  3. Phys. Rev. A 52 3457–3467 (1995),DOI:10.1103/PhysRevA.52.3457 Template:Wayback; e-print arXiv:quant-ph/9503016 Template:Wayback