彭永剛
(1.南京郵電大學(xué) 理學(xué)院 應(yīng)用物理系,江蘇 南京 210003;2.江蘇省新能源技術(shù)工程實驗室,江蘇 南京 210003)
當(dāng)今的筆記本電腦、臺式機(jī)和服務(wù)器所提供的中央處理器稱為經(jīng)典計算機(jī),與量子計算機(jī)進(jìn)行對比,由晶體管制成的經(jīng)典計算機(jī)的功能是通過操作0或1的數(shù)據(jù)位(比特)來執(zhí)行計算的,而量子計算機(jī)是利用量子力學(xué)的性質(zhì)(即量子態(tài)相干疊加性質(zhì)和量子糾纏性質(zhì))以不同的方式執(zhí)行計算的,從而比經(jīng)典計算機(jī)更有效地執(zhí)行計算,量子計算機(jī)可以在經(jīng)典計算機(jī)上進(jìn)行模擬,但模擬將花費(fèi)很長時間和大量內(nèi)存,因此,經(jīng)典計算機(jī)只能模擬小量子比特數(shù)的量子算法.經(jīng)典計算機(jī)的邏輯運(yùn)算與算法運(yùn)算不依賴于它們的硬件實現(xiàn),在理想量子計算機(jī)中,量子比特被認(rèn)為是理想的雙態(tài)量子系統(tǒng),量子算法是由一序列基本操作(幺正變換) 的乘積構(gòu)成,量子算法的運(yùn)行結(jié)果不依賴于量子計算機(jī)的具體物理實現(xiàn),一臺物理上實現(xiàn)的量子計算機(jī)是一個多體量子系統(tǒng),其量子比特的內(nèi)在量子動力學(xué)性質(zhì)對其運(yùn)算的結(jié)果是很重要的,考慮兩個邏輯上獨(dú)立的操作O1和O2,在理想量子計算機(jī)上,執(zhí)行這兩個相互獨(dú)立邏輯操作的順序并不重要,因為O1O2=O2O1,然而在物理實現(xiàn)的量子計算機(jī)上有時相互獨(dú)立邏輯操作順序是至關(guān)重要的,在有些情況下,O1O2≠O2O1,改變量子算法的邏輯操作序列的順序物理實現(xiàn)的量子計算機(jī)就會給出錯誤結(jié)果,這個問題是不能通過量子糾錯和量子容錯解決的,我們把這個問題稱為量子程序問題[1-3].
已經(jīng)提出實現(xiàn)量子計算機(jī)的物理方案有超導(dǎo)量子計算方案[4]、離子阱方案[5]、腔量子電動力學(xué)方案[6]、核磁共振方案[7]以及量子點方案[8]等,這些量子計算機(jī)物理實現(xiàn)方案,各有各的優(yōu)勢,都存在需要攻克的技術(shù)難題,目前量子計算研究的核心內(nèi)容主要是量子計算機(jī)的物理實現(xiàn)和可用量子算法的研究.
在量子計算機(jī)的物理實現(xiàn)上出現(xiàn)的量子程序問題是由于我們處理的是有相互作用的量子客體,對量子計算機(jī)來說量子比特之間會交換信息,我們以核磁共振量子計算機(jī)為例來說明量子程序問題,用射頻脈沖磁場調(diào)控一個核自旋狀態(tài)而不影響其它核自旋的狀態(tài)是很困難的,在調(diào)控某一核自旋時,其它核自旋的狀態(tài)也發(fā)生改變,沒有一般規(guī)則預(yù)先知道量子算法中哪個基本操作、何種操作順序會產(chǎn)生量子程序問題,導(dǎo)致不正確的結(jié)果,目前在理論上研究量子程序問題的唯一方法就是執(zhí)行量子算法的數(shù)值計算來研究量子程序問題.
從理論上講量子算法是由一序列基本操作(幺正變換)的乘積構(gòu)成,從量子計算機(jī)核磁共振物理實現(xiàn)上說實現(xiàn)量子算法就是把一序列基本幺正變換編譯成現(xiàn)代超導(dǎo)核磁共振譜儀上能夠直接執(zhí)行的核磁共振脈沖序列.我們討論量子處理器是零溫度且與環(huán)境沒有耦合的量子系統(tǒng),即模擬零溫度封閉量子系統(tǒng)的量子算法核磁共振實現(xiàn).本文從兩量子位的核磁共振量子處理器的物理模型出發(fā),利用Raedt[9]小組提出的自旋-1/2代數(shù)理論,根據(jù)量子控制非門的定義,介紹核磁共振實現(xiàn)量子控制非門邏輯上等價的4種不同核磁共振脈沖序列的設(shè)計過程,根據(jù)Grover量子算法原理,介紹了核磁共振實現(xiàn)兩量子位Grover量子算法邏輯上等價的兩種不同核磁共振脈沖序列設(shè)計過程,通過數(shù)值求解含時薛定諤方程等價于執(zhí)行量子控制非門和兩量子位Grover量子算法的物理實現(xiàn)過程,演示量子控制非門和兩量子位Grover量子算法呈現(xiàn)的量子程序問題,分析與討論了產(chǎn)生量子程序問題的原因.
一個三氯甲烷(CHCl3)分子中,氫1H和碳13C原子的核自旋均為1/2,可作為一臺兩量子位的核磁共振量子處理器,在均勻磁場(靜磁場)和外加射頻磁場(振蕩磁場)中,這個核自旋1/2兩量子位系統(tǒng)的哈密頓量[7,9,10]表示為
(1)
(2)
單個核自旋受到沿著z軸的均勻磁場和沿x軸的射頻脈沖磁場作用,其狀態(tài)隨時間的演化,遵守含時薛定諤方程:
(3)
(4)
自旋繞x軸轉(zhuǎn)動,需要在y軸上施加射頻脈沖磁場. 核自旋繞x和y軸順時針轉(zhuǎn)動π/2的操作可表示為:
(5)
(6)
量子計算中兩核自旋之間通過核自旋與核自旋的相互作用交換量子信息,核自旋1和核自旋2之間的相互作用受控相移門[11]為
(7)
用直積方法定義兩量子位邏輯門:
X1=X?I
(8)
Y2=I?Y
(9)
設(shè)兩核自旋系統(tǒng)的初始波函數(shù)為
|ψ〉=a0|00〉+a1|01〉+a2|10〉+a3|11〉
(10)
(eiφ00c0+eiφ01c1)|01〉+
(eiφ10c2-eiφ11c3)|10〉+
(eiφ10c2+eiφ11c3)|11〉]
(11)
其中:c0=a0+a1,c1=a1-a0,c2=a2+a3,c3=a3-a2,由于量子控制非門的要求是當(dāng)且僅當(dāng)?shù)谝缓俗孕幱趹B(tài)|1〉時,才翻轉(zhuǎn)第二核自旋狀態(tài),這要求:φ00=φ01,式(11)改為
eiβ(a2cosα+ia3sinα)|10〉+
eiβ(a3cosα+ia2sinα)|11〉]
(12)
式中β=α+φ11-φ00,α=(φ10-φ11)/2,eiφ00是無關(guān)緊要的整體相位因子,根據(jù)伊辛模型:
(13)
執(zhí)行受控相移門I12=e-iτH,則:φ00=τ(J/4+h),φ01=φ10=-τJ/4,φ11=τ(J/4-h),考慮到φ00=φ01,式(12)改寫為
e-iα(a2cosα+ia3sinα)|10〉+
e-iα(a3cosα+ia2sinα)|11〉]
(14)
(15)
(16)
τJ=-π
(17)
τ表示量子處理器在沒有外界射頻磁場作用時,兩量子位系統(tǒng)的狀態(tài)在哈密頓量式(13)的支配下,隨時間演化的時間間隔.
在伊辛模型式(13)中兩個核自旋感受到相同的靜態(tài)磁場,但實際上兩個核自旋感受到的是不同的靜態(tài)磁場,這個靜態(tài)磁場為
(18)
(19)
(20)
(21)
首先制備初始態(tài)|00〉為均勻疊加態(tài)|s〉核磁共振脈沖序列為
(22)
其中,Wj是作用在第j個量子位上的WH變換.
兩量子位搜索量子算法的查詢算符[12,13]為
Ua=I-2|10〉〈10|
(23)
分兩步來實現(xiàn),首先讓系統(tǒng)核自旋之間的相互作用(式(1)的第一項)隨時間自由演化(不加射頻脈沖磁場)一段時間t,兩量子位之間相互作用隨時間演化算符[12]為
(24)
eiπ/4|10〉+e-iπ/4|11〉)
(25)
(26)
所以,
(27)
構(gòu)造出查詢算符Ua核磁共振脈沖序列為
(28)
因為,
(29)
同理可構(gòu)造出查詢算符另一個核磁共振脈沖序列:
(30)
在量子搜索算法中的平均值反轉(zhuǎn)算符[12,13]為Us=2|s〉〈s|-I,對于兩量子位量子搜索算法平均值反轉(zhuǎn)算符為
(〈00|+〈01|+〈10|+〈11|)]-I
(31)
Us可表示為WH變換、條件相移變換P和另一個WH變換的乘積:
Us=W1W2PW1W2
(32)
用于構(gòu)造Ua的脈沖序列方法也適用于條件相移門P,構(gòu)造條件相移門P的脈沖序列為
(33)
Grover量子算法迭代算符[10,11]為U=UsUa,在|s〉態(tài)中搜索|10〉態(tài)的迭代算符U2的完整脈沖序列為
U2=W1W2PW1W2Ua
(34)
(35)
(36)
考慮到兩個核自旋感受到不同的靜態(tài)磁場的事實,需要對G(π)算符進(jìn)行修改:
(37)
應(yīng)該改寫為
(38)
其中參數(shù):
τ=-π/J
(39)
(40)
(41)
邏輯上等價的迭代算符的另一個核磁共振脈沖序列:
(42)
在理論研究工作中,采用文獻(xiàn)[7]中參數(shù)取值:
(43)
(44)
(45)
采用自然單位,令?=1,這時兩個核自旋處于一個靜態(tài)磁場和一個射頻正旋磁場中,在旋轉(zhuǎn)參考系[14]中計算,當(dāng)射頻磁場與核自旋1發(fā)生共振,即
(46)
這時式(45)的解為
(47)
(48)
式(48)表明:要使核自旋1繞y軸轉(zhuǎn)動π/2,但又不會影響核自旋2的狀態(tài),要求射頻脈沖作用時間t1滿足:
(49)
(50)
式(47)中第一個因子會產(chǎn)生一個相移,要消除這個相移對核自旋狀態(tài)的影響,要求:
(51)
k1是正整數(shù). 對脈沖參數(shù)的最后一個限制來自事實:
(52)
且0<γ<1,要使核自旋1繞y軸轉(zhuǎn)動π/2,但又不會影響核自旋2的狀態(tài)的條件式(49)—式(52),可得
(53)
同理,要使自旋2繞y軸轉(zhuǎn)動π/2,而又不會影響自旋1的狀態(tài),可得
(54)
其中k2、n2是正整數(shù),式(53)和(54)無精確解,但在k1和k2很大,γ為有理數(shù)時,令γ=N/M,0
(55)
表1 k=1核磁共振脈沖序列參數(shù)執(zhí)行時間τ取值 /4πns
表2 k=1量子控制非門脈沖序列參數(shù)J和h取值 /π×109 Hz
表3 k=1 Grover量子算法脈沖序列參數(shù)J和h取值 /π×109 Hz
量子算法核磁共振物理實現(xiàn)脈沖序列設(shè)計程序問題可用含時薛定諤方程進(jìn)行數(shù)值求解來演示,等價于執(zhí)行量子算法. 核自旋系統(tǒng)隨時間的演化遵守含時薛定諤方程[15]:
(56)
采用自然單位,令?=1,|Φ(t)〉描述整個量子計算機(jī)在時刻t的狀態(tài),H(t)為哈密頓量,利用第j量子位z方向分量的期望值,定義:
(57)
Qj是自旋1和自旋2的z分量期望值有關(guān)的量,Qj=1表示|1〉,Qj=0表示|0〉.
下面用Suzuki對稱乘積[16,17]公式取代每個
U(t(n+1)δ,t+nδ):
e-iδHz/2e-iδHy/2e-iδHxe-iδHy/2e-iδHz/2
(58)
e-iδHy(t+(n+1/2)δ)/2e-iδHx(t+1/2)δ·
e-iδHy(t+(n+1/2)δ/2e-iδHz(t+(n+1/2)δ/2
(59)
其中
(60)
圖1 k=1, 執(zhí)行CNOT1|11〉運(yùn)算時,Q1和Q2隨時間演化
圖2 k=1,執(zhí)行CNOT2|11〉運(yùn)算時,Q1和Q2隨時間演化
圖3 k=1時,執(zhí)行CNOT3|11〉運(yùn)算時,Q1和Q2隨時間演化
圖4 k=1時,執(zhí)行CNOT4|11〉運(yùn)算時,Q1和Q2隨時間演化
圖5 k=32, 執(zhí)行CNOT1|11〉運(yùn)算時,Q1和Q2隨時間演化
圖6 k=32時,執(zhí)行CNOT2|11〉運(yùn)算時,Q1和Q2隨時間演化
圖7 k=32,執(zhí)行CNOT3|11〉運(yùn)算時,Q1和Q2隨時間演化
圖8 k=32,執(zhí)行CNOT4|11〉運(yùn)算時,Q1和Q2隨時間演化
圖9 k=4時, U2搜索|10〉時,Q1和Q2隨時間演化
圖10 k=4時,搜索|10〉時,Q1和Q2隨時間演化
圖11 k=32時,U2搜索|10〉時,Q1和Q2 隨時間演化
圖12 k=32時,搜索|10〉時Q1和Q2隨時間演化
表4 k=1核磁共振脈沖序列執(zhí)行時間τ、時間步長δ和執(zhí)行步數(shù)m/4πns
表5 k= 1、4、8、32時,控制非門四種不同脈沖序列作用于|11〉后Q1和Q2的期望值
表6 k= 1、2、8、32時,Grover算法的兩種不同脈沖序列搜索|s〉態(tài)中后|10〉 Q1和Q2的期望值
在理論上量子處理器的相互獨(dú)立基本操作(幺正變換)是可對易的,在物理上實際執(zhí)行這些基本操作時,在有些情況下相互獨(dú)立基本操作(幺正變換)并不對易,從而造成量子計算結(jié)果出錯,我們稱之為量子程序問題,量子程序問題產(chǎn)生的原因是:1) 理論上一個和兩個量子比特完美的量子邏輯門操作與其物理實現(xiàn)的操作之間是有差異的;2) 使核自旋1發(fā)生共振射頻脈沖磁場不僅會改變核自旋1的狀態(tài),也會改變核自旋2的狀態(tài);3) 射頻脈沖作用時間遠(yuǎn)小于核自旋之間相互作用時間,在理論工作中核自旋之間相互作用對核自旋在射頻脈沖作用下隨著時間演化的影響可以忽略,但實際上會對兩個核自旋之間產(chǎn)生相對相移. 據(jù)我們所知,目前理論上研究量子程序問題的唯一方法,是利用含時薛定諤方程數(shù)值求解,通過執(zhí)行數(shù)值計算來模擬量子算法來研究量子程序問題.