本發(fā)明涉及量子計(jì)算領(lǐng)域,具體來說,涉及量子電路指令集轉(zhuǎn)換領(lǐng)域,更具體地說,涉及一種基于雙比特量子門分類的量子電路指令集轉(zhuǎn)換方法。
背景技術(shù):
1、在量子算法設(shè)計(jì)中,為便于直觀思考算法的實(shí)現(xiàn)流程,所采用的量子門通常關(guān)注其邏輯意義。而在量子計(jì)算機(jī)上,為了量子算法的物理實(shí)現(xiàn),往往重視量子計(jì)算機(jī)所直接支持執(zhí)行的量子門?,F(xiàn)有將在量子計(jì)算機(jī)上可以直接支持執(zhí)行的所有量子門稱為該量子計(jì)算機(jī)所支持的量子電路指令集。而現(xiàn)有的量子計(jì)算機(jī)所支持的量子電路指令集通常包含一種非張量積的雙比特量子門和若干種單比特量子門,且這些單比特量子門可以實(shí)現(xiàn)任意2階酉矩陣。因此,理論分析可以證明,這樣的量子電路指令集可以實(shí)現(xiàn)任意數(shù)量量子比特上的任意量子電路。
2、進(jìn)一步的,為了實(shí)現(xiàn)量子計(jì)算機(jī)執(zhí)行量子算法時(shí)的實(shí)際效果,需要將量子算法電路中的量子門等價(jià)變換為目標(biāo)量子計(jì)算機(jī)的量子電路指令集中各個(gè)量子門的組合,即實(shí)現(xiàn)量子電路指令集轉(zhuǎn)換。再通過量子計(jì)算機(jī)直接執(zhí)行該量子算法經(jīng)過轉(zhuǎn)換后的一系列量子門,達(dá)到量子算法的物理實(shí)現(xiàn)效果。
3、量子電路指令集轉(zhuǎn)換的實(shí)現(xiàn)原理包括:量子門和量子電路的作用效果與酉矩陣相對應(yīng),通過量子電路指令集中的量子門構(gòu)建出與目標(biāo)量子門酉矩陣相同的量子電路,并進(jìn)行替換即可。例如,針對整數(shù)分解問題的shor算法,其標(biāo)準(zhǔn)量子算法電路的實(shí)現(xiàn)中使用大量的受控繞z軸旋轉(zhuǎn)門(簡稱crz門),若量子計(jì)算機(jī)直接支持受控非門(簡稱cnot門),不支持crz門,則需要將crz門進(jìn)行轉(zhuǎn)換,如圖1所示,其為crz門轉(zhuǎn)換為cnot門的轉(zhuǎn)換原理示意圖。該圖中的等式左邊整體表示crz門,等式右邊從左到右依次表示參數(shù)為α/2的繞z軸旋轉(zhuǎn)門(簡稱rz門)、cnot門、參數(shù)為-α/2的rz門和cnot門。此等式表示左右兩邊量子門矩陣相等。其中,右邊的矩陣等于全部量子門矩陣的乘積,單比特門需先通過與單位矩陣張量積的方式變成相同矩陣大小。
4、通過上述分析可知,量子電路指令集轉(zhuǎn)換是在量子計(jì)算機(jī)上實(shí)際執(zhí)行量子算法的一個(gè)關(guān)鍵技術(shù)。在現(xiàn)有的量子計(jì)算軟件包中也實(shí)現(xiàn)了一些量子電路指令集轉(zhuǎn)換技術(shù),但這些轉(zhuǎn)換技術(shù)普遍包含以下問題:
5、1)支持轉(zhuǎn)換的雙比特量子門的類型受限:現(xiàn)有的量子計(jì)算軟件包多數(shù)只支持轉(zhuǎn)換為特定量子計(jì)算機(jī)的量子電路指令集中的雙比特量子門,即僅支持轉(zhuǎn)換為指令集中特定類型的雙比特量子門作為目標(biāo)雙比特量子門,適用范圍小。
6、2)大量的轉(zhuǎn)換規(guī)則堆砌:完全基于規(guī)則替換的雙比特量子門轉(zhuǎn)換意味著需要為支持的雙比特量子門兩兩之間編寫所需的轉(zhuǎn)換規(guī)則。因此,這種情況下,若需支持n種不同的雙比特量子門,則需要編寫n(n-1)條轉(zhuǎn)換規(guī)則。這些規(guī)則中實(shí)際上存在大量的重復(fù)堆砌。這也是現(xiàn)有量子計(jì)算軟件包選擇只支持少數(shù)轉(zhuǎn)換規(guī)則的主要原因。
7、3)規(guī)則的最簡性質(zhì)難以保證:為避免將所有規(guī)則列出導(dǎo)致大量的重復(fù)堆砌問題,現(xiàn)有的解決方式是:將部分規(guī)則直接給出,其他規(guī)則由直接給出的規(guī)則通過搜索算法進(jìn)一步導(dǎo)出。這種簡單的導(dǎo)出過程無法保證最終的雙比特量子門間轉(zhuǎn)換規(guī)則所使用的目標(biāo)雙比特量子門數(shù)量最少,導(dǎo)致轉(zhuǎn)換規(guī)則過于復(fù)雜或存在多余轉(zhuǎn)換規(guī)則的問題。
8、因此,現(xiàn)有針對雙比特量子門的轉(zhuǎn)換技術(shù)中,支持轉(zhuǎn)換的雙比特量子門的類型受限,導(dǎo)致可擴(kuò)展性差和適用范圍小的問題,若為了提高適用范圍,則需增加轉(zhuǎn)換規(guī)則,又導(dǎo)致大量的規(guī)則重復(fù)堆砌問題,或采用搜索算法通過已有規(guī)則導(dǎo)出最終轉(zhuǎn)換規(guī)則,又會(huì)導(dǎo)致轉(zhuǎn)換規(guī)則復(fù)雜化的問題。
9、需要說明的是:本背景技術(shù)僅用于介紹本發(fā)明的相關(guān)信息,以便于幫助理解本發(fā)明的技術(shù)方案,但并不意味著相關(guān)信息必然是現(xiàn)有技術(shù)。在沒有證據(jù)表明相關(guān)信息已在本發(fā)明的申請日以前公開的情況下,相關(guān)信息不應(yīng)被視為現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)思路
1、因此,本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺陷,提供一種基于雙比特量子門分類的量子電路指令集轉(zhuǎn)換方法。
2、本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
3、根據(jù)本發(fā)明的第一方面,提供一種基于雙比特量子門分類的量子電路指令集轉(zhuǎn)換方法,用于將原始量子電路中的量子門轉(zhuǎn)換為量子電路指令集支持的量子門,其中,所述指令集包括量子計(jì)算機(jī)支持的一個(gè)目標(biāo)雙比特量子門和多個(gè)目標(biāo)單比特量子門,該方法包括:
4、s1、將原始量子電路中待支持的多比特量子門拆解為雙比特量子門和單比特量子門的組合形式,得到拆解后的量子電路;s2、獲取針對雙比特量子門預(yù)先定義的多個(gè)類別、類內(nèi)轉(zhuǎn)換規(guī)則和類間轉(zhuǎn)換規(guī)則,每個(gè)類別包括一種或多種量子門,針對每個(gè)類別設(shè)有一個(gè)代表量子門,類內(nèi)轉(zhuǎn)換規(guī)則包括每個(gè)類別的代表量子門與同類別的每個(gè)量子門間的轉(zhuǎn)換規(guī)則,類間轉(zhuǎn)換規(guī)則包括每兩個(gè)不同類別的代表量子門之間的轉(zhuǎn)換規(guī)則;s3、確定拆解后的量子電路中待支持的雙比特量子門及其類別;s4、將拆解后的量子電路中待支持的雙比特量子門轉(zhuǎn)換為目標(biāo)雙比特量子門,得到轉(zhuǎn)換后的量子電路,其中,在待支持的雙比特量子門和目標(biāo)雙比特量子門所屬的類別相同時(shí),根據(jù)類內(nèi)轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換,否則根據(jù)類內(nèi)轉(zhuǎn)換規(guī)則和類間轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換;s5、將轉(zhuǎn)換后的量子電路中待支持的單比特量子門轉(zhuǎn)換為目標(biāo)單比特量子門,得到最終的量子電路。
5、在本發(fā)明的一些實(shí)施例中,所述步驟s4中,所述根據(jù)類內(nèi)轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換的方式包括:根據(jù)類內(nèi)轉(zhuǎn)換規(guī)則,將待支持的雙比特量子門轉(zhuǎn)換為第一形式,其包待支持的雙比特量子門所屬類別的代表量子門;根據(jù)類內(nèi)轉(zhuǎn)換規(guī)則,將第一形式中包含的代表量子門轉(zhuǎn)換為第二形式,其包含目標(biāo)雙比特量子門;基于所述第一形式和第二形式,組合得到包括所述目標(biāo)雙比特量子門的最終形式。
6、在本發(fā)明的一些實(shí)施例中,所述步驟s4中,所述基于類內(nèi)轉(zhuǎn)換規(guī)則和類間轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換的方式包括:根據(jù)類內(nèi)轉(zhuǎn)換規(guī)則,將待支持的雙比特量子門轉(zhuǎn)換為第三形式,其包待支持的雙比特量子門所屬類別的代表量子門;根據(jù)類間轉(zhuǎn)換規(guī)則,將第三形式中包含的代表量子門轉(zhuǎn)換為第四形式,其包含目標(biāo)雙比特量子門的類別對應(yīng)的代表量子門;根據(jù)類內(nèi)轉(zhuǎn)換規(guī)則,將第四形式中包含的代表量子門轉(zhuǎn)換為第五形式,其包含目標(biāo)雙比特量子門;基于所述第三形式、第四形式和第五形式,組合得到包括所述目標(biāo)雙比特量子門的最終形式。
7、在本發(fā)明的一些實(shí)施例中,所述步驟s2中,所述預(yù)先定義的多個(gè)類別中,所述類別通過如下方式定義:將存在等價(jià)關(guān)系的兩種雙比特量子門定義為同一類別,以得到多個(gè)類別,其中,在兩種雙比特量子門間能夠通過一個(gè)雙比特量子門和若干單比特量子門實(shí)現(xiàn)相互轉(zhuǎn)換時(shí),表示兩種雙比特量子門間存在等價(jià)關(guān)系。
8、在本發(fā)明的一些實(shí)施例中,所述步驟s2中,所述類內(nèi)轉(zhuǎn)換規(guī)則中的每個(gè)類別的代表量子門與同類別的每個(gè)量子門間的轉(zhuǎn)換規(guī)則利用kak分解的方式得到;其中,每個(gè)類別的代表量子門與同類別的每個(gè)量子門間的轉(zhuǎn)換規(guī)則采用一個(gè)雙比特量子門和若干單比特量子門實(shí)現(xiàn)代表量子門和同類別的對應(yīng)量子門間的相互轉(zhuǎn)換;所述類間轉(zhuǎn)換規(guī)則中的每兩個(gè)不同類別的代表量子門之間的轉(zhuǎn)換規(guī)則利用kak分解的方式得到。
9、在本發(fā)明的一些實(shí)施例中,所述步驟s2中,所述多個(gè)類別包括:
10、第一類別,其代表量子門為受控z門,屬于該類別的雙比特量子門包括受控非門、受控y門、受控z門、受控h門和回波交叉共振門;
11、第二類別,其代表量子門為雙比特zz旋轉(zhuǎn)門,屬于該類別的雙比特量子門包括雙比特xx旋轉(zhuǎn)門、雙比特yy旋轉(zhuǎn)門、雙比特zz旋轉(zhuǎn)門、雙比特zx旋轉(zhuǎn)門、受控繞z軸旋轉(zhuǎn)門和受控繞y軸旋轉(zhuǎn)門;
12、第三類別,其代表量子門為費(fèi)米子模擬門,屬于該類別的雙比特量子門包括費(fèi)米子模擬門;
13、第四類別,其代表量子門為平方根交換量子門,屬于該類別的雙比特量子門包括平方根交換量子門。
14、在本發(fā)明的一些實(shí)施例中,所述步驟s3中,所述待支持的雙比特量子門的類別的確定方式包括:判斷所述待支持的雙比特量子門和每個(gè)類別的代表量子門間是否存在等價(jià)關(guān)系,得到判斷結(jié)果;當(dāng)判斷結(jié)果為存在等價(jià)關(guān)系時(shí),確定所述待支持的雙比特量子門為對應(yīng)代表量子門的類別;其中,在所述待支持的雙比特量子門和所有類別的代表量子門間均不存在等價(jià)關(guān)系時(shí),確定所述待支持的雙比特量子門為新類別。
15、根據(jù)本發(fā)明的第二方面,提供一種量子電路指令集轉(zhuǎn)換系統(tǒng),系統(tǒng)包括:
16、量子電路指令集模塊,用于存儲量子計(jì)算機(jī)支持的一個(gè)目標(biāo)雙比特量子門、多個(gè)目標(biāo)單比特量子門,以及存儲針對雙比特量子門定義的多個(gè)類別,每個(gè)類別包括多種量子門,針對每個(gè)類別設(shè)有一個(gè)代表量子門;
17、雙比特量子門轉(zhuǎn)換規(guī)則模塊,用于針對雙比特量子門預(yù)先定義類內(nèi)轉(zhuǎn)換規(guī)則和類間轉(zhuǎn)換規(guī)則,并存儲類內(nèi)轉(zhuǎn)換規(guī)則和類間轉(zhuǎn)換規(guī)則,其中,類內(nèi)轉(zhuǎn)換規(guī)則包括每個(gè)類別的代表量子門與同類別的每個(gè)量子門間的轉(zhuǎn)換規(guī)則,類間轉(zhuǎn)換規(guī)則包括每兩個(gè)不同類別的代表量子門之間的轉(zhuǎn)換規(guī)則;
18、單比特量子門旋轉(zhuǎn)分解模塊,用于存儲單比特量子門的旋轉(zhuǎn)分解規(guī)則,旋轉(zhuǎn)分解規(guī)則用于將待支持的單比特量子門轉(zhuǎn)換為目標(biāo)單比特量子門;
19、電路分析執(zhí)行模塊,用于基于本發(fā)明第一方面所述方法對原始量子電路中待支持的量子門轉(zhuǎn)換為量子電路指令集中的量子門,得到最終的量子電路。
20、根據(jù)本發(fā)明的第三方面,提供一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;以及存儲器,其中存儲器用于存儲可執(zhí)行指令;所述一個(gè)或多個(gè)處理器被配置為經(jīng)由執(zhí)行所述可執(zhí)行指令以實(shí)現(xiàn)本發(fā)明第一方面所述方法的步驟。
21、與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
22、本發(fā)明方法會(huì)預(yù)先將多種常用雙比特量子門進(jìn)行分類,每個(gè)類別包括一種或多種量子門,針對每個(gè)類別內(nèi)設(shè)有一個(gè)代表量子門,并針對雙比特量子門預(yù)先設(shè)置有類內(nèi)轉(zhuǎn)換規(guī)則和類間轉(zhuǎn)換規(guī)則,可實(shí)現(xiàn)多種類型雙比特量子門的相互轉(zhuǎn)換,適用范圍廣,且可應(yīng)用到多種量子計(jì)算機(jī)上進(jìn)行多種量子算法的物理實(shí)現(xiàn),可擴(kuò)展性好。其中,類內(nèi)轉(zhuǎn)換規(guī)則包括每個(gè)類別的代表量子門與同類別的每個(gè)量子門間的轉(zhuǎn)換規(guī)則,類間轉(zhuǎn)換規(guī)則包括每兩個(gè)不同類別的代表量子門之間的轉(zhuǎn)換規(guī)則,極大地降低了轉(zhuǎn)換規(guī)則數(shù)量。在將待支持的雙比特量子門轉(zhuǎn)換為目標(biāo)雙比特量子門的過程中,若待支持的雙比特量子門和目標(biāo)雙比特量子門所屬的類別相同,根據(jù)類內(nèi)轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換,否則基于類內(nèi)轉(zhuǎn)換規(guī)則和類間轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換過程更簡潔,轉(zhuǎn)換效率高。