IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2024-531554勾配ベースの量子支援型ハミルトニアン学習
<>
  • 特表-勾配ベースの量子支援型ハミルトニアン学習 図1
  • 特表-勾配ベースの量子支援型ハミルトニアン学習 図2
  • 特表-勾配ベースの量子支援型ハミルトニアン学習 図3
  • 特表-勾配ベースの量子支援型ハミルトニアン学習 図4
  • 特表-勾配ベースの量子支援型ハミルトニアン学習 図5
  • 特表-勾配ベースの量子支援型ハミルトニアン学習 図6
  • 特表-勾配ベースの量子支援型ハミルトニアン学習 図7
  • 特表-勾配ベースの量子支援型ハミルトニアン学習 図8
  • 特表-勾配ベースの量子支援型ハミルトニアン学習 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-29
(54)【発明の名称】勾配ベースの量子支援型ハミルトニアン学習
(51)【国際特許分類】
   G06N 10/60 20220101AFI20240822BHJP
【FI】
G06N10/60
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024514056
(86)(22)【出願日】2022-09-02
(85)【翻訳文提出日】2024-04-18
(86)【国際出願番号】 US2022042505
(87)【国際公開番号】W WO2023034594
(87)【国際公開日】2023-03-09
(31)【優先権主張番号】63/240,787
(32)【優先日】2021-09-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】トーマス・ユージーン・オブライエン
(72)【発明者】
【氏名】ヴァディム・スメリャンスキー
(72)【発明者】
【氏名】レヴ・イオフ
(72)【発明者】
【氏名】ユアン・ス
(72)【発明者】
【氏名】ライアン・バブシュ
(57)【要約】
勾配ベースの量子支援型ハミルトニアン学習のための方法、システム、および装置。一態様では、方法は、複数の実験的データポイントを古典プロセッサによって取得するステップであって、各実験的データポイントが、未知の値を有するパラメータを備えるハミルトニアンに従って生成される、ステップと、コスト関数を最小化するためのパラメータの推定値を、古典プロセッサによって、および所定の完了基準が満たされるまで、反復的に調整するステップを備える、パラメータの値を古典プロセッサによって学習するステップとを含み、コスト関数は複数の実験的データポイントに依存し、各イタレーションにおいて、以前のイタレーション用のパラメータのそれぞれの推定値に対するコスト関数の導関数は、量子コンピュータを使用して算出される。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
複数の実験的データポイントを古典プロセッサによって取得するステップであって、各実験的データポイントが、未知の値を有するパラメータを備えるハミルトニアンに従って生成される、ステップと、
コスト関数を最小化するための前記パラメータの推定値を、前記古典プロセッサによって、および所定の完了基準が満たされるまで、反復的に調整するステップを備える、前記パラメータの値を前記古典プロセッサによって学習するステップとを備え、前記コスト関数が前記複数の実験的データポイントに依存し、各イタレーションにおいて、以前のイタレーション用の前記パラメータのそれぞれの推定値に対する前記コスト関数の導関数が、量子コンピュータを使用して算出される、
コンピュータ実装方法。
【請求項2】
前記実験的データポイントが、量子系において実行されたそれぞれの実験に対応し、前記実験が、古典を超える実験を備える、請求項1に記載の方法。
【請求項3】
前記古典プロセッサが、古典的な接続を通じて分光計から前記実験的データポイントを取得する、請求項1に記載の方法。
【請求項4】
前記量子コンピュータが、雑音あり中規模量子コンピューティングデバイスを備える、請求項1から3のいずれか一項に記載の方法。
【請求項5】
量子コンピュータを使用して前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の導関数を算出するステップが、前記ハミルトニアンによって生成されるユニタリ時間発展をシミュレートするために前記量子コンピュータを使用するステップを備え、前記ユニタリ時間発展が、前記ハミルトニアンの中に含まれるエルミート演算子を備える摂動を用いてインターリーブされる、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記導関数が勾配を備え、前記コスト関数の各勾配が複数の積分を備え、各積分がそれぞれの被積分関数を備え、各被積分関数が、ii)前記複数の実験的データポイントを生成するために使用される量子系の摂動状態が与えられた、i)前記複数の実験的データポイントを生成するために使用される可観測量の期待値を備え、前記状態が、前記ハミルトニアンの中に含まれるエルミート演算子を使用して摂動させられる、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の導関数を算出するために量子コンピュータを使用するステップが、
前記複数の積分の各被積分関数の計算を要求するデータを前記古典プロセッサから前記量子コンピュータへ送るステップと、
前記複数の積分の各被積分関数の前記計算の結果を表すデータを前記古典プロセッサによって前記量子コンピュータから受信するステップと
を備える、請求項6に記載の方法。
【請求項8】
前記複数の積分の各被積分関数の前記計算の結果を表す前記データの総和を通じて前記複数の積分を前記古典プロセッサによって算出するステップと、
前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の1次導関数を算出するために、前記算出された複数の積分を使用して乗算演算および加算演算を前記古典プロセッサによって実行するステップと
をさらに備える、請求項7に記載の方法。
【請求項9】
所定の反復数に対して繰り返して、
初期量子状態におけるキュビットのレジスタを前記量子コンピュータによって準備するステップであって、前記初期量子状態が、計算基底において混合対角状態を備える、ステップ、
発展量子状態を取得するために前記初期量子状態に量子回路を前記量子コンピュータによって適用するステップであって、前記量子回路が、制御される摂動を用いてインターリーブされたユニタリ時間発展演算子を備え、前記ユニタリ時間発展演算子が、前記ハミルトニアンによって生成されるユニタリ時間発展をシミュレートし、前記制御される摂動が、前記ハミルトニアンの中に含まれるエルミート演算子を備える、ステップ、および
前記発展量子状態の可観測量を測定するステップであって、前記可観測量が、前記複数の実験的データポイントを生成するために使用される前記可観測量を備える、ステップと、
前記測定された可観測量の期待値を算出するステップと
をさらに備える、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記量子コンピュータが、フォールトトレラント量子コンピューティングデバイスを備える、請求項1から3のいずれか一項に記載の方法。
【請求項11】
量子コンピュータを使用して前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の導関数を算出するステップが、前記コスト関数の前記導関数を計算するためにブロック符号化を使用するステップを備える、請求項1から3、10のいずれか一項に記載の方法。
【請求項12】
前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の導関数を算出するために量子コンピュータを使用するステップが、
前記コスト関数の前記導関数の計算を要求するデータを前記古典プロセッサから前記量子コンピュータへ送るステップと、
前記コスト関数の前記導関数の前記計算の結果を表すデータを前記古典プロセッサによって前記量子コンピュータから受信するステップと
を備える、請求項11に記載の方法。
【請求項13】
初期状態におけるキュビットの制御レジスタを前記量子コンピュータによって初期化するステップと、
前記制御レジスタの制御状態を取得するために前記初期状態に準備ユニタリ演算子を前記量子コンピュータによって適用するステップと、
前記制御レジスタの発展状態を取得するために前記制御状態に選択ユニタリ演算子を前記量子コンピュータによって適用するステップであって、前記選択ユニタリ演算子が、前記制御レジスタの前記制御状態に基づいて実施すべきユニタリ演算子を選択する、ステップと、
前記制御レジスタの前記発展状態を測定するステップと
をさらに備える、請求項1から3、10から12のいずれか一項に記載の方法。
【請求項14】
各実験的データポイントが、量子系において実行されたそれぞれの実験に対応し、前記それぞれの実験を実行するステップが、
初期状態における前記量子系を準備するステップと、
発展状態を生成するために前記初期状態に時間発展演算子を適用するステップであって、前記時間発展演算子が、前記ハミルトニアンおよび外部時間依存駆動場によって生成される、ステップと、
前記発展状態の可観測量を測定するステップと
を備える、請求項1から13のいずれか一項に記載の方法。
【請求項15】
実験的データポイントの個数が、未知の値を有するパラメータの個数以上である、請求項1から14のいずれか一項に記載の方法。
【請求項16】
前記ハミルトニアンが項の線形結合を備え、各項がそれぞれのパラメータおよびそれぞれのエルミート演算子を備える、請求項1から15のいずれか一項に記載の方法。
【請求項17】
前記コスト関数が、第1の項および第2の項を備え、
前記第1の項が、前記パラメータの推定値と前記パラメータの事前確率との間の2乗差分和を備え、
前記第2の項が、前記パラメータの推定値を使用して推定される実験的データポイントと前記取得された実験的データポイントとの間の2乗差分和を備える、
請求項1から16のいずれか一項に記載の方法。
【請求項18】
前記導関数が2次導関数を備え、前記コスト関数の各2次導関数が複数の積分を備え、各積分が被積分関数を備え、前記被積分関数が、
ii)前記複数の実験的データポイントを生成するために使用される量子系の摂動状態が与えられた、i)前記複数の実験的データポイントを生成するために使用される可観測量の期待値であって、前記状態が、前記ハミルトニアンの中に含まれるエルミート演算子を使用して摂動させられる、期待値、または
ii)前記複数の実験的データポイントを生成するために使用される量子系の摂動状態との、前記ハミルトニアンの中に含まれる第1のエルミート演算子の交換子が与えられた、i)前記複数の実験的データポイントを生成するために使用される可観測量の期待値であって、前記状態が、前記ハミルトニアンの中に含まれる第2のエルミート演算子を使用して摂動させられる、期待値
を備える、請求項1から17のいずれか一項に記載の方法。
【請求項19】
前記導関数が2次導関数を備え、前記コスト関数の値が大域的最小点から所定の距離内にあるとき、前記コスト関数の前記2次導関数が積分の積の総和を備え、各積分が被積分関数を備え、前記被積分関数が、ii)前記複数の実験的データポイントを生成するために使用される量子系の摂動状態が与えられた、i)前記複数の実験的データポイントを生成するために使用される可観測量の期待値を備え、前記状態が、前記ハミルトニアンの中に含まれるエルミート演算子を使用して摂動させられる、請求項1から18のいずれか一項に記載の方法。
【請求項20】
量子コンピュータとデータ通信している1つまたは複数の古典プロセッサを備えるシステムであって、請求項1から19のいずれか一項に記載の方法による動作を実行するように構成される、システム。
【請求項21】
量子コンピュータとデータ通信している1つまたは複数の古典プロセッサを備えるシステムによって実行されたとき、前記システムに請求項1から19のいずれか一項に記載の方法による動作を実行させるコンピュータ可読命令を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【0001】
ハミルトニアン学習は、システムハミルトニアンが与えられた、実験的な成果を予測することに対する逆問題である。ハミルトニアン学習は、デバイス特徴づけのために、または未知の量子系の構造を学習するために、使用され得る。十分に小型のデバイスは、ベイジアン、最大尤度、または機械学習方法を使用する、実験的データの古典的な後処理を介して特徴づけられ得る。順問題が古典を超えるようになるときはいつでも、大型のシステムにおいて正確な方法は不可能である。十分な制御が与えられると、実験は、力学的な減結合パルスを介して小型のサブシステムを狙いとする実験を実行することによって、古典を超えるようになることを妨げられる場合がある。十分な制御が与えられると、このことは、その環境からサブシステムを力学的に減結合させるためにパルスを印加することによって達成され得る。古典的に近似することがもっと容易である、熱または長時間の平均状態の期待値からハミルトニアンを学習することも可能である。しかしながら、どちらの技法も可能でないとき、古典を超える潜在的な量子コンピューティング適用例を与える、ハミルトニアン学習問題は古典的に困難になる。
【発明の概要】
【課題を解決するための手段】
【0002】
本明細書は、勾配ベースの量子支援型ハミルトニアン学習のためのシステム、方法、デバイス、および他の技法を説明する。
【0003】
概して、本明細書で説明する主題の1つの発明的態様は、複数の実験的データポイントを古典プロセッサによって取得するステップであって、各実験的データポイントが、未知の値を有するパラメータを備えるハミルトニアンに従って生成される、ステップと、コスト関数を最小化するためのパラメータの推定値を、古典プロセッサによって、および所定の完了基準が満たされるまで、反復的に調整するステップを備える、パラメータの値を古典プロセッサによって学習するステップとを含む方法において実施されることが可能であり、コスト関数は複数の実験的データポイントに依存し、各イタレーションにおいて、以前のイタレーション用のパラメータのそれぞれの推定値に対するコスト関数の導関数は、量子コンピュータを使用して算出される。
【0004】
この態様の他の実装形態は、対応する古典的な、量子または古典量子コンピュータシステム、装置、および方法のアクションを実行するように各々が構成された、1つまたは複数のコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つまたは複数の古典コンピュータおよび量子コンピュータのシステムは、動作においてシステムにアクションを実行させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有することによって、特定の動作またはアクションを実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されたとき、装置にアクションを実行させる命令を含むことによって、特定の動作またはアクションを実行するように構成され得る。
【0005】
上記および他の実装形態は各々、単独または組合せで以下の特徴のうちの1つまたは複数を随意に含むことができる。いくつかの実装形態では、実験的データポイントは、量子系において実行されたそれぞれの実験に対応し、実験は、古典を超える実験を備える。
【0006】
いくつかの実装形態では、古典プロセッサは、古典的な接続を通じて分光計から実験的データポイントを取得する。
【0007】
いくつかの実装形態では、量子コンピュータは、雑音あり中規模量子コンピューティングデバイスを備える。
【0008】
いくつかの実装形態では、量子コンピュータを使用して以前のイタレーション用のパラメータの推定値に対するコスト関数の導関数を算出するステップは、ハミルトニアンによって生成されるユニタリ時間発展をシミュレートするために量子コンピュータを使用するステップを備え、ユニタリ時間発展は、ハミルトニアンの中に含まれるエルミート演算子を備える摂動を用いてインターリーブされる。
【0009】
いくつかの実装形態では、導関数は勾配を備え、コスト関数の各勾配は複数の積分を備え、各積分はそれぞれの被積分関数を備え、各被積分関数は、ii)複数の実験的データポイントを生成するために使用される量子系の摂動状態が与えられた、i)複数の実験的データポイントを生成するために使用される可観測量の期待値を備え、状態は、ハミルトニアンの中に含まれるエルミート演算子を使用して摂動させられる。
【0010】
いくつかの実装形態では、以前のイタレーション用のパラメータの推定値に対するコスト関数の導関数を算出するために量子コンピュータを使用するステップは、複数の積分の各被積分関数の計算を要求するデータを古典プロセッサから量子コンピュータへ送るステップと、複数の積分の各被積分関数の計算の結果を表すデータを古典プロセッサによって量子コンピュータから受信するステップとを備える。
【0011】
いくつかの実装形態では、方法は、複数の積分の各被積分関数の計算の結果を表すデータの総和を通じて複数の積分を古典プロセッサによって算出するステップと、以前のイタレーション用のパラメータの推定値に対するコスト関数の1次導関数を算出するために、算出された複数の積分を使用して乗算演算および加算演算を古典プロセッサによって実行するステップとをさらに備える。
【0012】
いくつかの実装形態では、方法は、所定の反復数に対して繰り返して、初期量子状態におけるキュビットのレジスタを量子コンピュータによって準備するステップであって、初期量子状態が、計算基底において混合対角状態を備える、ステップ、発展量子状態を取得するために初期量子状態に量子回路を量子コンピュータによって適用するステップであって、量子回路が、制御される摂動を用いてインターリーブされたユニタリ時間発展演算子を備え、ユニタリ時間発展演算子が、ハミルトニアンによって生成されるユニタリ時間発展をシミュレートし、制御される摂動が、ハミルトニアンの中に含まれるエルミート演算子を備える、ステップ、および発展量子状態の可観測量を測定するステップであって、可観測量が、複数の実験的データポイントを生成するために使用される可観測量を備える、ステップと、測定された可観測量の期待値を算出するステップとをさらに備える。
【0013】
いくつかの実装形態では、量子コンピュータは、フォールトトレラント量子コンピューティングデバイスを備える。
【0014】
いくつかの実装形態では、量子コンピュータを使用して以前のイタレーション用のパラメータの推定値に対するコスト関数の導関数を算出するステップは、コスト関数の導関数を計算するためにブロック符号化を使用するステップを備える。
【0015】
いくつかの実装形態では、以前のイタレーション用のパラメータの推定値に対するコスト関数の導関数を算出するために量子コンピュータを使用するステップは、コスト関数の導関数の計算を要求するデータを古典プロセッサから量子コンピュータへ送るステップと、コスト関数の導関数の計算の結果を表すデータを古典プロセッサによって量子コンピュータから受信するステップとを備える。
【0016】
いくつかの実装形態では、方法は、初期状態におけるキュビットの制御レジスタを量子コンピュータによって初期化するステップと、制御レジスタの制御状態を取得するために初期状態に準備ユニタリ演算子を量子コンピュータによって適用するステップと、制御レジスタの発展状態を取得するために制御状態に選択ユニタリ演算子を量子コンピュータによって適用するステップであって、選択ユニタリ演算子が、制御レジスタの制御状態に基づいて実施すべきユニタリ演算子を選択する、ステップと、制御レジスタの発展状態を測定するステップとをさらに備える。
【0017】
いくつかの実装形態では、各実験的データポイントは、量子系において実行されたそれぞれの実験に対応し、それぞれの実験を実行するステップは、初期状態における量子系を準備するステップと、発展状態を生成するために初期状態に時間発展演算子を適用するステップであって、時間発展演算子が、ハミルトニアンおよび外部時間依存駆動場によって生成される、ステップと、発展状態の可観測量を測定するステップとを備える。
【0018】
いくつかの実装形態では、実験的データポイントの個数は、未知の値を有するパラメータの個数以上である。
【0019】
いくつかの実装形態では、ハミルトニアンは項の線形結合を備え、各項はそれぞれのパラメータおよびそれぞれのエルミート演算子を備える。
【0020】
いくつかの実装形態では、コスト関数は、第1の項および第2の項を備え、第1の項は、パラメータの推定値とパラメータの事前確率との間の2乗差分和を備え、第2の項は、パラメータの推定値を使用して推定される実験的データポイントと取得された実験的データポイントとの間の2乗差分和を備える。
【0021】
いくつかの実装形態では、導関数は2次導関数を備え、コスト関数の各2次導関数は複数の積分を備え、各積分は被積分関数を備え、被積分関数は、ii)複数の実験的データポイントを生成するために使用される量子系の摂動状態が与えられた、i)複数の実験的データポイントを生成するために使用される可観測量の期待値であって、状態が、ハミルトニアンの中に含まれるエルミート演算子を使用して摂動させられる、期待値、またはii)複数の実験的データポイントを生成するために使用される量子系の摂動状態との、ハミルトニアンの中に含まれる第1のエルミート演算子の交換子が与えられた、i)複数の実験的データポイントを生成するために使用される可観測量の期待値であって、状態が、ハミルトニアンの中に含まれる第2のエルミート演算子を使用して摂動させられる、期待値を備える。
【0022】
いくつかの実装形態では、導関数は2次導関数を備え、コスト関数の値が大域的最小点から所定の距離内にあるとき、コスト関数の2次導関数は積分の積の総和を備え、各積分は被積分関数を備え、被積分関数は、ii)複数の実験的データポイントを生成するために使用される量子系の摂動状態が与えられた、i)複数の実験的データポイントを生成するために使用される可観測量の期待値を備え、状態は、ハミルトニアンの中に含まれるエルミート演算子を使用して摂動させられる。
【0023】
本明細書で説明する主題は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態において実施され得る。
【0024】
現在説明する技法は、時間分解測定、たとえば、スピンスピン相関器の測定から、ハミルトニアンのパラメータ、たとえば、分子の核スピンハミルトニアンを学習するために使用され得る。本技法は、NISQデバイスとフォールトトレラントデバイスとの両方によって実施されることが可能であり、ここで、明らかな漸近的高速化が達成され得る。加えて、現在説明する技法は、古典的に扱いにくいNMR実験、たとえば、双極子結合が強く簡単に除去され得ない実験に適用され得る。
【0025】
添付図面および以下の説明において、本明細書の主題の1つまたは複数の実装形態の詳細が記載される。本主題の他の特徴、態様、および利点が、説明、図面、および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【0026】
図1】ハミルトニアン学習のための例示的なシステムの概念的なブロック図である。
図2】雑音あり中規模量子デバイスを使用するハミルトニアン学習のための例示的なシステムの概念的なブロック図である。
図3】ハミルトニアン学習コスト関数の1次導関数および2次導関数を計算するために必要とされる実験的データポイントおよび被積分関数を推定するための例示的な回路図である。
図4】ハミルトニアン学習のための第1の例示的なプロセスのフローチャートである。
図5】フォールトトレラント量子デバイスを使用するハミルトニアン学習のための例示的なシステムの概念的なブロック図である。
図6】ハミルトニアン学習コスト関数の1次導関数および2次導関数を計算するために使用されるフォールトトレラントオラクルのための例示的な回路図である。
図7】ハミルトニアン学習のための第2の例示的なプロセスのフローチャートである。
図8】本明細書で説明する量子コンピューティング方法を実行するために使用されてよい例示的な量子コンピューティングデバイスを示す図である。
図9】本明細書で説明する古典コンピューティング方法を実行するために使用されてよい例示的な古典プロセッサを示す図である。
【発明を実施するための形態】
【0027】
様々な図面における同様の参照番号および指定は、同様の要素を示す。
【0028】
概要
本明細書は、デジタル量子コンピュータおよび、たとえば、NMR分光実験からの、時間分解測定を使用して、未知のハミルトニアンパラメータ、たとえば、分子系または材料系の核スピンハミルトニアンのパラメータを学習するための、技法を説明する。本技法は、実験が古典的にシミュレートするのに困難であるときはいつでも、古典を超える量子計算を提供する。本技法は、NISQとFTコストモデルとの両方のための実装形態を与える、学習問題のコスト関数、勾配、およびヘシアンを推定するための量子アルゴリズムを含む。
【0029】
例示的な動作環境
図1は、ハミルトニアン学習のための例示的なシステム100の概念的なブロック図を示す。例示的なシステム100は、古典プロセッサ102および量子プロセッサ104を含む。古典プロセッサ102および量子プロセッサ104は、1つもしくは複数のネットワークを介して電子通信を交換することができ、または1つもしくは複数の有線接続もしくはワイヤレス接続を介するなどの別の方法で通信を交換することができる。
【0030】
古典プロセッサ102は、古典計算を実行するように構成される。量子プロセッサ104は、量子計算を実行するように構成される。便宜上、古典プロセッサ102および量子プロセッサ104は別個のエンティティとして図示される。たとえば、量子プロセッサ104は、外部のサードパーティによって運用される量子プロセッサであり得る。しかしながら、いくつかの実装形態では、古典プロセッサ102は量子プロセッサ104の中に含まれ得る。すなわち、量子プロセッサ104はまた、古典コンピューティング動作を実行するための構成要素を含むことができる。一般に、古典プロセッサの古典コンピューティング構成要素は、図9に関して説明するもののような物理ハードウェアを有する1つまたは複数の古典コンピュータとして実装されることが可能であり、量子プロセッサ104の量子コンピューティング構成要素は、図8に関して説明するもののような物理ハードウェアを有する量子コンピューティングデバイスとして実装されることが可能である。
【0031】
古典プロセッサ102は、量子プロセッサ104を使用して勾配ベースのハミルトニアン学習を実行するように構成される。すなわち、古典プロセッサ102は、量子系106から取得される時間分解実験的データSx(t)108のセットから、いくつかの量子系106のハミルトニアンHを学習するように構成され、ここで、xは、実験の異なるセットにインデックス付けする。
【0032】
古典プロセッサ102は、外部パーティから入力として実験的データ108を受信することができるか、あるいは、たとえば、量子プロセッサ104または別の量子プロセッサもしくはセンサを使用して、量子系106をプロービングすることができ、実験的データ108を生成することができる。実験的データ108は、複数の実験的データポイントを含み、ここで、各実験的データポイントは、未知の値を有する1つまたは複数のパラメータを含むハミルトニアンに従って生成される。各データポイントは、それぞれの実験に対応し、ここで、実験は、初期量子状態準備ρx、学習されるべきハミルトニアンおよび外部時間依存駆動ハミルトニアンHx(t)による初期量子状態の時間発展、ならびに可観測量Oxの最終測定からなる。得られるデータポイント(本明細書では信号とも呼ばれる)Sx(t)は、このとき、
【0033】
【数1】
【0034】
によって与えられ、ただし、Ux(t2,t1)は、t=t1~t2からの結合ハミルトニアンH+Hx(t)によって生成される時間発展演算子である。
【0035】
【数2】
【0036】
いくつかの実装形態では、初期量子状態および可観測量は、駆動ハミルトニアンHx(t)上で準備および測定項を符号化することによって、実験xから独立することができ、たとえば、ρx=ρかつOx=Oである(このことは、現実世界の実験のもっと正確な記述をもたらすことができる)。代替として、駆動ハミルトニアンHx(t)が準備および測定のためにしか使用されない場合、これはρxおよびOxに対して全体に符号化されてよく、Hx(t)=0かつ
【0037】
【数3】
【0038】
を設定する。
【0039】
古典プロセッサ102によって実行される学習問題を規定するために、学習されるべきハミルトニアンは、
【0040】
【数4】
【0041】
という形式で書くことができ、ただし、hnはハミルトニアンパラメータのセットであり、Vnはエルミート演算子のセットである。いかなるハミルトニアンも、この形式で書くことができる。いくつかの実装形態では、hnの一部または全部の値が未知である。古典プロセッサ102は、これらの未知の値の推定値
【0042】
【数5】
【0043】
を算出するために、本明細書で説明する技法に従ってハミルトニアン学習を実行するように構成される。
【0044】
ハミルトニアン学習を実行するために、古典プロセッサは、所定の完了基準が満たされるまで、たとえば、コスト関数の値が許容可能な/既定のしきい値内に収束するまで、コスト関数を最小化(または、選ばれるコスト関数の形式に応じて最大化)するように未知のパラメータの推定値を反復的に調整する。コスト関数は尤度関数であってよく、または尤度関数に基づいてもよい。たとえば、標準偏差ωnを有する事前確率
【0045】
【数6】
【0046】
が与えられ、各データポイントSx(t)が、標準偏差
【0047】
【数7】
【0048】
を有する実験的な集団から引き出されることを想定すると、コスト関数は、
【0049】
【数8】
【0050】
によって与えられることが可能であり、ただし、
【0051】
【数9】
【0052】
は、パラメータの推定値
【0053】
【数10】
【0054】
を有する推定される信号である。(本明細書全体にわたって、チルダは隠れたパラメータではなく推定されるパラメータから導出される数量を示す。)
【0055】
古典デバイス上では
【0056】
【数11】
【0057】
が推定され得ないとはいえ、量子コンピュータ上でそれを実施することは、回路が時間発展
【0058】
【数12】
【0059】
をシミュレートすることしか必要としない。しかしながら、そのような勾配なしの最適化を実行することは、通常は非実用的である。したがって、各イタレーションにおいて、古典プロセッサ102は、以前のイタレーション用の1つまたは複数のパラメータの推定値に対するコスト関数の導関数を算出する。導関数は、コスト関数の1次導関数(勾配)および2次導関数(ヘシアン)を含むことができる。これらの導関数は、
【0060】
【数13】
【0061】
【数14】
【0062】
によって与えられてよく、ただし、
【0063】
【数15】
【0064】
【数16】
【0065】
【数17】
【0066】
【数18】
【0067】
であり、
【0068】
【数19】
【0069】
は、sからtまでの時間において前方に発展した(推定される)演算子Vnであり、
【0070】
【数20】
【0071】
は、時間tにおける(推定される)状態ρxである。すなわち、コスト関数の勾配は、(たとえば、式7によって与えられる)複数の積分を含み、各積分は、(たとえば、式8によって与えられる)それぞれの被積分関数を含み、ここで、被積分関数は、ii)複数の実験的データポイント108を生成するために使用される量子系の摂動状態が与えられた、i)複数の実験的データポイント108を生成するために使用される可観測量Oxの期待値によって与えられ、ここで、状態は、ハミルトニアンの中に含まれるエルミート演算子Vnを使用して摂動させられる(たとえば、式3を参照)。
【0072】
式6の中の
【0073】
【数21】
【0074】
に依存する項が、極限
【0075】
【数22】
【0076】
の中で消失するので、いくつかの実装形態では、古典プロセッサ102が
【0077】
【数23】
【0078】
を近似することは、C[H]の大域的最小点に近いときに実用的であってよく、それは勾配推定への余分なコストをかけずに取得されてよい。
【0079】
【数24】
【0080】
の最終推定値の共分散行列Σは、このとき、
【0081】
【数25】
【0082】
として推定され得る。
【0083】
古典プロセッサ102は、たとえば、式5および式6において与えられるように、1次導関数および2次導関数を算出するために量子プロセッサ104を使用する。たとえば、各イタレーションにおいて、古典プロセッサ102は、現在のイタレーション用の、式5および式6で与えられる導関数を決定するために必要とされる計算の一部または全部を算出するために、要求112を量子プロセッサ104へ送ることができる。古典プロセッサ102は、次いで、要求された計算の結果114を表すデータを受信することができ、コスト関数の反復的な最適化の際にこれらの結果を使用することができる。
【0084】
古典プロセッサ102によって要求される計算のタイプは、量子プロセッサ104の中に含まれる計算リソースに基づいて変わる場合がある。たとえば、図2を参照しながら以下で説明するように、いくつかの実装形態では、量子プロセッサ104は、雑音あり中規模量子(NISQ:noisy intermediate scale quantum)デバイスを含むことができる。これらの実装形態では、古典プロセッサ102は、導関数を決定するために必要とされる計算のうちのいくつか、たとえば、式8および式10の被積分関数の計算を、アウトソーシングすることができる。別の例として、図5を参照しながら以下で説明するように、いくつかの実装形態では、量子プロセッサ104は、フォールトトレラント(FT:fault tolerant)量子デバイスを含むことができる。これらの実装形態では、古典プロセッサ102は、式5および式6で与えられる導関数(または、式5および式6の第2の項)を決定することの直接のタスクをアウトソーシングすることができる。
【0085】
コスト関数の反復的な最適化が所定の完了基準を満たすと、古典プロセッサ102は、未知のハミルトニアンパラメータの推定値116
【0086】
【数26】
【0087】
を出力として提供することができる。推定値は、たとえば、未知の化合物の分子性および/または結晶性の構造を決定するために、実験的データを生成した量子系の特性を決定するために使用され得る。
【0088】
古典プロセッサ102によって実行されるハミルトニアン学習プロセスは、たとえば、局所的最小値の中で立ち往生することを避けるために、ロバストにされることが可能である。時間非依存ハミルトニアン(Hx(t)=0)を考慮に入れる。この場合、システムハミルトニアンH|ξa〉=Eaa〉の固有基底|ξa〉の中で機能し、2つの分解能の識別情報を挿入すると、信号は、次いで、
【0089】
【数27】
【0090】
という形式を取り、ただし、
【0091】
【数28】
【0092】
である。
【0093】
推定が、いくつかのパラメータ
【0094】
【数29】
【0095】
によって逸脱する場合、摂動理論における最低次数まで、推定される信号は、
【0096】
【数30】
【0097】
【数31】
【0098】
という形式を取り、ただし、Xは、波動関数|ξa〉への1次補正から生じるδ非依存の定数である。コスト関数(式4)の中の第2の項は、このとき、
【0099】
【数32】
【0100】
という形式を取り、それは、システムサイズから独立している、4t max〈ξa|Vna〉によって周波数が制限されてδの関数として発振する。このことは、パラメータhnの初期推測
【0101】
【数33】
【0102】
が、いくつかのδ内にある場合、たとえば、
【0103】
【数34】
【0104】
であり、かつ[-1,1]内のスペクトルを有するように各Vnが定義される場合、古典プロセッサ102が、時間
【0105】
【数35】
【0106】
における実験のみからのHを最初に学習することによってロバストなハミルトニアン学習を実行できることを暗示する。
【0107】
このデータに対して収束させた後、(式6を使用して)パラメータ推測の分散が推定されることが可能であり、δの推定が改善されることが可能であり、許容されるtの範囲が増大した。各tmaxにおける推定がいくつかのc<1に対して誤差δ≦c/tmaxを生み出すことを想定すると、複数の次数にわたってこの手順を反復することは、O(|log(ε)|)回のステップの中でいくつかの最終誤差εに収束する。
【0108】
コスト関数C[H]ならびにその1次導関数および2次導関数を計算するための、本明細書で説明するアルゴリズムは、様々なタイプの量子コンピュータ、たとえば、NISQデバイスおよびFTデバイスに適用され得る。雑音あり短期デバイス対FT長期デバイスを標的にするとき、量子アルゴリズム最適化は著しく異なる。いずれの場合も、式8の中の積分が離散化され、
【0109】
【数36】
【0110】
となり、ここで、Σizi=tとなるように重みzi>0が選ばれる。(積分
【0111】
【数37】
【0112】
に対して2次元の離散化が同様に可能である)。重みと点siとの両方を選ぶための様々な方法がある。たとえば、台形則または中点則が使用され得る。別の例として、より複雑なガウシアン求積法が使用され得るか、またはモンテカルロ手法が取られることが可能であり、点はランダムに選ばれることが可能である。各方法は、I→∞につれて0に進む離散化誤差を受ける。以下で説明するFT量子法とNISQ量子法との両方は、主に[Σizi]=tに依存するコストを有し、Iに対して多くとも対数的な依存性しか有しない。このことは、離散化誤差に対して最適化することに焦点を当てるのではなく、回路設計(ならびに関連するゲート実装および物理キュビット制御要件)における単純さおよび容易さのために積分の方法が選ばれることを可能にする。
【0113】
短期量子コンピュータのためのシステム、アルゴリズム、および回路
図2は、雑音あり中規模量子(NISQ)デバイスを使用するハミルトニアン学習のための例示的なシステム200の概念的なブロック図を示す。例示的なシステム200は、図1の量子プロセッサ104がNISQデバイス202であることを除いて、図1の例示的なシステム100の中に含まれるものと類似の構成要素を含む。
【0114】
NISQ時代では、任意の適用例にとって可能な、最短の量子回路を動作させることが有益である。この目的で、図1の量子プロセッサ104がNISQデバイス202である実装形態では、コスト関数の勾配またはヘシアンを算出するために必要とされる計算のうちの一部しか、NISQデバイス202を使用して算出されない。詳細には、古典プロセッサ102は、NISQデバイス202が信号
【0115】
【数38】
【0116】
ならびに被積分関数
【0117】
【数39】
【0118】
および
【0119】
【数40】
【0120】
を算出するための計算を実行することを要求するデータ212を送ることができる。古典プロセッサ102は、必要とされる積分208、乗算および総和演算206(式5、式6、式7、式9を参照)を実行することによってdC[H]/dhnおよびd2C[H]/dhndhmを古典的に算出するために、被積分関数および信号計算の結果214を表すデータを使用することができる。このことは、ダイナミクスUx(t,s)が古典的にシミュレートするのが困難である場合、指数関数的な量子利点を与える。
【0121】
被積分関数
【0122】
【数41】
【0123】
および
【0124】
【数42】
【0125】
は、それぞれ、1つまたは2つの制御ビットを使用して、一般化アダマール(図3参照)テストを用いて推定され得る。(これらの回路は、
【0126】
【数43】
【0127】
を使用して導出されることが可能であり、ただし、c-Uは制御キュビットによって制御されるユニタリUである。)これらの回路は、(制御される時間発展でなく)Vnユニタリの局所的な制御しか必要とせず、NISQデバイスにとって特に好適にさせる。項Vnがユニタリであることが図2において想定されるが、このことが事実でない場合、Vnは、ユニタリ演算子の線形結合として書くことができ、回路は、ユニタリ成分ごとに別個に実行されることが可能であり、得られる期待値は、標的結果を生み出すために総和され得る。
【0128】
図2の中の回路は、初期状態ρxを準備するための能力を担う。本開示で説明する適用例では、これらは計算基底における混合対角状態であり得る。測定演算子Oxは、計算基底において同様に対角であり得る。混合状態の準備は、多くの純粋な状態準備にわたって平均化することを必要とする。このことは、複数のρxに対して並行して実行されてよい。計算基底状態|n〉が準備され、次いで、回路Uが実行されるとともにOxのセットの期待値が並行して測定され、〈n|UOxU|n〉の推定値のセットを生み出す事例を考慮に入れる。このことがすべての計算基底状態に対して独立して反復される場合、各ρxは計算基底において対角であり、以下の式が取得される。
【0129】
【数44】
【0130】
初期分布〈n|ρx|n〉が知られているので、〈n|UOxU|n〉の推定値は、標的トレースを算出するために使用されてよい。実際には、すべての状態を準備することが必要でない場合があり、〈n|ρx|n〉に比例する分布からサンプリングすることが十分であり得る。最先端の量子実験では、これは、各状態を再準備するために新たなパルス系列をアップロードすることが非実用的であり得るとき、わずかな困難を提示する場合がある。この問題への1つの解決策は、最初に+基底においてキュビットを準備し、シミュレーション/計算を実行する前にそれらを測定することであり、そのことは、毎回新たな準備をもたらす。
【0131】
複数の点siおよびriにおいて上記の手順を反復することは、(固定されたnおよびmに対して)式17を介して
【0132】
【数45】
【0133】
および
【0134】
【数46】
【0135】
の並列推定を可能にする。NISQデバイスにおける原理では、これらの時間は範囲[0,t]および[0,s]からランダムに引き出され得る。この場合、開始状態および時間の各選択は独立したランダム変数を生成し、Hoeffdingの不等式が適用されてよい。
【0136】
【数47】
【0137】
の推定のために、実験のM回の反復が、
【0138】
【数48】
【0139】
を満たす推定器
【0140】
【数49】
【0141】
を生み出し、これを一定の障害率で推定するために必要とされるサンプルの数は、
【0142】
【数50】
【0143】
としてスケーリングする(ここで、
【0144】
【数51】
【0145】
は、パラメータの中の対数因子を抑圧する)。同様に、
【0146】
【数52】
【0147】
の推定のために、実験のM回の反復が、
【0148】
【数53】
【0149】
を満たす推定器
【0150】
【数54】
【0151】
を生み出し、これを一定の障害率で推定するために必要とされるサンプルの数は、
【0152】
【数55】
【0153】
としてスケーリングする。このことは、
【0154】
【数56】
【0155】
および
【0156】
【数57】
【0157】
が、tから独立しているいくつかのサンプルを用いて一定の相対誤差まで推定され得ることを暗示する。
【0158】
以下のフォールトトレラントな分析との比較を行うために、図2の中の回路の各々を実行するために、非ファストフォワード定理(no-fast-forward theorem)がO(t)という平均回路深度を必要とし、そのため、これらの方法を使用して一定の誤差εまで
【0159】
【数58】
【0160】
および
【0161】
【数59】
【0162】
を推定するための全ゲートカウントが、それぞれ、せいぜい
【0163】
【数60】
【0164】
および
【0165】
【数61】
【0166】
としてスケーリングすることに留意されたい。比較によって、図2の中の回路を使用して一定の誤差εまで
【0167】
【数62】
【0168】
を推定するための全ゲートカウントは、
【0169】
【数63】
【0170】
としてスケーリングする。これらの推定値は、式5の中の導関数を推定するために組み合わせられる必要がある。一定の誤差までこれを推定するための総コストを算出するために、
【0171】
【数64】
【0172】
【0173】
【数65】
【0174】
、σx,t~σ、および||Ox||~1がxおよびtから独立していること、ならびに全ゲートカウントを最小化するように各実験の反復数を最適化することが可能であることが、想定される。各実験が交換可能に準備および測定を伴うこと、ならびにこれらの平行な測定の間の共分散が0であることも想定される。次いで、誤差εまで単一の微分項を推定するために必要とされるゲートの総数は、
【0175】
【数66】
【0176】
としてスケーリングし、ただし、Nxは、実行される別個の実験の回数である。tにわたる総和の評価は、Sx(t)が対数的に疎にサンプリングされるのかそれとも密にサンプリングされるのかに依存する。前者の場合、ゲートの総数は
【0177】
【数67】
【0178】
としてスケーリングするが、後者では
【0179】
【数68】
【0180】
としてスケーリングする。
【0181】
図3は、ハミルトニアン学習コスト関数の1次導関数および2次導関数を計算するために必要とされる実験的データポイントおよび被積分関数を推定するための例示的な回路図を示す。回路は、コスト関数C[H](式4)の1次導関数および2次導関数を計算するために必要とされる、信号
【0182】
【数69】
【0183】
(上部)ならびに被積分関数
【0184】
【数70】
【0185】
(中央部)および
【0186】
【数71】
【0187】
(下部)を推定するための回路を含む。見やすいように、回路自体の中のラベルが消去される(凡例を参照)。回路は、ρおよび(制御を伴わずに)Ux(t,s)をシミュレートするとともに制御された摂動Vnを実施するための手段の準備へのアクセスを担う。標的被積分関数は、(NISQでは)反復された準備および測定から読み出され得る、示された演算子の積の期待値であるものと見い出され得る。
【0188】
図4は、ハミルトニアン学習のための第1の例示的なプロセス400のフローチャートである。便宜上、プロセス400は、量子コンピュータ、たとえば、NISQデバイスとデータ通信している、古典コンピューティングシステムによって実行されるものとして説明される。たとえば、本明細書に従って適宜にプログラムされた図2の古典プロセッサ102が、プロセス400を実行することができる。
【0189】
システムは、複数の実験的データポイントを取得し、ここで、各実験的データポイントは、未知の値を有する1つまたは複数のパラメータを含むハミルトニアンに従って生成される(すなわち、測定を通じて取得される)(ステップ402)。例示的な実験的データポイントが、式1および式2を参照しながら上記で説明される。いくつかの実装形態では、実験的データポイントは、それぞれの核磁気共鳴(NMR:nuclear magnetic resonance)実験を実行することによって取得され得る。各NMR実験では、分子、結晶、または他の材料のサンプルが、強い磁場の中に置かれ得る。たとえば、(当初は熱平衡状態にあり得る)サンプルは、1つまたは複数の磁場パルス(たとえば、背景磁場を変調する時間依存無線周波数パルス)の印加を通じて摂動させられ得る。サンプルは、磁場の下で、ある時間期間にわたって発展することが許容され、そのことは磁場への時間依存の応答をもたらす。この応答、すなわち自由誘導減衰は、それが生成する核スピンハミルトニアン(その強い双極子結合に起因して強く相互作用する量子ハミルトニアン)についての情報を含み、核スピンハミルトニアン自体は、サンプルの分子的または化学的な構造についての情報を含む。応答は、たとえば、式1に関して上記で説明したように、対応する被測定信号を取得するために測定される。
【0190】
システムは、コスト関数を最小化するように1つまたは複数のパラメータの推定値を反復的に調整する(ステップ404)。コスト関数は、複数の実験的データポイントに依存し、式4によって与えられる。各イタレーションにおいて、以前のイタレーション用のパラメータの推定値に対するコスト関数の導関数が、量子コンピュータを使用して算出される。導関数は、たとえば、式5および式6によって与えられるように、1次導関数または2次導関数を含むことができる。システムは、ハミルトニアンによって生成されるユニタリ時間発展をシミュレートするために量子コンピュータを使用し、ここで、ユニタリ時間発展は、ハミルトニアンの中に含まれるエルミート演算子を含む摂動を用いてインターリーブされる。量子コンピュータによって実行される例示的な動作が、図2および図3を参照しながら上記で説明される。
【0191】
所定の完了基準が満たされると、たとえば、コスト関数の値が収束すると、システムは、コスト関数を最小化するパラメータの値を、学習された値として出力する(ステップ406)。
【0192】
長期量子コンピュータのためのシステム、アルゴリズム、および回路
図5は、フォールトトレラント量子デバイスを使用するハミルトニアン学習のための例示的なシステム500の概念的なブロック図を示す。例示的なシステム500は、図1の量子プロセッサ104がFTデバイス502であることを除いて、図1の例示的なシステム100の中に含まれるものと類似の構成要素を含む。
【0193】
フォールトトレラントなコストモデルでは、FTデバイス502は、完全にコヒーレントに式5の第2の項の中のtおよびxにわたって、積分、乗算および総和を実行する。すなわち、古典プロセッサ102は、FTデバイス502が式5(または、式5の第2の項のみ)を直接算出するための計算を実行することを要求するデータ512を送ることができる。古典プロセッサ102は、反復的なコスト関数最適化を実行するために、FTデバイス502によって実行される計算の結果514を表すデータを使用することができる。
【0194】
【数72】
【0195】
であることを想定し、Trace(A)・Trace(B)=Trace
【0196】
【数73】
【0197】
【0198】
【数74】
【0199】
【数75】
【0200】
を与えるという事実を使用すると、ここで、その近似は数値積分からの近似である。VnおよびOxがユニタリである限りU0(x,t,s)がユニタリであることが確認され得る(また、このことが事実でない場合、それらはユニタリ自体の線形結合として分解されてよい)。式5の中の第2の項の第2の部分は、実験的な信号Sx(t)で乗算することを必要とする。この信号は、次いで、デバイス上にロードされる必要がある。単純に実行される場合、このことは容易に回路の中の支配的なコストになる場合がある。このコストを下げるために、Sx(t)が少数Nw<<Tのフーリエ成分からなることが想定されることが可能であり、
【0201】
【数76】
【0202】
ただし、φx=0またはφx=π/2であり、ax,k>0は信号のt=0挙動から予想される。次いで、
【0203】
【数77】
【0204】
と書くことは、
【0205】
【数78】
【0206】
【数79】
【0207】
を与え、ここで、異なる制御キュビット0および1に対して作用する動作がラベル付けされている。上記の想定の下ではU1(x,t,s)もユニタリである。ここで、sl,tおよびzl,t点は、それぞれ、積分点および重みであるが、積分の極限(したがって、サンプリングされるべき点と乗算するために必要とされる合計幅との両方)がtに依存するという事実を可能にする。両方の総和が、次いで、LCU技法を使用してブロック符号化され得る。これらは、総和変数を符号化するための制御レジスタ|x〉、|t〉、|l〉、および|k〉(および、以下で導入される他の追加レジスタ)、ならびにSELECTおよびPREPAREユニタリを必要とする。(ここで、時間|t〉がいくつかの有限2値表現を有することが想定される。)これらのレジスタは、順に、nx~logNx、nt~logKT、nl~logLキュビット、およびnk~logNwキュビットを含み、ただし、1/Kは時間tが記憶される精度である。
【0208】
SEL0ユニタリは、制御レジスタに基づいて実施すべき適切なU0(x,t,sl,t)ユニタリを選択する。言い換えれば、SEL0x,t,l|x〉|t〉|l〉〈l|〈t|〈x|U0(x,t,sl,t)である。同様に、SEL1x,t,l,k|x〉|t〉|l〉|k〉〈k|〈l|〈t|〈x|U1(x,t,sl,t,k)である。図6では、Ux(t,s)、Ox、およびWxへのオラクルアクセスを使用してどのようにこれが実装され得るのかが示される(このことのための実装形態が以下で説明される)。PREPaユニタリは、制御レジスタ上の初期状態|0〉から、対応する制御状態
【0209】
【数80】
【0210】
【数81】
【0211】
【数82】
【0212】
【数83】
【0213】
を準備する。簡単のためにこれらのステップではガベージレジスタが省略される。これらが与えられると、
【0214】
【数84】
【0215】
【数85】
【0216】
であることがチェックされることが可能であり、ただし、ここでは回路は組み合わせられたシステムおよび制御レジスタセットに対して作用する。a=1,2に対して、PREPa、SELaへの
【0217】
【数86】
【0218】
回の問合せを使用して、信頼性1-δを伴って誤差εaまでこれらの値を推定するために、期待値推定アルゴリズムが使用され得る。
【0219】
【数87】
【0220】
を設定することは、信頼性1-δを伴ってε内にあるdC[H]/dhnの推定値を与える。時間tにおいてサンプリングされるときにΣizl,t=tであり、そのため、|Sx(t)|≦1かつσx,t=σであることが想定される場合、λ12=Nx2sampled tt)となる。PREPAREおよびSELECTオラクルに行われることが必要とされる呼出しの数は、このとき、(式23と比較して)
【0221】
【数88】
【0222】
のようにスケーリングする。NISQ結果とのヒューリスティックな比較を行うために、オラクルモデルが考慮に入れられる。SELECTオラクルは、最高T=max(t)までの時間発展を必要とし、そのため、非ファストフォワード定理によって、各オラクル呼出しは、せいぜいO(T)のコストがかかる。したがって、疎なサンプリング事例では、総計算量はO(σ2ε-1NxT2)であるが(ε-1Tの節約)、密なサンプリング事例では、総計算量はO(σ2ε-1NxT3)である(ε-1T2の節約)。NISQ手法は、通常、シミュレーション時間における線形スケーリングを達成できないので、フォールトトレラント量子アルゴリズムを使用して具体的なハミルトニアンをシミュレートすることに対して、もっと大きい節約が期待される。
【0223】
SELECTユニタリの計算量は、制御された時間発展Σx,t,l|x〉|t〉|l〉〈l|〈t|〈x|Ux(sl,t,0)およびΣx,t,l|x〉|t〉|l〉〈l|〈t|〈x|Ux(t,sl,t)を実施すべき必要によって定められる(初期準備Σx|x〉〈x|Wxは後で説明される)。時間発展を実施するための幅広いオプションがある。どの選択が最適であるのかは、ハミルトニアンが学習されることの詳細に依存する。たとえば、SELECTユニタリは、もっと高次の積公式を使用して実施され得る。この選択は、スピン系を学習することの提案される適用例にとって、また、制御の比較的容易な実装を可能にするからであることの両方で、近最適である。ここでは実際的な目的のために、時間発展が実験非依存であること、すなわち、-Ux(t,s)=Ux(t,s)=eiH(t-s)が想定される。このことは、SELECTの実装の際に|x〉レジスタを考慮に入れるべき必要を除去する。実装形態は、式8の中の積分の離散化が固定されることを必要とする。いくつかの実装形態では、均等な重みwl=t/Lを伴ってL個の点sl,t=tl/Lが選ばれ得る。この近似における誤差は、
【0224】
【数89】
【0225】
によって制限されるものと示されることが可能であり、それはL>>t2||Ox||||[H,Vn]||の場合に無視できる。SELECTユニタリの制御される時間発展部分は、このとき、
【0226】
【数90】
【0227】
【数91】
【0228】
という形式を取る。このことは、全時間間隔[0,t]をR個のトロッター(Trotter)ステップに分割するとともに各ステップにおいてもっと高次の積公式を実施することによって実施され得る。多くてηの誤差をシミュレーションが有することを保証するために、
【0229】
【数92】
【0230】
となり、ただし、小文字o(1)は、任意に小さいものとして取られ得る定数を表し、X1およびX2係数は、システムサイズおよびグラフ接続性に依存する。Nキュビットの線形鎖の場合、X1=X2=Nである。対照的に、クラスタ化されたハミルトニアンのより現実的なモデルを想定すると、
【0231】
【数93】
【0232】
であり、ここで、k,k'∈K≠L∋lのときはいつでもHk,l<<Hk,k'がX1~Λind、X2~Λを与え、ただし、
【0233】
【数94】
【0234】
【数95】
【0235】
である。代替として、各クラスタ内で項を分割することなく部分的なトロッター分解が適用され得る。このことは、代わりにX2~Λintを用いてスケーリングするためのトロッター誤差を小さくし、ただし、
【0236】
【数96】
【0237】
である。各クラスタは、次いで、積公式またはもっと高度な量子アルゴリズムのいずれかを使用してシミュレートされ得る。いくつかの実装形態では、そのようなハイブリッド手法は、その手法の実行時間を改善することができる。
【0238】
量子シミュレーションの誤差がどのようにオーバーラップ推定の確度に影響を及ぼすのかを分析するために、式36および式37のブロック対角構造が使用される。確度ηを伴って量子シミュレーションが実行されるとすれば、制御される時間発展が多くてηの誤差を有することが理解され得る。オーバーラップの推定においてεという確度を達成するために、ηaは、それぞれ、a=0,1に対して、
【0239】
【数97】
【0240】
に設定される。このことは、式38におけるトロッターステップの最小数Rを決定する。
【0241】
次に、一般的な積公式Spに|l〉および|t〉レジスタによる二重制御をどのように加えるべきかが説明される。(SELaオラクルにとっても必要とされる|t〉レジスタによる単一制御が、同じく以下の技法によって実施され得る。)tにおいて線形のコストを有するハミルトニアンシミュレーションを達成するために、Rにおける時間発展の近線形依存性、およびL>>O(t2)がL>>Rであることを暗示するという要件が必要とされる。このことは、今度はlt/Lがt/Rの整数倍でないことを暗示する。簡単のために、L、Rが2のべき乗であることが想定され、0≦q<t/Rに対して、
【0242】
【数98】
【0243】
と書く。q'=qR/T<1と書くと、このとき、
【0244】
【数99】
【0245】
は、整数個(r)のトロッターステップおよび分数の剰余q'を与える。LおよびRが2のべき乗であるので、これらの整数rおよびq'は、lレジスタの最初のlog(R)ビットおよび最後のlog(L)-log(R)ビットの中にすでに記憶されており、(r,q')としてlを改名することによって識別されてよい。整数部分(r)は、Sp(t/R)が適用される必要がある回数を決定し、|r〉制御レジスタの第brのビットによって
【0246】
【数100】
【0247】
を制御し、|t〉制御ユニタリがユニタリ
【0248】
【数101】
【0249】
を実施し、ただし、ここでは|t〉レジスタが積公式の各成分の回転角を定める。たとえば,
【0250】
【数102】
【0251】
は、
【0252】
【数103】
【0253】
によって回転を制御するために、tレジスタの第btのビットを使用してビット単位で直接実装され得る。これは、入力パラメータにおいて多重対数関数的なゲート計算量を有し、そのため、無視され得る。同様に、最終の分数トロッター問合せは、|q'〉レジスタによって制御されて実施されることが可能であり、すなわち、ユニタリ
【0254】
【数104】
【0255】
が実施される。このことも、入力パラメータにおいて多重対数関数的である類似のコストを有する。二重に制御される時間発展の最終のスケーリングは、このとき、対数因子まで、制御を伴わずにトロッター発展を実施するコストと同一である。
【0256】
制御される量子シミュレーションの上記の実装形態は、特に積公式に対して開発および最適化される。積公式だけでなくもっと高度な量子シミュレーションアルゴリズムのためにも機能する別の可能な回路実装形態とは、発展時間の2値表現を使用するとともに整数kを伴う時間2kにわたってシミュレートすることである。いずれの場合も、計算量は、入力パラメータとともに対数的にスケーリングするにすぎず、オーバーヘッドが無視できる。このことは、PREPAREおよび制御される-Wx回路がSELECTよりも小さいコストを有する限り、式35および式23におけるオラクルモデルの間の比較を正当化する。
【0257】
トロッターステップの単純な実装形態は、ハミルトニアンの中のすべての項が、べき乗されることを必要とする。式39におけるクラスタ化されたモデルの場合、このことは、各トロッターステップを実施するためのO(N2)というゲート計算量を暗示する。しかしながら、このことは、極めて小さい絶対値を有するハミルトニアン項を切り捨てることによって、または高度な量子シミュレーションアルゴリズムに切り替えることによって、改善されてよい。フォールトトレラントなゲートセットに関して回転ゲートも合成され得るが、回路合成におけるオーバーヘッドは漸近的に無視できる。
【0258】
PREP0およびPREP1オラクルは、それぞれ、式29および式31の中の係数を量子レジスタ上にロードすることを必要とする。一様な積分測度が選ばれているので、PREP0とPREP1との両方に対する積分重みは、すべてのキュビットにアダマールゲートを適用することによって準備されてよいlレジスタの値から独立している。PREPAREオラクルの残部は、QROMおよびコヒーレントエイリアスサンプリング(CAS:coherent alias sampling)技法を使用して実施されることが可能であり、CAS技法は、O(Nd)個のトフォリ(Toffoli)ゲートを用いてマッピング|j〉|0〉→|j〉および
【0259】
【数105】
【0260】
を実行するために使用されることが可能であり、ただし、Ndは、一意のデータポイントまたはインデックスjの個数である。時間tが一様に選ばれることは想定されず、そのため、|t〉レジスタを準備することが非自明であるので、このことが重要である。いくつかの一様なインデックスjによって時間がインデックス付けされる場合、すなわち、書込み=tjの場合、|j〉|0〉→|j〉|tj〉をマッピングするためにQROMが使用され得る(このことは、|j〉レジスタがサイズnd=logNdであることを必要とする)。CAS技法は、一意のデータポイントの個数にコストが等しくて、状態
【0261】
【数106】
【0262】
を準備するために使用され得る。これを準備された上記の|l〉レジスタと組み合わせることが、PREP0オラクルを生み出す。σx,ttの場合、すなわち、すべての別個の実験が同じ誤差を伴って実行される場合、そのことは合理的な想定であり、これはNdという同一のコストを有する。NdがTにおいて、すなわち、密なサンプリングに対して、悪くて線形にスケーリングし、そのため、PREP0オラクルを実施するコストが、O(T)によって制限され、SEL0オラクルの加法的なコストによるブロック符号化において支配されることが、想定される。
【0263】
PREP1オラクルは、追加の振幅ax,kだけPREP0オラクルとは異なる。これらは、NxNwとしてスケーリングするコストでCASを使用してデバイス上にマッピングされ得る。このコストはNdコストに加法的であり、NxNw<<Ndであることが予想されるので、このオラクルもSEL1のコストによって支配されることが予想される。
【0264】
SEL1サブルーチンの追加の部分として、制御されるZ回転
【0265】
【数107】
【0266】
が実施される必要がある。古典的な値wx,kおよびφkは、ここで、たとえば、QROM技法を使用して、量子デバイス上にロードされる必要がある。いくつかの固定された精度までのNw個の古典的なデータポイントfx,k=2πwx,kのセットが与えられると、O(NxNw)個のトフォリゲートを使用してマッピング|k〉|x〉|0〉→|k〉|x〉|fx,k〉を実行するためにQROMが使用され得る。同様に、φkは、単一のキュビット|x〉|0〉→|x|bx〉上にマッピングされることが可能であり、ただし、O(Nx)個のトフォリゲートというコストにおいて、φk=0の場合はbx=0であり、φk=π/2の場合はbx=1である。これらのマッピングは、PREP1ステップ中に実施するのにより適切であり得る。次いで、SEL1サブルーチンの中で、これらのレジスタへのアクセスが想定されることが可能であり、その場合、制御されるZ回転は、そのサイズの|fx,k〉および|t〉レジスタの中で多重対数的なコストで、積公式におけるのと同じ形式の算術によって実施され得る。代替として、もっと小さいフォールトトレラントなコストを有する位相勾配法が使用され得る。
【0267】
【数108】
【0268】
に対する準備方式を説明することが残っている。ρxが純粋な状態でなく、そのため、同じ個数のキュビットを使用して初期レジスタからそれを準備することが不可能であるので、このことは検討するのに重要である。代わりに、システムレジスタのサイズが拡張され、元のシステム内のすべての可観測量Oに対してTrace[Oρx]=Trace[O|ψx〉〈ψx|]となるような状態|ψx〉=Wx|0〉が準備される。このことは、システムNのキュビット数が多くて倍増されることを必要とし、Wxおよび
【0269】
【数109】
【0270】
以外のすべての演算において追加のキュビットが無視され得る。本技法のいくつかの適用例では、たとえば、NMR適用例では、形式
【0271】
【数110】
【0272】
の状態が、しばしば、考慮に入れられ、それはキュビットjxを除いてすべてのキュビットにおいて最大限に混合された状態である。追加のNキュビットを用いてこのことを達成するために、ベル(Bell)状態
【0273】
【数111】
【0274】
のN個のコピーが準備され、そうしたコピーはクリフォード(Clifford)ゲートのみを使用して実行され得る。トフォリゲートは、次いで、制御としてのxおよび第jxのキュビットならびに標的としてのjx+Nとともに実行され、xによって制御される第jxのキュビットにおけるアダマールゲートが後続する。制御される各アダマールは、単一のトフォリゲートを使用して実施され得る。これは、標的特性を有する状態
【0275】
【数112】
【0276】
を準備する。より一般的には、古典的な1Dイジング(Ising)モデルの任意の熱状態が、深度N/2の回路を使用して完全な忠実度を有する2Nキュビットの熱場二重状態として準備され得る。
【0277】
図6は、ハミルトニアン学習コスト関数の1次導関数および2次導関数を計算するために使用されるフォールトトレラントオラクルのための例示的な回路図を示す。上記で説明したフォールトトレラントオラクルSEL0、SEL1、PREP0、およびPREP1の回路図が図示される。マルチキュビットレジスタ上の黒丸は、複素制御手順を示す。正方形ボックスは、QROMを介したシステムへの古典的な入力を示す。読みやすいように下付き文字がゲートから省略される。SELa回路の中のUに対する制御上の破線の円は、実験中の時間発展が実験の間で変化する場合のみ必要とされる制御を示す。
【0278】
図7は、ハミルトニアン学習のための第2の例示的なプロセス700のフローチャートである。便宜上、プロセス700は、量子コンピュータ、たとえば、フォールトトレラントデバイスとデータ通信している、古典コンピューティングシステムによって実行されるものとして説明される。たとえば、本明細書に従って適宜にプログラムされた図5の古典プロセッサ102が、プロセス700を実行することができる。
【0279】
システムは複数の実験的データポイントを取得し、各実験的データポイントは、未知の値を有する1つまたは複数のパラメータを含むハミルトニアンに従って生成される(すなわち、測定を通じて取得される)(ステップ702)。例示的な実験的データポイントが、式1および式2を参照しながら上記で説明される。いくつかの実装形態では、実験的データポイントは、例示的なプロセス400のステップ402に関して上記で説明したように、複数のそれぞれの核磁気共鳴(NMR)実験を実行することによって取得され得る。
【0280】
システムは、コスト関数を最小化するように1つまたは複数のパラメータの推定値を反復的に調整する(ステップ704)。コスト関数は複数の実験的データポイントに依存し、式4によって与えられる。各イタレーションにおいて、以前のイタレーション用のパラメータの推定値に対するコスト関数の導関数が、量子コンピュータを使用して算出される。導関数は、たとえば、式5および式6によって与えられるように、1次導関数または2次導関数を含むことができる。システムは、たとえば、ブロック符号化を通じて、導関数を直接算出するために、量子コンピュータを使用する。量子コンピュータによって実行される例示的な動作が、図5および図6を参照しながら上記で説明される。
【0281】
所定の完了基準が満たされると、たとえば、コスト関数の値が収束すると、システムは、コスト関数を最小化するパラメータの値を、学習された値として出力する(ステップ706)。図4の例示的なプロセス400および図7の700は、様々な分子、水晶、または他の材料の構造(たとえば、結合)を学習するために適用され得る。1つの例示的な適用例は、(双極子結合が通常は30~40KHz程度である)陽子NMRを介した膜の中または膜の上のタンパク質のハミルトニアン学習である。たとえば、例示的なプロセス400および700は、ユビキチンの構造、たとえば、結合を学習するために適用され得る。膜へのそのような系の物理的なピンニングは、溶液の中で強い相関作用を流し去ることになるタンブリングを防止する。本出願は、たとえば、著しい残差結合、双極子結合項の抑圧を通じた構造的な情報の損失、および生体外(in vitro)対生体内(in vivo)でのタンパク質のフォールディングの挙動の差異などの、陽子NMRによって提示される課題に起因して、古典量子コンピューティング適用例を越えて貴重である。
【0282】
追加の実装詳細
図8は、例示的な量子コンピューティングデバイス800のブロック図である。量子コンピューティングデバイス800は、いくつかの実装形態による、本明細書で説明する量子計算動作を実行するために使用され得る。量子コンピューティングデバイス800は、様々な形態の量子コンピューティングデバイスを表すものとする。ここで図示する構成要素、それらの接続および関係、ならびにそれらの機能は例にすぎず、本明細書で説明および/または特許請求される本発明の実装形態を限定しない。
【0283】
量子コンピューティングデバイス800は、キュビットアセンブリ810ならびに制御および測定システム820を含む。キュビットアセンブリは、アルゴリズム動作または量子計算を実行するために使用される複数の物理キュビット、たとえば、キュビット812を含む。図8に示すキュビットは長方形アレイをなして構成されるが、これは概略図であり限定的であることを意図しない。キュビットアセンブリ810はまた、結合されたキュビット間の相互作用を可能にする調整可能な結合要素、たとえば、カプラ814を含む。図8の概略図では、各キュビットは、それぞれの結合要素によってその4つの隣接するキュビットの各々に調整可能に結合される。しかしながら、これはキュビットおよびカプラの例示的な構成であり、長方形でない構成、隣接しないキュビット間の結合を可能にする構成、および3つ以上のキュビット間の調整可能な結合を含む構成を含む、他の構成が可能である。
【0284】
各キュビットは、0および1という論理値を表すレベルを有する2レベルの量子系またはデバイスであり得る。複数のキュビットの特定の物理的な実現形態、およびそれらが互いにどのように相互作用するのかは、量子コンピューティングデバイス800のタイプまたは量子コンピューティングデバイス800が実行している量子計算のタイプを含む、様々な要因に依存する。たとえば、原子量子コンピュータでは、キュビットは、原子量子系、分子量子系、または固体量子系、たとえば、超微細原子状態を介して実現されてよい。別の例として、超伝導量子コンピュータでは、キュビットは、超伝導キュビットまたは半導電性キュビット、たとえば、超伝導トランズモン状態を介して実現されてよい。別の例として、NMR量子コンピュータでは、キュビットは、核スピン状態を介して実現されてよい。
【0285】
いくつかの実装形態では、量子計算は、選択された初期状態においてキュビットを初期化すること、および量子論理ゲートの系列をキュビットに適用することによって、着手することができる。例示的な量子論理ゲートは、パウリゲートの単一キュビットゲート、たとえば、パウリX、パウリY、パウリZ(X、Y、Zとも呼ばれる)、パウリゲートの変動、たとえば、
【0286】
【数113】
【0287】
【0288】
【数114】
【0289】
【0290】
【数115】
【0291】
ゲート、アダマールおよびSゲート、2キュビットゲート、たとえば、制御X、制御Y、制御Z(CX、CY、CZとも呼ばれる)、CNOTおよび3つ以上のキュビットを伴うゲート、たとえば、トフォリゲートを含む。量子論理ゲートは、制御および測定システム820によって生成される制御信号832をキュビットおよびカプラに印加することによって実装され得る。
【0292】
たとえば、いくつかの実装形態では、キュビットアセンブリ810の中のキュビットは周波数同調可能であり得る。これらの例では、各キュビットは、キュビットに結合された1つまたは複数の駆動ラインを介した電圧パルスの印加を通じて調整され得る、関連する動作周波数を有することができる。例示的な動作周波数は、キュビットアイドリング周波数、キュビット相互作用周波数、およびキュビット読出し周波数を含む。異なる周波数は、キュビットが実行できる異なる動作に対応する。たとえば、対応するアイドリング周波数に動作周波数を設定することは、キュビットが他のキュビットと強く相互作用しない状態の中にキュビットを入れてよく、ここで、そうした状態は、単一キュビットゲートを実行するために使用され得る。別の例として、固定された結合を有するカプラを介してキュビットが相互作用する場合には、キュビットは、それらのそれぞれの動作周波数を、それらの共通の相互作用周波数から離調するいくつかのゲート依存周波数に設定することによって、互いに相互作用するように構成され得る。他の場合には、たとえば、同調可能なカプラを介してキュビットが相互作用するとき、キュビットは、キュビット間の相互作用を可能にするようにそれらのそれぞれのカプラのパラメータを設定することによって、次いで、キュビットのそれぞれの動作周波数を、それらの共通の相互作用周波数から離調するいくつかのゲート依存周波数に設定することによって、互いに相互作用するように構成され得る。そのような相互作用は、マルチキュビットゲートを実行するために実行されてよい。
【0293】
使用される制御信号832のタイプは、キュビットの物理的な実現形態に依存する。たとえば、制御信号は、NMRもしくは超伝導量子コンピュータシステムにおけるRFもしくはマイクロ波パルス、または原子量子コンピュータシステムにおける光パルスを含んでよい。
【0294】
量子計算は、それぞれの制御信号832を使用して、たとえば、Zなどの量子可観測量を使用して、キュビットの状態を測定することによって完了され得る。測定は、測定結果を表す読出し信号834を測定および制御システム820に戻して通信させる。読出し信号834は、量子コンピューティングデバイス800および/またはキュビットのための物理方式に応じて、RF、マイクロ波、または光信号を含んでよい。便宜上、図8に示す制御信号832および読出し信号834は、キュビットアセンブリの選択された要素(すなわち、最上行および最下行)のみをアドレス指定するものとして示されるが、動作中、制御信号832および読出し信号834は、キュビットアセンブリ810の中の各要素をアドレス指定することができる
【0295】
制御および測定システム820は、上記で説明したように、キュビットアセンブリ810に対して様々な動作を実行するために使用され得る古典コンピュータシステムの一例である。制御および測定システム820は、1つまたは複数のデータバス、たとえば、バス828によって接続された、1つまたは複数の古典プロセッサ、たとえば、古典プロセッサ822、1つまたは複数のメモリ、たとえば、メモリ824、および1つまたは複数のI/Oユニット、たとえば、I/Oユニット826を含む。制御および測定システム820は、たとえば、選択された一連の量子ゲート動作を実行するために、またたとえば、測定動作を実行することの一部として、キュビットアセンブリから読出し信号834の系列を受信するために、制御信号832の系列をキュビットアセンブリへ送るようにプログラムされ得る。
【0296】
プロセッサ822は、制御および測定システム820内での実行用の命令を処理するように構成される。いくつかの実装形態では、プロセッサ822はシングルスレッドプロセッサである。他の実装形態では、プロセッサ822はマルチスレッドプロセッサである。プロセッサ822は、メモリ824の中に記憶された命令を処理することが可能である。
【0297】
メモリ824は、制御および測定システム820内の情報を記憶する。いくつかの実装形態では、メモリ824は、コンピュータ可読媒体、揮発性メモリユニット、および/または不揮発性メモリユニットを含む。場合によっては、メモリ824は、システム820に大容量ストレージを提供することが可能な記憶デバイス、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワークを介して共有される記憶デバイス(たとえば、クラウド記憶デバイス)、および/またはいくつかの他の大容量記憶デバイスを含むことができる。
【0298】
入力/出力デバイス826は、制御および測定システム820のための入力/出力動作を行う。入力/出力デバイス826は、量子コンピュータのための物理方式にとって適切なように、D/A変換器、A/D変換器、ならびにそれによって制御信号832をキュビットアセンブリへ送るとともにキュビットアセンブリから読出し信号834を受信するための、RF/マイクロ波/光信号発生器、送信機、および受信機を含むことができる。いくつかの実装形態では、入力/出力デバイス826はまた、1つまたは複数のネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえば、RS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば、802.11カードを含むことができる。いくつかの実装形態では、入力/出力デバイス826は、入力データを受信するとともに出力データを他の外部デバイス、たとえば、キーボード、プリンタ、およびディスプレイデバイスへ送るように構成された、ドライバデバイスを含むことができる。
【0299】
例示的な制御および測定システム820が図8に示されているが、本明細書で説明する主題および機能動作の実装形態は、本明細書の中で開示する構造およびそれらの構造的均等物を含む、他のタイプのデジタル電子回路構成で、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアで、あるいはそれらのうちの1つまたは複数の組合せで実装され得る。
【0300】
図9は、例示的で包括的な古典プロセッサシステム900の概略図を示す。システム900は、いくつかの実装形態による、本明細書で説明する古典動作のために使用され得る。システム900は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、モバイルデバイス、および他の適切なコンピュータなどの、様々な形態のデジタルコンピュータを表すことを意図する。ここで図示する構成要素、それらの接続および関係、ならびにそれらの機能は例にすぎず、本明細書で説明および/または特許請求される本発明の実装形態を限定しない。
【0301】
システム900は、プロセッサ910、メモリ920、記憶デバイス930、および入力/出力デバイス940を含む。構成要素910、920、930、および940の各々は、システムバス950を使用して相互接続される。プロセッサ910は、システム900内での実行用の命令を処理するために有効化されてよい。一実装形態では、プロセッサ910はシングルスレッドプロセッサである。別の実装形態では、プロセッサ910はマルチスレッドプロセッサである。プロセッサ910は、メモリ920の中または記憶デバイス930上に記憶された命令を処理して、入力/出力デバイス940上でユーザインターフェースのためのグラフィカル情報を表示するために、有効化されてよい。
【0302】
メモリ920は、システム900内の情報を記憶する。一実装形態では、メモリ920はコンピュータ可読媒体である。一実装形態では、メモリ920は揮発性メモリユニットである。別の実装形態では、メモリ920は不揮発性メモリユニットである。
【0303】
記憶デバイス930は、システム900に大容量ストレージを提供するために有効化されてよい。一実装形態では、記憶デバイス930はコンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス930は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイスであってよい。
【0304】
入力/出力デバイス940は、システム900のための入力/出力動作を行う。一実装形態では、入力/出力デバイス940は、キーボードおよび/またはポインティングデバイスを含む。別の実装形態では、入力/出力デバイス940は、グラフィカルユーザインターフェースを表示するためのディスプレイユニットを含む。
【0305】
本明細書で説明するデジタル主題および/または量子主題ならびにデジタル機能動作および量子動作の実装形態は、デジタル電子回路構成、好適な量子回路構成、またはより一般的には量子計算システムで、有形に具現されたデジタルおよび/または量子コンピュータソフトウェアまたはファームウェアで、本明細書で開示する構造およびそれらの構造的均等物を含むデジタルおよび/または量子コンピュータハードウェアで、あるいはそれらのうちの1つまたは複数の組合せで実装され得る。「量子コンピューティングデバイス」という用語は、限定はしないが、量子コンピュータ、量子情報処理システム、量子暗号化システム、または量子シミュレータを含んでよい。
【0306】
本明細書で説明するデジタル主題および/または量子主題の実装形態は、1つまたは複数のデジタルおよび/または量子コンピュータプログラム、すなわち、データ処理装置が実行するための、またはデータ処理装置の動作を制御するための、有形非一時的記憶媒体上で符号化されたデジタルおよび/または量子コンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。デジタルおよび/または量子コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、1つまたは複数のキュビット、あるいはそれらのうちの1つまたは複数の組合せであり得る。代替または追加として、プログラム命令は、デジタル情報および/または量子情報を符号化することが可能な人工的に生成された伝搬信号、たとえば、データ処理装置が実行するための好適な受信機装置への送信のためのデジタル情報および/または量子情報を符号化するために生成される機械生成された電気信号、光信号、または電磁信号上で符号化され得る。
【0307】
量子情報および量子データという用語は、量子系によって搬送され、量子系の中に保持または記憶される、情報またはデータを指し、ここで、最小の非自明な系は、キュビット、すなわち、量子情報の単位を規定する系である。「キュビット」という用語が、対応するコンテキストにおいて2レベル系として好適に近似され得るすべての量子系を包含することが理解される。そのような量子系は、たとえば、2つ以上のレベルを有する、マルチレベル系を含んでよい。例として、そのような系は、原子、電子、光子、イオン、または超伝導キュビットを含むことができる。多くの実装形態では、基底状態および第1の励起状態を用いて計算基底状態が識別されるが、より高レベルの励起状態を用いて計算状態が識別される他の設定が可能であることが理解される。
【0308】
「データ処理装置」という用語は、デジタルおよび/または量子データ処理ハードウェアを指し、例として、プログラマブルデジタルプロセッサ、プログラマブル量子プロセッサ、デジタルコンピュータ、量子コンピュータ、複数のデジタルおよび量子プロセッサまたはコンピュータ、ならびにそれらの組合せを含む、デジタルおよび/または量子データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置はまた、専用論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、または量子シミュレータ、すなわち、特定の量子系についての情報をシミュレートまたは生成するように設計されている量子データ処理装置であり得るか、またはそれらをさらに含むことができる。詳細には、量子シミュレータは、万能な量子計算を実行するための能力を有しない専用量子コンピュータである。装置は、ハードウェアに加えて、デジタルおよび/または量子コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを随意に含むことができる。
【0309】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれることもあり、またはそのように説明されることもある、デジタルコンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語または宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で書くことができ、スタンドアロンプログラム、もしくはモジュール、コンポーネント、サブルーチン、またはデジタルコンピューティング環境において使用するのに適した他のユニットとしてを含む、任意の形式で展開され得る。プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれることもあり、またはそのように説明されることもある、量子コンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語または宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で書くことができ、好適な量子プログラミング言語に変換され得るか、あるいは量子プログラミング言語、たとえば、QCLまたはQuipperで書くことができる。
【0310】
デジタルおよび/または量子コンピュータプログラムは、ファイルシステムの中のファイルに相当することがあるが、必須ではない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語文書の中、当該のプログラムに専用の単一のファイルの中、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルの中に記憶された、1つまたは複数のスクリプトを保持するファイルの一部分の中に記憶され得る。デジタルおよび/または量子コンピュータプログラムは、1つのデジタルコンピュータまたは1つの量子コンピュータ上で、あるいは1つのサイトに位置するか、または複数のサイトにわたって分散されデジタルおよび/または量子データ通信ネットワークによって相互接続される、複数のデジタルコンピュータおよび/または量子コンピュータ上で実行されるように展開され得る。量子データ通信ネットワークは、量子系、たとえば、キュビットを使用して量子データを送信してよいネットワークであるものと理解される。一般に、デジタルデータ通信ネットワークは量子データを送信することができないが、量子データ通信ネットワークは、量子データとデジタルデータとの両方を送信してよい。
【0311】
本明細書で説明するプロセスおよび論理フローは、入力デジタルおよび量子データに対して動作するとともに出力を生成することによって機能を実行するために、1つまたは複数のデジタルおよび/または量子コンピュータプログラムを実行する、適宜に、1つまたは複数のデジタルおよび/または量子プロセッサとともに動作する、1つまたは複数のプログラマブルデジタルおよび/または量子コンピュータによって実行され得る。プロセスおよび論理フローはまた、専用論理回路構成、たとえば、FPGAもしくはASIC、または量子シミュレータによって、あるいは専用論理回路構成または量子シミュレータとプログラムされた1つまたは複数のデジタルおよび/または量子コンピュータとの組合せによって実行されることが可能であり、装置はまた、専用論理回路構成、たとえば、FPGAもしくはASIC、または量子シミュレータとして、実装されることが可能である。
【0312】
1つまたは複数のデジタルおよび/または量子コンピュータのシステムが特定の動作またはアクションを実行する「ように構成される」こととは、動作においてシステムに動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを、システムがその上にインストールしていることを意味する。1つまたは複数のデジタルおよび/または量子コンピュータプログラムが特定の動作またはアクションを実行するように構成されることとは、デジタルおよび/または量子データ処理装置によって実行されたとき、装置に動作またはアクションを実行させる命令を、1つまたは複数のプログラムが含むことを意味する。量子コンピュータは、量子コンピューティング装置によって実行されたとき、装置に動作またはアクションを実行させる命令を、デジタルコンピュータから受信してよい。
【0313】
デジタルおよび/または量子コンピュータプログラムの実行に適したデジタルおよび/または量子コンピュータは、汎用もしくは専用のデジタルおよび/もしくは量子プロセッサまたはその両方、あるいは任意の他の種類の中央デジタルおよび/または量子処理ユニットに基づくことができる。一般に、中央デジタルおよび/または量子処理ユニットは、読取り専用メモリ、ランダムアクセスメモリ、または量子データを送信するのに適した量子系、たとえば、光子、あるいはそれらの組合せから、命令ならびにデジタルおよび/または量子データを受信する。
【0314】
デジタルおよび/または量子コンピュータの必須の要素とは、命令を実行(perform)または実行(execute)するための中央処理ユニット、ならびに命令とデジタルおよび/または量子データとを記憶するための1つまたは複数のメモリデバイスである。中央処理ユニットおよびメモリは、専用の論理回路構成または量子シミュレータによって増補され得るか、またはその中に組み込まれ得る。一般に、デジタルおよび/または量子コンピュータはまた、デジタルおよび/または量子データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、光ディスク、または量子情報を記憶するのに適した量子系を含むか、あるいはそこからデジタルおよび/もしくは量子データを受信するか、またはそこにデジタルおよび/もしくは量子データを転送するか、またはその両方のために、動作可能に結合される。しかしながら、デジタルおよび/または量子コンピュータは、そのようなデバイスを有することは必須でない。
【0315】
デジタルおよび/または量子コンピュータプログラム命令ならびにデジタルおよび/または量子データを記憶するのに適したデジタルおよび/または量子コンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバルディスク、光磁気ディスク、CD-ROMおよびDVD-ROMディスク、ならびに量子系、たとえば、トラップされた原子または電子を含む、すべての形態の不揮発性のデジタルおよび/または量子メモリ、媒体、およびメモリデバイスを含む。量子メモリが、高い忠実度および効率を伴って長い時間にわたって量子データを記憶できるデバイス、たとえば、送信のために光が使用される光物質インターフェース、ならびに重ね合わせまたは量子コヒーレンスなどの量子データの量子特徴を記憶および保存するための物質であることが理解される。
【0316】
本明細書で説明する様々なシステムの制御またはそれらの部分は、1つまたは複数の非一時的機械可読記憶媒体上に記憶され1つまたは複数のデジタルおよび/または量子処理デバイス上で実行可能である命令を含む、デジタルおよび/または量子コンピュータプログラム製品の中に実装され得る。本明細書で説明するシステムまたはそれらの部分は各々、1つまたは複数のデジタルおよび/または量子処理デバイス、ならびに本明細書で説明する動作を実行するための実行可能命令を記憶するためのメモリを含んでよい、装置、方法、またはシステムにおいて実装され得る。
【0317】
本明細書は多くの特定の実装詳細を含むが、これらは特許請求され得るものの範囲における限定として解釈されるべきでなく、むしろ特定の実装形態に固有であり得る特徴の説明として解釈されるべきである。別個の実装形態のコンテキストにおいて本明細書で説明されるいくつかの特徴はまた、単一の実装形態において組合せで実施され得る。反対に、単一の実装形態のコンテキストにおいて説明される様々な特徴はまた、複数の実装形態において別個にまたは任意の好適な部分組合せで実施され得る。その上、特徴は、いくつかの組合せで作用するものとして上記で説明されることがあり、当初はそのようなものとして特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴が、場合によっては、その組合せから削除されることが可能であり、特許請求される組合せは、部分組合せまたは部分組合せの変形形態を対象とすることがある。
【0318】
同様に、動作は特定の順序で図面に示されるが、このことは、望ましい結果を達成するために、そのような動作が図示の特定の順序もしくは連続した順序で実行されること、またはすべての図示した動作が実行されることを必要とするものと理解されるべきでない。いくつかの環境では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実装形態における様々なシステムモジュールおよび構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきでなく、説明したプログラム構成要素およびシステムが、一般に、単一のソフトウェア製品の中で一緒に統合され得るか、または複数のソフトウェア製品の中にパッケージ化され得ることを、理解されたい。
【0319】
本主題の特定の実装形態が説明されている。他の実装形態が以下の特許請求の範囲内に入る。たとえば、特許請求の範囲に記載されるアクションは、異なる順序で実行されることが可能であり、やはり望ましい結果を達成する。一例として、添付図面に示すプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序または連続した順序を必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0320】
100 システム
102 古典プロセッサ
104 量子プロセッサ
106 量子系
108 時間分解実験的データ、実験的データ、実験的データポイント
112 要求
114 結果
116 推定値
200 システム
202 NISQデバイス
206 乗算および総和演算
208 積分
212 データ
214 結果
500 システム
502 FTデバイス
512 データ
514 結果
800 量子コンピューティングデバイス
810 キュビットアセンブリ
812 キュビット
814 カプラ
820 制御および測定システム
822 古典プロセッサ、プロセッサ
824 メモリ
826 バス
826 I/Oユニット、入力/出力デバイス
832 制御信号
834 読出し信号
900 システム
910 プロセッサ
920 メモリ
930 記憶デバイス
940 入力/出力デバイス
950 システムバス
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2024-04-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
複数の実験的データポイントを古典プロセッサによって取得するステップであって、各実験的データポイントが、未知の値を有するパラメータを備えるハミルトニアンに従って生成される、ステップと、
コスト関数を最小化するための前記パラメータの推定値を、前記古典プロセッサによって、および所定の完了基準が満たされるまで、反復的に調整するステップを備える、前記パラメータの値を前記古典プロセッサによって学習するステップとを備え、前記コスト関数が前記複数の実験的データポイントに依存し、各イタレーションにおいて、以前のイタレーション用の前記パラメータのそれぞれの推定値に対する前記コスト関数の導関数が、量子コンピュータを使用して算出される、
コンピュータ実装方法。
【請求項2】
前記実験的データポイントが、量子系において実行されたそれぞれの実験に対応し、前記実験が、古典を超える実験を備える、請求項1に記載の方法。
【請求項3】
前記古典プロセッサが、古典的な接続を通じて分光計から前記実験的データポイントを取得する、請求項1に記載の方法。
【請求項4】
前記量子コンピュータが、雑音あり中規模量子コンピューティングデバイスを備える、請求項1に記載の方法。
【請求項5】
量子コンピュータを使用して前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の導関数を算出するステップが、前記ハミルトニアンによって生成されるユニタリ時間発展をシミュレートするために前記量子コンピュータを使用するステップを備え、前記ユニタリ時間発展が、前記ハミルトニアンの中に含まれるエルミート演算子を備える摂動を用いてインターリーブされる、請求項1に記載の方法。
【請求項6】
前記導関数が勾配を備え、前記コスト関数の各勾配が複数の積分を備え、各積分がそれぞれの被積分関数を備え、各被積分関数が、ii)前記複数の実験的データポイントを生成するために使用される量子系の摂動状態が与えられた、i)前記複数の実験的データポイントを生成するために使用される可観測量の期待値を備え、前記摂動状態が、前記ハミルトニアンの中に含まれるエルミート演算子を使用して摂動させられる、請求項1に記載の方法。
【請求項7】
前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の導関数を算出するために量子コンピュータを使用するステップが、
前記複数の積分の各被積分関数の計算を要求するデータを前記古典プロセッサから前記量子コンピュータへ送るステップと、
前記複数の積分の各被積分関数の前記計算の結果を表すデータを前記古典プロセッサによって前記量子コンピュータから受信するステップと
を備える、請求項6に記載の方法。
【請求項8】
前記複数の積分の各被積分関数の前記計算の結果を表す前記データの総和を通じて前記複数の積分を前記古典プロセッサによって算出するステップと、
前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の1次導関数を算出するために、前記算出された複数の積分を使用して乗算演算および加算演算を前記古典プロセッサによって実行するステップと
をさらに備える、請求項7に記載の方法。
【請求項9】
所定の反復数に対して繰り返して、
初期量子状態におけるキュビットのレジスタを前記量子コンピュータによって準備するステップであって、前記初期量子状態が、計算基底において混合対角状態を備える、ステップ、
発展量子状態を取得するために前記初期量子状態に量子回路を前記量子コンピュータによって適用するステップであって、前記量子回路が、制御される摂動を用いてインターリーブされたユニタリ時間発展演算子を備え、前記ユニタリ時間発展演算子が、前記ハミルトニアンによって生成されるユニタリ時間発展をシミュレートし、前記制御される摂動が、前記ハミルトニアンの中に含まれるエルミート演算子を備える、ステップ、および
前記発展量子状態の可観測量を測定するステップであって、前記可観測量が、前記複数の実験的データポイントを生成するために使用される前記可観測量を備える、ステップと、
前記測定された可観測量の期待値を算出するステップと
をさらに備える、請求項1に記載の方法。
【請求項10】
前記量子コンピュータが、フォールトトレラント量子コンピューティングデバイスを備える、請求項1に記載の方法。
【請求項11】
量子コンピュータを使用して前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の導関数を算出するステップが、前記コスト関数の前記導関数を計算するためにブロック符号化を使用するステップを備える、請求項1に記載の方法。
【請求項12】
前記以前のイタレーション用の前記パラメータの推定値に対する前記コスト関数の導関数を算出するために量子コンピュータを使用するステップが、
前記コスト関数の前記導関数の計算を要求するデータを前記古典プロセッサから前記量子コンピュータへ送るステップと、
前記コスト関数の前記導関数の前記計算の結果を表すデータを前記古典プロセッサによって前記量子コンピュータから受信するステップと
を備える、請求項11に記載の方法。
【請求項13】
初期状態におけるキュビットの制御レジスタを前記量子コンピュータによって初期化するステップと、
前記制御レジスタの制御状態を取得するために前記初期状態に準備ユニタリ演算子を前記量子コンピュータによって適用するステップと、
前記制御レジスタの発展状態を取得するために前記制御状態に選択ユニタリ演算子を前記量子コンピュータによって適用するステップであって、前記選択ユニタリ演算子が、前記制御レジスタの前記制御状態に基づいて実施すべきユニタリ演算子を選択する、ステップと、
前記制御レジスタの前記発展状態を測定するステップと
をさらに備える、請求項1に記載の方法。
【請求項14】
各実験的データポイントが、量子系において実行されたそれぞれの実験に対応し、前記それぞれの実験を実行するステップが、
初期状態における前記量子系を準備するステップと、
発展状態を生成するために前記初期状態に時間発展演算子を適用するステップであって、前記時間発展演算子が、前記ハミルトニアンおよび外部時間依存駆動場によって生成される、ステップと、
前記発展状態の可観測量を測定するステップと
を備える、請求項1に記載の方法。
【請求項15】
実験的データポイントの個数が、未知の値を有するパラメータの個数以上である、請求項1に記載の方法。
【請求項16】
前記ハミルトニアンが項の線形結合を備え、各項がそれぞれのパラメータおよびそれぞれのエルミート演算子を備える、請求項1に記載の方法。
【請求項17】
前記コスト関数が、第1の項および第2の項を備え、
前記第1の項が、前記パラメータの推定値と前記パラメータの事前確率との間の2乗差分和を備え、
前記第2の項が、前記パラメータの推定値を使用して推定される実験的データポイントと前記取得された実験的データポイントとの間の2乗差分和を備える、
請求項1に記載の方法。
【請求項18】
前記導関数が2次導関数を備え、前記コスト関数の各2次導関数が複数の積分を備え、各積分が被積分関数を備え、前記被積分関数が、
ii)前記複数の実験的データポイントを生成するために使用される量子系の摂動状態が与えられた、i)前記複数の実験的データポイントを生成するために使用される可観測量の期待値であって、前記摂動状態が、前記ハミルトニアンの中に含まれるエルミート演算子を使用して摂動させられる、期待値、または
ii)前記複数の実験的データポイントを生成するために使用される量子系の摂動状態との、前記ハミルトニアンの中に含まれる第1のエルミート演算子の交換子が与えられた、i)前記複数の実験的データポイントを生成するために使用される可観測量の期待値であって、前記摂動状態が、前記ハミルトニアンの中に含まれる第2のエルミート演算子を使用して摂動させられる、期待値
を備える、請求項1に記載の方法。
【請求項19】
前記導関数が2次導関数を備え、前記コスト関数の値が大域的最小点から所定の距離内にあるとき、前記コスト関数の前記2次導関数が積分の積の総和を備え、各積分が被積分関数を備え、前記被積分関数が、ii)前記複数の実験的データポイントを生成するために使用される量子系の摂動状態が与えられた、i)前記複数の実験的データポイントを生成するために使用される可観測量の期待値を備え、前記摂動状態が、前記ハミルトニアンの中に含まれるエルミート演算子を使用して摂動させられる、請求項1に記載の方法。
【請求項20】
量子コンピュータとデータ通信している1つまたは複数の古典プロセッサを備えるシステムであって、請求項1から19のいずれか一項に記載の方法による動作を実行するように構成される、システム。
【請求項21】
量子コンピュータとデータ通信している1つまたは複数の古典プロセッサを備えるシステムによって実行されたとき、前記システムに請求項1から19のいずれか一項に記載の方法による動作を実行させるコンピュータ可読命令を備える、コンピュータプログラム。
【国際調査報告】