Qiskit漢化1.4|單量子比特門

??學習量子計算、密碼學、Space等Web3前沿技術
??認領Bounty,賺取賞金
??參與Hackathon,獲得資助
更多Web3精彩技術分享盡在Dōjō??
WeChat: @HackerDojo0

在上一節(jié)中,我們研究了量子比特可能處于的所有可能狀態(tài)。我們看到量子比特可以用 2D 向量表示,并且它們的狀態(tài)僅限于以下形式:
$$
|q\rangle = \cos{\tfrac{\theta}{2}}|0\rangle + e^{i\phi}\sin{\tfrac{\theta}{2}}|1\rangle
$$
$θ$和$φ$是實數(shù)。在本節(jié)中,我們將介紹門,即在這些狀態(tài)之間更改量子比特的操作。由于門的數(shù)量和它們之間的相似性,本章有可能成為列表。為了解決這個問題,我們包括了一些題外話,在整個章節(jié)的適當位置介紹重要的想法。
在計算的原子中,我們遇到了一些門,并使用它們來執(zhí)行經(jīng)典計算。量子電路的一個重要特性是,在初始化量子比特和測量它們之間,操作(門)總是可逆的!這些可逆門可以表示為矩陣,以及圍繞布洛赫球體的旋轉。
1.泡利門
您應該熟悉線性代數(shù)部分中的泡利矩陣。如果這里的任何數(shù)學對你來說是新的,你應該使用線性代數(shù)部分來提高自己的速度。我們將在這里看到泡利矩陣可以表示一些非常常用的量子門。
1.1 X-門
X門由泡利-X矩陣表示:
$$
X = \begin{bmatrix} 0 & 1 \ 1 & 0 \end{bmatrix} = |0\rangle\langle1| + |1\rangle\langle0|
$$
要查看門對量子比特的影響,我們只需將量子比特的狀態(tài)向量乘以門。我們可以看到X門切換了狀態(tài)的幅度$|0?$和$|1?$:
$$
X|0\rangle = \begin{bmatrix} 0 & 1 \ 1 & 0 \end{bmatrix}\begin{bmatrix} 1 \ 0 \end{bmatrix} = \begin{bmatrix} 0 \ 1 \end{bmatrix} = |1\rangle
$$
將向量乘以矩陣
矩陣乘法是我們在上一章中看到的內積的推廣。在將向量乘以矩陣的特定情況下(如上所示),我們總是得到一個向量:
$$
M|v\rangle = \begin{bmatrix}a & b \ c & d \\end{bmatrix}\begin{bmatrix}v_0 \ v_1 \\end{bmatrix}
= \begin{bmatrix}a\cdot v_0 + b \cdot v_1 \ c \cdot v_0 + d \cdot v_1\end{bmatrix}
$$
在量子計算中,我們可以用基向量來編寫矩陣:
$$
X = |0\rangle\langle1| + |1\rangle\langle0|
$$
這有時比使用矩陣圖更清晰,因為我們可以看到不同的乘法會導致什么:
$$
\begin{aligned}
X|1\rangle & = (|0\rangle\langle1| + |1\rangle\langle0|)|1\rangle \
& = |0\rangle\langle1|1\rangle + |1\rangle\langle0|1\rangle \
& = |0\rangle \times 1 + |1\rangle \times 0 \
& = |0\rangle
\end{aligned}
$$
事實上,當我們看到一個 ket 和一個bra像這樣乘以時:
$$
|a\rangle\langle b|
$$
這稱為外積,它遵循以下規(guī)則:
$$
|a\rangle\langle b| =
\begin{bmatrix}
a_0 b_0^* & a_0 b_1^* & \dots & a_0 b_n^\
a_1 b_0^?& \ddots & & \vdots \
\vdots & & \ddots & \vdots \
a_n b_0^* & \dots & \dots & a_n b_n^* \
\end{bmatrix}
$$
$?$表示復共軛。我們可以看到,這確實會產(chǎn)生上面所示的x矩陣:
$$
|0\rangle\langle1| + |1\rangle\langle0| =
\begin{bmatrix}0 & 1 \ 0 & 0 \\end{bmatrix} +
\begin{bmatrix}0 & 0 \ 1 & 0 \\end{bmatrix} =
\begin{bmatrix}0 & 1 \ 1 & 0 \\end{bmatrix} = X
$$
在Qiskit中,我們可以創(chuàng)建一個短電路來驗證這一點:

讓我們看看上述電路的結果。注意:
這里我們使用plot_bloch_multivector()
,它接受量子比特的狀態(tài)向量而不是布洛赫向量。

我們確實可以看到量子比特的狀態(tài)如預期的那樣是$|1?$。我們可以認為這是圍繞布洛赫球的x軸旋轉π弧度。X-門也經(jīng)常被稱為“非門”,指的是它的經(jīng)典模擬物。
1.2 Y&Z-門
與X門類似,Y&Z泡利矩陣在我們的量子電路中也充當Y&Z門:
$$
Y = \begin{bmatrix} 0 & -i \ i & 0 \end{bmatrix} \quad\quad\quad\quad Z = \begin{bmatrix} 1 & 0 \ 0 & -1 \end{bmatrix}
$$
$$
Y = -i|0\rangle\langle1| + i|1\rangle\langle0| \quad\quad Z = |0\rangle\langle0| - |1\rangle\langle1|
$$
而且,不出所料,它們還分圍繞布洛赫球的 y 軸和z軸旋轉π。
下面是一個顯示布洛赫球上量子比特狀態(tài)的部件,按下其中一個按鈕將對量子比特執(zhí)行門:

在Qiskit中,我們可以使用以下方法將Y和Z門應用于我們的電路:

2.題外話:X、Y&Z基
矩陣的特征向量
我們已經(jīng)看到,將向量乘以矩陣會產(chǎn)生一個向量:
$$
M|v\rangle = |v’\rangle \leftarrow \text{new vector}
$$
如果我們選擇了正確的向量和矩陣,我們可以找到一種情況,其中這種矩陣乘法與乘以標量相同:
$$
M|v\rangle = \lambda|v\rangle
$$
(上面,$M$是一個矩陣,$λ$是一個標量)。對于矩陣$M$,任何具有這個性質的向量稱為M的特征向量。例如,Z-矩陣的特征向量是狀態(tài)$|0?$和$|1?$:
$$
\begin{aligned}
Z|0\rangle & = |0\rangle \
Z|1\rangle & = -|1\rangle
\end{aligned}
$$
由于我們使用向量來描述量子比特的狀態(tài),在這種情況下,我們通常稱這些向量為本征態(tài)。特征向量在量子計算中非常重要,扎實地掌握它們非常重要。
您可能還會注意到,當Z門處于這兩種狀態(tài)中的任何一種時,它似乎對我們的量子比特沒有影響。這是因為狀態(tài)$|0?$和$|1?$是Z門的兩個本征態(tài)。事實上,計算基(由狀態(tài)$|0?$和$|1?$形成的基)通常被稱為Z基。這不是我們可以使用的唯一的基,一個流行的基是X基,由X門的本征態(tài)組成。我們稱這兩個向量為$|+?$和$|-?$:
$$
|+\rangle = \tfrac{1}{\sqrt{2}}(|0\rangle + |1\rangle) = \tfrac{1}{\sqrt{2}}\begin{bmatrix} 1 \ 1 \end{bmatrix}
$$
$$
|-\rangle = \tfrac{1}{\sqrt{2}}(|0\rangle - |1\rangle) = \tfrac{1}{\sqrt{2}}\begin{bmatrix} 1 \ -1 \end{bmatrix}
$$
另一種不太常用的基是由Y門的本征態(tài)形成的。它們被稱為:
$$
|\circlearrowleft\rangle, \quad |\circlearrowright\rangle
$$
我們把計算這些留作練習。事實上,有無限多的基;為了形成一個,我們只需要兩個正交的向量。厄米矩陣和酉矩陣的特征向量構成向量空間的一組基。由于這個性質,我們可以確定X門和Y門的本征態(tài)確實構成了1量子比特態(tài)的基礎(在附錄的線性代數(shù)中閱讀更多有關這方面的內容)
快速練習
1.驗證$|+?$和$|-?$實際上是X門的本征態(tài)。
2.它們有什么特征值?
3.找到Y門的本征態(tài),以及它們在布洛赫球面上的坐標。
僅使用泡利門,不可能將我們的初始量子比特移動到除$|0?$或$|1?$以外的任何狀態(tài),即我們無法實現(xiàn)疊加。這意味著我們看不到與經(jīng)典比特不同的行為。為了創(chuàng)建更多有趣的狀態(tài),我們需要更多的門!
3.哈達瑪門
哈達瑪門(H門)是一種基本的量子門。它允許我們遠離布洛赫球面的極點,并創(chuàng)建一個$|0?$和$|1?$的疊加。它有這樣一個矩陣:
$$
H = \tfrac{1}{\sqrt{2}}\begin{bmatrix} 1 & 1 \ 1 & -1 \end{bmatrix}
$$
我們可以看到,這將執(zhí)行以下轉換:
$$
H|0\rangle = |+\rangle
$$
$$
H|1\rangle = |-\rangle
$$
這可以被認為是圍繞布洛赫向量[1,0,1](X軸和Z軸之間的線)的旋轉,或者是在X和Z基之間轉換量子比特的狀態(tài)。
你可以使用下面的小部件來擺弄這些門:

快速練習
1.將H門轉換為$|0?$、$|1?$、$|+?$和$|-?$外積的形式。
2.表明將門序列:HZH應用于任何量子比特狀態(tài)等同于應用X門。
3.找到與Y門等價的X, Z和H門的組合(忽略全局相位)。
4.題外話:以不同的基測量
我們已經(jīng)知道Z基在本質上并不特殊,還有無限多的其他基。與測量類似,我們并不總是必須在計算基(Z基)中測量,我們可以在任何基中測量我們的量子比特。
例如,讓我們嘗試測量X基。我們可以計算測量值為$|+?$或$|-?$的概率:
$$
p(|+\rangle) = |\langle+|q\rangle|^2, \quad p(|-\rangle) = |\langle-|q\rangle|^2
$$
經(jīng)過測量,疊加態(tài)被破壞了。由于Qiskit只允許測量z基,我們必須使用哈達瑪門創(chuàng)建自己的Z基:

在上面的快速練習中,我們看到您可以通過將 Z 門夾在兩個 H 門之間來創(chuàng)建 X 門:
$$
X = HZH
$$
從 Z 基開始,H 門將我們的量子比特切換到 X 基,Z 門在 X 基中執(zhí)行 NOT,最后的 H 門將我們的量子比特返回到 Z 基。我們可以通過乘以矩陣來驗證它總是像 X 門一樣:
$$
HZH =
\tfrac{1}{\sqrt{2}}\begin{bmatrix} 1 & 1 \ 1 & -1 \end{bmatrix}
\begin{bmatrix} 1 & 0 \ 0 & -1 \end{bmatrix}
\tfrac{1}{\sqrt{2}}\begin{bmatrix} 1 & 1 \ 1 & -1 \end{bmatrix}
\begin{bmatrix} 0 & 1 \ 1 & 0 \end{bmatrix}
=X
$$
遵循同樣的邏輯,我們通過在測量之前將x基轉換為z基來創(chuàng)建x -測量。由于測量過程可以根據(jù)系統(tǒng)的不同而產(chǎn)生不同的影響(例如,一些系統(tǒng)在測量后總是將量子比特返回到|0?,而其他系統(tǒng)可能將其保留為測量狀態(tài)),測量后的量子比特狀態(tài)是未定義的,如果我們想再次使用它,我們必須重置它。
還有另一種方法可以看出為什么哈達瑪門確實把我們從Z基帶到了X基。假設我們要在x基中測量的量子比特處于(歸一化)狀態(tài)$a |0\rangle + b |1\rangle$。為了在X基中測量它,我們首先將狀態(tài)表示為|+?和|-?的線性組合。使用關系$|0\rangle = \frac{|+\rangle + |-\rangle}{\sqrt{2}}
$和$|1\rangle = \frac{|+\rangle - |-\rangle}{\sqrt{2}}$,狀態(tài)變成$\frac{a + b}{\sqrt{2}}|+\rangle + \frac{a - b}{\sqrt{2}}|-\rangle$。觀察X基的概率振幅可以通過在Z基表示的狀態(tài)向量上應用哈達瑪矩陣得到。
現(xiàn)在讓我們看看結果:

我們在狀態(tài)中初始化了量子比特$|-?$,但是我們可以看到,在測量之后,我們已經(jīng)將量子比特折疊到狀態(tài)$|1?$。如果再次運行該單元,您將看到相同的結果,因為沿著X基礎,狀態(tài)$|-?$是一個基態(tài),沿X 測量它總是會產(chǎn)生相同的結果。
快速練習
1.如果我們在狀態(tài)中初始化我們的量子比特$|+?$,在狀態(tài)下測量它的概率是多少$|-?$?
2.使用Qiskit測量一個$|0?$量子比特顯示在狀態(tài)$|+?$和$|-?$的概率(提示:您可能想使用。get_counts()
和plot_histogram()
)。
3.試著創(chuàng)建一個以Y為基的函數(shù)。
在不同的基準上進行測量,可以讓我們看到海森堡著名的不確定性原理在起作用。在Z基中測量狀態(tài)的確定性消除了在X基中測量特定狀態(tài)的所有確定性,反之亦然。一個常見的誤解是,不確定性是由于我們設備的限制,但在這里我們可以看到,不確定性實際上是量子比特的性質的一部分。
例如,如果我們將量子比特置于狀態(tài)$|0?$, 我們在Z基中的測量肯定是$|0?$,但我們在X基中的測量是完全隨機的!類似地,如果我們將量子比特置于狀態(tài)$|-?$,我們在X基中的測量肯定是$|-?$,但現(xiàn)在在Z基中的任何測量將是完全隨機的。
更一般地說:無論我們的量子系統(tǒng)處于什么狀態(tài),總有一個測量具有確定性的結果。
H門的引入使我們能夠探索一些有趣的現(xiàn)象,但我們在量子操作方面仍然非常有限?,F(xiàn)在讓我們介紹一種新型的門:
5. P門
P門(相位門)是參數(shù)化的,也就是說,它需要一個數(shù)字(?)來告訴它具體做什么。P-門圍繞Z軸方向旋轉?。它的形式為矩陣:
$$
P(\phi) = \begin{bmatrix} 1 & 0 \ 0 & e^{i\phi} \end{bmatrix}
$$
?是實數(shù)。
你可以使用下面的小組件來操作P門,用slider指定?:

在Qiskit中,我們使用p(phi, qubit)
指定P門:

你可能會注意到Z門是P門的一種特殊情況,具有?=π。實際上,本章還會提到三個更常用的P門,它們都是P門的特殊情況。
6. I、S和T門
6.1 I門
首先是I門(又名“身份門”或“身份門”)。這只是一個什么都不做的門。它的矩陣是單位矩陣:
$$
I = \begin{bmatrix} 1 & 0 \ 0 & 1\end{bmatrix}
$$
在電路中的任何地方應用身份門應該不會對量子比特狀態(tài)產(chǎn)生影響,所以有趣的是,它甚至被視為一個門。這背后有兩個主要原因,一個是它經(jīng)常用于計算,例如:證明X門是它自己的逆:
$$
I = XX
$$
其次,在考慮實際硬件時,指定nothing
或none
操作通常是有用的。
快速練習
1.I門的本征態(tài)是什么?
6.2 S門
下一個要提到的門是S門(有時被稱為$\sqrt{Z}
$門),這是一個P門,?=π/2。它繞著布洛赫球體轉了四分之一圈。需要注意的是,與本章到目前為止介紹的所有門不同,S門并不是它自己的逆!因此,您將經(jīng)常看到$S^?$門(也叫做“S-dagger”, “Sdg” 或$\sqrt{Z}^\dagger$門)。$S^?$門顯然是一個P門,?=?π/2:
$$
S = \begin{bmatrix} 1 & 0 \ 0 & e^{\frac{i\pi}{2}} \end{bmatrix}, \quad S^\dagger = \begin{bmatrix} 1 & 0 \ 0 & e^{-\frac{i\pi}{2}} \end{bmatrix}
$$
之所以叫“$\sqrt{Z}$門”,是因為兩個連續(xù)應用的S門與一個Z門具有相同的效果:
$$
SS|q\rangle = Z|q\rangle
$$
這種符號在量子計算中很常見。
在Qiskit中添加S門:

6.3 T門
T型門是一種非常常用的門,它是帶有P形門 $φ=π/4$:
$$
T = \begin{bmatrix} 1 & 0 \ 0 & e^{\frac{i\pi}{4}} \end{bmatrix}, \quad T^\dagger = \begin{bmatrix} 1 & 0 \ 0 & e^{-\frac{i\pi}{4}} \end{bmatrix}
$$
與S門一樣,T門有時也被稱為$\sqrt[4]{Z}$門。
在Qiskit中:

您可以使用下面的小部件來嘗試本章中介紹的所有門:

7. U型門
正如我們之前看到的,I,Z,S和T門都是更一般的P門的特例。同樣,U 門是所有單量子比特量子門中最通用的。它是以下形式的參數(shù)化門:
$$
U(\theta, \phi, \lambda) = \begin{bmatrix} \cos(\frac{\theta}{2}) & -e^{i\lambda}\sin(\frac{\theta}{2}) \
e^{i\phi}\sin(\frac{\theta}{2}) & e^{i(\phi+\lambda)}\cos(\frac{\theta}{2})
\end{bmatrix}
$$
本章中的每個門都可以指定為$U(\theta,\phi,\lambda)$,但很少在電路圖中看到它,可能是由于閱讀困難。
作為一個例子,我們看到了U門的一些具體情況,在這些情況下,它分別等價于H門和P門。
$$
\begin{aligned}
U(\tfrac{\pi}{2}, 0, \pi) = \tfrac{1}{\sqrt{2}}\begin{bmatrix} 1 & 1 \
1 & -1
\end{bmatrix} = H
& \quad &
U(0, 0, \lambda) = \begin{bmatrix} 1 & 0 \
0 & e^{i\lambda}\
\end{bmatrix} = P
\end{aligned}
$$


很明顯,可能的門有無數(shù)種,其中也包括$R_x$和$R_y$門,盡管這里沒有提到它們。必須注意的是,Z基沒有什么特別之處,除了它被選擇為標準的計算基。Qiskit還提供了S和Sdg門的X等價物,即SX門和SXdg門。這些門圍繞布洛赫球面圍繞X軸做1/4轉,是$R_x$門的一個特殊情況。
在真正的IBM量子硬件上運行之前,所有單量子比特操作都被編譯為$I,X,SX,R_Z$。由于這個原因,它們有時被稱為物理門。
8. 額外的資源
您可以在這里找到社區(qū)創(chuàng)建的備查表,其中包含一些常見的量子門及其屬性。



關于Hacker Dōjō?
由Hacker共建的加密、Web3前沿技術開源知識社區(qū)。Dōjō 會以直播/音頻/文字等形式定期組織分享session, 分享主題主要覆蓋L1和L2的共識算法,架構,GitHub repo相關內容,包括不限于以下話題:Scroll / Polygon zkEVM、 Eigen的混合證明系統(tǒng)、Starkware、azTec、 Optimism、Zecrey、Aptos、 Move、密碼學(零知識證明、公鑰加密、哈希函數(shù)、格密碼) 、 分布式系統(tǒng)、 以太坊協(xié)議棧、 量子計算和量子信息、衛(wèi)星通信系統(tǒng)和航天器系統(tǒng)設計等。
?Bounty詳情及認領進度詳情:https://innovative-laser af4.notion.site/174922df15884848b6ac8b57cb4f2fae?v=612e13dc6b9d44dd8197f755abb9fe9c
?加入 Dōjō 中文社區(qū)微信聯(lián)系:@HackerDojo0
有關DoraHacks
DoraHacks 是一個全球范圍內的極客運動,全球黑客馬拉松組織者,也是全球最活躍的多鏈 Web3 開發(fā)者平臺之一。DoraHacks.io平臺使得世界各地的Hacker和開源開發(fā)者可以參與黑客馬拉松、Bounty、Grant、Grant DAO,以及公共物品質押等加密原生協(xié)議和基礎設施進行協(xié)作并獲得資助。到目前為止,DoraHacks 社區(qū)的 4000 多個項目已經(jīng)獲得了來自全球行業(yè)支持者超過 3000 萬美元的資助。大量開源社區(qū)、DAO 和 超過50個主要區(qū)塊鏈生態(tài)系統(tǒng)正在積極使用 Dora 的基礎設(DoraHacks.io)進行開源融資和社區(qū)治理。
官網(wǎng):https://dorahacks.io/