量子電路的兩點特殊
Axiom 1: Superposition principle
量子態是可以疊加的。
而疊加態的性質賦予了量子指數增長的可能。
一個量子比特就是二維Hilbert空間中的向量,兩個量子比特就是四維Hilbert空間的中向量,三個就是八維, nn 個量子比特就是 2n2n 維Hilbert空間中的向量。
另外,需要注意的一點是,即使我只是在一個量子比特上操作,變化的也是整個系統。
Axiom 2: Unitary Evolution
量子電路和經典另一個重要的不同就是量子電路是可逆的。
經典電路沒有可逆的要求,比如OR門,如果輸出是1,你知道輸入是什么嗎?(1,1)、(1,0)、(0,1)都有可能,因為信息丟失了,四種輸入的可能,輸出卻只有兩種,信息丟失了。
而量子的操作變換則必須是酉變換,即,可逆,我可以根據我輸出的信息反推我的輸入。
量子可逆電路
經典可逆電路其實是比較容易的。
NOT門,他自己就是可逆的,取反再取反就是本身。
AND門,C-SWAP門其實就可以代替AND門
將z固定為0,則c只有在x和y都為1的時候為1,其余時候為0,滿足AND門的要求。同時因為有a和b的存在,可以輕易的推導出x,y。
如果將希望能夠從輸出推導出輸入,那么顯然,會有junk bit(垃圾比特)的存在,即除了我們想要目標以外的結果,不是我們想要的目的,但是是我們推導輸入不可或缺的存在,對于C-SWAP門來說,就是a,b。
junk bit對于經典比特來說,就是多出來的比特而已,但是對于量子比特來說,卻是需要被remove的東西。如果不處理,會影響后續的計算。所以說,設計量子電路,第一個問題其實不是量子電路能夠比經典電路加速多少倍,而是量子電路是否可以做到經典電路做到的事。
為什么要移除垃圾比特
對于經典比特來說,我不需要的比特,直接不要就可以了。我的后續操作中不涉及這些垃圾比特就沒有關系,但是因為有量子相干的存在,如果我直接不管垃圾比特會讓后續的測量得到完全不一樣的結果。
例子:
令我們的目標函數是f(x)=x,A是沒有垃圾比特的情況,即,我們輸入什么輸出什么。而B是有垃圾比特情況,第一個比特存目標答案,f(x)=x,第二個比特是我們的垃圾比特,假設這里的垃圾比特是junk(x)=x。
例子A:
在A的情況下,如果我們的輸入是 12√|0?+12√|1?12|0?+12|1? ,經過A門,還是 12√|0?+12√|1?12|0?+12|1? ,在H門后,我們的比特又變成了 |0?|0? ,此時測量,得到的結果一定是 |0?|0? 。
例子B:
在B的情況下,如果我們的輸入是 (12√|0?+12√|1?)|0?(12|0?+12|1?)|0? ,經過A門,則變成了12√|00?+12√|11?12|00?+12|11? ,此時對第一個比特進行H門操作,得到結果 12|00?+12|10?+12|10??12|10?12|00?+12|10?+12|10??12|10? 。此時對第一個比特測量,得到的結果是 |0?|0? 或者是 |1?|1? 的概率是一樣的。
因為有了第二個比特的存在,所以上述式子中的 ?? 不能直接抵消第一個比特為 |1?|1? 的可能性,這也就是垃圾比特不得不移除的原因。
如何移除垃圾比特
垃圾比特對后續有影響,那么將他移除就好了,因為量子的操作是可逆的,所以怎么來的怎么回去。
但是在回去之前,把我們需要的目標 C(x)C(x) 的量子態用CNOT門復制出來就好。這樣就得到了沒有垃圾比特的結果。
可能有人想問,不是量子態不能復制嗎?事實上,我們并沒有復制 C(x)C(x) 的結果,當我們把結果從原來的比特上轉移到y上后,原來的比特和垃圾比特又通過逆操作返回了最初的情況。垃圾比特最初的狀態是 |0?|0? ,并非疊加態的情況,量子的糾纏或者相干是因為有量子疊加態,不是純態的原因,而今回到純態,就不在造成影響。
-
量子態
+關注
關注
0文章
8瀏覽量
2149 -
量子電路
+關注
關注
0文章
3瀏覽量
1825
發布評論請先 登錄
相關推薦
評論