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

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

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

特表2024-523602量子コンピュータおよびシャドートモグラフィを使う非バイアスフェルミオン量子モンテカルロ法の実施
<>
  • 特表-量子コンピュータおよびシャドートモグラフィを使う非バイアスフェルミオン量子モンテカルロ法の実施 図1
  • 特表-量子コンピュータおよびシャドートモグラフィを使う非バイアスフェルミオン量子モンテカルロ法の実施 図2
  • 特表-量子コンピュータおよびシャドートモグラフィを使う非バイアスフェルミオン量子モンテカルロ法の実施 図3
  • 特表-量子コンピュータおよびシャドートモグラフィを使う非バイアスフェルミオン量子モンテカルロ法の実施 図4
  • 特表-量子コンピュータおよびシャドートモグラフィを使う非バイアスフェルミオン量子モンテカルロ法の実施 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-28
(54)【発明の名称】量子コンピュータおよびシャドートモグラフィを使う非バイアスフェルミオン量子モンテカルロ法の実施
(51)【国際特許分類】
   G06N 10/20 20220101AFI20240621BHJP
【FI】
G06N10/20
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023579817
(86)(22)【出願日】2022-06-28
(85)【翻訳文提出日】2024-02-26
(86)【国際出願番号】 US2022035334
(87)【国際公開番号】W WO2023278462
(87)【国際公開日】2023-01-05
(31)【優先権主張番号】63/215,842
(32)【優先日】2021-06-28
(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)【発明者】
【氏名】ライアン・バブシュ
(57)【要約】
ハイブリッド量子古典量子モンテカルロのための方法、システム、および装置を提供する。一態様では、方法は、古典コンピュータによって、量子コンピュータによって生成されたデータを受信するステップであって、データは試行波動関数の測定の結果を表し、試行波動関数は、ターゲット波動関数に近似し、量子コンピュータによって準備される、ステップと、古典コンピュータによって、試行波動関数の測定の結果を表すデータを使って、試行波動関数の古典的シャドーを計算するステップと、古典コンピュータによって、フェルミオン量子システムを特徴付けるハミルトニアンを使って、初期波動関数の虚数時間ステップのシーケンスについての虚数時間伝播を実施するステップとを含み、虚数時間伝播は、所定の収束基準が満たされるまで実施され、虚数時間伝播の各虚数時間ステップを実施するステップは、試行波動関数の古典的シャドーを使って、前の虚数時間ステップに対する波動関数を更新して、現在の虚数時間ステップに対する波動関数を取得するステップを含む。
【特許請求の範囲】
【請求項1】
フェルミオン量子システムの量子モンテカルロシミュレーションを実施して、前記フェルミオン量子システムのターゲット波動関数を計算するためのコンピュータ実装方法であって、
古典コンピュータによって、量子コンピュータによって生成されたデータを受信するステップであって、前記データは、試行波動関数の1つまたは複数の測定の結果を表し、前記試行波動関数は、前記ターゲット波動関数に近似し、前記量子コンピュータによって準備される、ステップと、
前記古典コンピュータによって、前記試行波動関数の前記1つまたは複数の測定の前記結果を表す前記データを使って、前記試行波動関数の古典的シャドーを計算するステップと、
前記古典コンピュータによって、前記フェルミオン量子システムを特徴付けるハミルトニアンを使って、初期波動関数の虚数時間ステップのシーケンスについての虚数時間伝播を実施するステップとを含み、
前記虚数時間伝播は、所定の収束基準が満たされるまで実施され、
前記虚数時間伝播の各虚数時間ステップを実施するステップは、前記試行波動関数の前記古典的シャドーを使って、前の虚数時間ステップに対する波動関数を更新して、現在の虚数時間ステップに対する波動関数を取得するステップを含む、方法。
【請求項2】
前記試行波動関数の前記古典的シャドーを使って、前記前の虚数時間ステップに対する前記波動関数を更新するステップは、
前記現在の虚数時間ステップに対するウォーカー波動関数を判断するステップと、
前記前の虚数時間ステップに対する前記試行波動関数とウォーカー波動関数の第1の内積および現在の虚数時間ステップに対する前記試行波動関数とウォーカー波動関数の第2の内積を使って、現在の虚数時間ステップに対するウォーカー重みを判断するステップであって、前記第1の内積および第2の内積は、前記試行波動関数の前記古典的シャドーを使って判断される、ステップとを含む、請求項1に記載の方法。
【請求項3】
前記試行波動関数の前記計算された古典的シャドーを、前記古典コンピュータの古典メモリに記憶するステップをさらに含む、請求項1または請求項2に記載の方法。
【請求項4】
前記前の虚数時間ステップに対する前記試行波動関数とウォーカー波動関数の前記第1の内積および現在の虚数時間ステップに対する前記試行波動関数とウォーカー波動関数の前記第2の内積を使って、現在の虚数時間ステップに対するウォーカー重みを判断するステップは、
前記試行波動関数の前記古典的シャドーを前記古典メモリから取り出すステップと、
1つまたは複数の古典的にシミュレートされた第1の射影子の期待値および前記試行波動関数の前記古典的シャドーを判断することを含む、前記第1の内積の近似を計算するステップであって、前記1つまたは複数の第1の射影子は、前記前の虚数時間ステップに対する前記ウォーカー波動関数に依存する、ステップと、
1つまたは複数の古典的にシミュレートされた第2の射影子の期待値および前記試行波動関数の前記古典的シャドーを判断することを含む、前記第2の内積の近似を計算するステップであって、前記1つまたは複数の第2の射影子は、前記現在の虚数時間ステップに対する前記ウォーカー波動関数に依存する、ステップとを含む、請求項3に記載の方法。
【請求項5】
前記1つまたは複数の第1の射影子は、スタビライザ状態を使って生成される、請求項4に記載の方法。
【請求項6】
前記スタビライザ状態は、前記試行状態によって表される粒子の数に等しいハミング重みをもつ計算基礎状態を含む、請求項5に記載の方法。
【請求項7】
前記試行波動関数は、ユニタリーのアンサンブルからランダムにサンプリングされたユニタリー演算子を使って回転される試行波動関数を含み、前記ユニタリーのアンサンブルはトモグラフィ的に完全である、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記ユニタリー演算子は、Nキュビットクリフォード回路またはN未満のキュビットにおけるランダムに選択されたクリフォード回路のテンソル積を含む、請求項7に記載の方法。
【請求項9】
前記虚数時間伝播の各虚数時間ステップを実施するステップは、前記試行波動関数の前記古典的シャドーを使って、エネルギー推定量を計算するステップをさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記試行波動関数は、ユニタリー演算子のテンソル積を使って変換された試行波動関数を含み、前記テンソル積の中の各ユニタリー演算子は、それぞれのランダムに選択されたNp∈Pキュビットクリフォードゲートを含み、Np∈Pは、Nキュビットの、P個の部分への区分の部分pの中のキュビットの数を表す、請求項1から5または9のいずれか一項に記載の方法。
【請求項11】
量子コンピュータによって、前記試行波動関数の複数のコピーを準備するステップであって、前記試行波動関数は前記ターゲット波動関数に近似する、ステップと、
前記量子コンピュータによって、前記試行波動関数の前記複数のコピーの変換に対して測定動作を実施するステップと、
前記量子コンピュータによって前記古典コンピュータへ、前記測定動作の結果を表すデータを送信するステップとをさらに含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
フェルミオン量子システムの量子モンテカルロシミュレーションを実施して、前記フェルミオン量子システムのターゲット波動関数を計算するためのコンピュータ実装方法であって、
量子コンピュータによって、試行波動関数の複数のコピーを準備するステップであって、前記試行波動関数は前記ターゲット波動関数に近似する、ステップと、
前記量子コンピュータによって、前記試行波動関数の前記複数のコピーの変換に対して測定動作を実施するステップと、
前記量子コンピュータによって古典コンピュータへ、前記測定動作の結果を表すデータを送信するステップであって、前記古典コンピュータは、前記送信されたデータを使って前記フェルミオン量子システムを特徴付けるハミルトニアンを使って、初期波動関数の虚数時間伝播を実施する、ステップとを含む方法。
【請求項13】
前記試行波動関数のコピーの変換に対する測定動作を実施するステップは、
ユニタリー演算子のアンサンブルからユニタリー演算子をランダムにサンプリングするステップであって、前記ユニタリー演算子のアンサンブルはトモグラフィ的に完全である、ステップと、
前記ランダムにサンプリングされたユニタリー演算子を、前記試行波動関数の前記コピーに適用して、回転試行波動関数を取得するステップと、
前記計算基礎で前記回転試行波動関数を測定するステップとを含む、請求項12に記載の方法。
【請求項14】
前記試行波動関数のコピーの変換に対する測定動作を実施するステップは、
ユニタリー演算子のアンサンブルから複数のユニタリー演算子をランダムにサンプリングするステップであって、前記ユニタリー演算子のアンサンブルはトモグラフィ的に完全であり、各サンプリングされたユニタリー演算子はNp∈Pキュビットクリフォードゲートを含み、Np∈Pは、Nキュビットの、P個の部分への区分の部分pの中のキュビットの数を表す、ステップと、
前記ランダムにサンプリングされたユニタリー演算子のテンソル積を、前記試行波動関数の前記コピーに適用して、変換された試行波動関数を取得するステップと、
前記変換された試行波動関数を前記計算基礎で測定するステップとを含む、請求項12に記載の方法。
【請求項15】
前記量子モンテカルロシミュレーションは、射影子量子モンテカルロシミュレーションまたは補助場量子モンテカルロシミュレーションを含む、請求項1から14のいずれか一項に記載の方法。
【請求項16】
前記量子コンピュータは、ノイズあり中規模量子デバイスを含む、請求項1から15のいずれか一項に記載の方法。
【請求項17】
前記試行波動関数は、一般化された原子価結合完全ペアリング波動関数仮説からの波動関数を含む、請求項1から16のいずれか一項に記載の方法。
【請求項18】
前記一般化された原子価結合完全ペアリング波動関数仮説は、密度-密度項を含むレイヤの第1のセットおよび同じスピンペアの間の最近傍ホッピング項を含むレイヤの第2のセットを含む、請求項17に記載の方法。
【請求項19】
1つまたは複数のコンピュータと、
命令を記憶した、前記1つまたは複数のコンピュータに結合された1つまたは複数のコンピュータ可読記録媒体とを備えるシステムであって、前記命令は、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から11および15から18のいずれか一項に記載の方法による動作を実施させる、システム。
【請求項20】
1つまたは複数の量子コンピュータと、
前記1つまたは複数の量子コンピュータによって実行されると、前記1つまたは複数の量子コンピュータに、請求項12から18のいずれか一項に記載の方法による動作を実施させる命令を記憶した、前記1つまたは複数の量子コンピュータに結合された1つまたは複数のコンピュータ可読媒体とを備えるシステム。
【請求項21】
前記量子コンピュータはNISQデバイスを含む、請求項20に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、量子コンピューティングに関する。
【背景技術】
【0002】
多電子システムの基底状態についてのシュレーディンガー方程式の正確な解を算出することは、現代科学のほぼすべての分野にわたって応用され、化学、物理、材料科学、および生物学における重要な未解決の疑問の詳細な理解を可能にする。ただし、シュレーディンガー方程式の複雑度は、システム中の電子の数とともに指数関数的に増大する。したがって、複雑システムの基底状態量子機械プロパティを正確に算出する効率的手段への進歩は遅かった。
【0003】
シュレーディンガー方程式の解を算出するための知られている汎用方法は、2つのカテゴリにグループ化することができる。第1のカテゴリは、システムサイズに合わせて指数関数的にスケーリングするとともに数値的に厳密な回答を生じる方法を含む。第2のカテゴリは、システムサイズに合わせて多項式的にスケーリングするコストがかかるとともに、観測可能量を計算するときの誤差の取消しに依拠する方法を含む。第2のカテゴリの手法は、大規模システムに実行可能に適用することができる、現時点で唯一の方法であるが、そのようなケースにおいて得られる解の精度は、満足できるものではなく、ほぼ常に、利用するのが難しい。
【0004】
量子コンピューティングは、効率において古典方法を補い、可能性としてはしのぐことができる代替計算パラダイムを提供する。耐障害型量子コンピュータがない場合、ノイズあり中規模量子コンピューティング(NISQ)技術を、多体系量子問題を調査するのに使うことができる。量子基底状態の計算のためのNISQアルゴリズムは、大部分が変分量子固有値ソルバー(VQE)フレームワークを中心としており、これは、最適化問題点およびノイズあり勾配に対処することを必要とする。代替として、最適化問題を原則として回避する、虚数時間発展法に基づくアルゴリズムが提案されている。ただし、虚数時間発展法の非ユニタリー性のせいで、システムサイズで妥当なスケーリングを達成するためには、最適化ヒューリスティクスが使われなければならない。したがって、これらの制限要因を回避する代替計算戦略が、フェルミオンシミュレーションにおける初の実用的な量子超越性を可能にするために必要とされている。
【発明の概要】
【課題を解決するための手段】
【0005】
本明細書は、量子コンピュータおよびシャドートモグラフィを使って、非バイアスフェルミオン量子モンテカルロ法を実施するための量子古典ハイブリッドアルゴリズムについて記載する。
【0006】
概して、本明細書に記載する主題の1つの発明的態様は、フェルミオン量子システムの量子モンテカルロシミュレーションを実施して、フェルミオン量子システムのターゲット波動関数を計算するための方法で実装することができ、この方法は、古典コンピュータによって、量子コンピュータによって生成されたデータを受信するステップであって、データは、変換された試行波動関数の1つまたは複数の測定の結果を表し、試行波動関数は、ターゲット波動関数に近似し、量子コンピュータによって準備される、ステップと、古典コンピュータによって、変換された試行波動関数の1つまたは複数の測定の結果を表すデータを使って、試行波動関数の古典的シャドーを計算するステップと、古典コンピュータによって、フェルミオン量子システムを特徴付けるハミルトニアンを使って、初期波動関数の虚数時間ステップのシーケンスについての虚数時間伝播を実施するステップとを含み、虚数時間伝播は、所定の収束基準が満たされるまで実施され、虚数時間伝播の各虚数時間ステップを実施するステップは、試行波動関数の古典的シャドーを使って、前の虚数時間ステップに対する波動関数を更新して、現在の虚数時間ステップに対する波動関数を取得するステップを含む。
【0007】
これらの態様の他の実装形態は、方法のアクションを実施するように各々が構成された、対応するコンピュータシステムと、装置と、1つまたは複数のコンピュータ記憶デバイス上に記録されたコンピュータプログラムとを含む。1つまたは複数の古典および/または量子コンピュータからなるシステムは、動作中、システムにアクションを実施させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有するおかげで、特定の動作またはアクションを実施するように構成することができる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実施させる命令を含むおかげで、特定の動作またはアクションを実施するように構成することができる。
【0008】
上記および他の実装形態は各々、任意選択で、以下の特徴のうちの1つまたは複数を、単独で、または組み合わせて含み得る。いくつかの実装形態では、試行波動関数の古典的シャドーを使って、前の虚数時間ステップに対する波動関数を更新するステップは、現在の虚数時間ステップに対するウォーカー波動関数を判断するステップと、前の虚数時間ステップに対する試行波動関数とウォーカー波動関数の第1の内積および現在の虚数時間ステップに対する試行波動関数とウォーカー波動関数の第2の内積を使って、現在の虚数時間ステップに対するウォーカー重みを判断するステップであって、第1の内積および第2の内積は、試行波動関数の古典的シャドーを使って判断される、ステップとを含む。
【0009】
いくつかの実装形態では、方法は、試行波動関数の計算された古典的シャドーを、古典コンピュータの古典メモリに記憶するステップをさらに含む。
【0010】
いくつかの実装形態では、前の虚数時間ステップに対する試行波動関数とウォーカー波動関数の第1の内積および現在の虚数時間ステップに対する試行波動関数とウォーカー波動関数の第2の内積を使って、現在の虚数時間ステップに対するウォーカー重みを判断するステップは、試行波動関数の古典的シャドーを古典メモリから取り出すステップと、1つまたは複数の古典的にシミュレートされた第1の射影子の期待値および試行波動関数の古典的シャドーを判断することを含む、第1の内積の近似を計算するステップであって、1つまたは複数の第1の射影子は、前の虚数時間ステップに対するウォーカー波動関数に依存する、ステップと、1つまたは複数の古典的にシミュレートされた第2の射影子の期待値および試行波動関数の古典的シャドーを判断することを含む、第2の内積の近似を計算するステップであって、1つまたは複数の第2の射影子は、現在の虚数時間ステップに対するウォーカー波動関数に依存する、ステップとを含む。
【0011】
いくつかの実装形態では、1つまたは複数の第1の射影子は、スタビライザ状態を使って生成される。
【0012】
いくつかの実装形態では、スタビライザ状態は、試行状態によって表される粒子の数に等しいハミング重みをもつ計算基礎状態を含む。
【0013】
いくつかの実装形態では、変換された試行波動関数は、ユニタリーのアンサンブルからランダムにサンプリングされたユニタリー演算子を使って回転される試行波動関数を含み、ユニタリーのアンサンブルはトモグラフィ的に完全である。いくつかの実装形態では、ユニタリー演算子は、Nキュビットクリフォード回路またはN未満のキュビットにおけるランダムに選択されたクリフォード回路のテンソル積を含む。
【0014】
いくつかの実装形態では、虚数時間伝播の各虚数時間ステップを実施するステップは、試行波動関数の古典的シャドーを使って、エネルギー推定量を計算するステップをさらに含む。
【0015】
いくつかの実装形態では、変換された試行波動関数は、ユニタリー演算子のテンソル積を使って変換された試行波動関数を含み、テンソル積の中の各ユニタリー演算子は、それぞれのランダムに選択されたNp∈Pキュビットクリフォードゲートを含み、Np∈Pは、Nキュビットの、P個の部分への区分の部分pの中のキュビットの数を表す。
【0016】
いくつかの実装形態では、量子モンテカルロシミュレーションは、射影子量子モンテカルロシミュレーションまたは補助場量子モンテカルロシミュレーションを含む。
【0017】
いくつかの実装形態では、量子コンピュータは、ノイズあり中規模量子デバイスを含む。
【0018】
いくつかの実装形態では、試行波動関数は、一般化された原子価結合完全ペアリング波動関数仮説からの波動関数を含む。
【0019】
いくつかの実装形態では、一般化された原子価結合完全ペアリング波動関数仮説は、密度-密度項を含むレイヤの第1のセットおよび同じスピンペアの間の最近傍ホッピング項を含むレイヤの第2のセットを含む。
【0020】
本明細書において説明される主題は、以下の利点のうちの1つまたは複数を実現するために特定のやり方で実装され得る。
【0021】
本願に記載する技法を実装するシステムは、向上した計算効率および向上した精度で、量子状態およびそのプロパティをターゲットにすることができる。たとえば、本ハイブリッド量子古典量子モンテカルロアルゴリズムでは、古典的に実施される量子モンテカルロ法は、量子コンピュータに繰り返し問い合わせる必要がない。量子および古典コンピュータの間の対話をこのように分離することによって、レイテンシを最小限にする必要が回避されるが、これはNISQプラットフォーム上では特に魅力的な特徴である。
【0022】
さらに、本願に記載する技法を実装するシステムは、従来の試行波動関数、たとえば、単一行列式よりも本質的に正確であるとともに、量子コンピュータにおける変分最適化の問題点を迂回する効率的多項スケーリング古典手法によって取得することができる試行波動関数を使う。試行波動関数は、量子モンテカルロ法によって要求される量の評価のために、知られている多項式スケーリング古典アルゴリズムが存在しない波動関数を含み得る。試行波動関数は多項式スケーリングを達成し、したがって本願に記載する技法は、古典なものと比較して、指数関数的な計算スピードアップを達成する。
【0023】
さらに、本願に記載する技法を実装するシステムは、量子モンテカルロ法によって要求される量、たとえば、波動関数重複を、有界数の実験および測定反復で(試行波動関数の形に対する制約なしで)計算することができる。この数は、次数が
【数1】
である(ここで、εは、量子モンテカルロ法における誤差である)。したがって、これらの技法は、短期量子コンピュータ上での実装形態に特に適している。
【0024】
さらに、本願に記載する技法は、ノイズ、たとえば、ハードウェア不全から生じるノイズに対して堅牢であり、というのは、直接計算される量は、重複値の間の比であり、これは本質的に、いくつかの誤差チャネルによってスケーリングし直される重複に対して強いからである。
【0025】
本明細書の主題の1つまたは複数の実装態様の詳細は、添付の図面および以下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【0026】
図1】量子古典ハイブリッドQMCアルゴリズムを実施する例示的システムのブロック図である。
図2】フェルミオン量子システムの量子モンテカルロシミュレーションを実施して、シャドートモグラフィを使ってフェルミオン量子システムのターゲット波動関数および/またはターゲット波動関数のプロパティを計算するための第1の例示的プロセスの流れ図である。
図3】8キュビット実験における、H4分子への、本願に記載するQC-QMCアルゴリズムの適用を示す図である。
図4】フェルミオン量子システムの量子モンテカルロシミュレーションを実施して、フェルミオン量子システムのターゲット波動関数および/またはターゲット波動関数のプロパティを計算するための第2の例示的プロセスの流れ図である。
図5】例示的古典/量子コンピュータを示す図である。
【発明を実施するための形態】
【0027】
量子モンテカルロ(QMC)手法は、多体系ハミルトニアン
【数2】
の厳密な量子状態|Ψ0〉、たとえば、基底状態を、以下の式1によって与えられる、|Ψ0〉との非ゼロ重複を有する初期状態|Φ0〉の虚数時間発展法により、ターゲットにする。
【数3】
式1において、τは虚数時間を表し、|Ψ(τ)〉は、τによる|Φ0〉からの時間発展波動関数を表す。いかなるさらなる修正もなしで、これは、ターゲット状態|Ψ0〉の計算のための厳密な手法である。実際、式1の決定論的実装は、システムサイズとともに指数関数的にスケーリングする。したがって、従来技術は、
【数4】
および|Ψ0〉などの高次元オブジェクトの明示的記憶を回避することによって、スケーラブルなシミュレーション、たとえば、厳密な基底状態エネルギーについての推定値をサンプリングする多項式スケーリングシミュレーションのために、式1の確率実現に頼る。そのような確率実現は、射影子QMC(PQMC)と呼ばれることがある。
【0028】
ターゲット状態の基底状態エネルギー、すなわちEground=E(τ=∞)は、M個の統計サンプルにわたる加重平均によって与えられる{〈E(τ)〉}の時系列を平均することによって推定することができ、
【数5】
上式で、E(i)(τ)は、エネルギーについての第iの統計サンプルを表し、wi(τ)は、虚数時間τにおける、そのサンプルについての対応する正規化された重みを表す。
【0029】
形式的には厳密だが、そのような確率的虚数時間発展アルゴリズムは一般的に、各統計サンプルの重みにおける交替する符号により現れる、有名なフェルミオン符号問題に遭遇する。最悪の場合、フェルミオン符号問題により、エネルギーの推定量は、指数関数的に大きい分散を有することになり、基底状態エネルギーなどの観測可能量の固定精密度推定値を取得するために、指数関数的に多くのサンプルを平均する必要を伴う。したがって、基底状態およびそのプロパティの信頼できる計算は実際的に実現不可能であり、厳密な非バイアスQMC手法は、小規模システムまたは符号問題がないものに対して適用可能なだけである。
【0030】
第1の量子化QMC方法では、この問題は、ボソン基底状態として発現(render)する。フェルミオン反対称が明示的には課されないので、第1量子化ハミルトニアンの真の基底状態は、実際にはボソンである。これは次いで、フェルミオン基底状態を計算するために、第1の量子化においてフェルミオンノード構造を課すことを要求する。第2の量子化QMC方法では、ボソン状態は、フェルミオンハミルトニアンからは取得することができない。符号問題は、異なるように現れる。第2の量子化QMC方法からの統計的推定値は、システムサイズとともに指数関数的に増大する分散を呈する。
【0031】
符号問題は、それぞれの波動関数、すなわち|φi(τ)〉によって表される各統計サンプルの虚数時間発展法に対して制約を課すことによって、多項式的に有界される分散とともに基底状態エネルギーの推定量を与えるように制御され得る。これらの制約、たとえば、固定ノードおよび位相なし近似は、試行波動関数|ΨT〉の使用によって課すことができ、制約付きQMCの精度は、試行波動関数の選択によって決まる。そのような制約は、最終基底状態エネルギー推定値に、可能性としては大幅なバイアスを必然的にもち込む。
【0032】
古典的に、試行波動関数のための計算的に扱える選択肢は、単一平均場行列式などの状態、たとえば、ハートリー-フォック状態、平均場状態の線形結合、平均場状態に適用される電子-電子ペア(二体)相関器(一般に、ジャストロー因子と呼ばれる)の単純形、またはバックフロー手法などの平均場状態に適用される、いくつかの他の物理的に誘導された変換に限定される。一方、量子回路とともに準備することができる波動関数は、より一般的な二体相関器を含む、量子コンピュータ上での試行波動関数のための候補である。これらの試行波動関数は、本明細書では「量子」試行波動関数と呼ばれる。
【0033】
本明細書は、制約付き量子モンテカルロ(QMC)を量子コンピューティング技法と組み合わせて、最終量子状態推定値におけるバイアスを削減するハイブリッド量子古典QMCアルゴリズムについて記載する。量子古典ハイブリッドQMCアルゴリズム(QC-QMC)は、古典コンピュータ上で虚数時間発展法の大部分を実施する間、量子試行波動関数を使用する。つまり、古典コンピュータが、各統計サンプル|φi(τ)〉の虚数時間発展法を実施し、基底状態エネルギー推定値E(i)(τ)などの観測可能量を収集する。この手順の間、量子試行波動関数による制約が、符号問題を制御するために課される。
【0034】
制約付き時間発展を実施するために、量子コンピュータを要求する唯一の原始関数は、試行波動関数|ΨT〉と、任意の虚数時間τにおける統計サンプル波動関数|φi(τ)〉との間の重複の計算である。特に、本願に記載するQC-QMCアルゴリズムは、シャドートモグラフィを使って、試行波動関数と統計サンプルとの間の重複を推定する。実験に基づいて、これは、QMC法を始めるのに先立って、試行波動関数に関連した基準状態の、ランダムに選ばれた測定のセットを実施することを含む。これにより、古典的後処理と組み合わされた、わずかな回数の実験的繰り返しを使って、要求される重複のセット全体の効率的推定ができる。古典的に実施されるQMC法が、このQC-QMC定式化において量子コンピュータに繰り返し問い合わせることは、統計サンプルの詳細が前もって判断されないことにかかわらず、必要ない。量子および古典コンピュータの間の対話を分離することによって、レイテンシを最小限にする必要が回避されるが、これはNISQプラットフォーム上では特に魅力的な特徴である。
【0035】
本願に記載するQC-QMCアルゴリズムは、概して、どの形の制約付きQMCにも当てはまるが、例示目的のために、本明細書は、補助場QMC(AFQMC)として知られるQMCの実装形態を使うQC-QMCアルゴリズムの具体的な実証について記載する。AFQMCは、第2量子化空間の中でうまくいくPQMC方法である。したがって、AFQMCにおける符号問題は、統計的推定値における分散を増大する際に現れる。虚数時間伝播における制約を課すために、重点サンプリングならびに制約において使うことができる試行波動関数がもち込まれる。この結果、虚数時間τにおける波動関数は、
【数6】
と書かれ、上式で、|φi(τ)〉は、第iのウォーカーの波動関数を表し、wi(τ)は、第iのウォーカーの重みであり、|ΨT〉は、事前に選ばれた試行波動関数である。いくつかの実装形態では、試行波動関数は、単一平均場試行波動関数(多項式スケーリングコストを有する)であってよく、または平均場状態(最終的には、重要平均場状態の数の指数関数的な増大により、システムサイズとともに指数関数的にスケーリングする)の線形結合であってよい。式3から、重点サンプリングが、ウォーカー波動関数と試行波動関数との間の重複に基づいて課されることが明らかである。
【0036】
いくつかの実装形態では、式3におけるウォーカー波動関数は、単一スレイター行列式となるように選ぶことができ、式1における、小さい時間ステップΔτに対する虚数伝播、すなわち
【数7】
のアクションは、これらの波動関数が、ハバード-ストラノビッチ変換により、単一スレイター行列式多様体の中に留まることを可能にする。このプロパティは、計算コストが、システムサイズとともに多項式的にのみ増大することを可能にする。
【0037】
虚数時間伝播を波動関数に反復的に適用する間、AFQMCアルゴリズムは、すべての重みが真および正のままであり、最終エネルギー推定量、すなわち
【数8】
が小さい分散を有するように、式3におけるウォーカー重みwi(τ)を更新するための特定の技法を規定する。式4において、E(i)(τ)は、局所エネルギーを表し、
【数9】
と定義される。式4は、QMCにおいて「混合」エネルギー推定量と呼ばれる。制約は、
|Si(τ)|×max(0,cosθi(τ)) (5)
を使って、第nのウォーカー重みがτからτ+Δτに更新されると指定し、上式で、
【数10】
であり、θi(τ)はSn(τ)の引数を表す。これは、ウォーカー重みが正および真であることを保証しない、Si(τ)を使うだけでウォーカー重みを更新する典型的な重点サンプリング戦略とは対照的である。|ΨT〉が厳密である場合、この制約は、いかなるバイアスももち込まないが、波動関数の「ゲージ固定」と見なすことができる具体的な境界条件を虚数伝播に課す。実際、試行関数|ΨT〉は厳密ではなく、したがって、AFQMC法を使って近似エネルギーが、|ΨT〉の選択に依存する精度で計算される。そのような制約は一般に、AFQMC文献では「位相なし近似」と呼ばれる。
【0038】
現時点では、古典的に扱える試行波動関数は、単一行列式または行列式の線形結合のいずれかである。前者は、スケーラブルである(最大500個くらいの電子)が、特に強相関システムに対しては、しばしば不正確であり得る。後者は、少数の電子(14くらい)に限定されるが、強相関システムに対しても非常に正確にすることができる。AFQMCにおける試行波動関数の選択は、式4および式6の評価によって制限される。これらのいずれか1つの、計算は、システムサイズに合わせて指数関数的にスケーリングし、結果としてのAFQMC法は、指数関数的に費用がかかる。
【0039】
本願に記載するQC-QMCアルゴリズムは、単一行列式よりも本質的に正確な試行波動関数であって、量子コンピュータにおける変分最適化の問題点を迂回する、効率的な多項スケーリング古典手法によって取得することができる試行波動関数のクラスを使う。試行波動関数は、式4および式6の評価のために、知られている多項式スケーリング古典アルゴリズムが存在しない波動関数を含み得る。量子コンピュータが、式4および式6のための多項式スケーリングアルゴリズムの導入により、そのような制限を取り除くのに使われ、そうすることによって、これは、古典的コンピュータと比較して、指数関数的なスピードアップを保証する。本願に記載するQC-QMCアルゴリズムでは、式4および式6は、量子コンピュータ上で測定することができ、実際の虚数時間伝播が古典的に実装され得る。これは、サブルーチンを、量子コンピュータ上で稼働される必要があるものと、古典コンピュータ上で稼働される必要があるものに分ける。
【0040】
いくつかの実装形態では、試行波動関数は、結合クラスタ波動関数の変形体であり得る。結合クラスタ波動関数は、指数的パラメータ化、すなわち
【数11】
によって特徴付けられ、上式で、|Ψ0〉は基準単一行列式であり、クラスタ演算子
【数12】
は、
【数13】
によって与えられ、上式で、{i,j,k,...}は被占軌道を表し、{a,b,c,...}は空軌道を表す。
【数14】
は、単一励起(S)、二重励起(D)、三重励起(T)などを含むように拡張することができる。得られる結合クラスタ波動関数は次いで、より高い励起を含めることによって、系統的に改善可能である。広く使われる波動関数は、最大で二重を伴い、単一および二重付き結合クラスタ(CCSD:coupled-cluster with singles and doubles)と呼ばれる。現時点では、結合クラスタ振幅、すなわちtを変分的に判断するための効率的なアルゴリズムはない。ただし、これらの振幅およびエネルギーを判断するための効率的な射影方法があるが、得られるエネルギーは変分的でない。そのような非変分性は、従来の結合クラスタの破壊として容易に現れるが、基底にある波動関数は依然として、質的に正しく、射影エネルギー評価がこの原因である。
【0041】
CCSD(または他のより高次の結合クラスタ波動関数)を使うことは、AFQMC試行波動関数としての使用には適さず、というのは、そのような関数の、任意のスレイター行列式への投射は、近似なしでは効率的に算出することができないからである。このことは、結合クラスタの、ほぼすべての非自明変形体に当てはまる。一般化された原子価結合完全ペアリング(PP)1,2など、振幅の限定セットとの、結合クラスタ方法のための波動関数重複を算出するコストも、システムサイズに合わせて指数関数的にスケーリングする。そのような波動関数の要求される重複は、結合クラスタ波動関数のユニタリーバージョン、またはそれらへの近似を準備するのに量子コンピュータを使うことによって効率的に評価することができる。古典的に最適化することができる結合クラスタ波動関数の使用により、量子デバイスにおけるコストのかかる変分最適化手順が回避される。
【0042】
試行波動関数として使うことができる例示的結合クラスタ波動関数仮説は、一般化された原子価結合PP仮説である。この仮説は、
【数15】
として定義され、上式で、軌道回転演算子は、
【数16】
と定義され、PPクラスタ演算子は、
【数17】
である。この式において、各iは被占軌道であり、各i*は、被占軌道iとペアにされる、対応する仮想軌道である。この波動関数のスピン軌道は、Jordan-Wigner変換を使ってキュビットにマップすることができる。tiの中のペア基礎は、軌道回転演算子によって定義される新たな回転軌道基礎の中で定義されることに留意されたい。PP波動関数は、主に、分子軌道理論よりも直観的な化学的描写をしばしば与える原子価結合理論との、その自然な結び付きにより、化学プロセスを理解するのに特に適している。
【0043】
PP波動関数はしばしば、質的精度を達成するには不十分になる。これは、多重結合破壊などのペア間相関が重要になるシステムにおいて最もよく示される。それらのペア間相関を古典的に組み込むためのいくつかのやり方があるが、本願に記載する、ハードウェア効率的演算子のQC-QMC複数レイヤを、PP仮説に加えることができる。追加することが可能な、2種類の、これらの追加レイヤがある。
1.第1の種類のレイヤは、密度-密度積項
【数18】
のみを含む。
【0044】
このレイヤの中のあらゆる演算子が、Trotter誤差がないように、互いと交換可能であることに留意されたい。
2.第2の種類は、同じスピン(σ)ペアの間の「最近傍」ホッピング項
【数19】
のみを含み、上式で、iおよびj軌道は、ハードウェアレイアウトにおいて物理的に近接している。
【0045】
各種類の複数のレイヤが交替され、PP仮説に適用されて、全体的精度を改善することができる。これらのレイヤの効力は、i、jペアの選択で変わる。
【0046】
図1は、本願に記載するQC-QMCアルゴリズムを実施する例示的システム100のブロック図である。システム100は、以下で説明するシステム、構成要素、および技法を実装することができる、1つまたは複数のロケーションにある量子コンピューティングデバイスおよび古典コンピュータ上で量子および古典コンピュータプログラムとして実装されるシステムの例である。
【0047】
例示的システム100は、古典プロセッサ104とデータ通信する量子プロセッサ102を含む。例示目的で、量子プロセッサ102および古典プロセッサ104が別個のエンティティとして示されているが、いくつかの実装形態では、古典プロセッサ104が量子プロセッサ102の中に含まれてよい。
【0048】
量子プロセッサ102は、量子計算を実施するための構成要素を含む。たとえば、量子プロセッサ102は、キュビットアレイと、量子回路構成と、キュビットアレイ中の物理的キュビットを操作し、キュビットに量子回路を適用するように構成された制御デバイスとを含み得る。例示的な量子プロセッサが、図5を参照して以下でより詳しく記述される。
【0049】
古典プロセッサ104は、古典計算を実施するための構成要素を含む。たとえば、古典プロセッサ104は、量子プロセッサ102に対して試行波動関数を指定するデータを送信し、量子プロセッサ102によって実施された測定動作の結果を表すデータを受信するように構成されてよい。古典プロセッサ104はさらに、ターゲット状態の古典表現またはターゲット状態のプロパティを計算するために、量子プロセッサ102によって実施された測定動作の結果を表す、受信されたデータを処理するように構成されてよい。
【0050】
上述したように、本願に記載するQC-QMCアルゴリズムは、シャドートモグラフィを使ってQMC虚数時間発展法を実施する。シャドートモグラフィは、フル状態トモグラフィに頼らずに、量子状態のプロパティを推定するのに使うことができるプロセスである。ρは、何らかの未知の量子状態を示すものとする。ρのN個のコピーへのアクセスが可能であると仮定される。{Oi}は、M個の観測可能量の集合体を示すものとする。タスクは、各Oiに対して、ある程度の加法的誤差εまで、量Tr(ρOi)を推定することである。これは、トモグラフィ的に完全なセット、すなわち、システムのヒルベルト空間上で、演算子基礎を形成するセットから測定演算子をランダムに選ぶことによって、いくつかの状況において効率的に遂行することができる。
【0051】
プロトコルを指定するために、ユニタリーのアンサンブルuが選ばれる。次いで、ユニタリーUk∈uがランダムにサンプリングされ、状態
【数20】
が、基礎状態|bk〉〈bk|を取得するために計算基礎において測定される。ここで、状態
【数21】
を検討する。予想では、ρからこの状態へのマッピングは、量子チャネル、すなわち
【数22】
を定義する。
【0052】
Mは可逆であることが要求され、これは、U∈uを引き出すこと、および計算基礎において測定することによって定義される測定演算子の集合体がトモグラフィ的に完全である場合にのみ成り立つ。これが成り立つと仮定すると、M-1を式14の両側に適用することができ、
【数23】
を生じる。集合体
【数24】
は、ρの古典的シャドーである。アンサンブルuに対する多くの選好が可能である。たとえば、ランダムに選択されたNキュビットクリフォード回路、ならびにより少ないキュビットに対する、ランダムに選択されたクリフォード回路のテンソル積を使うことができる。
【0053】
したがって、QC-QMCアルゴリズムの段階(A)において、量子プロセッサ102は、QMC法のための試行波動関数のコピーの測定の、ランダムに選ばれたセットを実施する。つまり、量子プロセッサ102は、量子状態
【数25】
を測定し、対応する測定データを収集するために、複数の実験を実施する。QC-QMCアルゴリズムの段階(B)において、量子プロセッサ102は、収集された測定データを古典プロセッサ104へ送信し、そうすることによって古典プロセッサ104は、QMCアルゴリズムを実施することができる。段階(A)および(B)は、QMCアルゴリズムに先立って実施することができる。
【0054】
複数の実験のうちの各実験に対して、量子プロセッサ102は、量子プロセッサ102の中に含まれる物理的キュビットに量子回路を適用することができる。回路は、初期状態にあるキュビット、たとえば、試行波動関数とゼロ状態の重ね合わせを準備する第1の回路と、シャドートモグラフィ実験のための測定演算子を実装する第2の量子回路とを含み得る。第1および第2の回路の具体的な形は、使われる試行波動関数に依存する。
【0055】
例として、試行波動関数が完全ペアリング状態(PP)である実装形態において、第1の回路は、量子状態|τ〉=(|0〉+|ΨT〉)/√2を準備する量子回路である。この例では、量子状態(|0〉+|PP(θ)〉)/√2を準備すれば十分であり、ここで|PP(θ)〉は、状態パラメータθのベクトルをもつ完全ペアリング状態を表し、
【数26】
によって与えられ、Nはスピン軌道の数である。この量子状態は、状態
【数27】
を、単一キュビットアダマールならびにCNOTおよびSWAPゲートのラダーを含む量子回路を使って作成することによって準備することができる。次いで、空間軌道のペアに対応する4つのキュビットからなる各セットに対して、状態|PP(θ)〉=cosθ|1100〉+sinθ|0011〉∝CNOT1,2CNOT3,4(iSWAP1,3)θ|1000〉であり、ここでCNOTおよびiSWAPゲートは、状態のゼロ部分を不変のままにする。
【0056】
この例では、第2の量子回路のために、測定演算子は、
【数28】
という形を有し、これは、
【数29】
と書くことができる。この演算子は、単一キュビットゲートの2つのレイヤによって挟まれたCZレイヤの適用によりかち取ることができる。キュビットの完全反転が後に続くCZレイヤが、2n+2 CNOTレイヤ(プラス、Pの単一キュビット乗の介入レイヤ)の回路を使って実装され得る。Gに対する回路の中のCZレイヤの後には、単一キュビットゲートおよび計算基礎での測定だけが続くので、キュビットの反転は後処理において容易に取り消すことができる。したがって、この例におけるシャドートモグラフィ回路は、最高でも2n+2の2キュビットゲート深さを有する。これは、シャドートモグラフィのためのフルクリフォードグループを使うことに対して、大幅な改善であり、一般的なクリフォードのための最もよく知られている回路は、2キュビット深さ9nを有する。さらに、CZ回路は、CZ回路が4つの一意のCNOTレイヤのみを含み、直線に沿ってのみ作用するという追加プロパティを有し、これらは、それぞれ、キャリブレーションおよびキュビットマッピングにとって有利である。
【0057】
いくつかの実装形態では、以下の大域スタビライザ測定戦略が、シャドートモグラフィを実施するために要求される量子回路のサイズを削減するために実装され得る。概して、ユニタリーUを適用し、次いで、計算基礎{|x〉:x∈{0,1}n}で、シャドートモグラフィが本来提示されたように測定することは、回転基礎{U|x〉:x∈{0,1}n}で測定することと等価である。ユニタリーuのセットに対して、そこからユニタリーをランダムに均一に選び、次いで、計算基礎で測定することは、POVM
【数30】
を測定することと等価である。|u|2n測定演算子は、相異なる必要はない(たとえば、uの中のユニタリーが、計算基礎状態を置換するだけである場合)ことに留意されたい。特に、uが、nキュビットクリフォードユニタリーCnのセットであるとき、各測定演算子U|x〉〈x|Uはスタビライザ状態であり、POVMは、
【数31】
であり、上式で、stabnは、Nキュビットスタビライザ状態のセットを表す。測定演算子の重みが均一であることは、uの対称から得られ(どのクリフォードを各U∈uに付加しても、分布は不変のままとなる)、均一重みが
【数32】
であることが、以下で説明される。
【数33】
個のクリフォードユニタリーおよびわずか
【数34】
個のスタビライザ状態がある。これは、均一にランダムなクリフォードをサンプリングすることが不必要であることを示唆する。2-n|stabn|個のユニタリー
【数35】
のより小さいセットが、対応するPOVMが、Cnのものと等価であるように構築される。具体的には、
【数36】
である。
【0058】
Fnは、nキュビットに対する「Hフリー」グループ、すなわち、X、CNOT、CZによって生成されたグループとする。どのHフリー演算子のアクションも、
【数37】
と書くことができ、上式で、Γは0-1対称行列であり、γ,δ∈{0,1}nであり、Δは可逆0-1行列である。Hフリー演算子のアクションはしたがって、基礎状態を置換し、何らかの位相を追加することである。計算基礎が測定基礎として使われる場合、位相は、出力結果確率に影響せず、アフィン変化
【数38】
は可逆である。したがって、計算基礎で状態を測定し、変換
【数39】
を出力結果yに適用することは、Fを適用し、次いで、計算基礎で測定することと等価である。どのクリフォード演算子も、F・H・F'の形で書くことができ、ここで、F,F'∈Fnであり、Hは、単一キュビットアダマールのレイヤである。シャドートモグラフィにおいて、クリフォードF・H・F'が適用され、結果は計算基礎で測定される。ただし、上で説明したように、第2のHフリー演算子Fは、実際に適用される必要はなく、その効果は、古典的後処理で全体を実装することができる。概して、FおよびF'は一意ではない。ただし、均一サンプリングを可能にする、(Hフリー演算子F,F'を制約することによる)クリフォード演算子のための正準形を取得することができる。それらの正準形で始め、かなりのF'を、アダマールレイヤを通してFに「プッシュする」と、新たな形
【数40】
を生じ、新たな最終Hフリー演算子
【数41】
を無視すると、
【数42】
という形の演算子が与えられ、上式で、I⊂[n]は、キュビットインデックスのサブセットであり、Γは、Iに対してのみサポートのある0-1上三角行列であり、Δは0-1であり、つまり、ΔおよびΓは、式18に現れるエントリにおいて制約されず、他ではゼロである。クリフォード演算子を適用し、計算基礎で測定することはしたがって、式18における形の演算子を適用し、計算基礎で測定することで置き換えられ得る。つまり、計算基礎での測定が、ランダムにサンプリングされたクリフォード演算子を実施した直後に実施されることは、測定の直前に起こる計算基礎状態のどの置換も不必要であるように活用される。こうすることにより、シャドートモグラフィを実施するために要求される量子回路のサイズが削減される。
【0059】
さらに、いくつかの実装形態では、区分シャドートモグラフィ戦略が、量子回路深さを削減するために実装され得る。この戦略は、図2を参照して以下で詳しく記述される。
【0060】
QC-QMCアルゴリズムの段階(C)において、古典プロセッサは、受信された測定結果を処理し、古典的シャドーを計算する。古典的シャドーは、古典プロセッサ104の古典メモリ106の中に記憶することができる。
【0061】
QC-QMCアルゴリズムの段階(D)において、古典プロセッサ104は、記憶されている古典的シャドーを使って、QMCアルゴリズムを実施する。つまり、古典プロセッサ104は、たとえば、式1による、フェルミオン量子システムを特徴付けるハミルトニアンを使う初期波動関数の虚数時間ステップのシーケンスのために、虚数時間伝播を実施する。各虚数時間ステップにおいて、古典プロセッサは、記憶されている古典的シャドーを、要求される波動関数重複を計算するのに使う。古典プロセッサ104によって実施される例示的動作については、図2を参照して以下でより詳しく説明する。
【0062】
QC-QMCアルゴリズムの段階(E)において、古典プロセッサ104は、ターゲット量子状態を表すデータを出力する。いくつかの実装形態では、古典プロセッサ104は、式2および式4~6に関して上述したように、ターゲット量子状態のプロパティ、たとえば、ターゲット量子状態の予想エネルギーを計算するのに、ターゲット量子状態を表すデータを使うことができる。
【0063】
図2は、フェルミオン量子システムの量子モンテカルロシミュレーションを実施して、フェルミオン量子システムのターゲット波動関数および/またはターゲット波動関数のプロパティ、たとえば基底状態エネルギーを計算するための例示的プロセス200の流れ図である。便宜上、プロセス200は、1つまたは複数のロケーションにある古典および量子コンピューティングデバイスを含むシステムによって実施されるものとして記載される。たとえば、本明細書に従って適切にプログラムされた図1のシステム100が、プロセス200を実施することができる。
【0064】
システムは、試行波動関数の複数のコピーを準備するのに、量子コンピューティングデバイスを使う(ステップ202)。試行波動関数は、ターゲット波動関数に近似する波動関数である。いくつかの実装形態では、試行波動関数は、たとえば、一般化された原子価結合完全ペアリング波動関数仮説からの波動関数であってよく、一般化された原子価結合完全ペアリング波動関数仮説は、密度-密度積項を含むレイヤの第1のセットと、同じスピンペアの間の最近傍ホッピング項を含むレイヤの第2のセットとを含む。
【0065】
システムは、試行波動関数の複数のコピーに対して測定動作を実施するのに、量子コンピューティングデバイスを使う(ステップ204)。いくつかの実装形態では、測定動作を実施するために、量子コンピューティングデバイスは、ユニタリーのアンサンブルからランダムにサンプリングされたユニタリー演算子を使って試行波動関数を回転することによって、変換された試行波動関数を生成し、ここでユニタリーのアンサンブルはトモグラフィ的に完全である。使われるユニタリー演算子は、Nキュビットクリフォード回路またはN未満のキュビットに対するランダムに選択されたクリフォード回路のテンソル積であってよい。たとえば、変換された試行波動関数は、式14をめぐる考察において上述したように、
【数43】
によって与えることができる。量子コンピューティングデバイスは次いで、回転試行波動関数を計算基礎で測定して、それぞれの測定結果を取得することができる。このプロセスは、行波動関数の各コピーに対して反復され得る。
【0066】
いくつかの実装形態では、システムは、式29~34に関して以下で説明するように、量子コンピューティングデバイスに含まれるキュビットを区分することができる。これらの実装形態では、システムは、試行波動関数にユニタリー演算子のテンソル積を適用することによって、試行波動関数を変換することができ、ここでテンソル積の中の各ユニタリー演算子は、それぞれのランダムに選択されたNp∈Pキュビットクリフォードゲートであり、Np∈Pは、式29~34に関して以下で説明するように、NキュビットからP個の部分への区分の部分pの中のキュビットの数を表す。量子コンピューティングデバイスは次いで、変換された試行波動関数を計算基礎で測定して、それぞれの測定結果を取得することができる。
【0067】
システムは、測定動作の結果を表すデータを、量子コンピューティングデバイスから、システムに含まれる古典コンピューティングデバイスへ送信する(ステップ206)。
【0068】
古典コンピューティングデバイスは、量子コンピューティングデバイスによって生成された、変換された試行波動関数の測定の結果を表すデータを受信し、このデータを、試行波動関数の古典的シャドーを計算するのに使う(ステップ208)。古典的シャドーの計算については、式13および14に関して上述した。古典コンピューティングデバイスは、計算された古典的シャドーを、古典コンピューティングデバイスの古典メモリに効率的に記憶することができる。
【0069】
システムは、フェルミオン量子システムを特徴付けるハミルトニアンを使って初期波動関数の(虚数時間ステップのシーケンスのための)虚数時間伝播を実施するのに、古典コンピューティングデバイスを使う(ステップ210)。虚数時間伝播は、所定の収束基準が満たされるまで、たとえば、出力波動関数の、所定の閾以内への収束まで実施されてよく、所定の閾はターゲット精度に依存し得る。
【0070】
虚数時間伝播の各虚数時間ステップにおいて、古典コンピューティングデバイスは、試行波動関数の古典的シャドーを使って、前の虚数時間ステップに対する波動関数を更新して、現在の虚数時間ステップに対する波動関数を取得する。試行波動関数の古典的シャドーを使って、前の虚数時間ステップに対する波動関数を更新するために、古典コンピュータは、現在の時間ステップに対するウォーカー波動関数を、たとえば、虚数時間伝播を通して判断し、i)前の時間ステップに対する試行波動関数とウォーカー波動関数の第1の内積およびii)現在の時間ステップに対する試行波動関数とウォーカー波動関数の第2の内積を使って、現在の時間ステップに対するウォーカー重みを判断し、ここで第1の内積および第2の内積は、試行波動関数の古典的シャドーを使って判断される。
【0071】
古典的シャドーを使って試行波動関数とウォーカー波動関数の内積を判断するためにシステムによって実施される例示的技法は、以下を含む。|ΨT〉は試行波動関数を示すものとする。いくつかの実装形態では、|ΨT〉は、一定数の粒子η>0をもつフェルミオン波動関数を表すように選ぶことができ、Jordan-Wigner変換で符号化されている量子状態を使うことができ、そうすることによって、|ΨT〉に対するキュビット波動関数は、計算基礎状態とハミング重みηの重ね合わせになる。
【0072】
|φ〉は、ウォーカー波動関数を表すものとする。ウォーカー波動関数は、計算基底状態とハミング重みηの重ね合わせであってよい。試行波動関数とウォーカー波動関数の内積を計算することはしたがって、試行波動関数の古典的シャドーを使って内積〈φ|ΨT〉を計算することを含み得る。
【0073】
量子コンピューティングデバイスが、例示的プロセス200のステップ202において、試行波動関数のコピーを準備するとき、量子コンピューティングデバイスは、量子状態|τ〉〈τ|を準備することができ、ここで、
【数44】
であり、上式で、|0〉は全ゼロ状態を表す。対象となっている内積(波動関数重複)はしたがって、〈ΨT|0〉=〈φ|0〉=0であるので、
〈φ|ΨT〉=2〈φ|τ〉〈τ|0〉=2Tr[|τ〉〈τ|・|0〉〈φ|] (20)
に等しい。観測可能量
P+=|0〉〈φ|+|φ〉〈0| (21)
P-=-i(|0〉〈φ|-|φ〉〈0|) (22)
を定義すると、
Re(〈φ|ΨT〉)=Tr[|τ〉〈τ|P+] (23)
Im(〈φ|ΨT〉)=Tr[|τ〉〈τ|P-] (24)
が与えられ、上式で、
【数45】
に対してz=Re(z)+Im(z)である。Tr[P±]=0であり、|φ〉が正規化波動関数であると仮定すると、
【数46】
であることに留意されたい。
【0074】
古典的シャドーを生成するのに使われるアンサンブルuが、Nキュビットに対するクリフォードグループである場合、チャネルMの逆を、
【数47】
によって与えることができ、上式で、Xはプレースホルダー変数を表す。次いで、
【数48】
となる。内積〈φ|ΨT〉についての推定量のためのフル表現は次いで、
【数49】
になる。内積〈φ|ΨT〉は、
【数50】
である2つの演算子P±の期待値によって表されるので、ターゲット精密度に対するこの量を計算するために要求される状態準備および測定繰り返しの数は、R=O((logM-logδ)/(ε2))で境界され、ここで、Mは、異なる波動関数|φi〉の数を表し、εはターゲット精度を表し、δは、精度εが達成されるターゲット確率を表す。
【0075】
スタビライザ状態(基礎状態を含む)の間の重複は、ゴッツマン-クニル定理を使って、古典的に効率よく計算することができ、式28の右側は、古典的に効率よく計算することができる。特に、〈bk|Uk|0〉は、どのクリフォード回路Ukに対しても効率よく算出することができ、ウォーカー波動関数は、多項式個のスタビライザ状態の線形結合として書くことができるので、量
【数51】
は、線形結合における各αについて計算し、足し合わせることができる。
【0076】
上述したように、Nキュビットクリフォードグループを使うシャドートモグラフィが、Mが対数的にスケーリングするコストで、式27におけるもののように、M個の量を同時に推定するのに使われ得る。ただし、これらの測定をNISQデバイス上で実施することは、要求される回路深さのせいで、困難な場合がある。ランダムユニタリーuのアンサンブルの代替選好が、この問題点を軽減することができる。uの第2の選好は、単一キュビットクリフォード演算子のテンソル積となるように選ばれたユニタリーU∈uを含む。これらの2つの極値の間を内挿することも可能である。Uに対する単一キュビットクリフォードの選択が、推定される演算子の局所性に合わせて指数関数的にスケーリングするシャドートモグラフィのコストに対する限界につながることが示され得る。射影子は高度に非局所的な演算子であり、したがって、それらの期待値を推定するために単一キュビットクリフォードシャドートモグラフィを使うときに要求される多数の測定繰り返しに遭うと予想することができよう(実際の実施が限界と相関すると仮定する)。これは、回路深さと、Uの異なる選好でシャドートモグラフィを実施するために要求される繰り返し数との間の妥協点が検討されるべきであることを示唆する。
【0077】
その目的のために、Nよりも少ないキュビットに対する、クリフォードユニタリーのランダムにサンプリングされたテンソル積からなるuを使って〈β|ΨT〉を推定するのに要求される古典的後処理を効率的に実施するために、代替技法を実装することができる。式28における表現は、以下のように書くこともできる。
【数52】
式26において上で挙げたものと同様の表現が、逆チャネルを適用するのに使われてよい。たとえば、Nキュビットの、P個の部分への区分を検討する。N1,N2,...NPを、区分の各部の中のキュビットの数とする。ランダムに選択されたNpキュビットクリフォードを各部p∈{1,2,...,P}に適用するシャドートモグラフィプロトコルについて検討する。これは、
【数53】
を与える。シャドートモグラフィ測定チャネルの逆は、
【数54】
であり、上式で、式26でのように、
【数55】
であり、上式で、Xはプレースホルダー変数を表す。|φ〉が、|βp〉が区分の第pの部分に関連付けられた|β〉の成分を表す、|β〉によって示される計算基礎状態である場合、式28は、
【数56】
を与えるために評価されてよい。
【0078】
いくつかの実装形態では、区分は、各スピンセクタに対して1つである、2つの部分を含み得る。ウォーカー波動関数が、ハミング重みηをもつ基礎状態と、各スピンセクタ中の非ゼロ個の電子の重ね合わせである実装形態において、シャドートモグラフィは、ウォーカー波動関数と、〈βp|0〉=0である試行波動関数の重複を評価するのに使われてよい。このため、内積は、
【数57】
として古典的に計算することができ、上式で、ciは、計算基礎{|βi〉}における|φ〉の振幅を表す。
【0079】
図2のステップ210に戻ると、前の時間ステップに対する試行波動関数とウォーカー波動関数の第1の内積と、現在の時間ステップに対する試行波動関数とウォーカー波動関数の第2の内積とを使って、現在の時間ステップに対するウォーカー重みを判断するために、古典コンピュータは、古典メモリから、試行波動関数の古典的シャドーを取り出し、たとえば、式14に対応するデータを取り出す。古典コンピュータは次いで、1つまたは複数の古典的にシミュレートされた第1の射影子と、試行波動関数の古典的シャドーとの期待値、たとえば、式28によって与えられる期待値を判断することによって、第1の内積の近似を計算する。1つまたは複数の第1の射影子は、前の時間ステップに対するウォーカー波動関数に依存する。つまり、古典コンピュータは、式19~28または29~34を使って、第1の内積〈ΨTn(τ)〉を計算する。式19~28に関して上述したように、1つまたは複数の第1の射影子を、スタビライザ状態を使って生成することができ、ここで、スタビライザ状態は、試行波動関数によって表される粒子の数に等しいハミング重みをもつ計算基礎状態を含む。古典コンピュータによって、同様の動作が、第2の内積〈ΨTn(τ+Δτ)〉を計算するために実施され得る。
【0080】
虚数時間伝播の各虚数時間ステップにおいて、古典コンピュータは、たとえば、試行波動関数の古典的シャドーを使って式3によって与えられるエネルギー推定量も計算する。いくつかの実装形態では、基底状態エネルギーは、各虚数時間ステップにおいて計算されるエネルギー推定量の時系列から推定される。
【0081】
図3は、8キュビット実験における、H4分子への、本願に記載するQC-QMCアルゴリズムの適用を示す図である。この例では、8スピン軌道量子試行波動関数が使われる。試行波動関数は、完全ペアリング状態として知られる原子価結合波動関数からなり、これに、オフライン単一粒子回転をもつハードウェア効率のよい量子回路が適用される。これは、古典的には、AFQMC用の試行波動関数としては使いにくいであろう。
【0082】
図3の部分(a)は、量子コンピュータを使って試行波動関数を準備するための例示的状態準備回路を示す。この8キュビット実験では、辺長が1.23Aであり、4つの水素原子に解離している正方形の中のH4が検討される。このシステムは、量子化学における電子相関方法のための試験台として使うことができる。部分(a)は、2×4キュビットグリッドにわたる実験のために使われる実験的回路を示す。回路図において、Hはアダマールゲートを示し、Gは、(パウリゲート(XX+YY)によって生成された)ギブンス回転ゲートを示し、Pはパウリゲートを示し、|ΨT〉は量子試行波動関数を示す。オフライン軌道回転は、古典的後処理により効率的に扱うことができるので、実際の量子回路には存在しない。
【0083】
図3の部分(b)および(c)は、測定の回数に応じた、H4の原子化エネルギーの収束を示す。部分(b)は、ランダム測定の異なるセットをもつ4つの別々の実験からの合計で4つの軌道をもつ最小基礎セット(STO-3G)を示し、部分(c)は、2つの別々の実験からの合計で120個の軌道をもつ四重ゼータ基礎セット(cc-pVQZ)を示す。(b)および(c)における異なるシンボルは、別々の実験結果を示す。(b)および(c)の上パネルは、厳密な回答の近くでエネルギー範囲を拡大する。示されるように、量子デバイスにおけるノイズにより、量子試行の質が、理想的(すなわち、ノイズのない)仮説のものから離れ、原子化エネルギーにおいて10kcal/molもの誤差が生じる。それにもかかわらず、本願に記載するQC-AFQMCは、この誤差を大幅に削減し、両方の基礎において化学的精度を達成する。H4に対するQC-AFQMC結果をさらに解明するために、部分(b)および(c)は、試行の発展およびQC-AFQMCエネルギーを、デバイス上で行われる測定の回数の関数として示す。ほぼ105回の測定における大幅なノイズの存在にかかわらず、QC-AFQMCは、基底にある量子試行における相当な残留バイアスに対処しながら、化学的精度を達成する。
【0084】
図4は、フェルミオン量子システムの量子モンテカルロシミュレーションを実施して、フェルミオン量子システムのターゲット波動関数および/またはターゲット波動関数のプロパティ、たとえば基底波動関数エネルギーを計算するための例示的プロセス400の流れ図である。いくつかの実装形態では、量子モンテカルロシミュレーションは、射影子量子モンテカルロシミュレーション、たとえば、補助場量子モンテカルロシミュレーションであってよい。便宜上、プロセス400は、1つまたは複数のロケーションにある古典および量子コンピューティングデバイスを含むシステムによって実施されるものとして記載される。たとえば、本明細書に従って適切にプログラムされた図1のシステム100が、プロセス400を実施することができる。
【0085】
システムに含まれる古典コンピュータが、フェルミオン量子システムを特徴付けるハミルトニアンを使って初期波動関数の(虚数時間ステップのシーケンスのための)虚数時間伝播を実施する(ステップ402)。虚数時間伝播は、所定の収束基準が満たされるまで、たとえば、出力が所定の閾以内に収束するまで実施される。
【0086】
虚数時間伝播の各虚数時間ステップは、以下のステップを含む。古典コンピュータは、前の虚数時間ステップに対する波動関数を表すデータを量子コンピュータ、たとえば、NISQデバイスへ送信する(ステップ404)。量子コンピュータは、前の波動関数についての波動関数と、ターゲット波動関数に近似する試行波動関数とを表すデータを使って内積を計算する(ステップ406)。例示的試行波動関数は、図1を参照して上で説明されている。
【0087】
古典コンピュータは、量子コンピュータによって生成された、計算された内積を表すデータを受信し(ステップ408)、計算された内積を表すデータを使って、前の虚数時間ステップに対する波動関数を更新して、現在の虚数時間ステップに対する波動関数を取得する(ステップ410)。古典コンピュータは、試行波動関数の古典的シャドーを使ってエネルギー推定量を計算し、たとえば、式3を計算することもできる。
【0088】
いくつかの実装形態では、古典コンピュータは、計算された内積を表すデータを使って、現在の時間ステップに対するウォーカー波動関数を判断すること、および計算された内積を使って、現在の時間ステップに対するウォーカー重みを判断することによって、前の虚数時間ステップに対する波動関数を更新して、現在の虚数時間ステップに対する波動関数を取得し、ここで、計算された内積は、現在の時間ステップに対する試行波動関数とウォーカー波動関数の第1の内積と、前の時間ステップに対する試行波動関数とウォーカー波動関数の第2の内積とを含む。つまり、古典コンピュータは、式3~6を使って、前の虚数時間ステップに対する波動関数を更新し、ここで内積は量子コンピュータによって計算される。これらの実装形態では、古典コンピュータから量子コンピュータへ送信される、前の虚数時間ステップに対する波動関数を表すデータは、前の虚数時間ステップに対するウォーカー波動関数を表すデータと、現在の虚数時間ステップに対する計算されたウォーカー波動関数を表すデータ(たとえば、虚数時間伝播により古典コンピュータによって計算された)とを含む。
【0089】
量子コンピュータは次いで、前の虚数時間ステップに対するウォーカー波動関数を表すデータ、現在の虚数時間ステップに対する計算されたウォーカー波動関数を表すデータ、および試行波動関数を使って、内積を計算することができる。
【0090】
量子コンピュータは、試行波動関数に対する射影測定を使って内積を計算することができ、ここで射影測定の射影子は、スタビライザ状態を使って生成される。スタビライザ状態は、試行波動関数によって表される粒子の数に等しいハミング重みをもつ計算基礎状態を含み得る。射影測定の射影子は、前の虚数時間ステップに対するウォーカー波動関数を表すデータまたは現在の虚数時間ステップに対する計算されたウォーカー波動関数を表すデータによって判断することができる。内積の計算と、量子コンピュータによって実施することができる射影測定については、参照とともに上述した。
【0091】
図5は、本明細書に記載する古典および量子演算の一部または全部を実施するための例示的古典/量子コンピュータ500を示す。例示的古典/量子コンピュータ500は、例示的量子コンピューティングデバイス502を含む。量子コンピューティングデバイス502は、様々な形の量子コンピューティングデバイスを表すことを意図している。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示にすぎず、本明細書で説明および/または請求する本発明の実装形態を限定しない。
【0092】
例示的量子コンピューティングデバイス502は、キュビットアセンブリ552と、制御および測定システム504とを含む。キュビットアセンブリは、アルゴリズム演算または量子計算を実施するのに使われる複数のキュビット、たとえば、キュビット506を含む。図5に示すキュビットは矩形アレイに並べられているが、これは概略的記述であり、限定的であることは意図していない。キュビットアセンブリ552は、結合されたキュビットの間の相互作用を可能にする、調節可能な結合要素、たとえば、結合器508も含む。図5の概略的記述において、各キュビットは、それぞれの結合要素を用いて、その4つの隣接キュビットの各々に調節可能に結合される。ただし、これは、キュビットおよび結合器の例示的配置であり、非矩形の配置、非隣接キュビットの間の結合を可能にする配置、および2つより多いキュビットの間の調節可能な結合を含む配置を含む他の配置が可能である。
【0093】
各キュビットは、0および1の論理値を表すレベルを有する物理的2レベル量子システムまたはデバイスであってよい。複数のキュビットの具体的な物理的実現、およびそれらが互いとどのように相互作用するかは、例示的コンピュータ500に含まれる量子コンピューティングデバイス502のタイプまたは量子コンピューティングデバイスが実施している量子計算のタイプを含む様々な要因に依存する。たとえば、原子量子コンピュータでは、キュビットは、原子、分子または固体状態量子システム、たとえば、超微細原子状態により実現されてよい。別の例として、超伝導量子コンピュータでは、キュビットは、超伝導キュビットまたは半導体キュビット、たとえば、超伝導トランズモン状態により実現されてよい。別の例として、NMR量子コンピュータでは、キュビットは核スピン状態により実現されてよい。
【0094】
いくつかの実装形態では、量子計算は、たとえば、量子メモリからキュビットをロードすること、およびユニタリー演算子のシーケンスをキュビットに適用することによって進み得る。キュビットにユニタリー演算子を適用することは、たとえば、図1を参照して上述したように、シャドートモグラフィのために要求される量子回路を実装するために、量子論理ゲートの対応するシーケンスをキュビットに適用することを含み得る。例示的量子論理ゲートは、単一キュビットゲート、たとえば、パウリX、パウリY、パウリZ(X、Y、Zとも呼ばれる)、アダマールゲート、Sゲート、回転、2キュビットゲート、たとえば、被制御X、被制御Y、被制御Z(CX、CY、CZとも呼ばれる)、被制御NOTゲート(CNOTとも呼ばれる)、被制御スワップゲート(CSWAPとも呼ばれる)、iSWAPゲート、および3以上のキュビットを伴うゲート、たとえば、トフォリゲートを含む。量子論理ゲートは、制御および測定システム504によって生成された制御信号510をキュビットに、および結合器に適用することによって実装することができる。
【0095】
たとえば、いくつかの実装形態では、キュビットアセンブリ552中のキュビットは、周波数可変であり得る。これらの例において、各キュビットは、キュビットに結合された1つまたは複数の駆動ラインを介した電圧パルスの印可により調節することができる関連付けられた動作周波数を有することができる。例示的動作周波数は、キュビット空転周波数、キュビット相互作用周波数、およびキュビット読出し周波数を含む。異なる周波数が、キュビットが実施することができる異なる動作に対応する。たとえば、動作周波数を、対応する空転周波数に設定すると、キュビットを、他のキュビットと強くは相互作用しない状態であって、単一キュビットゲートを実施するのに使われ得る状態にさせる場合がある。別の例として、キュビットが、固定結合をもつ結合器を介して相互作用するケースでは、キュビットは、それぞれの動作周波数を、共通相互作用周波数からの何らかのゲート依存周波数離調で設定することによって、互いと相互作用するように構成されてよい。他のケースでは、たとえば、キュビットが同調結合器を介して相互作用するとき、キュビットは、それぞれの結合器のパラメータを、キュビットの間の相互作用を可能にするように設定することによって、次いで、キュビットのそれぞれの動作周波数を、それらの共通相互作用周波数から離調するある程度のゲート依存周波数に設定することによって、互いと相互作用するように構成することができる。そのような相互作用は、多キュビットゲートを実施するために実施されてよい。
【0096】
使われる制御信号510のタイプは、キュビットの物理的実現に依存する。たとえば、制御信号は、NMRもしくは超伝導量子コンピュータシステムではRFもしくはマイクロ波パルスを、または原子量子コンピュータシステムでは光パルスを含み得る。
【0097】
それぞれの制御信号510を使って、キュビットの状態を測定することによって、たとえば、XまたはZなどの量子観測可能量を使って、量子計算を完了することができる。測定により、測定結果を表す読出し信号512が、測定および制御システム504へ通信し戻される。読出し信号512は、量子コンピューティングデバイスおよび/またはキュビットのための物理方式に依存して、RF、マイクロ波、または光信号を含み得る。便宜上、図5に示す制御信号510および読出し信号512は、キュビットアセンブリの選択された要素(すなわち、上および下行)のみをアドレス指定するものとして示されているが、動作中、制御信号510および読出し信号512は、キュビットアセンブリ552の中の各要素をアドレス指定することができる。
【0098】
制御および測定システム504は、上述したような、キュビットアセンブリ552上での様々な動作、ならびに他の古典サブルーチンまたは計算を実施するのに使うことができる古典コンピュータシステムの例である。制御および測定システム504は、1つまたは複数の古典プロセッサ、たとえば、古典プロセッサ514、1つまたは複数のメモリ、たとえば、メモリ516、および1つまたは複数のデータバスによって接続された1つまたは複数のI/Oユニット、たとえば、I/Oユニット518を含む。制御および測定システム504は、たとえば、選択された一連の量子ゲート演算を実践するために、制御信号510のシーケンスをキュビットアセンブリへ送るように、および、たとえば測定動作を実施することの一部として、キュビットアセンブリから読出し信号512のシーケンスを受信するようにプログラムされてよい。
【0099】
プロセッサ514は、制御および測定システム504内での実行のための命令を処理するように構成される。いくつかの実装形態では、プロセッサ514は、シングルスレッドのプロセッサである。他の実装形態では、プロセッサ514は、マルチスレッドのプロセッサである。プロセッサ514は、メモリ516に記憶された命令を処理することが可能である。
【0100】
メモリ516は、制御および測定システム504内に情報を記憶する。いくつかの実装形態では、メモリ516は、コンピュータ可読媒体、揮発性メモリユニット、および/または不揮発性メモリユニットを含む。いくつかの場合には、メモリ516は、システム504に大容量記憶を提供することが可能な記憶デバイス、たとえば、ハードディスクデバイス、光ディスクデバイス、ネットワークを介して複数のコンピューティングデバイスによって共有される記憶デバイス(たとえば、クラウド記憶デバイス)、および/または何らかの他の大容量記憶デバイスを含み得る。
【0101】
入力/出力デバイス518は、制御および測定システム504のための入力/出力動作を提供する。入力/出力デバイス518は、量子コンピュータ用の物理方式の必要に応じて、キュビットアセンブリへ制御信号510を送り、キュビットアセンブリから読出し信号512を受信するための、D/Aコンバータ、A/Dコンバータ、ならびにRF/マイクロ波/光信号ジェネレータ、送信機、および受信機を含み得る。いくつかの実装形態では、入力/出力デバイス518は、1つまたは複数のネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえば、RS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば、802.11カードも含み得る。いくつかの実装形態では、入力/出力デバイス518は、入力データを受信し、他の外部デバイスへ出力データを送るように構成されたドライバデバイス、たとえば、キーボード、プリンタおよびディスプレイデバイスを含み得る。
【0102】
図5では、例示的な制御および測定システム504が示されているが、本明細書に記載する主題および機能的動作の実装形態は、他のタイプのデジタル電子回路構成で、またはコンピュータソフトウェア、ファームウェア、もしくは本明細書において開示した構造およびそれらの構造的等価物を含むハードウェアで、またはそれらのうちの1つもしくは複数からなる組合せで実装することができる。
【0103】
例示的システム500は、例示的古典プロセッサ550も含む。古典プロセッサ550は、いくつかの実装形態に従って本明細書に記載される古典計算動作を実施するのに使うことができる。
【0104】
本明細書に記載する主題および動作の実装形態は、デジタル電子回路構成、アナログ電子回路構成、適切な量子回路構成または、より全般的には、量子計算システムで、有形に具現化されるソフトウェアもしくはファームウェアで、本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータハードウェアで、またはそれらのうちの1つもしくは複数の、組合せで実装することができる。「量子計算システム」という用語は、量子コンピュータ、量子情報処理システム、量子暗号技術システム、または量子シミュレータを含み得るが、それらに限定されるわけではない。
【0105】
本明細書において説明される主題の実装形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置によって実行するか、またはデータ処理装置の動作を制御するための、有形の非一時的記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、1もしくは複数キュビット、またはそれらのうちの1つもしくは複数の、組合せとすることができる。代替または追加として、プログラム命令は、デジタルおよび/または量子情報を符号化することが可能な、人工的に生成された伝播信号、たとえば、データ処理装置による実行のために好適な受信機装置に送信するためのデジタルおよび/または量子情報を符号化するために生成された、機械で生成された電気信号、光信号、または電磁信号上で符号化され得る。
【0106】
量子情報および量子データという用語は、量子システムによって運ばれ、そこに保持または記憶される情報またはデータを指し、最も小さい非自明システムがキュビット、すなわち、量子情報の単位を定義するシステムである。「キュビット」という用語は、対応するコンテキストにおいて2レベルシステムとして適切に近似され得るすべての量子システムを包含することが理解されよう。そのような量子システムは、たとえば、2つ以上のレベルをもつマルチレベルシステムを含み得る。例として、そのようなシステムは、原子、電子、光子、イオンまたは超伝導キュビットを含み得る。多くの実装形態では、計算基礎状態は、基底および第1の励起状態で識別されるが、より高レベルの励起状態で計算状態が識別される他のセットアップが可能であることが理解されよう。
【0107】
「データ処理装置」という用語は、デジタルおよび/または量子データ処理ハードウェアを指し、デジタルおよび/または量子データを処理するための、すべての種類の装置、デバイス、ならびに機械を包含し、例として、プログラム可能デジタルプロセッサ、プログラム可能量子プロセッサ、デジタルコンピュータ、量子コンピュータ、複数のデジタルおよび量子プロセッサまたはコンピュータ、ならびにそれらの組合せを含む。装置は、特殊目的論理回路構成、たとえば、FPGA(フィールドプログラム可能ゲートアレイ)、ASIC(特定用途向け集積回路)、または量子シミュレータ、すなわち、具体的な量子システムについての情報をシミュレートするか、もしくは生じる設計されている量子データ処理装置であっても、またはそれらをさらに含んでもよい。特に、量子シミュレータとは、普遍的量子計算を実施する能力を有しない特殊目的量子コンピュータである。装置は、任意選択で、ハードウェアに加え、デジタルおよび/または量子コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の、組合せを構成するコードを含むことができる。
【0108】
デジタルコンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるか、またはそれらとして知られている場合もあるが、コンパイル型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、どの形のプログラミング言語でも書くことができ、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、もしくはデジタルコンピューティング環境における使用に適した他の単位として、を含む、どの形でも展開することができる。量子コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるか、またはそれらとして知られている場合もあるが、コンパイル型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、どの形のプログラミング言語で書かれても、適切な量子プログラミング言語に翻訳されてもよく、または量子プログラミング言語、たとえば、QCLもしくはQuipperで書かれてもよい。
【0109】
コンピュータプログラムが、ファイルシステム内のファイルに対応してよいが、そうである必要はない。プログラムは、他のプログラムもしくはデータ、たとえば、マークアップ言語ドキュメントに記憶された1つもしくは複数のスクリプトを保持するファイル部分に、問題になっているプログラムに専用の単一のファイルに、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルに記憶することができる。コンピュータプログラムは、1つの場所に位置する1つのコンピュータ上または複数のコンピュータ上で実行されるように展開されても、複数の場所に分散され、デジタルおよび/または量子データ通信ネットワークによって相互接続されてもよい。量子データ通信ネットワークとは、量子システム、たとえばキュビットを使って量子データを送信し得るネットワークであると理解される。概して、デジタルデータ通信ネットワークは量子データを送信することができないが、量子データ通信ネットワークは、量子データとデジタルデータの両方を送信し得る。
【0110】
本明細書で説明されるプロセスおよび論理フローは、適宜、1つまたは複数のプロセッサと動作し、入力データを操作し出力を生成することによって機能を実施するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって実施することができる。特殊目的論理回路機構、たとえば、FPGAもしくはASIC、もしくは量子シミュレータによって、または特殊目的論理回路機構もしくは量子シミュレータと1つもしくは複数のプログラムされたデジタルおよび/または量子コンピュータの組合せによって、プロセスおよび論理フローは実施することもでき、装置は、それらとして実装することもできる。
【0111】
1つまたは複数のコンピュータからなるシステムが特定の動作またはアクションを実施するように「構成される」ことは、システムが、動作の際にシステムに動作またはアクションを実施させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしたことを意味する。1つまたは複数のコンピュータプログラムが、特定の動作またはアクションを実施するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に動作またはアクションを実施させる命令を含むことを意味する。たとえば、量子コンピュータは、量子コンピューティング装置によって実行されると、装置に動作またはアクションを実施させる命令を、デジタルコンピュータから受信し得る。
【0112】
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用プロセッサ、または他の種類の中央処理ユニットに基づくことができる。概して、中央処理ユニットが、命令またはデータを、読取り専用メモリ、ランダムアクセスメモリ、または量子データ、たとえば光子、もしくはそれらの組合せを送信するのに適した量子システムから受信する。
【0113】
コンピュータの要素は、命令を実施または実行するための中央処理ユニットと、命令ならびにデジタル、アナログ、および/または量子データを記憶するための1つまたは複数のメモリデバイスとを含む。中央処理ユニットおよびメモリは、専用論理回路または量子シミュレータによって補うか、またはそこに組み込むことができる。概して、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気、光磁気ディスク、光ディスク、または量子情報を記憶するのに適した量子システムも含み、あるいは大容量記憶デバイスからデータを受信し、もしくはデータを転写し、または両方を行うように大容量記憶デバイスに動作可能に結合される。ただし、コンピュータは、そのようなデバイスを有する必要はない。
【0114】
量子回路要素(量子コンピューティング回路要素とも呼ばれる)は、量子処理演算を実施するための回路要素を含む。つまり、量子回路要素は、非決定論的やり方でデータに対して動作を実施するのに、重ね合わせおよびもつれなどの量子機械現象を利用するように構成される。キュビットなど、いくつかの量子回路要素は、同時に複数の状態にある情報を表し、情報に対して動作するように構成することができる。超伝導量子回路要素の例は、特に、量子LC発振器、キュビット(たとえば、磁束キュビット、位相キュビット、または充電キュビット)、および超伝導量子干渉デバイス(SQUID)(たとえば、RF-SQUIDまたはDC-SQUID)などの回路要素を含む。
【0115】
対照的に、古典回路要素は概して、決定論的やり方でデータを処理する。古典回路要素は、基本的算術、論理、および/または入力/出力動作をデータに対して実施することによって、コンピュータプログラムの命令をまとめて実践するように構成することができ、データはアナログまたはデジタルの形で表される。いくつかの実装形態では、古典回路要素は、電気もしくは電磁気的接続を通して量子回路要素へデータを送信し、かつ/またはそこからデータを受信するのに使うことができる。古典回路要素の例は、CMOS回路構成、高速単一磁束量子(RSFQ)デバイス、相反量子論理(RQL)デバイスおよびERSFQデバイスに基づく回路要素を含み、これらは、バイアス抵抗器を使わない、RSFQのエネルギー効率のよいバージョンである。
【0116】
いくつかのケースでは、量子および/または古典回路要素の一部または全部が、たとえば、超伝導量子および/または古典回路要素を使って実装されてよい。超伝導回路要素の組立ては、超伝導体、誘電体および/または金属など、1つまたは複数の材料の堆積を伴い得る。選択された材料によっては、これらの材料は、他の堆積プロセスの中でも特に、化学的気相堆積、物理的気相堆積(たとえば、蒸着もしくはスパッタリング)、またはエピタキシャル技法などの堆積プロセスを使って堆積され得る。本明細書に記載する回路要素を製造するためのプロセスは、組立て中に、デバイスからの、1つまたは複数の材料の除去を伴い得る。取り除かれるべき材料によっては、除去プロセスは、たとえば、ウェットエッチング技法、ドライエッチング技法、またはリフトオフプロセスを含み得る。本明細書に記載する回路要素を形成する材料は、知られているリソグラフィ技法(たとえば、フォトリソグラフィまたは電子ビームリソグラフィ)を使ってパターン化することができる。
【0117】
本明細書に記載される回路要素などの超伝導量子回路要素および/または超伝導古典回路要素を使う量子計算システムの動作中、超伝導回路要素は、超伝導体材料が超伝導プロパティを呈することが可能な温度まで、クリオスタット内で冷却される。超伝導体(代替として超伝導)材料は、超伝導臨界温度以下において超伝導プロパティを呈する材料として理解することができる。超伝導材料の例は、アルミニウム(1.2ケルビンの超電導臨界温度)およびニオブ(9.3ケルビンの超伝導臨界温度)を含む。したがって、超伝導トレースおよび超伝導基底面などの超伝導構造が、超伝導臨界温度以下において超伝導プロパティを呈する材料から形成される。
【0118】
いくつかの実装形態では、量子回路要素(たとえば、キュビットおよびキュビット結合器)向けの制御信号は、量子回路要素に電気的および/または電磁気的に結合されている古典回路要素を使って与えられてよい。制御信号は、デジタルおよび/またはアナログの形で与えられてよい。
【0119】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内部ハードディスクまたは取外し可能ディスクと、光磁気ディスクとCD-ROMおよびDVD-ROMディスクと、量子システム、たとえばトラップ原子または電子とを含む、すべての形態の不揮発性デジタルおよび/または量子メモリ、媒体ならびにメモリデバイスを含む。量子メモリは、量子データを長時間、高い忠実度および効率で記憶することができるデバイス、たとえば、光が送信に、および物質が重ね合わせまたは量子コヒーレンスなどの量子データの量子特徴を記憶し、保存するために使われる光物質インターフェースであることが理解されよう。
【0120】
本明細書に記載される様々なシステム、またはそれらの部分の制御は、1つまたは複数の非一時的機械可読記憶媒体に記憶される命令であって、1つまたは複数の処理デバイス上で実行可能な命令を含むコンピュータプログラム製品で実装することができる。本明細書に記載されるシステム、またはそれらの部分は各々、装置、方法、または1つもしくは複数の処理デバイスと、本明細書に記載した動作を実施するための実行可能命令を記憶するためのメモリとを含み得るシステムとして実装することができる。
【0121】
本明細書は、多くの具体的な実装詳細を含むが、これらは、請求され得るものの範囲に対する限定として解釈されるべきでなく、特定の実装形態に特有な場合がある特徴の記述として解釈されるべきである。また、別個の実装形態の文脈において本明細書で説明したいくつかの特徴は、単一の実装形態において組み合わせて実装することができる。逆に、単一の実装形態の文脈において記載される様々な特徴はまた、複数の実装形態において別々に、またはどの適切な部分組合せでも実装することができる。さらに、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求される場合もあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除することができ、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象としてもよい。
【0122】
同様に、動作は特定の順序で図面に示されるが、このことは、望ましい結果を達成するために、そのような動作が、示された特定の順序もしくは連続した順序で実施されること、または図示されたすべての動作が実施されることを必要とするものとして理解されるべきでない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上述した実装形態における様々なシステムモジュールおよび構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、記載したプログラム構成要素およびシステムは概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることを理解されたい。
【0123】
本主題の特定の実装形態について記載した。他の実装形態は、以下の特許請求の範囲内である。たとえば、請求項において具陳されるアクションは、異なる順序で実施され、望ましい結果を依然として達成することができる。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するのに、図示される特定の順序、または順番を必ずしも求めない。いくつかのケースでは、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0124】
100 システム
102 量子プロセッサ
104 古典プロセッサ
106 古典メモリ
500 古典/量子コンピュータ、コンピュータ、システム
502 量子コンピューティングデバイス
504 制御および測定システム、システム
508 結合器
514 古典プロセッサ、プロセッサ
516 メモリ
518 I/Oユニット、入力/出力デバイス
550 古典プロセッサ
552 キュビットアセンブリ
図1
図2
図3
図4
図5
【手続補正書】
【提出日】2024-02-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
フェルミオン量子システムの量子モンテカルロシミュレーションを実施して、前記フェルミオン量子システムのターゲット波動関数を計算するためのコンピュータ実装方法であって、
古典コンピュータによって、量子コンピュータによって生成されたデータを受信するステップであって、前記データは、試行波動関数の1つまたは複数の測定の結果を表し、前記試行波動関数は、前記ターゲット波動関数に近似し、前記量子コンピュータによって準備される、ステップと、
前記古典コンピュータによって、前記試行波動関数の前記1つまたは複数の測定の前記結果を表す前記データを使って、前記試行波動関数の古典的シャドーを計算するステップと、
前記古典コンピュータによって、前記フェルミオン量子システムを特徴付けるハミルトニアンを使って、初期波動関数の虚数時間ステップのシーケンスについての虚数時間伝播を実施するステップとを含み、
前記虚数時間伝播は、所定の収束基準が満たされるまで実施され、
前記虚数時間伝播の各虚数時間ステップを実施するステップは、前記試行波動関数の前記古典的シャドーを使って、前の虚数時間ステップに対する波動関数を更新して、現在の虚数時間ステップに対する波動関数を取得するステップを含む、方法。
【請求項2】
前記試行波動関数の前記古典的シャドーを使って、前記前の虚数時間ステップに対する前記波動関数を更新するステップは、
前記現在の虚数時間ステップに対するウォーカー波動関数を判断するステップと、
前記前の虚数時間ステップに対する前記試行波動関数とウォーカー波動関数の第1の内積および現在の虚数時間ステップに対する前記試行波動関数とウォーカー波動関数の第2の内積を使って、現在の虚数時間ステップに対するウォーカー重みを判断するステップであって、前記第1の内積および第2の内積は、前記試行波動関数の前記古典的シャドーを使って判断される、ステップとを含む、請求項1に記載の方法。
【請求項3】
前記試行波動関数の前記計算された古典的シャドーを、前記古典コンピュータの古典メモリに記憶するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記前の虚数時間ステップに対する前記試行波動関数とウォーカー波動関数の前記第1の内積および現在の虚数時間ステップに対する前記試行波動関数とウォーカー波動関数の前記第2の内積を使って、現在の虚数時間ステップに対するウォーカー重みを判断するステップは、
前記試行波動関数の前記古典的シャドーを前記古典メモリから取り出すステップと、
1つまたは複数の古典的にシミュレートされた第1の射影子の期待値および前記試行波動関数の前記古典的シャドーを判断することを含む、前記第1の内積の近似を計算するステップであって、前記1つまたは複数の第1の射影子は、前記前の虚数時間ステップに対する前記ウォーカー波動関数に依存する、ステップと、
1つまたは複数の古典的にシミュレートされた第2の射影子の期待値および前記試行波動関数の前記古典的シャドーを判断することを含む、前記第2の内積の近似を計算するステップであって、前記1つまたは複数の第2の射影子は、前記現在の虚数時間ステップに対する前記ウォーカー波動関数に依存する、ステップとを含む、請求項3に記載の方法。
【請求項5】
前記1つまたは複数の第1の射影子は、スタビライザ状態を使って生成される、請求項4に記載の方法。
【請求項6】
前記スタビライザ状態は、試行状態によって表される粒子の数に等しいハミング重みをもつ計算基礎状態を含む、請求項5に記載の方法。
【請求項7】
前記試行波動関数は、ユニタリーのアンサンブルからランダムにサンプリングされたユニタリー演算子を使って回転される試行波動関数を含み、前記ユニタリーのアンサンブルはトモグラフィ的に完全である、請求項1に記載の方法。
【請求項8】
前記ユニタリー演算子は、Nキュビットクリフォード回路またはN未満のキュビットにおけるランダムに選択されたクリフォード回路のテンソル積を含む、請求項7に記載の方法。
【請求項9】
前記虚数時間伝播の各虚数時間ステップを実施するステップは、前記試行波動関数の前記古典的シャドーを使って、エネルギー推定量を計算するステップをさらに含む、請求項1に記載の方法。
【請求項10】
前記試行波動関数は、ユニタリー演算子のテンソル積を使って変換された試行波動関数を含み、前記テンソル積の中の各ユニタリー演算子は、それぞれのランダムに選択されたNp∈Pキュビットクリフォードゲートを含み、Np∈Pは、Nキュビットの、P個の部分への区分の部分pの中のキュビットの数を表す、請求項1に記載の方法。
【請求項11】
量子コンピュータによって、前記試行波動関数の複数のコピーを準備するステップであって、前記試行波動関数は前記ターゲット波動関数に近似する、ステップと、
前記量子コンピュータによって、前記試行波動関数の前記複数のコピーの変換に対して測定動作を実施するステップと、
前記量子コンピュータによって前記古典コンピュータへ、前記測定動作の結果を表すデータを送信するステップとをさらに含む、請求項1に記載の方法。
【請求項12】
フェルミオン量子システムの量子モンテカルロシミュレーションを実施して、前記フェルミオン量子システムのターゲット波動関数を計算するためのコンピュータ実装方法であって、
量子コンピュータによって、試行波動関数の複数のコピーを準備するステップであって、前記試行波動関数は前記ターゲット波動関数に近似する、ステップと、
前記量子コンピュータによって、前記試行波動関数の前記複数のコピーの変換に対して測定動作を実施するステップと、
前記量子コンピュータによって古典コンピュータへ、前記測定動作の結果を表すデータを送信するステップであって、前記古典コンピュータは、前記送信されたデータを使って前記フェルミオン量子システムを特徴付けるハミルトニアンを使って、初期波動関数の虚数時間伝播を実施する、ステップとを含む方法。
【請求項13】
前記試行波動関数のコピーの変換に対する測定動作を実施するステップは、
ユニタリー演算子のアンサンブルからユニタリー演算子をランダムにサンプリングするステップであって、前記ユニタリー演算子のアンサンブルはトモグラフィ的に完全である、ステップと、
前記ランダムにサンプリングされたユニタリー演算子を、前記試行波動関数の前記コピーに適用して、回転試行波動関数を取得するステップと、
算基礎で前記回転試行波動関数を測定するステップとを含む、請求項12に記載の方法。
【請求項14】
前記試行波動関数のコピーの変換に対する測定動作を実施するステップは、
ユニタリー演算子のアンサンブルから複数のユニタリー演算子をランダムにサンプリングするステップであって、前記ユニタリー演算子のアンサンブルはトモグラフィ的に完全であり、各サンプリングされたユニタリー演算子はNp∈Pキュビットクリフォードゲートを含み、Np∈Pは、Nキュビットの、P個の部分への区分の部分pの中のキュビットの数を表す、ステップと、
前記ランダムにサンプリングされたユニタリー演算子のテンソル積を、前記試行波動関数の前記コピーに適用して、変換された試行波動関数を取得するステップと、
前記変換された試行波動関数を計算基礎で測定するステップとを含む、請求項12に記載の方法。
【請求項15】
前記量子モンテカルロシミュレーションは、射影子量子モンテカルロシミュレーションまたは補助場量子モンテカルロシミュレーションを含む、請求項1に記載の方法。
【請求項16】
前記量子コンピュータは、ノイズあり中規模量子デバイスを含む、請求項1に記載の方法。
【請求項17】
前記試行波動関数は、一般化された原子価結合完全ペアリング波動関数仮説からの波動関数を含む、請求項1に記載の方法。
【請求項18】
前記一般化された原子価結合完全ペアリング波動関数仮説は、密度-密度項を含むレイヤの第1のセットおよび同じスピンペアの間の最近傍ホッピング項を含むレイヤの第2のセットを含む、請求項17に記載の方法。
【請求項19】
1つまたは複数のコンピュータと、
命令を記憶した、前記1つまたは複数のコンピュータに結合された1つまたは複数のコンピュータ可読記録媒体とを備えるシステムであって、前記命令は、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から11および15から18のいずれか一項に記載の方法による動作を実施させる、システム。
【請求項20】
1つまたは複数の量子コンピュータと、
前記1つまたは複数の量子コンピュータによって実行されると、前記1つまたは複数の量子コンピュータに、請求項12から18のいずれか一項に記載の方法による動作を実施させる命令を記憶した、前記1つまたは複数の量子コンピュータに結合された1つまたは複数のコンピュータ可読媒体とを備えるシステム。
【請求項21】
前記量子コンピュータはNISQデバイスを含む、請求項20に記載のシステム。
【国際調査報告】