(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024178729
(43)【公開日】2024-12-25
(54)【発明の名称】操作生成装置、操作生成方法、及びプログラム
(51)【国際特許分類】
G06N 10/60 20220101AFI20241218BHJP
【FI】
G06N10/60
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023097098
(22)【出願日】2023-06-13
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 2022年10月25日にarXivウェブサイトにて公開
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】鈴木 泰成
(72)【発明者】
【氏名】徳永 裕己
(72)【発明者】
【氏名】小泉 勇樹
(57)【要約】
【課題】量子位相推定の操作を従来技術よりも効率的に行う。
【解決手段】量子位相推定を行うために用いる操作の構成情報を生成する操作生成装置において、エルミート行列を入力し、当該エルミート行列から第1パウリ行列の線形結合を作成する入力部と、前記入力部により得られた前記第1パウリ行列の集合に基づいて、前記第1パウリ行列の集合を被覆するように構成された第2パウリ行列の集合を生成し、前記第2パウリ行列の集合の構成情報からセレクト操作の構成情報を生成する分解部と、前記セレクト操作の構成情報を出力する出力部と
を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
量子位相推定を行うために用いる操作の構成情報を生成する操作生成装置であって、
エルミート行列を入力し、当該エルミート行列から第1パウリ行列の線形結合を作成する入力部と、
前記入力部により得られた前記第1パウリ行列の集合に基づいて、前記第1パウリ行列の集合を被覆するように構成された第2パウリ行列の集合を生成し、前記第2パウリ行列の集合の構成情報からセレクト操作の構成情報を生成する分解部と、
前記セレクト操作の構成情報を出力する出力部と
を備える操作生成装置。
【請求項2】
前記分解部での被覆が冗長である場合に、その冗長性を補正するように、前記エルミート行列の線形結合の係数列に基づき構成された係数列を用いることでプリペア操作の構成情報を生成する
請求項1に記載の操作生成装置。
【請求項3】
前記出力部は、前記セレクト操作の構成情報と前記プリペア操作の構成情報を出力する
請求項2に記載の操作生成装置。
【請求項4】
前記第2パウリ行列の集合の構成情報は、添え字の数、添え字の値域のリスト、添え字の集合の個数、添え字の集合のリスト、前記第2パウリ行列の集合を含み、前記第2パウリ行列は、前記添え字の集合により定まるパウリ行列である
請求項1に記載の操作生成装置。
【請求項5】
量子位相推定を行うために用いる操作の構成情報を生成する操作生成装置が実行する操作生成方法であって、
エルミート行列を入力し、当該エルミート行列から第1パウリ行列の線形結合を作成する入力ステップと、
前記入力ステップにより得られた前記第1パウリ行列の集合に基づいて、前記第1パウリ行列の集合を被覆するように構成された第2パウリ行列の集合を生成し、前記第2パウリ行列の集合の構成情報からセレクト操作の構成情報を生成する分解ステップと、
前記セレクト操作の構成情報を出力する出力ステップと
を備える操作生成方法。
【請求項6】
コンピュータを、請求項1ないし4のうちいずれか1項に記載の操作生成装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子位相推定の技術分野に関連するものである。
【背景技術】
【0002】
量子計算機は、量子力学の重ね合わせの原理を活用して計算を行う技術であり、素因数分解や量子化学計算などの問題を高速に解けることが期待されているため、その開発が世界で盛んに進められている。量子計算機を用いて初めて実現できる量子アルゴリズムの中で最も有名なものに量子位相推定がある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Low, G. H., & Chuang, I. L. (2019), "Hamiltonian simulation by qubitization.", Quantum, 3, 163.
【発明の概要】
【発明が解決しようとする課題】
【0004】
量子位相推定のための効率的な操作の構築方法として、非特許文献1に開示されているQubitizationと呼ばれる手法が知られている。しかし、当該従来技術よりも、量子位相推定の操作をより効率的にすることが求められている。
【0005】
本発明は上記の点に鑑みてなされたものであり、量子位相推定の操作を従来技術よりも効率的に行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
開示の技術によれば、量子位相推定を行うために用いる操作の構成情報を生成する操作生成装置であって、
エルミート行列を入力し、当該エルミート行列から第1パウリ行列の線形結合を作成する入力部と、
前記入力部により得られた前記第1パウリ行列の集合に基づいて、前記第1パウリ行列の集合を被覆するように構成された第2パウリ行列の集合を生成し、前記第2パウリ行列の集合の構成情報からセレクト操作の構成情報を生成する分解部と、
前記セレクト操作の構成情報を出力する出力部と
を備える操作生成装置が提供される。
【発明の効果】
【0007】
開示の技術によれば、量子位相推定の操作を従来技術よりも効率的に行うことを可能とする技術が提供される。
【図面の簡単な説明】
【0008】
【
図2】操作生成装置の動作を説明するためのフローチャートである。
【
図4】操作生成装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0010】
以下の説明において参考文献を[1]等の番号で示し、番号に対応する参考文献名を明細書の最後に記載した。なお、前述の非特許文献1は、参考文献[1]に対応する。
【0011】
以下ではまず、従来技術とその課題について詳細に説明し、その後に本発明に係る技術を説明する。なお、下記の従来技術の説明の中で参照する文献に記載された内容や量子位相推定自体は公知技術であるが、下記の従来技術の説明には、本発明に至る考察・分析が含まれていることから、下記の従来技術の説明の内容は公知技術ではない。また、課題の説明も公知技術ではない。
【0012】
(従来技術について)
量子計算機は、量子力学の重ね合わせの原理を活用して計算を行う技術であり、素因数分解や量子化学計算などの問題を高速に解けることが期待されているため、その開発が世界で盛んに進められている。
【0013】
量子計算機は量子ビットを基本として構成される計算機である。量子ビットは通常のビットが表現する0,1に加えて、その重ね合わせ状態を取ることができる。n個の量子ビットからなる系は2nパターンのビット列の重ね合わせ状態となり、その状態は2n次元の複素ベクトル
【0014】
【数1】
として表現することができる。ここで、(・)
Tはベクトルの転置を表す。このベクトルは状態ベクトルと呼ばれる。非負の整数iについて|i〉は今考えているベクトル空間のi番目のみが1で、残りの要素が全て0であるようなベクトルとする。すると、状態ベクトルは|ψ〉=Σ
iψ
i|i〉と記述することが出来る。量子力学の制約により状態ベクトル|ψ〉はΣ
i|ψ
i|
2=1という制約を満たす。
【0015】
量子ビットに対する操作は大きく測定とユニタリ操作の二つに分けることが出来る。測定とは一定の反作用のもとで量子状態から古典情報を取り出す手続きである。ユニタリ操作は以下のような手続きである。
【0016】
行列を転置して複素共役を取る操作をエルミート随伴と呼ぶ。ある複素正方行列Uについて、エルミート随伴U†が自身の逆行列となっているような行列をユニタリ行列と呼ぶ。ユニタリ操作は2n×2nのユニタリ行列Uで特徴づけられ、状態ベクトル|ψ〉にある量子状態を、U|ψ〉の状態ベクトルに対応する量子状態に遷移させる操作である。典型的な量子計算機では、n個のうち定数個のみに非自明に作用するユニタリ操作を定数時間で実現することができる。
【0017】
量子計算機を用いて初めて実現できる量子アルゴリズムの中で最も有名なものに量子位相推定がある。量子位相推定は以下のようなアルゴリズムである。以降では正の整数nについて2n×2nの複素行列Hを考える。エルミート随伴H†が自身と等しい行列をエルミート行列と呼ぶ。ここで、2n×2nのエルミート行列は2n種類の規格化された固有ベクトル|φi〉と、それぞれに対応する実固有値λiを持つ。つまり、i∈[0,2n-1]について、H|φi〉=λi|φi〉となる。この時、2n種類の固有ベクトルの集合{|φi〉}は2n次元の複素ベクトル空間の正規直行基底をなす。
【0018】
今、2n次元の規格化された複素ベクトル|ψ〉を考える。この時、{|φi〉}は基底であるから、|ψ〉=Σiαi|φi〉と複素数αiを用いて一意に分解することができる。この時、規格化条件よりΣi|αi|2=1となる。量子位相推定とは、後述するいくつかの条件を満たすエルミート行列Hについて、|αi|2の確率でλiを二進数表現でm桁の精度で得る手続きである。量子位相推定は次元を特徴づける値nに対して多項式的に依存する量子ビットの基本操作の組み合わせで実現できる。このような手続きによる固有値の解析は広範な科学分野で登場するため、その応用範囲は広い。
【0019】
通常の計算機で同様の手続きを素朴に行うには、例えば2nのサイズの行列を対角化する必要があり、その手続きには23nに比例する基本演算が必要となる。従って、計算時間はnに対して指数関数的に増大し、nが一定以上の大きさになると通常の計算機では現実的な時間で計算を終えることが出来なくなる。一方、量子計算機はnに対して多項式的に計算コストが増大するため、十分大きなnについては、量子計算機は通常の計算機に比べ大幅な高速化を実現できる。
【0020】
以下に、量子位相推定が実行できるために必要な条件を説明する。第一の条件は、|ψ〉を状態ベクトルとして持つ量子状態が準備できることである。第二の条件は、エルミート行列Hから定義されるユニタリ操作control-eiHが、nに対して多項式的に増大する基本操作で実現できることである。ここで、control-eiHとは以下の式で定義されるユニタリ行列である。
【0021】
【数2】
ただし、〈・|は|・〉の双対ベクトルであり、|0〉=(1,0)
T、|1〉=(0,1)
Tである。
【0022】
量子位相推定は、実現できれば応用範囲が広いものの、実用的な問題で上記の二つの条件を満たせるかは自明ではない。従って、二つの条件を満たすことができる範囲を広げる試みが長くなされてきた。上記のうち、特に第二の条件を効率的に満たすことができる方法にQubitizationと呼ばれる手法[1]がある。Qubitizationとは以下のようなものである。
【0023】
以下の形で定義された2×2の複素行列をパウリ行列と呼ぶ。
【0024】
【数3】
2×2の単位行列をIとしたとき、{I,X,Y,Z}のn個のテンソル積で表される4
n種類の行列の集合
【0025】
【数4】
を考える。この時、P
nの要素となる行列は係数の違いを無視して積に関して閉じている。また、P
nの行列は全てエルミート行列であり、2
n×2
nのエルミート行列の基底をなす。従って、任意の2
n×2
nのエルミート行列はパウリ行列の線形結合で展開することができ、以下のように実係数a
iで展開できる。
【0026】
【数5】
ここで総和の添え字の数Lは一般に4
nであるが、物性物理学や量子化学などの分野で登場するエルミート行列は典型的にnに対して多項式的な数の項数で実現することができる。以降では記述を簡単にするため、a
iが正の実数である場合を考える。ただし、以下の手法は文献[1]にある通り、a
iに負の実数が含まれる場合にも容易に拡張できる。
【0027】
Qubitizationの枠組みを用いると、第二の条件を満たすための手続きを、PREPARE(プリペア)とSELECT(セレクト)と呼ばれる二つの操作に還元することができる。ここで、PREPARE操作UPは|0〉=(1,0,・・・0)TというL次元の複素ベクトルに作用したとき、以下のようになるユニタリ操作である。
【0028】
【数6】
このようなユニタリ操作は一意ではないが、そのうちどれでもPREPARE操作として機能する。SELECT操作は以下のように定義されるユニタリ操作である。
【0029】
【数7】
この行列はL次元のベクトル空間と2
n次元のベクトル空間のテンソル積空間に作用するユニタリ行列である。ここで、テンソル積の左側の項はL次元のベクトル空間に対応し、P
iはハミルトニアンを展開したときにあらわれるパウリ行列である。
【0030】
物性物理学などの一部の分野ではPREPAREは容易に作ることができるので、SELECTと呼ばれる操作をいかに効率的に作ることが出来るかが課題となる。以降ではSELECT操作について説明する。
【0031】
上記のSELECT操作を素朴に実装するとL・logLに比例する個数のユニタリ操作が必要となるが、一定の工夫を加えることでLに比例する操作で実現する方法が知られている[2]。従って、物性物理学の分野の応用ではLに比例するコストでQubitizationの要素であるSELECTを実現することができる。Lがnに対して多項式的に増大する場合、量子位相推定の実施に必要な二つ目の条件を満たすことができる。
【0032】
(課題について)
上述したQubitizationに基づく量子位相推定の構築は効率的だと考えられている一方、量子計算機をより高速に扱うにはより効率的にSELECT操作を実現する方法が望まれていた。本実施の形態に係る技術は、一定の条件が満たされるエルミート行列について、従来考えられていたよりもさらに高速にSELECT操作を構築するものである。本実施の形態に係る技術により従来考えられていたよりさらに高速に量子位相推定が実現できるようになり、従ってより広範な応用に量子計算機を活用することができるようになる。
【0033】
以下、本実施の形態に係る技術について、まず、その原理を説明し、その後に、実施例として、具体的な装置構成、及び装置動作を説明する。
【0034】
(本実施の形態に係る技術の原理)
対象となるL個のパウリ行列の集合を{Pi}iとする。本実施の形態に係る技術において、パウリ行列の集合を以下に記述する特定の形式で書きなおせるとき、Lよりも小さいコストでSELECT操作を実現できる。
【0035】
m個の添え字の集合X=(x0,・・・xm-1)を考える。これらの添え字はそれぞれxi∈[0..yi-1]のように0以上yi未満の整数を取る。さらに、Xの部分集合Sk⊆Xを(S0...SK-1)までK種類作成する。ここで、|Sk|をSkに属する添え字の値域の積で定義する。つまり、Skを
【0036】
【0037】
【0038】
ここで、SELECTの対象となる集合{Pi}iを被覆する、以下の条件を満たす集合を考える。
【0039】
【0040】
【数11】
は添え字集合Xのうち、S
kの添え字列によって定まるパウリ行列である。上記の分解が実現された後、以下の操作をV
kと定義する。
【0041】
【数12】
この操作は文献[2]の手法を同様に用いれば|S
k|のコストで実現できる。また、V=V
0V
1・・・V
K-1とすると、Vは以下のようになる。
【0042】
【数13】
この操作はΣ
k
K-1|S
k|のコストで実現することができる。上記の操作は、添え字の集合Xを、添え字を連結した一つの添え字と考えれば、SELECT操作における添え字iを冗長な添え字Xで記述した操作とみなすことができる。この時、作成した集合が{P
i}
iを真に被覆する場合は余剰な項が含まれてしまう。しかしながら、元のハミルトニアンを
【0043】
【数14】
となるように係数b
Xに0を割り当てることで書き直すことができ、PREPARE操作を以下のように修正することで、Qubitizationの条件を再び満たすことができる。
【0044】
【数15】
ベクトルの次元の数を増やすことはPREPAREの作成コストを増やすことになるため、
【0045】
【数16】
の集合は{P
i}
iを出来るだけ丁度被覆するように構成されるべきである。言い換えると冗長な被覆となってしまいPREPAREのコストが大きくなると、本実施の形態に係る技術の有用性は小さくなる。
【0046】
このため、本実施の形態に係る技術はあくまでPREPAREのコストがこうした修正の下で問題とならないケースで有用となる。ただし、物性物理学におけるハミルトニアンでは係数が均質であるため、こうした修正を行っても典型的にSELECT操作の方が計算時間のコストが大きいため問題とならない。また、特に余剰に追加された項が単位行列Iである場合は固有値をシフトするだけであるため、計算結果として得られる固有値から適切な値を差し引くことでも対応することも可能である。
【0047】
任意の{Pi}iについて、上記の制約を見たす構成が必ず一つは存在する。その自明な構成として、m=K=1でかつ、y0=L、S0=X={x0}として、
【0048】
【数17】
とする例がある。この構成は集合として{P
i}
iと完全に一致するが、この時のコストはLであり分解前から減少していない。
【0049】
もう一つの自明な構成として、m=K=nとして、yi=4、Sk={xk}、
【0050】
【数18】
、(σ
0,σ
1,σ
2,σ
3)=(I,X,Y,Z)とする方法がある。この構成のコストは4nである。この構成では係数の違いを無視して
【0051】
【数19】
となるので、{P
i}
iを明らかに含む。従って、この方法はL>4nであるときに常に有効である。
【0052】
一般のケースとして、例えば正の整数cについて、L=cmであり、K=mであり、yi=cであり、Si={xi}として上記が成り立つケースがあれば、必要なコストのオーダーはL=cmからmcになる。これはコストがおよそm乗根まで減っていることに対応する。少なくともこうした条件が成り立つケースは人工的に構築することができ、m=2に対応するケースとして、量子物理学の分野で解析の対象となっているSchwingerモデルがある。
【0053】
最も効率的にSELECT操作を実現するには、与えられたパウリ行列の集合{Pi}iに対して、
【0054】
【数20】
を満たしたうえでΣ
k
K-1|S
k|を最小化するような、整数列{y
i}
i、添え字の部分集合列{S
k}
k、パウリ行列の系列
【0055】
【数21】
の構成を求める必要がある。この構成は一般にメタヒューリスティックなアルゴリズムに還元して探索する、あるいは、一定のパラメータを固定したもとで整数計画問題に帰着して探索することも可能である。ただし、典型的な実用的ケースでは、{P
i}
iが持つ生来的な構造からほぼ最適と予想される分解を容易に見出すことができる。このため、本実施の形態ではこの構成を最適化する手法は特に定めず、効率化の枠組み自体の技術を提案さしている。
【0056】
(実施例)
次に、上述した技術の実施例を説明する。
図1は、本実施例における操作生成装置100の構成図である。
図1に示すように、操作生成装置100は、入力部110、分解部120、補正部130、及び出力部140を備える。
図1には、各部から出力される情報が示されている。
図2のフローチャートに示す手順に沿って、操作生成装置100の各部の動作を説明する。
【0057】
<S101:入力>
S101において、入力部110にハミルトニアンH(エルミート行列)が入力される。入力部110は、入力されたハミルトニアンHをパウリ行列の和(線形結合)としてH=ΣiaiPiの形に変換する。入力部110は、係数のリスト{ai}を補正部130に送付し、パウリ行列の集合{Pi}を分解部120に送付する。
【0058】
<S102:分解部>
S102において、分解部120は、入力部110から受け取ったパウリ行列の集合{Pi}iを分解することにより、パウリ行列の集合{Pi}iから、
【0059】
【0060】
【数23】
を構築する。分解の結果として得られる構成情報は、添え字の数m、値域のリスト{y
i}、添え字の集合の個数K、添え字の集合リスト{S
k}、および、添え字の集合より定まるパウリ行列
【0061】
【数24】
を有する。分解部120は、これらの情報からK個のSELECT操作の構成要素V
1・・・V
kの構成情報(回路構成)を出力部140に送付する。また、分解部120は、分解後のパウリ行列集合の構成情報を補正部130へ送付する。なお、ここでの分解の具体的な構築方法については特定の方法に限定されないが、例えば、前述の原理の説明における自明な分解を使用することができる。
【0062】
<S103:補正>
S103において、補正部130は、分解部120から受け取った構成情報に基づいて、分解部120で行われた被覆が冗長であると判断すると、その分の補正を行う形でPREPARE操作の係数列{bi}を{ai}から構成する。その後に、補正部130は、PREPARE操作を構築する。PREPARE操作の構築自体は既存技術であり、例えば文献[2]に開示された方法と同様の方法を用いてPREPARE操作を構築する。補正部130は、構築したPREPARE操作の構成情報を出力部140に送付する。
【0063】
<S104:出力>
S104において、出力部140は、分解部120から受け取ったSELECT操作の構成情報、及び補正部130から受け取ったPREPARE操作の構成情報をペアとして出力する。これらの情報から、文献[1,2]の情報により、量子位相推定のアルゴリズムを実施することができる。
【0064】
(量子計算装置の構成例)
操作生成装置100により得られた操作の情報を用いて、実際に量子ビットを用いて量子位相推定のアルゴリズムを実施する量子計算装置400の構成例を
図3に示す。なお、「量子計算装置」を「量子コンピュータ」、「量子計算システム」、「量子計算機」などと呼んでもよい。
【0065】
図3に示すとおり、量子計算装置400は、制御装置200と量子プロセッサ300を備える。制御装置200は、量子位相推定のアルゴリズムに従って、量子プロセッサ200に制御信号等を送信し、量子プロセッサ300から測定結果を取得することで、量子位相推定結果(つまり固有値)を算出する。制御装置200は、例えば古典コンピュータにより実現できる。
【0066】
操作生成装置100と制御装置200は別々の装置であってもよいし、制御装置200の中に操作生成装置100の機能が含まれていてもよい。
【0067】
量子プロセッサ300は、量子系(量子ビット)を実現するための物理系を有する。量子系を実現するための物理系は特定のものに限定されないが、例えば、マイクロ波光子、超伝導回路、イオントラップ、量子ドット等を使用することができる。
【0068】
また、量子プロセッサ300における量子ビットは、実際の物理系を用いたものに限定されない。例えば、量子ビットは、ソフトウェアで実現されるシミュレータ上のものであってもよい。この場合、量子プロセッサ300は、量子ビットのシミュレータとして機能する。このシミュレータは、制御装置200の内部に備えられてもよいし、クラウド上に備えられてもよい。
【0069】
(ハードウェア構成例)
本実施の形態で説明した操作生成装置100は、例えば、コンピュータ(古典コンピュータ)にプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
【0070】
すなわち、操作生成装置100は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、操作生成装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0071】
図4は、上記コンピュータのハードウェア構成例を示す図である。
図4のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、当該コンピュータは、更にGPUを備えてもよい。
【0072】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0073】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、操作生成装置100に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0074】
(実施の形態のまとめ、効果)
以上説明したように、本実施の形態では、SELECT操作で必要となる手続きを分解することにより、さらなる効率化を実現した。すなわち、本実施の形態に係る技術により、従来考えられていた技術よりも高速にSELECT回路を実装することができる。これにより、従来考えられていた技術よりも高速に量子位相推定を実装することができ、量子計算機をより多様な用途に活用することができる。
【0075】
以上の実施形態に関し、更に以下の付記を開示する。
【0076】
<付記>
(付記項1)
量子位相推定を行うために用いる操作の構成情報を生成する操作生成装置であって、
エルミート行列を入力し、当該エルミート行列から第1パウリ行列の線形結合を作成する入力部と、
前記入力部により得られた前記第1パウリ行列の集合に基づいて、前記第1パウリ行列の集合を被覆するように構成された第2パウリ行列の集合を生成し、前記第2パウリ行列の集合の構成情報からセレクト操作の構成情報を生成する分解部と、
前記セレクト操作の構成情報を出力する出力部と
を備える操作生成装置。
(付記項2)
前記分解部での被覆が冗長である場合に、その冗長性を補正するように、前記エルミート行列の線形結合の係数列に基づき構成された係数列を用いることでプリペア操作の構成情報を生成する
付記項1に記載の操作生成装置。
(付記項3)
前記出力部は、前記セレクト操作の構成情報と前記プリペア操作の構成情報を出力する
付記項2に記載の操作生成装置。
(付記項4)
前記第2パウリ行列の集合の構成情報は、添え字の数、添え字の値域のリスト、添え字の集合の個数、添え字の集合のリスト、前記第2パウリ行列の集合を含み、前記第2パウリ行列は、前記添え字の集合により定まるパウリ行列である
付記項1ないし3のうちいずれか1項に記載の操作生成装置。
(付記項5)
量子位相推定を行うために用いる操作の構成情報を生成する操作生成装置が実行する操作生成方法であって、
エルミート行列を入力し、当該エルミート行列から第1パウリ行列の線形結合を作成する入力ステップと、
前記入力ステップにより得られた前記第1パウリ行列の集合に基づいて、前記第1パウリ行列の集合を被覆するように構成された第2パウリ行列の集合を生成し、前記第2パウリ行列の集合の構成情報からセレクト操作の構成情報を生成する分解ステップと、
前記セレクト操作の構成情報を出力する出力ステップと
を備える操作生成方法。
(付記項6)
コンピュータを、付記項1ないし4のうちいずれか1項に記載の操作生成装置における各部として機能させるためのプログラムを記憶した非一時的記憶媒体。
【0077】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0078】
[参考文献]
[1] Low, G. H., & Chuang, I. L. (2019). Hamiltonian simulation by qubitization. Quantum, 3, 163. (url: https://arxiv.org/abs/1610.06546v3)
[2] Babbush, R., Gidney, C., Berry, D. W., Wiebe, N., McClean, J., Paler, A., ... & Neven, H. (2018). Encoding electronic spectra in quantum circuits with linear T complexity. Physical Review X, 8(4), 041015. (url: https://arxiv.org/abs/1805.03662)
【符号の説明】
【0079】
100 操作生成装置
110 入力部
120 分解部
130 補正部
140 出力部
200 制御装置
300 量子プロセッサ
400 量子計算装置
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置