(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【課題を解決するための手段】
【0003】
本明細書では、量子システムをシミュレートするための方法とシステムについて説明する。たとえば、本明細書では、平面波双対基底を使用して相互作用する電子の第2の量子化シミュレーションを実行するための方法とシステムについて説明する。
【0004】
一般に、本明細書で説明する主題の革新的な一態様は、量子システムをシミュレートするための方法において実装することができ、本方法は、量子システムを記述する第1のハミルトニアンを取得するステップであって、ハミルトニアンが、N個の平面波基底ベクトルを備える平面波基底において記述されている、ステップと、平面波双対基底において記述された第2のハミルトニアンを生成するために、第1のハミルトニアンに高速フーリエ変換を適用するステップであって、第2のハミルトニアンが、Nで最大二次的にスケーリングする多くの項を備える、ステップと、第2のハミルトニアンを使用して量子システムをシミュレートするステップとを備える。
【0005】
これらの態様の他の実装形態は、それぞれが方法のアクションを実行するように構成された1つまたは複数のコンピュータ記憶装置に記録された対応するコンピュータシステム、装置、およびコンピュータプログラムを含む。1つまたは複数の古典的な、および/または量子コンピュータのシステムは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステムにインストールすることにより、特定の動作またはアクションを実行するように構成することができ、これにより、動作中にシステムにアクションを実行させる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を含めることにより、特定の動作またはアクションを実行するように構成することができる。
【0006】
前述および他の実装形態はそれぞれ、任意で、以下の機能のうちの1つまたは複数を単独または組み合わせて含むことができる。いくつかの実装形態では、第1のハミルトニアンは、平面波基底において対角になる運動エネルギー演算子Tを備える。
【0007】
いくつかの実装形態では、第2のハミルトニアンは、平面波双対基底において対角になるポテンシャルエネルギー演算子と相互作用項を備える。
【0008】
いくつかの実装形態では、量子システムをシミュレートするステップは、第1および第2のハミルトニアンを使用するステップを備える。
【0009】
いくつかの実装形態では、量子システムをシミュレートするステップは、平面波基底において運動エネルギー演算子をシミュレートするステップと、平面波双対基底においてポテンシャルエネルギー演算子をシミュレートするステップとを備える。
【0010】
いくつかの実装形態では、量子システムをシミュレートするステップは、第1または第2のハミルトニアンによって決定される単一時間進化演算子にトロッタ分解を適用するステップを備える。
【0011】
いくつかの実装形態では、トロッタ分解は、
U=e
-iTt/2e
-i(V)te
-iTt/2+O(t
3)
によって与えられ、上式で、Uは単一時間進化演算子を表し、Tは運動演算子を表し、Vはポテンシャルエネルギー演算子と相互作用項を表す。
【0012】
いくつかの実装形態では、第2のハミルトニアンを使用して量子システムをシミュレートするステップは、トロッタ分解に基づいた変分仮説を使用して変分アルゴリズムを実行するステップを備える。
【0013】
いくつかの実装形態では、VおよびTは、平面格子上のO(N)深度において実装され得る。
【0014】
いくつかの実装形態では、量子システムは電子のシステムを備え、第1のハミルトニアンは電子構造ハミルトニアンを備える。
【0015】
いくつかの実装形態では、電子構造ハミルトニアンは、
【0016】
【数1】
【0017】
によって与えられる。
【0018】
いくつかの実装形態では、平面波双対基底における第2のハミルトニアンは、
【0019】
【数2】
【0020】
によって与えられる。
【0021】
いくつかの実装形態では、離散フーリエ変換を第1のハミルトニアンに適用するステップは、フェルミオン量子フーリエ変換を適用するステップを備える。
【0022】
いくつかの実装形態では、平面波基底における電子構造ハミルトニアンにおける演算子と平面波双対基底の第2のハミルトニアンの演算子は、正確に等スペクトルである。
【0023】
いくつかの実装形態では、平面波双対基底は、平面波基底に離散フーリエ変換を適用することによって取得される格子グリッドへの平滑近似を表す関数のセットを備える。
【0024】
本明細書で説明される主題は、以下の利点のうちの1つまたは複数を実現するように特定の方法で実装することができる。
【0025】
量子システム、たとえば電子構造ハミルトニアンをシミュレートするための従来の技法は、通常、計算的にリソースが集中的であるか、または扱いにくい。例として、電子構造問題の量子シミュレーションは、量子コンピューティングの広範囲に研究されたアプリケーションである。電子構造ハミルトニアンをシミュレートするための従来の量子アルゴリズムは、古典的な方法から継承された規則であるN個の核中心分子軌道を使用して波動関数をエンコードする。関連付けられるハミルトニアンはO(N
4)項を有し、Nはハミルトニアンを表すために必要な基底関数の数を表し、これは、短期量子コンピュータでシミュレートすることができる以上のものである。
【0026】
平面波双対基底を使用して量子シミュレーションを実行するためのシステムは、本明細書に記載されるように、平面波双対基底においてハミルトニアンに離散フーリエ変換を適用することによって平面波基底においてハミルトニアンを変換し、平面波双対基底におけるハミルトニアンはO(N
2)項のみを有する。この項の数の削減は、いくつかの技術的な利点を提供し得る。シミュレーションの実行に必要な処理量を減らすことができ、たとえば、平面波双対基底において量子システムをシミュレートするために使用される量子ハードウェアがより簡単になってもよく、および/またはセットアップ時間が短くなり、シミュレーションを実行するための制御動作が少なくなり得る。これは、システムによって消費される電力リソースの削減につながる可能性があり、たとえば、平面波双対基底において量子システムをシミュレートするために使用される量子ハードウェアは、シミュレーションを実行するために必要な電力が少なくなり得る。
【0027】
たとえば、平面波双対基底においてハミルトニアンを使用して量子システムをシミュレートするために変分アルゴリズムを実行する際に必要な測定の数は、平面波基底においてハミルトニアンを使用して量子システムをシミュレートする場合と比較してより少ない場合がある。測定が実行されるたびに、量子システムは初期状態で準備され、動作されなければならない。したがって、測定の数を減らすことによって、量子システムが初期状態で準備され動作する回数が減り、処理、リソース、およびシミュレーション時間が短縮される。
【0028】
別の例として、平面波基底においてハミルトニアンが使用される場合に実装されるものと比較して、平面波双対基底においてハミルトニアンを使用する場合、量子システムをシミュレートするためにより短いトロッタステップを実装することができる。トロッタステップを短くすると、処理リソースがより少なくなり、たとえば、トロッタステップを実装する量子回路がより短くなり、消費電力が削減される。上記の例は両方とも、本明細書で説明されている技法が提供する計算効率とコスト削減を強調している。
【0029】
さらに、ハミルトニアンは、運動エネルギー部分とポテンシャルエネルギー部分(ポテンシャルエネルギー演算子と相互作用項)の2つの部分に分けることができる。ポテンシャルエネルギー部分は、平面波双対基底においてO(N
2)項を有する対角演算子である。運動エネルギー部分は、平面波基底においてO(N
2)項を有する対角演算子である。対角基底では、両方の演算子はパウリZとZZ項の合計として表すことができ、これは、平面格子上のO(N)深度(すなわち、短期量子コンピューティングデバイス)において実装することができる。
【0030】
さらに、量子システムの量子状態を、平面波基底(運動エネルギー演算子が対角である)と平面波双対基底(ポテンシャルエネルギー演算子と相互作用項が対角である)との間で変換することによって、たとえば、フェルミオン量子フーリエ変換演算子を使用して、平面格子上(すなわち、短期量子コンピューティングデバイス上)にO(N)深度を有するトロッタステップをシミュレートすることができる。次いで、基底状態を準備するためのシミュレーション手順を定義するために使用され得るトロッタステップを使用して、変分仮説が構築され得る。
【0031】
本明細書の主題の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。本主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【発明を実施するための形態】
【0033】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0034】
概要
本明細書は、電子構造ハミルトニアンなどの量子システムをシミュレートするための技法について説明する。本技法は、平面波双対基底と呼ばれるモード演算子への量子フーリエ変換の適用によって達成される平面波の単一回転から得られる基底の使用を含む。平面波双対基底は、平面波基底において記述されたハミルトニアンのポテンシャルエネルギー項を対角化して、O(N
2)項を有するハミルトニアンを効率的にシミュレートできるようにする。
【0035】
例示的なハードウェア
図1は、物理システムをシミュレートするための例示的なシステム100を示す図である。例示的なシステム100は、以下で説明するシステム、コンポーネント、および技法を実装することができる、1つまたは複数の場所にある1つまたは複数の古典的なコンピュータまたは量子コンピューティングデバイス上で古典的なまたは量子コンピュータプログラムとして実装されるシステムの例である。
【0036】
システム100は、古典的なプロセッサ104とデータ通信する量子ハードウェア102を含む。
【0037】
システム100は、モデル化またはシミュレートされる物理システムを指定する入力データとして、たとえば入力データ106を受信し得る。たとえば、受信されたデータは、たとえば金属またはポリマなどの材料、あるいは化学物質を表し得る。入力データは、モデル化またはシミュレートされる物理システムを特徴付ける第1のハミルトニアンを表すデータを含み得る。以下でさらに詳しく説明するように、第1のハミルトニアンは平面波基底において記述され得る。
【0038】
システム100は、対象の物理システムのシミュレーションの結果を表す出力データとして、たとえば出力データ108を生成し得る。生成された出力データは、さらなる処理または分析のために提供され得る。たとえば、物理システムが材料、たとえば金属またはポリマである場合、生成された出力データは、材料の特性、たとえば、その導電率を決定するために使用され得る物理システムのシミュレートされた基底状態を表すデータを含み得る。
【0039】
システム100は、量子ハードウェア102および古典的なプロセッサ104を使用して、量子計算と組み合わせて古典的な計算を実行するように構成される。量子ハードウェア102は、量子計算を実行するためのコンポーネントを含み得る。たとえば、量子ハードウェア102は、量子システム110と、量子システム110を制御するための制御装置112とを含み得る。
【0040】
量子システム110は、1つまたは複数のマルチレベル量子サブシステム、たとえば、キュービットまたはキューディットを含み得る。いくつかの実装形態では、マルチレベル量子サブシステムは、超伝導キュービット、たとえばGmonキュービットであり得る。システム100が利用するマルチレベル量子サブシステムのタイプは、対象の物理システムに依存する。たとえば、場合によっては、1つまたは複数の超伝導キュービット、たとえばGmonまたはXmonキュービットに取り付けられた1つまたは複数の共振器を含むことが便利な場合がある。他の場合には、イオントラップ、フォトニックデバイス、または超伝導空洞(キュービットを必要とせずに状態が準備され得る)が使用され得る。マルチレベル量子サブシステムの実現のさらなる例は、フラックスモンキュービット、シリコン量子ドット、またはリン不純物キュービットを含む。場合によっては、マルチレベル量子サブシステムは量子回路の一部であり得る。この場合、量子ハードウェア102は、量子システム110上に量子論理ゲートを実装する1つまたは複数の制御装置112を含み得る。
【0041】
量子ハードウェア102に含まれる制御装置112のタイプは、量子システム110に含まれるキュービットのタイプに依存する。たとえば、場合によっては、制御装置112は、量子システム110に含まれるキュービットの周波数を制御するデバイス、たとえば、励起パルス発生器、およびキュービットを励起パルス発生器に結合する制御線を含み得る。次いで、制御装置112は、各キュービットの周波数を、対応する制御ドライブライン上の励起パルスの量子ゲート周波数に向かって、またはそれから離れるように調整させ得る。制御装置112は、測定デバイス、たとえば読出し共振器をさらに含み得る。測定デバイスを介して得られた測定結果は、処理および分析のために古典的なプロセッサ104に提供され得る。
【0042】
古典的なプロセッサ104は、モデル化またはシミュレートされる物理システムを指定する入力データ106を受信するように構成される。たとえば、古典的なプロセッサは、シミュレートまたはモデル化される物理システムを特徴付ける第1のハミルトニアンを表す入力データを受信してもよく、シミュレートまたはモデル化される物理システムを指定する他のデータを受信してもよく、対応する第1のハミルトニアンを生成する。
【0043】
第1のハミルトニアンは、平面波基底において記述されている。平面波は、波面、すなわち一定位相の表面が無限の平行平面である波である。単色または調和平面波は、振幅の変動が正弦波または余弦波で表されるような単一の周波数を有する波である。平面波は、非局在化周期基底関数のセットを形成する。たとえば、動径座標において、平面波の基底は、
【0045】
によって与えられる複素指数として表され得、k
v=2πv/Ω
1/3であり、
【0047】
であり、上式で、基底の長さスケールは、計算セル体積Ωによってパラメータ化される。
【0048】
平面波は、基礎としていくつかの望ましい特性を有する。たとえば、それらの周期性により、結晶性固体の便利な選択肢となる。別の例として、平面波基底の周期境界条件が十分に大きくなるように定義された計算セル体積を選択することによって、または、切り捨てられたクーロン演算子を使用することによって、分子などの有限システムを表すために平面波を使用することができる。
【0049】
古典的なプロセッサ104は、平面波双対基底において記述された対応する第2のハミルトニアンを表すデータ、たとえばデータ116を生成するために、平面波基底における第1のハミルトニアンを表す受信データを、ハミルトニアン変換モジュール114を使用して処理する。平面波双対基底は、平面波基底に単一離散フーリエ変換を適用することによって取得することができる。平面波基底の単一離散フーリエ変換は、
【0051】
として各次元において個別に計算することができ、上式で、
【0059】
のx成分を表し、v=(v
x,v
y,v
z)およびr=(x,y,z)である。
【0061】
は等比級数の形をとるので、位置r
p=p(Ω/N)
1/3において格子サイトを有するグリッドへの平滑近似に似た平面波双対基底関数φ
p(r)の閉形式表現が得られる。
【0062】
古典的なプロセッサ104は、入力データ106によって指定された物理システムをシミュレートするために、たとえば、物理システムの単一進化をシミュレートするために、第1のハミルトニアンおよびハミルトニアン変換モジュールからの出力の両方を使用し得る。たとえば、古典的なプロセッサ104は、第1のハミルトニアン(運動エネルギー演算子が対角であるハミルトニアン)における運動エネルギー演算子と、第2のハミルトニアンのポテンシャルエネルギー演算子および相互作用項(ポテンシャルエネルギー演算子および相互作用項が対角であるハミルトニアン)の下で、複数のトロッタステップをシミュレートするように構成され得る。
【0063】
あるいは、量子ハードウェア102は、第1のハミルトニアンおよび第2のハミルトニアンを使用して、入力データ106によって指定された物理システムの進化をシミュレートするように構成され得る。たとえば、古典的なプロセッサ104は、量子ハードウェア102に、平面波基底における運動エネルギー演算子と、平面波双対基底におけるポテンシャルエネルギー演算子および相互作用項とを表すデータ、たとえばデータ118を提供するように構成され得る。
【0064】
量子ハードウェア102は、量子システム110の状態で、第1のハミルトニアンと第2のハミルトニアンに依存する単一演算子を実行する量子回路を適用することによって、第1のハミルトニアンにおける運動エネルギー演算子(運動エネルギー演算子が対角であるハミルトニアン)および第2のハミルトニアンのポテンシャルエネルギー演算子および相互作用項(ポテンシャルエネルギー演算子と相互作用項が対角であるハミルトニアン)の下で複数のトロッタステップを実装するために、受信データを使用するように構成され得る。
【0065】
ハードウェアのプログラミング
図2は、量子システムをシミュレートするための例示的なプロセス200の流れ図である。便宜上、プロセス200は、1つまたは複数の場所にある1つまたは複数の古典的または量子コンピューティングデバイスのシステムによって実行されるものとして説明される。たとえば、量子計算システム、本明細書に従って適切にプログラムされたたとえば、
図1のシステム100は、プロセス200を実行することができる。
【0066】
本システムは、シミュレートされるべき量子システムを記述する第1のハミルトニアンを取得する。たとえば、第1のハミルトニアンは、材料、たとえばポリマ飛行機の翼またはロケット、太陽電池、バッテリ、触媒変換器または薄膜電子機器を記述するハミルトニアン、あるいは化学物質を記述するハミルトニアンであり得る。第1のハミルトニアンは、
図1を参照して上記でより詳細に説明したように、N個の平面波基底ベクトルを含む平面波基底において記述されている。
【0067】
第1のハミルトニアンは、運動エネルギー演算子T、相互作用項V、およびポテンシャルエネルギー演算子Uの3つの用語を含み得る。運動エネルギー演算子Tは、平面波基底における対角の1体演算子である。相互作用項Vは、平面波基底において対角にならない可能性がある2体演算子である。ポテンシャルエネルギー演算子Uは、平面波基底において対角にならない可能性がある1体演算子である。
【0068】
いくつかの実装形態では、電子のシステムをシミュレートするためにプロセス200が使用され得る。これらの実装形態では、第1のハミルトニアンは、
H=T+U+V
によって与えられる電子構造ハミルトニアンを含み得、
【0070】
であり、上式で、平面波基底は、体積Ωの計算セルにおける周期的境界条件に従って定義され、
【0072】
、C
pは、
フェルミオン消滅および創造演算子を表し、σ∈{1,-1}はスピンの自由度を表し、R
jは原子核の座標を表し、ζ
jは原子核の電荷を表し、vが[-N
1/3,N
1/3]の要素を持つ整数の3次元ベクトルを表すように、演算子は周波数k
v=2πv
/Ω
1/3の平面波のサポートに切り捨てられており、Nはシステムサイズを表す。式(1)の合計表記では、最大運動量を法として運動量の加算が実行される。
【0073】
本システムは、平面波双対基底において第2のハミルトニアンを生成するために、平面波基底の第1のハミルトニアンに単一離散フーリエ変換、たとえばフェルミオン量子フーリエ変換を適用する(ステップ204)。平面波双対基底、および平面波基底とのその関係は、
図1を参照して上記でより詳細に説明されている。
【0074】
第2のハミルトニアンまたは、運動エネルギー演算子T'、相互作用項V'、およびポテンシャルエネルギー演算子U'の3つの用語を含み得る。運動エネルギー演算子T'は、平面波双対基底において対角にならない可能性がある。ポテンシャルエネルギー演算子U'は、平面波双対基底における対角の1体演算子である。相互作用項V'は、平面波双対基底における対角の2体演算子である。電子のシステムをシミュレートするためにプロセス200が使用され、第1のハミルトニアンがステップ202を参照して前述した電子構造ハミルトニアンによって与えられる場合、平面波双対基底における第2のハミルトニアンが
H'=T'+U'+V'
によって与えられ得、
【0078】
であり、上式で、Ωは計算セル体積を表し、
【0085】
を介して定義されるフェルミオン消滅および創造演算子を表し、σ∈{1,-1}はスピンの自由度を表し、R
jは原子核の座標を表し、ζ
jは原子核の電荷を表し、vが[-N
1/3,N
1/3]の要素を持つ整数の3次元ベクトルを表すように、演算子は周波数k
v=2πv
/Ω
1/3の平面波のサポートに切り捨てられており、Nはシステムサイズを表し、
【0087】
は格子サイトの位置を表す(
図1を参照)。
【0088】
平面波双対基底では、第2のハミルトニアンはO(N
2)項を含む。離散フーリエ変換の単一性により、式(1)および(2)の演算子は正確に等スペクトルになり、他の表現の代わりに一方の表現を使用することに関連付けられる精度の損失はない。したがって、平面波双対基底は、O(N
2)項のみを含む平面波基底のすべての利点を提供するため、シミュレーションの効率が向上する。
【0089】
本システムは、第2のハミルトニアンを使用して量子システムをシミュレートする(ステップ206)。量子システムをシミュレートすることは、式(1)で説明した第1のハミルトニアンと式(2)で説明した第2のハミルトニアンの両方を使用することを含み得る。たとえば、量子システムをシミュレートすることは、平面波基底(運動エネルギー演算子が対角になる基底)において運動エネルギー演算子をシミュレートすることと、平面波双対基底(ポテンシャルエネルギー演算子と相互作用項が対角になる基底)においてポテンシャルエネルギー演算子と相互作用項とをシミュレートすることとを含み得る。
【0090】
量子システムをシミュレートするステップは、第1または第2のハミルトニアンによって決定される単一時間進化演算子にトロッタ分解を適用するステップを含み得る。たとえば、トロッタ分解は、
U=e
-iTt/2e
-iVte
-iTt/2+O(t
3)
によって与えられ得、上式で、Uは単一時間進化演算子を表し、Tは運動エネルギー演算子を表し、Vはポテンシャルエネルギー項(ポテンシャルエネルギー演算子および相互作用項)を表す。いくつかの実装形態では、第2のハミルトニアンを使用して量子システムをシミュレートするステップは、トロッタ分解に基づいた変分仮説を使用して変分アルゴリズムを実行するステップを含み得る。
【0091】
場合によっては、量子システムをシミュレートする前に、たとえばヨルダン-ウィグナー変換を使用して、平面波基底における第1のハミルトニアンと平面波双対基底における第2のハミルトニアンをキュービットハミルトニアンにマップすると有益な場合がある。キュービットハミルトニアンにおいて、運動エネルギー演算子とポテンシャルエネルギー項は、効率的な量子回路が存在するパウリZとZZ演算子で表され得る。
【0092】
システムによって実行されたシミュレーションの結果は、分析および後処理のために提供することができる。たとえば、場合によっては、第1のハミルトニアンは、半導体の電子構造を特徴付ける電子構造ハミルトニアンであり得る。これらの場合、量子システムをシミュレートすることは、半導体の特性をシミュレートすること、たとえば、半導体の導電率または抵抗をシミュレートすることを含み得る。そのようなシミュレーション結果は、半導体デバイス、たとえば、集積回路を製造するために使用され得る。
【0093】
別の例として、場合によっては、第1のハミルトニアンは、触媒を特徴付ける電子構造ハミルトニアンであり得る。これらの場合、量子システムをシミュレートすることは、触媒の特性をシミュレートすること、たとえば、触媒活性をシミュレートすることを含み得る。触媒、たとえば、電気触媒または生体触媒を製造するために、そのようなシミュレーション結果が使用され得る。
【0094】
いくつかの実装形態では、本システムは、追加の動作を実行するために、平面波基底における取得した第1のハミルトニアンと、平面波双対基底における生成された第2のハミルトニアンを使用し得る。たとえば、本システムは、基底状態が非局在化電子軌道の平均場状態によって近似されている興味深い物理システムのクラスの初期状態の量子システムを効率的に準備してもよく、異なるハミルトニアンを使用して高速フーリエ変換に関連する効率的な量子回路を使用して、量子システムを平面波双対基底(ポテンシャルエネルギー演算子と相互作用項が対角である)から平面波基底(運動演算子が対角である)に回転させることによって、量子測定をさらに効率的に実行してもよい。
【0095】
本明細書に記載されている、デジタルおよび/または量子主題、ならびにデジタル機能演算および量子演算の実装形態は、デジタル電子回路、適切な量子回路、または、より一般的には、量子計算システム、本明細書に開示された構造およびそれらの構造上の同等物を含む具体的に具現化されたデジタルおよび/または量子コンピュータソフトウェアまたはファームウェア、デジタルおよび/または量子コンピュータハードウェア、あるいはそれら1つまたは複数の組合せにおいて実装することができる。「量子計算システム」という用語は、量子コンピュータ、量子情報処理システム、量子暗号システム、または量子シミュレータを含み得るが、これらに限定されない。
【0096】
本明細書で説明するデジタルおよび/または量子主題の実装形態は、1つまたは複数のデジタルおよび/または量子コンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、有形の非一時的ストレージ媒体上でエンコードされたデジタルおよび/または量子コンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。デジタルおよび/または量子コンピュータストレージ媒体は、機械可読記憶装置、機械可読ストレージ基板、ランダムまたはシリアルアクセスメモリデバイス、1つまたは複数のキュービット、あるいはそれらの1つまたは複数の組合せであり得る。代替的または追加的に、プログラム命令は、デジタルおよび/または量子情報をエンコードすることができる人工的に生成された伝播信号、たとえば、デデータ処理装置による実行のための適切な受信装置への送信のためのジタルおよび/または量子情報をエンコードするために生成される機械生成電気信号、光信号、または電磁信号でエンコードすることができる。
【0097】
量子情報および量子データという用語は、量子システムにおいて運ばれ、保持され、または記憶される情報またはデータを指し、最小の最も重要なシステムはキュービット、すなわち量子情報の単位を定義するシステムである。「キュービット」という用語は、対応する文脈において2レベルシステムとして適切に近似され得るすべての量子システムを包含することが理解される。そのような量子システムは、たとえば、2つ以上のレベルを備えたマルチレベルシステムを含み得る。例として、そのようなシステムは、原子、電子、光子、イオン、または超伝導キュービットを含むことができる。多くの実装形態では、計算基底状態は基底および第1の励起状態で識別されるが、計算状態がより高いレベルの励起状態で識別される他の設定が可能であることが理解される。
【0098】
「データ処理装置」という用語は、デジタルおよび/または量子データ処理ハードウェアを指し、例として、プログラム可能なデジタルプロセッサ、プログラム可能な量子プロセッサ、デジタルコンピュータ、量子コンピュータ、複数のデジタルおよび量子プロセッサまたはコンピュータ、およびそれらの組合せを含む、デジタルおよび/または量子データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置はまた、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、または量子シミュレータ、すなわち、特定の量子システムに関する情報をシミュレートまたは生成するように設計された量子データ処理装置であってもよく、またはさらに含むことができる。具体的には、量子シミュレータは、汎用的な量子計算を実行するための機能を持たない専用量子コンピュータである。装置は、任意で、ハードウェアに加えて、デジタルおよび/または量子コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組合せを構成するコードを含むことができる。
【0099】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれる、または説明されるデジタルコンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語、あるいは宣言型言語または手続き型言語を含む、あらゆる形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、またはデジタルコンピューティング環境における使用に適した他のユニットとして、を含む、あらゆる形式で展開することができる。プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれる、または説明される量子コンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語、あるいは宣言型言語または手続き型言語を含む、あらゆる形式のプログラミング言語で記述することができ、適切な量子プログラミング言語に変換することができ、あるいは量子プログラミング言語、たとえば、QCLまたはQuipperで記述することができる。
【0100】
デジタルおよび/または量子コンピュータプログラムは、ファイルシステム内のファイルに対応する場合があるが、必ずしもそうである必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、たとえば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプト、問題のプログラム専用の単一ファイル、または複数の調整されたファイル、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイルに記憶することができる。デジタルおよび/または量子コンピュータプログラムは、1つのデジタルコンピュータまたは1つの量子コンピュータ、あるいは1つのサイトにあるか、複数のサイトに分散し、デジタルおよび/または量子データ通信ネットワークによって相互接続された複数のデジタルおよび/または量子コンピュータで実行されるように展開することができる。量子データ通信ネットワークは、量子システム、たとえば、キュービットを使用して量子データを送信し得るネットワークであると理解されている。一般に、デジタルデータ通信ネットワークは量子データを送信することができないが、量子データ通信ネットワークは量子データとデジタルデータの両方を送信し得る。
【0101】
本明細書で説明するプロセスと論理フローは、1つまたは複数のプログラム可能なデジタルおよび/または量子コンピュータによって実行することができ、必要に応じて1つまたは複数のデジタルおよび/または量子プロセッサで動作し、入力デジタルおよび量子データを動作して出力を生成することによって機能を実行するために、1つまたは複数のデジタルおよび/または量子コンピュータプログラムを実行する。プロセスおよび論理フローはまた、たとえば、FPGAまたはASICなどの専用論理回路、あるいは量子シミュレータによって、あるいは専用論理回路または量子シミュレータと1つまたは複数のプログラムされたデジタルおよび/または量子コンピュータとの組合せによって実行することができ、装置はそれらとして実装することができる。
【0102】
特定の動作またはアクションを実行するように「構成」されるべき1つまたは複数のデジタルおよび/または量子コンピュータのシステムは、システムが、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしており、これにより、動作中にシステムに動作またはアクションを実行させることを意味する。特定の動作またはアクションを実行するように構成されるべき1つまたは複数のデジタルおよび/または量子コンピュータプログラムは、1つまたは複数のプログラムが、デジタルおよび/または量子データ処理装置によって実行されると、装置に動作またはアクションを実行させる命令を含むことを意味する。量子コンピュータは、量子コンピューティング装置によって実行されると、装置に動作またはアクションを実行させる命令をデジタルコンピュータから受信し得る。
【0103】
デジタルおよび/または量子コンピュータプログラムの実行に適したデジタルおよび/または量子コンピュータは、汎用または専用のデジタルおよび/または量子プロセッサ、あるいはその両方、または任意の他の種類の中央デジタルおよび/または量子処理ユニットに基づくことができる。一般的に、中央デジタルおよび/または量子処理ユニットは、読取り専用メモリ、ランダムアクセスメモリ、または量子データ、たとえば、光子を送信するのに適した量子システム、あるいはそれらの組合せから命令ならびにデジタルおよび/または量子データを受信する。
【0104】
デジタルおよび/または量子コンピュータの必須要素は、命令を実行または実施するための中央処理装置と、命令ならびにデジタルおよび/または量子データを記憶するための1つまたは複数のメモリデバイスである。中央処理装置とメモリは、専用論理回路または量子シミュレータによって補完することもでき、それらに組み込むこともできる。一般に、デジタルおよび/または量子コンピュータはまた、デジタルおよび/または量子データを記憶するための1つまたは複数の大容量記憶装置、たとえば、磁気、光磁気ディスク、光ディスク、または量子情報を記憶するために適した量子システムも含むか、そこからデジタルおよび/または量子データを受信する、あるいはそこにデジタルおよび/または量子データを転送する、またはその両方のために動作可能に結合される。しかしながら、デジタルおよび/または量子コンピュータは、そのようなデバイスを有する必要はない。
【0105】
デジタルおよび/または量子コンピュータプログラム命令、ならびにデジタルおよび/または量子データを記憶するために適したデジタルおよび/または量子コンピュータ可読媒体は、あらゆる形態の不揮発性デジタルおよび/または量子メモリ、例として、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイスを含む媒体およびメモリデバイス、たとえば内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、CD-ROMおよびDVD-ROMディスク、ならびに、たとえばトラップされた原子または電子などの量子システムを含む。量子メモリは、たとえば、光が透過に使用される光物質インターフェース、および重合せまたは量子コヒーレンスなどの量子データの量子特徴を記憶および保存する物質などの、高い忠実度と効率で長時間にわたって量子データを記憶できるデバイスであると理解されている。
【0106】
本明細書で説明されている様々なシステムまたはその一部の制御は、1つまたは複数の非一時的な機械可読記憶媒体に記憶されており、1つまたは複数のデジタルおよび/または量子処理デバイス上で実行可能な命令を含むデジタルおよび/または量子コンピュータプログラム製品において実装することができる。本明細書で説明するシステムまたはその一部は、それぞれ、本明細書で説明する動作を実行するための実行可能な命令を記憶するための1つまたは複数のデジタルおよび/または量子処理デバイスならびにメモリを含み得る装置、方法、またはシステムとして実装することができる。
【0107】
本明細書は多くの具体的な実装形態の詳細を含むが、これらは主張され得る範囲の制限としてではなく、特定の実装形態に固有の機能の説明として解釈されるべきである。個別の実装形態の文脈において本明細書で説明されている特定の機能は、単一の実装形態において組み合わせて実装することもできる。逆に、単一の実装形態の文脈において説明されている様々な機能は、複数の実装形態において個別に、または適切なサブコンビネーションにおいて実装することもできる。さらに、機能は特定の組合せで動作するものとして上記で説明され、最初はそのように主張されているが、主張された組合せからの1つまたは複数の特徴は、場合によっては組合せから削除され、主張された組合せは、サブコンビネーション、またはサブコンビネーションのバリエーションに向けられ得る。
【0108】
同様に、動作は図面において特定の順序で描かれているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序または順番で実行されること、またはすべての説明された動作が実行されることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクと並列処理が有利な場合がある。さらに、上記の実装形態における様々なシステムモジュールとコンポーネントの分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されているプログラムのコンポーネントとシステムは、通常、単一のソフトウェア製品に統合したり、複数のソフトウェア製品にパッケージ化したりできることが理解されるべきである。
【0109】
主題の特定の実装形態について説明した。他の実装形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲に記載されているアクションは、異なる順序で実行することができ、依然として望ましい結果を達成することができる。一例として、添付の図面に描かれたプロセスは、望ましい結果を達成するために、示された特定の順序または順番を必ずしも必要としない。場合によっては、マルチタスクと並列処理が有利な場合がある。