【文献】
P.J.J. O'Malley et al.,Scalable Quantum Simulation of Molecular Energies,Physical Review X6, 031007 [online],2016年 7月18日,[2020年7月20日検索],URL,https://journals.aps.org/prx/pdf/10.1103/PhysRevX.6.031007
(58)【調査した分野】(Int.Cl.,DB名)
前記反復のための前記埋込みハミルトニアンの前記基底状態を決定するために前記量子計算を実行するステップが、変分法を実行するステップを備える、請求項3に記載の方法。
前記材料の特性をシミュレートするために、前記単位セルの前記領域内の前記物理システムの出力された基底状態を使用するステップをさらに備える、請求項12に記載の方法。
前記物理システムの特性を決定するために、前記単位セルの前記領域内の前記物理システムの前記出力された基底状態を使用するステップをさらに備える、請求項1に記載の方法。
【発明の概要】
【課題を解決するための手段】
【0003】
本明細書は、量子コンピュータを使用して対象となる材料または他の物理システムをシミュレートするための技術を説明する。
【0004】
一般に、本明細書に記載されている主題の革新的な一態様は、対象となる物理システムを決定するステップであって、物理システムが、複数の単位セルを備える、ステップと、単位セルのうちの1つの領域内の物理システムの基底状態を近似するために量子計算を実行するステップと、出力として単位セルの領域内の物理システムの近似基底状態を提供するステップとを含む方法で実装されてもよい。
【0005】
この態様の他の実装形態は、1つまたは複数のコンピュータストレージデバイスに記録され、それぞれが本方法のアクションを実行するように構成された、対応するコンピュータシステム、装置、およびコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを、動作中にシステムにアクションを実行させるシステムにインストールすることにより、特定の動作またはアクションを実行するように構成されることが可能である。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されたときに、装置にアクションを実行させる命令を含むことにより、特定の動作またはアクションを実行するように構成されることが可能である。
【0006】
前述および他の実装形態は、それぞれ、以下の特徴のうちの1つまたは複数を、単独で、または組み合わせて、任意に含むことが可能である。いくつかの実装形態では、単位セルの領域内の物理システムの基底状態を近似するための量子計算は、単位セルに対するハミルトニアンの基底状態として、単位セルの領域内の物理システムの初期基底状態を定義するステップと、イベントの完了が発生するまで初期基底状態およびその後の基底状態を反復的に処理するステップであって、反復ごとに量子計算が実行される、ステップとを備える。
【0007】
いくつかの実装形態では、処理するステップは、反復ごとに、反復のための埋込みハミルトニアンを決定するステップと、反復のための埋込みハミルトニアンの基底状態を決定するために量子計算を実行するステップと、完了イベントが発生したかどうかを決定するステップと、完了イベントが発生していないという決定に応答して、反復のための埋込みハミルトニアンの決定された基底状態をその後の状態として提供するステップと、完了イベントが発生したという決定に応答して、埋込みハミルトニアンの決定された基底状態を、単位セルの領域内の物理システムの近似基底状態として定義するステップとを備える。
【0008】
いくつかの実装形態では、反復のための埋込みハミルトニアンを決定するステップは、古典的な計算を実行するステップを備える。
【0009】
いくつかの実装形態では、古典的な計算を実行するステップは、密度行列埋込み理論(DMET)を適用するステップを備える。
【0010】
いくつかの実装形態では、反復のための埋込みハミルトニアンの基底状態を決定するために量子計算を実行するステップは、変分法を実行するステップを備える。
【0011】
いくつかの実装形態では、変分法は変分量子固有値ソルバ(variational quantum eigensolver)を備える。
【0012】
いくつかの実装形態では、変分法を実行するステップは、1つまたは複数の量子計算および1つまたは複数の古典的な計算を実行するステップを備える。
【0013】
いくつかの実装形態では、イベントの完了は、反復のための処理された基底状態が以前の反復のための処理された基底状態と収束したときに発生する。
【0014】
いくつかの実装形態では、単位セルの領域内の物理システムの近似基底状態は、物理システム全体の特性を表す。
【0015】
いくつかの実装形態では、単位セルは、物理システムの対称性と構造を定義する。
【0016】
いくつかの実装形態では、物理システムは材料である。
【0017】
いくつかの実装形態では、本方法は、材料の特性をシミュレートするために、単位セルの領域内の物理システムの出力された基底状態を使用するステップをさらに備える。
【0018】
いくつかの実装形態では、本方法は、物理システムの特性を決定するために、単位セルの領域内の物理システムの出力された基底状態を使用するステップをさらに備える。
【0019】
本明細書に記載される主題は、以下の利点のうちの1つまたは複数を実現するように、特定の方法で実装されることが可能である。
【0020】
量子計算を使用して材料、たとえば材料の特性をシミュレートするシステムは、相関環境の存在下で、有限ハミルトニアンによって記述された物理システムをシミュレートするために使用されてもよい。さらに、量子コンピュータはシステムサイズが最大でも多項式である時間内に物理システムを正確にシミュレートすることができる。したがって、他のシステムとは異なり、量子計算を使用して材料をシミュレートするシステムは、シミュレーション処理において使用される古典的な計算の精度によって基本的に制限されない。たとえば、密度行列埋込み理論(DMET)、密度行列繰込み群、ハートリーフォック、またはカップルドクラスタなどの、物理システムをシミュレートするための古典的な技法は、物理システムサイズにおける指数関数的なコストで物理システムのモデル化において目標精度を取得することができるだけである。
【0021】
したがって、そのような古典的な方法は、特定の物理システム、たとえば、比較的小さい単位セルで構成されるもの、または少量の相関を示すもののみを正確にモデル化することができる。しかしながら、量子計算を使用して材料をシミュレートするシステムは、古典的な方法の範囲を広げ、強い相関を示すものを含む多種多様な物理システムをシミュレートするために使用されてもよい。例示的な物理システムは、材料、たとえば飛行機の翼およびロケット中のポリマー、太陽電池、電池、触媒コンバートまたは薄膜エレクトロニクスを含む。他の例示的な物理システムは、高温超伝導を示すシステムを含む。
【0022】
本明細書の主題の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明において記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【発明を実施するための形態】
【0024】
様々な図面における同様の参照番号および名称は同様の要素を示す。
【0025】
量子計算を使用して物理システムをシミュレートするための装置および方法が説明される。本装置および方法は、埋込みハミルトニアンのための技法、たとえば密度行列埋込み理論(DMET)を使用して物理システムの単位セルの周囲の領域をモデル化することによって、物理システムのバルク特性をモデル化する。
【0026】
典型的には、DMET技法は、埋込みハミルトニアンの基底状態を見出すために、密度行列繰込み群、ハートリーフォック、カップルドクラスタ、または完全配置相互作用などの古典的な方法を使用する。そのような古典的な方法は、物理システムサイズにおける指数関数的なコストで物理システムのモデル化において目標精度を取得することができるだけである。本明細書は、物理システムをシミュレートするためのハイブリッド量子-古典的な方法を生成するために、古典的な計算、たとえばDMETに基づく計算を、量子計算と組み合わせるための技法を説明する。ハイブリッド量子-古典的な方法は、一般的な物理システム、たとえば強い相関を有する有限ハミルトニアンによって記述される物理システムがシミュレートされることを可能にする。
【0027】
例示的な動作環境
図1は、量子計算を使用して物理システムをシミュレートするための例示的なシステム100を示している。例示的なシステム100は、1つまたは複数の場所において、1つまたは複数の古典的なコンピュータまたは量子コンピューティングデバイス上で、古典的または量子コンピュータプログラムとして実装されるシステムの一例であり、以下に説明するシステム、構成要素、および技法が実装されることが可能である。
【0028】
システム100は、古典的プロセッサ104とデータ通信する量子ハードウェア102を含んでもよい。システム100は、対象となる物理システムを表すデータ、たとえば入力データ106を含んでもよい入力データとして受信してもよい。システム100は、対象となる物理的システムをシミュレートするための出力データ、たとえば出力データ108として生成してもよい。
【0029】
対象となる物理システムを表す受信データ、たとえば入力データ106は、モデル化またはシミュレートされるべき物理システムを表すデータを含んでもよい。いくつかの実装形態では、受信データは、材料、たとえば金属またはポリマーである物理システムを表してもよい。いくつかの実装形態では、受信データは高温超伝導を記述する物理システムを表してもよい。受信データによって表される物理システムは、複数の単位セルを含んでもよい。単位セルは、物理システム内の反復パターンを構成する、物理システム内の構成要素の最小グループを表す。したがって、単位セルは物理システム全体の対称性と構造を定義する。
【0030】
対象となる物理システムをシミュレートするために生成されたデータ、たとえば、単位セルの領域内の物理システムの基底状態を表す出力データ108は、物理システムの特性を決定するために使用されてもよいデータを含んでもよい。物理システムの構造上、上述したように、単位セルの領域内の物理システムの近似基底状態は、物理システム全体の特性を表している。したがって、物理システム全体の特性を記述するために、単位セルの領域内の物理システムの基底状態を表す出力データが使用されてもよい。たとえば、上述のように、いくつかの実装形態では、物理的システムは材料、たとえば金属であってもよい。これらの場合、金属の特性、たとえば導電率を決定するために、単位セルの領域内の物理システムの基底状態を表すデータが使用されてもよい。
【0031】
対象となる物理システムをシミュレートするためのデータ、たとえば、単位セルの領域内の物理システムの基底状態を表す出力データ108を生成するステップは、量子計算を実行するステップを含んでもよい。たとえば、いくつかの実装形態では、単位セルの領域内の物理システムの基底状態を表すデータ、たとえば出力データ108は、量子計算および古典的な計算の両方を含む方法を使用して生成されてもよい。
【0032】
システム100は、量子ハードウェア102および古典的プロセッサ104を使用する量子計算と組み合わせて古典的な計算を実行するように構成されてもよい。いくつかの実装形態では、古典的プロセッサ104は、
図2〜
図4を参照して以下に説明するように、物理システムの単位セルの周囲の領域だけをモデル化することによって、対象となる物理システムのバルク特性をモデル化する際にシステム100を支援するために密度行列埋込み理論に基づく技法を実行するように構成されてもよい。
【0033】
たとえば、対象となる物理システムは、関連基底状態Ψ
sysを有するハミルトニアンH
sysによって記述されてもよい。同様に、対象となる物理システムを構成する単位セルのうちの1つは、関連基底状態Ψ
cellを有するハミルトニアンH
cellによって記述されてもよい。システム100は、古典的プロセッサ104および量子ハードウェア102を使用して、関連基底状態Ψ
embが単位セルのローカル領域内の基底状態Ψ
sysと一致する埋込みハミルトニアンH
embを決定するように構成されてもよい。
【0034】
いくつかの実装形態では、埋込みハミルトニアンの基底状態は、量子計算を使用して決定されてもよい。システム100は、量子ハードウェア102を使用して量子計算を実行するように構成されてもよい。量子ハードウェア102は、量子計算を実行するための構成要素を含んでもよい。たとえば、量子ハードウェア102は量子システム110を含んでもよい。量子システム110は、1つまたは複数のマルチレベル量子サブシステム、たとえば量子ビットまたは量子ディットを含んでもよい。いくつかの実装形態では、マルチレベル量子サブシステムは、超伝導量子ビット、たとえばGmon量子ビットであってもよい。システム100が利用するマルチレベル量子サブシステムの種類は、対象となる物理システムに依存する。たとえば、場合によっては、1つまたは複数の超伝導量子ビット、たとえばGmonまたはXmon量子ビットに結合された1つまたは複数の共振器を含むことが便利であってもよい。他の場合では、イオントラップ、フォトニックデバイス、または超伝導キャビティ(量子ビットを必要とせずに状態が準備されてもよい)が使用されてもよい。マルチレベル量子サブシステムの実現のさらなる例は、fluxmon量子ビット、シリコン量子ドット、またはリン不純物量子ビットを含む。場合によっては、マルチレベル量子サブシステムは量子回路の一部であってもよい。この場合、量子ハードウェア102は、量子システム110上で動作する1つまたは複数の制御デバイス112、たとえば1つまたは複数の量子論理ゲートを含んでもよい。
【0035】
量子ハードウェア102は、変分法、たとえば変分量子固有値ソルバを使用して埋込みハミルトニアンの基底状態を決定するように構成されてもよい。たとえば、量子ハードウェア102は、量子システム112の状態に関するパラメータ化を決定するために、制御デバイス112および制御デバイス112に関連付けられる制御パラメータなどの量子ハードウェア102に関する情報を使用する変分仮説(variational ansatz)を指定するデータを含んでもよい。いくつかの実装形態では、量子ハードウェア102は、仮説をパラメータ化するために直接使用されてもよく、すなわち、変分仮説116を形成する変分クラスのパラメータは、制御デバイス114の制御パラメータ、たとえば1つまたは複数の論理ゲートの制御パラメータを含んでもよい。
【0036】
量子ハードウェア102は、量子システム110上で量子測定を実行し、測定結果を古典的プロセッサ104に送信するように構成されてもよい。さらに、量子ハードウェア102は、古典的プロセッサ104から、量子システム110の状態に関する更新されたパラメータ化、たとえば更新された物理制御パラメータ値を指定するデータを受信するように構成されてもよい。量子ハードウェア102は、量子システム110の状態を更新するために、受信した更新されたパラメータ化を使用してもよい。変分法を実行するために量子ハードウェアを使用することについては、
図4を参照して以下でさらに詳細に説明する。
【0037】
上述のように、古典的プロセッサ104は、量子ハードウェア102から測定結果を受信するように構成されてもよい。古典的プロセッサ104は、受信した測定結果に対して最小化方法、たとえば、パウエル法またはネルダーミードなどの勾配のない欲張り法(gradient-free greedy method)を実行することによって、量子システム110の最小化パラメータ化を決定してもよい。さらに、古典的プロセッサ104は、決定された最小化パラメータ化に基づいて、量子システム110の状態に関する更新されたパラメータ化を指定するデータを送信するように構成されてもよい。
【0038】
単位セルの領域内の物理システムの基底状態を近似することについては、
図2〜
図4を参照して以下で詳細に説明する。
【0039】
ハードウェアのプログラミング
図2は、物理システムをシミュレートするための例示的な処理200のフローチャートである。便宜上、処理200は、1つまたは複数の場所に位置する1つまたは複数の古典的または量子コンピューティングデバイスのシステムによって実行されるものとして説明される。たとえば、量子計算システム、たとえば、本明細書に従って適切にプログラムされた
図1の量子計算100を使用して材料をシミュレートするためのシステム100は、処理200を実行することが可能である。
【0040】
システムは、対象となる物理システムを決定する(ステップ202)。対象となる物理システムは、モデル化またはシミュレートされる物理システムであってもよい。いくつかの実装形態では、物理的システムは材料、たとえば金属またはポリマーであってもよい。いくつかの実装形態では、物理システムは高温超伝導を示すシステムであってもよい。
【0041】
物理システムは複数の単位セルを含む。単位セルは、物理システム内の反復パターンを構成する、物理システム内の構成要素の最小グループを表す。したがって、単位セルは物理システム全体の対称性と構造を定義する。たとえば、単位セル内のいくつかの構成要素によって測定される単位セルのサイズは、決定された物理システムに依存する。いくつかの実装形態では、単位セルは隣接する単位セルと相互作用してもよく、物理システムは強い相関を示してもよい。
【0042】
たとえば、いくつかの分子システム、たとえば金属は周期的な結晶構造を有し、「規則的」であると言われる。システムの結晶構造は、システム内の反復パターンを構成する三次元の原子の最小グループを表す単位セルに関して説明することができる。三次元空間におけるスタッキング単位セルは、結晶中の原子のバルク配置を表す。単位セルは、セルの辺の長さと前記辺間の角度を表す1つまたは複数のパラメータ、たとえば格子パラメータに関して表されてもよい。単位セル内の原子の位置は、格子点などの、セルの辺に対して測定された原子位置のセットによって記述されてもよい。
【0043】
システムは、単位セルのうちの1つの領域内の物理システムの基底状態を近似するために、量子計算を実行する(ステップ204)。物理システムの構造により、ステップ202を参照して上述したように、物理システム全体の特性を記述するために単位セルのうちの1つの領域内の物理システムの近似基底状態が使用されてもよい。いくつかの実装形態では、システムは、単位セルのうちの1つの領域内の物理システムのより高いレベルの固有状態を近似するために量子計算を実行してもよい。
【0044】
単位セルのうちの1つの領域内の物理システムの基底状態を近似するために量子計算を実行することによって、システムは基底状態を任意の精度、たとえば、精度のコストがシステムサイズにおいて指数関数的に拡大しない精度に近似してもよい。これは、システムは、そうでなければたとえば古典的な方法を使用してシミュレートするには複雑すぎる物理システムを考慮することが可能になる。単位セルの領域内の物理システムの基底状態を近似するために量子計算を実行することは、
図3を参照して以下により詳細に説明される。
【0045】
システムは、出力として単位セルの領域内の物理システムの近似基底状態を提供する(ステップ206)。上述したように、単位セルの領域内の物理システムの近似基底状態は、物理システム全体の特性を表している。したがって、システムは、物理システムをシミュレートするために出力された近似基底状態を使用してもよい。たとえば、いくつかの実装形態では、システムは、出力された近似基底状態を使用して物理システムの特性を決定してもよい。対象となる物理システムが材料である場合、これは、たとえば、金属の導電率をシミュレートするために出力基底状態を使用して、材料の大域的性質をシミュレートするために、単位セルの領域内の材料の近似基底状態を使用することを含んでもよい。
【0046】
処理200は、大きな単位セルおよび/または強い相関を示すものから構成されるシステムを含む、様々な物理システムの特性をシミュレートするために使用されてもよい。たとえば、処理200は、飛行機の翼およびロケット中のポリマー、太陽電池、電池、触媒コンバートまたは薄膜エレクトロニクスの特性をシミュレートまたは決定するために使用されてもよい。
【0047】
図3は、単位セルの領域内の物理システムの基底状態を近似するための例示的な処理300のフローチャートである。たとえば、処理300は、
図2のステップ204において上述したように、対象となる物理システムをシミュレートすることの一部として、単位セルの領域内の物理システムの基底状態を近似することを説明してもよい。便宜上、処理300は、1つまたは複数の場所に位置する1つまたは複数のコンピューティングデバイスによって実行されるものとして説明される。たとえば、量子計算システム、たとえば、本明細書に従って適切にプログラムされた
図1の量子計算100を使用して材料をシミュレートするためのシステム100は、処理300を実行することが可能である。
【0048】
システムは、単位セルに対するハミルトニアンの基底状態として、単位セルの領域内の物理システムの初期基底状態を定義する(ステップ302)。たとえば、物理システムを表すハミルトニアンH
sysは、物理システムの基底状態Ψ
sysに関連付けられてもよく、物理システムを構成する単位セルのうちの1つを表すハミルトニアンH
cellは、単位セルの基底状態Ψ
cellに関連付けられてもよい。この表記法を使用して、システムは、単位セルの領域内の物理システムの初期基底状態Ψ
(0)を次式によって定義してもよい。
Ψ
(0)=Ψ
cell
【0049】
システムは、イベントの完了が発生するまで初期基底状態およびその後の基底状態を反復的に処理し、反復ごとに量子計算が実行される(ステップ304)。
図2を参照して上述したように、いくつかの実装形態では、物理システムを構成する複数の単位セルの各々は、物理システム内の他の単位セル、たとえばそれぞれの隣接する単位セルと相互作用する。これらの相互作用により、単位セルの基底状態Ψ
cellは、物理システム全体の基底状態Ψ
sysについて意味のある情報を提供しない可能性がある。しかしながら、物理システムの構造、たとえば、
図2を参照して上述した規則性および対称性のために、物理システム全体の基底状態Ψ
sysについての意味のある情報は、単位セル周辺のローカル領域内の物理システムの基底状態Ψ
sysから決定されてもよい。
【0050】
したがって、システムは、単位セルの領域内の物理システムの近似基底状態を決定するために、完了イベントが発生するまで初期基底状態およびその後の基底状態を反復的に処理する。いくつかの実装形態では、イベントの完了は、反復のための処理された基底状態が以前の反復のための処理された基底状態と収束したとき、たとえば、反復のための処理された基底状態がヒルベルト空間内の以前の反復のための処理された基底状態までのあらかじめ定められた距離内にあるときに発生する。単位セルの領域内の物理システムの基底状態を近似するために基底状態Ψ
(j)を処理する例示的な反復は、
図4を参照して以下で詳細に説明する。
【0051】
図4は、単位セルの領域内の物理システムの基底状態を近似するために基底状態を処理する例示的な反復400の流れ図である。たとえば、処理400は、
図2のステップ204において上述したように、完了イベントが発生するまで初期基底状態またはその後の基底状態を処理するj回目の反復を説明してもよい。便宜上、処理400は、1つまたは複数の場所に位置する1つまたは複数のコンピューティングデバイスによって実行されるものとして説明される。たとえば、量子計算システム、たとえば、本明細書に従って適切にプログラムされた
図1の量子計算100を使用して材料をシミュレートするためのシステム100は、処理400を実行することが可能である。
【0052】
システムは反復のための埋込みハミルトニアンを決定する(ステップ402)。埋込みハミルトニアンH
embは、その基底状態Ψ
embが単位セルの領域内で基底状態Ψ
sysに統計的に近いハミルトニアンである。ハミルトニアンH
embは、単位セルを記述するハミルトニアンH
cellより大きくない場合がある。システムは、古典的な計算を実行することによって、反復のためのハミルトニアン
【0055】
いくつかの実装形態では、古典的な計算を実行することは、反復のための埋込みハミルトニアンを決定するために密度行列埋込み理論(DMET)を適用することを含んでもよい。埋込みハミルトニアンを決定するためにDMETを適用することは、入力として以前の反復についての基底状態
【0057】
を取り、出力として対応する埋込みハミルトニアン
【0059】
を生成する埋込みアルゴリズムサブルーチンAを適用することを含んでもよく、すなわち、
【0062】
システムは、反復のための埋込みハミルトニアン
【0066】
を決定するために量子計算を実行する(ステップ404)。いくつかの実装形態では、反復のための埋込みハミルトニアンの基底状態を決定するために量子計算を実行することは、変分法を実行することを含んでもよい。所与の量子システムの固有状態、たとえば基底状態を決定するために、変分法が使用されてもよい。たとえば、H|Ψ>=E
0|Ψ>となるようにハミルトニアンHの最低エネルギー固有状態である量子システムの量子状態|Ψ>を決定するために、変分法が使用されてもよい。たとえば、いくつかの変分法は、ベクトル
【0068】
によって表されるパラメータの多項式数に関して、仮説として知られる推測波動関数
【0070】
をパラメータ化することによって、|Ψ>を近似的に準備してもよい。次いで、量子変分原理は、
【0074】
である場合に平等で保持する。したがって、|Ψ>は、パラメータ化の中で可能な限り厳密に上記の不等式を作る
【0079】
いくつかの実装形態では、変分法は変分量子固有値ソルバ(VQE)手順を備える。VQE手順は、初期状態|Φ>でのパラメータ化された量子回路
【0086】
初期状態|Φ>は、量子回路を用いて準備することが自明である量子状態、たとえば、標準基底での積状態であってもよい。逆に、パラメータ化された状態
【0088】
は準備が非常に複雑な量子状態であってもよい。たとえば、パラメータ化された状態
【0090】
は、標準基底における指数関数的な数の基底状態にわたる量子状態であってもよく、したがって、たとえばメモリ制限のために、ユニタリ演算子Uが比較的浅いときでさえも、いかなる古典的コンピュータでも表すことができない。マッピング
【0092】
は、パラメータ化された量子ゲートの連結として表されてもよく、たとえば、
【0094】
であり、上式で、各U
i(θ
i)は普遍的な量子ゲートに分解される量子回路素子を表し、
【0096】
は、n個のスカラー値{θ
i}を表す。
【0099】
をパラメータ化した後、VQE手順は量子計算を実行する。VQE手順は、パラメータ化された量子状態
【0101】
に関するハミルトニアンHの期待値を測定するために、量子ハードウェアを使用する。これを行うために、VQE手順は、量子状態
【0103】
のコピーを反復して準備し、Hを定義するローカルハミルトニアン項の反復測定を実行する。たとえば、一般に任意のハミルトニアンHは項の和に分解されてもよく、
【0105】
であり、上式で、α
γは実数値のスカラーを表し、各H
γはハミルトニアン、たとえば容易に測定され得る1-スパースハミルトニアンを表す。この分解は、Lが最大限でも多項式的に大きいように常に可能である点に留意されたい。したがって、VQE手順は、以下に与えられるように、
【0107】
の期待値を取得するために、上記の式の中の各項を以下の式のように測定する。
【0109】
VQE手順の最後のステップは、パラメータの新しいセット
【0113】
を最小化することを含む。いくつかの実装形態では、量
【0115】
を最小化することは、古典的コンピュータを使用して実行されてもよい。そのような場合、使用される例示的な方法は、勾配のない欲張り法、たとえば、パウエル法またはネルダーミードを含む。VQE手順は、
【0117】
の値が収束するまで反復されてもよく、その上で量子状態
【0120】
上述のように、変分法を実行するステップは、1つまたは複数の量子計算および1つまたは複数の古典的な計算を実行するステップを含んでもよい。たとえば、VQE手順を参照して説明したように、本方法は、パラメータ化された量子状態を準備するステップと、量子ハードウェアを使用してパラメータ化された量子状態に関する埋込みハミルトニアンの期待値を測定するステップとを含んでもよい。測定結果は、収束時に反復のための埋込みハミルトニアンの基底状態を記述する量子状態パラメータの更新値を決定するために、エネルギーランドスケープの最小化を実行する古典的コンピュータに提供されてもよい。
【0121】
システムは、完了イベントが発生したかどうかを決定する(ステップ406)。たとえば、
図3のステップ304を参照して上述したように、いくつかの実装形態では、イベントの完了は、反復のための処理された基底状態が以前の反復のための処理された基底状態と収束したときに発生する。
【0122】
完了イベントが発生していないという決定に応答して、システムは、反復のための埋込みハミルトニアンの決定された基底状態をその後の状態として提供する(ステップ408a)。次いで、システムは、完了イベントが発生したと決定されるまで、ステップ402〜406を反復してもよい。
【0123】
完了イベントが発生したという決定に応答して、システムは、埋込みハミルトニアンの決定された基底状態を、単位セルの領域内の物理システムの近似基底状態として定義する(ステップ408b)。
図2を参照して上述したように、単位セルの領域内の物理システムの近似基底状態は、物理システム全体の特性を表している。したがって、システムは、埋込みハミルトニアンの決定された基底状態を、単位セルの領域内の物理システムの近似基底状態として定義し、物理システムをシミュレートするためにその近似基底状態を使用してもよい。
【0124】
本明細書に記載されるデジタルおよび/または量子の主題、ならびにデジタル機能動作および量子動作の実装形態は、本明細書およびそれらの構造的均等物に開示された構造、あるいはそれらの1つまたは複数の組合せを含む、デジタル電子回路、適切な量子回路、または、より一般的には、量子計算システムにおいて、有形に具現化されたデジタルおよび/または量子コンピュータソフトウェアまたはファームウェアにおいて、デジタルおよび/または量子コンピュータハードウェアにおいて実装されることが可能である。「量子計算システム」という用語は、これらに限定されないが、量子コンピュータ、量子情報処理システム、量子暗号システム、または量子シミュレータを含んでもよい。
【0125】
本明細書に記載されるデジタルおよび/または量子の主題の実装形態は、データ処理装置によって実行されるために、またはデータ処理装置の動作を制御するために、1つまたは複数のデジタルおよび/または量子コンピュータプログラム、すなわち、有形の非一時的ストレージ媒体上で符号化されたデジタルおよび/または量子コンピュータプログラム命令の1つまたは複数のモジュールとして実装されることが可能である。デジタルおよび/または量子コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムまたはシリアルアクセスメモリデバイス、1つまたは複数の量子ビット、あるいはそれらのうちの1つまたは複数の組合せであってもよい。代替的に、またはそれに加えて、プログラム命令は、データ処理装置によって実行するために適切なレシーバ装置に送信するためにデジタル/量子情報を符号化するために生成された、デジタルおよび/または量子情報、たとえば、機械で生成された電気信号、光学信号または電磁信号を符号化することができる人工的に生成された伝播信号上で符号化されることが可能である。
【0126】
量子情報および量子データという用語は、量子システムによって運ばれ、保持され、またはそこに記憶される情報またはデータを指し、最小の非自明なシステムは量子ビット、すなわち量子情報の単位を定義するシステムである。「量子ビット」という用語は、対応する状況において2つのレベルのシステムとして適切に近似されてもよいすべての量子システムを包含することが理解される。そのような量子システムは、たとえば2つ以上のレベルを有するマルチレベルシステムを含んでもよい。一例として、そのようなシステムは、原子、電子、光子、イオン、または超伝導量子ビットを含むことができる。多くの実装形態では、計算基底状態は、基底状態および第1の励起状態で識別されるが、計算状態がより高いレベルの励起状態で識別される他の設定も可能であることが理解される。「データ処理装置」という用語は、デジタルおよび/または量子データ処理ハードウェアを指し、たとえば、プログラマブルデジタルプロセッサ、プログラマブル量子プロセッサ、デジタルコンピュータ、量子コンピュータ、複数のデジタルおよび量子プロセッサまたはコンピュータ、ならびにそれらの組合せを含む、デジタルおよび/または量子データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。本装置はまた、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、または量子シミュレータ、すなわち、特定の量子システムに関する情報をシミュレートまたは生成するように設計された量子データ処理装置などの専用論理回路であることが可能であり、あるいはそれをさらに含むことが可能である。特に、量子シミュレータは、汎用量子計算を実行する能力を持たない専用量子コンピュータである。本装置は、任意で、ハードウェアに加えて、デジタルおよび/または量子コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組合せを構成するコードを含むことができる。
【0127】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれ、あるいは記述されてもよいデジタルコンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語、あるいは宣言型言語または手続き型言語を含む任意の形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、あるいはデジタルコンピューティング環境における使用に適したモジュール、構成要素、サブルーチン、または他のユニットとして、あらゆる形式で展開することができる。プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれ、あるいは記述されてもよい量子コンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語、あるいは宣言型言語または手続き型言語を含む任意の形式のプログラミング言語で記述することができ、適切な量子プログラミング言語に翻訳されるか、量子プログラミング言語、たとえばQCLまたはQuipperで記述することができる。
【0128】
デジタルおよび/または量子コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、そうである必要はない。プログラムは、たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプトなどの、他のプログラムまたはデータを保持するファイルの一部に、問題のプログラム専用の単一のファイルに、あるいは、たとえば1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイルなどの複数の調整されたファイルに記憶されてもよい。デジタルおよび/または量子コンピュータプログラムは、1つのデジタルまたは1つの量子コンピュータ、あるいは1つのサイトに位置するか、または複数のサイトにわたって分散され、デジタルおよび/または量子データ通信ネットワークによって相互接続された複数のデジタルおよび/量子コンピュータ上で実行されるように展開され得る。量子データ通信ネットワークは、量子システムを使用して量子データ、たとえば量子ビットを伝送してもよいネットワークであると理解される。一般に、デジタルデータ通信ネットワークは、量子データを伝送することができないが、量子データ通信ネットワークは、量子データとデジタルデータの両方を伝送してもよい。
【0129】
本明細書に記載される処理および論理フローは、1つまたは複数のプログラマブルデジタルおよび/または量子コンピュータによって実行され、1つまたは複数のデジタルおよび/または量子プロセッサで適宜動作し、入力デジタルおよび量子データを動作して出力を生成することによって機能を実行するために1つまたは複数のデジタルおよび/または量子コンピュータプログラムを実行することができる。処理および論理フローはまた、たとえばFPGAまたはASICなどの専用論理回路、あるいは量子シミュレータによって、あるいは専用論理回路または量子シミュレータと1つまたは複数のプログラムされたデジタルおよび/または量子コンピュータとの組合せによって実行することができ、また装置はそれらとして実装され得る。
【0130】
1つまたは複数のデジタルおよび/あるいは量子コンピュータのシステムが、特定の動作またはアクションを実行するように「構成される」システムは、システムが、動作中にシステムに動作またはアクションを実行させる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしたことを意味する。特定の動作またはアクションを実行するように構成されるべき1つまたは複数のデジタルおよび/または量子コンピュータプログラムは、1つまたは複数のプログラムが、デジタルおよび/または量子データ処理装置によって実行されると、装置に動作またはアクションを実行させる命令を含むことを意味する。量子コンピュータは、量子コンピューティング装置によって実行されると、装置に動作またはアクションを実行させる命令をデジタルコンピュータから受信してもよい。
【0131】
デジタルおよび/または量子コンピュータプログラムの実行に適したデジタルおよび/または量子コンピュータは、汎用または専用のデジタルおよび/または量子プロセッサあるいはその両方、あるいは任意の他の種類の中央デジタルおよび/または量子処理ユニットに基づくことが可能である。一般に、中央デジタルおよび/または量子処理ユニットは、読出し専用メモリ、ランダムアクセスメモリ、あるいは量子データ、たとえば光子、またはそれらの組合せを伝送するために適した量子システムから、命令ならびにデジタルおよび/または量子データを受信する。
【0132】
デジタルコンピュータおよび/または量子コンピュータの必須要素は、命令を実行または遂行するための中央処理装置と、命令ならびにデジタルおよび/または量子データを記憶するための1つまたは複数のメモリデバイスである。中央処理装置およびメモリは、専用論理回路または量子シミュレータによって補完されることもでき、そこに組み込まれることもできる。一般に、デジタルおよび/または量子コンピュータはまた、たとえば、量子情報を記憶するために適した磁気、光磁気ディスク、光ディスク、または量子システムなどの、デジタルおよび/または量子データを記憶するための1つまたは複数の大容量ストレージデバイスを含むか、そこからデジタルおよび/または量子データを受信するために、あるいはそこにデジタルおよび/または量子データを転送するために、あるいはその両方のために、動作可能に結合される。しかしながら、デジタルおよび/または量子コンピュータは、そのようなデバイスを有する必要はない。
【0133】
デジタルおよび/または量子コンピュータプログラム命令ならびにデジタルおよび/または量子データを記憶するために適したデジタルおよび/または量子コンピュータ可読媒体は、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、たとえば内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、CD-ROMおよびDVD-ROMディスク、ならびにトラップされた原子または電子などの量子システムを含む、不揮発性デジタルおよび/または量子メモリ、媒体ならびにメモリデバイスのすべての形態を含む。量子メモリは、高い忠実度と効率で量子データを長期にわたって記憶できるデバイス、たとえば、光が伝送のために使用される光-物質インターフェース、および重畳または量子コヒーレンスなどの量子データの量子特徴を記憶および保存するための物質であることが理解される。
【0134】
本明細書またはその一部に記載される様々なシステムの制御は、1つまたは複数の非一時的機械可読ストレージ媒体に記憶され、1つまたは複数のデジタルおよび/または量子処理デバイス上で実行可能な命令を含む、デジタルおよび/または量子コンピュータプログラム製品に実装できる。本明細書またはその一部に記載されるシステムは、それぞれ、1つまたは複数のデジタルおよび/または量子処理デバイス、ならびに本明細書に記載される動作を実行するための実行可能命令を記憶するためのメモリを含んでもよい装置、方法、またはシステムとして実装できる。
【0135】
本明細書は多くの具体的な実装形態の詳細を含むが、これらは請求されてもよい範囲を限定するものではなく、特定の実装形態に特有である可能性がある特徴の説明として解釈されるべきである。別個の実装形態の文脈において本明細書に記載される特定の機能は、単一の実装形態における組合せにおいて実装されることが可能である。逆に、単一の実装形態の文脈において説明される様々な機能はまた、複数の実装形態において別々に、または任意の適切なサブコンビネーションにおいて実装されることが可能である。さらに、特徴は、特定の組合せにおいて作用するものとして上述されており、当初はそのように主張されていたとしても、請求された組合せからの1つまたは複数の特徴は、場合によってはその組合せから切り取られることが可能であり、請求された組合せは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0136】
同様に、動作は、特定の順序で図面に示されているが、これは、そのような動作が、所望の結果を達成するために、示された特定の順序または逐次的な順序どおりに、あるいは図示されたすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスキングおよび並列処理が有利な場合がある。さらに、上述の実装形態における様々なシステムモジュールおよび構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、記載されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品に一緒に統合されること、または複数のソフトウェア製品にパッケージ化されることが可能であることが理解されるべきである。
【0137】
主題の特定の実装形態について説明した。他の実装形態は、以下の請求項の範囲内にある。たとえば、特許請求の範囲に列挙されたアクションは、異なる順序で実行され、依然として所望の結果を達成することができる。一例として、添付の図面に示された処理は、所望の結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。場合によっては、マルチタスキングおよび並列処理が有利な場合がある。