Axiom 1: Superposition principle函數
量子態是能夠疊加的。spa
而疊加態的性質賦予了量子指數增加的可能。設計
一個量子比特就是二維Hilbert空間中的向量,兩個量子比特就是四維Hilbert空間的中向量,三個就是八維, \(n\) 個量子比特就是 \(2^n\) 維Hilbert空間中的向量。3d
另外,須要注意的一點是,即便我只是在一個量子比特上操做,變化的也是整個系統。blog
Axiom 2: Unitary Evolutionip
量子電路和經典另外一個重要的不一樣就是量子電路是可逆的。ci
經典電路沒有可逆的要求,好比OR門,若是輸出是1,你知道輸入是什麼嗎?(1,1)、(1,0)、(0,1)都有可能,由於信息丟失了,四種輸入的可能,輸出卻只有兩種,信息丟失了。rem
而量子的操做變換則必須是酉變換,即,可逆,我能夠根據我輸出的信息反推個人輸入。get
經典可逆電路實際上是比較容易的。it
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的狀況下,若是咱們的輸入是 \(\frac{1}{\sqrt2}|0\rangle + \frac{1}{\sqrt2}|1\rangle\) ,通過A門,仍是 \(\frac{1}{\sqrt2}|0\rangle + \frac{1}{\sqrt2}|1\rangle\) ,在H門後,咱們的比特又變成了 \(|0\rangle\) ,此時測量,獲得的結果必定是 \(|0\rangle\) 。
例子B:
在B的狀況下,若是咱們的輸入是 \((\frac{1}{\sqrt2}|0\rangle + \frac{1}{\sqrt2}|1\rangle)|0\rangle\) ,通過A門,則變成了\(\frac{1}{\sqrt2}|00\rangle + \frac{1}{\sqrt2}|11\rangle\) ,此時對第一個比特進行H門操做,獲得結果 \(\frac{1}{2}|00\rangle + \frac{1}{2}|10\rangle+\frac{1}{2}|10\rangle - \frac{1}{2}|10\rangle\) 。此時對第一個比特測量,獲得的結果是 \(|0\rangle\) 或者是 \(|1\rangle\) 的機率是同樣的。
由於有了第二個比特的存在,因此上述式子中的 \(-\) 不能直接抵消第一個比特爲 \(|1\rangle\) 的可能性,這也就是垃圾比特不得不移除的緣由。
垃圾比特對後續有影響,那麼將他移除就行了,由於量子的操做是可逆的,因此怎麼來的怎麼回去。
可是在回去以前,把咱們須要的目標 \(C(x)\) 的量子態用CNOT門複製出來就好。這樣就獲得了沒有垃圾比特的結果。
可能有人想問,不是量子態不能複製嗎?事實上,咱們並無複製 \(C(x)\) 的結果,當咱們把結果從原來的比特上轉移到y上後,原來的比特和垃圾比特又經過逆操做返回了最初的狀況。垃圾比特最初的狀態是 \(|0 \rangle\) ,並不是疊加態的狀況,量子的糾纏或者相干是由於有量子疊加態,不是純態的緣由,而今回到純態,就不在形成影響。