(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-24
(54)【発明の名称】交換する演算子の同時測定
(51)【国際特許分類】
G06N 10/60 20220101AFI20221017BHJP
【FI】
G06N10/60
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022508521
(86)(22)【出願日】2020-08-12
(85)【翻訳文提出日】2022-02-09
(86)【国際出願番号】 GB2020051915
(87)【国際公開番号】W WO2021028680
(87)【国際公開日】2021-02-18
(32)【優先日】2019-08-12
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】520282616
【氏名又は名称】リバー レーン リサーチ リミテッド
【氏名又は名称原語表記】River Lane Research Ltd
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100153729
【氏名又は名称】森本 有一
(74)【代理人】
【識別番号】100141162
【氏名又は名称】森 啓
(72)【発明者】
【氏名】タオチェン ワン
(72)【発明者】
【氏名】トーマス パークス
(72)【発明者】
【氏名】オフィーリア クロフォード
(72)【発明者】
【氏名】アール キャンベル
(72)【発明者】
【氏名】スティーブ ブライアリー
(57)【要約】
複数の演算子のうちの各演算子の測定値を決定するためのコンピュータ実装の方法。この方法は、複数の演算子を、相互に交換する演算子の1つ以上のセットにグループ化することを含み、各セットは、複数の演算子のうちの1つ以上を含む。演算子の各セットについて、演算子のセットが、変換された演算子のサブセットの積に等しくなるような、演算子のセットに基づく変換された演算子のサブセットと、変換された演算子のサブセットに基づくマッピング回路であって、マッピング回路が、量子コンピュータ内の複数のキュビットに対して動作するように構成された量子ゲートの配置を含む、マッピング回路と、を決定する。演算子の各セットに対して測定ルーチンを実行し、測定ルーチンは、量子コンピュータ内の複数のキュビットを使用して、量子ゲートの第1の配置を使用した試行状態を準備することと、試行状態の複数のキュビットに対してマッピング回路を動作させることと、複数のキュビットのうちの各キュビットに対して測定を実行して、各キュビットのキュビット測定値を取得することと、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
複数の演算子のうちの各演算子の測定値の決定を可能にするためのコンピュータ実装の方法であって、
前記複数の演算子を、相互に交換する演算子の1つ以上のセットにグループ化することであって、各セットが、前記複数の演算子のうちの1つ以上を含む、グループ化することと、
演算子の各セットについて、
前記演算子のセットが、変換された演算子のサブセットの積に等しくなるような、前記演算子のセットに基づく変換された演算子のサブセット、
前記変換された演算子のサブセットに基づくマッピング回路であって、前記マッピング回路が、量子コンピュータ内の複数のキュビットに対して動作するように構成された量子ゲートの配置を含む、マッピング回路、および
前記変換された演算子のサブセットに基づいて、キュビット測定値を、前記演算子のセット内の前記演算子の各々の演算子測定値に変換するための測定後処理ルーチン、を決定することと、を含む、方法。
【請求項2】
演算子の各セットに対して測定ルーチンを実行することをさらに含み、前記測定ルーチンが、
前記量子コンピュータ内の前記複数のキュビットを使用して、量子ゲートの第1の配置を使用した試行状態を準備することと、
前記試行状態の前記複数のキュビットに対して前記マッピング回路を動作させることと、
前記複数のキュビットのうちの各キュビットに対して測定を実行して、各キュビットのキュビット測定値を取得することと、
前記測定後処理ルーチンを前記キュビット測定値に適用して、前記キュビット測定値を、前記演算子のセット内の前記演算子の各々の前記演算子測定値に変換することと、を含む、請求項1に記載の方法。
【請求項3】
前記方法が、前記量子コンピュータを使用して物理系のエネルギーレベルを推定するように構成され、前記エネルギーレベルが、前記複数の演算子の予想値の合計によって記述され、前記方法が、少なくとも各セット内の各演算子に対して前記決定された演算子測定値に基づいて、前記物理系の前記エネルギーレベルの前記推定値を決定することをさらに含む、請求項2に記載の方法。
【請求項4】
前記変換された演算子のサブセットを決定することと、前記マッピング回路を決定することと、前記測定後処理ルーチンを決定することとが、古典的コンピュータを使用して実行され、前記古典的コンピュータが、前記キュビット測定値に対して前記測定後処理ルーチンを適用して、前記キュビット測定値を、前記演算子のセット内の前記演算子の各々の演算子測定値に変換するステップをさらに実行する、請求項2または請求項3に記載の方法。
【請求項5】
前記試行状態を準備することと、前記マッピング回路を動作させることと、各キュビットに対して測定を実行することとが、前記量子コンピュータを使用して実行される、請求項2ないし4のいずれか一項に記載の方法。
【請求項6】
前記測定ルーチンが、各セット内の各演算子の対応する複数の演算子測定値を取得するために、各セットに対して複数回実行され、前記方法が、前記対応する複数の演算子測定値の平均に基づいて、各セット内の各演算子の予想値を決定することをさらに含む、請求項2に記載の方法。
【請求項7】
前記エネルギーレベルの前記推定値を決定することが、各セット内の各演算子の前記予想値の合計を含む、請求項6に記載の方法。
【請求項8】
前記マッピング回路が、前記複数のキュビットのうちの少なくとも2つに作用するように構成された少なくとも1つのマルチキュビットゲートを含む、請求項1ないし7のいずれか一項に記載の方法。
【請求項9】
前記マッピング回路が、1つ以上のマルチキュビットゲートを含み、マルチキュビットゲートの数が、前記複数のキュビットの数に比例し、前記比例が、前記演算子のセット内の独立した演算子の前記数によって乗算された前記複数のキュビットの前記数の上限を有し、前記演算子のセット内の各演算子が、前記1つ以上の独立した演算子から構築することができる、請求項8に記載の方法。
【請求項10】
前記マッピング回路が、前記複数のキュビットのうちの各キュビットに回転を適用するように構成された1つ以上のシングルキュビットゲートを含む、請求項1ないし9のいずれか一項に記載の方法。
【請求項11】
変換された演算子のサブセットを決定することが、
前記演算子のセットのうちの1つ以上の独立した演算子を決定することであって、前記演算子のセット内の各演算子が、前記1つ以上の独立した演算子から構築することができる、決定することと、
前記1つ以上の独立した演算子を、前記変換された演算子のサブセットに変換することと、を含む、請求項1ないし10のいずれか一項に記載の方法。
【請求項12】
前記1つ以上の独立した演算子を、前記変換された演算子のサブセットに変換することが、
前記独立した演算子の数が前記複数のキュビットの前記数と一致するかどうかを決定することと、
前記独立した演算子の数が前記複数のキュビットの前記数よりも少ないと決定することに応答して、
前記変換された演算子の数が前記キュビットの数と一致するように、前記変換された演算子のサブセットに追加される1つ以上の新しい変換された演算子を構築することと、を含む、請求項11に記載の方法。
【請求項13】
前記キュビット測定値が、前記変換された演算子のサブセットの測定値を表す、請求項1ないし12のいずれか一項に記載の方法。
【請求項14】
プロセッサによって実行されるときに、前記プロセッサに請求項1ないし13のいずれか一項に記載の方法を実行させる命令を含む、コンピュータ可読媒体。
【請求項15】
請求項1ないし13のいずれか一項に記載の方法を実行するように構成された古典的コンピュータおよび量子コンピュータを備える装置。
【発明の詳細な説明】
【背景技術】
【0001】
本開示は、エネルギーレベルを決定することに関する。特に、本開示は、物理系のエネルギーレベルを決定するための方法に関する。さらに、本開示は、量子コンピュータを使用して相互に交換する演算子の測定結果を決定することに関する。
【0002】
分子または原子などの物理系の考えられる固有状態およびエネルギーを決定することができることは、多くの技術分野で非常に有用である。系が摂動されたときにエネルギーがどのように変化する可能性があるかを決定することで、多くの分子特性を導出することが可能になる。例えば、ある数の原子核形状に対して分子電子構造ハミルトニアンに関連付けられたシュレディンガー方程式を解くことにより、分子系のポテンシャルエネルギー面(PES)を構築することが可能である。PESの知識は、科学者が、とりわけ反応速度を決定することを可能にするので、特に化学分野で非常に重要である。
【0003】
光起電材料における光スペクトル、ならびに他の電荷およびエネルギー伝達プロセスを決定するためには、励起状態を決定することが必要である。励起状態の特性分析により、光分解を伴うものなどの多くの化学反応をより良く理解することも可能である。さらに、密度汎関数理論などの古典的方法では、基底状態エネルギー計算が可能な材料であっても、励起状態を決定することが不可能な場合がよくある。
【0004】
物理系の固有状態およびエネルギーについての情報を取得する現在の方法の多くは、複雑なアルゴリズムを使用して物理系をシミュレートする古典的コンピュータに依存する。しかしながら、そのような方法は、手に負えない量のコンピューティングリソースを必要とし、または解を十分な精度で返さないことがよくある。量子コンピュータでは、古典的コンピュータで可能であるよりもはるかに効率的に系をシミュレートすることが可能であり、様々なアーキテクチャを使用して量子コンピュータの実験的開発が進んでいる。今や、捕捉イオンまたは超伝導系に基づく小型デバイスが、大規模実装形態への明確なロードマップと一緒に利用可能である。
【0005】
量子コンピュータを使用して物理系のエネルギーレベルを見つける既知の方法が存在する。例えば、変分量子固有値ソルバー(VQE)法を使用して、系のハミルトニアンの知識があれば、指定された正確度まで物理系のエネルギーレベルを推定することができる。
【0006】
VQEなどの既知の方法では、量子コンピュータ上で実行するために、試行状態の準備を多く繰り返し、試行状態での測定を多く繰り返す必要があり、これは、有用な結果を得るために長い時間および多くの処理能力を要し得ることを意味する。したがって、物理系のエネルギーレベルを決定する際に、試行状態の準備および測定を繰り返す回数を低減することができることが望ましい。
【0007】
本発明は、エネルギーレベルを決定するために使用される複数の演算子の測定値を同時に取得することができる、物理系のエネルギーレベルを決定する改善された方法を提供することによって、従来技術において遭遇するこれらおよび他の不利な点に対処しようとする。
[発明を実施するための形態]
【0008】
本開示の一態様によれば、複数の演算子のうちの各演算子の測定結果値を決定するための方法が提供され、この方法は、複数の演算子を1つ以上のセットにグループ化することであって、各セットが、複数の演算子のうちの1つ以上を含む、グループ化することと、演算子の各セットについて、演算子のセットに基づく変換された演算子のサブセット、変換された演算子のサブセットに基づくマッピング回路、変換された演算子のサブセットに基づく測定後処理ルーチンを決定することと、演算子の各セットに対して測定ルーチンを実行することであって、測定ルーチンが、量子コンピュータ上の複数のキュビットを使用して、量子ゲートの第1の配置を使用した試行状態を準備することと、試行状態の複数のキュビットに対してマッピング回路を動作させることと、複数のキュビットのうちの各キュビットに対して測定を実行して、各キュビットのキュビット測定値を取得することと、測定後処理ルーチンをキュビット測定値に適用して、キュビット測定値を、演算子のセット内の演算子の各々の演算子測定値に変換することと、を含む、実行することと、を含む。
【0009】
この方法の使用例は、物理系のエネルギーレベルを決定することを含む。したがって、本明細書に開示されるのは、量子コンピュータを使用して物理系のエネルギー予想値の推定値を決定するための方法である。エネルギー予想値は、複数の演算子の予想値の合計によって記述され、この方法は、複数の演算子のうちの各演算子の測定値を決定することを含み、決定することは、複数の演算子を1つ以上のセットにグループ化することであって、各セットが、複数の演算子のうちの1つ以上を含む、グループ化することと、演算子のセットについて、演算子のセットに基づく変換された演算子のサブセット、変換された演算子のサブセットに基づくマッピング回路、変換された演算子のサブセットに基づく測定後処理ルーチンを決定することと、を含む。複数の演算子のうちの各演算子の測定結果を決定することは、演算子の各セットに対して測定ルーチンを実行することをさらに含み、測定ルーチンは、量子コンピュータ上の複数のキュビットを使用して、量子ゲートの第1の配置を使用した試行状態を準備することと、試行状態の複数のキュビットに対してマッピング回路を動作させることと、複数のキュビットのうちの各キュビットに対して測定を実行して、各キュビットのキュビット測定値を取得することと、測定後処理ルーチンをキュビット測定値に適用して、キュビット測定値を、演算子のセット内の演算子の各々の演算子測定値に変換することと、を含む。この方法は、少なくとも各セット内の各演算子の決定された演算子測定値に基づいて、物理系のエネルギー予想値の推定値を決定することをさらに含む。
【0010】
任意選択的に、変換された演算子のサブセットを決定することと、マッピング回路を決定することと、測定後処理ルーチンを決定することとは、古典的コンピュータを使用して実行され、古典的コンピュータは、キュビット測定値に対して測定後処理ルーチンを適用して、キュビット測定値を、演算子のセット内の演算子の各々の演算子測定値に変換するステップをさらに実行する。これは、マッピング回路内で追加のゲートを使用する代わりに、キュビット測定値から演算子測定値を決定するプロセスが、古典的に決定されることを可能にするため、従来の方法よりも有利である。したがって、これにより、量子コンピュータ上の計算要件が軽減され、可能な限り少数のキュビットゲートを備えたより単純なマッピング回路が使用されることを可能にする。
【0011】
試行状態を準備するステップと、マッピング回路を動作させるステップと、各キュビットに対して測定を実行するステップとは、量子コンピュータを使用して実行され得る。
【0012】
任意選択的に、測定ルーチンは、各セットに対して複数回実行されて、各セット内の各演算子について対応する複数の演算子測定値が取得される。この方法は、対応する複数の演算子測定値の平均に基づいて、各セット内の各演算子の予想値を決定することをさらに含み得る。任意選択的に、エネルギー予想値の推定値を決定することは、各セット内の各演算子の予想値の合計を含む。
【0013】
任意選択的に、マッピング回路は、複数のキュビットのうちの少なくとも2つに作用するように構成された少なくとも1つのマルチキュビットゲートを含む。これは、演算子のセットを、一般的に交換する演算子のグループにグループ化することを可能にし、このことは、多数の演算子を有するグループを可能にし、したがって、本明細書に開示される方法を使用して多数の演算子測定値を同時に取得することができるので、従来の方法よりも有利である。
【0014】
任意選択的に、マッピング回路は、1つ以上のマルチキュビットゲートを含み、マルチキュビットゲートの数は、複数のキュビットの数に比例し、比例は、演算子のセット内の独立した演算子の数によって乗算された複数のキュビットの数の上限を有し、演算子のセット内の各演算子は、1つ以上の独立した演算子から構築することができる。
【0015】
いくつかの実施形態では、マッピング回路は、複数のキュビットのうちの各キュビットに回転を適用するように構成された1つ以上のシングルキュビットゲートを含む。
【0016】
いくつかの実施形態では、セット内の各演算子は、概して、セット内の他のすべての演算子と交換する。これは、演算子のより大きいグループ化を可能にするので、従来の方法よりも有利であり、これは、本明細書に開示される方法を使用して、より多くの演算子測定値を同時に取得することができることを意味する。
【0017】
任意選択的に、変換された演算子のサブセットを決定することは、演算子のセットのうちの1つ以上の独立した演算子を決定することであって、演算子のセット内の各演算子が、1つ以上の独立した演算子から構築することができる、決定することと、1つ以上の独立した演算子を、変換された演算子のサブセットに変換することと、を含む。
【0018】
任意選択的に、1つ以上の独立した演算子を、変換された演算子のサブセットに変換することは、独立した演算子の数が複数のキュビットの数と一致するかどうかを決定することと、独立した演算子の数が複数のキュビットの数よりも少ないと決定することに応答して、変換された演算子の数がキュビットの数と一致するように、変換された演算子のサブセットに追加される1つ以上の新しい変換された演算子を構築することと、を含む。
【0019】
任意選択的に、キュビット測定値は、変換された演算子のサブセットの測定値を表す。次に、測定後処理ルーチンを使用して、変換された演算子測定値を演算子測定値に変換する。これは、マッピング回路内で追加のゲートを使用する代わりに、キュビット測定値から演算子測定値を決定するプロセスが、古典的に決定されることを可能にするため、従来の方法よりも有利である。したがって、これにより、量子コンピュータ上の計算要件が軽減され、可能な限り少数のキュビットゲートを備えたより単純なマッピング回路が使用されることを可能にする。
【0020】
本開示のさらなる態様によれば、プロセッサによって実行されるときに、プロセッサに、開示された方法のいずれか1つを実行させる命令を含むコンピュータ可読媒体が提供される。
【0021】
本開示の別の態様によれば、開示された方法のいずれか1つを実行するように構成された古典的コンピュータおよび量子コンピュータを備える装置が提供される。
【図面の簡単な説明】
【0022】
特定の実施形態が、例としてのみ、および添付の図面を参照しながら以下に説明されている。
【
図1】最新技術による物理系のエネルギーレベルを決定するための変分量子固有値ソルバー(VQE)法を示す。
【
図2a】既知の方法による、複数のパウリ演算子の測定結果を決定するための測定ルーチンを示す。
【
図2b】いくつかの実施形態による、複数のパウリ演算子の測定結果を決定するための測定ルーチンを示す。
【
図3】物理系のエネルギーレベルを決定するために、本開示の実施形態をVQEフレームワークにどのように組み込むことができるかを示す。
【
図4】特定の一実施形態によるマッピング回路の実例。
【
図5】本開示の実施形態による方法を示すフローチャート。
【
図6】いくつかの実施形態によるコンピューティングデバイスの1つの実装形態のブロック図を示す。
【発明を実施するための形態】
【0023】
本明細書では、説明の最後の付録Aに提供されている、(1)から(31)の番号が付けられた式を参照する。
【0024】
変分量子固有値ソルバー(VQE)などのハイブリッド量子古典アルゴリズムでは、物理系のエネルギーレベルを決定する問題は、ハミルトニアンHの問題によって指定される。このハミルトニアンは、原子または分子などの物理系に固有であり、以下に説明するように、その物理系のエネルギーレベルを記述する。問題のハミルトニアンは、式(1)に従って、いわゆるパウリ演算子の合計に分割される。係数aiは、古典的コンピュータによって計算され、パウリ項Piは、任意の所与の試行状態のそれらの予想値が量子コンピュータ上で推定することが可能であるという特性を有する。ハミルトニアンの合計予想値<H>は、各パウリ演算子Piの予想値を順番に測定し、古典的コンピュータ上で、係数で重み付けされたそれらの合計を計算することによって推定される。
【0025】
ここで、最新技術による物理系のエネルギーレベルを決定するための変分量子固有値ソルバー(VQE)法を示す
図1を参照する。破線のボックス102は、量子回路を使用する、方法のうちの、量子コンピュータを使用して実行される部分を示す。破線のボックス104は、古典的回路を使用する、方法のうちの、古典的コンピュータを使用して実行される部分を示す。破線のボックス102と104との間の矢印は、量子コンピュータと古典的コンピュータとの間のインターフェースを示す。
【0026】
当業者によって理解されるように、物理系のエネルギー状態は、複数のパウリ演算子の合計を含む、ハミルトニアン演算子を使用して記述され得る。標準VQE法を使用して、(ボックス108によって示される)量子予想値推定ルーチンを古典的オプティマイザ112と一緒に使用して、物理系のハミルトニアンHのエネルギーレベルを決定することができる。古典的なオプティマイザは、パラメータλに応じて、試行状態波動関数|ψ(λ)>を調整する。所与の正規化された|ψ(λ)>では、エネルギーを評価することが可能である。
E(λ)≡<ψ(λ)|H|ψ(λ)>=Σai<ψ(λ)|Pi|ψ(λ)>
【0027】
標準VQEをより詳細に記述するために、考えられるのは、まず、ハミルトニアン演算子Hを、有限和H=ΣaiPiと書くことであり、式中、aiは複素係数であり、Piはパウリ演算子である。各aiPiは、被加数として説明することができる。被加数の数mは、量子化学の電子ハミルトニアンの場合と同様に、系のサイズの多項式であると想定される。
【0028】
物理系のエネルギー状態を評価するには、ハミルトニアンの知識を使用して仮説試行状態|ψ(λ)>を決定し、この仮説試行状態は、量子コンピュータ上で複数のキュビットを使用して準備することができる。この仮説試行状態は、パラメータλに依存するエネルギーE(λ)を有する。試行状態は、量子プロセッサにおいて準備され、量子回路とも称される量子ゲートの配置を使用して、各被加数の予想値を一度に1つずつ決定する。予想値推定値が与えられると、古典的コンピュータ104を使用して、各パウリ演算子の対応する複素係数aiに基づいて、加重合計を決定する。この合計により、試行状態エネルギーの推定値および/または決定値が生成される。最後に、ネルダーミードなどの古典的なオプティマイザを使用して、準備回路を制御することによって、λに関して関数E(λ)を最適化する。
R(λ):|0>→|ψ(λ)>
ここで、|0>は、キュビットの開始状態である。変分原理(VP)は、基底状態を見出すときにVQE手順全体を正当化し、Hの基底状態の固有値のためにEminを書き、VPは、|ψ(λ)>が基底状態である場合に限り、E(λ)≧Eminが等号であると述べている。同様に、E(λ)曲線の極小値は、物理系の他のエネルギーレベル/状態を表す。したがって、VQE法を使用して、ハミルトニアンによって記述された物理系のエネルギーレベルの推定値を決定することが可能である。
【0029】
典型的なVQEプロセスでは、量子コンピュータ内に含まれる準備回路Rを使用して、初期試行状態|ψ(λ)>を準備する。初期試行状態の準備を、
図1のボックス106に示す。準備回路Rは、量子コンピュータ内の複数のキュビット上で試行状態を準備するために使用されるパラメータλによって決定される量子ゲートの特定の配置である。
【0030】
次いで、ハミルトニアン内の各パウリ演算子項の予想値を、所与の試行状態に対して推定することができる。この決定を、
図2のブロック108に示す。言い換えれば、mの被加数を持つハミルトニアンのエネルギー固有値を決定するために、量子コンピューティングデバイスは、試行状態のP
1、P
2、…P
mの測定を行う。
【0031】
次に、これらの測定値は、
図1の破線のボックス104によって示されている古典的コンピューティングデバイスに通信され、この古典的コンピューティングデバイスは、予想値<ψ(λ)|P
1|ψ(λ)>、<ψ(λ)|P
2|ψ(λ)>、…<ψ(λ)|P
m|ψ(λ)>を計算する。当業者が理解するように、各測定値P
1は、回路の深さD=O(1)を有する単純な回路を使用して直接取得することができる。各パウリ演算子の予想値を決定するために、試行状態で複数の測定を実行して、そのパウリ演算子の複数の測定結果を取得する。言い換えれば、同じ量子回路が、所与の試行状態のキュビットに複数回適用され、次に、キュビットが測定されて、測定結果値が提供される。測定結果値は、例えば複数の測定結果値から平均値をとることにより、パウリ演算子の予想値を取得することができる統計分布を形成する。
【0032】
各パウリ演算子の予想値を計算した後、古典的コンピューティングデバイスは、対応する複素係数aiで重み付けされた、各パウリ演算子の予想値の加重合計を決定して、初期試行状態のハミルトニアンのエネルギー値を見出す。この固有値に基づいて、古典的コンピュータ104は、ボックス112においてパラメータλを更新し、それによって、新たな試行状態の構築が可能になる。量子コンピュータは、新しい試行状態を作成するように指示され、所望のエネルギーレベルが指定された精度で決定されることを最適化手順が満たすまで、プロセス全体が繰り返される。測定プロセスは、予想のε内の精度を達成するために、各パウリ演算子に対してN=O(1/ε2)回繰り返される。したがって、繰り返しの数は、必要な精度で多項式的にスケーリングされる。試行状態のキュビットは毎回測定され、したがってキュビットの状態が崩壊するため、繰り返しごとに、準備回路Rを使用して量子コンピュータ上で試行状態|ψ(λ)>を準備する必要がある。したがって、最新技術による既知のVQE法では、単一のパウリ演算子の予想値を決定するために、N個の状態の準備が必要である。したがって、m個のパウリ演算子項を持つハミルトニアンの場合、既知の方法では、量子コンピュータ上でN×mの状態準備を行って、試行状態|ψ(λ)>のエネルギー予想値を決定する必要があり、したがって、多数の状態準備および測定演算が必要になる。したがって、既知の方法は、有用な結果を得るために、多数の計算が必要であり、したがって、より長い処理時間およびより長い量子コンピュータの動作が必要であるという点で、制限されている。
【0033】
しかしながら、新しい超伝導、トラップ型イオン、および提案されているネットワーク化された量子コンピュータアーキテクチャにより、キュビットの並列測定および読み出しが可能になる。本開示の方法は、試行状態のエネルギー予想値を決定するときに、状態の準備および測定の総数(したがって実行時間)を低減するために、2つ以上のパウリ演算子に対して同時に測定を実行する能力を利用する。
【0034】
以下でより詳しく考察するように、ハミルトニアンの項は、特定の特性に従ってグループ化され、次いで、グループ内のすべての項について同時に測定値を取得することができる。試行状態|ψ(λ)>を準備するための通常の状態準備回路の後に、本開示の方法は、グループのために特別に構築された新規の回転またはマッピング回路を実行し、その結果、すべてのnキュビットの単一の測定後、グループ内のすべての項の測定結果が、nキュビットに対する測定から決定され得る。
【0035】
図3は、物理系のエネルギーレベルを決定するために、本開示の方法がVQEフレームワークにどのように組み込まれ得るかを示す。具体的には、
図3は、
図1に示したVQE法のボックス106、108、および110に相当する方法ステップを示しており、ここでは、グループ内の複数の演算子の測定値を、一度に1つずつではなく、同時に取得することができる。演算子は、以下でより詳細に考察するように、演算子の特定の特性に基づいて、演算子のセットに一緒にグループ化される。
【0036】
ステップ310において、グループまたはセットごとの測定数Nを決定する。上記のように、Nは、グループ内のすべての演算子の予想値をそれから取得することができる測定値の分布を取得するために実行される、繰り返される状態の準備および対応する測定の数を表す。言い換えれば、グループごとの測定数Nは、破線のボックス320内のステップの繰り返しの数を表す。
【0037】
破線のボックス320は、グループ内のすべての演算子の測定結果を同時に取得するために使用される、本開示の方法ステップを含む。ステップ312において、
図1のステップ106と同様に、量子コンピュータ上で複数のキュビットを使用して試行状態を準備する。ステップ314において、回転回路またはマッピング回路を、量子状態で準備された複数のキュビットに適用する。回転回路については、以下でより詳細に考察しており、演算子のグループに応じて量子ゲートの特定の配置を使用して構築される。ステップ316において、量子状態で準備され、回転回路が適用された各キュビットを測定して、測定値を取得する。測定値は、+1または-1になる。したがって、ステップ316において、複数のキュビット測定値が取得される。次に、キュビット測定値は、ステップ318において測定後ルーチン(さもなければ、古典的後処理と称される)に入力され、これは、キュビット測定値を、セット内の各演算子の測定結果に変換する。測定後ルーチンは、セット内の各演算子の測定値を決定するために、キュビット測定値のうちの1つ以上のいずれかの1つ以上の積を決定することを含む。特定のキュビット測定値の特定の積は、演算子のセット自体に基づいて決定され、これについては、以下でより詳細に考察する。
【0038】
破線のボックス320内で識別されるプロセスは、各グループ/セットに対してN回繰り返されて(Nは、ステップ310において決定され、これは、演算子の各セットについて同じであり得るか、または演算子の所与のセットに固有であり得る)、各セット内の各演算子に対してN個の測定値が取得される。各演算子のN個の測定値から、N個の測定値の平均値をとることにより、演算子の予想値を決定することができる。したがって、セット内のすべての演算子の予想値は、そのセットについてボックス320のN回の繰り返しから取得することができる。
【0039】
ステップ330において、ハミルトニアンの予想値は、ハミルトニアン内の各項の予想値(各加重演算子予想値)を合計することによって決定され、ここで、ハミルトニアンを構成する演算子の予想値は、ステップ320において決定される。言い換えれば、ハミルトニアンによって表される物理系のエネルギー予想値の推定値は、演算子の予想値に基づいて決定される。さらに、ハミルトニアンの予想推定値に関連する誤差の推定値も決定することができる。さらに、ステップ330の出力は、より広いVQEフレームワークで試行状態を更新するために、
図1のステップ112におけるように古典的オプティマイザに入力され得る。
【0040】
本開示の方法の高レベルの図解、および既知の手法との比較を
図2aおよび2bに示して、既知の方法に対して提供される利点を説明する。
図2aは、既知の方法による
図1のボックス108の測定ルーチンを示している。測定ルーチンは、物理系のハミルトニアンのパウリ演算子の測定結果を決定するために使用される。測定ルーチンは、物理系のエネルギーレベルを決定するために、(ボックス108として)VQE内で使用される。
【0041】
図2aは、既知の方法による、複数のパウリ演算子の測定結果を決定するための測定ルーチンを示している。
図2aは、それぞれ、P
1、P
2、P
3、およびP
4の各々の測定結果を決定するための4つの異なる測定ルーチン210、220、230、および240を示している。この既知の方法では、210、220、230、および240の各々が別々に実行されて、それぞれの測定結果が一度に1つずつ決定される。これは、各測定ルーチンが、量子コンピュータ内のキュビット上の状態準備(212、222、232、242)を含み、次いで、これらが、量子ゲート(214、224、234、244)を使用して操作され、その後、キュビットが測定される(216、226、236、246)ためである。すべてのキュビットの測定結果を使用して、単一のパウリ演算子の測定値を取得することができる。このプロセスは、同じ状態準備を使用して、かつ特定のパウリ演算子に基づいて構築された量子ゲートを使用して、パウリ演算子P
1、P
2、P
3、およびP
4の各々について繰り返されなければならない。
【0042】
図2aおよび2bに示されている特定の例では、プロセスには、(キュビットごとに1つの測定値で、4つのキュビットワイヤおよび4つの測定結果によって示されている)4つのキュビットが必要である。しかしながら、いくつかの例では、関連するパウリ演算子に必要な任意の数のキュビットが使用され得ることを当業者は理解するであろう。
【0043】
図2bは、本開示の方法による、複数のパウリ演算子の測定結果を決定するための測定ルーチンを示している。
図2aに示した方法とはまったく対照的に、
図2bでは、新しい回転回路Cを使用して2つ以上の演算子の測定結果を同時に決定することを可能にする。
図2bは、
図2aのステップ212、222、232、および242と同様に、量子コンピュータ内のキュビットを試行状態へと準備する状態準備252を示している。次に、新しい回路Cを使用して、254において試行状態のキュビットを操作する。新しい回路Cは、マルチキュビットゲートを含む量子ゲートの配置を含み、以下でより詳細に考察される。試行状態のキュビットに対する回路Cの動作に続いて、キュビットは、256において測定される。キュビットの測定結果は、次いで、パウリ演算子P
1、P
2、P
3、およびP
4の各々の測定値を同時に決定するために、新たな測定後ルーチンP(258)を使用して処理される。キュビットに対する量子回路の状態準備および動作のために使用されるハードウェアの考察については、以下で考察される。したがって、
図2aの既知の方法とはまったく対照的に、本開示の方法は、単一の状態準備、ならびに回路および測定演算の単一のセットを使用して、2つ以上のパウリ演算子の測定値を取得することを可能にする。
【0044】
したがって、新しいマッピング回路および新しい測定後ルーチンにより、2つ以上のパウリ演算子に関する情報を同時に取得するために、単一の試行状態の準備、およびキュビット測定のセットが可能になる。より詳細には、開示された方法は、グループ内のすべてのパウリ演算子の同時測定を可能にし、グループ内の各パウリ演算子は、以下でより詳細に考察されるように、特定の特性を有する。
【0045】
図2bに示される方法250などの本開示の方法は、VQEのフレームワーク内で使用することができるが、既知のVQE法よりもかなり短い時間でエネルギー予想値を決定することができる。具体的には、
図2bの方法を使用して、複数のパウリ演算子の予想値推定値を同時に取得するために、(既知のVQE法の)
図1のボックス108を置き換えることができる。重要なことに、本開示の方法は、各パウリ演算子の測定ルーチンを個別に実行するのではなく、ハミルトニアン内の多数のパウリ演算子の測定値を同時に決定することができる。
【0046】
演算子のグループ化
上で考察されるように、本開示の方法を使用して、演算子のグループまたはセット内の各演算子の測定結果を同時に決定することができる。演算子は、特定の特性に従ってグループ化され、グループ内の演算子は、相互に交換している。相互に交換する演算子の任意のグループの場合、量子コンピュータにマッピング回路を適用し、何らかの古典的な後処理を実行することにより、各々の測定値を同時に取得することができる。マッピング回路および古典的な後処理については、以下でより詳しく説明する。
【0047】
一般的に交換する演算子
nキュビットで定義された問題の場合、ハミルトニアンを構成する可能性のある(同一性項を除く)4n-1個の可能なパウリ演算子がある。各パウリ演算子は、他の22n-1-2個と交換する。相互に交換する演算子の最大数は2n-1であるが、これらのうちのnのみが独立になる(残りは、独立セット内の演算子の積から構築することができる)。問題が定義されているキュビットの数は、パウリ演算子が動作し得るキュビットの数を表し、これは、パウリ演算子を構成する項の数に相当する場合がある。キュビットの数は、少なくとも部分的に、ハミルトニアンによって記述される特定の物理系によって規定される可能性があり、また、少なくとも部分的に、問題が量子コンピュータ上でどのように表されるかによって規定される可能性がある。
【0048】
通常、化学ハミルトニアンには、O(n4)項しかない。これらの項を、相互に交換する演算子のグループに分類する1つの方法は、各演算子を順番に取得し、既存のグループ内に配置することができるかどうかを確認し、配置することができない場合、新しいグループを開始することである。ハミルトニアン内のすべての演算子に対してこの方法を実行すると、すべてのパウリ演算子をグループ内に配置することができ、グループ内のすべてのパウリ演算子は、同じグループ内の他のすべてのパウリ演算子と相互に交換する。
【0049】
より詳細には、nキュビット上で定義された問題の場合、ハミルトニアン内の各演算子は、最大n個のサブ項を有することができ、各サブ項は、パウリ行列X、Y、またはZであるか、または代替的に単位行列Iであり得る。本開示の方法は、一般的に交換するパウリ演算子のグループに適用される。
【0050】
一般的に交換する演算子の例として、次の2つのパウリ演算子を取り上げる。
P1=X1Z2I3Y4
P2=Y1Z2I3Y4
P1およびP2が交換する場合、積P1P2およびP2P1は等しい。
【0051】
当業者によって理解され得るように、積P1P2は、以下のようになるはずである。
P1P2=X1Y1×Z2Z2×I3I3×Y4X4=iZ1×1×1×-iZ4=-i×i×Z1Z4=Z1Z4
既知であるはずのように、任意のパウリ行列の2乗は1であり、XY=-YX=iZである。
【0052】
当業者によって理解され得るように、積P2P1は、以下のようになるはずである。
P2P1=Y1X1×Z2Z2×I3I3×X4Y4=-iZ1×1×1×iZ4=-i×i×Z1Z4=Z1Z4
したがって、各演算子内の同じ位置における対応する項が交換しないことがある(例えば、第1のX1項およびY1、ならびに第4の項Y4およびX4が、XYがYXに等しくならないように互いに交換しない)場合であっても、P1P2=P2P1であり、したがって、P1およびP2は交換する。
【0053】
ここでは、局所的に交換するパウリ演算子とは明確に区別されていることを当業者は理解されよう。局所的に交換するパウリ演算子の場合、演算子内の各項は、別の演算子内の同じ位置における対応する項と交換しなければならない。言い換えると、局所的に交換する演算子は、演算子が、サブ項のストリングの各位置に同じパウリ行列または単位行列を有する必要があるという点で、より制限されている。上記の一般的に交換する演算子P1およびP2の例は、第1の項および第4の項が交換していない(それらが異なるパウリ行列である)ため、局所的に交換しないことは明らかである。
【0054】
局所的に交換する演算子のグループは、一般的に交換する演算子のグループよりも制限されていることが理解されよう。一般的な交換の特性により、多数の演算子を一緒にグループ化することができる。本開示の方法は、グループ内の各演算子の測定結果を決定するために、一般的に交換する演算子のグループに基づく新規のマッピング回路を試行状態のキュビットに適用する。したがって、演算子を、一般的に交換する演算子のグループにグループ化することにより、より大きいグループを有することが可能であり、したがって、より多くの同時測定値を一度に取得することが可能である。
【0055】
標準形式の演算子の予想値
特定の形式の演算子のグループの場合、すべての演算子について同時に測定を行うために必要なマッピング回路が知られており、古典的な後処理は必要ない。この形式は次のとおりである。nキュビットで定義されたn個のパウリ演算子の場合、これらの演算子は、1≦i≦nについて、
【数1】
として書くことができる。O
ijという表記法を使用して、i番目のパウリ演算子のj番目のパウリ行列(すなわち、キュビットjに作用する行列)を示すことができ、この場合、すべてのiについて、Oii=Xであり、j≠iであるすべてのi、jについて、O
ij=O
ji=ZまたはIである。
【0056】
この形式の演算子のグループの予想値は、付録Aの式(2)によって提供することができることを示すことができる。Uは、すべてのiについて同じであり、Uは、O
ij=Zであるキュビットi、jのすべてのペアに対する制御Zゲートと、それに続く、すべてのキュビットに対するアダマールゲートとの適用を含む。したがって、演算子
【数2】
の各々の測定値を取得するために、Uによって与えられる回転が適用され、次に、すべてのキュビットが測定される。
【0057】
この標準形式の4つのキュビットで定義された演算子の例示的なセットは、付録Aの式(3)に提供されている。キュビットに適用される、一般的に交換する演算子のこの特定のグループのための特定の回転回路または「マッピング」回路は、式(4)に提供されており、式中、Hiは、キュビットiに適用されるアダマールゲートであり、cZijは、キュビットiおよびjに適用される制御Zゲートである。
【0058】
さらに1キュビットの回転を実行して、元の演算子のセットに基づいた、変換された演算子のサブセットを生じることができる。変換された演算子は標準形式であり、キュビットのうちの1つ以上に適用されるシングルキュビット回転が追加される可能性がある。このさらなるシングルキュビット回転、ならびに上記の制御Zおよびアダマールゲートを適用した後のキュビットに対する測定は、変換された演算子のサブセットの測定値を提供する。元の演算子は、変換された演算子の積から取得することができるため、元の演算子の測定値は、キュビット測定値の積(変換された演算子の積と同等)から元の演算子の測定値を決定する測定後処理ルーチンを使用して取得することができる。本開示の方法は、一般的に交換する演算子の一般的なグループを操作するか、または上記の特定の形式(以下、「標準形式」と称する)に変換するために使用される。このような操作または変換は、以下でより詳細に説明する1キュビットの回転と、元の演算子の積をとることとからなり、これは、古典的な後処理、さもなければ測定後処理と称されるものに対応する。言い換えれば、本開示の方法は、演算子のセットを、変換された演算子のサブセットに変換することを含み、変換された演算子のサブセットは、標準形式の演算子のサブセットであり、任意選択的に、各キュビットに適用されるさらなるシングルキュビット回転を有することができる。その場合、一般的に交換する演算子の元のセットは、変換された演算子の積に等しくなる。したがって、演算子の元のセットの測定値は、変換された演算子の測定値の積から取得することができる。
【0059】
適用される回転またはマッピング回路は、変換された演算子と標準形式の演算子との間の変換、および標準形式の演算子の形式に基づいて決定される。換言すれば、マッピング回路は、変換された演算子のサブセットと標準形式の演算子との間の変換を表すシングルキュビット回転を含み、さらに、上記の2キュビット制御Zゲートおよびアダマールゲートを含む。制御Zゲートの数および動作は、結果として得られる変換された演算子の形式(または、等価的に、標準形式の演算子の形式)に依存する。キュビット測定値を、一般的に交換する演算子の元のセットの測定値に変換する測定後ルーチンも決定される。
【0060】
したがって、本開示のいくつかの実施形態では、方法は、一般的に交換する演算子のグループを、変換された演算子のサブセットへと操作することを含み、変換された演算子のサブセットは、標準形式の演算子のグループに基づいており、各キュビットに適用されるさらなるシングルキュビット回転を有することができる。しかしながら、当業者は、例えば、一般的に交換する演算子のグループがすでに、方法によって必要とされる特定の形式にある場合、一般的に交換する演算子のグループを特定の形式に変換するステップを省略することができることを理解されよう。
【0061】
さらに、演算子の特定の形式および対応するマッピング回路は、上記と正確に一致しない場合があり、代わりに、演算子のグループの他の特定の特性を必要とする場合があることを理解されよう。対応するマッピング回路は、任意の他の好適なマルチキュビットゲートをキュビットの特定のペアまたはセットに適用することを等しく要求する場合がある。
【0062】
マッピング回路の計算
上記のように、一般的に交換する演算子のグループは、特定の形式の演算子の変換されたサブセットへと操作され、対応するマッピング回路は、変換された演算子のサブセットに基づいて決定することができる。以下の考察は、演算子を操作し、変換された演算子に基づいて特定のマッピング回路を決定するための本開示による、操作の一部に第2の代替手段を追加した1つの特定の方法を提供し、限定することを意図していない。
【0063】
我々は、方法および回転回路を単純化するために、すべての演算子が局所的に交換するキュビットを個別に処理することができることを指摘しておく。以下では、そのようなキュビットが系から削除されていると想定している。
【0064】
バイナリフレームワーク
本開示の方法は、ハミルトニアンのパウリ演算子のパウリ行列を表すためのバイナリフレームワークを使用する。このフレームワークでは、パウリ行列は次の表記法を使用して表される。
【数3】
。
【0065】
nキュビットのパウリ演算子は、2n次元のバイナリベクトル
【数4】
として定義される。一般的に交換するパウリ演算子のグループ内にM個のnキュビットパウリ演算子がある場合、サイズ2n×Mのバイナリ行列Sを書いて、パウリ演算子のすべてを表すことができる。このフレームワークでは、バイナリベクトルaおよびbによって表される2つのパウリ演算子は、a
TPb=0の場合かつその場合に限って交換し、ここで、
【数5】
であることが理解されよう。
【0066】
上で考察されるような演算子の特定の形式に基づいて、本開示の方法は、付録Aの式(5)の形式で行列Sを見出すことを含む。この形式では、Q-1は2n×2n行列であり、S’は2n×n行列であり、上記の標準形式の演算子のグループを表し、R-1はn×M行列である。-1の上付き文字は、純粋に表記法であり、特に、R-1は、必ずしも可逆ではない。
【0067】
上で考察される標準形式の演算子のグループを表す行列S’は、式(7)において提供されるような行列の構造を有し、ここで、Aは、対角要素が0に等しいn×n対称行列であり、Iは、n×n単位行列である。行列Q-1は、変換された演算子のグループと標準形式の演算子との間で変換するために必要な1キュビットの回転に関する情報を含む。行列R-1は、変換された演算子の測定値からどのように元の演算子の測定値を構築するかに関する情報を含む。言い換えると、行列R-1は、元の演算子の測定値をキュビット測定値の積から(または等価的に、変換された演算子の測定値の積から)決定することを可能にする測定後ルーチンを表す。
【0068】
本開示のいくつかの実施形態では、方法は、グループ内の他のすべてのM個の演算子をそれから構築することができる、K個の独立したパウリ演算子を見出すことを含むことができる。いくつかの実施形態では、これは、ガウスジョルダンの消去法を実行してSを縮小行階段形に変換することを含み、次に、行列Sは、式(8)において提供される形式で書くことができ、ここで、
【数6】
は、縮小行階段形のピボット列と一致するSの列からなる2n×K次元行列であり、R
0
-1は、Sの縮小行階段形の非ゼロ行から形成されるK×M次元行列である。
【数7】
の列は、所望の独立したパウリ演算子を与え、R
0
-1は、これらからどのようにM個の演算子のグループ内の他の演算子を構築することができるかの詳細を含む。
【0069】
次に、
【数8】
を、以下で考察するように、形式
【数9】
へと操作することができ、ここで、X’は、可逆n×n行列である。このことから、付録Aの式(9)が適用され得ることは明らかであり、式中、
Z’ X’
-1は、
【数10】
のように対称であるが、それは、非ゼロの対角要素を含む場合がある。これらは、式(7)において与えられる形式の必要な行列S’を提供するために、1キュビット回転
【数11】
を適用することを通して削除することができる。
【0070】
上記で考察されるように、行列
【数12】
は、形式
【数13】
へと操作することができる。この操作の正確な方法は、
【数14】
がランクK=nを有するかK<nを有するかに依存する。言い換えれば、この操作の方法は、一般的に交換する演算子のグループ内の独立した項の数がキュビットの数以下であるかどうかに依存する。
【0071】
どちらの場合も(K=nおよびK<n)、ガウスの消去法は、そのピボット行を見出すために
【数15】
行列の下半分に適用される。そのようにしてから、行列Q
1が、
【数16】
の左側に適用され、ここで、行列Q
1は、回転
【数17】
を、
【数18】
の下半分のピボット行のうちの1つに対応しないすべてのキュビットに適用することによって構築される。新しい行列
【数19】
の下半分は、ランクKを有する。
【0072】
K=nの場合(すなわち、パウリ演算子の相互に交換するグループ内の独立したパウリ演算子の数が、問題が定義されているキュビットの数に等しい)、下半分は、したがって、可逆n×n行列であり、我々は、行列R
1を、この逆になるように定義し、
【数20】
を評価する。この場合、
【数21】
の下半分はn×n単位行列であり、上半分は対称n×n行列である。
【0073】
式(7)におけるように、行列を所望の形式にするために、
【数22】
の上半分の同等の対角要素に1があるキュビットに回転
【数23】
を適用する行列Q
2が構築される。(付録Aの式(10)において定義されている)
【数24】
のように定義される標準形式の演算子のセットを表す行列S’は、式(7)に与えられているような所望の形式を有する。したがって、式(11)に提供されているように、
【数25】
。
【0074】
式(8)を使用すると、式(12)に提供されているように、
【数26】
であることがわかる。
【0075】
このことから、変換された演算子と標準形式の演算子との間で変換するために必要な1キュビット回転に関する情報を含む行列Q
-1が、付録Aの式(13)におけるように提供されることがわかる(
【数27】
)。さらに、変換された演算子の測定値からどのように元の演算子の測定値を構築することができるかに関する情報を含む行列R
-1(すなわち、R
-1は、古典的な後処理に関する情報を含む)は、
【数28】
)である式(14)におけるように提供される。
【0076】
K<nの場合(すなわち、パウリ演算子の相互に交換するグループ内の独立したパウリ演算子の数が、問題が定義されているキュビットの数よりも少ない場合)、
【数29】
の下半分は、可逆K×K部分行列を含む。この新しい下半分に対して再びガウスの消去を実行することにより、どの行が、R
1
-1であると定義されるこの可逆部分行列内にあるかが示される。状態
【数30】
の下半分は、その行の選択内にK×K単位行列を含む。
【0077】
K<nの場合、方法は、n-K個のさらなる独立した交換するパウリ演算子を構築することを含み、これにより、演算子のセット全体を、上で考察されるような「標準形式」に変換することができる。演算子が中に現在入っている形式から、さらなる必要な演算子を簡単に構築することができる。さらなる演算子を含む系全体が、新しい行列Sフル内に配置される。既存のK内のi番目の演算子は、単位行列内のi番目の行に対応するキュビット上にXまたはYのいずれかを有する。残りの演算子は、これらの同じ場所にZのみを有することができる。単位行列の行に対応しないキュビットのパウリ行列に制限はない。追加の演算子は、単位行列内にない行のうちの1つにそれぞれ1つのXを有する必要がある。各Xは、既存の演算子の同じ位置にある項と交換または反交換することができる。それが反交換する各演算子について、Zは、演算子のXまたはYと同じ位置に配置される。ここでは、他の演算子にはZ以外のものがないことが知られているため、新しい演算子は、今や、既存のすべての演算子と交換する。
【0078】
したがって、追加で構築された演算子を含む、独立したパウリ演算子のすべてを含む新しい行列が取得される。これは、付録Aに提供されている式(15)を通して
【数31】
に戻って関連することが可能であり、ここで、R
2-1は形式
【数32】
のn×K行列であり、IはK×K単位行列であり、0は(n-K)×Kゼロ行列である。S
フルの下半分は、フルランクであるので、行列R
3は、この下半分の逆であると定義される。したがって、S
フルR
3は、単位元に等しい下半分を有する。所望の「標準形式」の演算子のグループを形成するために、回転行列
【数33】
が、上半分の対角に1が付いているキュビットに適用される。Q
2は、これらの回転を含んでいる。したがって、積Q
2S
フルR
3は、式(7)に示す形式を有し、したがって、式(16)におけるように、S’=Q
2S
フルR
3である。
【0079】
式(8)および(15)を使用すると、式(17)に提供されているように、
【数34】
であることがわかる。したがって、変換された演算子と標準形式の演算子との間で変換するために必要な1キュビット回転に関する情報を含む行列Q
-1が、付録Aの式(18)におけるように提供されることがわかる(
【数35】
)。さらに、変換された演算子の測定値からどのように元の演算子の測定値を構築することができるかに関する情報を含む行列R
-1(すなわち、R
-1は、古典的な後処理に関する情報を含む)は、
【数36】
)である式(19)におけるように提供される。
【0080】
マッピング回路の構築
上記の考察では、グループ内の独立した項の数が、問題が定義されているキュビットの数以下であるかどうかに応じて、相互に交換するパウリ演算子のグループが、どのように様々な行列操作を使用して「標準形式」に変換されるかについて説明している。本明細書に開示される方法は、相互に交換するパウリ演算子の元のグループから、変換された演算子(Q-1S’)のサブセットを決定する。方法は、演算子の変換されたサブセットと標準形式(S’)の演算子との間でどのように変換するかに関する情報を提供する行列Q-1と、演算子の変換されたグループの測定値から、どのように演算子の元のグループの測定値を取得するかに関する情報を提供する行列R-1とを決定する。
【0081】
変換された演算子のサブセットの測定値は、量子コンピュータと、例えば、以下に説明するように量子コンピュータおよび量子ゲートを使用して、量子コンピュータハードウェア内に構築されたマッピング回路と、を使用して取得される。マッピング回路は、量子コンピュータ内の1つ以上のキュビットに対して動作する量子ゲートの配置を備える。マッピング回路は、行列Q-1によって記述されるシングルキュビット変換を表すシングルキュビット回転をキュビットに適用する。言い換えると、マッピング回路は、変換された演算子と標準形式の演算子との間の変換を表す、キュビットに対して動作するシングルキュビット量子ゲートを備える。マッピング回路は、標準形式の演算子の正確な形式に応じて特定のキュビットに対して動作する2キュビット量子ゲート、この例では特に制御Zをさらに備える。具体的には、マッピング回路は、標準形式の演算子の行列OにおいてOij=Zであるキュビットi、jに対して動作する制御Zゲートを備える。
【0082】
別の例として、測定後処理ルーチンに若干の変更が加えられた場合、制御XまたはCNOTゲートのブロックを使用することができる。より具体的には、Eによって表されるS’の左上のK×K部分行列は、対称的である。したがって、Eは、
【数37】
のようにコレスキー分解することができ、ここで、M
0は可逆であり、Lは対角であり、tの上付き文字は、行列の転置を示すことが理解されよう。次いで、Eは、M
0に対応するCNOTゲート、および1キュビットゲートによって消去することができる。これにより、S’の下半分の左上のK×K部分行列にM
0が残り、これは、測定後処理ルーチンを使用して消去することができる。さらなる1キュビットゲートは、S’の上半分を、対角上の1を除いてブロック非対角である行列Fに変換することができる。次いで、この行列Fは、3つの行列
【数38】
へのブロックコレスキー分解の影響を受けやすくなり、ここで、M
1は、対角上の1とその右上のK×(n-K)コーナーとを除いてすべてゼロであるn×n行列である。Fは、M
1に対応するCNOTゲートの第2のラウンドにより、D
1M
1に低減することができる。これは、M
1のスパース構造に起因して効率的である。S’は、今や、その上半分にD
1M
1を有し、かつその下半分にM
1を有している。両方の半分におけるM
1は、上半分にD
1を残し、かつ下半分にM
1を残す後処理を使用して消去することができる。D
1は、左上のK×K部分行列Gと右下の(n-K)×(n-K)単位元とを持つブロック対角である。コレスキー分解Gを使用すると、Eが消去されるのと同じ方法でそれを消去することができる。これは、CNOTゲート、1キュビットゲート、および後処理の第3および最終のラウンドに対応する。
【0083】
以下の考察は、上記で取得されたQ-1行列が、量子ゲートの配置を含む量子回路(マッピング回路)にどのように変換されるかについての詳細を提供する。Q-1行列は、変換された演算子と標準形式の演算子とがどのように関連しているかを記述する。対応する回路は、変換された演算子と標準形式の演算子との間で変換されるシングルキュビットの回転を適用する。
【0084】
所望のマッピング回路内で使用される特定の量子ゲートは、変換された演算子の測定値を取得するために使用される特定の量子ハードウェアに依存することが理解されよう。この特定の非限定的な例では、制御Zゲートと、3つのタイプの1キュビット回転ゲートとが使用される。
【0085】
行列Q
-1において与えられるシングルキュビット回転には2つの可能なタイプがある。
1.XをZに、Yをそれ自体に、およびZをXにマップする、
【数39】
、
2.XをYに、YをXに、およびZをそれ自体にマップする。
【数40】
【0086】
上記の回転を実行するためにゲートを適用する場合、最初の2つの回転を厳密に説明どおりに実行することはできず、項のうちの1つの前に-1の係数が必要である。(上で考察される演算子の特定の「標準形式」のため)演算子の最終グループにはY項がないので、-1係数をこの項に含めることができる。所望の回転を実行するために必要なゲートは次のとおりである。
1.
【数41】
、これの後に、XをZに、-YをYに、およびZをXにマップするR
x(π)が続く、
2.XをYに、-YをXに、およびZをそれ自体にマップする。
【数42】
【0087】
次に、標準形式の演算子に非対角Zがある場合は常に、制御Zゲートが適用される。最後に、X基底で測定するために、
【数43】
(アダマールゲートに相当)がすべてのキュビットに適用される。代替的な例では、制御Zゲートの代わりに他のタイプの2キュビットゲートを適用することができるか、または代替的に、2つ以上のキュビットに作用するマルチキュビットゲートを使用することができる。変換された演算子のサブセットを決定するためにここで使用される方法の結果として、結果として得られるマッピングゲート内のマルチキュビットゲートの数は、キュビットの数と、演算子の元のセットから独立した演算子の数とに比例する。具体的には、マッピング回路内のマルチキュビットゲートの数には、キュビットの数nと独立した演算子の数Kとの積に比例する上限がある。
【0088】
当業者によって理解され得るように、任意のマルチキュビットゲートは、一連の1キュビットおよび2キュビットゲートによって実行することができ、逆に、一連の1キュビットおよび2キュビットゲートは、マルチキュビットゲートの項に書くことができる。したがって、マルチキュビットゲートおよび2キュビットゲートという項は、1キュビットに対するゲートの影響を単独で見ることによってゲートの影響を計算することはできないという特性を指すものとして理解されるべきである。
【0089】
測定値の構築
上で考察されるように、行列R-1は、上記のマッピング回路を適用して、各キュビットのZ個の測定値からどのように元のパウリ演算子の測定値を構築することができるかに関する情報を含む。上記のマッピング回路を各キュビットに適用した後、キュビットを測定する。各キュビットの測定結果は、+1または-1のいずれかの値であり、変換された演算子の測定値を表す。したがって、行列R-1は、変換された演算子の測定値をどのように元の演算子の測定結果値に変換することができるかに関する情報を含む。R-1のj番目の列は、j番目のパウリ演算子に必要な情報を含む。j番目のパウリ演算子の測定は、R-1
ij=1である各キュビットiの測定値の積をとることによって行うことができる。当業者によって理解され得るように、変換された演算子の測定値を元の演算子の測定値に変換するプロセスは、古典的な変換を含む。具体的には、この特定の例では、このプロセスは、2つ以上の実数の乗算を含む。したがって、この変換ルーチンは、量子コンピュータではなく、古典的コンピュータ上で実行される古典的なルーチンであることが理解されよう。
【0090】
バイナリフレームワークは、パウリ演算子の位相に関する情報を保持することを可能にしないことが、当業者によって理解されよう。それらを解決するために、QをS’に適用して、1キュビットの回転を「元に戻す」ことをし、次いで、位相因子を追跡しながら、R行列によって示される積を取得する。2つのパウリ演算子の積は、付録Aの式(20)から(25)によって提供される。
【0091】
実施例
上記の方法の実施例は、以下の付録Bに提供されている。具体的には、実施例は、相互に交換する演算子のグループを、変換された演算子のサブセットに変換することであって、変換された演算子が、上記の1キュビット回転が追加される可能性がある「標準形式」である、変換することと、変換された演算子を計算ベース測定値に変換することに対応する、量子コンピュータ上に構築されるマッピング回路を決定することと、変換された演算子の測定値を元の演算子の測定値に変換するための測定後ルーチンを決定することと、の方法の1つの特定の非限定的な例を提供する。
図4は、この特定の実施例で得られたマッピング回路の概略図である。項目410は、変換された演算子と標準形式の演算子との間の変換を表すシングルキュビットゲートを表す。項目420は、キュビット(q
1、q
4)とキュビット(q
2、q
3)との間に適用される2キュビット制御Zゲートを表す。項目430は、X基底でキュビットを測定するためにすべてのキュビットに適用されるアダマールゲート等価物を表す。430におけるアダマールゲート等価物は、
【数44】
ラジアンのY回転を適用するシングルキュビットゲートである。項目440は、キュビットの各々に対する測定値を表す。キュビットの測定に続いて、付録Bの式(24)において提供されている測定後ルーチンが測定値に適用されて、それらは、式(26)~(31)において元の演算子の測定結果に変換される。
【0092】
方法
図5は、本開示による方法を示すフローチャートである。図示された方法は、量子コンピュータを使用して複数の演算子の測定結果(演算子測定値とも称される)を同時に決定するのに好適である。換言すれば、この方法は、複数の演算子の測定値を同時に取得するのに好適である。これは、複数のキュビットを使用して試行状態を準備し、試行状態のキュビットにマッピング回路を適用し、続いて、キュビットを測定してキュビット測定値を取得することによって行われる。この方法は、複数の演算子の各々について、キュビット測定値を測定結果または演算子測定値に変換するための測定後処理ルーチンを実行することをさらに含む。任意選択的に、この方法は、各演算子の複数の測定結果を取得するために、量子コンピュータ上でルーチンを繰り返すことによって、複数の演算子の各々の予想値を決定することをさらに含む。次に、各演算子の予想値を、その演算子の複数の測定結果に基づいて決定することができる。この方法の具体的なステップについて、以下でより詳しく説明する。
【0093】
ステップ500において、複数の演算子を演算子の別個のセットにグループ化する。各セットは、複数の演算子のうちの1つ以上を含み、演算子は、所与のセット内の各演算子が、同じセット内の他のすべての演算子と交換するようにグループ化される。より詳細には、演算子は、所与のセット内の演算子が相互におよび一般的に互いに交換するようにグループ化される。実施形態では、演算子を、一般的に交換する演算子のセットにグループ化する動作は、いくつかの可能な分類アルゴリズムのうちの1つを使用することを含む。分類アルゴリズムは、
図6に示されている古典的コンピュータ1150などの古典的コンピュータ上で実行され得る。より詳細には、ステップ500における演算子のグループ化は、古典的コンピュータ上のプロセッサ1152によって実行され得る。結果として得られるグループ化は、古典的コンピュータ上のメインメモリ1154または静的メモリ1156に記憶され得る。
【0094】
演算子が、一般的に交換する演算子のセットにグループ化された後、方法は、サブルーチン510に進む。サブルーチン510は、ステップ500において決定されたセットの各々に対して実行されるステップ512~526を含む。サブルーチン510は、所与のセット内の各演算子の測定結果、および任意選択的に、予想値を同時に決定するために使用される。サブルーチンは各セットについて繰り返されて、複数の演算子のうちの各演算子の測定結果、および任意選択的に、予想値が決定される。ステップ512~526は、1つの特定のセットに関して以下で詳細に考察されるが、ステップは、各セットについて同じ方法で繰り返され得る。
【0095】
サブルーチン510は、ステップ512から開始する。ステップ512において、一般的に交換する演算子の元のセットに基づいて、演算子の変換されたサブセットを決定する。演算子の変換されたサブセットを決定するステップは、セット内の独立した演算子を取得することを含み得る。特に、m個の演算子のセットには、残りのm-K個の演算子をそれから構築することができる、K個の独立した演算子(K<m)が存在し得る。したがって、K個の独立した演算子の測定値を取得し、K個の独立した演算子の測定値からセット内の残りのm-K個の演算子の測定値を構築することができる。セット内の独立した演算子が取得されると、式(2)を参照して前述した「標準形式」の演算子のグループが決定され、標準形式の演算子のグループに基づいて、変換された演算子のサブセットが決定される。変換された演算子のサブセットを決定することは、シングルキュビット回転を使用して標準形式の演算子のグループを、変換された演算子のサブセットに変換する変換を決定することを含む。変換は、上記の行列操作などの数学的技法を含む場合がある(上記の「バイナリフレームワーク」セクションを参照)。さらに、K<n(ここで、nは、系内のキュビットの数)である場合、変換された演算子を決定するステップは、他のすべての演算子とも交換するn-K個の追加の演算子を構築することをさらに含み得る。このステップは、
図6に示されている古典的コンピュータ1150などの古典的コンピュータ上で実行され得る。より詳細には、変換された演算子のサブセットを決定することは、古典的コンピュータ上のプロセッサ1152によって実行され得る(すなわち、数学的操作は、プロセッサ1152を使用して実行され得る)。結果として得られる変換された演算子のサブセットは、古典的コンピュータ上のメインメモリ1154または静的メモリ1156に記憶される。
【0096】
ステップ514において、量子コンピュータ上に準備されるマッピング回路を、ステップ512において決定された変換された演算子のサブセットに基づいて決定する。これは、マッピング回路の形式および構造を決定することを含む場合がある。マッピング回路は、変換された演算子のセットを、量子コンピュータ上で生成することができる計算ベース測定値に変換するために使用される変換技法に基づいて決定される(上記の「マッピング回路の構築」セクションを参照)。例えば、マッピング回路は、変換された演算子と標準形式の演算子との間で変換されるシングルキュビット回転と、標準形式の演算子に応じて特定のキュビットに対して動作する制御Zなどの2キュビットゲートを備える。言い換えると、マッピング回路の特定の形式は、変換された演算子のサブセットに基づく。このステップは、例えばプロセッサ1152を使用して、古典的コンピュータ上で決定することができる。具体的には、古典的コンピュータを使用して、マッピング回路内のシングルキュビットおよび2キュビットゲートの特定のタイプおよび配置を決定することができる。次に、この情報は、マッピング回路を構築する量子コンピュータ1110に送信される前に、メインメモリ1154または静的メモリ1156に記憶され得る。特に、情報は、物理量子ゲートを使用してマッピング回路を準備するように量子プロセッサを制御する量子コンピュータ内の制御手段に送信され得る。当業者は、様々な量子コンピュータアーキテクチャを使用して、様々なシングルキュビットおよび2キュビットの量子ゲートがどのように物理的に実装され得るかを知っているであろう。
【0097】
ステップ516において、キュビット測定値を演算子の元のセットの測定値に変換するための測定後ルーチンを、ステップ512において決定された変換された演算子のサブセットに基づいて決定する。ステップ514および516は、同時にまたは連続して実行され得る。具体的には、ステップ514または516のいずれかを最初に実行することができ、または両方のステップを同時に実行することができる。測定後ルーチンは、キュビット測定値を演算子測定値に変換する古典的な数学的操作を含む。特に、測定後ルーチンは、セット内の元の演算子の各々の測定値を決定するために、キュビット測定値のうちの2つ以上の積をとることを含み得る。特定の積が、変換された演算子のサブセットに基づいて決定される。測定後ルーチンがどのように決定されるかについての具体的な詳細は、上記の「測定値の構築」セクションに提供されている。測定後処理ルーチンを決定することは、古典的コンピュータ1150上の古典的プロセッサ1152によって実行され得る。次に、ルーチンの命令が、古典的コンピュータ1150上のメインメモリまたは静的メモリに記憶され得る。
【0098】
ステップ518において、量子コンピュータ上で試行状態を準備する。試行状態は、VQEフレームワークにおいて反復的に更新される特定のパラメータ(λ)に基づく場合がある。代替的に、試行状態は、エネルギーレベルが決定される物理系の知識に基づいて準備することもできる。試行状態は、複数のキュビット上で準備される。具体的には、試行状態は、問題が定義されているキュビットの数(すなわち、パウリ演算子内の最大項数に一致するキュビットの数)に一致するキュビットの数で準備され、試行状態は、シングルキュビットゲートもしくは2キュビットゲート、または他のマルチキュビットゲートなどの量子ゲートの配置を使用してキュビットで準備される。試行状態を準備するために使用される量子ゲートの特定のタイプおよび配置は、試行状態自体に依存する。当業者は、量子ゲートの配置を使用して、複数のキュビット上で特定の試行状態を準備する方法を知っているであろう。
【0099】
ステップ520において、ステップ514において決定され、量子コンピュータ上に構築されたマッピング回路を、ステップ518において試行状態で準備されたキュビットに適用する。具体的には、マッピング回路内のシングルキュビットゲートおよび2キュビットゲートを、量子プロセッサにおける試行状態のキュビットに適用する。変換された演算子の特定のサブセットのマッピング回路の例は
図4に示されている。
【0100】
ステップ522において、マッピング回路を試行状態の各キュビットに適用した後、例えば、量子コンピュータ上の測定手段1104を使用して、各キュビットを測定する。これにより、各キュビットのキュビット測定値が与えられ、それの各々は、+1または-1の値になる。キュビット測定値は、変換された演算子のサブセットの測定結果を示す。当業者は、当業者にとって利用可能な任意の好適な測定手段を使用して、量子コンピュータ上でキュビットをどのように測定するかを知っているであろう。次に、キュビット測定値は、以下に説明するように、読み出しまたはさらなる処理のために古典的コンピュータに送信され得る。
【0101】
ステップ522においてキュビットを測定した後、ステップ516において決定された測定後ルーチンをキュビット測定値に適用して、変換された演算子のサブセットの測定結果から、演算子の元のセット内の演算子の各々の測定結果に、キュビット測定値を変換する。上で考察されるように、測定後処理ルーチンは、セット内の元の演算子の測定値を決定するために、キュビット測定値うちの2つ以上の積を取得することを含み得る。代替的に、セット内の演算子のうちの1つ以上について、その演算子の測定値が、シングルキュビット測定によって与えられる場合があり、すなわち、キュビット測定値から演算子測定演算子への1対1のマッピングがある。測定後処理ルーチンの例は、付録Bの実施例に示されている。具体的には、(49)に提供されている行列は、この特定の実施例のキュビット測定値からどのように元の演算子測定値が構築されるかについての詳細を提供する。一部の演算子測定値は、複数のキュビット測定値の積から決定されるが、他の演算子測定値は、単にシングルキュビット測定値の読み取り値であることがわかる。測定後処理ルーチンは、実数の乗算を伴うので、古典的コンピュータ上で実行され得ることが理解されよう。したがって、古典的プロセッサ1152を使用して、測定後処理ルーチンをキュビット測定値に適用して、対応する演算子測定値を決定することができ、これは、次に、古典的コンピュータのメモリに記憶され得る。
【0102】
次に、結果として生じる演算子測定値は、例えば、結果をディスプレイ1158上に表示することによって、古典的コンピュータにおいて読み取ることができる。この時点で、ステップ512~524が実行された特定のセットに対して方法を終了することができる。次に、ステップ512~514を、演算子の他のすべてのセットに対して繰り返して、複数の演算子のうちのすべての演算子の測定結果を決定することができる。
【0103】
代替的に、各セットについてステップ524において方法を終了する代わりに、方法は、セット内の各演算子の複数の測定結果を取得するために、ステップ518~524の複数の繰り返しを含み得る。次に、方法は、ステップ526に進むことができ、ここで、セット内の各演算子の予想値を決定する。方法のいくつかの実装形態では、各演算子の予想値は、その演算子の測定結果の平均をとることによって決定され、これは、古典的コンピュータを使用して決定することができる。次に、ステップ512~526をすべてのセットに対して繰り返して、複数の演算子のうちのすべての演算子の予想値を取得することができる。次に、物理系のエネルギー予想値は、すべての演算子の予想値の加重合計をとることによって決定することができる。予想値は、古典的コンピュータ1150上の古典的プロセッサ1152を使用して決定することができる。
【0104】
本開示の方法の設計は、量子コンピュータの内部機能の技術的考察によって動機付けられている。特に、多数のキュビットの試行状態の準備、ならびにそれらのキュビットの操作および測定にかかる時間および必要な計算コストなど、現代の量子コンピュータの制約を考慮して、開示された方法は、パウリ演算子の測定値を同時に取得するために量子コンピュータ上に構築されたキュビットおよび量子ゲートの量子特性を活用することができる。物理系のエネルギーレベルを決定する状況において、ハミルトニアン内の多数の異なるパウリ演算子に対して同時に測定を実行することにより、状態準備、動作、および測定の最終的な数を低減することができることが理解されよう。したがって、量子コンピュータの機能および制約を考慮すると、本方法は、演算子が一度に1つずつ測定される既知の方法に勝る明確な利点を提供することは明らかである。付録C「誤差の最小化」では、演算子をグループ化せず、測定値を個別に決定する場合と比較して、演算子を、一般的に交換する演算子のグループにグループ化することにより、状態準備の数を低減する方法に関してさらなる情報を提供する。
【0105】
既知の方法に勝るさらなる利点は、少なくとも、キュビット測定値を演算子の測定値に変換するための測定後処理ルーチンの使用によって提供される。特に、古典的コンピュータを使用して測定後処理ルーチンを実行すると、マッピング回路内の量子ゲートの数を低減することにより、量子コンピュータの要件を低減することができる。本発明者らは、必要な量子回路をあまり複雑にせず、したがって、実装をあまり難しくしないで、マッピング回路内の量子ゲートの数を低減する最善の方法について慎重に考えた。本開示の方法は、特定の「標準」形式の演算子に特定の方法で関連する変換された演算子を取得するために特定の技術を使用する。理論的には、本方法が達成することを達成するために、追加のゲートが使用され得るが、機能は、測定後処理ルーチンを実行する古典的コンピュータにプッシュされているため、量子コンピュータに対する要件が軽減され、量子コンピュータと古典的コンピュータの両方の処理能力が最大限に活用される。より詳細には、測定後処理ルーチンは、キュビット測定値を演算子測定値に変換する機能を実行する。キュビット測定値は、変換された演算子の測定値を表すため、後処理ルーチンは、変換された演算子の測定値を元の演算子の測定値に変換する。この機能は、理論的にはマッピング回路内の追加の量子ゲートを使用して実行することができるが、方法を設計するときに量子コンピュータおよび古典的コンピュータの内部機能を具体的に考慮することにより、量子ゲートの数を低減することによって、かつこの特定の機能のために古典的な処理能力を活用することによって、より大きい効率および処理速度を達成することができる。したがって、量子コンピュータ上に大規模な量子回路を実装する際の困難さおよび制約を考慮して、開示された方法は、量子コンピュータ上で実装するのがはるかに容易な演算子の測定値を取得するためのより比較的簡単な方法を提供することは明らかである。
【0106】
リソース要件
本明細書で説明する方法では、多くの行列操作が必要であり、これらはすべて、古典的コンピュータ上で実行され、その中で最も複雑なのは、ガウスジョルダンの消去法である。サイズDの正方行列の場合、このプロセスは、O(D
3)の複雑さを有する。このような消去を実行する最大の行列は、サイズ2n×M
maxであり、ここで、M
maxは、グループ内の項の最大数である。このような行列でガウスジョルダンの消去法を実行することの複雑さは次のとおりである。
【数45】
【0107】
マッピング回路内の2キュビットゲートの数を考慮すると、「標準形式」の形式の演算子のグループを測定するには、2キュビットゲート、具体的には制御Zゲートまたは同等の実装形態が、存在するすべての非対角Z行列のために必要である。したがって、最大数は1/2n(n-1)であり、これはO(n2)である。しかしながら、K≠nの場合、必要な2キュビットゲートの最大数は、実際には1/2 n(n-1)-1/2 (n-K)(n-K-1)=nK-1/2 K(K+1)であり、これはO(nK)であり、これは、サイズは似ているが、O(n2)よりも小さい場合がある。これは、追加の演算子が、行列Sフルをフルランクにするように構築されている仕方のためであり、すなわち、どのように-1/2(n-K)(n-K-1)項が発生するかである、追加の演算子のうちの2つの間の非対角Zが存在することは決してない。
【0108】
装置
図6は、コンピューティングデバイスに本開示の手法のうちのいずれか1つ以上を実行させるための命令のセットが実行され得る、コンピューティングデバイス1100の1つの実装形態のブロック図を示す。単一のコンピューティングデバイスのみが示されているが、「コンピューティングデバイス」という用語はまた、本明細書で考察される手法のうちのいずれか1つ以上を実行するための1組(または多数組)の命令を個々にまたは共同的に実行する任意のマシン(例えば、コンピュータ)の集合を含むと解釈される。コンピューティングデバイス1100は、量子コンピューティングシステム1110と、古典的コンピューティングシステム1150とを備える。量子コンピューティングシステム1110は、古典的コンピューティングシステム1150と通信する。古典的コンピューティングシステムは、量子コンピューティングシステムに、メモリに記憶された命令に従って、量子状態を作成し、それらの量子状態について測定を実行するように指示するように配置される。
【0109】
量子コンピューティングシステム1110は、量子プロセッサ1102を備え、量子プロセッサ1102は、今度は、少なくとも2つのキュビットと、キュビットを結合することができる少なくとも1つのカプラと、を備える。キュビットは、例えば、光子、捕捉イオン、電子、1つ以上の原子核、超伝導回路、および/または量子ドットを使用して、物理的に実装され得る。言い換えれば、キュビットは、単一の光子の偏光状態、単一光子の空間光路、原子またはイオンの2つの異なるエネルギー状態、核などの1つ以上の粒子のスピン配向を含む、様々な手段で物理的に実装され得る。量子コンピュータはまた、量子計算を可能にするために好適な環境にキュビットを記憶し、キュビットを維持するための手段、例えば、キュビットを過冷却するための手段を備える。キュビットは、好適な量子ゲート配列によって形成された1つ以上の量子回路によって動作され得る。
【0110】
量子ゲートは、ある数のキュビットに作用し、NOTゲートまたはANDゲートなどの古典的回路における基本的な低レベル命令の量子類似物と考えることができる。典型的には、量子回路は、状態作成およびキュビットの測定または読み取りとともに、ユニバーサルゲートセットから取得された一連のシングルキュビットゲートおよび2キュビットゲートに分解される。ただし、3つ以上のキュビットに作用する量子ゲート、すなわち「マルチキュビット」ゲートを使用して量子回路を構築することも可能である。測定結果は、次いで古典的コンピュータによって処理される古典的データである。超伝導回路および捕捉イオンに基づく多くの量子コンピュータが、すでに、大規模な量子コンピューティングデバイスに必要なすべての機能性を小規模で実証している。
【0111】
ここで、量子コンピュータにおいて考えられるキュビットの実装形態および操作方法を説明する。これらの実装形態は、単なる例であり、当業者は、量子コンピュータを実装する他の方法をよく知っているであろう。複屈折波長板を使用して、単一光子の偏光状態を操作し、例えば、光子の直線偏光または水平偏光を引き起こして、光子の2つの異なる状態を示すことができる。キュビットはまた、ビームスプリッタを使用して実装し得る。例えば、特定の光路に沿った光子の存在または不在は、光子ビームを2つの別々の経路に分割するビームスプリッタを使用して実装することができる。どちらの経路における光子の存在も、光子の2つの異なる状態を表す。代替的に、または追加的に、原子またはイオンの2つの別々の電子エネルギー状態は、キュビットの2つの別々の別個の状態を表すことができる。例えば、これらのレベル間の遷移エネルギーは、ある周波数の電磁放射のエネルギーに対応する場合があり、そのため、原子またはイオンの別々のエネルギー状態は、レーザーまたはマイクロ波エミッタなどの放射源を使用して対処され得る。代替的に、または追加的に、例えば、核など、1つの粒子または複数の粒子の2つの別個のスピン状態(スピン「アップ」およびスピン「ダウン」)は、キュビットの2つの別個の状態を表すことができる。原子核スピンの操作は、当業者に既知の方法を使用し、磁場を使用して実装し得る。
【0112】
代替的または追加的に、超伝導電子回路を使用して、キュビットを生成し得る。これらのシステムは、100K未満に過冷却され、非調和振動子の作成を可能にする非線形インダクタであるジョセフソン接合を使用する。非調和振動子は、(調和振動子とは異なり)エネルギーレベルが等間隔ではなく、したがって、2つの状態を別々に制御し、キュビットの記憶に使用することができる。キュビットは、マイクロ波空洞に接続され、単一および2キュビットゲートは、マイクロ波信号を使用して実行することができる。
【0113】
量子コンピューティングデバイス1110はまた、測定手段1104と制御手段1106とを備える。制御手段1106は、制御ハードウェアおよび/または制御デバイスを備え得る。制御手段1106は、古典的コンピュータ1150から命令を受信するように構成され、古典的コンピュータ1150は、制御手段1106に、特定の量子ゲート配列を使用して量子プロセッサ内に特定の状態を作成するように指示し得る。さらに、制御手段は、量子プロセッサにおいて量子回路を構築するための命令を受信するように構成され得る。測定手段1104は、測定ハードウェアおよび/または測定デバイスを備え得る。測定手段は、量子プロセッサ1102内に制御手段1106によって作成された状態から測定を行うように構成されたハードウェアを備える。
【0114】
例示的な古典的コンピューティングデバイス1150は、バスを介して互いに通信する、プロセッサ1152と、メインメモリ1154(例えば、読み取り専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)またはRambus DRAM(RDRAM)などの動的ランダムアクセスメモリ(DRAM)など)と、静的メモリ1156(例えば、フラッシュメモリ、静的ランダムアクセスメモリ(SRAM)など)と、二次メモリ(例えば、データ記憶デバイス)とを含む。
【0115】
処理デバイス1152は、マイクロプロセッサ、中央処理装置などの1つ以上の汎用プロセッサを表す。より具体的には、処理デバイス1152は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサであり得る。処理デバイス1152はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つ以上の特殊用途処理デバイスであり得る。処理デバイス1152は、本明細書で考察される動作およびステップを実行するための処理ロジックを実行するように構成される。
【0116】
データ記憶デバイスは、本明細書に記載のいずれか1つ以上の手法または機能を具現化する1つ以上の命令セットが記憶される1つ以上の機械可読記憶媒体(または、より具体的には、1つ以上の非一時的コンピュータ可読記憶媒体)を含み得る。命令はまた、コンピュータシステムによるその実行中に、メインメモリ1154内および/または処理デバイス1152内に完全にまたは少なくとも部分的に存在し得、メインメモリ1154および処理デバイス1152もまたコンピュータ可読記憶媒体を構成する。
【0117】
一般に、古典的コンピュータ1150は、量子コンピュータ1110の制御手段1106に、量子プロセッサ1102内に特定の状態を作成するように指示する。制御手段1106は、命令に基づいて、量子プロセッサ1102内のキュビットを動作させる。量子プロセッサ1102内に所望の状態が構築されるようにキュビットが操作されると、測定手段1104はその状態から測定を行う。次いで、量子コンピュータ1110は、測定結果を古典的コンピュータに伝達する。
【0118】
本明細書に記載の様々な方法は、コンピュータプログラムによって実装され得る。コンピュータプログラムは、上記の1つ以上の様々な方法の機能を実行するようにコンピュータに指示するように配置されたコンピュータコードを含み得る。そのような方法を実行するためのコンピュータプログラムおよび/またはコードは、1つ以上のコンピュータ可読媒体、またはより一般的にはコンピュータプログラム製品上で、コンピュータなどの装置に提供され得る。コンピュータ可読媒体は、一時的または非一時的であり得る。1つ以上のコンピュータ可読媒体は、例えば、電子、磁気、光学、電磁、赤外線、もしくは半導体システム、または例えばインターネットを介してコードをダウンロードするためのデータ送信用伝播媒体とすることができる。代替的に、1つ以上のコンピュータ可読媒体は、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、剛性磁気ディスク、およびCD-ROM、CD-R/W、DVDなどの光ディスクなど、1つ以上の物理的コンピュータ可読媒体の形態をとることができる。
【0119】
一実装形態では、本明細書に記載のモジュール、コンポーネント、および他の特徴部は、個別のコンポーネントとして実装するか、またはASICS、FPGA、DSP、もしくは同様のデバイスなどのハードウェアコンポーネントの機能に統合することができる。
【0120】
加えて、モジュールおよびコンポーネントは、ハードウェアデバイス内のファームウェアまたは機能回路として実装することができる。さらに、モジュールおよびコンポーネントは、ハードウェアデバイスおよびソフトウェアコンポーネントの任意の組み合わせで、またはソフトウェアのみ(例えば、機械可読媒体または伝送媒体に記憶または別様に具現化されたコード)で実装することができる。
【0121】
特に明記しない限り、以下の考察から明らかなように、明細書全体を通して、「受信する」、「決定する」、「比較する」、「可能にする」、「維持する」、「識別する」などの用語を利用する考察は、コンピュータシステムのレジスタおよびメモリ内の物理的(電子的)量として表されたデータを、コンピュータシステムのメモリまたはレジスタまたは他のそのような情報の記憶、送信、もしくは表示デバイス内の物理的量として同様に表された他のデータに操作および変換する、コンピュータシステムまたは同様のエレクトロニックコンピューティングデバイスの動作およびプロセスを指すことが理解される。
【0122】
本明細書で、物理系のエネルギーレベルについて言及する。物理系は、原子、分子、原子の集合、酵素もしくはその一部、化学物質、または潜在的な超伝導体などの材料のいずれかである可能性がある。加えて、他の多くの問題は、ハミルトニアンにマッピングすることによって、および基底状態などのエネルギーレベルを見出すことで解決することによって、解決することができる。例えば、タスクのスケジューリングまたは回路の故障の検索など、様々な最適化問題をこの方法によって効果的に解決することができる。当業者によって理解されるように、物理系のエネルギーレベルは、対応するハミルトニアンの固有値を指す。
【0123】
本方法の多くの工業的応用の例を示すために、肥料を生産するより効率的な手段の探求は、反応物質のエネルギーレベルをよりよく理解することによって助けられ得る技術的問題の例である。ハーバーボッシュプロセスを介したアンモニアの生産は、肥料の生産に不可欠であるが、高圧と高温の両方を必要とし、その結果、非常にエネルギー集約的なプロセスである。対照的に、ニトロゲナーゼは、室温および標準圧力で同じタスクを達成する酵素であり、したがって、ニトロゲナーゼ酵素を理解することに強い関心がある。ニトロゲナーゼ酵素に含まれるMoFeタンパク質内の鉄-モリブデン補因子(FeMo-co)のエネルギーレベルの知識が高まると、アンモニアを生成するためのより効率的な方法の発見が大幅に進歩することが知られている。
【0124】
本明細書に記載の手法は、非一時的なコンピュータ可読媒体であり得るコンピュータ可読媒体上で具現化され得る。本明細書に記載の方法のいずれかまたはすべてをプロセッサに実行させるようにプロセッサ上で実行するように配置されたコンピュータ可読命令を担持するコンピュータ可読媒体。
【0125】
本明細書で使用される「コンピュータ可読媒体」という用語は、プロセッサを特定の様式で動作させるためのデータおよび/または命令を記憶する任意の媒体を指す。そのような記憶媒体は、不揮発性媒体および/または揮発性媒体を含み得る。不揮発性媒体は、例えば、光学ディスクまたは磁気ディスクを含み得る。揮発性媒体は、動的メモリを含み得る。記憶媒体の例示的な形態には、フロッピーディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、CD-ROM、任意の他の光学データ記憶媒体、1つ以上の正孔パターンを有する任意の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、NVRAM、および任意の他のメモリチップまたはカートリッジが含まれる。
【0126】
上記の特定の実施形態の説明は、単なる例であり、本開示の範囲を限定することを意図するものではないことが理解されよう。説明された実施形態の多くの修正が想定され、本開示の範囲内であることが意図されている。
【0127】
上記の実装形態は、単なる例として記載されており、記載された実装形態および配置は、あらゆる点で例示的のみであって、限定的ではないと考えられるべきである。記載された実装形態および配置の変形が、本発明の範囲から逸脱することなくなされ得ることが理解されるであろう。
【0128】
付録A:式のリスト
1 序論
【数46】
2 複数の測定の実行
【数47-1】
【数47-2】
【0129】
付録B:実施例
6つのパウリ演算子がある。
【数48】
【0130】
我々は、どのキュビット上でもすべての演算子が局所的に交換するはないことに留意し、したがって、全体として4キュビットシステムを考慮する。我々の方法は、6回の代わりに1回の測定を実行するために使用される。演算子をバイナリ形式で書くと、行列Sは次のようになる。
【数49】
【0131】
ガウスジョルダンの消去法を実行してSを縮小行階段形に変換すると、次のようになる。
【数50】
【0132】
ピボット列は番号1、2、および4であるため、P
1、P
2、およびP
4は、グループ内の残りの演算子をそれから構築することができる3つの独立したパウリ演算子である。したがって、次のように書くことができる。
【数51】
【0133】
次に、
【数52】
の下半分を列階段形に変換する。次のようになり
【数53】
したがって、最初の2行はピボット行である。
【数54】
の下半分にランク3を与えるために、したがって、キュビット2および3に対応する行に回転
【数55】
を適用し、したがって、
【数56】
【0134】
次に、この行列の下半分はランク3を有し、再びガウスの消去法を実行すると、最初の3行が逆部分行列
【数57】
を形成することがわかる。したがって
【数58】
【0135】
【0136】
ここで、4番目の列を
【数60】
に追加して、S
フルを与える必要がある。この列によって表されるパウリ演算子は、残りの列と交換する必要がある。我々は、現在の3つの列には、対角項にXまたはYがあり、最初の3つの演算子内の非対角項にZまたはIがあり、最後の演算子として何らかのものがあることを知る。最後の列に4番目の演算子としてXがあることを希望するので、次に、それを配置する。このXは、2番目の列の同じ場所にあるI、および3番目の列のXと交換するが、最初の列のZとは反交換する。したがって、最後の列の最初のパウリ行列をZにして、ここで最初のパウリ演算子の対角Yと反交換する。我々は、ここで、他の演算子がZ以外のものを有することができないことを知る。我々は、今や、残りの3つと交換し、4番目の演算子としてXを有するが他の場所にはそれを有しないので、それらの残りの3つから独立している、新しい演算子を構築した。したがって
【数61】
【0137】
S
フルの下半分はフルランクであるため、その逆をとると次のようになり得る。
【数62】
【0138】
最後に、キュビット1および2に回転
【数63】
を適用し、したがって
【数64】
これは、標準形式の演算子のグループの形式を有する。この場合におけるこの形式の演算子は次のとおりであることがわかる。
【数65】
【0139】
次に、我々は以下を有し
【数66】
式中、
【数67】
【0140】
Q
-1S’によって与えられる、変換された演算子は次のとおりである。
【数68】
【0141】
回転回路を適用し、次にパウリZ基底で各キュビットを測定することによって測定値を取得するのは、これらの変換された演算子である。次に、元の演算子の測定値が、R-1行列に示されている測定値の積をとることによって取得される。
【0142】
回転回路を
図4に示す。R、S’、およびQを使用して、6つの元の演算子の位相が(+1+1+1+1+1+1)であることがわかる。したがって、元のパウリストリングの測定値を次のように構築することができる。
・キュビット3および4の測定値の積からのP
1、
・キュビット1、2、3、および4の測定値の積からのP
2、
・キュビット1および2の測定値の積からのP
3、
・キュビット2の測定値からのP
4、
・キュビット1の測定値からのP
5、
・キュビット1、3、および4の測定値の積からのP
6。
【0143】
付録C:誤差の最小化
これで、交換する演算子グループに対して同時に測定を行うことの予想される誤差への影響を検討することができる。次の形式のハミルトニアンがあり
【数69】
ここで、Gは、グループの数であり、M
kは、グループk内の演算子の数であり、
【数70】
は、k番目のグループ内のi番目のパウリ演算子であり、
kiは、その係数である。各項を個別に測定した場合、ハミルトニアンの予想値の誤差は次のように与えられ、
【数71】
ここで、N
kiは、
【数72】
の測定がそれから行われる実行された状態準備の数である。
【数73】
【0144】
次のように定義すると有用であることがわかり、
【数74】
したがって
【数75】
【0145】
状態準備の固定された総数N
uでは、誤差は、次のときに最小化され、
【数76】
したがって、合計誤差は次のようになる。
【数77】
【0146】
代わりに、交換するグループ内のすべての演算子の測定を同時に行い、これらの測定値から、H
kの測定値を構築することを検討する場合、全体としてH
kの分散を考慮しなければならない。誤差は次によって与えられ、
【数78】
式中、
【数79】
N
kは、グループk内すべての演算子の測定がそれから行われる状態準備の数である。ラグランジュ乗数を使用して、N
g個の合計状態準備について、誤差は次のときに最小化されることを見出すことができ、
【数80】
したがって、
【数81】
【0147】
したがって、ハミルトニアンの予想値を同じレベルの精度で推定するために、グループ化されていないケースと比較して、グループ化されたケースにおいて必要な状態準備の数は、次のようになることがわかる。
【数82】
【0148】
以下の番号付きの段落も開示される。
【0149】
1.量子コンピュータを使用して物理系のエネルギーレベルの推定値を決定するための方法であって、エネルギーレベルが、複数の演算子の予想値の合計によって記述され、この方法が、
複数の演算子のうちの各演算子の測定値を決定することを含み、決定することが、
複数の演算子を1つ以上のセットにグループ化することであって、各セットが、複数の演算子のうちの1つ以上を含む、グループ化することと、
演算子の各セットについて、
演算子のセットに基づく変換された演算子のサブセット、
変換された演算子のサブセットに基づくマッピング回路、
変換された演算子のサブセットに基づく測定後処理ルーチン、を決定することと、を含み、
複数の演算子のうちの各演算子の測定結果を決定することが、演算子の各セットに対して測定ルーチンを実行することをさらに含み、測定ルーチンが、
量子コンピュータ上の複数のキュビットを使用して、量子ゲートの第1の配置を使用した試行状態を準備することと、
試行状態の複数のキュビットに対してマッピング回路を動作させることと、
複数のキュビットのうちの各キュビットに対して測定を実行して、各キュビットのキュビット測定値を取得することと、
測定後処理ルーチンをキュビット測定値に適用して、キュビット測定値を、演算子のセット内の演算子の各々の演算子測定値に変換することと、を含み、
この方法が、少なくとも各セット内の各演算子の決定された演算子測定値に基づいて、物理系のエネルギーレベルの推定値を決定することをさらに含む、方法。
【0150】
2.変換された演算子のサブセットを決定することと、マッピング回路を決定することと、測定後処理ルーチンを決定することとが、古典的コンピュータを使用して実行され、古典的コンピュータが、キュビット測定値に対して測定後処理ルーチンを適用して、キュビット測定値を、演算子のセット内の演算子の各々の演算子測定値に変換するステップをさらに実行する、段落1に記載の方法。
【0151】
3.試行状態を準備することと、マッピング回路を動作させることと、各キュビットに対して測定を実行することとが、量子コンピュータを使用して実行される、段落1または2に記載の方法。
【0152】
4.測定ルーチンが、各セット内の各演算子の対応する複数の演算子測定値を取得するために、各セットに対して複数回実行され、方法が、対応する複数の演算子測定値の平均に基づいて、各セット内の各演算子の予想値を決定することをさらに含む、段落1に記載の方法。
【0153】
5.エネルギーレベルの推定値を決定することが、各セット内の各演算子の予想値の合計を含む、段落4に記載の方法。
【0154】
6.マッピング回路が、複数のキュビットのうちの少なくとも2つに作用するように構成された少なくとも1つのマルチキュビットゲートを含む、いずれかの先行段落に記載の方法。
【0155】
7.マッピング回路が、1つ以上のマルチキュビットゲートを含み、マルチキュビットゲートの数が、複数のキュビットの数に比例し、比例が、演算子のセット内の独立した演算子の数によって乗算された複数のキュビットの数の上限を有し、演算子のセット内の各演算子が、1つ以上の独立した演算子から構築することができる、段落6に記載の方法。
【0156】
8.マッピング回路が、複数のキュビットのうちの各キュビットに回転を適用するように構成された1つ以上のシングルキュビットゲートを含む、いずれかの先行段落に記載の方法。
【0157】
9.変換された演算子のサブセットを決定することが、
演算子のセットのうちの1つ以上の独立した演算子を決定することであって、演算子のセット内の各演算子が、1つ以上の独立した演算子から構築することができる、決定することと、
1つ以上の独立した演算子を、変換された演算子のサブセットに変換することと、を含む、いずれかの先行段落に記載の方法。
【0158】
10.1つ以上の独立した演算子を、変換された演算子のサブセットに変換することが、
独立した演算子の数が複数のキュビットの数と一致するかどうかを決定することと、
独立した演算子の数が複数のキュビットの数よりも少ないと決定することに応答して、
変換された演算子の数がキュビットの数と一致するように、変換された演算子のサブセットに追加される1つ以上の新しい変換された演算子を構築することと、を含む、段落11に記載の方法。
【0159】
11.キュビット測定値が、変換された演算子のサブセットの測定値を表す、いずれかの先行段落に記載の方法。
【0160】
12.複数の演算子のうちの各演算子の測定値を決定するための方法であって、
複数の演算子を1つ以上のセットにグループ化することであって、各セットが、複数の演算子のうちの1つ以上を含む、グループ化することと、
演算子の各セットについて、
演算子のセットに基づく変換された演算子のサブセット、
変換された演算子のサブセットに基づくマッピング回路、
変換された演算子のサブセットに基づく測定後処理ルーチン、を決定することと、
演算子の各セットに対して測定ルーチンを実行することであって、測定ルーチンが、
量子コンピュータ上の複数のキュビットを使用して、量子ゲートの第1の配置を使用した試行状態を準備することと、
試行状態の複数のキュビットに対してマッピング回路を動作させることと、
複数のキュビットのうちの各キュビットに対して測定を実行して、各キュビットのキュビット測定値を取得することと、
測定後処理ルーチンをキュビット測定値に適用して、キュビット測定値を、演算子のセット内の演算子の各々の演算子測定値に変換することと、を含む、実行することと、を含む、方法。
【0161】
13.プロセッサによって実行されるときに、プロセッサにいずれかの先行段落の方法を実行させる命令を含む、コンピュータ可読媒体。
【0162】
14.段落1~12のいずれか1つの方法を実行するように構成された古典的コンピュータおよび量子コンピュータを備える装置。
【国際調査報告】