ここで、様々な例示的な実施形態を詳細に参照し、その1つ又は複数の例を各図に示す、各例は説明のために提供されており、限定を意味するものではない。例えば、一実施形態の一部として図示又は説明された特徴は、他の実施形態で、又は他の実施形態と併せて使用して、さらに別の実施形態を生み出すことができる。本開示は、そのような修正及び変形を含むことが意図されている。
以下の図面の説明において、同じ参照番号は、同じ構成要素を指す。一般に、個々の実施形態に関する差異のみが説明される。図面に示される構造は、必ずしも縮尺どおりに描かれているわけではなく、実施形態のより良い理解を可能にするために誇張された方法で描かれた詳細を含む場合がある。
本明細書に記載の実施形態は、ゲートベースの量子計算を実行するための方法及び装置に関する。ゲートベースの量子計算、又は、デジタル量子計算は、量子計算がユニタリ演算子のシーケンスによって駆動される計算方法として理解できる。ゲートベースの量子計算は、断熱量子計算(量子アニーリング)又は測定ベースの量子計算のような他のアプローチとは区別される。
本明細書に記載の量子システムは、量子効果を示す物理システムである。つまり、量子システムは、現実世界のオブジェクトである。量子システムには構成要素が含まれる。構成要素は、物理的な量子実体そのものであり、共同して量子システムを形成する、より小さなdレベルの量子システムとみなすことができる。具体的には、量子システムの構成要素は、キュービットであり得る。キュービットは、2レベルの量子システムを実現する物理的実体として理解する必要がある。構成要素は、d>2のdレベル量子システム(「キューディット(qudits)」)であってもよく、dレベルのうちの2つのレベルのみが使用されてもよい。
量子システムは、初期量子状態(量子計算の開始時に準備される量子状態)及び最終量子状態(量子計算によって最終的に終了する量子状態)などの、異なる量子状態にあり得る。最終量子状態は、本明細書に記載の総量子ハミルトニアンなどの量子システムのハミルトニアンの基底状態であるか、又は、それに近似することができる。量子システムは、ユニタリ演算子のシーケンスを実行することによって、初期量子状態から総量子ハミルトニアンの基底状態に向かって、又は、その基底状態に発展させることができる。このような発展は、現実世界のプロセスであり、特に、量子システムを初期量子状態から、計算問題の解に関する情報を含む先験的に未知の最終量子状態に導く、制御された技術プロセス(量子計算)である。前記情報は、量子システム又はその一部、つまりその構成要素の少なくとも一部を測定することによって明らかにすることができる。測定という行為は物理的/技術的なプロセスでもある。測定により、量子システムの読み出しを取得できる。量子システムの読み出しは、量子システムの構成要素との物理的相互作用を伴う、量子システムの構成要素の測定によって得られる測定値のセットである。
量子システムは、キュービットであり得るK個の構成要素を含むことができ、Kは、少なくとも100、少なくとも1000、又は少なくとも10000であり得る。Kは、100~10000、又は、100~100000の範囲であり得るが、Kは、100000より大きくなってもよい。図に示され、例示される量子システムは、例示及び説明の目的で、はるかに小さい場合があるが、いかなる制限を与えるものではないことを理解する必要がある。
H^が量子システムのハミルトニアンである場合、演算子exp(itH^)はユニタリ演算子である。ここで、tは時間パラメータである。exp(itH^)の形式のユニタリ演算子は、本明細書では、ハミルトニアンH^に従って、ユニタリ時間発展演算子、又は、略してユニタリ時間発展と呼ばれるものとする。量子システムは、ハミルトニアンのユニタリ時間発展によって発展する可能性がある。ユニタリ演算子を実行する行為は、物理的/技術的なプロセスである。ユニタリ時間発展exp(itH^)による量子システムの発展は、量子システムの構成要素のサブセット間の相互作用をオンにすることを含むことができ、相互作用はハミルトニアンH^によって定義される。相互作用は、期間tの間オンにすることができる。相互作用は、期間tが経過した後にオフにされてもよい。
現実的なシステムでは、少なくとも少量のノイズが常に存在する。したがって、量子状態を100%の精度で実現することはできない。同様に、ユニタリ演算子や測定など、量子システムで実行される演算は、常に少なくともある程度のノイズの影響を受け、100%の精度で実現されるわけではない。本明細書に記載の量子状態及び演算は、少量のノイズの影響を受ける状態及び演算を包含することが理解されるべきである。
一実施形態によれば、量子計算を実行する方法が提供される。本方法は、構成要素を含む量子システムを提供することを含む。本方法は、計算問題を量子システムの問題ハミルトニアンにコード化することを含む。問題ハミルトニアンは、被加数問題ハミルトニアンの総和である単体ハミルトニアンである。本方法は、量子システムの制約ハミルトニアンを決定することを含む。制約ハミルトニアンは、被加数制約ハミルトニアンの総和である。総ハミルトニアンの基底状態は、計算問題の解をコード化する。総ハミルトニアンには、問題ハミルトニアンと制約ハミルトニアンとの総和が含まれる、又は、総和である。本方法は、制約ハミルトニアンの被被加数制約ハミルトニアンの第1のサブセットと、制約ハミルトニアンの被加数制約ハミルトニアンの第2のサブセットとを決定することを含む。本方法は、N≧2であるN回の演算を実行することを含む。各回には、初期量子状態を準備することが含まれる。各回には、ユニタリ演算子のシーケンスに従って量子システムを発展させることが含まれる。シーケンスには、問題コード化ユニタリ演算子、制約強制ユニタリ演算子及びユニタリ駆動演算子が含まれるか、又は、これらで構成される。各問題コード化ユニタリ演算子は、問題ハミルトニアンの被加数問題ハミルトニアンのユニタリ時間発展演算子であるか、又は、問題ハミルトニアンの被加数問題ハミルトニアンの総和のユニタリ時間発展演算子である。各制約強制ユニタリ演算子は、制約ハミルトニアンの被加数制約ハミルトニアンの第1のサブセットから取得された被加数制約ハミルトニアンのユニタリ時間発展演算子であるか、又は、前記第1のサブセットから取得された被加数制約ハミルトニアンの総和のユニタリ時間発展演算子である。各ユニタリ駆動演算子は、制約ハミルトニアンの被数制約ハミルトニアンの第2のサブセットからの全ての被加数制約ハミルトニアンと可換であるユニタリ演算子である。各回には、量子システムの1つ以上の構成要素の測定の実行が含まれる。本方法は、量子計算の結果を出力することを含む。
本明細書に記載の実施形態によれば、計算問題の(先験的に未知の)解は、総ハミルトニアンの基底空間にコード化される。前記解を決定するために、量子システムは、ユニタリ発展によって、より具体的には、N回の演算中にユニタリ演算子のシーケンスを適用することによって、総ハミルトニアンの基底状態に向かって発展する。N回の演算により、量子システムが徐々に総ハミルトニアンの基底状態に近づく反復プロセスが提供される。反復プロセスの最後に量子システムの状態を最終的に測定すると、計算問題の解が明らかになる。
総ハミルトニアンは、2つの部分の総和、すなわち、問題ハミルトニアンと制約ハミルトニアンとの総和であり得る。したがって、総ハミルトニアンの基底状態は、問題ハミルトニアン及び制約ハミルトニアンの双方に関して低いエネルギーを有する量子状態として特徴付けられる。したがって、問題ハミルトニアン及び制約ハミルトニアンの双方に関して量子システムのエネルギーを下げることによって、量子システムを総ハミルトニアンの基底状態に向かって発展させることができる。N回のユニタリ演算子のシーケンスに問題コード化ユニタリ演算子を適用することにより(問題コード化ユニタリ演算子は、被加数問題ハミルトニアン(の総和)の時間発展である)、量子システムは、問題ハミルトニアンに関する低エネルギーを有する状態の領域に発展する。制約ハミルトニアンに関しては、被加数制約ハミルトニアンは2つのグループ、つまり被加数制約ハミルトニアンの第1のサブセット(S1で示される)と第2のサブセット(S2で示される)とに分割される。第1のサブセットS1からの被加数制約ハミルトニアンは、被加数問題ハミルトニアンと同様に扱われる。つまり、第1のサブセットS1からの被加数制約ハミルトニアン(の総和)のユニタリ時間発展(これらの時間発展演算子は制約強制ユニタリ演算子である)を実行することによって、量子システムは、第1のサブセットS1からの制約ハミルトニアンのそれぞれに関して低エネルギーを有する量子状態に発展する。第1のサブセットS1の被加数制約ハミルトニアンは、「明示的に」強制されると言われる。対照的に、第2のサブセットS2からの被加数制約ハミルトニアンは、明示的に強制されない。むしろ、ユニタリ演算子のセット(ユニタリ駆動演算子)が選択される。これは、ユニタリ駆動演算子に従って量子システムを発展させるときに、第2のサブセットS2の被加数制約ハミルトニアンに関する量子システムのエネルギーが保存されるようなものである(つまり、ユニタリ駆動演算子は、第2のサブセットS2からの全ての被加数制約ハミルトニアンと可換である)。したがって、量子システムが第2のサブセットS2の被加数制約ハミルトニアンの基底状態で始まる場合、量子システムは、量子システムの発展を通じて前記被加数制約ハミルトニアンの基底状態内に留まるため、第2のサブセットS2の被加数制約ハミルトニアンを明示的に強制する必要がない。第2のサブセットS2の被加数制約ハミルトニアンは、「暗黙的に」強制されると言われる。
したがって、本開示は、一部の被加数制約ハミルトニアンが明示的に強制され、他の被加数制約ハミルトニアンが暗黙的に強制される「ハイブリッド」アプローチを提供する。第1のサブセットS1の被加数制約ハミルトニアンの明示的な強制には、対応する制約強制ユニタリ演算子が高度に並列化可能である、つまり、これらのユニタリ演算子は小さな回路深さで実行でき、実際の実現が大幅に容易になる、という利点がある。それでも、制約ハミルトニアンの被加数制約ハミルトニアンの全てが明示的に強制されるわけではない。明示的な強制は、上記の反復プロセスの過程で検索される量子状態の部分空間のサイズの増加につながり、その結果、計算の実行時間が増加するからである。対照的に、被加数制約ハミルトニアンの第2のサブセットS2の暗黙的な強制は、その構造そのものによって、量子システムが第2のサブセットS2の被加数制約ハミルトニアンの基底空間内に留まるように強制し、それによって量子計算中に調査される量子システムの部分領域のサイズを制限する。したがって、本明細書に記載の実施形態は、2つの利点の組み合わせを提供する。すなわち、より小さい探索空間と組み合わせられた高度な並列化可能性(第1のサブセットS1からの被加数制約ハミルトニアンの明示的な実施によるもの)と、これによる計算の改善された実行時間(第2のサブセットS2からの被加数制約ハミルトニアンの暗黙的な強制によるもの)と、である。
計算問題
計算問題は、決定問題、最適化問題、又は、別の種類の計算問題であってもよい。計算問題は、例えば、コンピュータサイエンス、物理学、化学又は工学の分野で考慮される様々な計算問題のうちのいずれか1つであり得る。計算問題は、イジングスピンモデル問題などのNP困難問題であり得る。本開示の計算問題は、欧州特許第3113084号明細書に記載されているような任意の計算問題であり得る。欧州特許第3113084号明細書は、本明細書に組み込まれる。
計算問題のサイズは、計算問題を特定するために必要な、古典的な情報単位の数、例えば、古典ビットの数の尺度として理解され得る。計算問題のサイズは、計算問題の入力変数の数に依存するか、又は、その数であり得る。入力変数の数が増えると、計算問題のサイズも大きくなり得る。
問題ハミルトニアン
H^Pで示される問題のハミルトニアンは、量子システムの単体ハミルトニアンである。単体ハミルトニアンは、2つ以上の構成要素のグループ間で相互作用が起こらないハミルトニアンである。単体ハミルトニアンは、量子システムの構成要素と、外部実体、例えば磁場又は電場との間の相互作用を表し得る。各構成要素は外部実体と個別に相互作用する。
問題ハミルトニアンは被加数問題ハミルトニアンの総和である。各被加数問題ハミルトニアンは、量子システムの単一の構成要素に作用し得る。問題ハミルトニアンは、H^P=ΣkH^P,kの形式を有し得る。ここで、各H^P,kは、量子システムのk番目の構成要素のみに作用する被加数問題ハミルトニアンである。
問題ハミルトニアンは、調整可能なパラメータを有することができる。問題ハミルトニアンの調整可能なパラメータは、量子システムの構成要素と外部実体との間の相互作用の強度及び/又は方向を表すパラメータであり得る。外部実体は、フィールド、特に単体フィールドであり得る。単体フィールドは、量子システムの単一の構成要素に影響を与えるフィールドを指す場合がある。外部実体は、例えば、1つ以上の磁場、1つ以上の電場、1つ以上のレーザフィールド、1つ以上のマイクロ波、機械的変形による1つ以上の位相シフト、又はそれらの組み合わせを含み得る。問題ハミルトニアンの調整可能なパラメータには、量子システムの構成要素に作用する単体フィールドの複数のフィールド強度及び/又は複数のフィールド方向が含まれ得る。
問題ハミルトニアンは、H^P=ΣkJkσ^z
(k)の形式を有し得る。ここで、σ^z
(k)は量子システムのk番目の構成要素のパウリ演算子であり、各Jkは係数である。係数Jkは、問題ハミルトニアンの調整可能なパラメータを形成することができる。各項Jkσ^z
(k)は、本明細書に記載の被加数問題ハミルトニアンであり得る。
図1は、問題ハミルトニアンH^P=ΣkH^P,kにコード化される計算問題110を示す。問題ハミルトニアンH^P及び各被加数問題ハミルトニアンH^P,kは、図1にそれぞれ参照番号150及び152で示されている。
計算問題を問題ハミルトニアンにコード化することは、計算問題から、問題ハミルトニアンの調整可能なパラメータの問題コード化構成を決定することを含み得る。問題コード化構成には、計算問題に関する情報が含まれる場合がある。特に、計算問題と問題コード化構成との間には、1対1の対応関係があり得る。例えば、形式H^P=ΣkJkσ^z
(k)の問題ハミルトニアンの場合、係数Jkは調整可能なパラメータを形成することがあり、問題コード化構成は、量子計算によって解かれる計算問題をコード化するパラメータJkの値の特定のセットであり得る。
計算問題を問題ハミルトニアンにコード化することは、計算問題が最初に補助計算問題にマッピングされ、その後、補助計算問題が問題ハミルトニアンにマッピングされる2段階のプロセスを含むことができる。
計算問題を問題ハミルトニアンにコード化することは、計算問題を補助計算問題にマッピングすることを含むことができ、補助計算問題は、イジングスピンモデルなどのスピンモデルの基底状態を決定することを含む。補助計算問題は、イジングスピンモデル問題であってもよい。補助計算問題は、イジングスピンモデル問題などのNP困難な計算問題であってもよい。様々な計算問題からイジングスピンモデル問題や他のNP困難問題へのマッピングは文献で知られている。
計算問題を問題ハミルトニアンにコード化することは、補助計算問題から問題ハミルトニアンを決定することを含むことができる。具体的には、問題ハミルトニアンの調整可能なパラメータの問題コード化構成は、補助計算問題から決定され得る。例えば、補助計算問題のスピンモデルにおけるスピン間の各相互作用は、問題ハミルトニアンの被加数問題ハミルトニアンにマッピングすることができる。イジングスピンモデル問題から問題ハミルトニアンを決定することを可能にする特定のコード化(「パリティ」コード化と呼ばれる)は、欧州特許第3113084号明細書及び国際公開第2022/008057号に記載されている。国際公開第2022/008057号は、本明細書に組み込まれる。
制約ハミルトニアン
制約ハミルトニアンを決定する行為は、制約ハミルトニアンの古典的記述を決定することを含むことができる。決定には、計算(例えば、古典的計算システムにより)、読み取り(例えば、メモリから)、受信(例えば、通信チャネルを介して)などが含まれ得る。被加数制約ハミルトニアンの第1のサブセット及び第2のサブセットを決定する行為も同様に理解できる。
制約ハミルトニアン(H^Cで示される)は、短距離ハミルトニアンであり得る。短距離ハミルトニアンは、構成要素のグループ内の結合相互作用を表すハミルトニアンを指す場合があり、相互作用遮断距離DSRよりも長い距離だけ互いに離れている構成要素間では相互作用が発生しない。相互作用遮断距離DSRは一定の距離であってもよい。相互作用遮断距離DSRは、量子システム内の構成要素間の最大構成要素距離よりもはるかに小さい可能性がある。例えば、相互作用遮断距離は、最大構成要素距離の30%以下、20%以下、又は、10%以下であってもよい。構成要素が基本距離(格子定数)を有する格子内に配置されている場合、短距離量子ハミルトニアンは、格子の基本距離(格子定数)のr倍よりも大きい距離だけ互いに離れた構成要素間では相互作用が起こらないものになる可能性がある。ここで、rは1~5であり得る。例えば、r=√2,2,3,4又は5であってもよい。短距離ハミルトニアンH^は、H^=ΣiH^iの形式を有し得る。ここで、各H^iはH^の被加数ハミルトニアンであり、各被加数ハミルトニアンH^iは、グループ内の任意の2つの構成要素が相互作用遮断距離DSR以下の距離だけ互いに離れているように、量子システムの構成要素のグループ内でのみ作用する。各被加数ハミルトニアンH^iは、H^i=K^i[×]Iの形式を有し得る。ここで、[×]はテンソル積であり、K^iは構成要素のグループ内で作用する演算子であり、Iは前記構成要素のグループの外側の全ての構成要素に作用する恒等演算子である。
制約ハミルトニアンは、d体ハミルトニアンであってもよく、dは8以下、特に4以下である。d体ハミルトニアンは、複数の構成要素の相互作用を表すハミルトニアンを指す場合があり、d+1個以上の構成要素を含むグループ間では結合相互作用が起こらない。d体ハミルトニアンは被加数ハミルトニアンの総和であり、各被加数ハミルトニアンはd個以下の構成要素のグループ間の結合相互作用を表す。
Zタイプの演算子は、ΣjajZ^j(総和に1つの項のみが含まれる場合を含む)の形式の演算子である。ここで、各ajは係数であり、各Z^jは、パウリσ^z演算子のテンソル積、又は、単一のパウリσ^z演算子である。制約ハミルトニアンは、Zタイプの演算子であってもよい。制約ハミルトニアンはH^C=ΣlC^lの形式を有することができ、各C^lはC^l=alZ^l+blIの形式を有し、Z^lはパウリσ^z演算子のテンソル積であり、Iは恒等演算子であり、al及びblは係数である。各C^lは被加数制約ハミルトニアンであり得る。
本明細書では、ハミルトニアンの具体的な形式(問題ハミルトニアン、制約ハミルトニアン、駆動ハミルトニアンなど)が例として提供される。例えば、前述のように、問題ハミルトニアン及び制約ハミルトニアンは、パウリσ^z演算子を使用できる。パウリ演算子のタイプのこの選択は、対応する方向(x、y、z)を自由に選択できるか、又は、パウリ演算子のタイプを並べ替えることができるという点で一般性を失わないことを理解されたい。問題ハミルトニアン及び制約ハミルトニアンは、同じタイプのパウリ演算子を使用できる。
制約ハミルトニアンH^Cは、総ハミルトニアン(H^totalで示される)の基底状態が計算問題の解をコード化するという特性を有する。ここで、総ハミルトニアンは問題ハミルトニアンH^Pと制約ハミルトニアンH^Cとの総和である、つまり、H^total=H^P+H^Cである。総ハミルトニアンの基底状態が計算問題の解をコード化することは、前記基底状態が問題の解に関する情報を含むという意味で理解できる。この情報は、基底状態について1つ以上の測定を実行することで明らかになる。前記測定の結果に基づいて、計算問題の解(例えば、試行的な解)を決定することができる。
「制約ハミルトニアン」という用語は、イジングモデル問題(元の計算問題、又は、元の計算問題がマッピングされる補助計算問題であり得る)の問題ハミルトニアンへのコード化が、自由度の数を増加させ得るという特性に由来する。これは、問題ハミルトニアンの基底空間のみに、イジングモデルのスピン構成に対応しない量子状態、つまりイジングモデルに「マッピングバック」できない量子状態が含まれるという意味である。これらの追加の自由度を削除するために、制約ハミルトニアンが導入される。制約ハミルトニアンは、問題ハミルトニアンと制約ハミルトニアンとの総和の基底空間、つまり総ハミルトニアンに、計算問題の解に対応する量子状態のみが含まれるように、前述の量子状態にエネルギーペナルティ又はエネルギー制約を課す。具体的には、各被加数制約ハミルトニアンは、構成要素のサブグループ内で量子状態|1>にある構成要素の数が偶数になるように、パリティ制約を構成要素のサブグループに課すことができる。
イジングスピンモデル問題から問題ハミルトニアン及び対応する制約ハミルトニアンを決定することを可能にする特定のコード化は、欧州特許第3113084号明細書及び国際公開第2022/008057号に記載されている。
前述のように、総ハミルトニアンは、問題ハミルトニアンと制約ハミルトニアンとの総和とすることができる。他の実施形態では、総ハミルトニアンは追加項を含むことができ、換言すれば、総ハミルトニアンは問題ハミルトニアンと制約ハミルトニアンとの総和に加えて任意の追加項を含むことができる。追加項は、例えば、計算問題の解に課せられる追加の条件(「副条件」)に対応する場合がある。
図2は、制約ハミルトニアンH^C=ΣlC^lを示している。制約ハミルトニアンH^Cは、被加数制約ハミルトニアンC^lの総和である(図2に示す例では、7つの被加数制約ハミルトニアンがあるが、この数は単に説明のためのものであり、開示はこれに限定されない)。制約ハミルトニアン及び各被加数制約ハミルトニアンは、図2においてそれぞれ参照番号250及び252で示されている。被加数制約ハミルトニアン252のセットは、第1のサブセットS1と第2のサブセットS2とに分割される。図示の例では、第1のサブセットS1は被加数制約ハミルトニアンC^1、C^2、C^3で構成され、第2のサブセットS2は被加数制約ハミルトニアンC^4、C^5、C^6、C^7で構成される。繰り返しになるが、この例は単に説明を目的としたものであり、本開示はこれに限定されるものではない。
制約ハミルトニアンの被加数制約ハミルトニアンの第1のサブセット及び第2のサブセットは、本明細書ではそれぞれS1及びS2で表される。第1のサブセットS1及び第2のサブセットS2は互いに素なサブセットであってもよい。第1のサブセットS1と第2のサブセットS2との和集合は、制約ハミルトニアンの被加数制約ハミルトニアンのセット全体を形成することができる。第1のサブセットS1及び第2のサブセットS2は、制約ハミルトニアンの被加数制約ハミルトニアンの区分を形成することができる。被加数制約ハミルトニアンの第1及び第2のサブセットの具体例については、後述する「更なる態様」のセクションで説明する。
N回の演算
N回の演算は、10以上、具体的には100以上、より具体的には1000以上の演算、或いは、100000以上の演算さえも含み得る。
N回の演算の各回は、前記回の初期量子状態を準備することを含む。初期量子状態は、N回の演算の全てで同じであり得る。或いは、異なる初期量子状態が演算の異なる回に対して準備されてもよい。
N回の演算の少なくとも一部、場合によっては全ての初期量子状態は、部分制約ハミルトニアンの基底状態であってもよい。部分制約ハミルトニアンは、第2のサブセットS2から取得された全ての被加数制約ハミルトニアンの総和である(前記部分制約ハミルトニアンは、以降で更に説明する「第2の部分制約ハミルトニアン」である)。部分制約ハミルトニアンは基底空間を有する。基底空間は、部分ハミルトニアンの基底状態である全ての量子状態で構成される。基底空間は、量子基底状態のセットからなる基底空間基底(ground space basis)、つまり正規直交基底を有する。例えば、各量子基底状態は、xがビット列である|x>の形式を有することができる。すなわち、各量子基底状態は、計算基底状態(標準基底状態)であり得る。N回の演算の少なくとも一部、場合によっては全ての初期量子状態は、基底空間基底の全ての量子基底状態の重ね合わせであってもよい。初期量子状態の具体例については、後述する「更なる態様」のセクションで説明する。
N回の演算の各回は、ユニタリ演算子のシーケンスに従って量子システムを発展させることを含む。このシーケンスには、問題コード化ユニタリ演算子、制約強制ユニタリ演算子及びユニタリ駆動演算子が含まれる。
各問題コード化ユニタリ演算子は、問題ハミルトニアンの被加数問題ハミルトニアンのユニタリ時間発展演算子、又は、問題ハミルトニアンの被加数問題ハミルトニアンの総和のユニタリ時間発展演算子である。問題コード化ユニタリ演算子は、exp(itA^)の形式を有し得る。ここで、tは係数であり、A^は単一の被加数問題ハミルトニアンH^P,kに等しいか、2つ以上の被加数問題ハミルトニアンH^P,kの総和に等しいかのいずれかである(A^が全ての被加数問題ハミルトニアンH^P,kの総和であるため、A^がH^Pに等しい場合を含む)。
各制約強制ユニタリ演算子は、制約ハミルトニアンの被加数制約ハミルトニアンの第1のサブセットS1から取得された被加数制約ハミルトニアンのユニタリ時間発展演算子であるか、又は、前記第1のサブセットS1から取得された被加数制約ハミルトニアンの総和のユニタリ時間発展演算子である。制約ハミルトニアンHCは、以下の式で示される。
ここで、第1の総和は、第1のサブセットS1の全ての被加数制約ハミルトニアンC^iに及び、第2の総和は、第2のサブセットS2の全ての被加数制約ハミルトニアンC^jに及ぶ。第1の総和は、本明細書に記載のように(「更なる態様」のセクションを参照)、第1の部分制約ハミルトニアンに等しい。第2の総和は、本明細書に記載の第2の部分制約ハミルトニアンに等しい。制約強制ユニタリ演算子の形式はexp(itA^)である。ここで、tは係数であり、A^は、第1のサブセットS1から取得された単一の被加数制約ハミルトニアンC^iに等しいか、第1のサブセットS1から取得された複数の被加数制約ハミルトニアンC^iの総和に等しいかのいずれかである(A^が第1のサブセットS1から取得された全ての被加数制約ハミルトニアンC^iの総和であるため、A^が第1の部分制約ハミルトニアンに等しい場合を含む)。
各制約強制ユニタリ演算子は、第2の部分制約ハミルトニアンの基底空間基底で自明に作用することができる。そこでは、演算子が基底空間基底の各量子基底状態をそれ自体に比例係数までマッピングする場合、演算子は基底空間基底で自明に作用するとみなされる。
各ユニタリ駆動演算子は、被加数制約ハミルトニアンの第2のサブセットS2からの全ての被加数制約ハミルトニアンC^jと可換である。各ユニタリ駆動演算子が、第1のサブセットS1からの1つ以上の被加数制約ハミルトニアンC^iと可換でない場合もある。各ユニタリ駆動演算子はexp(itH^)の形式を有し得る。ここで、tは係数であり、H^はΣjbjX^jの形式の演算子である(総和に1つの項のみが含まれる場合を含む)。各bjは係数であり、各X^jは、パウリσX演算子のテンソル積、又は、単一のパウリσX演算子である。
各ユニタリ駆動演算子は、第2の部分制約ハミルトニアンの基底空間基底で自明でない作用をする可能性がある。演算子が基底空間基底で自明に作用しない場合、演算子は基底空間基底で自明でない作用をしているとみなされる。第2の部分制約ハミルトニアンの基底空間基底の各量子基底状態|x>について、各ユニタリ駆動演算子は、|x>を第2の部分制約ハミルトニアンの基底空間基底の2つ以上の量子基底状態の線形結合にマッピングし得る。
本明細書に記載の実施形態に係る方法は、被加数駆動ハミルトニアンの総和である駆動ハミルトニアンを決定することを含むことができ、駆動ハミルトニアンは、第2のサブセットS2の全ての被加数制約ハミルトニアンと可換である。各ユニタリ駆動演算子は、駆動ハミルトニアンの被加数駆動ハミルトニアンのユニタリ時間発展演算子であってもよいし、駆動ハミルトニアンの2つ以上の被加数駆動ハミルトニアンの総和のユニタリ時間発展演算子であってもよい(ユニタリ駆動演算子が駆動ハミルトニアンのユニタリ時間発展演算子であり、駆動ハミルトニアンが全ての被加数駆動ハミルトニアンの総和である場合を含む)。
駆動ハミルトニアンはXタイプの演算子であり得る。Xタイプの演算子は、ΣjbjX^j(総和に1つの項のみが含まれる場合を含む)の形式の演算子である。ここで、各bjは係数であり、各X^jはパウリσ^x演算子のテンソル積又は単一のパウリσ^x演算子である。このパウリ演算子の選択は、対応する方向(x、y、z)を自由に選択できる、又は、パウリ演算子のタイプを並べ替えることができるという点で、一般性を失うことはないことが再度理解されるべきである。駆動ハミルトニアンは、問題ハミルトニアン及び制約ハミルトニアンとは異なるタイプのパウリ演算子を使用する場合がある。後述の「更なる態様」のセクションでは、駆動ハミルトニアンを「ハイブリッド駆動ハミルトニアン」と呼ぶ。
一連の演算のユニタリ演算子のシーケンスは、U^1、U^2、・・・、U^mで表され得る。ここで、各U^iはユニタリ演算子である。U^iの少なくとも一部、場合によって全ては、問題コード化ユニタリ演算子、制約強制ユニタリ演算子又はユニタリ駆動演算子であってもよい。問題の回の初期状態は|ψ>で表すことができる。シーケンスU^1、U^2、・・・、U^mに従って量子システムを発展させることは、シーケンスが適用された後の量子システムの量子状態が、少なくとも近似的にはU^m・・・U^2U^1|ψ>である、という意味で理解できる。
量子システムがシーケンスU^1、U^2、・・・、U^mに従って発展するということは、必ずしもシーケンスの各演算子U^iが単一のユニタリ演算子として実行されることを意味するわけではない。任意の演算子U^iは、それ自体、複数のユニタリ演算子(量子ゲート)の積又は回路として実行できる。これは、ユニタリ演算子U^iが複雑すぎて単一のユニタリ演算子として実行できない場合に有利となり得る。ユニタリ演算子U^iをいくつかのより単純なユニタリ演算子の量子回路(例えば、小さな定数dを有する短距離d体ユニタリ演算子)として分解すると、ユニタリ演算U^iの実行が容易になる可能性がある。
ユニタリ演算子のシーケンスに従って量子システムを発展させることは、複数の量子ゲートを備える量子回路によってシーケンスの少なくともいくつかのユニタリ演算子を実行することを含み得る。シーケンスの問題コード化ユニタリ演算子、制約強制ユニタリ演算子及びユニタリ駆動演算子の少なくとも一部、特に全ては、量子回路によって実行され得る。「量子回路」という用語は、論理ゲートを含む論理ゲート回路を指し、各論理ゲートはユニタリ演算子である(この文脈では「量子ゲート」と呼ばれる)。
量子回路の各量子ゲートは、短距離ユニタリ演算子であり得る。短距離ユニタリ演算子は、量子システムの構成要素のサブグループ内でのみ作用するユニタリ演算子であり、サブグループ内の任意の2つの構成要素は、本明細書に記載のように、量子システムの相互作用遮断距離以下の距離だけ互いに離れている。短距離ユニタリ演算子は、前記構成要素のサブグループの外にある構成要素には作用しない。
それに加えて、又は、その代わりに、量子回路の各量子ゲートは、d体ユニタリ演算子であってもよい。dは小さな定数であり得る。例えば、dは、8以下、更には4以下であってもよい。d体ユニタリ演算子は、量子システムの最大d個の構成要素を含むサブグループ内でのみ作用するユニタリ演算子を指す。d体ユニタリ演算子は、前記サブグループ外の構成要素には作用しない。単体ユニタリ演算子は、d=1のd体ユニタリ演算子である。
N回の演算のうちの少なくともいくつかの回のユニタリ演算子のシーケンスは、K個の問題コード化ユニタリ演算子、及び/又は、L個の制約強制ユニタリ演算子、及び/又は、M個のユニタリ駆動演算子を含み得る。ここで、K、L及び/又はMは、5以上、具体的には10以上、更に具体的には200以上であってもよい。
N回の演算の各回について、前記回のユニタリ演算子のシーケンスに従って量子システムを発展させることは、前記ユニタリ演算のシーケンスを前記回の初期量子状態に適用することを含むことができる。
N回の演算のうちの少なくとも一部のユニタリ演算子のシーケンスは、A1A2・・・Apの形式を有することができるか、又は、少なくとも前記形式のサブシーケンスを含むことができる。ここで、p≧3であり、具体的にはpは、10以上、100以上又は1000以上である。各Aiは、XiYiZiの形式の積であり、Xi、Yi及びZiの1つは問題コード化ユニタリ演算子であり、Xi、Yi及びZiの別の1つは制約強制ユニタリ演算子であり、Xi、Yi及びZiの更に別の1つはユニタリ駆動演算子である。ユニタリ演算子の可能なシーケンスの例については、後述する「更なる態様」のセクションで詳しく説明する。
N回の演算の各回は、量子システムの1つ以上の構成要素の測定を実行することを含む。N回の演算の各回について、前記回の測定は、前記回のユニタリ演算子のシーケンスに従って量子システムを発展させた結果得られる量子状態に対して実行され得る。1つ以上の構成要素の測定を実行することには、1つ以上の構成要素のそれぞれに対するパウリ演算子、例えば、パウリ演算子σzを測定することが含まれてもよい。
いくつかの実施形態では、本方法は、情報のフィードフォワードを含み、一連の演算で適用されるユニタリ演算子のシーケンスは、1回以上前の、例えば少なくとも2回前の演算で実行される測定の測定結果に依存し得る。N回の演算は、1つ以上の適応回、例えば、10以上、100以上、1000以上、更には100000以上の適応回の演算を含むことができる。適応回の演算毎に、適応回のユニタリ演算子のシーケンスのユニタリ演算子は、N回の演算のうち前の回で実行された測定の少なくとも1つの測定結果に基づいて決定され得る。
N回の演算は、第1回の演算を含むことができる。第1回の演算のユニタリ演算子のシーケンスに従って量子システムを発展させると、量子システムの第1量子状態が得られる可能性がある。第1回で測定を実行することは、第1量子状態のエネルギーを測定することを含み得る。第1量子状態などの量子状態のエネルギーを測定することは、本明細書に記載の総ハミルトニアンなどのハミルトニアンを測定することを含み得る。
N回の演算は、第1回の演算の後に実行される第2回の演算を含むことができる。第2回の演算のユニタリ演算子のシーケンスに従って量子システムを発展させると、量子システムの第2量子状態が得られる可能性がある。第2回で測定を実行することは、第2量子状態のエネルギーを測定することを含み得る。第2量子状態のエネルギーを測定することは、総ハミルトニアンなどのハミルトニアンを測定することを含み得る。
本明細書に記載の方法は、第1量子状態のエネルギーを第2量子状態のエネルギーと比較することを含み得る。本方法は、N回の演算のうちの第3回で適用されるユニタリ演算子のシーケンスを決定することを含んでもよく、第3回は第2回の後に実行される。第3回で適用されるユニタリ演算子のシーケンスは、少なくとも第1量子状態のエネルギーと第2量子状態のエネルギーとの比較に基づいて決定され得る。
例えば、第1量子状態のエネルギーと第2量子状態のエネルギーとの比較により、第1量子状態のエネルギーが第2量子状態のエネルギーよりも小さいことが明らかになった場合、ユーザは、第1量子状態が、第2量子状態よりも、測定されたハミルトニアン(例えば、総ハミルトニアン)の基底状態に近いと結論付けることができる。これを考慮して、ユーザは、第2回のユニタリ演算子のシーケンスを拒否し、第1回のユニタリ演算のシーケンスに戻ることができる。第1回のユニタリ演算のシーケンスから開始して、ユーザは、例えば前記シーケンスの1つ又はいくつかの演算子を別の演算子に置き換えることによって、前記シーケンスに小さな混乱を加えることができる。結果として得られるシーケンスは、第3回の演算で適用されるユニタリ演算子のシーケンスになる場合がある。
或いは、第1量子状態のエネルギーと第2量子状態のエネルギーとの比較により、第1量子状態のエネルギーが第2量子状態のエネルギーよりも大きい(または等しい)ことが明らかになった場合、ユーザは、第2量子状態が、第1量子状態よりも、測定されたハミルトニアンの基底状態に近いと結論付けることができる。これを考慮して、ユーザは、第2回のユニタリ演算子のシーケンスを受け入れることができる。第2回のユニタリ演算のシーケンスから開始して、ユーザは、前記シーケンスに小さな調整や混乱を加えることができる。結果として得られる調整されたシーケンスは、第3回の演算で適用されるユニタリ演算子のシーケンスになる可能性がある。
ユーザは、全ての回の演算を通して、同様の方法で進めることができる。すなわち、(i)現在の回の演算のユニタリ演算のシーケンスを適用した後に得られる量子状態のエネルギーを測定する(例えば、総ハミルトニアンを測定することによって);(ii)現在の回の測定されたエネルギーと前の回の測定されたエネルギーとを比較する;(iii)現在の回の測定されたエネルギーが前の回の測定されたエネルギーよりも大きい場合、現在の回の量子状態を拒否し、前の回のユニタリ演算のシーケンスを受け入れる。或いは、現在の回の測定されたエネルギーが前の回の測定されたエネルギーよりも小さい場合、現在の回のユニタリ演算のシーケンスを受け入れる;(iv)受け入れられたユニタリ演算のシーケンスから開始して、前記受け入れられたシーケンスを摂動させて、次の回の演算のための演算のシーケンスを取得する。
回数Nが増加するにつれて、ますます大きな量子状態のセットが準備され、後続の量子状態のエネルギーは徐々に減少する(又は、少なくとも増加しない)。したがって、エネルギーは測定されたハミルトニアンの基底状態エネルギーに徐々に近づく。これを考慮して、本明細書に記載の実施形態は、測定されたハミルトニアンの基底状態への徐々に改善された近似を提供する。
演算の各回で適切なハミルトニアンを測定することによって、計算問題の解を決定することができる。実施形態によれば、N回の演算のうちの複数の回(具体的には、N回の実質的に全て)は、それぞれ、量子システムの総ハミルトニアンを測定することを含み得る。本明細書に記載のように、総ハミルトニアンは、計算問題の解に関する情報を含む基底状態を有する。したがって、量子システムが、総ハミルトニアンの基底状態にある、又は、基底状態に近い場合には、量子システムを測定することで問題の情報が明らかになる可能性がある。計算問題の解を決定できる。
上記では、測定されたハミルトニアンが総ハミルトニアンである方法の例が示されているが、他のハミルトニアンを測定することもできる。具体的には、総ハミルトニアンは、修正ハミルトニアンの形式が総ハミルトニアンと異なるように修正又は変換される可能性があるが、修正ハミルトニアンは、修正ハミルトニアンの基底状態が計算問題の解をコード化するという特性を依然として有する。例えば、各構成要素又は構成要素の複数の小グループの基底を変更することによって、総ハミルトニアンを変更すると、ハミルトニアンの形式が変更される可能性があるが、修正ハミルトニアンの基底状態が計算問題の解をコード化するという特性は変更されない。
上記では、1つ以上のエネルギーが測定される方法の例が示されているが、更なる測定又は代替の測定も実行され得る。例えば、量子状態のエネルギーを測定する代わりに、目標状態に対する量子状態の量子忠実度を測定してもよい。例えば、目標状態は、目標ハミルトニアン(本明細書に記載の総ハミルトニアン、又は、他のハミルトニアンなど)の基底状態であってもよい。2つの量子状態|ψ1>及び|ψ2>の量子忠実度は、量|ψ1|ψ2>|を指す。
結果の出力
本明細書に記載の実施形態に係る方法は、量子計算の結果を出力することを含む。量子計算の結果は、N回の演算で実行された1つ以上の測定の1つ以上の測定結果に基づくことができる。本方法は、例えば、本明細書に記載の古典的計算システムによって、N回の演算で実行された1つ以上の測定の1つ以上の測定結果を処理することを含み得る。本方法は、1つ以上の処理された測定結果に基づいて量子計算の結果を出力することを含み得る。
出力される量子計算の結果は、計算問題の解、具体的には試行解であってもよい。試行解は、例えば、計算問題の近似解であり得る。
サブシステム
被加数制約ハミルトニアンの第1のサブセットS1を、前記第1のサブセット内の被加数制約ハミルトニアンが、サブシステムと呼ばれるより小さな構成要素グループへの量子システムの分割を効果的に定義するような方法で、選択することが有益であり得る。このアプローチは、本明細書では「モジュール化」とも呼ばれる。
図3、図4は、構成要素302を含む量子システム300の概略図を示す。構成要素302は、2次元格子(以下、「第1の2次元格子」と呼ぶ)に沿って空間的に配置され得る。
図3には、被加数制約ハミルトニアンの第1のサブセットS1の被加数制約ハミルトニアン320が示されている(表現を容易にするため、第2のサブセットS2の被加数制約ハミルトニアンは示されていない)。被加数制約ハミルトニアン320は、構成要素のグループ(本例では4体演算子)に作用する長方形として概略的に示されている。被加数制約ハミルトニアン320は、格子パターン(後述する「第2の2次元格子」)に沿って空間的に配置される。図示の例では、格子パターンには被加数制約ハミルトニアン320の2本の水平ライン及び2本の垂直ラインが含まれている。
被加数制約ハミルトニアン320の空間的配置は、量子システム300のサブシステム450への細分を定義することができ、図4に示すように、各サブシステム450は構成要素302のサブグループからなる。各サブシステム450は、境界構成要素420によって形成される境界を有する。図4では、境界構成要素420を、×印を付した丸印で示している。サブシステム450の各境界構成要素420は、問題のサブシステム450及び隣接するサブシステム450に共同して作用する被加数制約ハミルトニアン320に参加する。サブシステム450の境界構成要素420は、そのサブシステムと1つ以上の隣接するサブシステム450との間の境界を形成する。
量子システムはサブシステムを含み得る。各サブシステムには、量子システムの構成要素のサブセットが含まれる場合がある。サブシステムは切り離されている可能性がある。異なるサブシステムには共通の構成要素がない場合がある。各サブシステムは、サブシステムと1つ以上の隣接するサブシステムとの間の境界の一部、具体的には境界を形成する、境界構成要素を有することができる。
各境界構成要素は、制約ハミルトニアンの被加数制約ハミルトニアンの第1のサブセットS1からの被加数制約ハミルトニアンによって表される量子相互作用に参加することができる。境界構成要素が被加数制約ハミルトニアンによって表される量子相互作用に参加するということは、前記被加数制約ハミルトニアンが問題の境界構成要素に作用することを意味する。各サブシステムについて、サブシステムの各境界構成要素は、被加数制約ハミルトニアンの第1のサブセットの被加数制約ハミルトニアンによって表される量子相互作用によって、隣接するサブシステムの境界構成要素に結合され得る。
各サブシステムは、量子システムの構成要素の総数よりもはるかに少ない構成要素の総数を有する可能性がある。例えば、各サブシステムの構成要素の総数は、量子システムの構成要素の総数の30%以下、20%以下、又は10%以下、更には1%以下であってもよい。各サブシステムには、計算問題のサイズとは無関係な構成要素の総数が含まれる場合がある。各サブシステムの構成要素の総数は定数であってもよい。換言すれば、第1のサブセットからの被加数制約ハミルトニアンの空間的配置による量子システムのサブシステムへの細分化は、各サブシステムの構成要素の数が計算問題のサイズに依存しない、したがって、量子システム全体の構成要素の総数とは独立した定数によって制限されるようなものになる可能性がある。
いくつかの実施形態によれば、各ユニタリ駆動演算子は、量子システムのサブシステムのうちの1つの内部で完全に作用することができる。ユニタリ駆動演算子は、同じサブシステムに属する構成要素にのみ作用できる。量子システムの各サブシステムのサイズが量子システム全体のサイズに比べて比較的小さい場合、サブシステムの1つの内部で完全に作用するユニタリ演算子は、複雑さが軽減された管理可能なオブジェクトである。具体的には、そのようなユニタリ駆動演算子を実行するために必要な回路の深さは比較的小さくてよい。例えば、サブシステムのサイズ(構成要素の総数)が一定である場合、つまり計算問題のサイズに依存しない場合、前記サブシステム内で完全に作用するユニタリ駆動演算子は、一定の深さの量子回路、つまり高度に並列化された量子回路によって実行できる。これは、少量の計算(時間)リソースしか必要としないため有利である。
各ユニタリ駆動演算子は、一定の深さの量子回路によって実現可能であるか又は実現され得る。本開示で使用される「深さ」という用語は、コンピュータサイエンスの分野で知られている論理ゲートの回路の回路深さの概念を指す。量子システムの構成要素のセットに作用する量子ゲート、つまりユニタリ演算子の回路は、回路内の量子ゲートをゲートのD個の層(スライス)にグループ化でき、各層では同じ構成要素に作用する2つの量子ゲートが存在しない場合、深さDまで並列化可能であると言える。換言すれば、各層内で、各構成要素は最大1つの量子ゲートによって作用される。深さは、回路をどの程度並列化できるかの尺度である。1つの層内のゲートが異なる構成要素に作用するため、回路の同じ層内の演算は同じ時間ステップで(「並列して」)実行できる。したがって、深さDまで並列化可能な回路は、D個の時間ステップで実行できる。深さの概念のより詳細な説明については、国際公開第2020/156680号を参照されたい。国際公開第2020/156680号は、本明細書に組み込まれる。
一定の深さは、量子システムの構成要素の数に依存しない深さを指す。一定の深さは、量子システムの構成要素の数よりもはるかに小さい深さであり得る。例えば、一定の深さは、量子システムの構成要素の数の30%以下、具体的には20%以下、より具体的には10%以下の深さであり得る。本明細書に記載の方法は、サイズが増大する計算問題を解くために使用されるため、システムサイズが増大する量子システムが必要となる。実施形態によれば、計算問題のサイズに関係なく、各ユニタリ駆動演算子は、一定の深さDの量子回路によって実現され得る。つまり、量子システムの構成要素の数とは異なり、深さDは計算問題のサイズの関数として増加せず、定数によって上から制限される。例えば、Dは最大でも100になる。
量子システムの構成要素は、2次元矩形格子などの第1の2次元格子(図3に示す構成要素302など)に沿って、又は、その少なくとも一部に沿って配置され得る。第1の2次元格子はプラケットを含むことができる。プラケット、すなわち基本正方形は、正方形に沿って空間的に配置された量子システムの4つの構成要素で構成される。制約ハミルトニアンの各被加数制約ハミルトニアンは、プラケットに作用する4体演算子、又は、プラケット内の3つの構成要素のサブセットに作用する3体演算子であり得る。
量子システムの全てのサブシステムの境界構成要素によって形成されるセット(例えば、図4に示される境界構成要素420)は、第2の2次元格子(又は第2の2次元格子の少なくとも一部)に沿って配置され得る。第2の2次元格子は、第1の2次元格子よりも大きな格子間隔を有してもよい。
例示的な実行
量子システム及びその構成要素(キュービットなど)は、本明細書に記載のように、物理的実体である。量子システム/構成要素、及び、本明細書に記載の方法に含まれる相互作用の具体的な実行について、以下で簡単に説明する。更なる詳細は、欧州特許第3113084号明細書及び国際公開第2020/156680号に記載されている。しかしながら、本明細書に記載の方法は、前記物理的実体及びそれらの相互作用の他の特定の実行に対して行うことができ、例示的な実行は限定的なものとはみなされない。
構成要素は、超伝導キュービット、例えばトランスモンまたは磁束キュービットであり得る。一次超電導ループ内をそれぞれ時計回り及び反時計回りに伝播する超電導電流は、超電導キュービットの量子基底状態|1>及び|0>を形成することができる。更に、二次超伝導ループを通る磁束バイアスは、量子基底状態|0>及び|1>を結合可能である。
Σkakσ^z
(k)の形式の単体ハミルトニアンは、超伝導キュービットと相互作用する磁束によって実現できる。制約ハミルトニアン、例えばプラケットハミルトニアンは、補助キュービットを使用して実現することができ、補助キュービットは各プラケットの内部に配置することができる。Kkmσ^z
(k)σ^z
(m)の形式のキュービット間の相互作用は、超伝導量子干渉デバイスを含む誘導結合ユニットによって実現できる。超伝導量子干渉デバイスに調整可能な磁束バイアスを適用すると、係数Kkmを調整できる。被加数制約ハミルトニアンは、Hsr,p=C(σz
(1)+σz
(2)+σz
(3)+σz
(4)-2σz
(p)-1)2によって実現できる。これには、|0>及び|1>の量子基底状態間に課せられたエネルギー差に対応する形式σz
(k)σz
(m)及び単体σz
(l)項の対相互作用のみが含まれる。ここで、σz
(p)は補助キュービットを表す。或いは、制約ハミルトニアンは、例えばトランスモンキュービットとして3島超伝導デバイスを使用するなど、補助キュービット無しで実現することもできる。
更に、超伝導キュービットの一次超伝導ループを通る磁束バイアスは、基底状態|0>及び|1>が同じエネルギーを有するように、すなわち、これらの基底状態のエネルギー差がゼロになるように設定され得る。更に、二次超伝導ループを通る磁束バイアスは、基底状態|0>及び|1>を結合可能である。したがって、hσ^x
(k)の形式のハミルトニアンは超伝導キュービットに対して実現可能である。
超伝導電荷キュービット又は超伝導磁束キュービットの場合、CNOT演算は、2つのキュービットに結合された追加の容量素子を用いて実現することができる。相互作用強度は、追加素子に加えられる磁束又は電束によって調整される。或いは、2つのキュービットは、ジョセフソンリング変調器の2つのモードに結合される。単体ユニタリ演算子exp(itσ^x
(k))又はexp(itσ^z
(k))は、制御された外部磁束または外部電束を使用して実現できる。
超伝導キュービットについて、キュービット状態|0>及び|1>は、複数の超伝導量子干渉デバイス、具体的にはN個のヒステリシスDC超伝導量子干渉デバイスと、バイアス線によって制御されるN個のRF超伝導量子干渉デバイスのラッチ(バイアス線の数は√Nに従って変化する)と、を含む測定デバイスを使用して、高い忠実度で測定可能である。
或いは、量子システムは、トラップされたイオン、超低温原子、固体結晶中の不純物(NVセンターなど)、量子ドットなどのシステムによって実現されてもよい。ハミルトニアン、ユニタリ演算子及び測定を、そのようなシステムでどのように実行できるかについての背景に関しては、欧州特許第3113084号明細書及び国際公開第2020/156680号を参照されたい。すでに前述のように、これらは例示的な実行であり、限定するものとみなすべきではない。
装置
更なる実施形態によれば、図5に示すように、量子計算を実行するための装置500が提供される。装置500は、構成要素302を備える量子システム300を含む。装置500は、古典的計算システム550を含む。古典的計算システム550は、計算問題110を量子システム300の問題ハミルトニアンにコード化するように構成されている。問題ハミルトニアンは、被加数問題ハミルトニアンの総和である単体ハミルトニアンである。古典的計算システム550は、量子システム300の制約ハミルトニアンを決定するように構成されており、制約ハミルトニアンは被加数制約ハミルトニアンの総和である。総ハミルトニアンの基底状態は、計算問題の解をコード化する。総ハミルトニアンは、問題ハミルトニアンと制約ハミルトニアンとの総和を含む、又は、総和である。古典的計算システム550は、制約ハミルトニアンの被加数制約ハミルトニアンの第1のサブセットと、制約ハミルトニアンの被加数制約ハミルトニアンの第2のサブセットとを決定するように構成されている。装置500は、ユニタリ発展デバイス530及び測定デバイス540を含む量子処理システムを含む。量子処理システムは、N回の演算を実行するように構成され、N≧2である。各回は、ユニタリ発展デバイス530によって、ユニタリ演算子のシーケンスに従って量子システム300を発展させることを含む。このシーケンスには、問題コード化ユニタリ演算子、制約強制ユニタリ演算子及びユニタリ駆動演算子が含まれる。各問題コード化ユニタリ演算子は、問題ハミルトニアンの被加数問題ハミルトニアンのユニタリ時間発展演算子であるか、又は、問題ハミルトニアンの被加数問題ハミルトニアンの総和のユニタリ時間発展演算子である。各制約強制ユニタリ演算子は、制約ハミルトニアンの被加数制約ハミルトニアンの第1のサブセットから取得された被加数制約ハミルトニアンのユニタリ時間発展演算子であるか、又は、前記第1のサブセットから取得された被加数制約ハミルトニアンの総和のユニタリ時間発展演算子である。各ユニタリ駆動演算子は、制約ハミルトニアンの被加数制約ハミルトニアンの第2のサブセットからの全ての被加数制約ハミルトニアンと可換であるユニタリ演算子である。各回は、測定デバイス540によって、量子システム300の部分525として示される1つ以上の構成要素302の測定を実行することを含む。古典的計算システム550は、量子計算の結果590を出力するように更に構成されている。装置500は、本明細書に記載の実施形態に係る方法の任意の態様を実行するように構成され得る。
N回の演算の各回は、例えばユニタリ発展デバイス及び測定デバイスのうちの少なくとも1つによって、初期量子状態を準備することを含み得る。
装置はコントローラを含んでもよい。コントローラは、古典的計算システムを含むか、古典的計算システムであり得る。コントローラは量子処理システムに接続されてもよい。コントローラは、N回の演算の各回のユニタリ演算子のシーケンスに従って量子システムを発展させるようにユニタリ発展デバイスに命令するように構成され得る。コントローラは、N回のそれぞれにおいて量子システムの1つ以上の構成要素の測定を実行するように測定装置に命令するように構成され得る。古典的計算システムは、測定デバイスから測定結果のセットを受信するように構成することができ、測定結果は、N回の演算のうちの1回以上の間に実行された測定から得られる。古典的計算システムは、受信した1つ以上の測定結果に基づいて、N回の演算のうちの将来の回で実行されるユニタリ演算子のシーケンスを決定するように構成され得る。古典的計算システムは、受信した1つ以上の測定結果に基づいて、計算問題の解などの量子計算の結果を決定するように構成され得る。
ユニタリ発展デバイス及び測定デバイスは、本明細書に記載の方法に関連して記載のように、それぞれ任意のユニタリ演算子及び任意の測定を実行するように構成され得る。例えば、ユニタリ発展デバイスは、N回の演算のうちの任意の回のユニタリ演算のシーケンスのユニタリ演算を実行するための量子ゲートを備える量子回路を実行するように構成され得る。例えば、測定デバイスは、任意のエネルギー測定、例えば、本明細書に記載の第1量子状態及び/又は第2量子状態のエネルギーの測定など、本明細書に記載の総ハミルトニアンの測定を実行するように構成され得る。
古典的計算システムは、量子計算システムと区別される。古典的計算システムは、古典ビットなどの古典的情報媒体のみを使用して情報を記憶及び処理する計算システムとして理解され得る。古典的計算システムは、情報の処理にキュービットなどの量子情報担体を使用しない場合がある。古典的計算システムは、古典ビットを用いて情報を処理するための中央処理装置(CPU)、及び/又は、古典ビットを用いて情報を記憶するためのメモリを含み得る。古典的計算システムには、パーソナルコンピュータ(PC)などの、1つ以上の従来のコンピュータ及び/又は従来のコンピュータのネットワークが含まれる場合がある。
本明細書に記載の装置の古典的計算システムは、被加数駆動ハミルトニアンの総和である駆動ハミルトニアンを決定するように構成することができ、駆動ハミルトニアンは、被加数制約ハミルトニアンの第2のサブセットのあらゆる被加数制約ハミルトニアンと可換である。各ユニタリ駆動演算子は、駆動ハミルトニアンの被加数駆動ハミルトニアンのユニタリ時間発展演算子であってもよいし、駆動ハミルトニアンの2つ以上の被加数駆動ハミルトニアンの総和のユニタリ時間発展演算子であってもよい。
古典的計算システムは、適応回の演算における情報のフィードフォワード、将来の回の演算に適用されるユニタリ演算のシーケンスを決定するための測定されたエネルギーの比較など、本明細書に記載の方法の任意の古典的計算演算を実行するように構成され得る。
更なる態様
1 導入
量子近似最適化アルゴリズム(QAOA)は、現代のノイズの多い量子デバイス上で組み合わせ最適化問題を解くために設計されたゲートベースのアルゴリズムである。このアルゴリズムは、原理的には一般的な組み合わせ最適化問題に適用できる。ただし、量子デバイスのキュービット間接続が制限されているため、その実行が複雑になり、実際のQAOAの性能に悪影響を与える可能性がある。以下で述べるパリティアーキテクチャは、問題定義相互作用を単体問題ハミルトニアンにマッピングすると同時に、拡大されたヒルベルト空間を短距離制約ハミルトニアンによって制限することによって、問題グラフとハードウェアグラフとの接続性の間の不一致を解決する。具体的には、キュービットの配置及び最適化問題に対する制約を調整する古典的なコンパイル手順から開始して、パリティアーキテクチャにより、短距離量子相互作用のみを利用して、一般的な、つまり長距離で高次に接続された最適化問題を固定されたキュービットレイアウトにマッピングすることが可能になる。
制約項がエネルギーペナルティを通じて明示的に強制されるパリティアーキテクチャのQAOAの実行が考慮され得る。或いは、制約項の保存は、関係する演算子を制約ハミルトニアンと可換にすることによって暗黙的に達成できる。最初のアプローチではQAOAの回路深さを小さくして並列化可能な実行が可能であるが、後者のアプローチでは成功確率が大幅に向上する。
本明細書に記載の実施形態によれば、必要な量子回路の深さを一定に保ちながら、明示的に強制される制約項の数を減らし、それにより性能を向上させるハイブリッドアプローチが提供される。これは、制約項を、明示的に適用されるサブセット(本明細書に記載の被加数制約ハミルトニアンの第1のサブセット)と、駆動ハミルトニアンを適応させることによって暗黙的に制約が保存されるサブセット(本明細書に記載の被加数制約ハミルトニアンの第2のサブセット)とに分割することによって実現される。
図6は、以下でより詳細に説明するように、パリティコンパイルされた計算問題のモジュール化の例を示す。図6(a)は、実行される問題グラフを示す。問題グラフには、ノードとノード間のエッジとが含まれる。問題グラフの各ノードには、古典的スピンsi=±1が配置されている。2つのノード間のエッジは、対応する古典的スピン間の(ゼロではない)相互作用の存在を表す。問題グラフのサブグラフが示されており、このサブグラフは黒で塗りつぶされたドットで示されるノードを有し、ノード間にエッジがある。図6(b)は、パリティ符号化問題の量子実行レイアウトを示す。円は、構成要素302、より具体的にはパリティキュービットを表す。示されている例では、各パリティキュービットは、図6(a)に示す問題グラフのエッジ、つまり2つの古典的スピン間の相互作用に対応している。古典的スピンsiとsjとの間の相互作用の場合、対応するパリティキュービットはijでラベル付けされる(図6(c)に示すように)。ハッチング無し又はハッチング有りで与えられる四角形及び三角形は、それぞれ暗黙的に強制される制約項及び明示的に強制される制約項を表す。四角形は4体制約項を表し、三角形は3体制約項を表す。明示的に強制される制約項(ハッチングのある四角形及び三角形)を使用して、量子システムをモジュール又はサブシステムに分割し、個別に扱うことができる。明示的に強制される制約項は、本明細書に記載のように、被加数制約ハミルトニアンの第1のサブセットS1の被加数制約ハミルトニアン320である。図6(c)は、図6(a)の強調表示されたサブグラフに対応する例示的なモジュールを示し、キュービットのサブセットを接続する実線及び破線として示されるハイブリッド駆動ラインを有する。モジュール化により、必要な駆動項の高度に並列化可能な回路実行が可能になる。
換言すれば、図6(c)は、図6(a)に示すサブグラフによって記述される計算問題に対するパリティキュービット及び制約項の例示的なレイアウトを示す。図6(c)のレイアウトには、明示的に強制された制約項(ハッチングされた三角形)があり、他の制約項(ハッチングの無い四角形)は駆動によって暗黙的に保存され、示された線の1つのキュービットに同時に作用する。どの制約項がどのサブセットに含まれるかを選択することで、より大きなレイアウトをより小さなモジュールに分割することができ(図6(b)を参照)、調整可能な最大回路深さで必要な全てのユニタリの並列実行が可能になる。
2 パリティQAOA
組み合わせ最適化問題などの計算問題の解を見つけるタスクは、以下の形式の一般的な(古典的な)N個のスピンハミルトニアン関数のエネルギー最小化として定式化できる。
ここで、si=±1は古典的スピン変数(ここでは「問題スピン」とも呼ばれる)を示し、係数{Ji
(1),Jij
(2),Jijl
(3),・・・}は、単体項の強度と最大k個のスピン変数との(潜在的に長距離の)積を表す。ハミルトニアン関数Hの上記の式における非ゼロ係数の数をKで示す。更に、ndはハミルトニアン関数Hのスピン反転対称性の数を示す。
量子システムのキュービットなどの構成要素間の物理的相互作用の2体及び準局所的性質のため、式1で生じるような結合を量子ハードウェアで直接実行することは、実現不可能ではないにしても困難である。本開示では、欧州特許第3113084号明細書及び国際公開第2022/008057号に記載されているパリティマッピングを利用し、これにより、任意の高次の長距離k体項を、正方格子上に配置されたキュービット(又は、より一般的には構成要素)を含む量子システムのハミルトニアン(本明細書に記載の「総ハミルトニアン」)にコード化できるようになる。総ハミルトニアンには短距離相互作用のみが含まれる。これには、問題スピンsiのサブセットのk倍積を単一のキュービット(本明細書では「パリティキュービット」と呼び、σ^で示される)にマッピングすること、例えば、Jijl
(3)sisjsl→Jmσ^z
(m)が含まれる。ここで、各パリティキュービットを問題スピンインデックスの対応するkタプルでラベル付けする。つまり、与えられた例では、インデックスmは3タプルijlの短縮形である。結果として、計算問題を定義する式1のK個の非ゼロ相互作用項は、K個の各パリティキュービットに作用する強度JmのK≧N個の単体量子演算によって表される。対応する単体ハミルトニアンは、本明細書では問題ハミルトニアンと呼ばれ、H^P=ΣmJmσ^z
(m)(項Jmσ^z
(m)は本明細書に記載の被加数問題ハミルトニアンである)の形式を有する。K個のパリティキュービットによって形成され、補助キュービットが追加される可能性があるヒルベルト空間は、Hparityで示される。最適化問題がHparityの低エネルギー部分空間(基底空間)に確実に埋め込まれるようにするために、問題ハミルトニアンに加えて、K-N+nd個の制約項Clが与えられる。したがって、H^C=ΣlC^lの形式の制約ハミルトニアンが提供される。C^lは、本明細書では被加数制約ハミルトニアン、又は、略して制約項と呼ばれる。これにより、以下の形式の総ハミルトニアンが生じる。
計算問題の解は、総ハミルトニアンH^totalの基底空間にコード化される。被加数制約ハミルトニアンC^lは、キュービットの小グループ間の短距離相互作用を表す。具体的には、被加数制約ハミルトニアンは、以下のように、キュービットの2×2プラケット上又はその内部で作用する短距離の3体又は4体ハミルトニアンである(図6参照)。
ここで、制約強度cl>0である。liはキュービットのラベルを示し、対応する問題スピンの全てのインデックスが各制約項内で偶数回現れるようにする。σ^z
(l4)を囲む角括弧は、3体又は4体の制約が可能であることを示す。したがって、制約を満たす量子状態(つまり、制約ハミルトニアンの基底空間にある量子状態)は、制約毎の|↓>状態(又は、|1>状態)のキュービットが偶数であることによって特徴付けられる。
パリティマッピングに関する更なる詳細については、欧州特許第3113084号明細書及び国際公開第2022/008057号を参照されたい。
2.1 明示的パリティQAOA
量子近似最適化アルゴリズム(QAOA)は、駆動ハミルトニアンH^B=Σi
Nσ^x
(i)のユニタリ時間発展と可変期間のハミルトニアンH^のユニタリ時間発展とを交互に用いて量子状態を発展させることによって、式1のハミルトニアン関数Hの量子力学的実行H^の低エネルギー解を見つけるように設計されている(H^は、Hの各古典的スピンsiをσ^zパウリ演算子で置き換えることによって取得される)。パリティアーキテクチャでQAOAを実行するには、単一キュービット駆動ハミルトニアンH^X=Σi
Kσ^x
(i)を同様の方法で選択できる一方、ハミルトニアンH^は前述の総ハミルトニアンH^total=H^P+H^Cで置き換えることができる。国際公開第2020/156680号を参照されたい。したがって、深さpのパリティQAOAシーケンスは、以下のようなハミルトニアンH^X、H^P及びH^Cを有する量子システムを変分的に発展させることに対応する。
ここで、変分パラメータβj、γj及びΩjは、<ψ|H^total|ψ>を最小化するために、量子古典的フィードバックループ(本明細書に記載の適応回の演算)で最適化される。結果として、最適化中、制約ハミルトニアンの制約項(被加数制約ハミルトニアン)は、問題ハミルトニアンの問題コード化単体項(被加数問題ハミルトニアン)と同じ立場で扱われる。つまり、制約項に関しては、形式e-iΩH^Cのユニタリ時間発展演算子が量子ハードウェアで明示的に実行される場合である。
図7a)~図7c)は、6つのスピン変数を有するパリティコード化された完全なグラフの例を示す。例示的な問題グラフ(図示せず)には6つのノードがあり、それぞれにスピン変数si=±1(iの範囲は0から5)が与えられ、ノードの全てのペア(完全なグラフ)の間にエッジが与えられる、つまり相互作用が古典的スピンの各ペアの間に存在する。パリティキュービットは2次元格子上に配置される。パリティキュービットはijでラベル付けされる。i及びjの範囲は0から5である。パリティキュービットijは、古典的スピンsiとsjとの間の相互作用に対応する。四角形及び三角形は、それぞれ制約ハミルトニアンの4体制約項及び3体制約項(被加数制約ハミルトニアン)を表す。図7a)では、全ての制約項が明示的に強制される(ハッチングのある四角形及び三角形で表される)。駆動ハミルトニアンには、全てのキュービットに対する単一キュービットσ^x演算子が含まれている。
2.2 暗黙的パリティQAOA
前述のようにe-iΩH^Cの形式の時間発展ユニタリ演算子を使用してQAOAプロトコルで制約ハミルトニアンを明示的に強制する代わりに、以下の制約を満たす部分空間に属する初期量子状態から開始することもできる。
そして、駆動ハミルトニアンH^X
impを提供することで、後続のダイナミクスをその部分空間に制限することができる。この駆動ハミルトニアンは、制約項が暗黙的に保存されるように構成されている。つまり、駆動ハミルトニアンによって定義される時間発展は、量子システムが制約を満たす部分空間を決して離れることがないため、e-iΩH^Cの形式の時間発展演算子である必要性がなくなる。つまり、以下の条件を満たす駆動ハミルトニアンH^X
impが提供され得る。
図7b)は、暗黙的パリティQAOAの概念を示す。キュービットのあるサブセット(例えば、サブセット{05,15,25,35,45}、サブセット{01,12,13,14,15}など)を接続する表示された線は、制約を満たす部分空間(制約維持駆動ライン)を離れることなく同時に反転できるキュービットを示す。全ての制約は、駆動ハミルトニアンを介して暗黙的に強制され、制約項に対するエネルギーペナルティは必要がない。図7a)~図7(c)に示すような完全なグラフの場合、制約を満たす部分空間を離れることなく同時に反転できるキュービットのセットは、ラベルが共通の問題スピンインデックスを共有するキュービットのセットである(例えば、キュービット01、12、13、14、15からなるセット又は駆動ラインは、共通のラベル1を有する)。したがって、全てのセットを問題スピンの1つに直接関連付けることができる(例えば、キュービット01、12、13、14、15からなる前述の駆動ラインは、古典的スピンs1に関連付けることができる)。一般に、関係する各制約項と偶数回交差するキュービットの全てのセットが有効な選択である。したがって、これらのキュービットのセットに作用するσ^xの積から駆動ハミルトニアンH^X
impを構築すると、式6が満たされる。図7b)に示す例では、これは量子力学的問題スピンに作用する駆動ハミルトニアンのパリティマップされた類似物である。図内の全ての線は、正確に1つの問題スピン、つまりセットの全てのパリティキュービットでインデックスが発生するスピンに関連付けることができる。スピン変数siの反転は、そのインデックスを含む全てのパリティキュービットの量子状態の反転に反映される。
一般に、制約維持駆動ハミルトニアンH^X
impの要素を以下のように定義できる。
どの制約項C^lが満たされるか(制約項が「満たされる」ということは、量子システムが制約項の基底状態にあることを意味する)を変更せずに同時に反転できるキュービットのセットQμを考える。これらのキュービットは、通常、線に沿ったレイアウト上に配置される(例えば、図7b)参照)、又は、より一般的な場合には、隣接するキュービットのツリーグラフとして現れる。以下では、これらのセットQμを制約維持駆動ライン、又は、略して駆動ラインと呼ぶ。
インデックスμは、与えられた計算問題の駆動ラインを列挙する。各駆動ラインに、以下の駆動項を関連付ける。
駆動項は以下の特性を有する。
駆動ライン内のキュービットの数を駆動ラインの長さと呼ぶ。駆動ラインのセットDは、D内の他の(複数の)要素の対称差分を介して要素Qμ∈Dを取得できない場合にのみ、独立していると呼ばれる。更に、駆動ラインのセットDは、Dが独立であり、|D|=N-ndが成り立つ場合にのみ有効と呼ばれる。駆動ラインの有効なセットに関連付けられた駆動項のセットにより、問題スピンの反転に対応する全ての演算が可能になる。2つの駆動ラインQμ及びQνは、Qμ∩Qν≠0の場合にのみオーバーラップすると言える。
全ての制約を明示的に強制するQAOAアプローチとは対照的に、制約維持駆動ラインの有効なセットに関連付けられた演算子で構成された、以下の形式の制約維持駆動ハミルトニアンを利用するパリティQAOAの性能を検討する。
以下では、Dを使用して、駆動ラインのセット及びそれに関連する駆動項のセットを指す。制約を満たす量子状態から開始するとすれば、このような駆動ハミルトニアンによって定義されるユニタリ時間発展は、他の制約を満たす量子状態への遷移のみを導入するため、ダイナミクスはHCFに制限される。
図7b)に示す例では、駆動項の有効なセットは、D={X^(μ)|1≦μ<N}で与えられる、ここで、X^(μ)は、以下の式で示される。
この文脈では、上付き文字(μν)は、図7のラベルに従って、問題スピンインデックスμ及びνを含むキュービットを示す。対応する駆動ラインは、図内の線で表される。欠落項(インデックス0を含む)は、駆動ハミルトニアンでは発生しない他の項の積として取得できるため、駆動項の数はN-1であることに留意されたい。その代わりに、H^X
impでは他のラインを省略できることに留意されたい。このような演算子X^(μ)の実行は、これらが長距離演算子であるためアナログデバイスでは実現できないが、ユニタリ時間発展演算子e-iβX^(μ)は、短距離CNOTゲート(CNOTは制御されたNOTを表す)及び単一キュービット回転のシーケンスとして実行できる。詳細については、付録Aを参照されたい。
制約維持駆動ハミルトニアンH^X
impは全ての制約項C^lと可換であるため、時間発展中に違反した制約の数が一定に保たれることに留意されたい。具体的には、初期量子状態が制約を満たす部分空間で準備されている限り、ユニタリ時間発展から生じる変分量子状態が、問題スピンの有効な構成に対応し、したがって時間発展を通じて計算問題の潜在的な解となることが保証される。
制約維持駆動ハミルトニアンH^X
impを使用すると、変分QAOA状態を以下のプロトコルで準備できる。
|ψ0>は、全てのパリティ制約C^lを満たす、適切に選択された初期量子状態である。通常、|ψ0>は、制約を満たす全ての計算基底状態の等しい重ね合わせとなるように選択される。この状態の準備の詳細については、セクション4を参照されたい。式11で定義されるQAOAプロトコルでは、全ての制約が暗黙的に保存され、制約ハミルトニアンのユニタリ時間発展で強制される必要がないため、式4で与えられるQAOAプロトコルからe-iΩH^C形式の時間発展演算子を完全に削除した。QAOAサイクル毎に1つの変分パラメータを節約することとは別に、この制約項の本質的な満たしにより、アクセス可能なヒルベルト空間のサイズが指数関数的に減少し、望ましくない量子状態が存在する確率が減少するため、アルゴリズムの性能が大幅に向上する。
3 ハイブリッドアプローチ及びモジュール化
ユニタリ時間発展e-iβH^Ximpの実行には、実際的な欠点がある。任意に長い駆動ライン及びその重なりにより、特にシステムサイズが大きい場合、対応するゲートシーケンスの並列且つ低深さの実行が不可能になる可能性がある。完全に暗黙的な実行では、一般に、ユニタリ時間発展e-iβH^Ximpを実行するために、システムサイズ(キュービットの数)に応じて少なくとも線形にスケーリングする回路の深さが必要になる。回路の深さを小さく保つことは、多くの量子計算設定において重要なポイントであるため、以下では、ハイブリッド実行が、制約項の完全に明示的な実行と完全に暗黙的な実行との間でバランスをとる方法として考慮される。ハイブリッドアプローチでは、並列化可能な実行を保証するために、短い駆動ラインが使用され、完全に明示的な実行と比較して、明示的に強制される制約の必要な数が減る(図7c)参照)。
完全に暗黙的な実行から始める。制約項を暗黙的な実行から明示的な実行に切り替えると、到達可能な部分空間の次元が2倍になる。したがって、駆動ハミルトニアンには、問題の制約項と可換でない1つの追加項を含めることができる。明示的に強制、すなわち、ユニタリ時間発展演算子によって強制されるnC個の制約項のセット(本明細書では被加数制約ハミルトニアンの第1のサブセットと呼ぶ)を考える。残りの制約項(本明細書では被加数制約ハミルトニアンの第2のサブセットと呼ぶ)は、暗黙的に強制、すなわち、問題の制約を保存する適切な駆動ハミルトニアンを提供することによって強制される。ハイブリッドヒルベルト空間Hhybを、暗黙的に強制される全ての制約項(つまり、第2のサブセット内の全ての被加数制約ハミルトニアン)を満たす計算基底状態によって広がる空間として定義する。ここで、以下のようになることを留意されたい。
ここで、セクション2.2で紹介した暗黙的アプローチの概念を一般化する。ハイブリッド駆動ラインQμは、キュービットの現在の状態がその空間内にある場合、ハイブリッド部分空間Hhybを離れることなく同時に反転できるキュービットのセットである。インデックスμは、与えられた計算問題に対するハイブリッド駆動ラインを列挙する。制約維持駆動ラインについて前述したのと同じ方法で、問題のハイブリッド駆動ラインに関与しているキュービットに作用する全てのσ^x演算子の積に対応する(ハイブリッド)駆動項X^(μ)を各ハイブリッド駆動ラインに関連付ける。ハイブリッド駆動ラインの独立性及び重複の定義は、完全な制約維持駆動ラインに対してセクション2.2で与えられた定義と類似している。前述と同様に、ここでの「駆動ライン」という用語は、レイアウト内のキュービットの実際の幾何学的配置に関係なく使用されていることに留意されたい。
ハイブリッド駆動ラインのセットDは、それが独立しており、制約を満たすヒルベルト空間HCF内の任意の計算基底状態が、Dの駆動ラインに関連付けられた演算子を適用することによって他の任意の状態に変換できる場合にのみ有効である。この定義は、完全な制約維持駆動ラインの有効性の定義ほど厳密ではない。セットDには、N-nd≦|D|≦N+nC-ndの駆動項を含めることができる。正確にN+nC-nd個の独立した要素を含むことは、ハイブリッド駆動ラインのセットが有効であるための十分条件であるが、必要条件ではない。制約を満たす全ての量子状態、つまり、制約を満たすヒルベルト空間HCF内の全ての量子状態に依然として到達できる場合(そして、到達する必要がある量子状態はこれらのみである場合)、含まれるラインは少なくても構わない。以下では、|D|=N+nC-ndの場合に焦点を当てる。元々明示的に強制された制約の一部はそのような駆動によって自然に保存されるため、明示的及び暗黙的に強制された制約項の分割を再評価することで、駆動項が少ないケースをこのケースにマッピングし直すことができる。
ハイブリッド駆動ラインは、明示的に強制された制約項を除いて、いかなる制約項にも違反することなく同時に反転できるキュービットのセットである。関連する駆動項は式7と同様に定義され、必ずしも制約を満たす空間HCFを保存するわけではなく、ハイブリッドヒルベルト空間Hhybを保存する。
N個の古典的スピン変数と、nCが明示的に強制されるnC
tot個の制約項の総計数を有する制約ハミルトニアンとを含む計算問題では、ハイブリッド駆動ハミルトニアンを、ハイブリッド駆動ラインの有効なセットに関連付けられた駆動項X^(μ)を使用して、以下のように考えることができる。
第1の部分制約ハミルトニアンは以下のように定義され、明示的に強制されたnC個の制約項のみ(つまり、被加数制約ハミルトニアンの第1のサブセットからの被加数制約ハミルトニアンのみ)が含まれる。
計算問題を単体項でコード化した問題ハミルトニアンH^Pは、元のプロトコル、完全に暗黙的なプロトコル又はハイブリッドプロトコルの使用に関して不変である(ただし、完全に暗黙的な実行とは対照的に、ハイブリッドプロトコルでは、様々な駆動項を元の問題スピンの演算に関連付けることはできなくなる)。
完全に暗黙的なアプローチ及び完全に明示的なアプローチは、それぞれnC=0及びnC=nC
totのハイブリッドアプローチの制限ケースに対応することに留意されたい。
ハイブリッドQAOAプロトコルは式4に似ているが、H^X→H^X
hyb及びH^C→H^C
hybが置き換えられ、以下のようになる。
初期量子状態|ψ0>は、Hhybの全ての計算基底状態の等しい重ね合わせとなるように選択できる(セクション4を参照)。
以下では、完全なグラフの例でこの新しい柔軟性の強さを説明し、次にこれを任意のグラフにどのように適用できるかを示す。
3.1 例:完全なグラフ
再び、図7a)~図7c)に示すような全対全接続(all-to-all connectivity)の問題グラフ(完全なグラフ)を実行するレイアウトを考える。単一のキュービットが反転されると、少なくとも1つの制約項に違反する。全ての制約項が再び満たされるまで更に多くのキュービットを反転し続けると、反転されたキュービットの最小セットは、図7b)にあるように、制約維持駆動ラインに対応する。図7c)はハイブリッドアプローチを示している。格子の下部にある3体制約項の行(ハッチングの有る三角形として表示)のみが明示的に強制され、その他の項(ハッチングの無い四角形)は、ハイブリッド駆動ハミルトニアンによるダイナミクスの制限により暗黙的に強制される。図7c)に示すように、全ての3体制約項を明示的に強制すると、これらの3体制約項は駆動項によって維持される必要がなくなる。したがって、暗黙的に強制された4体制約のみを保存する短い駆動ラインを含む、ハイブリッド駆動ラインの有効なセットを見つけることができる。
或いは、この構造を以下のように理解することもできる。ハイブリッド設定では、たとえ下部制約項が明示的に強制されているとしても、図7b)の元の駆動ラインは依然としてハイブリッド駆動ラインとして使用することができる。ただし、下部制約項が駆動ハミルトニアンの形式を制限しなくなったため、明示的に強制された制約項毎にハイブリッド駆動ラインを1つ追加することができる。追加的に許可された状態は、対応する制約項に違反する。したがって、既存の駆動ラインを独立させたまま追加できる唯一のハイブリッド駆動ラインは、対応する制約値を反転させて他の全てを維持するものである。このようなハイブリッド駆動ラインの例は、対応する制約項で終わる元の駆動ラインの一部である。完全な駆動ラインと新しく追加された部分的な駆動ラインとを組み合わせるのが適切な選択であるが、回路の深さを低く保つために長い駆動ラインは避けたいと考えている。各長い駆動ラインを、それ自体と対応する部分駆動ラインとの対称的な差分で置き換えると、図7c)に示す2つの短い駆動ラインが得られ、各長い駆動ラインが効果的に2つに「分割」される。ハイブリッド駆動ラインDの有効なセットについて、駆動ラインQμをそれ自体の対称的な差分によって別のラインQνに置き換えると、別の有効なセットD’が生成されることを確認するのは容易である。関連する駆動項の場合、2つの駆動ラインの対称差が関連する駆動項の積に対応するため、この置換の結果は、X^(μ)→X^(μ)X^(ν)になることに留意されたい。したがって、以下のハイブリッド駆動ハミルトニアンに到達する。
上記のハイブリッド駆動ハミルトニアンは、以下の駆動項を有する。
これは、式10の積を2つの別々の項に分割することに対応する。式16のように項をグループAとBとに分類することで、上記のハイブリッド駆動ハミルトニアンの実行を並列化できる。グループAの全ての項は、図7c)に実線で示されているハイブリッド駆動ラインに対応し、グループBは、点線で描かれたハイブリッド駆動ラインに対応する。グループ内のハイブリッド駆動ラインはいずれも重複しないため、対応するゲートシーケンスを同時に実行できる。したがって、exp(-iβH^X
hyb)の形式のユニタリ駆動演算子の実行には、最大2Nの回路深さが必要になる。セクション3.3で説明したように、レイアウトをモジュール化することで、これを一定の深さに更に減らすことができる。
3.2 任意の(ハイパー)グラフ
図8a)~図8b)は、3体及び4体制約への分割による制約項の配置の例を示す。計算問題は、式1に示すような、任意のkに対するk体相互作用を含む一般形式のエネルギー最小化であり得る。式1の各相互作用項はパリティキュービットにマッピングされる。図8a)~図8b)に示されるように、パリティキュービットは、04、135などの形式のタプルによってラベル付けされる。ここで、パリティキュービット04は、パリティマッピングの下で、2つの古典的スピンs0とs4との間の2体相互作用に対応し、パリティキュービット135は、3つの古典的スピンs1、s3及びs5の間の3体相互作用に対応する、等々である。図8a)は、4体制約項のみを有する特殊なケースを示しており、この場合、駆動ラインは厳密に水平又は垂直となるように選択され、自明に並列化することができる。図8b)は、3体制約項及び4体制約項の双方を含む一般的なケースを示している。全ての3体制約項を明示的に実行しても、全ての水平(垂直)ラインの並列実行が可能になる。表示されている駆動ラインは、全ての4体制約項(ハッチングの無い正方形)を保存するが、3体制約項はH^C(ハッチングの有る三角形)で明示的に強制される。パリティキュービットの最上行の駆動ラインは、他のものとの対称的な差分によって取得できるため、省略されている。表示されている駆動ラインのいずれにも関与していないキュービットは、単一キュービット駆動(図示せず)の一部である。
一般的なグラフ(又はハイパーグラフ)をパリティアーキテクチャにコンパイルすると、3体及び4体制約の様々な配置がもたらされる可能性がある。4体制約項のみの場合、図8a)に見られるように、水平及び垂直の直線のみから全ての制約項を保存するハイブリッド駆動ハミルトニアンを構築できる。これは、全ての3体制約が明示的に強制される3体制約及び4体制約が混在するレイアウトにも当てはまる(図8b)参照)。制約項を分割する可能な戦略は以下の通りである。全ての3体制約項と、それらを境界に接続するために必要な全ての4体制約項が明示的に強制され、残りの4体制約項が駆動によって暗黙的に強制される。駆動回路は2つのステップで実行でき、全ての水平駆動ライン及び全ての垂直駆動ラインがそれぞれ並列に実行される。
更なる最適化により、明示的に強制される制約項の数を更に減らすことが可能である。3体制約項の一部は、前述の水平及び垂直駆動ラインによって自動的に保存される。他のケースでは、ハイブリッド駆動ラインを少し調整するだけで(例えば、追加のキュービットの小さなセットを追加するなど)、更に多くの3体制約項を保存するのに十分な場合がある。このような最適化の例を図9に示す。
図9は、残りの制約項(ハッチング無し)を保存するハイブリッド駆動ラインが、妥当な深さの並列化可能な量子回路で実行され得るように、明示的に強制された制約項(ハッチング形状)の最適化されたセットの例を示す。ハッチングの無い三角形は、必要な回路深さを大幅に増加させることなく暗黙的に実行できる3体制約項を示している。ハッチングされた四角形は、隣接する明示的に強制された3体制約項を境界に接続するために明示的に強制されたままの4体制約項であり、駆動ラインを簡素化する。
どの制約項を明示的又は暗黙的に強制すべきかを選択する方法、及び、ハイブリッド駆動ラインの有効なセットを見つける方法についてのより詳細な説明は、付録Bに記載されている。
3.3 モジュール化
前のセクション及び付録Bに記載した手順を使用すると、ハイブリッド駆動ラインの平均長(したがって、QAOA回路の深さ)は、デバイスの寸法、すなわち、量子システム内のキュービットの数に応じて直線的に増加する可能性がある。ここでは、暗黙的及び明示的に強制される制約の概念を利用して、ハイブリッド駆動ラインの長さの上限を課すことで、完全に明示的なアプローチを回避しながら、駆動回路の深さを調整可能な定数に制限する。
ハイブリッド駆動ラインの長さを制限するために、最大間隔lmaxで明示的に強制された制約項の追加の(通常は等距離の)行及び列を導入する。図10には、lmax=5の場合のそのような行及び列の例が示されている。図10は、グリッド内に配置された追加の明示的に強制された制約(ハッチングされた四角形及び三角形)を備えたキュービットのより大きなレイアウトのモジュール化を示している。
明示的に強制された制約によって囲まれたレイアウトの一部をモジュールと呼び、本明細書では量子システムの「サブシステム」とも呼ぶ。例えば、図10では、モジュール又はサブシステムは5×5のキュービット配列である。明示的に強制された制約項(ハッチングされた四角形及び三角形)は、各モジュールの境界を定義する。ハイブリッド駆動ラインは、明示的に強制された制約項の行又は列を横断する必要がないため、ハイブリッド駆動ラインを構築するときに各モジュールを個別に扱うことができる。
更に、モジュール内のハイブリッド駆動ラインの長さは制限されている。特に、モジュール内の全ての3体制約項が明示的に強制されている場合(つまり、厳密に垂直ライン及び水平ラインのみが存在する場合)、ハイブリッド駆動ラインの長さは最大でもlmaxになる。
各モジュールのそれぞれの駆動項の単位時間発展を実行する量子回路は、同時に実行できる。したがって、このアプローチでは、駆動ハミルトニアン実行の回路の深さは、ユーザが決定する量であり、現在のニーズに応じて選択できるlmaxに線形にスケールする。したがって、駆動ハミルトニアン実行の回路の深さは、問題やデバイスのサイズに関係なく一定である。
モジュール内の3体制約項の一部を暗黙的に強制するというより一般的なケースでも、適切なハイブリッド駆動ラインを見つける問題は、モジュール毎に小さく個別の問題に減り、ハイブリッド駆動ラインの長さは依然として約lmaxである。
したがって、図10において、全ての実線(水平方向に延びる)及び全ての破線(垂直方向に延びる)は、それぞれ並行して実行することができる。点線(水平部分及び垂直部分の双方を有する場合がある)は、暗黙的に強制された3体制約によって生じるが、深さへの寄与はわずかであり、他のステップと部分的に並列化できる。各サブモジュールでは、「欠落している」駆動ラインは、他のサブモジュールの対称的な差分によって取得できるため、省略されている。
e-iγH^P及びe-iΩH^Chybの実行は常に一定の深さになる。これは、国際公開第2020/156680号の並列化手順から分かる。ゲートシーケンスを更に最適化すると、制約実行の回路深さの上限が20になることが分かる。上記の発見と合わせて、これにより、任意のサイズの計算問題に対する式15に従ったQAOAシーケンスの単一サイクルが一定深さ量子回路で実行できることが保証される。
4 初期状態の準備
最適化手順の初期量子状態として、考慮されたヒルベルト空間Hparity、Hhyb又はHCF(暗黙的に強制された制約を全て満たす)にまたがる全ての計算状態の等しい重ね合わせに対応する、駆動ハミルトニアン(の負)の基底状態を使用できる。これは、完全に明示的、ハイブリッド、又は、完全に暗黙的なアプローチが使用されるかどうかに依存する。これは、純粋に明示的なアプローチでは計算基底状態を等しく重ね合わせて各物理キュービットを準備することで簡単に実現できるが、暗黙的なアプローチ、特にハイブリッドアプローチでは初期状態の準備がより困難になる。ハイブリッド駆動ラインの有効なセットDを含み、完全に暗黙的及び明示的なパリティQAOAの限定的なケースも含む、一般的なハイブリッド駆動ハミルトニアンH^X
hybを考える。作成したい量子状態は、H^X
hybの全ての駆動項とH^C
hybの全ての制約項との同時固有状態(固有値+1)になる。当該量子状態はスタビライザー状態であるため、積量子状態から当該スタビライザー状態を生成する量子回路を構築するために、スタビライザー状態を準備する既知の方法を使用することができる。結果として生じる回路は、接続が制限されたアーキテクチャでは回路の深さが大きくなる可能性がある。
以下では、モジュールサイズに線形にスケーリングする低い回路深さで初期量子状態を準備する手順を提案する。まずは、考慮されたヒルベルト空間の状態を表す|D|=log2dim(Hhyb)の駆動キュービット(暗黙的に強制された制約を全て満たす)を検討することから始める。これは、関連する駆動項X^(μ)がその駆動キュービットのビット反転演算子として作用するように、駆動ライン毎に1つのキュービットを定義することによって実行できる。この図では、望ましい初期状態は、全ての駆動キュービットが|+>状態にあることに対応する。
駆動キュービットμの位相反転演算子に対応する演算子Z^(μ)を定義する。これが有効な構成であるためには、新しく定義された演算子が、μ≠νの場合に、以下の(反)交換関係を満たす必要がある。
単一のハイブリッド駆動ラインQμの場合、キュービットk∈Qμに作用する任意の演算子σ^(k)が、同じ駆動ライン上のX^回転との望ましい交換関係を満たすことを示すのは容易である。このキュービットが他の駆動ラインに関与していない限り(つまり、ν≠μ:k∈Qνが存在しない)、これは依然として有効な選択肢である。図7b)に示す完全に暗黙的な実行では、インデックス0を含むキュービットに対してZ^回転を実行することを選択できる。その選択により、全てのZ^回転は、キュービットkを含む唯一のハイブリッド駆動ラインQμと関連するものを除く全てのX^回転と可換になる。
目標は、全ての駆動キュービットμがX^(μ)-固有状態|+>にある状態を準備することである。簡単に準備でき、全ての駆動キュービットが|↑>状態にあることにも対応する、制約を満たす状態|↑>[×]K(空間Hparity内)から開始する。これから望ましい状態を準備するには、全ての駆動キュービットのy軸の周りのπ/2回転に対応する量子システムHparityの演算を実行する必要がある。これは連続する回転e-iπ/4X^(μ)及びe-iπ/4Z^(μ)に分解できるため、以前に定義された演算子を使用して実行される。
ただし、キュービットが複数の駆動ラインに関与している場合、問題が発生する。このようなキュービットに物理的なσ^z演算を実行すると、関係する全ての駆動ラインに影響が及ぶため、回避する必要がある不要なクロストークが発生する可能性がある。したがって、可能な限り、位相演算を実行するために、他の駆動ラインに関与していないキュービットを選択する必要がある。これは、図7(bに示すように、インデックス0を含むキュービットがそれぞれ1つの駆動ラインにのみ関与する完全に暗黙的なケースで可能である。
これが不可能な場合でも、駆動ラインQμ∋kのキュービットkに対するZ^(μ)演算は、キュービットkを含む他の駆動ラインQνに関連付けられた全ての駆動キュービットがZ^(ν)の固有状態にあり、回転の影響を受けない限り、実行できる。最初に準備された状態|↑>[×]Kでは、全ての駆動キュービットはZ^固有状態にある。これにより、Z^(μ)回転毎に、他の駆動ラインに含まれない、又は、状態がまだ回転していない他の駆動ラインにのみ関与する、対応する駆動ラインの少なくとも1つのキュービットが存在するような駆動回転のシーケンスを見つけることができる。
この手順により、より一般的なハイブリッド駆動ハミルトニアンに対しても、所望の重ね合わせ状態を準備することができる。状態準備のための回路の深さは、単一駆動ハミルトニアンの下での時間発展のためのユニタリの実行と同様にスケールする。任意のレイアウトの正確な手順は、付録Cに記載されている。
5 数値結果
5.1 量子回路の深さのスケーリング
図11は、図7に示すようなレイアウトに対するQAOAプロトコルの単一ステップを実行するために必要な量子回路の深さ(縦軸)を示す。横軸は、明示的な制約項の相対量を表す。前記相対量は、明示的実行及び暗黙的実行への制約項の異なる分割(すなわち、本明細書に記載のように、被加数制約ハミルトニアンのセットの第1のサブセット及び第2のサブセットへの異なる分割)を考慮することによって変更可能である。左側は完全に暗黙的な実行に対応する。明示的に強制される制約項の量が増えると、最初は3体制約項の強制が1つずつ明示的に行われ、最後に十字でマークされた点で全ての3体制約項が明示的に強制される。次に、モジュール化のために明示的に強制された制約項の追加格子が導入され、格子間隔が段階的に減少する。
明示的に強制される制約項の相対量nC/nC
tot=0から始まり、回路の深さはシステムサイズに応じて直線的に増加する。回路深さのスケーリングにおける大きな係数は、完全に暗黙的なセットアップ(図7b)における駆動ラインの過剰なオーバーラップによるもので、並列実行が不可能になる。回路の深さは、プロット内の十字でマークされた点で全ての3体制約条件が明示的に強制されるまで、明示的に強制される3体制約の数を増やすことで、減らすことができる。回路の深さは、システムサイズに応じて線形にスケールされるが、事前係数ははるかに小さくなる。レイアウトのモジュール化により、更なる改善が可能である。これにより、制約ハミルトニアンの実行コストが追加されるため、回路の深さが一定数だけ少し増加する。モジュール化グリッドの明示的に強制された制約は全て並行して実行できるため、深さの増加はシステムのサイズとは無関係である。ただし、駆動項に必要な回路の深さを更に削減することが可能になった。格子が十分に大きい場合、到達可能な回路の深さと明示的に強制される制約の相対量との関係は、システムのサイズとは無関係になる。
5.2 様々なプロトコルのQAOAの性能
この新しいアプローチの利点を実証するために、パリティスキームにおける完全に暗黙的、ハイブリッド及び完全に明示的QAOAアプローチの性能を比較する。p=3のQAOAサイクルについて[0,2π)の範囲のQAOAパラメータは、nreps=100回ランダムに初期化される。完全に暗黙的なアプローチでは、制約部分が削除されているため、サイクル毎にQAOAパラメータが1つ少ないことに留意されたい。各初期化では、以下の古典的な手順を使用して局所的な最適値を見つける。ランダムなQAOAパラメータの更新を実行する。パラメータの更新後にシステムのエネルギーが減少した場合、新しいパラメータは確率paccept=1で受け入れられ、そうでない場合は、新しいパラメータによるエネルギーの増加に伴って指数関数的に減少する確率で受け入れられる。この手順を目標値が収束するまで繰り返す。nrepsの初期化のうち、最も低いエネルギー期待値E=<ψ|H^phys|ψ>[式4参照]が各過程について保持される。最適化後、明示的に強制された制約の数の関数として、以下のように定義されるシステム状態の残留エネルギーEresを計算する。
式19では、Emax及びEminはそれぞれ、構成空間内の最高エネルギー及び最低エネルギーを示す。説明した手順は、N∈{4,5,6}問題スピンを含む完全なグラフに適用される。結果を図12に示す。図12は、異なるシステムサイズについて、明示的に強制された制約項の相対量(横軸)に対する、最適化後の平均残留エネルギー(縦軸)を示す。各データポイントは、説明した手順の96個のランダムな実現の平均を表す。Nは、各問題に関係するスピン変数の数を示す。エラーバーは、問題のある過程の標準偏差を表す。
明らかに、残留エネルギーは明示的に強制される制約の数が増加するにつれて増加する。これは、実行可能な部分空間のサイズも、明示的に強制される制約の数と共に増加するという事実に関連している。このセクションで説明するシミュレーションでは、ビット反転エラーやデコヒーレンスなどの量子ノイズの影響が考慮されていないことに留意されたい。
6 要約
要約すると、標準的な単一キュービット駆動ハミルトニアンと計算問題に合わせた駆動ハミルトニアンとの間を補間することによって、パリティQAOAの性能を改善する方法を示した。この提案されたハイブリッドアプローチは、検索スペースを削減することで性能を向上させながら、完全に明示的なパリティQAOAの並列性を維持する。ハードウェアレイアウトが固定されている場合、回路の深さと探索空間のサイズとの間のトレードオフは、暗黙的に駆動されるサブモジュール及び明示的に相互接続されるサブモジュールのサイズを調整することによって動的に変更できる。
ここで提示されるアイデアは、キュービットの任意のグリッド配置上で容易に実現することができる。これは、古典的シミュレーションではアクセスできない大きな問題サイズに対してモジュール化されたレイアウトを使用して、実際のQAOAの性能に関する疑問に対処するために必要である。
付録A 駆動項の分解
図13は、駆動項(式7を参照)の下での時間発展に対応するユニタリ演算子e-iβX^(μ)のCNOTゲート及びRx回転ゲートへの可能な分解を示している。n個の接続されたキュービットを含む駆動ラインは、最大でもn+2の回路深さで実行できる。このユニタリ演算子の回路としての表現は数多くあることに留意されたい。つまり、回転に使用されるキュービットは自由に選択できる。この自由度を利用して、このような演算子のシーケンスの回路の深さを最小化できる。
付録B 分割の制約及び駆動ラインの検索
以下では、有効なハイブリッド駆動ライン(以下では単にラインと呼ぶ)を見つけるための一般的なアルゴリズムの概要を説明する。制約/キュービット/駆動ラインの選択方法に応じて(ただし、原理的にはどの選択も機能する)、特定のステップを改善することができる(解がより速く見つかる、解が明示的に強制される制約が少なくなる、又は、解が回路の深さを小さくする)。更に、ラインの制限は様々な基準に従うことができるが、アルゴリズムのアプローチは変わらない。セクション3.3で説明されているように、モジュール化のために明示的に強制された制約のグリッドとは別に、全ての制約が暗黙的に強制されることから始める。全てのモジュール(暗黙的に強制された制約の接続されたセット、接続されたとは、対角線/左/右/上/下の隣接関係を介して接続されていることを意味する)を調べる。
・モジュール内の全てのキュービット(そのモジュールの制約項にある全てのキュービット)を調べる。
-キュービットがまだ水平ラインの一部ではない場合、そのキュービットを通る水平ラインを作成する。最後に追加されたキュービットが新しい(まだ到達していない)暗黙的に強制された4体制約内に無くなるまで、線の片側にキュービットを追加し続ける。これを両側に行う。
-ラインによって維持されていない(つまり、対応する駆動項と可換ではない)暗黙的に強制された制約がモジュール内に残っている場合、これらの制約の1つを選択する。そして、選択した制約と同じプラケット(2×2の正方形)上にあり、既存のラインキュービットに隣接するが、まだラインの一部ではないキュービットによってラインを拡張する。そのようなキュービットが存在しない場合は、「失敗モジュール」に進む。
-暗黙的に強制された制約が全てそのラインによって維持されるまで、上記の手順を繰り返す(別の維持されていない制約を選択し、それに応じてラインを拡張する)。
-キュービットがまだ垂直ラインの一部ではない場合は、垂直ラインでも同じ手順を実行する。
・接続されたラインの全てのセット(つまり、そのようなセット内の全てのラインは、ラインに沿って移動し、重なっているラインの間で切り替えるだけで他の全てのラインから到達できる)から、残りのラインが独立するまで最も長いラインを削除する(つまり、2つ以上のラインの対称的な差分は、セット内に別のラインを作成しない)。
・いずれかのラインが事前に設定された制限を超えている場合、又は、初期状態準備アルゴリズムが見つからない場合(次のセクションを参照)、「失敗モジュール」に進む。事前設定された制限には、ラインの最大長、ラインの分岐/屈曲(つまり、文字通りの直線からの逸脱が許可されるか否か、及び、その方法)、又は、結果として生じる回路の深さが含まれるが、これらに限定されない。
・独立したラインの総数が必要なラインの数よりも少ない場合は、「失敗モジュール」に進む。必要なラインの数は、モジュール内の暗黙的に強制された制約項の数nimp,modとモジュール内のキュービット数Kmodとから、Kmod-nimp,modとして計算できる。
・「失敗モジュール」:モジュールに追加の制約項を明示的に強制し、このモジュールを再度開始する。追加の制約項は、失敗モジュールに、他の明示的に強制された制約に隣接していない明示的に強制された3体制約項がある場合(これが失敗の理由である)を除き、3体制約項(単一のラインが失敗につながることが特定できた場合、失敗につながるラインのキュービットを含む)でなければならない。その場合、追加の制約項(3体又は4体)を明示的に強制し、明示的に強制された全ての制約項が(隣接する明示的に強制された制約を通じて)境界に接続されるようにする。境界に接続するには複数の制約項が必要になる場合があり、境界を接続する方法が複数あり得ることに留意されたい。
遅くとも、(a)全ての3体制約項が明示的に強制され、明示的に強制された制約項を介して境界に接続され、(b)長さ制限はモジュールの最大寸法以上である(例えば、モジュールに3×4個のキュービットが含まれる場合、最大ライン長は4である)。これは、分岐又は屈曲を許可しない場合にも当てはまる。分岐又は曲げが許可されている場合は、有効な許容可能なラインがより早く見つかる。
付録C 初期量子状態の準備指示
以下の指示は、完全に暗黙的、完全に明示的、及び、一般的なハイブリッド駆動ラインに対して有効であるが、他のケースは自明であるため、真のハイブリッドの場合にのみ必要である。
初めに、全ての駆動ラインQμに実行順序を決定する実行優先度Pμを以下のように割り当てる。
・Pμ=0の駆動ラインには、他の駆動ラインの一部ではない少なくとも1つのキュービットが含まれている。
・優先度Pμ>0の全ての駆動ラインQμには少なくとも1つのキュービットが含まれており、それ以外の場合は優先度が低いPν<PμのラインQνにのみ存在する。
次に、各駆動キュービットλに対して、優先度Pλの降順で、以下の回転を適用する。
等しい優先度は任意の順序で実行でき、必要なゲートシーケンスは並行して(又は、駆動ラインのキュービットのオーバーラップがある場合は可能な限り並行して)実行できる。ラインの優先度は反復的に見つけることができる。優先度が割り当てられるまで、全てのラインを「未割り当て」と呼ぶ。
1.他のどのラインにも存在しない少なくとも1つのキュービットを含む全てのラインに優先度Pμ=0を割り当てる。
2.優先度Pμの少なくとも1つのラインと重なる(同じキュービットにある他の未割り当てのラインには重ならない)全てのラインQνに優先度Pν=Pμ+1を割り当てる。
3.全てのラインに優先度が設定されるまで、ステップ2を繰り返す。
初期状態|ψ0>は以下のように準備できる。
ここで、Pmaxは割り当てられた最高の優先度であり、Dκ⊆Dは優先順位κを有する駆動ラインのサブセットである。積の順序は、優先度の高い項が最初に適用されるようにする必要があることに留意されたい。
この手順で、全てのラインに優先度を割り当てることができない場合は、付録Bに従って制約の明示的/暗黙的グループ化を更新し、再試行する。遅くとも、全ての3体制約が明示的に強制されている場合には機能する。図14は、優先度が割り当てられたサブモジュール内の2セットの接続された駆動ラインの例を示している。図14では、暗黙的に強制された制約のみが示されている。X:駆動ハミルトニアンにはないライン抜け。0-3:回転を実行するラインの優先度Pμ(Pμ=3から開始)。優先度Pμを有するラインの回転は、Rμでマークされたキュービットで実行できる。
上記は実施形態を対象としているが、特許請求の範囲によって決定される範囲から逸脱することなく、他の更なる実施形態を考案することができる。