實際上是 Euler–Lagrange equation,不僅僅只在古典力學,量子力學也是相同的,在微小尺度中,描述萬物運動行為的核心方程式是: \begin{align} \tag{1} \hat{H}|\psi\rangle=E|\psi\rangle \end{align} $\hat{H}$ 是一個矩陣,包含這系統的動能與位能資訊,比方說最簡單的彈簧系統,那他的 $\hat{H}$ 可以寫作: \begin{align} \frac{1}{2}mv^2+\frac{1}{2}kx^2 \end{align} 當然上式要經過"量子化"才能代入(1)式,但透過這樣的舉例你能知道 $\hat{H}$ 講白話就是一個系統的總能量;$|\psi\rangle$ 就是你熟悉的波函數,以 qubit 為例就是 $|0\rangle$ 或 $|1\rangle$,以原子為例,就是高中學過的 $1s,2s,2p$ 等 orbitals(軌域)。當 $\hat{H}$ 作用在 $|\psi\rangle$ 上後就會變成在這狀態 $|\psi\rangle$ 下系統的能量值 $E$。 ### 以氫原子為例 以下舉例以一個簡化的氫原子作為範例,並且為了讓讀者能看懂(1)式的意義而非專注在計算過程,這例子會忽略許多嚴謹性,如果想知道最完整的計算過程可以翻看任何一本量子力學教科書。 在氫原子中,其 $\hat{H}$ 就是動能(電子與原子核)加上位能(電子與原子核): \begin{align}\tag{2} \hat{H}=-\frac{1}{2m_e}\nabla^2_e-\frac{1}{2m_N}\nabla^2_N-\frac{1}{4\pi\epsilon_0}\frac{(Ne)e}{r^2} \end{align} 如果讀者還沒碰過這類公式,你就暫時先接受上式,不必鑽研於為何他是這樣,或是可以參看我們量子模擬系列文章(努力中,未上架)。第一項是描述電子的動能,第二項是質子的動能,第三項是電子與質子的位能。 接著是波函數 $|\psi\rangle$,為方便起見,我們拋去 $s, p, d, f$ 等 orbitals 概念,僅有電子位在第幾層(即主量子數 $n$),因此 \begin{align}\tag{3} |\psi\rangle = |n\rangle, \space \text{where }n=0,1,2,\cdots \end{align} 照你所學過的波爾氫原子模型,代入(1)式會得到: \begin{align} \hat{H}|n\rangle=-\frac{13.6}{n^2}|n\rangle \end{align} 比方說當電子位於基態 $|n\rangle=|1\rangle$ 時: \begin{align} \hat{H}|1\rangle=-13.6|1\rangle \end{align} ## VQE 簡介 VQE 全名第一個單字 "variatrional" 代表量子力學裡的一個近似方法:變分法(variational principle),說明給定一個 $\hat{H}$ 後,任何量子態 $|\psi\rangle$ 對應的期望值(或說能量 $E$)都會比基態能量高或一樣,即: \begin{align} \langle \psi|\hat{H}|\psi\rangle\geq E_{ground} \end{align} 在 VQE 中,演算法要盡可能地找到一組 $|\psi\rangle$ 使得上式相等,或是說盡可能地找到最低能量(因為不是一定能找到真實的基態能量),其中這量子態 $|\psi\rangle$ 與 QAOA 類似,由一組參數 $\theta$ 所決定,所以我們會把量子態改寫成 $|\psi(\theta)\rangle$,跟上一節介紹的 QAOA 一樣,量子電路會輸出 $|\psi(\theta)\rangle$ 的測量結果,將這測量結果傳回給經典電腦計算 $\hat{H}$ 的期望值,透過期望值與當下的參數計算梯度,由 optimizer 給出新的參數傳回量子電腦,如此循環,直到能量收斂,如下圖所示:
VQE 流程圖
黃色區域包括黑色測量都是在量子電腦上運行,藍色方塊則是在古典電腦上運行。注意初始態 phi0 沒有一定要是全零。
可以回想過去我們介紹圖論,這步就像是把一個 max-cut 問題寫成一堆 Z當我們要計算其期望值時: \begin{align} \langle \psi|H|\psi\rangle&= \langle \psi|2Z+X|\psi\rangle\\ &=2\langle\psi|Z|\psi\rangle+\langle \psi|X|\psi\rangle\tag{4} \end{align}
這部分就相當於計算 graph 的 cost在過去的 max-cut 問題中,graph 的期望值都類似上式第一項 $\langle\psi|Z|\psi\rangle$,而在現實中做測量時也是以 $Z$ 軸作為 basis,因此當我們測量到 $|0\rangle$ 時經典電腦就直接當作 $+1$ 做計算,$|1\rangle$ 則為 $-1$,那後面第二項怎麼辦呢?第二項是以 $X$ 軸做 basis,如果今天我們的電腦可以以$X$ 軸做測量,我們會得到 $|+\rangle$ 或是 $|-\rangle$,但今天常用的量子電腦不是這樣,此時我們該怎麼辦呢?讓我們回到 Bloch sphere:
只是之前 graph 都只有 Z operator,所以不會有這段最後,$|\psi(\theta)\rangle$ 我們就簡單地用 $RY$ gate 來製備(理論上不會這樣做,因為 RY gate 只能遍歷 Bloch 球上的一圈,而我們通常會希望一個好的 ansatz 可以翻遍球面上各個地方)

不同 ansatz 能在 Bloch sphere 上表達的量子態分佈
Picture comes from doi: 10.1002/qute.201900070
所以前一節 QAOA 那複雜的電路就是這邊的 ansatz,製備 graph 的量子態(怎麼切法)那我們這例子的 VQE 完整電路如下:
範例(4)式第一項對應的電路圖
範例(4)式第二項對應的電路圖

人們透過這些準則去設計(就用猜的啦)各種 ansatz,然後透過實驗去找出真的比較好用的(就經驗啦)
Picture comes from doi: 10.1002/qute.201900070