閘與電路
包立閘(X、Y、Z)
把單個量子位元想像成一支可以指向地球儀(布洛赫球)上任意方向的箭頭。包立閘就是把這支箭頭繞球面翻轉半圈的三種最簡單的方式,每個軸各對應一個。X 是位元翻轉:它交換 |0> 和 |1>,就像古典的 NOT 閘。Z 是相位翻轉:它讓 |0> 保持不變,卻翻轉 |1> 前面的符號——這在單次測量裡你直接看不出任何變化,但它改變了這個量子位元與其他位元發生干涉的方式。Y 則同時做兩件事,把位元翻轉和相位翻轉合在一起。每個閘都是自己的還原鍵:連用兩次,你就回到了出發的地方。
這三個閘還有第二個容易被忽視的重要意義。當一個量子位元受到雜訊擾動時,出了什麼差錯總可以描述成某種組合:'某個位元被翻轉了'(X)、'某個相位被翻轉了'(Z),或兩者都有(Y)。所以包立閘不只是你主動選擇去執行的操作;它們同時也是描述量子糾錯必須偵測並修正的那些錯誤的標準語彙。如果一種糾錯碼能可靠地抓住其量子位元上的 X、Z、Y 錯誤,那麼原則上它就能抓住任何單位元錯誤,因為每一種錯誤都是這幾種的組合。這就是為什麼在討論如何造出一台可靠的機器時,X、Y、Z 會無處不在,而不只是出現在討論這台機器算什麼的時候。
X(alpha|0> + beta|1>) = alpha|1> + beta|0>; Z(alpha|0> + beta|1>) = alpha|0> - beta|1>
X 交換兩個振幅(位元翻轉);Z 保持 |0> 不動,並翻轉 |1> 振幅的符號(相位翻轉)。
X、Y、Z 是很有用的基本構件,但它們本身並不構成一套通用閘集;要實現任意計算,你還需要額外的閘(例如 H 和 T,再加上一個像 CNOT 這樣的雙位元閘)。
又稱
另見