(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-21
(45)【発行日】2022-10-31
(54)【発明の名称】量子化学回路合成のための古典的オプティマイザー
(51)【国際特許分類】
G06N 10/00 20220101AFI20221024BHJP
G06F 7/38 20060101ALI20221024BHJP
【FI】
G06N10/00
G06F7/38 510
(21)【出願番号】P 2021529343
(86)(22)【出願日】2019-12-07
(86)【国際出願番号】 US2019065115
(87)【国際公開番号】W WO2020118285
(87)【国際公開日】2020-06-11
【審査請求日】2021-07-26
(32)【優先日】2018-12-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520132894
【氏名又は名称】イオンキュー インコーポレイテッド
(73)【特許権者】
【識別番号】507189666
【氏名又は名称】デューク ユニバーシティ
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】デラニー コナー
(72)【発明者】
【氏名】キム ジュンサン
(72)【発明者】
【氏名】ナム ユンソン
【審査官】中村 信也
(56)【参考文献】
【文献】米国特許出願公開第2016/0283857(US,A1)
【文献】米国特許出願公開第2017/0179960(US,A1)
【文献】米国特許出願公開第2018/0114138(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/00
G06F 7/38
(57)【特許請求の範囲】
【請求項1】
量子回路を最適化するための実行可能命令を格納するコンピュータ可読媒体であって、実行時に、デジタルコンピューティングプロセッサに、
シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることと、
化学物質の少なくとも1つの量子状態の進化をシミュレーションするための量子回路を生成することと、
1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することと、
生成された量子回路内の量子リソースの発生頻度、生成された量子回路内の量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づいて、1つまたは複数の基本論理ユニット(ELU)間に量子リソースを配置することと、
を含む機能を実行させ、
1つまたは複数のパラメータに基づいて生成された量子回路を最適化することは、量子計算のゲートスケジューリング、および量子計算の並列処理、のうちの任意の1つまたは複数をさらに含み、
量子計算のゲートスケジューリングおよび並列処理は、光クロスコネクトを介して異なる拡張基本論理ユニット(EELU)からの1つまたは複数の量子リソースを接続して、EELUのペア間に少なくとも1つのエンタングルイオンペアを生成することによって達成される、量子回路を最適化するための実行可能命令を格納するコンピュータ可読媒体。
【請求項2】
化学物質は、原子、分子、イオン、および亜原子粒子のうちの任意の1つまたは複数を含み、亜原子粒子は遊離、結合、または局在化している、請求項1に記載のコンピュータ可読媒体。
【請求項3】
化学物質の少なくとも1つの量子状態の進化のシミュレーションのための量子回路を生成することは、
量子コンピュータを使用するシミュレーションに利用される化学物質の進化演算子を導出することを含み、
化学物質の進化演算子を導出することは、さらに、
化学物質のフェルミオンハミルトニアンを導出することと、
1つまたは複数の変換アルゴリズムを使用して、フェルミオンハミルトニアンをキュービットハミルトニアンに変換することと、を含み、
1つまたは複数の変換アルゴリズムは、ジョーダン・ウィグナー変換、パリティ変換、およびBravyi-Kitaev変換のうちのいずれか1つまたは複数を含む、
請求項1に記載のコンピュータ可読媒体。
【請求項4】
量子リソースを最小化するための1つまたは複数の動作は、項のマージ、量子リソースの再埋め込み、およびマージソートのうちの任意の1つまたは複数を含む、請求項1に記載のコンピュータ可読媒体。
【請求項5】
シミュレートされる化学物質の少なくとも1つの量子状態の進化をシミュレーションするための1つまたは複数のパラメータは、化学物質の原子情報、量子回路の許容誤差、量子回路に許容されるゲートの最大数、量子回路に許容されるキュービットの最大数、およびシミュレーションに許容される最大期間、のうちのいずれか1つまたは複数を含む、請求項1に記載のコンピュータ可読媒体。
【請求項6】
量子計算のためのゲートスケジューリングは、異なるELUからの1つまたは複数の量子リソースを接続することによって達成され、量子リソースは、量子リソースのシャトルを含むキュービット通信バスによって接続される、請求項
1に記載のコンピュータ可読媒体。
【請求項7】
各ELU内の量子リソースの数、各EELU内のELUの数、および計算で使用されるEELUの数は、計算の期間にわたって動的に変化することができる、請求項
1に記載のコンピュータ可読媒体。
【請求項8】
量子回路を最適化するためのコンピュータ実装方法であって、
シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることと、
化学物質の少なくとも1つの量子状態の進化をシミュレーションするための量子回路を生成することと、
1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することと、
生成された量子回路内の量子リソースの発生頻度、生成された量子回路内の量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づいて、1つまたは複数の基本論理ユニット(ELU)間に量子リソースをマッピングすることと、
を含
み、
1つまたは複数のパラメータに基づいて生成された量子回路を最適化することは、量子計算のゲートスケジューリング、および量子計算の並列処理、のうちの任意の1つまたは複数をさらに含み、
量子計算のゲートスケジューリングおよび並列処理は、光クロスコネクトを介して異なる拡張基本論理ユニット(EELU)からの1つまたは複数の量子リソースを接続して、EELUのペア間に少なくとも1つのエンタングルイオンペアを生成することによって達成される、量子回路を最適化するためのコンピュータ実装方法。
【請求項9】
化学物質は、原子、分子、イオン、および亜原子粒子のうちの任意の1つまたは複数を含み、亜原子粒子は遊離、結合、または局在化している、請求項
8に記載のコンピュータ実装方法。
【請求項10】
化学物質の少なくとも1つの量子状態の進化のシミュレーションのための量子回路を生成することは、
量子コンピュータを使用するシミュレーションに利用される化学物質の進化演算子を導出することを含み、
化学物質の進化演算子を導出することは、さらに、
化学物質のフェルミオンハミルトニアンを導出することと、
1つまたは複数の変換アルゴリズムを使用して、フェルミオンハミルトニアンをキュービットハミルトニアンに変換することと、を含み、
1つまたは複数の変換アルゴリズムは、ジョーダン・ウィグナー変換、パリティ変換、およびBravyi-Kitaev変換のうちのいずれか1つまたは複数を含む、
請求項
8に記載のコンピュータ実装方法。
【請求項11】
量子リソースを最小化するための1つまたは複数の動作は、項のマージ、量子リソースの再埋め込み、およびマージソートのうちの任意の1つまたは複数を含む、請求項
8に記載のコンピュータ実装方法。
【請求項12】
生成された量子回路に使用される量子リソースを最小化するための1つまたは複数のパラメータは、化学物質の原子情報、量子回路の許容誤差、量子回路に許容されるゲートの最大数、量子回路に許容されるキュービットの最大数、およびシミュレーションに許容される最大期間、のうちのいずれか1つまたは複数を含む、請求項
8に記載のコンピュータ実装方法。
【請求項13】
量子計算のためのゲートスケジューリングは、異なるELUからの1つまたは複数の量子リソースを接続することによって達成され、量子リソースは、量子リソースのシャトルを含むキュービット通信バスによって接続される、請求項
8に記載のコンピュータ実装方法。
【請求項14】
各ELU内の量子リソースの数、各EELU内のELUの数、および計算で使用されるEELUの数は、計算の期間にわたって変化することができる、請求項
8に記載のコンピュータ実装方法。
【請求項15】
少なくとも1つのプロセッサおよびメモリを含む量子回路を最適化するためのシステムであって、メモリは、プロセッサによる実行時に、プロセッサに、
シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることと、
化学物質の少なくとも1つの量子状態の進化をシミュレーションするための量子回路を生成することと、
1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することと、
生成された量子回路内の量子リソースの発生頻度、生成された量子回路内の量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づいて、1つまたは複数の基本論理ユニット(ELU)間に量子リソースを配置することと、
を含む機能を実行させ
、
1つまたは複数のパラメータに基づいて生成された量子回路を最適化することは、量子計算のゲートスケジューリング、および量子計算の並列処理、のうちの任意の1つまたは複数をさらに含み、
量子計算のゲートスケジューリングおよび並列処理は、光クロスコネクトを介して異なる拡張基本論理ユニット(EELU)からの1つまたは複数の量子リソースを接続して、EELUのペア間に少なくとも1つのエンタングルイオンペアを生成することによって達成される、量子回路を最適化するための実行可能命令を格納する、システム。
【請求項16】
化学物質は、原子、分子、イオン、および亜原子粒子のうちの任意の1つまたは複数を含み、亜原子粒子は遊離、結合、または局在化している、請求項
15に記載のシステム。
【請求項17】
化学物質の少なくとも1つの量子状態の進化のシミュレーションのための量子回路を生成することは、
量子コンピュータを使用するシミュレーションに利用される化学物質の進化演算子を導出することを含み、
化学物質の進化演算子を導出することは、さらに、
化学物質のフェルミオンハミルトニアンを導出することと、
1つまたは複数の変換アルゴリズムを使用して、フェルミオンハミルトニアンをキュービットハミルトニアンに変換することと、を含み、
1つまたは複数の変換アルゴリズムは、ジョーダン・ウィグナー変換、パリティ変換、およびBravyi-Kitaev変換のうちのいずれか1つまたは複数を含む、
請求項
15に記載のシステム。
【請求項18】
量子リソースを最小化するための1つまたは複数の動作は、項のマージ、量子リソースの再埋め込み、およびマージソートのうちの任意の1つまたは複数を含む、請求項
15に記載のシステム。
【請求項19】
生成された量子回路に使用される量子リソースを最小化するための1つまたは複数のパラメータは、化学物質の原子情報、量子回路の許容誤差、量子回路に許容されるゲートの最大数、量子回路に許容されるキュービットの最大数、およびシミュレーションに許容される最大期間、のうちのいずれか1つまたは複数を含む、請求項
15に記載のシステム。
【請求項20】
量子計算のためのゲートスケジューリングは、異なるELUからの1つまたは複数の量子リソースを接続することによって達成され、量子リソースは、量子リソースのシャトルを含むキュービット通信バスによって接続される、請求項
15に記載のシステム。
【請求項21】
各ELU内の量子リソースの数、各EELU内のELUの数、および計算で使用されるEELUの数は、計算の期間にわたって変化することができる、請求項
15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載の実施形態は、一般に、化学物質用の量子システムのシミュレーションのために最適化された量子回路を生成することに関する。
【背景技術】
【0002】
量子コンピュータは、重ね合わせやエンタングルメントなどの量子力学的現象を利用してデータを処理する計算システムである。データが2つの明確な状態(「0」または「1」)のいずれかで2進数(ビット)にエンコードされるデジタルコンピュータとは異なり、量子計算では、データを量子ビット(以下「キュービット」)にエンコードする必要があり、単一のキュービットは、「1」、「0」、または2つのキュービット状態の任意の量子重ね合わせを表すことができる。一般に、N個のキュービットを有する量子コンピュータは、同時に最大2N個の異なる状態の任意の重ね合わせになる。つまり、キュービットのペアは4つの状態の任意の量子重ね合わせになり、3つのキュービットは8つの状態の任意の重ね合わせになる。
【0003】
量子コンピュータは、デジタルコンピュータ(または、本明細書では「古典的コンピュータ」と呼ばれる)よりもはるかに迅速かつ効率的に特定の問題を解決することができる。量子コンピュータの動作(operation(重複を避けるため、以下、記載省略))では、制御された量子論理ゲートにおいてキュービットを初期状態に設定することにより、計算を初期化することができる。これらのキュービットを操作することにより、量子アルゴリズムと呼ばれる、解決すべき問題の解決策を表す量子論理ゲートの所定のシーケンスが実現される。ショアのアルゴリズム(Shor’s algorithm)、サイモンのアルゴリズム(Simon’s algorithm)などの量子アルゴリズムは、考えられる確率論的古典的アルゴリズムよりも高速に実行される。
【0004】
特定の問題を解決する上での量子コンピュータの固有の利点に基づいて、課題は、量子コンピュータをプログラミングして、それらの問題を解決する上でその強みを活用することである。
【発明の概要】
【課題を解決するための手段】
【0005】
一例の実施形態では、量子回路を最適化するためのコンピュータ実装方法は、シミュレートされる化学物質の少なくとも1つの量子状態の進化(evolution(重複を避けるため、以下、記載省略))のシミュレーションのための1つまたは複数のパラメータを受け取ることと、化学物質の少なくとも1つの量子状態の進化をシミュレーションするための量子回路を生成することと、1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することと、生成された量子回路内の量子リソースの発生頻度、生成された量子回路内の量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づいて、1つまたは複数の基本論理ユニット(ELU)間に量子リソースを配置することと、を含む。
【0006】
別の例示的な実施形態では、量子回路を最適化するためのシステムは、少なくとも1つのプロセッサおよびメモリを含み、メモリは、プロセッサによる実行時に、プロセッサに、シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることと、化学物質の少なくとも1つの量子状態の進化をシミュレーションするための量子回路を生成することと、1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することと、生成された量子回路内の量子リソースの発生頻度、生成された量子回路内の量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づいて、1つまたは複数の基本論理ユニット(ELU)間に量子リソースを配置することと、を含む機能を実行させる。
【0007】
さらに別の実施形態では、量子回路を最適化するための実行可能命令を格納するコンピュータ可読媒体は、実行時に、デジタルコンピューティングプロセッサに、シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることと、化学物質の少なくとも1つの量子状態の進化をシミュレーションするための量子回路を生成することと、1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することと、生成された量子回路内の量子リソースの発生頻度、生成された量子回路内の量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づいて、1つまたは複数の基本論理ユニット(ELU)間に量子リソースを配置することと、を含む機能を実行させる実行可能命令を格納する。
【0008】
前述の概要は単なる例示であり、決して限定することを意図するものではない。上記の例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および以下の詳細な説明を参照することによって明らかになるであろう。
【0009】
以下の詳細な説明では、以下の詳細な説明から当業者にはさまざまな変更および修正が明らかになるので、実施形態は例示としてのみ説明されている。異なる図で同じ参照番号を使用している場合は、類似または同一のアイテムを示す。
【図面の簡単な説明】
【0010】
【
図1A】
図1Aは、本明細書に記載の少なくともいくつかの実施形態による、例示的な量子システムアーキテクチャの一部を示す。
【
図1B】
図1Bは、本明細書に記載の少なくともいくつかの実施形態による、量子システムアーキテクチャの例示的な基本論理ユニットを示す。
【
図2A】
図2Aは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の少なくとも一部が実施される例示的な処理フローを示す。
【
図2B】
図2Bは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の少なくとも一部が実施される例示的な処理フローを示す。
【
図3A】
図3Aは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を使用してゲート演算を実行するための異なる方法を示す。
【
図3B】
図3Bは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を使用してゲート演算を実行するための異なる方法を示す。
【
図4A】
図4Aは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の少なくとも一部が実施される例示的な処理フローを示す。
【
図4B】
図4Bは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の少なくとも一部が実施される例示的な処理フローを示す。
【
図4C】
図4Cは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の少なくとも一部が実施される例示的な処理フローを示す。
【
図4D】
図4Dは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の少なくとも一部が実施される例示的な処理フローを示す。
【
図4E】
図4Eは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の少なくとも一部が実施される例示的な処理フローを示す。
【
図4F】
図4Fは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の少なくとも一部が実施される例示的な処理フローを示す。
【
図5】
図5は、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の異なる実施形態の少なくとも一部によって作成されたサンプル回路を示す。
【
図6】
図6は、本明細書に記載の1つまたは複数の実施形態による、量子回路の最適化のための方法およびシステムを使用して量子回路が最適化される、選択された化学物質の量子状態測定を提供するために使用される例示的な量子コンピューティングシステムを示す。
【
図7】
図7は、量子回路の最適化のためのプロセスおよびサブプロセスのいずれかが、コンピュータ可読媒体に格納されたコンピュータ可読命令として実装され得る、例示的なコンピューティング実施形態を含む例示的な古典的コンピューティングシステムを示す。
【発明を実施するための形態】
【0011】
以下の詳細な説明では、説明の一部を構成する添付の図面を参照する。図面では、文脈上別段の指示がない限り、通常、類似の記号は類似のコンポーネントを識別する。さらに、特に断りのない限り、連続する各図面の説明は、現在の例示的な実施形態のより明確な文脈およびより実質的な説明を提供するために、前の図面の1つまたは複数からの特徴を参照し得る。それでも、詳細な説明、図面、および特許請求の範囲に記載された例示的な実施形態は、限定することを意味するものではない。本明細書に提示される主題の精神または範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができる。本開示の態様は、本明細書に一般的に記載され、図面に示すように、多種多様な異なる構成で配置、置換、結合、分離、および設計され得、これらはすべて本明細書で明示的に企図されることが容易に理解されよう。
【0012】
本明細書で説明されるのは、古典的コンピューティングと量子コンピューティングの両方を含む量子ハイブリッド計算が、例えば、異なるコンピューティング環境において同じ場所に配置されたコンピューティングデバイス間でコンピューティングを配分することによって安全かつ効率的に実装されるシステム、装置、アプリケーション、プログラム、および方法の1つまたは複数で具体化されるアプローチである。
【0013】
本説明において、以下の項は、それらの受け入れられた意味に加えて、以下のように使用され得る。
【0014】
「古典的コンピューティング」、「古典的プログラム」、「デジタルコンピューティング」、「デジタルプログラム」、またはそれらの変形は、2進数に変換されたデータのコンピューティング/処理を指し得る。従来のコンピューティングプロセッサには、中央処理装置(CPU)、グラフィックプロセッシングユニット(GPU)、テンソルプロセッシングユニット(TPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイなど、およびそれらの非バインド順列が含まれる得るが、これに限定されない。その非限定的な例は、並列化され、マルチコアの古典的コンピュータ、並列計算などを実行するためのGPUを備えた古典的コンピュータ、上で実行され得る古典的な最適化関数を含み得る。
【0015】
「量子コンピューティング」またはその変形は、キュービットに符号化されたデータのコンピューティング/処理を指し得る。量子コンピューティングは、キュービットを利用して高レベルのゲーティング関数を実行し、特定のクラスの計算問題に対して従来のコンピューティングよりも高速な結果を生成する。
【0016】
「環境」は、プログラムを実行するときに、例えば、ライブラリ、他のプログラム、他のハードウェアなどのユーティリティを利用することができるコンポーネントが見出されるコンピューティング環境を指し得る。したがって、本明細書では、古典的コンピューティング環境、量子コンピューティング環境などを参照することができる。
【0017】
「回路」は、1つまたは複数の量子関数を指し得る。
【0018】
本明細書に記載の例示的な実施形態によれば、量子コンピューティングは、量子コンピューティング環境で実行するために、古典的コンピューティング環境で量子回路を書き込むことができる反復プロセスを実行することを含む。使用できるそのような古典的コンピューティング環境の非限定的な例には、であるクトップコンピュータ、ラップトップコンピュータ、モバイルデバイスなどが含まれる。量子回路は、例えば、メインフレームコンピューティングデバイスのバッチ処理と同じ方法で、ネットワーク、例えば、インターネットを介して、量子回路が他の量子回路とキューイングされ得る量子コンピューティングデバイスに提出され得る。キューに入れられた量子回路は、順番に実行され得る。
【0019】
量子回路の計算の反復的または累積的な結果は、量子回路が書かれた古典的な計算環境、または量子回路の実行が管理される別の古典的な計算環境のいずれかで受信および照合され得る。どちらの古典的コンピューティング環境でも、最新の反復の結果またはその時点までのコンピューティングの累積結果に基づいて、量子回路を更新または書き換え得る。
【0020】
量子化学の問題は、量子コンピュータの重要なアプリケーションの1つと見なされている。本明細書に記載の実施形態は、その特定の進化演算子(evolution operator(重複を避けるため、以下、記載省略))に従って進化する原子、分子、および/またはイオンをシミュレートするために使用される効率的な量子回路を合成するための方法、システム、およびコンピュータプログラム製品を開示する。与えられた時間での進化演算子eiHtは、時間依存または時間非依存のシュレディンガー方程式(Schrodinger’s Equation)を使用して導出できる。本明細書に記載の実施形態は、量子回路の効率を改善し、量子リソースの節約を最大化し、ローカルエンタングルゲートの使用によって提供される効率と比較した場合により効率的な実装を提供するグローバルゲートなどの独自の機能を活用する。グローバルゲートは、量子リソースをさらに節約するために、例えば、イオントラップ量子コンピュータによって提供され得る。グローバルゲートを提供する他のコンピュータも使用できる。量子リソースは、計算に必要なキュービット(qubit(重複を避けるため、以下、記載省略))とも呼ばれる量子ビット(quantum bit(重複を避けるため、以下、記載省略))として定義される。
【0021】
図1Aは、本明細書に記載の少なくともいくつかの実施形態による、例示的な量子システムアーキテクチャの一部を示す。
図1Aに示すように、例示的なシステムアーキテクチャは、いくつかの拡張された基本論理ユニット(EELU)110
1-110
n、112
1-112
n、114
1-114
n、…などを含む。各EELUは、基本論理ユニット(ELU)120
1-120
n、122
1-122
n、124
1-124
n、…などとしても知られる多数のN-キュービットレジスタをさらに含み、それは
図1Bに示すようにトラップされたイオンキュービットをさらに含む。例えばレーザービームを介して、これらのキュービットの1つまたは複数のサブセットに適切な制御信号を適用することによってこれらのキュービットの状態を制御することにより、キュービットのサブセット間の量子ゲートを実現することができる。異なるEELUおよびELUからのキュービットは、再構成可能な光またはフォトニックスイッチ128を使用して、フォトニック量子チャネル126
1-126
Xを介して相互接続されまたはエンタングルされる。このアプローチでは、2つのEELU間でエンタングルキュービットのペアを生成することができ、ペアからの1つのキュービットは、接続されている各EELUに存在する。このようなエンタングルペアは、単一の光子を放出する各EELUからのイオンによって生成することができ、この光子の内部自由度(偏光、周波数、時間内の位置など)は、この光子を放出しているイオンとエンタングルするフォトニックキュービットとして機能する。2つのEELUの各イオンから放出された2つの光子は、50/50ビームスプリッタ132
1…132
X/2で集められ、その後、ビームスプリッタの2つの出力ポート134
1…134
Xで検出される。特定の結果が達成されると(ビームスプリッタの各出力ポートが1つの光子を同時に検出するなど)、これはEELU間にエンタングルイオンペアが正常に作成されたことを示す。光クロスコネクトスイッチ(またはフォトニックスイッチ)128を使用すると、システム内のEELUの任意のペアからの光子をフォトニック量子チャネル126
1…126
Xを介してまとめることができ、システム内のEELUの任意のペア間のエンタングルイオンペアを生成することができる。エンタングルペアが生成されると、それをリソースとして使用して、一方のEELUから他方のEELUにキュービットをテレポート(量子テレポーテーションプロセスとして知られる)するか、または、1つのEELUのイオンキュービットと他のEELUの別のイオンキュービットとの間に2-キュービットのエンタングルゲート(ゲートのテレポートとして知られる)を適用できる。
【0022】
図1Bは、本明細書に記載の少なくともいくつかの実施形態による、量子システムアーキテクチャの例示的な基本論理ユニットを示す。
図1Aに示すように、例示的なシステムアーキテクチャは、いくつかの拡張された基本論理ユニット(EELU)、例えば110、を含む。
図1Bに示すように、各EELUは、基本論理ユニット(ELU)120
1-120
nとしても知られるいくつかのレジスタをさらに含み、これは、トラップされたイオンまたはキュービットとしておよび量子リソースとしても好ましいトラップされたイオンキュービット130
1-130
Pをさらに含む。例えば、レーザービームを介して、キュービット130
1-130
Pのサブセット間のキュービット130
1-130
P量子ゲートの1つまたは複数のサブセットに適切な制御信号を適用することによりこれらのキュービット130
1-130
Pの状態を制御することは、キュービット間のローカルクーロン相互作用140を介して実現できる。トラップされたイオンが量子機能を実現するために1つのELUから別のELUにシャトルされるにつれて、ELUにトラップされたイオンの数は時間とともに変化する可能性がある。
【0023】
図1Aおよび
図1Bに記載されたスケーラブルな量子システムアーキテクチャの詳細は、「FAULT TOLERANT SCALABLE MODULAR QUANTUM COMPUTER ARCHITECTURE WITH AN ENHANCED CONTROL OF MULTI-MODE COUPLINGS BETWEEN TRAPPED ION QUBITS」と題する米国特許第9,858,531号で提供されている。
【0024】
一例の実施形態では、量子回路を最適化するためのコンピュータ実装方法は、シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることと、化学物質の少なくとも1つの量子状態の進化をシミュレーションするための量子回路を生成することと、1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することと、生成された量子回路内の量子リソースの発生頻度、生成された量子回路内の量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づいて、1つまたは複数の基本論理ユニット(ELU)間に量子リソースを配置することと、を含む。
【0025】
量子回路を最適化するためのコンピュータ実装方法は、シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることと、化学物質の時間的進化演算子(time evolution operator(重複を避けるため、以下、記載省略))eiHtを導出することと、を含み、化学物質の進化演算子を導出することは、さらに、化学物質のフェルミオンハミルトニアン(fermionic Hamiltonian(重複を避けるため、以下、記載省略))を導出することと、1つまたは複数の変換アルゴリズムを使用して、フェルミオンハミルトニアンをキュービットハミルトニアン(qubit Hamiltonian(重複を避けるため、以下、記載省略))に変換することと、を含み、1つまたは複数の変換アルゴリズムは、ジョーダン・ウィグナー(Jordan-Wigner)変換、パリティ(Parity)変換、およびBravyi-Kitaev変換のうちのいずれか1つまたは複数を含む。この方法は、導出された進化演算子を、進化演算子および1つまたは複数のパラメータに従って、少なくとも1つの量子状態の進化のシミュレーションに使用される量子コンピュータの進化演算子に変換することと、1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することによって最適化される化学物質のための量子システムのシミュレーション用の量子回路を生成することと、生成された量子回路での量子リソースの発生頻度、生成された量子回路での量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づく、1つまたは複数の基本論理ユニット(ELU)の間に量子リソースを配置することと、を含む。
【0026】
量子回路を最適化するためのコンピュータ実装方法、システム、およびそのための実行可能な命令を格納するコンピュータ可読媒体は、以下に詳細に説明され、添付の図に示されている。
【0027】
図2Aおよび
図2Bは、量子回路を最適化するための例示的な方法の少なくともいくつかの部分を示し、この方法は、ステップ202を介してシミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることを含む。化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータは、最適化パラメータを含み、最適化パラメータは、量子回路の許容誤差、量子回路にとって許容されるゲートの数、量子回路にとって許容されるキュービットの数、のいずれか1つまたは複数、および、原子座標や原子番号などの化学物質の原子情報を含む。分子軌道計算は、選択された化学物質に対して実行され、例えば、スレーター型軌道からガウス型軌道への変換(STO-3G)は、
図2Aに示すステップ208および
図2Bに示すステップ208’を介して実行される。これらの計算には、ステップ204を介してシュレディンガー方程式から化学物質の進化演算子e
iHtを導出することがさらに含まれる。
【0028】
一実施形態では、化学物質の進化演算子は、時間依存または時間非依存のシュレディンガー方程式から導出され、ここで、
【数1】
は化学物質の電子系の波動関数、
【数2】
はハミルトニアン演算子(Hamiltonian operator(重複を避けるため、以下、記載省略))、Eは化学物質の電子系の電子のエネルギーである。進化演算子e
iHtは、時間非依存のシュレディンガー方程式
【数3】
または時間依存のシュレディンガー方程式
【数4】
から導出できる。
【0029】
化学物質について、例えばシュレディンガー方程式を使用して、上記の方法の1つまたは複数によって計算されたハミルトニアン係数(Hamiltonian coefficient(重複を避けるため、以下、記載省略))または重なり積分(overlap integral(重複を避けるため、以下、記載省略))は、フェルミオンハミルトニアンとして知られている。例えば分子などの化学物質についての選択された化学的基礎(chemical basis(重複を避けるため、以下、記載省略))に基づく、例えば係数h
pqおよびh
pqrsの数値は、次の方程式を使用して計算できる。
【数5】
ここで、
【数6】
は生成演算子、
【数7】
は消滅演算子である。ここで、第1項(the first term)は運動エネルギープラス電子-核相互作用を表し、第2項(the second term)は電子-電子相互作用を表す。ここで、重なり積分は次のように表される。
【数8】
スレーター型軌道(STO)→ガウス型軌道(GTO)
【0030】
選択された化学的基礎に基づく係数hpqおよびhpqrsの数値は、このように計算され、メモリに保存され、自然基底からキュービット基底への変換にさらに使用される。プロセッサは、原子情報、例えば、座標、原子数、および最適化パラメータおよびハードウェア制約、例えば、量子回路の許容誤差、量子回路に許容されるゲートの数、量子回路に許容されるキュービットの数、に基づいて、どの化学的基礎を選択するかを決定する規則を提供されることができ、キュービット間の接続パラメータ、システム内のキュービットの特定のペア(またはセット)間のゲートの速度、効率、品質などが提供される。
【0031】
原子、分子、またはイオンであり得る化学物質の量子システムのシミュレーション用に最適化された量子回路の生成には、化学的基礎の選択が含まれる。本明細書に記載のシステムおよびプロセスの実施形態は、それが最も単純な最小基礎セットであるので水素のような原子の例示的な化学的基礎STO-3Gを使用して説明されるが、他の化学的基礎も選択され得る。
【0032】
選択される化学的基礎は、原子軌道、例えば、ガウス型軌道、スレーター型軌道、または数値原子軌道を含む。化学的基礎が選択される化学物質は、水素原子のように単純な場合(最小の化学的基礎の1つの基底関数(basis function(重複を避けるため、以下、記載省略)))、または原子情報/パラメータ、例えば座標、原子番号が知られていてユーザ入力として提供され得る他の複雑な分子またはイオンの場合がある。ユーザ入力には、最適化パラメータとともにハードウェア制約、例えば、各量子ゲートのエラーレート、量子回路のエラー許容値、ハードウェアで利用可能なキュービットの数、キュービット間の接続性、量子回路に許容されるゲートの最大数、量子回路に許容されるキュービットの最大数、およびシミュレーションに許容される最大持続時間、なども含まれる場合がある。他の制約も提供される場合がある。
【0033】
対象のハミルトニアンには、ハミルトニアン係数hが含まれ、これには、水素のようなスレーター型軌道ベースなど、何らかの化学的基礎で記述されたシステムのエネルギーに関する情報が含まれる。この軌道が3つのガウス関数(STO-3G)を使用して近似される場合、ハミルトニアン係数hは明示的に計算できる。ここでは、水素のようなスレーター型軌道ベースを例としてのみ選択し、他のベースも使用でき、同様に、STO-3Gは最小ベースであるのでここでは例として選択するが、上記のように他の関数の組み合わせも使用できる。
【0034】
このようにして得られた導出されたフェルミオンハミルトニアンは、次に、
図2Aに示すようにステップ206を介して、および
図2Bに示すようにステップ210’を介して、1つまたは複数の変換アルゴリズムを使用するキュービットハミルトニアンに変換される。このような変換に使用される変換アルゴリズムには、ジョーダン・ウィグナー変換、パリティ変換、およびBravyi-Kitaev変換のいずれか1つ以上が含まれ得る。他の適切な変換アルゴリズム、または複数の変換方法の組み合わせも使用することができる。例えば、ジョーダン・ウィグナー変換は、次の方程式で表すことができる。
【数9】
【0035】
計算され変換された時間的進化演算子e
iHtは、次に、
図2Aに示すようにステップ206を介して、および
図2Bに示すようにステップ212’を介して、近似のトロッター公式(Trotter formula)を使用して近似される。近似に適した他の方法、例えば、高次積公式(PF:high-order product formulas)に基づくアルゴリズム、テイラー級数(TS:Taylor series)の直接適用、量子信号処理法(QSP:quantum signal processing method)なども使用できる。近似パラメータの選択は、量子回路の許容誤差、量子回路に許容されるゲートの数、量子回路に許容されるキュービットの数などのいずれか1つ以上を含む最適化パラメータに依存する。より多くの量子リソースの使用はより多くのエラーを誘発する可能性があるので、最適化パラメータはまた、エラーを最小化するために、生成された量子回路で使用される量子リソースの数の最小化を含み得る。量子システムの時間的進化を概算するために使用される、または変分試行波動関数(仮設関数としても知られる)を作成するために使用されるトロッター公式は、次のように表すことができる。
【数10】
一次式(the first order formula)は、次のように表すことができる。
【数11】
2k次式(the 2k
th order formula)は、次のように表すことができる。
【数12】
【0036】
このようにして得られた近似進化演算子およびシミュレーションで検討中の化学物質の計算されたハミルトニアン係数は、次に、それぞれ
図2Aおよび
図2Bに示すように、ステップ214および216’を介して化学物質の量子システムをシミュレートする汎用回路を生成するために回路合成ツールキットへの入力として使用される。次に、生成された量子回路は、量子リソースのマッピングおよび配置、並列処理、スケジューリング、およびヒューリスティック最適化の使用、などの1つまたは複数を使用することによって最適化され、
図3A、
図3B、
図4A、
図4B、
図4C、
図4D、
図4E、
図4Fにさらに示され、そしてそれらの図に付随して説明される。
【0037】
量子化学計算は非常に複雑であるため、量子コンピュータがこれらの計算を実行するには、多数の量子リソースが必要である。上で論じたように、
図1Aおよび
図1Bに付随する説明において、例示的なシステムアーキテクチャは、いくつかの拡張基本論理ユニット(EELU)を含む。各EELUには、基本論理ユニット(ELU)として知られるいくつかのレジスタがさらに含まれ、これには、トラップされたイオンキュービットがさらに含まれる。例えばレーザービームを介してこれらのキュービットの1つまたは複数のサブセットに適切な制御信号を適用することによってこれらのキュービットの状態を制御すると、キュービットのサブセット間の量子ゲートは、キュービット間の局所クーロン相互作用を介して実現され得る。異なるEELUおよびELUからのキュービットは、再構成可能な光またはフォトニックスイッチを使用して、フォトニック量子チャネルを介して相互接続またはエンタングルしている。
【0038】
したがって、異なるELU内にあるが同じEELU内にあるキュービットにとって、および異なるEELU内にあるキュービットにとって、同じELU内にあるキュービットの接続レベルが異なるため、出現頻度に基づいてリソースを異なるELU内に配置できる。例えば、
図1Aおよび
図1Bに示される基本論理ユニット(ELU)には、いくつかのキュービットが含まれている。ELUを特定のキュービット数(例えば、ELUあたり30キュービット)を超えて拡張し、そのELUに含まれるキュービット間の接続を維持することは困難である。この問題を克服する1つの方法は、特定のキュービット数でより多くのELUを作成することである。例えば、1つのEELUあたり10個のELUがあり、各ELUには、例えば30キュービットが含まれ、異なるELU間の接続を提供する。ここに示されているキュービットの数は、例えば、ほんの一例であり、技術的に実現可能で効率的なシステムを可能にするために、ELUごとのより少ないまたはより多い数のキュービットを使用することができる。また、各ELUにおけるキュービットの数と各EELUにおけるELUの数とは、すべて同じではない場合がある。各ELUにおけるキュービットの数が異なるELU、または各EELUにおけるELUの数が異なるEELUを想像できる。さらに、各ELUにおけるキュービットの数および各EELUにおけるELUの数は、ソフトウェア制御によって動的に再構成できる。例えば、各ELUにおける量子リソースの数、各EELUにおけるELUの数、および計算で使用されるEELUの数は、計算の期間中に変化できる。単一のELUに含まれるキュービット間のゲート動作は、キュービットのサブセットを1つのELUから別のELUに移動する必要があるので、異なるELUのキュービット間のゲート動作よりも簡単である。ただし、EELUはチップ上に存在するので、単一のEELU内に収容できるELUの数には制限がある。したがって、各々にいくつかのELUが含まれるいくつかのEELUが製造される。
図1Aに示されるフォトニックまたは光スイッチネットワークは、量子回路動作を実行するために必要に応じて、1つのEELUからの1つまたは複数のキュービットと別のEELUからの1つまたは複数のキュービットとの間の接続を可能にし、EELU間にエンタングルキュービットのペアを形成する。あるEELUからのキュービットを別のEELUからのキュービットに接続するプロセスは、(キュービットまたはゲートの)テレポーテーションとも呼ばれ、この場合、同じEELU内のあるELUのキュービットが別のELUのキュービットとエンタングルしたときに行われるキュービットの物理的な移動ではなく、共有されたエンタングルキュービットのペアを生成することによって実現される。
【0039】
ELU内のキュービットは非常によく接続されており、同じEELU上の異なるELUからのキュービットは十分に接続されており、異なるEELUからのキュービットはある程度接続されているので、その回路ブロック内のキュービットの出現/発生の頻度に基づく量子化学計算に現れる、特定の回路ブロックに収容(適応)する効率的な方法でキュービットを配置またはマッピングすることが重要である。キュービットの配置は、追加的または代替的に、量子化学計算に現れる特定の回路ブロックに収容するために、それらの間のキュービットゲートの出現の順序に基づくことができる。出現頻度および/または出現順序に基づいて特定のELU上に特定のキュービットを配置するプロセスは、基盤となる量子コンピュータハードウェアの制約を考慮したソフトウェアツールを使用して自動化できる。
【0040】
さらに、量子動作を実行するために最大の相互作用が必要なキュービットは、例えば単一のELU内で互いに近くに配置し得て、単一のELU内で互いに近くに配置し、これにより、隣同士または近くに配置された2つのキュービットを接続するために利用されるゲートを節約できる。これにより、他のキュービットを互いに遠くに配置し得るが、その接続がより多くの時間またはより多くの量子論理ゲートなど他のリソースを必要とする場合でさえ、互いに遠くに配置されたキュービットを接続するのに必要な回数は少なくなり得るので、使用されるゲートの数は全体的により少なくなり、したがって、使用する量子リソースが少なくなるか、実行時間が短縮される。異なる技術を使用する量子リソースの効率的なマッピングおよび配置を介した最適化の方法は、本明細書に記載されており、
図3A、
図3B、
図4A、
図4B、
図4C、
図4D、
図4Eおよび
図4Fに示される回路例によっても示されており、
図3A、
図3B、
図4A、
図4B、
図4C、
図4D、
図4Eおよび
図4Fに添付の説明に詳細に記載されている。
【0041】
単一のELU内に収容できるキュービットの数と単一のEELU内に収容できるELUの数とに関する固有の制限に起因して、スケジューリング、並列処理、並列処理の結果の保存などの他の手法を使用した追加の最適化も使用できる。例えば、異なるEELUで異なる計算を並行して実行し、結果をさらに処理する必要があるまで保存することができる。量子テレポーテーションプロセスは、米国特許第9,858,531号で論じられており、
図1Aおよび
図1Bに付随する説明において上で論じられており、並列処理された計算間の通信を実行するために使用され得る。例えば、トロッター公式のさまざまな項は、実際には、エラーを許容範囲内に保ちながら、並べ替えて実行できる。重複するキュービットを含まないトロッター公式に複数の項がある場合、それらの順序はペナルティなしでシフトできる。したがって、グループ間で共通のキュービットを共有しないトロッター公式の項の各グループは、単一のELU(またはEELU)にマップでき、動作を並行して実行できる。次に、グループ間で共通のキュービットを共有する項は、キュービット通信バスによって接続されたELU間(イオンキュービットのシャトルなど)またはEELU間(フォトニック相互接続など)のキュービットの通信メカニズムを実行することによって実行できる。キュービットのマッピングおよび配置、並列処理、ゲートスケジューリングおよびテレポートを介した最適化のためのそのような方法は、
図3A、
図3B、
図4D、
図4Eおよび
図4Fによって示されており、
図3A、
図3B、
図4D、
図4Eおよび
図4Fに付随する説明に詳細に記載されている。
【0042】
図2Aおよび
図2Bに示され、
図2Aおよび
図2Bに付随する説明に記載されているように、選択された化学的基礎のために生成された一般的な回路は、したがって、
図2Aに示すようにステップ214を介して、および
図2Bに示すように214’を介して、量子回路を生成するようにマッピングされる。ここで、量子回路で使用される量子リソースは、
図2Aに示すようにステップ216を介して、および
図2Bに示すように216’を介して、最適化または最小化される。量子リソースのこの最適化または最小化は、
図4A、
図4Bおよび
図4Cにさらに示されており、
図4A、
図4Bおよび
図4Cに付随する説明に詳細に記載されている。
【0043】
次に、化学物質の量子システムをシミュレーションするための量子回路は、
図2Aに示すようにステップ218を介して、および
図2Bに示すように218’を介して、量子リソースのマッピングと配置、並列処理、ゲートスケジューリング、ヒューリスティック最適化などのいずれか1つ以上を含むさまざまな手法を使用してさらに最適化される。量子リソースのマッピングと配置、並列処理、およびゲートスケジューリングを使用する量子回路のこのさらなる最適化は、
図3A、
図3B、
図4D、
図4E、
図4Fにさらに示されており、
図3A、
図3B、
図4D、
図4E、
図4Fに付随する説明に詳細に記載されている。
【0044】
量子回路の最適化のための量子リソースは、以下のいずれか1つまたは複数を含み得る:回路ブロックで使用されるキュービットの数と量子ゲートの数をさらに含むシミュレーションに使用される量子計算、量子回路のエラー許容度、およびシミュレーションの結果を提供するのにかかる時間。このように生成された最適化された量子回路は、選択された化学物質の時間的進化を提供し得、これは、短期間の進化、例えば、定常状態のエネルギースペクトルの確立に対応するタイムスケールに限定されず、むしろ、システムのエネルギーの基底状態(ground-state)を超える励起の伝播に対応するタイムスケール、またはシステムの時間的進化を強制するために外部パラメータを制御するタイムスケールなど(量子システムの断熱的時間的進化(adiabatic time evolution)など)、長期間にわたる。
【0045】
回路最適化の中核は、物理レベルのハミルトニアンの変換から生じ得る、パウリ行列(Pauli-matrix(重複を避けるため、以下、記載省略))ベースで表される個々のキュービットハミルトニアン項でのパウリストリングプレフィックス(Pauli string prefix(重複を避けるため、以下、記載省略))の繰り返しパターンを明らかにすることにある。例えば、典型的な化学の問題の場合、ウィグナー・ジョーダン変換は、パウリ行列ベースのフェルミオン生成演算子
【数13】
および消滅演算子
【数14】
を表し、それは次のように表される:
【数15】
【0046】
この変換を使用し、
【数16】
に注意して、化学物質のハミルトニアンの項
【数17】
または
【数18】
は、パウリ演算子の積として表される。一般に、2つまたは4つの
【数19】
の積は、キュービットによって表される分子軌道の電子占有に対応する2つまたは4つの
【数20】
および
【数21】
演算子の倍の積になり、
【数22】
および
【数23】
演算子を含む項を「接続」する一連の
【数24】
演算子を伴って、電子-電子変換の適切な非対称性を反映する。この一連の
【数25】
演算子は、多くの場合、ジョーダン・ウィグナーストリングと呼ばれる。
【0047】
したがって、量子回路を使用して動作を実行することにより化学の問題を解決するため、特定のキュービット間の接続が必要になり得る。
図3Aおよび
図3Bは、トロッター展開(Trotter expansion)におけるハミルトニアンの2つの項に対応する代表的な回路を実装する2つの異なる(しかし同等の)方法を示し、例えば、
図3Aは、キュービット1、2、3および4を含む1つの項302を示し、その後に、キュービット4、5、6および7を含む別の項304が続き、同様に、
図3Bは、キュービット1’、2’、3’および4’を含む1つの項302’を示し、その後に、キュービット4’、5’、6’および7’を含む別の項304’が続く。例として7キュービットがここに示されているが、当業者は、より少ないまたはより多い数のキュービットが使用され得ることを容易に認識することができる。
【0048】
図3Aに示す方法は、各々2つのキュービットを接続する一連の制御NOT(CNOT)ゲートを使用した4積パウリ行列(four-product Pauli matrices(重複を避けるため、以下、記載省略))の実装を示しており(塗りつぶされたドットで示される制御キュービット(例えば、308)が
【数26】
状態にある場合に限り、
【数27】
で示されるターゲットキュービット(例えば、306)は
【数28】
と
【数29】
との間で反転する)、その後に、4番目のキュービットの相対位相を角度θ(R
Z(θ)310で示され、
【数30】
状態の位相が
【数31】
状態に対してe
iθだけシフトされる)だけシフトされ、その後に、シーケンスの前半で適用されたCNOTの逆シーケンスが続く。この回路では、直列のCNOTゲートは、システム内の任意のキュービットのペア間に適用され、共通のターゲットキュービット306を共有する。これは、ハミルトニアン進化(Hamiltonian evolution(重複を避けるため、以下、記載省略))の「ジャンプタイプ」実装と呼ばれる。ジョーダン・ウィグナーストリングが存在する場合、CNOTゲートのシーケンスは大幅に長くなる可能性がある。
【0049】
図3Bは、同じハミルトニアン項による時間的進化に対応する回路を実装する代替の方法を表す。
図3Aに示す方法は、各々2つのキュービットを接続する一連の制御NOT(CNOT)ゲートを使用した4積パウリ行列の実装を示しており(塗りつぶされたドットで示される制御キュービット(例えば、308’)が
【数32】
状態にある場合に限り、
【数33】
で示されるターゲットキュービット(例えば、306’)は
【数34】
と
【数35】
との間で反転する)、その後に、4番目のキュービットの相対位相を角度θ(R
Z(θ)310’で示され、
【数36】
状態の位相が
【数37】
状態に対してe
iθだけシフトされる)だけシフトされ、その後に、シーケンスの前半で適用されたCNOTの逆シーケンスが続く。この方法では、CNOTゲートシーケンスが最近傍キュービット間に直列に適用される。これは、ハミルトニアン進化の「ステップタイプ」実装と呼ばれる。
【0050】
連続して適用された2つの同一のCNOTゲートは、初期状態を最終状態と同じにする。その意味で、2つのCNOTゲートを連続して適用することは、何もしないことと同じであり、そのため、2つのCNOTゲートを連続して適用すると、互いに打ち消し合える。ゲートの適切なスケジューリングにより、ゲートキャンセルのインスタンスが増え、量子リソースが最小化されてエラーの最小化につながる。ゲートスケジューリングは、量子計算プロセスを構成する量子論理ゲートのシーケンスが、例えば化学計算のために、量子コンピュータハードウェアの物理キュービット上に配置されると、キュービットに適用されるプロセスである。
図3Aおよび
図3Bに示す回路は、分子軌道の電子集団を表すために割り当てられまたはマッピングされたキュービット上のゲートのスケジューリングの例である。最適化されたゲートスケジューリングは、ゲートのキャンセルおよび/または並列処理により、回路のパフォーマンスを向上させることができる。
【0051】
複雑な化学物質の特性を計算するには、多数のハミルトニアン項による時間的進化を、トロッター展開を使用してシミュレートする必要がある。トロッター展開でハミルトニアン項を注意深く順序付けることにより、ジョーダン・ウィグナーストリングの多くをキャンセルできる。ハミルトニアンの分子軌道を表す特定のキュービットを、量子コンピュータ上のELUの物理キュービットにマッピングするプロセスは、キュービットマッピングとして知られている。ELU内の完全な接続性を利用するために、トロッター展開のハミルトニアン項をグループに分割でき、各グループには、これらの項で繰り返し使用されるキュービットの多くが含まれ、それらを単一のELUで物理キュービットに割り当てる。ハミルトニアンの分子軌道を表す特定のキュービットを物理キュービットに効率的にマッピングし、物理キュービット(キュービット)を効率的に配置することで、各グループのシミュレーションを各ELUまたはEELUで並行して開始できる。必然的に、異なるグループ間で共有されるキュービットがある。これらのキュービットは最初に1つのELUに配置され、そのキュービットに関連するすべてのシミュレーションがグループ内で完了すると、同じEELU内の別のELUにシャトルされるか、別のEELUの適切なELUにテレポートされて、その結果、別のグループのこのキュービットに関連するさらなるシミュレーションを続行できる。同じEELU内のあるELUから別のELUへのキュービットのシャトルは、キュービット通信バスを介して同じEELUの異なるELU間の接続を提供する。ELUおよびEELU間の通信コストを最小限に抑えるために、ELU内のイオンへのキュービットの配置は、同じEELU内のELU間のシャトルおよびEELU間のテレポートの数が最小化されるように行われる。したがって、1つまたは複数の基本論理ユニット(ELU)間の量子リソースまたはキュービットのマッピングおよび配置は、生成された量子回路における量子リソースの発生頻度、生成された量子回路における量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、などのいずれか1つまたは複数に基づく。
【0052】
ハミルトニアン進化を実装するために必要なゲートの数を減らすために、さまざまな回路最適化手法を使用し得る。
図4A、
図4Bおよび
図4Cは、量子回路を最適化するための方法の少なくとも一部が、本明細書に記載の少なくともいくつかの実施形態、例えば、ヒューリスティック最適化に含まれる異なるステップに従って実装される処理フローの例を示す。例えば、
図4Aは、項の併合を示し、2つのハミルトニアン項は、同一のパウリ積を1つの項に組み合わせ得る。
図4Bは、例示的なキュービット再埋め込み技術を示す。この例における2つのハミルトニアン項、すなわち
【数38】
および
【数39】
は、各トロッター項の2つの類似した「ステップタイプ」実装を利用する。2つの項間のアダマール(H)ゲート401’が、RZ(θ)ゲートが適用される同じキュービットに適用されるように、キュービットに異なるラベルを付けるだけで、4つのCNOTゲート403をプロセスにおいて削除し得る。
図4Cは、例示的なマージソートプロセスを示し、トロッター展開の項は、後続の項の間のパウリ行列
【数40】
間の基底変化の数が最小化されるように順序付けられている(通常は1つまたは2つに減らされる)。この場合、各トロッター項の実装におけるCNOTゲートの多くは、「ジャンプタイプ」または「ステップタイプ」の項の実装のいずれかを使用して、隣接する項間でキャンセルされる。「ジャンプタイプ」の実装を使用すると、4つの項のうち2つの項の基準が
【数41】
と
【数42】
との間で変更された場合、「ステップタイプ」の実装よりもCNOTゲートのキャンセルが多くなる。
【0053】
図4Dは、本明細書に記載の少なくともいくつかの実施形態による、量子回路を最適化するための方法の少なくとも一部が実施される例示的な処理フローを示す。上で説明したように、単一のELU内に収容できるキュービットの数および単一のEELU内に収容できるELUの数に関する固有の制限により、キュービットマッピング、キュービットの配置、ゲートスケジューリング、および並列処理と、後で使用するための並列処理の結果の保存、などの他の手法を使用した追加の最適化も使用できる。例えば、繰り返し計算を実行する必要があるトロッター-スズキ近似(Trotter-Suzuki approximation)を使用する場合、次のように表すことができる。
【数43】
【0054】
図4Dは、回路実行を並列化するために追加のキュービットを使用する例を示す。例410では、共通キュービット416は、2つの異なる制御された動作、例えば、制御されたU412および制御されたV414のために使用される。動作U412および動作V414に関連する他のすべてのキュービットは独立しているが、共通制御キュービット416の共有は、2つの動作U412および動作V414の動作を並行してスケジューリングおよび実行することを禁止する。例420では、制御キュービットの動作U422および動作V424のための、例えば426および428のエンタングルペアが、CNOTゲートを用いて作成され、エンタングルペアの各キュービットは、動作U422および動作V424を制御することができる。制御されたU422および制御されたV424のプロセスの終わりに、制御キュービットのペアの別のCNOTゲートを使用して、制御キュービットの初期状態を復元することができる(図には示されていない)。2つの図は同等であるが、410では、2つの制御された動作(制御されたU412および制御されたV424)は、それらが完全に独立したキュービットのセットを含み、共通のキュービットを共有しないため、並行して実行するようにスケジュールできる。
【0055】
図4Eは、並列処理およびゲート実行のスケジューリングの例を示し、異なる計算が異なるEELU、444および446で並列に実行され得、結果は、さらなる処理に必要とされるまで保存され得る。この例では、EELU444で実行される量子回路とEELU446で実行される量子回路との間で1キュービットを共有する必要がある。この共有キュービットは、最初にEELU444に配置されたキュービット437にマッピングされ、このキュービット437によって制御されるユニタリ動作U432が実行される。その後、キュービット437は、EELU446内のキュービットを含む制御されたV動作434のさらなる処理のために、EELU446にテレポートされなければならない。これは、フォトニックネットワークを介して、EELU444のキュービット450とEELU446のキュービット448との間に確立されたエンタングルペア
【数44】
によって収容(適応)される。このエンタングルペアは、キュービットテレポーテーションが必要になる前であればいつでも確立できる。EELU444の制御されたU動作432が完了すると、制御キュービット437は、破線の長方形で示されているテレポーテーションプロセス460を介して、EELU446のキュービット448にテレポートされる。これには、キュービット437とキュービット450との間のCNOTゲート動作が含まれ、その後、キュービット437に適用されるアダマールゲート452が続く。次に、これらの2つのキュービット437および450は、計算ベース
【数45】
で測定される。これらの2つの測定の結果に基づいて、X456および/またはZ458のいずれかの単一のキュービットパウリゲートがキュービット418に適用される。これらの動作が完了すると、キュービット448は、テレポーテーションプロセスの前にキュービット437の正確な状態を想定する。次に、キュービット448は、回路V434を入力キュービット440に対して動作させるための制御キュービットとして使用することができる。この場合、例えば、制御されたU動作432がEELU444で実行される一方で、EELU446のみにキュービットを含む(制御キュービット439および入力キュービット440)実行可能な制御されたW動作435として、並列動作を実行することができる。
【0056】
図4Eに示される例示的な回路は、制御されたU432および制御されたV434動作において「制御」キュービット448として使用されるテレポートされたキュービット437を含むが、テレポートされたキュービットは、2つ以上のEELUにまたがる量子回路の一部における任意の機能に使用できる。
【0057】
図4Fは、共通のキュービットを共有する2つのEELUに量子化学回路を分散させる例を示す。
図4Fは、
図4Eに示され、
図4Eに付随する説明に詳細に記載されている回路の詳細な図を示す。上位回路432の最後のキュービット437は、下位回路434にテレポートされ、例えば、トロッター項のシミュレーションで
【数46】
の最終グループで使用される。
【0058】
ゲートスケジューリングは、量子計算プロセスを構成する量子論理ゲートのシーケンスが、例えば化学計算のために、量子コンピュータハードウェアの物理キュービットにキュービットが配置されると、キュービットに適用されるプロセスである。
図3A、
図3B、
図4B、
図4D、
図4Eおよび4
図Fに示される回路は、分子軌道の電子集団を表すために割り当てられるかまたはマッピングされるキュービット上のゲートのスケジューリングの例である。
【0059】
量子リソースのさらなる最適化および、最適化または最小化された量子リソースを使用して生成された量子回路の最適化は、特定の性能目標、例えば、エラーの事前定義された最大許容閾値または許容限界、または最小ゲート数が達成されるまで、直列および反復的に実行され得る。
【0060】
図5には、マージ、再埋め込み、ソートを行わないネイティブアプローチを使用したサンプル回路が示されている。構成されているように、この回路例には、120160個のCNOTゲートと、11716個のRz(θ)ゲートが必要である。下の表は、さまざまな回路最適化手法がこの回路に適用される場合のゲート数の削減の例を示す。それはまた、回路で使用されるアダマールゲートとフェーズ(S)ゲートの数を減らす。回路をさらに最適化することで、さらなる改善を得ることができる。
【表1】
【0061】
図6は、本明細書に記載の1つまたは複数の実施形態による、量子回路の最適化のための方法およびシステムを使用して量子回路が最適化される、選択された化学物質の量子状態測定を提供するために使用される量子コンピューティングシステムを示す。例えば、変分量子固有ソルバー(VQE:variational quantum eigensolver)法では、量子状態(仮設状態としても知られる)の試行関数が、一連の変分パラメータを有するトロッターのようなアプローチを利用した量子回路602を使用して準備される。状態が準備されると、それはエネルギーの期待値を推定するために使用される(ハミルトニアン)。この方法では、変分パラメータを変更し、これらの更新されたパラメータを利用して新しい試行状態を準備することにより、エネルギーの最小値が求められる。総ハミルトニアンは、全体のハミルトニアンを構成する各項に対応する期待値606を測定することによって推定される。化学物質のハミルトニアンにはハミルトニアン項の組み合わせが含まれているので、測定は連続して実行され、ハミルトニアンの個々の項を測定するために何度も繰り返される。量子コストを節約する1つの方法は、複数の項の期待値を同時に測定することである。例えば、2つのキュービットを持つ量子状態の場合、演算子
【数47】
【数48】
および
【数49】
の期待値は、1つの試行関数の準備からすべて同時に測定できる。
【0062】
一実施形態では、化学物質の量子システムのシミュレーションのために量子回路を最適化するための古典的コンピューティングシステムが、
図7に示すように開示され、
図7に付随する説明に詳細に説明される。少なくとも1つのプロセッサおよびメモリを含む量子回路を最適化するためのシステムであって、メモリは、プロセッサによる実行時に、プロセッサに、シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることと、化学物質の少なくとも1つの量子状態の進化をシミュレーションするための量子回路を生成することと、1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することと、生成された量子回路内の量子リソースの発生頻度、生成された量子回路内の量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づいて、1つまたは複数の基本論理ユニット(ELU)間に量子リソースを配置することと、を含む機能を実行させる量子回路を最適化するための実行可能命令を格納する。
【0063】
システムは、シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取った後、化学物質の時間的進化演算子e
iHtを導出し、導出された進化演算子を、進化演算子および1つまたは複数のパラメータに従って、少なくとも1つの量子状態の進化のシミュレーションに使用される量子コンピュータの進化演算子に変換し、1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースまたはキュービットを最小化するために1つまたは複数の動作を実行することによって最適化される化学物質のための量子システムのシミュレーション用の量子回路を生成し、生成された量子回路での量子リソースの発生頻度、生成された量子回路での量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質または本明細書に記載のそれらの組み合わせ、のうちのいずれか1つまたは複数に基づく、1つまたは複数の基本論理ユニット(ELU)の間に量子リソースを配置する。量子リソースのさらなる最適化および、最適化または最小化された量子リソースを使用して生成された量子回路の最適化は、特定の性能目標、例えば、エラーの事前定義された最大許容閾値または許容限界、または最小ゲート数が達成されるまで、連続および反復的に実行され得る。
図7は、
図2A、
図2B、
図3A、
図3B、
図4A、
図4B、
図4C、
図4D、
図4Eおよび
図4Fに示される方法を使用して、化学物質の量子システムのシミュレーションのために量子回路を最適化するために使用されるシステムの1つまたは複数の実施形態を示す。
【0064】
量子リソースが最適化され、並列処理とゲートスケジューリングを使用するように量子回路が最適化されると、結果として得られる最適化された量子回路は、ヒューリスティック最適化とも呼ばれる多数の反復を使用してさらに最適化され、量子回路を介して得られた結果は、理論結果および許容誤差と比較される。この最適化については、「AUTOMATED OPTIMIZATION OF LARGE-SCALE QUANTUM CIRCUITS WITH CONTINUOUS PARAMETERS」と題する共通所有の共に係属中の米国特許出願第16/164,586号に詳細に説明されている。
【0065】
図7は、量子計算のプロセスおよびサブプロセスのいずれかが、コンピュータ可読媒体に格納されたコンピュータ可読命令として実装され得る、例示的なシステムおよび例示的なコンピューティングの実施形態を示す。コンピュータ可読命令は、例えば、本明細書で参照されるように、ネットワーク要素および/またはそれに対応する任意の他のデバイスを有するデバイスのプロセッサによって実行され得、特に、量子回路の最適化について上記で説明されたアプリケーションおよび/またはプログラムに適用可能である。
【0066】
一実施形態では、量子回路を最適化するための実行可能命令を格納するコンピュータ可読媒体は、実行時に、デジタルコンピューティングプロセッサに、シミュレートされる化学物質の少なくとも1つの量子状態の進化のシミュレーションのための1つまたは複数のパラメータを受け取ることと、化学物質の少なくとも1つの量子状態の進化をシミュレーションするための量子回路を生成することと、1つまたは複数のパラメータに基づいて生成された量子回路に使用される量子リソースを最小化するために1つまたは複数の動作を実行することと、生成された量子回路内の量子リソースの発生頻度、生成された量子回路内の量子リソースの発生順序、1つまたは複数の量子リソース間の接続パラメータ、特定の量子リソース間のゲートの効率、特定の量子リソース間のゲートの品質、またはそれらの組み合わせ、のうちのいずれか1つまたは複数に基づいて、1つまたは複数の基本論理ユニット(ELU)間に量子リソースを配置することと、を含む機能を実行させる。
【0067】
非常に基本的な構成では、コンピューティングデバイスまたはシステム700は、通常、少なくとも、1つまたは複数のプロセッサ702、システムメモリ704、1つまたは複数の入力コンポーネント706、1つまたは複数の出力コンポーネント708、ディスプレイコンポーネント710、コンピュータ可読媒体712、およびトランシーバ714を含み得る。
【0068】
プロセッサ702は、例えば、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、またはそれらの任意の組み合わせを指し得る。
【0069】
メモリ704は、例えば、揮発性メモリ、不揮発性メモリ、またはそれらの任意の組み合わせを指し得る。メモリ704は、その中に、オペレーティングシステム705、アプリケーション、および/またはプログラムデータを格納し得る。すなわち、メモリ704は、上記の機能または動作のいずれかを実装するための実行可能な命令を格納し得、したがって、メモリ704は、コンピュータ可読媒体と見なし得る。
【0070】
入力コンポーネント706は、組み込みまたは通信結合されたキーボード、タッチスクリーン、または電気通信デバイスを指し得る。あるいは、入力コンポーネント706は、メモリ704に格納され得る音声認識プログラムと協働して、コンピューティングデバイス700のユーザから音声コマンドを受信するように構成されたマイクロフォンを含み得る。さらに、入力コンポーネント706は、コンピューティングデバイス700に組み込まれていない場合、無線周波数またはブルートゥースを含むがこれらに限定されない短距離通信プロトコルを介して通信可能に結合され得る。
【0071】
出力コンポーネント708は、コマンドおよびデータを外部デバイスに出力するように構成された、コンピューティングデバイス700に組み込まれているかまたはコンピューティングデバイス700から取り外し可能なコンポーネントまたはモジュールを指し得る。
【0072】
ディスプレイコンポーネント710は、例えば、タッチ入力機能を有し得るソリッドステートディスプレイを指し得る。すなわち、ディスプレイコンポーネント710は、入力コンポーネント706の機能と共有されるかまたはそれらを置き換えることができる機能を含み得る。
【0073】
コンピュータ可読媒体712は、上記の機能または動作のいずれかを具体化する1つまたは複数のプログラムを格納するように構成された分離可能な機械可読媒体を指し得る。すなわち、コンピューティングデバイス700のドライブコンポーネントに受け入れられ得るか、さもなければ接続され得るコンピュータ可読媒体712は、上記の機能または動作のいずれかを実装するための実行可能命令を格納し得る。これらの命令は、相補的であり得るか、さもなければメモリ704によって記憶されたものから独立し得る。
【0074】
トランシーバ714は、有線ネットワークまたは直接有線接続として構成された、コンピューティングデバイス700のためのネットワーク通信リンクを指し得る。あるいは、トランシーバ714は、無線接続、例えば、無線周波数(RF)、赤外線、ブルートゥース、および他の無線プロトコルとして構成され得る。
【0075】
前述のことから、本開示のさまざまな実施形態が例示の目的で本明細書に記載されており、本開示の範囲および精神から逸脱することなくさまざまな修正を行うことができることが理解されよう。したがって、本明細書に開示されるさまざまな実施形態は、限定することを意図するものではなく、真の範囲および精神は、以下の特許請求の範囲によって示される。