量子運算中的 Dirac 表示法
Dirac 表示法 是描述量子狀態和作業的簡潔且強大的方式。 它以物理學家保羅·迪拉克的名字命名,保羅·迪拉克在20世紀30年代發展了這個表示法。 Dirac 表示法用於量子運算,以描述量子狀態、量子作業和量子測量。
本文將介紹 Dirac 表示法,並示範如何使用它來描述量子狀態和作業。
Dirac 表示法中的向量
Dirac 表示法中有兩種類型的向量:bra 向量,對應於行向量,而 ket 向量,對應於列向量。 這就是為什麼 Dirac 表示法也稱為 胸罩 表示法。
如果 $\psi$ 是數據行向量,則可以在 Dirac 表示法中將其寫入為 $\ket{\psi}$,其中 $\ket{\cdot}$ 表示它是 ket 向量。
同樣地,數據列向量 $\psi^\dagger$ 會以 $\bra{\psi}$表示,這是 大括弧 向量。 換句話說, $\psi^\dagger$ 是藉由將專案複雜結合套用至 的轉置 $\psi$專案來取得。 胸罩表示法直接表示法表示法是 $\braket{\psi|\psi}$ 向量 $\psi$ 本身的內部乘積,其定義 $為 1$。
更普遍地說,如果 $\psi$ 和 $\phi$ 是量子狀態向量,則其內部乘積為 $\braket{\phi|\psi}$。 此內部乘積表示測量狀態$\ket{\psi}$$\ket{\phi}$的機率為 $|\braket{\phi|\psi}|^2$。
計算基礎狀態 $0$ 和 $1$ 分別表示為 $\begin{bmatrix} 1 \ 0 \end{bmatrix}=\ket{{0}$ 和 $\begin{bmatrix} 0 \ 1 \end{bmatrix}=\ket{1}$。
範例:表示具有 Dirac 表示法的 Hadamard 作業
讓我們使用 Dirac 表示法將 Hadamard 閘道 $H$ 套用至量子狀態 $\ket{0}$ 和 $\ket{1}$:
$$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{{0}=\ket{+}$$
$$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H\ket{{1}=\ket{-}$$
產生的狀態會對應至 Bloch 球體上 $+x$ 和 $-x$ 方向中的單位向量。 這些狀態也可以使用 Dirac 表示法做為 和 $\ket{0}$的總$\ket{1}$和來擴充:
$$ \ket{+}=\frac{{1}{\sqrt{2}}(\ket{0} + \ket{1}) $$
$$ \ket{-} = \frac{1}{\sqrt{ {2}}(\ket{0} - \ket{1}) $$
計算基礎向量
每個量子狀態一律可以表示為計算基礎向量的總和,而且這類總和很容易使用 Dirac 表示法來表示。 相反的也是事實,即狀態 $\ket{+}$ , $\ket{-}$ 也構成量子狀態的基礎。 您可以從事實中看到這一點
$$ \ket{0} = \frac{1}{\sqrt{2}}(\ket{+} + \ket{-}) $$
$$ \ket{1} = \frac{1}{\sqrt{2}}(\ket{+} - \ket{-}) $$
以 Dirac 表示法為例,請考慮剎車 $\braket{0 1,這是介於 0 |}$ 到 $1$$ 之間的$內部乘積。 它可以撰寫為
$$ \braket{0 | 1 1}=\begin{bmatrix}& 0 0 \end{bmatrix}\begin{bmatrix}\\ 1\end{bmatrix}=0. $$
這個範例指出 和 $\ket{{0}$$\ket{{1}$是正交向量,這表示 $\braket{0 | 1 1 0}=\braket{| 0 0。}=$ 此外,根據定義 $\braket{0 0 1|}=\braket{ 1 | 1 1}=$,這表示兩個計算基礎向量也可以稱為正向量。
下列範例會使用這些正交屬性。 如果您有狀態 $\ket{\psi}={\frac{3}{5}}\ket{{1}+{\frac{{4}{5}}\ket{0}$ ,則因為$\braket{測量 |1} 的機率為 1 = 0 0$$$
$$ \big|\braket{1 |^2\psi}\big|=\left|\frac{1 1{3}{5}\braket{| +}\frac{1 {4}{5}\braket{ 0|^2。}\right|=\frac{{9}{{25} $$
Tensor 產品表示法
Dirac 表示法非常實用,表示 張量乘積。 張量乘積在量子計算中非常重要,因為由兩個不相關聯的量子暫存器描述的狀態向量是這兩個狀態向量的張量乘積。
任何兩個量子狀態向量 $\phi$ 和 $\psi$ 的張量乘積 $\psi\otimes\phi$ 是以 dirac 表示法撰寫為 $\ket{\psi}\otimes\ket{\phi}$。 依照慣例,您也可以將張量乘積寫為 $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$。
例如,兩個量子位被初始化為零狀態的狀態 $\ket{{0}\otimes\ket{0}=\ket{0}\ket{0}=\ket{00}$。
範例:使用 Dirac 表示法描述迭加
另一個如何使用 Dirac 表示法來描述量子狀態的範例,請考慮下列對等方式來撰寫量子狀態,該量子狀態是長度 n 的每個可能位字串相等$$
$$H^ n{\otimes}\ket{0}=2^\frac{1}{{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n.} $$
在這裡,您可能會想知道為什麼總和從 $0$ 到 $2^{n-1}$ 的 $n$ 位。 首先,請注意 $n{ 個位可以採用的 2^}$n$ 個不同組態$。 您可以藉由指出一個位可以接受 $2$ 個值,但兩個位可以採用 $4$ 個值等等來看到這個值。 一般而言,這表示有 $2^n$ 個不同的可能位字串,但其中任何 $一個都編碼的最大值 1\cdots 1=2^n-1$ ,因此是總和的上限。 請注意,在此範例中,您並未在$\ket{類似 }{\otimes^}=\ket{ n}$$\ket{{0}{\otimes 中使用 +}^= n\ket{+ 。{0}$ 這個表示法慣例會保留給計算基礎狀態,每個量子位初始化為零。 雖然這種慣例在此案例中是明智的,但不適用於量子運算文學。
使用 Dirac 表示法來表達線性
Dirac 表示法的另一個特點是它是線性的。 例如,針對兩個複數 $\alpha$ 和 $\beta$,您可以撰寫
$$ \ket{\psi} \otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}。$$
也就是說,您可以在 Dirac 表示法中散發張量乘法,讓在狀態向量之間取得張量產品,最終看起來就像一般乘法一樣。
Bra 向量遵循與 ket 向量類似的慣例。 例如,向量相當於狀態向量 $\bra{\psi}\bra{\phi}$$\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^。\dagger$ 如果 ket 向量是$\ket{\psi}$$\alpha+ \ket{0}\beta,則向量的胸罩向量\ket{1}$版本是 $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*)$ 。
例如,假設您想要計算測量狀態的機率 +$\ket{\psi} 使用量子程式來測量狀態=\frac{3}{5}\ket{{1}\frac{4}{5}為 \ket{0}$+$\ket{ 或 。}$$\ket{{-}$ 然後,裝置將輸出狀態 $\ket{-}$ 為的機率
$$|\braket{- ^2|\psi}|=\left|\frac{( -{1}{\sqrt{{2}}\bra{0}\bra{ )({1}\frac{3}{5}\ket{{1} +\frac{{4}{5}\ket{0} ) \right|^2-5=\left|\frac{3}{ + \sqrt{{2}}5\frac{{4}{\sqrt{2}}\right|^2.=\frac{{1}{{50}$$
負號出現在機率計算中是量子干擾的一種表現,這是量子運算取得傳統運算優勢的機制之一。
ketbra 或外部產品
在 Dirac 表示法中討論的最後一個專案是 ketbra 或外部產品。 外部乘積以 Dirac 表示法表示為 $\ket{\psi}\bra{\phi}$。 外部乘積是透過矩陣乘法定義為 $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ 的量子狀態向量$\psi$和 。$\phi$ 這個表示法的最簡單且可以說最常見的範例是
$$ \ket{0} \bra{ {0} = \begin{bmatrix}1\\ 0 \end{bmatrix}\begin{bmatrix}1&0 \end{bmatrix}=\begin{bmatrix}1 &0 0\\&0\end{bmatrix}\qquad\ket{1}\bra{1}=\begin{bmatrix}0\\ 1 \end{bmatrix}\begin{bmatrix}0&1 \end{bmatrix}=\begin{bmatrix}0 &0 0\\&1\end{bmatrix}. $$
Ketbras 通常稱為投影機,因為它們會將量子狀態投射到固定值上。 由於這些作業不是單一的(甚至不保留向量的常態),量子計算機無法決定性地套用投影機。 不過,投影機在描述測量對量子狀態的動作時,會執行一項漂亮的工作。 例如,如果您將狀態 $\ket{\psi}$ 測量為 $0$,則狀態因測量而經歷的結果轉換為
$$\ket{\psi} \right箭\frac{號 (\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 ,|\psi}|}=\ket{{0}$$
如您所預期,如果您測量狀態,並發現其為 $\ket{0}$。 若要重申,這類投影機無法在量子計算機中具決定性的狀態上套用。 相反地,可以隨機套用結果 $\ket{0}$ ,並顯示一些固定機率的結果。 這類測量成功的機率可以寫入為處於狀態的量子投影機預期值
$$ \bra{\psi}(\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2,$$
這說明投影機提供了一種表達測量程式的新方式。
相反地,如果您考慮測量多量子位狀態的第一個量子位為 $1$,您也可以使用投影機和 Dirac 表示法方便描述此程式:
$$P(\text{第一個量子位 = 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes\mathbf{\mathbf{1}^{\otimes n-1}\right) 。 \ket{\psi} $$
在這裡,身分識別矩陣可以方便以 Dirac 表示法撰寫為
$$ \mathbb{I}=\ket{{0}\bra{0}+\ket{{1}\bra{1}=\begin{bmatrix}1&0 0\\& amp;1 \end{bmatrix}。 $$
針對有兩個量子位的情況下,投影機可以展開為
$$ \ket{1} \bra{1} \otimes \mathbb{I}=\ket{{1}\bra{1}\otimes (\ket{0}\bra{0}+\ket{1}\bra{{1})=\ket{10}\bra{{10} + 。 \ket{{11}\bra{{11} $$
然後,您可以看到這與使用數據行向量表示法之多量子位狀態的測量可能性討論一致:
$$P(第一個量子位 1)\text{^ (=e_e_^}= + e_\psi\dagger{10}e_{10}\dagger{{11}^){{11}\daggere_\psi=^|{^2 + {10}e_\dagger^\psi||^2,{11}\dagger\psi|$$
這符合多量子位測量討論。 不過,將這個結果一般化為多量子位案例,使用 Dirac 表示法來表示法比數據行向量表示法更直接,而且完全相當於先前的處理。
密度運算元
另一個使用 Dirac 表示法表達的實用運算符是 密度運算符,有時也稱為 狀態運算符。 作為量子狀態向量,密度運算符會描述系統的量子狀態。 雖然量子狀態向量只能代表 純狀態,但密度運算符也可以代表 混合狀態。
更一般而言,如果符合下列條件,則指定的矩陣 $\rho$ 是有效的密度運算符:
- $\rho$ 是複數矩陣
- $\rho = \rho^{\dagger}$ (也就是 $\rho$ is Hermitian)
- \rho$ 的每個 eigenvalue $p$$都是非負數
- \rho$ 總和的所有 eigenvalue $到 1
這些條件一起保證 $\rho$ 可以視為合奏。 量子狀態向量的$\ket{\psi}$密度運算符採用 \rho _i p_i $_i=\sum的形式\ket{\psi_i}是 \rho \bra{\psi}$的特徵值分解$,然後 $\rho$ 描述具有機率$p_i$的合奏 =\rho{\ket{\psi}\text{ _i。}}$
純量子狀態是以單一ket 向量或 wavefunction 為特徵,不能寫入為其他量子狀態的統計混合(或 凸合)。 混合量子狀態是純狀態的統計合奏。
在 Bloch 球體上,純狀態是以球體表面的點表示,而混合狀態則以內部點表示。 單一量子位的混合狀態是由球體中心以對稱表示。 狀態的純潔性可以可視化為接近球體表面的程度。
這個將狀態表示為矩陣而非向量的概念通常很方便,因為它提供一種方便的方式來表示機率計算,也可讓您描述相同形式主義內的統計不確定性和量子不確定性。
密度運算子 $\rho$ 代表純狀態,只有在:
- $\rho$ 可以撰寫為狀態向量 $的外部乘積 \rho=\ket{\psi}\bra{\psi}$
- $\rho =\rho \rho^2$
- $tr(\rho^2)=1$
若要判斷指定密度運算符 $\rho$ 與純量有多接近,您可以查看 \rho^2$ 的追蹤(也就是對角線元素的總和)。$ 密度運算子只有在 tr(\rho ^$){2}1= 時,才會$代表純狀態。
Q# 與量子狀態相等的閘道序列
值得關於量子表示法和 Q# 程式設計語言的最後一點:本檔開頭提到量子狀態是量子運算中資訊的基本物件。 然後,它可能會出人意料的是,沒有 Q# 量子狀態的概念。 相反地,所有狀態只會由用來準備它們的作業來描述。 上一個範例是此範例的絕佳圖例。 您可以以 H^$ n{\otimes} 表示結果\ket{0}$,而不是在緩存器中的每個量子位字串上表示統一迭加。 這個指數較短的狀態描述不僅具有您傳統理由的優點,而且能簡潔地定義透過軟體堆疊傳播以實作演算法所需的作業。 因此, Q# 是設計來發出網關序列,而不是量子狀態;不過,在理論上,兩個檢視方塊是相等的。