量子計(jì)算 [2] -- 量子位門
量子位門(Qubit Gate, 或簡(jiǎn)稱位門Gate),? 是對(duì)量子位進(jìn)行操作的基本途徑.? 如同邏輯門是電子計(jì)算機(jī)的起點(diǎn)一樣,? 量子位門也是量子計(jì)算機(jī)的起點(diǎn),? 所有量子位操作都是由量子位門實(shí)現(xiàn)的.

單量子位門
如同名稱一樣,? 這類位門是作用在1個(gè)量子位上的,? 并且只會(huì)改變1個(gè)量子位的狀態(tài).? 所以如果有個(gè)可分的多量子位系統(tǒng),? 無論塞多少單量子位門進(jìn)去,? 系統(tǒng)都是可分的.
因?yàn)閱瘟孔游挥袃蓚€(gè)狀態(tài),? 所以最多需要4個(gè)數(shù)字表示單量子位的所有操作.
記 U 為隨意一個(gè)單量子位門,? 則 U = a|0??0| + b|0??1| + c|1??0| + d|1??1|,? 其中b為在操作U里從狀態(tài)1變?yōu)闋顟B(tài)0的"比例",? 還是用例子最快:?
現(xiàn)在有一個(gè)隨意的量子位:?|ψ? = α|0? + β|1?,? 把U作用到|ψ?上,? 寫作 U|ψ?,? 寫成完整式子有? (a|0??0|+b|0??1|+c|1??0|+d|1??1|)(α|0?+β|1?),? 初中數(shù)學(xué)得:? aα|0??0|0?+bα|0??1|0?+cα|1??0|0?+dα|1??1|0?+aβ|0??0|1?+bβ|0??1|1?+cβ|1??0|1?+dβ|1??1|1?.? 看到里面出現(xiàn)了大量的?·|·?的,? 當(dāng)左右兩個(gè)數(shù)字相等時(shí)為1, 否則為0,? 也就是說??0|0?=1,??0|1?=0,??1|0?=0,??1|1?=1.? 對(duì)上式所有?·|·?計(jì)算得:??aα|0?+cα|1?+bβ|0?+dβ|1?,? 合拼同類項(xiàng):? (aα+bβ)|0?+(cα+dβ)|1?.? 也就是說??U|ψ? =?(aα+bβ)|0?+(cα+dβ)|1?.
當(dāng)存在多個(gè)單量子位門時(shí),? 計(jì)算順序是從右到左,? 這與四則運(yùn)算有點(diǎn)不一樣 [當(dāng)然, 從左到右逐個(gè)位門計(jì)算也是ok的],? 并且位門絕對(duì)不會(huì)出現(xiàn)在量子位右側(cè) [畢竟U|ψ?是說把位門作用到量子位上, |ψ?U的話把量子位作用到位門上是干什么]
下面介紹幾個(gè)常用的單量子位門:?
?I 門 (Identity?Gate),? I = |0??0| + |1??1|.? 這個(gè)門完全不會(huì)改變量子位,? 就是一個(gè)擺設(shè)
H門 (Hadamard?Gate),? H = 2^0.5 * (|0??0| + |0??1| + |1??0| - |1??1|).? 這個(gè)門可以快速地制備均勻疊加的量子位,? 比如H|0?為0.5概率在|0?, 0.5概率在|1?.? H|1?也類似, 但|0?與|1?的相位相差了π.
X門 (Pauli X Gate),? X =?|0??1|?+ |1??0|.? X門用于交換|0?與|1?
Y門 (Pauli Y?Gate),? Y = -i|0??1|?+ i|1??0|.? Y門與X門類似,? 但兩個(gè)狀態(tài)都被加上或減去了π/2相位
Z門 (Pauli Z?Gate),? Z =?|0??0| -?|1??1|.? Z門是翻轉(zhuǎn)|1?的相位,? 則在很多疊加態(tài)的系統(tǒng)時(shí)里需要干涉時(shí)非常有用,? X = HZH
上面的門都有一個(gè)特點(diǎn):? 就是自身為自身的逆,? 也就是說連續(xù)在量子位上應(yīng)用兩次相同的門,? 會(huì)恢復(fù)到引用之前的狀態(tài),? 這種特性常用來從數(shù)據(jù)量子位運(yùn)算得到結(jié)果量子位后,? 把數(shù)據(jù)量子位恢復(fù)到運(yùn)算前的狀態(tài)?[因?yàn)榱孔又g互相糾纏干涉,? 常常會(huì)在運(yùn)算時(shí)數(shù)據(jù)被修改, 甚至有時(shí)會(huì)把數(shù)據(jù)位用作臨時(shí)結(jié)果位].
下面的門也屬于單量子位門,? 但自身的逆為其他位門,? 關(guān)于位門的逆,? 可以期待一下可能存在的附章.? S門和T門屬于相位偏移門(Pahse?Shift?Gates).? Rx, Ry, Rz和R1都屬于旋轉(zhuǎn)門(Rotation?Gates),? 這是因?yàn)樵贐loch球里看上去就是繞著相應(yīng)的軸轉(zhuǎn)動(dòng)一定角度一樣.
S =?|0??0| +?i|1??1|
T =?|0??0| + e^(iπ/4)?|1??1|
Rx(θ) =?cos(θ/2)|0??0|?- isin(θ/2)|0??1|?- isin(θ/2)|1??0| +?cos(θ/2)|1??1|
Ry(θ) =?cos(θ/2)|0??0|?- sin(θ/2)|0??1| +?sin(θ/2)|1??0| +?cos(θ/2)|1??1|
Rz(θ) =?e^(-iθ/2)|0??0| +?e^(iθ/2)|1??1|
R1(θ) =?|0??0| +?e^(iθ)|1??1|, R1門的旋轉(zhuǎn)定義與四元數(shù)(quaternion)有關(guān),? 這實(shí)在是遠(yuǎn)遠(yuǎn)超過了量子計(jì)算的范疇了

多量子位門
對(duì)于多量子位來說,? 所有可能的位門實(shí)在過于繁多,? 因此在這里只介紹一種特殊的多量子位門: 控制位門 (Controlled Gate),? 并且已經(jīng)被證明:? 任意一個(gè)多量子位門都可以從單量子位門和CNOT門組合得到,? CNOT門就是一個(gè)兩量子位的控制位門.??
控制位門由三部分組成:? 位門, 控制位和被控制位.? 當(dāng)控制位全部為|1?時(shí),? 位門作用到被控制位上.
比如說CNOT門里的位門為X門,? 并且控制位和被控制位都只有1個(gè).? 假設(shè)現(xiàn)在有一個(gè)雙量子位系統(tǒng):? 第1位為控制位,? 第2位為被控制位,? 應(yīng)用CNOT時(shí) [X門的作用是交換量子位的|0?和|1?狀態(tài)],? 當(dāng)?shù)?位為|1?時(shí),? 交換第2為的|0?和|1?.? 設(shè)雙量子位系統(tǒng)狀態(tài)為??|ψ? = c_0|00? + c_1|01? + c_2|10? + c_3|11?,? 應(yīng)用CNOT會(huì)交換|10?和|11? [第1位為|1?, 交換第2位|0?和|1?],? 得到?c_0|00? + c_1|01? + c_3|10? + c_2|11?
CNOT =?|00??00| +?|01??01| +?|11??10| +?|10??11|
試驗(yàn):? ?制造一個(gè)雙量子位系統(tǒng),? 引用H門到第1位上,? 查看一下系統(tǒng)狀態(tài),? 然后以第1位為控制位, 第2位為被控制位, 應(yīng)用CNOT門,? 再查看系統(tǒng)狀態(tài) [這里使用了自制的量子計(jì)算模擬庫(kù), 也可以使用Q#等主流語(yǔ)言/庫(kù)]




作用CNOT后整個(gè)系統(tǒng)變?yōu)榱瞬豢煞譅顟B(tài),? 可以看出量子位的糾纏是從控制位門產(chǎn)生的.
還有一個(gè)常用的控制位門為Toffoli門(又稱CCNOT門),? 與CNOT門類似,? Toffoli門里的位門也是X門,? 且被控制位為1為,? 但控制位變?yōu)?位.? 只有當(dāng)控制位都為|1?時(shí)才會(huì)交換被控制位的狀態(tài), 示例:

把CCNOT門分解為單量子位門和CNOT門的組合得:

控制位門能做的事情還有很多,? 比如說把控制位全部應(yīng)用X門后,? 再應(yīng)用控制位門,? 然后再把X門應(yīng)用上控制位,? 就可以做到原本控制位的狀態(tài)全部為|0?時(shí)才會(huì)把位門作用在被控制位上.? 并且如果位門本來就是多量子位門/操作,? 被控制位還可以是多個(gè)量子位

結(jié)語(yǔ)
在本篇了簡(jiǎn)單了解了量子計(jì)算的磚塊 -- 量子位門,? 正式踏出了量子計(jì)算的第一步.? 跟第一篇一樣,? 這篇也是會(huì)有附章介紹里面的數(shù)學(xué)計(jì)算的,? 只不過半夜4:30實(shí)在莫得精力了,? 下次一定.jpg
吐槽:? 本來是懶得做圖的,? 但是不做封面真的太難看啦,? 所以隨便latex了一條東西上去算了
自制的量子模擬庫(kù)項(xiàng)目: [github.com/nyasyamorina/nyasQuantumCalculate],? 庫(kù)還是在beta階段,? 內(nèi)部代碼隨時(shí)會(huì)發(fā)生大重構(gòu) [比如說之前是cython為主, 現(xiàn)在直接轉(zhuǎn)為純python+numpy了]
日常推Q群: [274767696]