量子計算
- 經典計算機
- 量子計算
- 量子計算與經典區別
- 量子計算中的資料:qubit
- 單量子態
- 多量子態
- 量子計算中的操作:量子門
- 單量子門
- 雙位元量子門
- 量子計算中的讀取:量子測量
讀博做的是量子計算相關方向,現在先學習一波,
經典計算機
| - | 數學方式 | 經典計算機 |
|---|---|---|
| 資料 | 用一串位元(0/1)表示 | 利用電壓值的大小來區分(0/1) |
| 操作 | 布爾函式(將所有操作分解為not、or、and) | 用晶體管進行操作(與門、非門、或門) |
| 讀取 | 測量位元狀態 | 測量電壓 |
可以發現,經典計算機是通過電壓值通過邏輯門的變換規律,進行資料計算,
量子計算
量子計算與經典區別
由于量子的特點,量子計算和經典計算機有著挺多的區別,在有些地方很不合直覺,
- 經典計算的結果具有確定性,而量子計算的結果具有不確定性(概率性),
- 量子計算具有非局域性(其中一個現象為量子糾纏),這是量子中最反常的現象,簡單來講就是多量子位元態不可以被單個量子態表示,例如貝爾態,(在后面會經常提到)
下面將從量子計算中的資料、操作、讀取分別介紹量子計算,
量子計算中的資料:qubit
單量子態
和經典計算機相同的是,量子計算機也是用位元來表示資料,不過這個單位元用二維的形式表示:
[
α
β
]
\left[\begin{matrix}\alpha \\ \beta\\\end{matrix}\right]
[αβ?]
稱為qubit,其中的
α
、
β
\alpha 、\beta
α、β均為復數,
那么這里的 α 、 β \alpha 、\beta α、β有什么含義嗎?
實際上他們模平方分別表示了被觀測為0、1的概率,所以我們也可以得到他們的約束條件:
α
2
+
β
2
=
1
\alpha^2+\beta^2=1
α2+β2=1(這一點在量子計算的讀取上也會提起),任意量子位元均需要滿足這一條件,
為了方便表示qubit的狀態以及表示qubit的操作,采用狄拉克 (Dirac)符號,
狄拉克 (Dirac)符號
也叫做bra-ket 符號,有以下三種情況:
- ket符號:形如 ∣ 0 > = [ 1 0 ] |0> = \left[\begin{matrix}1 \\0\\\end{matrix}\right] ∣0>=[10?]、 ∣ 1 > = [ 0 1 ] |1> = \left[\begin{matrix}0 \\1\\\end{matrix}\right] ∣1>=[01?],又稱為左矢,
- bra符號:形如 < 0 ∣ <0| <0∣、 < 1 ∣ <1| <1∣,又稱為右矢,
- bar-ket符號:形如 < 0 ∣ 1 > <0|1> <0∣1>,
bra、bra-ket符號的意義會被提到,這里先講述ket符號,
有了ket符號,我們可以將
[
α
β
]
\left[\begin{matrix}\alpha \\ \beta\\\end{matrix}\right]
[αβ?](
α
[
1
0
]
+
β
[
0
1
]
\alpha \left[\begin{matrix}1 \\0\\\end{matrix}\right] + \beta \left[\begin{matrix}0 \\1\\\end{matrix}\right]
α[10?]+β[01?])表示為
α
∣
0
>
+
β
∣
1
>
\alpha |0>+\beta|1>
α∣0>+β∣1>,表現在二維空間上,則為將矢量分解為兩個方向上的和,如圖:

block sphere用于表示單量子位元
block sphere是一個單位二維球面,每一對對應點對應相互正交態矢,布洛赫球面的北極和南極通常分別對應于電子的自旋向上態和自旋向下態標準基矢的0態和1態,反過來也符合

所有的單量子態分布在單位球面上,利用bloch sphere可以更加直觀的看到單量子位元通過量子們后的變化,實際為旋轉操作(分別繞xyz軸進行旋轉),
根據bloch sphere模型,我們也可以將單量子位元表示為:
e
i
γ
(
c
o
s
θ
2
)
∣
0
>
+
s
i
n
θ
2
)
e
i
φ
∣
1
>
e^{i\gamma}(cos\frac{\theta}{2})|0>+sin\frac{\theta}{2})e^{i\varphi}|1>
eiγ(cos2θ?)∣0>+sin2θ?)eiφ∣1>
多量子態
前面提到,單量子態為一個二維向量,那么直覺就可以告訴我們多量子態應該是一個 2 n 2^n 2n維的向量,那么如何用數學方式表達?
這里引入了張量積
?
\otimes
? ,用于提升維度,具體運算如下:
[
α
1
β
1
]
?
[
α
2
β
2
]
=
[
α
1
[
α
2
β
2
]
β
1
[
α
2
β
2
]
]
=
[
α
1
α
2
α
1
β
2
β
1
α
2
β
1
β
2
]
\left[\begin{matrix}\alpha_1 \\ \beta_1 \\ \end{matrix}\right] \otimes \left[\begin{matrix}\alpha_2 \\ \beta_2\\\end{matrix}\right]= \left[\begin{matrix}\alpha_1 \left[\begin{matrix}\alpha_2 \\ \beta_2\\\end{matrix}\right]\\ \beta_1 \left[\begin{matrix}\alpha_2 \\ \beta_2\\\end{matrix}\right]\\ \end{matrix}\right]= \left[\begin{matrix}\alpha_1\alpha_2\\ \alpha_1\beta_2\\ \beta_1 \alpha_2\\ \beta_1\beta_2 \\ \end{matrix}\right]
[α1?β1??]?[α2?β2??]=?????α1?[α2?β2??]β1?[α2?β2??]??????=?????α1?α2?α1?β2?β1?α2?β1?β2???????
同理我們可以通過張量積的方式構建三量子態,
量子糾纏
可以簡單地用數學符號表示:
?
∣
φ
>
\exists|\varphi>
?∣φ>滿足
∣
φ
>
≠
∣
φ
1
>
?
∣
φ
2
>
|\varphi> \neq |\varphi_1>\otimes |\varphi_2>
∣φ>?=∣φ1?>?∣φ2?>,
對應的文字表述則為:存在四維矢量,該矢量不能用兩個2維矢量的進行表示,
最常見的就是貝爾態: ∣ φ + > = 1 2 ( ∣ 00 > + ∣ 11 > ) |\varphi^+>=\frac{1}{\sqrt{2}}(|00>+|11>) ∣φ+>=2 ?1?(∣00>+∣11>)、 ∣ φ ? > = 1 2 ( ∣ 00 > ? ∣ 11 > ) |\varphi^->=\frac{1}{\sqrt{2}}(|00>-|11>) ∣φ?>=2 ?1?(∣00>?∣11>),
量子計算中的操作:量子門
和邏輯門相同的是,量子門的作用也是改變位元的狀態,
單量子門
量子門可以用矩陣的形式表示,例如單量子門可以用一個二維矩陣表示,常見的單量子門有:
X
=
[
0
1
1
0
]
,
Y
=
[
0
?
i
i
0
]
,
Z
=
[
1
0
0
?
1
]
X=\left[\begin{matrix}0 & 1 \\ 1 & 0\end{matrix}\right],Y=\left[\begin{matrix}0 & -i \\ i & 0\end{matrix}\right],Z=\left[\begin{matrix}1 & 0 \\ 0 & -1\end{matrix}\right]
X=[01?10?],Y=[0i??i0?],Z=[10?0?1?]
以上稱為Pauli門
還有一種常用的Hadamard門:
H
=
1
2
[
1
1
1
?
1
]
H=\frac{1}{\sqrt{2}}\left[\begin{matrix}1 & 1 \\ 1 & -1\end{matrix}\right]
H=2
?1?[11?1?1?]
聯系我們之前講過的bloch sphere,我們提到過,量子門對單位元的操作表現在bloch sphere上則為旋轉操作,例如Pauli-X門即將量子態繞X軸旋轉180°,Pauli-Y門則為將量子態繞Y軸旋轉180°,(通過計算
X
∣
φ
>
、
Y
∣
φ
>
X|\varphi>、Y|\varphi>
X∣φ>、Y∣φ>則可知),
下面分別是繞XYZ軸旋轉的單量子矩陣操作(易知Pauli矩陣為其特殊情況):

仔細觀察上面幾個矩陣,可以發現幾個共同點:
- 列向量之間維正交關系
- 列向量均維單位向量
我們將該類矩陣統一稱為酉矩陣(unitary matrix)
雙位元量子門
為什么需要雙位元量子門?單位元量子門不能構成所有操作嗎?
聯系我們之前提到過的量子糾纏現象,再加上一堆證明,我們可以得到這樣一個結論:
- CNOT門+單位元門可以構成所有量子態操作,就像not、or、and可以構成經典計算機的所有操作,
那么什么是CNOT門呢?
先來看他的數學運算式:
[ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] \left[\begin{matrix}1&0&0&0 \\ 0&1&0&0 \\ 0&0&0&1 \\ 0&0&1&0 \\ \end{matrix}\right] ?????1000?0100?0001?0010??????
他的量子電路是這樣的:

上面的一條線(第一個qubit)用于控制下面的非門(Pauli-X門),也就是說第一個qubit,可以控制第二個qubit是否取反,
量子計算中的讀取:量子測量
不同于經典計算機,我們可以直接讀取位元的狀態,
在量子計算機中,我們無法直接測量量子態,就像大家都知道的薛定諤的貓,處于生死的疊加態,一旦我們進行測量,那么將會發生量子態坍縮
量子坍縮告訴我們,雖然量子態為連續的狀態,但是我們測量得到的依舊為一個位元資訊,這一點和經典計算相同,
那么我們如何就量子態進行測量?
我們采用的方式是Z測量:
- 選取兩個正交的單位向量,如下圖的兩個坐標軸或者兩條紅線,
- 量子態坍縮為該單位向量的概率為向量在上面的投影模的平方,

參考資料:
- https://www.bilibili.com/video/BV1D34y1D7x2?spm_id_from=333.999.0.0
- Quantum Computation and Quantum Information
- 量子計算機與編程入門
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/304995.html
標籤:區塊鏈
