iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

[QPE] Iterative QPE

昨天認識的 QPE with QFT 雖然概念上十分簡潔,但在現有的量子電腦上難以實現。今天要介紹的 QPE 演算法基於用時間換空間的概念,來減少 quantum register 的大小,並稍微減輕了電路深度造成的負擔。

Iterative QPE,顧名思義就是透過迭代來計算出我們感興趣的 phase 。對於任意在 ) 之間的 phase ,我們可以將她以二進位表示:(假設 可以 位元表示)

所謂迭代,就是一次算出一個 bit!

根據昨天的定義,,也就是說

具體而言,

即使如此,要怎麼得到 的資訊呢?看看電路圖會更有感覺:(我圖沒畫好所以線斷掉了,請見諒😅)

https://ithelp.ithome.com.tw/upload/images/20230912/201624702OulD3Gy2V.png

其中 是某些旋轉閘的代稱 (等等會說明 是什麼)。為了要清楚了解上述電路代表的意義,我們來算算看經過一次上圖方框內的運算,可以得到什麼樣的量子態吧!(令 ;此時 ,也就是單位矩陣)

https://ithelp.ithome.com.tw/upload/images/20230912/20162470T2rUnP0R23.png

此時測量第一個 qubit 而結果為 的機率是

https://ithelp.ithome.com.tw/upload/images/20230912/20162470Sh53lhQcre.png

於是我們可以透過測量到 的機率來獲取 的資訊!但是,當 該怎麼辦?如果

若可以想辦法將 中的 去掉,問題就圓滿解決了;沒錯! 現在派上用場了!本質上, 的功能正是將已經算過的 phase 資訊從目前的迭代中去除。具體而言, 可以如下表示:

https://ithelp.ithome.com.tw/upload/images/20230912/20162470JNWqiDV1GR.png

換句話說, 是根據已知 phase 資訊的反向旋轉閘!

這樣的計算過程牽涉到:根據測量到的 classical bit 決定旋轉角度。如果使用 Qiskit 實作,我們可以使用如下的語法

# qc: QuantumCircuit 物件
# c0: qc 內的一個 classical bit,儲存當前測量資訊
# q0: qc 內的一個 qubit,等同上圖中第一個 qubit
##### 如果 c0 儲存的測量結果為 1,將 q0 旋轉 -pi/2 #####
with qc.if_test((c0, 1)):
	qc.p(-math.pi/2, q0)

完整的 IQPE 實作請見 IBM Quantum Challenge Spring 2023


上一篇
[QPE] 有 QFT 的 QPE
下一篇
[QPE] Kitaev's Method
系列文
不嚴謹的量子計算雜談21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言