(57)【要約】  本開示は、従来式のコンピュータを凌駕する量子計算において期待されるサイズおよび型の量子回路を最適化するための自動化技法のインプリメンテーションを説明する。本開示は、連続するゲートパラメータをどのように扱うかを示し、大規模な量子回路を最適化する能力のある高速アルゴリズムのコレクションをレポートする。検討された一連のベンチマークに対し、本記載の技法は、ゲートカウントの大幅な低減を達成する。具体的に、本開示の技法は、内在する量子アルゴリズムの基本的レイアウトが保持されるように、最小限の構造的な変更を行いながら、従来のアプローチより大幅に少ない時間でより良好な最適化を提供する。これらの技法により提供される結果は、既存の量子コンピューティングハードウェア上で実行が可能な計算と、量子コンピューティングハードウェアへのインプリメンテーションの難易度はより高いが、従来式のコンピュータによって達成できる結果を凌駕することが期待されるさらに進んだ計算と、の間のギャップを埋める助力となる。【選択図】図１９
2021503116.tif 000002
【特許請求の範囲】
【請求項１】
量子回路を最適化する方法であって、
前記量子回路を形成する量子ゲートの第一リストについての情報を包含するネットリストを受信するステップと、
量子ゲートの前記第一リストとの機能等価性を有する量子ゲートの第二リストを生成するため、量子ゲートの前記第一リストについての前記情報に位相多項式低減オペレーションを実行するステップであって、量子ゲートの前記第二リスト中の量子ゲートの数は量子ゲートの前記第一リスト中の量子ゲートの数より少ない、前記実行するステップと、
量子ゲートの前記第二リストについての情報を包含する新規のネットリストを生成するステップと、
量子ゲートの前記第二リストを用いて前記量子回路の機能をインプリメントするため、前記新規のネットリストを提供するステップと、
を含む方法。
【請求項２】
前記位相多項式低減オペレーションを行う前に、前処理オペレーションを実行するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記前処理オペレーションが適用される、量子ゲートの前記第一リストについての前記情報が、ＮＯＴゲート、ＣＮＯＴゲート、トフォリゲート、アダマールゲート、およびＲＺゲートについての情報を含む、請求項２に記載の方法。
【請求項４】
前記位相多項式低減オペレーションを行う前に、アダマールゲートの低減オペレーションを実行するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記位相多項式低減オペレーションを行う前に、単一キュービットゲートの相殺オペレーションを実行するステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記位相多項式低減オペレーションを行う前に、２キュービットゲートの相殺オペレーションを実行するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記位相多項式低減オペレーションを行うステップが、書換えルールのセットをインプリメントするステップを含む、請求項１に記載の方法。
【請求項８】
前記書換えルールのセットが、ゲートカウント保持の書換えルールまたはゲートカウント低減の書換えルールのうちの１つまたはその両方を含む、請求項７に記載の方法。
【請求項９】
前記位相多項式低減オペレーションとともに、１つ以上のゲート相殺オペレーションまたはゲート低減オペレーションを、反復的に行うステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記位相多項式低減オペレーションを含む最適化オペレーションの固定シーケンスを反復して行うステップであって、前記位相多項式低減オペレーションは、前記固定シーケンス中の最初の最適化オペレーションではなく、前記固定シーケンスの中で一回だけ行われる、前記行うステップをさらに含む、請求項１に記載の方法。
【請求項１１】
プロセッサによって実行されると、前記プロセッサに量子回路の最適化を行わせるコードを格納する、コンピュータ可読ストレージ媒体であって、
前記量子回路を形成する量子ゲートの第一リストについての情報を包含するネットリストを受信するためのコードと、
量子ゲートの前記第一リストとの機能等価性を有する量子ゲートの第二リストを生成するため、量子ゲートの前記第一リストについての前記情報に位相多項式低減オペレーションを実行するためのコードであって、量子ゲートの前記第二リスト中の量子ゲートの数は量子ゲートの前記第一リスト中の量子ゲートの数より少ない、前記実行するためのコードと、
量子ゲートの前記第二リストについての情報を包含する新規のネットリストを生成するためのコードと、
量子ゲートの前記第二リストを用いて前記量子回路の機能をインプリメントするため、前記新規のネットリストを提供するためのコードと、
を含む、コンピュータ可読ストレージ媒体。
【請求項１２】
前記位相多項式低減オペレーションを行う前に、前処理オペレーションを実行するためのコードをさらに含む、請求項１１に記載のコンピュータ可読ストレージ媒体。
【請求項１３】
前記前処理オペレーションが適用される、量子ゲートの前記第一リストについての前記情報が、ＮＯＴゲート、ＣＮＯＴゲート、トフォリゲート、アダマールゲート、およびＲＺゲートについての情報を含む、請求項１１に記載のコンピュータ可読ストレージ媒体。
【請求項１４】
前記位相多項式低減オペレーションを行う前に、アダマールゲートの低減オペレーションを実行するためのコードをさらに含む、請求項１１に記載のコンピュータ可読ストレージ媒体。
【請求項１５】
前記位相多項式低減オペレーションを行う前に、単一キュービットゲートの相殺オペレーションを実行するためのコードをさらに含む、請求項１１に記載のコンピュータ可読ストレージ媒体。
【請求項１６】
前記位相多項式低減オペレーションを行う前に、２キュービットゲートの相殺オペレーションを実行するためのコードをさらに含む、請求項１１に記載のコンピュータ可読ストレージ媒体。
【請求項１７】
前記位相多項式低減オペレーションを行うステップを実行するための前記コードが、書換えルールのセットを実行するためのコードを含む、請求項１１に記載のコンピュータ可読ストレージ媒体。
【請求項１８】
前記書換えルールのセットが、ゲートカウント保持の書換えルールまたはゲートカウント低減の書換えルールのうちの１つまたはその両方を含む、請求項１７に記載のコンピュータ可読ストレージ媒体。
【請求項１９】
前記位相多項式低減オペレーションとともに、１つ以上のゲート相殺オペレーションまたはゲート低減オペレーションを、反復的に行うためのコードをさらに含む、請求項１１に記載のコンピュータ可読ストレージ媒体。
【請求項２０】
前記位相多項式低減オペレーションを含む最適化オペレーションの固定シーケンスを反復して行うためのコードであって、前記位相多項式低減オペレーションは、前記固定シーケンス中の最初の最適化オペレーションではなく、前記固定シーケンスの中で一回だけ行われる、前記行うためのコードをさらに含む、請求項１１に記載のコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本特許出願は、２０１８年１０月８日出願の米国本出願第１６／１６４，５８６号、名称「ＡＵＴＯＭＡＴＥＤ  ＯＰＴＩＭＩＺＡＴＩＯＮ  ＯＦ  ＬＡＲＧＥ−ＳＣＡＬＥ  ＱＵＡＮＴＵＭ  ＣＩＲＣＵＩＴＳ  ＷＩＴＨ  ＣＯＮＴＩＮＵＯＵＳ  ＰＡＲＡＭＥＴＥＲＳ」、および２０１７年１０月１９日出願の米国仮特許願第６２／５７４，４８０号、名称「ＡＵＴＯＭＡＴＥＤ  ＯＰＴＩＭＩＺＡＴＩＯＮ  ＯＦ  ＬＡＲＧＥ−ＳＣＡＬＥ  ＱＵＡＮＴＵＭ  ＣＩＲＣＵＩＴＳ  ＷＩＴＨ  ＣＯＮＴＩＮＵＯＵＳ  ＰＡＲＡＭＥＴＥＲＳ」に対する優先権を主張し、これらの内容は参照によりその全体が本明細書に組み込まれる。
【０００２】
政府のライセンス権利
本発明は、米陸軍研究事務所より受注したＷ９１１ＮＦ１６１０３４９、および米国国立科学財団より受注したＣＣＦ１５２６３８０の下で、政府の支援を得て達成されたものである。米国政府は本発明に対し所定の権利を有する。
【０００３】
本開示の諸態様は、一般に回路の最適化に関し、さらに具体的には、連続するパラメータを備える大規模量子回路の自動最適化に関する。
【背景技術】
【０００４】
大規模量子回路は種々の仕方でインプリメントすることが可能である。トラップ原子イオンの使用は、ユニバーサルで完全にプログラム可能な量子コンピューティング・マシン実現させる量子情報処理（ＱＩＰ：ｑｕａｎｔｕｍ  ｉｎｆｏｒｍａｔｉｏｎ  ｐｒｏｃｅｓｓｉｎｇ）アプローチの１つである。また、トラップ原子イオンは、量子情報ネットワーク（ＱＩＮ：ｑｕａｎｔｕｍ  ｉｎｆｏｒｍａｔｉｏｎ  ｎｅｔｗｏｒｋ）のための優れたプラットフォームでもある。かかるシステムまたはネットワークの全体的通信を改良することが可能な、トラップ原子イオンに基づくシステムまたはネットワークが望まれている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、トラップ原子イオンに基づく、さらには例えば超伝導回路に基づくＱＩＰシステムを含め、様々な種類のＱＩＰシステム中の大規模量子回路のより良い最適化（例えば、より少数のゲート）を可能にする、効率的な技法を開発することが望まれている。
【課題を解決するための手段】
【０００６】
以下では、諸態様の基本的理解を提供するために、１つ以上のかかる態様の簡明な要約を提示する。本要約は、考えられる全ての態様の広範な全体像ではなく、さらに、全ての態様の主要または重要なエレメントを識別することも一部または全部の態様の範囲を記述することも意図されていない。その目的は、後記で提示するより詳細な説明の前置きとして、簡明な形で、１つ以上の態様のいくつかの概念を提示することである。
【０００７】
本明細書で説明するのは、連続するパラメータを備える大規模量子回路の自動最適化のための技法である。例えば、本開示の諸態様は、従来式のコンピュータを凌駕する量子計算において期待されるサイズおよび型の量子回路を最適化するための自動化技法のインプリメンテーションを説明する。本明細書に記載された技法は、連続するゲートパラメータをどのように扱うかを示し、大規模な量子回路を最適化する能力のある高速アルゴリズムのコレクションに適用が可能である。これらの技法は、内在する量子アルゴリズムの基本的レイアウトが保持されるように、最小の構造的変化を行いながら、従来のアプローチよりも大幅に少ない時間でより良好な最適化を提供することができる。これらの技法により提供される結果は、既存の量子コンピューティングハードウェア上で実行が可能な計算と、量子コンピューティングハードウェアへのインプリメンテーションの難易度はより高いが、従来式のコンピュータによって達成できる結果を凌駕することが期待されるさらに進んだ計算と、の間のギャップを埋める助力となる。
【０００８】
或る例において、量子回路を最適化する方法が表され、該方法は、量子回路を形成する量子ゲートの第一リストについての情報を包含するネットリストを受信するステップと、量子ゲートの該第一リストとの機能等価性を有する量子ゲートの第二リストを生成するため、量子ゲートの第一リストについての情報に位相多項式低減オペレーションを実行するステップであって、量子ゲートの第二リスト中の量子ゲートの数は量子ゲートの第一リスト中の量子ゲートの数より少ない、該実行するステップと、量子ゲートの第二リストについての情報を包含する新規のネットリストを生成するステップと、量子ゲートの第二リストを用いて量子回路の機能をインプリメントするため、該新規のネットリストを提供するステップと、を含む。
【０００９】
添付の図面は一部のインプリメンテーションだけを示すもので、したがって、範囲を限定していると見なすべきでない。
【図面の簡単な説明】
【００１０】
【図１】本開示の態様による、量子回路の一例を示す図表である。
【図２】本開示の態様による、位相多項式表現のための量子回路の一例を示す図表である。
【図３】本開示の態様による、アダマール（Ｈａｄａｍａｒｄ）ゲート低減のためのルールの例を示す図表である。
【図４】本開示の態様による、転換ルールの例を示す図表である。
【図５】本開示の態様による、位相多項式を用いる交代併合による最適化サブルーティンの一例を示す図表である。
【図６】本開示の態様による、位相多項式表現に適うサブ回路を示す図表である。
【図７】本開示の態様による、ゲートカウント保持の書換えルールの例を示す図表である。
【図８】本開示の態様による、ゲートカウント低減の書換えルールの例を示す図表である。
【図９】本開示の態様による、図５中の回路のさらなる単純化の一例を示す図表である。
【図１０】本開示の態様による、トフォリ（Ｔｏｆｆｏｌｉ）ゲートのインプリメンテーションの例を示す図表である。
【図１１】本開示の態様による、近似量子フーリエ変換（ＱＦＴ：ｑｕａｎｔｕｍ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）、クイッパー（Ｑｕｉｐｐｅｒ）ライブラリ加算回路（ａｄｄｅｒ）、およびフーリエベース加算回路（ＱＦＡ：Ｆｏｕｒｉｅｒ−ｂａｓｅｄ  ａｄｄｅｒ）に対する合計ゲートカウントの例を示すチャートである。
【図１２】本開示の態様による、クイッパーライブラリ（Quipper library）加算回路に対するＣＮＯＴゲートのいくつかの例を示すチャートである。
【図１３】本開示の態様による、諸加算回路の軽度の最適化に対する結果を示す表である。
【図１４】本開示の態様による、諸加算回路の重度の最適化に対する結果を示す表である。
【図１５】本開示の態様による、積公式アルゴリズムに対する合計ゲートカウントの例を示すチャートである。
【図１６Ａ】図１６Ａは、本開示の態様による、積公式アルゴリズムの最適化に対する結果を示す表である。
【図１６Ｂ】図１６Ｂは、本開示の態様による、積公式アルゴリズムの最適化に対する結果を示す表である。
【図１７Ａ】図１７Ａは、本開示の態様による、各種のアルゴリズムに対する軽度および重度のＴ−ｐａｒ最適化の比較を示す表である。
【図１７Ｂ】図１７Ｂは、本開示の態様による、各種のアルゴリズムに対する軽度および重度のＴ−ｐａｒ最適化の比較を示す表である。
【図１７Ｃ】図１７Ｃは、本開示の態様による、各種のアルゴリズムに対する軽度および重度のＴ−ｐａｒ最適化の比較を示す表である。
【図１８】本開示の態様による、連続するパラメータを備える大規模量子回路の自動最適化を実行するためのデバイスの一例を示すブロック図である。
【図１９】本開示の態様による、連続するパラメータを備える大規模量子回路の自動最適化の方法の一例を示すフローチャートである。
【図２０】本開示の態様による、最適化された大規模量子回路をインプリメントするためのトラップイオンベースの量子情報処理（ＱＩＰ）システムの一例を示すブロック図である。
【発明を実施するための形態】
【００１１】
添付の図面に関連させて以下に述べる詳細な説明は、様々な構成の解説として意図されたものであり、本明細書で説明する概念の実践が可能な唯一の構成を表すものとは意図されてはいない。本詳細な説明は、様々な概念の徹底的な理解を提供するための具体的詳細を含む。しかしながら、当業者には当然のことながら、これらの概念はこのような具体的詳細がなくても実践が可能である。いくつかのインスタンスでは、かかる概念を曖昧にするのを避けるために、周知のコンポーネントはブロック図の形で示される。
【００１２】
本開示では、従来のコンピュータを凌駕する量子計算に期待されるサイズおよび型の量子回路に対する自動化技法のインプリメンテーションを説明する。本開示は、どのように連続するゲートパラメータを扱うかを示し、大規模量子回路を最適化することができる高速なアルゴリズムのコレクションをレポートする。対象の一連のベンチマークに対して、本記載の技法は、ゲートカウントの相当な低減を得ることができる。具体的に、本開示中の技法は、内在する量子アルゴリズムの基本的レイアウトが保持されるように、最小の構造的変化を行いながら、従来のアプローチよりも大幅に少ない時間でより良好な最適化を提供することができる。これらの技法により提供される結果は、既存の量子コンピューティングハードウェア上で実行が可能な計算と、量子コンピューティングハードウェアへのインプリメンテーションの難易度はより高いが、従来式のコンピュータによって達成できる結果を凌駕することが期待されるさらに進んだ計算との間のギャップを埋める助力となる。
【００１３】
量子コンピュータまたは量子情報処理（ＱＩＰ）システムは、特定の問題を解決するにあたって従来式のコンピュータをはるかに凌駕する潜在能力を有する。おそらくは、これらのもっと知られた応用は整数の因数分解作業であって、既知の最速の従来式アルゴリズムは超多項式であり、ショア（Ｓｈｏｒ）のアルゴリズムは多項式時間でこの問題を解き、広く使われているＲＳＡ暗号システムへの攻撃法を提供する。
【００１４】
ショアのアルゴリズムの発見の前でさえ、量子力学をシミュレートするために量子コンピュータが提案されていた。ハミルトニアン（Ｈａｍｉｌｔｏｎｉａｎ）力学をシミュレートすることによって、量子コンピュータは、凝縮体中の現象および高エネルギ物理学、量子化学、および材料科学を探求ことができる。量子シミュレーションの有用なインスタンスは、因数分解問題の従来の難題インスタンスよりも、より小規模な量子コンピュータへのアクセス可能性が高い。
【００１５】
これらのおよび他の潜在的応用は、スケーラブル量子コンピュータの構築に向けての大きな努力をモチベートする助力となってきた。２つの量子コンピューティング技術、超電導回路とトラップイオンとは、現在は程々のサイズではあるが、完全にプログラム可能なユニバーサルなデバイスを可能にするのに十分なほどに成熟してきた。いくつかのグループは、産業界および政府の相当な投資に後援されて、これらのプラットフォームをより大規模なデバイスに積極的に発展させている。しかして、数十またさらには数百キュービットが関わる量子計算がそう遠くない将来に実行される可能性が高い。
【００１６】
実験的な量子情報処理はまだ困難な技術課題に留まっており、しばらくの期間は量子計算のために利用可能なリソースは高価で非常に限定されることになろう。利用可能なハードウェアを最大限に生かすために、できるだけ効率の良い（例えば、最小数のゲートでインプリメントされる）量子アルゴリズムのインプリメンテーションを開発することが必須である。
【００１７】
量子アルゴリズムは、通常、量子回路に関係づけて表され、キュービットに作用する基本量子ロジックゲートのシーケンスとして計算を表現する。所与のアルゴリズムを、基本的オペレーションの利用可能なセットとともにインプリメントする多くの仕方があり、最少のリソースを使用するインプリメンテーションを見出すために有用である。抽象的な意味で、効率的なアルゴリズムを開発し、実践的な効率に目を向けてそれを実行することが重要である一方、大規模量子回路は、自動最適化を可能にする技法から利益を得るのに十分な複雑性を有することが多い。
【００１８】
本開示では、マニュアルでのゲートレベルの最適化がもはや実際的には行えないスケールで量子回路のパフォーマンスをできるだけ改良することを目指して、それら量子回路のサイズを低減するためのソフトウェアツール（例えば、量子回路オプティマイザ）としてインプリメントできる様々な技法が説明される。任意の量子回路の全体的最適化はＱＭＡ困難なので、本開示で説明するアプローチは、ゲートカウントを低減するための自動化方式の注意深く選択された経験則のセットを適用することであり、多くの場合相当な節減をもたらす。
【００１９】
本明細書で記述する最適化技法は、いくつかの型の量子回路に適用が可能である。ベンチマーク回路は、量子フーリエ変換、整数加算回路、ガロア体乗数など、因数分解および離散対数を計算するための量子アルゴリズムのコンポーネントを含む。さらに検討されたのは、ハミルトニアンシミュレーションへ積公式アプローチのための回路である。これらのケースの各々において、焦点は、従来式の計算を凌駕するアプリケーションにおいて有用な可能性の高い回路のサイズに当てられた。本明細書に記載の諸技法は、実践者が、所与のアプリケーションにおいてどのアプリケーションのインプリメンテーションが最も効率的かを理解するのを助力することができる。
【００２０】
量子回路の最適化に関する既存の研究はあるが、本明細書で検討しているような大規模回路目標とした自動最適化に焦点を当てた研究は限られている。さらに、後記でさらに詳しく説明するように、これまでに報告されたランタイムからの推定は、既存の量子回路オプティマイザがかかる大規模回路に対しうまく機能する可能性が低いことを示唆している。本開示で提案する技法を用いて最適化された回路と、他のアプローチとの直接的な比較は、本提案の技法が、一般に、より短時間でより小さな回路を見出すことを示している。さらに、本開示で提案する技法は、連続するパラメータを備えた量子回路の自動最適化のために使用される。
【００２１】
全体的考察
本開示では、大規模量子回路、すなわち、従来式のコンピュータの力の及ばない量子計算において出現する量子回路を効率的に最適化する課題が検討される。本開示は、ソフトウェアソリューション（例えば、大規模量子回路の最適化に対するオフラインソリューション）としてインプリメンテーションおよび実行が可能な軽度および重度最適化アルゴリズム（例えば、オプティマイザの軽度バージョンおよび重度バージョン）に関する２つの最適化アプローチを説明する。これらのアルゴリズムは、基本的最適化の選択されたシーケンスに基づくが、それでもこれらは、ゲートカウントのかなりの低減を成就し、Ｔ−ｐａｒ最適化（後記でさらに詳しく説明する）など、より数学的に洗練されたアプローチを上回る改良を行う。当アプローチの簡潔性は、特にそのオプティマイザの軽度バージョンを使うことによって、非常に高速なランタイムに反映される。
【００２２】
本オプティマイザの重度バージョンは、より大きな回路の最適化が可能であることを実証している。出力をさらに改良するために、可能ならば一部のアダマールゲートを含めて、ＣＮＯＴおよびＲＺゲートのステージを構成するためのより拡張された（しかして計算的によりきつい）アルゴリズムをインプリメントすることによって、ＲＺのカウントを低減するためルーティンを修改することが可能である。別の考えは、本明細書に記載のアルゴリズム中にテンプレートベースのピープホール最適化を組み込むことである。他の考えは、サブ回路再書込みルール（後記でさらに詳しく説明する）のセットを拡張し、他のベンチマーク回路へのアプローチのそのパフォーマンスを検討することである。最後に、各種リソース（例えば、各種のゲート、補助キュービット）の相対コストを検討することにより、これらリソースの有利なトレードオフへの最適化につなげることができよう。
【００２３】
方法
本開示で提案する様々な最適化アルゴリズムおよびそれらのインプリメンテーションに関する詳細を以降で説明する。本開示全体を通して、或る回路に出現するゲートの数を示すために用語ｇが用いられる。以下の背景セクションでは、本開示全体を通して使われる表記の定義が提示される。量子回路の表現と題されたセクションでは、本明細書に記載の技法と関連させて用いることの可能な量子回路の３つの別個の表現を説明する。前処理と題されたセクションでは、本明細書に記載の様々な最適化アルゴリズムと併せ使用が可能な前処理ステップを説明する。最適化サブルーティンと題されたセクションでは、本開示で提案されるアプローチの基本構築ブロックを形成するいくつかのサブルーティンを説明する。さらに、汎用最適化アルゴリズムと題されたセクションでは、最適化アルゴリズムの様々なバージョンを形成するために、これらのサブルーティンをどのように組み合せるかを説明する。最後に、特殊用途最適化と題されたセクションでは、特定種類の回路を取り扱うために使用が可能な、２つの特殊用途最適化技法を提示する。
【００２４】
背景
量子回路は、キュービットの集合に作用する一連の量子ゲートである。量子回路は、便宜上、水平のワイヤがキュービットの時間発展を示し、時間は左から右に伝搬し、ボックス（またはワイヤに繋がれた他の記号）が量子ゲートを表す図によって表現される。例えば、図１の図表１００は簡単な３キュービットの量子回路を表している。図１００中の回路は２つの単一キュービットのｚ回転ゲート（１１０ａ、１１０ｂ）、ＲＺ（θ）およびＲＺ（θ’）、２つの単一キュービットのアダマールゲート（１２０ａ、１２０ｂ）Ｈ、および４つの２キュービットの制御ＮＯＴゲート（１３０ａ、１３０ｂ、１３０ｃ、および１３０ｄ）ＣＮＯＴを含む。
【００２５】
量子回路に対する基本ゲートの簡単なセットは、図１００中の回路に示されるように、２キュービットＣＮＯＴ、ならびに単一キュービットＮＯＴゲート、単一キュービットのアダマールゲート、および単一キュービットｚ回転ゲートから成ると考えてよい。これらの種類のゲートに対するユニタリ行列は、次の形の表現式を取る。
【００２６】
【数１】
2021503116.tif 000003
【００２７】
上式のθ∈０，２π］は回転角度である。位相ゲートＰおよびＴゲートは、それぞれ、ＲＺ（π／２）とＲＺ（π／４）として、ＲＺ（θ）〜上限検出不可能な大域的位相から得ることができる。回転角度が関係しない場合、ｚ回転は、総称的にＲＺとして表すことができる。
【００２８】
本明細書で説明する技法は、Ｈ、ＲＺ、ＮＯＴ、およびＣＮＯＴゲートのセットによる量子回路を主として提示するが、トフォリゲートを含むことが可能な入力回路も検討することができる。トフォリゲート（例えば、図１０の図表１０００中のゲート１０１０ａ）は、計算ベースの状態で
【００２９】
【数２】
2021503116.tif 000004
【００３０】
をマッピングすることによって表される。また、トフォリゲートは、否定制御を有することも可能である。例えば、最上部制御が否定であるトフォリゲート（例えば、図１０の図表１０００中のゲート１０１０ｂ）は、
【００３１】
【数３】
2021503116.tif 000005
【００３２】
として作用し、否定制御の両トフォリゲート（例えば、図１０の図表１０００中のゲート１０１０ｃ）は、
【００３３】
【数４】
2021503116.tif 000006
【００３４】
として作用する。
【００３５】
所与の量子回路を実行するコストは、それをインプリメントするために使われる物理システムにより決まる。例えば、物理システムが、超電導回路に基づいているか、またはトラップ原子イオンに基づいているかによって異なったコスト考慮がされることになろう。また、このコストは、物理レベル（未保護状態）インプリメンテーションとロジカルレベル（フォールトトレラント状態）のインプリメンテーションとの間でも大きく変わり得る。物理レベルでは、２キュービットのゲートは、通常、単一キュービットのゲートよりもインプリメンテーションの費用が高い。本明細書で説明する技法は、ＣＮＯＴゲートカウントを検討し、最適化アルゴリズム中のＣＮＯＴゲートの数を最適化することによってこれに対応する。
【００３６】
ロジカルレベルのフォールトトレラントな回路に対し、いわゆるクリフォード（Ｃｌｉｆｆｏｒｄ）演算（アダマール、位相、およびＣＮＯＴゲートによって生成される）は、多くの場合比較的インプリメンテーションが容易であり、非クリフォード演算は相当なオーバーヘッドを要する可能性がある。しかして、本最適化アルゴリズムにおいては、ＲＺゲートの数も検討され、それらのカウントも最適化するよう試みられる。フォールトトレラントなインプリメンテーションにおいて、ＲＺゲートは、通常、クリフォードおよびＴゲートから成るディスクリートゲートのセットで近似される。かかる近似を生成するため最適のアルゴリズムが知られている。一般的なＲＺゲートを近似するために必要なクリフォード＋Ｔゲートの数は、回転の具体的角度よりも、むしろ主として望まれる精度の如何により、したがって、そのＲＺゲートをクリフォード＋Ｔのフォールトトレラントな回路で近似する前に回路を最適化するのが望ましい。
【００３７】
ＣＮＯＴおよびＲＺのカウントを最小化することによって、物理およびロジカルレベル両方のインプリメンテーションを目指した最適化を行うことが可能である。これら２つの目標の間でのトレードオフを予期してよく、かかるトレードオフが行われた諸インスタンスがある。但し、本明細書に記載の技法では、ＲＺおよびＣＮＯＴ両方のカウントだけを目指した最適化が検討される。
【００３８】
量子回路の表現
量子回路の以下の３つの表現式は、本明細書で説明する最適化技法または最適化アルゴリズムに関連付けて使用することが可能である。
【００３９】
第一に、回路は、逐次に適用されるゲートのリスト（ネットリスト）として格納することができる。場合によっては、サブルーティン（例えば、回路サブルーティン）に関連させて特定するのが便利であり、これはブロックとして表すことが可能である。各ブロックは、任意の回数反復することが可能で、回路中に存在するキュービットのどのサブセットにも適用できる。ブロックを用いる表現は、多くの量子回路が相当な数の繰り返しを示すので、特に簡潔にすることができる。ブロックは、ゲートおよびキュービットのアドレスのリストとして特定される。
【００４０】
ネットリスト表現は、いくつかのベンチマーク回路を特定するために用いられた量子プログラミング言語である、クイッパー（Ｑｕｉｐｐｅｒ）によって生成されたフォーマットを使って入力、出力することができる。このフォーマットは、ブロックを取り扱う機能を含む。同じ機能を有する他の量子プログラミング言語および／またはフォーマットを使うことも可能である。
【００４１】
第二に、有向非巡回グラフ（ＤＡＧ：ｄｉｒｅｃｔｅｄ  ａｃｙｃｌｉｃ  ｇｒａｐｈ）表現を用いることができる。ＤＡＧの角頂は、回路のゲートであり、エッジはそれらの入力／出力関係を符号化する。ＤＡＧ表現は、ゲートの間の隣接性へのアクセスを容易にする利点がある。
【００４２】
第三に、｛ＮＯＴ、ＣＮＯＴ、Ｔ｝回路の位相多項式表現の一般化も使用することができる。ネットリストおよびＤＡＧ表現と違って、この最後の表現は、ＮＯＴ、ＣＮＯＴ、およびＲＺゲートだけで構成される回路に適用される。かかる回路は、線形ブール変換および対角相変換の編成として簡潔に表現することができる。例えば、Ｃが、ＣＮＯＴゲートおよび、ゲートＲＺ（θ１）、ＲＺ（θ２）、・・・、ＲＺ（θｉ）だけから成る回路であるとする。このとき、ｗキュービットベースの状態｜ｘ１，ｘ２，・・・，ｘｎ〉でのＣのアクションは次の形の式を有する。
｜ｘ１，ｘ２，・・・，ｘｎ〉→  ｅｉｐ（ｘ１，ｘ２，・・・，ｘｎ｜ｈ（ｘ１，ｘ２，・・・，ｘｎ）〉                                                                （２）
上式のｈ：｛０，１｝ｎ→｛０，１｝ｎは線形可逆関数であり、
【００４３】
【数５】
2021503116.tif 000007
【００４４】
は、アフィンブール関数ｆｉ：｛０，１｝ｎ→｛０，１｝と係数低減モジュロ２πとの線形組み合せである。項ｐ（ｘ１，ｘ２，・・・，ｘｎ）は、回路Ｃに関連する位相多項式と言われる。例えば、図２の図表２００中に示された、４つの単一キュービットｚ回転ゲート（２１０ａ、２１０ｂ、２１０ｃ、および２１０ｄ）、と３つの２キュービットＣＮＯＴゲート（２３０ａ、２３０ｂ、および２３０ｃ）とを有する回路はマッピング表現
【００４５】
【数６】
2021503116.tif 000008
【００４６】
で表すことができ、このｐ（ｘ，ｙ）は、
【００４７】
【数７】
2021503116.tif 000009
【００４８】
である。いくつかのインスタンスでは、位相多項式表現は、｛ＣＮＯＴ、Ｔ｝回路に対してだけ考慮され、しかして、式（３）中の全てのθｉは、π／４の整数倍数であり、ｆｉは線形である。
【００４９】
上記の３つの回路表現の任意の２つの間で時間的に線形に回路中のゲートの数で変換することが可能である。ネットリストが与えられると、対応するゲート毎のＤＡＧを作成することが可能である。逆に、標準的トポロジカル分類によってＤＡＧをネットリストに変換することも可能である。ネットリストと、｛ＮＯＴ、ＣＮＯＴ、ＲＺ｝回路の位相多項式表現との間の変換は、例えば、例として、深さ最適の量子回路の高速合成に使われる中間突合せ型アルゴリズムに関連して記述される直接的な一般化を用いることによって可能となる。
【００５０】
前処理
主たる最適化手順（例えば、最適化アルゴリズム）を実行する前に、当該回路を、さらなる最適化をやり易くするために前処理することができる。本オプティマイザは、ＮＯＴ、ＣＮＯＴ、およびトフォリゲートに加え、ＨおよびＲＺ（θ）ゲートを扱うことができるので、この前処理は、ＮＯＴ、ＣＮＯＴ、トフォリ、Ｈ、および／またはＲＺ（θ）ゲートから成る入力回路に適用することが可能である。いくつかの例として、後記でより詳しく説明するクイッパー加算回路およびＴ−ｐａｒ回路のベンチマークがある。例えば、ＮＯＴゲートは、それらを、トフォリゲート制御と、トフォリゲートおよびＣＮＯＴゲートの標的とを通り抜けて位置転換することによって、できるだけ右方に押しやることができる。トフォリゲート制御を通り抜けてＮＯＴゲートを押しやる場合、その制御は、否定となる（または、それが当初に否定であった場合は、その否定が除去される）。この手順が隣接するＮＯＴゲートの対に及ぶ場合、その対のＮＯＴゲートを回路から除去することができる。かかる相殺が見出せない場合、その制御否定の変更は、逆戻りさせることが可能で、当該ＮＯＴゲートは、その当初の位置に戻すことができる。さらに、ＮＯＴゲートとＨゲートとの間のこの位置転換の関係は、Ｈが後続するＮＯＴは、ＨにＺゲートが後続することであり、Ｚゲートは、ＲＺ（θ＝π）である。また、ＲＺ（θ）が後続するＮＯＴは、ＮＯＴが後続するＲＺ（−θ）である。したがって、ＮＯＴ、ＣＮＯＴ、トフォリ、Ｈ、およびＲＺゲートから成るゲートの標準的セットに対し、ＣＮＯＴおよびＲＺゲートを通り抜けてのＮＯＴの伝搬を用いることによって位相の全てのアフィン関数を線形関数に低減することに関連して後記で説明する詳細を加えて、前処理ステップの一部として、ＮＯＴゲートは、所与の回路の開始部または終端部に移動することが可能である。
【００５１】
このＮＯＴゲートの伝搬は、本提案のオプティマイザまたは最適化アルゴリズム２つの側面を利用する。第一に、否定制御を有している可能性のあるトフォリゲートを受入れ、後記でさらに詳しく説明するように、Ｔ／Ｔ†極性の選択の自由度を利用することによって、クリフォード＋Ｔ回路中への該ゲートの分解を最適化することが可能である。第二に、ＮＯＴゲートの相殺は位相多項式表現を（位相多項式表現（式３）中の関数ｆｉの一部を、元のアフィンの代わりに線形にすることによって）簡素化するので、かかる相殺は、後記で説明するサブルーティン４および５が（これらのサブルーティンが位相多項式表現中に一致する項を見出すことに依拠しているので）最適化を見出すことの可能性をより高くする。
【００５２】
この前処理ステップの複雑性は、このステップが回路を通る単一回の通過を行うだけなので、Ｏ（ｇ）である。
【００５３】
最適化サブルーティン
本開示の最適化アルゴリズムは、以下でさらに詳細に説明する様々なサブルーティンに依拠している。各々のアイテムに対し、回路中のゲートの数ｇの関数として最悪の場合の時間複雑性が報告されている（簡潔化のため、キュービットの数および他のパラメータへの依拠は無視されている）。但し、実践上でのソフトウェアのランタイムは、後記でさらに説明するように、これらサブルーティンを注意深く順序付け制限することによって、最適化することが可能である。
【００５４】
サブルーティン１−アダマールゲートの低減
アダマールゲートは、位相多項式最適化（後記サブルーティン４および５）に関与せず、また、ゲート位置転換を妨げる傾向がある。しかして、図３の図表３００中に描かれた回路アイデンティティまたはルールが、アダマールゲートのカウントを低減するために用いられる。このアイデンティティまたはルールは、図表３００の下部にルール３１０ａおよび３１０ｂを、図３００の上部にルール３２０ａ、３２０ｂ、および３２０ｃを含む。ルール３１０ａおよび３１０ｂは、たとえ中間のＣＮＯＴが、無作為に多くのＣＮＯＴゲートを備える回路に置き換えられても、それらの全てが当初のＣＮＯＴゲートの標的を共有しているならば適用が可能である。
【００５５】
これらのルールの各々の適用は、上限４つまでＨのカウントを低減する。所与のアダマールゲートに対し、ＤＡＧ表現を使って、それがこれらの回路アイデンティティの１つに当てはまるかどうかを一定の時間ごとにチェックすることが可能である。しかして、回路中の全てのアダマールゲートを通って単一回通過することによって、このサブルーティンを複雑度Ｏ（ｇ）でインプリメントすることが可能である
【００５６】
サブルーティン２−キュービットゲートの相殺
一般に、量子回路のＤＡＧ表現を用いて、或るゲートとその逆ゲートが隣接しているかどうかが直接に判断される。そうである場合、ゲートカウントを低減するために両方のゲートを除去することが可能である。さらに一般的には、ゲートＵと可換であるサブ回路Ａによって分離されている２つの単一キュービットゲートＵとＵ†とを相殺することが可能である。一般に、ゲートＵが回路Ａと可換であるかどうかの判断は、計算量が膨大となる可能性がある。その代わりに、十分な（だが必須ではない）転換に対する条件を提供する特定のルールのセットを適用することが可能である。このアプローチは迅速であり、量子回路を単純化するため利用可能な多くの位置転換を見出すように見える。
【００５７】
具体的に、回路中の各ゲートＵに対し、オプティマイザまたは最適化アルゴリズムは、Ｕ†の何らかのインスタンスとの可能な相殺を探索する。これを行うために、このアプローチは、図４の図表４００中パターンの１つによって実証されるように、Ｕが、引き続くゲートのセットを通り抜けて可換かどうかを繰り返しチェックすることになる。図表４００は、ＲＺゲートを右方に位置転換するための、上側のルール４１０ａ、４１０ｂ、および４１０ｃとＣＮＯＴゲートを右方に位置転換するためのルール４２０ａ、４２０ｂ、および４２０ｃなどの位置転換ルールを含む。何らかの段階で、許容された通信パターンによってＵを右方に移動することができない場合Ｕと合致するＵ†との相殺はできず、当初の構成が復元される。それ以外の場合は、ＵとＵ†の何らかのインスタンスとの相殺は成功する。前述した位置転換スキームは、右方への特定方向だけに適用される必要はなく、左方の特定方向にも適用されてよい。
【００５８】
ｇ個のゲートＵの各々に対し、本サブルーティンは、それがＯ（ｇ）を通して後続の位置と可換であるかどうかをチェックする。しかして、全体的なゲート相殺ルールの複雑性はＯ（ｇ２）となる。この複雑性は、固定数の後続のゲートを通しての位置転換だけを検討することによって、ｇに対し線形にできようが、実践上はその必要がないことが判明している。
【００５９】
本サブルーティンの些少なバリエーションを使って、相反ゲートを相殺するのでなく、回転ゲートを併合することが可能である。具体的に、２つの回転ＲＺ（θ１）およびＲＺ（θ２））を単一の回転ＲＺ（θ１＋θ２）に組み合せ、１つのＲＺゲートを削除することができる。
【００６０】
サブルーティン３．２キュービットゲートの相殺
このサブルーティンは、Ｕが２キュービットゲートであることを除き、サブルーティン２と類似であり、検討対象の回路ではこれらのゲートは一般ＣＮＯＴである。同様に、本サブルーティンの複雑性はＯ（ｇ２）であるが、サブ回路Ａに対し最大限のサイズを取らせることによってＯ（ｇ）に低減することが可能である。
【００６１】
サブルーティン４．位相多項式を用いる回転併合
このケースでは、ＮＯＴ、ＣＮＯＴ、およびＲＺゲートから成るサブ回路を検討する。その位相多項式の２つの別個の項が、何らかのｉ≠ｊに対し、次式、
ｆｉ（ｘ１，ｘ２，・・・，ｘｎ）＝ｆｊ（ｘ１，ｘ２，・・・，ｘｎ）      （５）
を満たす場合、対応する回転ＲＺ（θｉ）とＲＺ（θｊ）とを併合することが可能である。例えば、図２の図表２００中に示された回路において、第一および第四回転の両方は、回路の位相多項式表現によって明らかなように値ｙを携持するキュービットに適用される。しかして、図２の図表２００中の回路は、図５の図表５００中に示される変換を経てその中でこれら２つの回転は組み合される。図表５００中の右側図に変換された回路は、ＲＺゲート５１０ａ、５１０ｂ、および５１０ｃを含み、ＲＺゲート５１０ｃは、組み合せされた２つの回転と、ＣＮＯＴゲート５３０ａ、５３０ｂ、および５３０ｃとを有する。
【００６２】
言い換えれば、回路のこの位相多項式表現は、２つの回転、この場合ＲＺ（θ１）とＲＺ（θ４）が、たとえこれらがこの回路の異なる部分に出現していても、入力の同じアフィン関数に適用される場合を示している。次に、これらの回転は単一の回転に組み合せることができ、回路を改善する。この特定の例において、前述の位置転換技法を用いて、別途に単純化を達成することができたが、但し、これは一般的には適用できない。関連するアフィン関数が出現する回路中のいかなるポイントにも組み合せ回転を配置するフレキシビリティがある。具体的には、組み合せ回転は、最初の（最左方の）かかる回転の場所に配置される。
【００６３】
サブルーティン４を適用するためには、サブ回路が｛ＮＯＴ、ＣＮＯＴ、ＲＺ｝ゲートだけから成ることを識別する必要が或る。このサブ回路は、所定のＣＮＯＴゲートから開始して、一回に１キュービットで構築される。このゲートの最初のキュービットに対し、ＤＡＧ表現を用いて、このキュービットに作用する全ての先行するおよび後続するＮＯＴ、ＣＮＯＴ、およびＲＺゲートを通してスキャンが行われ、それらがサブ回路に加えられる。回路の開始部または終了部で、アダマールゲートに遭遇した場合、その端部点はマークされ、（各キュービットが１つの開始端部点および１つの終了端部点を有するように）その方向への探索は停止される。このキュービットと、まだ遭遇していない何らかのキュービットとの間の各ＣＮＯＴゲートに対し、そのゲートが新しく遭遇したキュービットに作用するアンカーポイントがマークされる。このプロセスは、最初のＣＮＯＴゲートによって作用された第二キュービットに対して遂行され、あらゆるアンカーポイントから開始され新規のキュービットとの遭遇がなくなるまでプロセスが繰り返される。
【００６４】
もたらされたサブ回路は、ＮＯＴ、ＣＮＯＴ、およびＲＺゲートだけから成るが、これは多項式位相表現を有さないことがあり、具体的には、サブ回路から去り再参入する、中間のワイヤ上のアダマールゲートがこれを妨げることがある。位相多項式形式を適用するために、以下のプルーニング手続を使ってこれが生じないようにすることが必要となる。所定の最初のＣＮＯＴゲートから開始して、ネットリスト中のその前後両方のゲートが、端部点に遭遇するまで連続的に検討される。なお、このプロセスで到達したあらゆるＮＯＴおよびＲＺゲートは、位相多項式が適用されるのを妨げることがなく、含めることが可能なので、ＣＮＯＴゲートだけを検討する必要がある。遭遇したＣＮＯＴゲートの制御および標的キュービットの両方が端部境界内にあれば、この手続を継続してよい。制御キュービットが端部境界の外側にあるが標的キュービットは内側にある場合、検査対象のＣＮＯＴゲートが境界の外側になり、当該サブ回路から、該ゲートとその標的キュービットに作用している一切の後続ゲートとが除外されるように、その標的キュービットの端部点が移動される。また一方、制御が境界の内側にあり、標的が外側にある場合、例外処理が行われ、（ＣＮＯＴゲートが当該サブ回路に含まれてはいないが）端部点は移動されない。この例外処理は、図６の図表６００中に示されるように、位相多項式表現に適ったより大きな｛ＮＯＴ、ＣＮＯＴ、ＲＺ｝のサブ回路をもたらす。
【００６５】
図表６００中の回路に特定された例において、上段の（ｑ１）および中段の（ｑ２）キュービットに作用している第一ＣＮＯＴゲート（例えば、ＣＮＯＴゲート６３０ａ）から探索を開始することが可能である。ｑ１から左に進むと、Ｈゲート（例えば、６２０ａ）が見出され、ここに端部点がマークされる。ｑ１から右に進むと、２つのＣＮＯＴゲート（例えば、ＣＮＯＴゲート６３０ｂ、６３０ｃ）が見出され、１つのＲＺゲート（例えば、ＲＺゲート６１０ａ）が見出され、次いで、Ｈゲート（例えば、Ｈゲート６２０ｂ）が見出され、ここに端部点がマークされる。遭遇したどのＣＮＯＴゲートも、ｑ１またはｑ２を残りのキュービットｑ３に連結していない。同じ手順が、当初のＣＮＯＴゲート（例えば、ＣＮＯＴゲート６３０ａ）からｑ２上で繰り返される。左側にＲＺゲートが（例えば、ＲＺゲート６１０ｂ）、次いでＨゲート（例えば、Ｈゲート６２０ｃ）が見出され、ここに端部点がマークされる。右に進むと、ｑ２およびｑ３に作用するＣＮＯＴゲート（例えば、ＣＮＯＴゲート６３０ｄ）が見出される。このＣＮＯＴゲートは、追加の接続部を示しており、したがって、アンカーポイントは、このＣＮＯＴゲートのｑ３（標的）側上のｑ３にマークされる。ｑ２ワイヤ上のさらに右方に、いずれも追加の接続部を示していない３つのＣＮＯＴゲート（例えば、ＣＮＯＴゲート６３０ｂ、６３０ｅ、および６３０ｃ）と、ＲＺゲート（例えば、ＲＺゲート６１０ｃ）と、最後にＨゲート（例えば、Ｈゲート６２０ｄ）があり、ここ端部点がマークされる。次のｑ３は、前述のアンカーポイントから開始して調査される。左に向かうと、他のキュービットへのさらなる接続のないＨゲート（例えば、Ｈゲート６２０ｅ）が見出され、端部点がマークされる。右に向かうと、Ｈゲート（例えば、Ｈゲート６２０ｆ）が直近に見出され、端部点がマークされる。
【００６６】
サブ回路が構築されると、次に、ネットリスト表現を調べ、それをプルーニングする（prune it）。この経路において、ｑ２およびｑ３上で作用している第四ＣＮＯＴゲートに遭遇し（例えば、ＣＮＯＴゲート６３０ｅ）、この制御はサブ回路の境界内にあるが、標的は境界外である。この場合、このプルーニング手続において説明した例外扱いが適用される。これは、当該｛ＮＯＴ、ＣＮＯＴ、ＲＺ｝領域中の最後のＣＮＯＴゲートは含まれるが、（図表６００中に点線の境界で示されるように）第四ＣＮＯＴゲートは除外されることを確実にする。しかして、この回路中に表されている最後のＲＺゲートは、ｑ２ライン上の回路の初端、最左端のＨの右に再配置することが可能で、後記でさらに詳しく説明するようにＲＺの併合に基づく位相多項式を可能にする。
【００６７】
有効な｛ＮＯＴ、ＣＮＯＴ、ＲＺ｝サブ回路が識別されたならば、該サブ回路の位相多項式を生成することができる。各ＲＺゲートに対し、その位相が適用される関連アフィン関数、および各ゲートに適用される回路の位置を算定することが可能である。次いで、記録されたアフィン関数のリストが分類される。最後に、全てのＲＺゲートの繰り返しを見出して併合し、併合されたＲＺを、所望の線形関数を計算するサブ回路中の最初の位置に配置することが可能である。
【００６８】
この手順は、Ｏ（ｇ）のサブ回路、およびそれらの各々を処理するコストが、複雑性Ｏ（ｇ  ｌｏｇ  ｇ）による分類作業によって占められ、サブルーティン４に対し、Ｏ（ｇ２ｌｏｇ  ｇ）の全体的複雑性を課していることを考慮している。しかしながら、実践上、これらのサブ回路は、通常、対象となるサブ回路が多いほど小さくなり、したがって、実際の複雑性はもっと低い。さらに、｛ＮＯＴ、ＣＮＯＴ、ＲＺ｝サブ回路を識別する際に、そのプロセスは、通常、以前に識別されたどの｛ＮＯＴ、ＣＮＯＴ、ＲＺ｝サブ回路にもまだ含まれてないＣＮＯＴゲートから開始され、したがって、サブ回路の数は、実践上はｇよりもずっと少なくできる。望ましい場合、サブ回路の最大サイズを制限することによって、全体的な複雑性をＯ（ｇ）に低下させることが可能である。
【００６９】
最後のステップとして、位相の全てのアフィン関数を線形関数に低減することが可能である。これは、以下のように、ＣＮＯＴおよびＲＺゲートを通り抜けるＮＯＴの伝搬を使って達成することができる。
・  ＮＯＴ（ａ）ＣＮＯＴ（ａ；ｂ）｜→ＣＮＯＴ（ａ；ｂ）ＮＯＴ（ａ）ＮＯＴ（ｂ）；
・  ＮＯＴ（ｂ）ＣＮＯＴ（ａ；ｂ）｜→ＣＮＯＴ（ａ；ｂ）ＮＯＴ（ｂ）；
・  ＮＯＴ（ａ）ＲＺ（ａ）｜→ＲＺ†（ａ）ＮＯＴ（ａ）
【００７０】
この手順の適用は、各アフィン関数
【００７１】
【数８】
2021503116.tif 000010
【００７２】
が、対応する線形関数
【００７３】
【数９】
2021503116.tif 000011
【００７４】
に変形されることを確実にし、これによりさらなる位相衝突が引き起こされる尤度を改善する。
【００７５】
サブルーティン５−浮動ＲＺゲート
サブルーティン４では、ＲＺゲートに関連するアフィン関数を追跡した。さらに一般的には、ＲＺゲートの存在の如何に関わらず、サブ回路中に生じた全てのアフィン関数、およびそれらそれぞれの位置が記録された。しかして、ＲＺゲートが回路中に既に出現している位置でなく、ＲＺゲートを配置することができる全ての可能な位置を識別することが可能である。この「浮動」ＲＺゲート配置の構図において、３つの最適化サブ−サブルーティンを用いることができる。２キュービットゲート相殺、ゲートカウント保存書換えルール、およびゲートカウント低減書換えルールである。
【００７６】
これらサブ−サブルーティンの一番目は、これではＲＺゲートが浮動であり、焦点が特定の識別されるサブ回路に置かれていることを除き、基本的にはサブルーティン４と同じである。このアプローチは、ＲＺゲートを、途上の全ての可能なＲＺゲートの位置を把握することによって、相殺を促進するように諸ＲＺゲートを配置することを可能にする。具体的に、ＲＺゲートを或る特定の位置に配置しないことによって２つのＣＮＯＴゲートの削除が可能なことになり、その位置は、ＲＺゲートに対する可能な位置のリストから単に除去され、それに応じてＣＮＯＴの削除が行われる。
【００７７】
次のゲートカウントを保存する書換えルール（例えば、図７の図表７００を参照）が、さらなる最適化を見出す試みとして適用される。例えば、図表７００は、ゲートカウント保存ルール７１０ａおよび７１０ｂを含む。これらの置き換えは、ゲートを削除しないが、他の箇所での最適化が可能になるように当該回路を修改する。これらの書換えルールは、外部のライブラリファイルによって提供され、サブ回路は、ＤＡＧ表現を用いて、それらに該ルールが適用できるように識別される。これらの置き換えは、それが、前述の浮動ＲＺゲートによる２キュービット相殺サブルーティンのもう一回のラウンドを通しての２キュービットゲートカウントの低減につながる場合にだけ適用される。なお、これらの書換えルールは、回路中の特定の位置での特定の浮動ＲＺゲートにだけ適用が可能である。このサブルーティンは、浮動ＲＺゲートを用いて、ゲートカウントの低減につながるＲＺゲート位置のこれらの組み合せを選択する。
【００７８】
最後のサブ−サブルーティンは、ゲートカウントを低減する書換えルールを適用する（サブルーティン５において用いられるゲートカウント低減書換えルールについて、例えば、図８の図表８００を参照のこと）。図表８００は、ゲートカウント低減書換えルール８１０ａ、８１０ｂ、８１０ｃ、８１０ｄ、および８１０ｅを含む。これらのルールも、外部のライブラリファイルを介して提供されてよい。これらのルールはそれら自体がゲートカウントを低減するので、この書換えは、一般に、いつでも適したパターンが見出されたときに行われる。この３ステップのサブルーティン（すなわち、サブルーティン５中の３つの最適化サブ−サブルーティン）の複雑性は、サブ回路の数がＯ（ｇ）であり、各サブ回路内で、２キュービット相殺（サブルーティン３）がＯ（ｇ２）の複雑性を有するので、上限がＯ（ｇ３）である。これら書換えルール（例えば、図７中のゲートカウント保存書き換えルール、図８中のゲートカウント低減書き換えルール）は複雑性Ｏ（ｇ）で適用することが可能である、と言うのは、サブルーティン１におけるように、回路中のゲート群を通る単一回のパスで十分だからである。再言するが、実践上、サブ回路の数とサブ回路のサイズとは、通常、逆関係にあり、このことは、観測される複雑性を約ｇの倍率で低下させる。この複雑性は、サブ回路の最大サイズを制限することによりＯ（ｇ２）に低下させることが可能である。実際上、この複雑性は、２キュービットゲートの相殺におけるサブ回路Ａの最大サイズを制限することによってＯ（ｇ  ｌｏｇ  ｇ）にさらに低下させることができる（分類作業もなお複雑性Ｏ（ｇ  ｌｏｇ  ｇ）を有することになろう）。
【００７９】
この最適化がどのように作用するかの一例を説明するために、図５の図表５００中の右手の回路を考えてみよう。ＲＺ（θ２）（例えば、ゲート５１０ａ）が、上段キュービットの回路の最終部で実行し、最初の２つのＣＮＯＴの相殺を可能にし、図９の図表９００中の右手側に示された最適化された回路に導くことができ、これは、３つのＲＺゲート９１０ａ、９１０ｂ、および９１０ｃと、単一のＣＮＯＴゲート９３０ａとを含むことによってさらになお単純化されていることを観察する。
【００８０】
汎用最適化アルゴリズム
本開示中に記載された最適化アルゴリズムまたは技法は、前述した種々のサブルーティンを注意深く選択された順序で単に適用する。軽度バージョン（または単に軽度）および重度バージョン（または単に重度）と言われる、オプティマイザまたは最適化アルゴリズムの２つのバージョンがある。一般に、重度バージョンは、より多くのサブルーティンを適用し、より長いランタイムという代償を払ってより良好な最適化結果を生成する。オプティマイザの軽度および重度バージョン両方において前処理ステップを用いることができる。
【００８１】
オプティマイザの軽度バージョンは、次のシーケンスまたは順序で最適化サブルーティンを適用する。
１、３、２、３、１、２、４、３、２
【００８２】
続いて、このシーケンスはさらなる最適化の達成がなくなるまで繰り返される。このシーケンスは、最初にアダマールゲートを削減しながら｛ＣＮＯＴ、ＲＺ｝ゲートを摘出するという原則に少なくとも部分的に基づき（サブルーティン１）、相殺ルーティンでより大きな低減を可能にし（サブルーティン３、２、３）、特に、単一キュービットゲートの低減を促進するため２つのＣＮＯＴゲートを解放する、またその逆を行う。最初の４つの最適化サブルーティンの後、置き換えルール（サブルーティン１）を適用することによって、さらなる低減を可能にすることができる。次いで、さらなる単一キュービット型の相殺および併合が探索される（サブルーティン２）。これは、さらなるＲＺカウントの最適化を探すための｛ＮＯＴ、ＣＮＯＴ、ＲＺ｝サブ回路領域のより迅速な識別を可能にし（サブルーティン４）、その後、本プロセスは、ゲートの残存する相殺をチェックする（サブルーティン３、２）。
【００８３】
オプティマイザの重度バージョンは、以下のシーケンスまたは順序で最適化サブルーティンを適用する。
１、３、２、３、１、２、５
【００８４】
同様に、このシーケンスもさらなる最適化の達成がなくなるまで繰り返される。オプティマイザの重度バージョンのこの最適化シーケンスの最初の６つのステップは、オプティマイザの軽度バージョンのものと同じである。違いは、オプティマイザの重度バージョンでは、用いられるアプローチが浮動ＲＺゲートを利用し（サブルーティン５）、さらなるゲート相殺を摘出するためのゲートカウント保存書換えルールおよび何らか残存する非効率性を除去するためのゲートカウント低減書換えルールの使用を含め、ＣＮＯＴゲートのさらなる低減を可能ならしめる、ＲＺゲートに対する位置の発見を可能にすることである。
【００８５】
上記で説明した諸順序またはシーケンスは、例示のために提示されたものであり、前述よりも少ないまたは多いサブルーティンが関与する他の順序またはシーケンスも同様に使用することが可能である。
【００８６】
なお、回路表現の変換によって被る計算オーバーヘッドは些少で済むことが多い。全ての変換は、回路のサイズに比例する時間で行うことができる（詳細については、例えば量子回路の表現と題されたセクションを参照）。諸表現は、必要に応じた程度に整合性を保てばよい。サブルーティン１〜サブルーティン３において、迅速に低減箇所を見出すために、ＤＡＧ表現を使って個別のゲートにアクセスすることができる。これは、最適化プロセスを続ける前にゲートカウントの低減を記録するため、ＤＡＧ表現だけを更新することを可能にする。サブルーティン４およびサブルーティン５において、それら両方の表現は、いつでも低減箇所が見出されたときに、ＤＡＧおよびネットリスト表現両方の整合性を維持しながら同時に臨機応変に更新することができる。これは、両方のルーティンが、位相多項式表現を使う低減に適ったサブ回路を識別するので有用である。この識別プロセスは最新のＤＡＧ表現を必要とし、位相多項式表現の生成には最新のネットリスト表現が必要である。なお、位相多項式表現は、識別されたサブ回路中の最適化を助力するためだけに用いられ、位相多項式表現をネットリストまたはＤＡＧのいずれにも戻して変換する必要はない。しかして、この位相多項式表現は対応するサブ回路最適化プロセスが完了したときに安全に消去されてよい。
【００８７】
特殊用途最適化
前述した汎用的オプティマイザ（例えば、汎用最適化アルゴリズム）に加え、特定の構造を備えた回路を改良するために２つの特化型最適化を用いることができる。
【００８８】
ＬＣＲオプティマイザ：
積公式シミュレーションアルゴリズムなどの一部の量子アルゴリズムは、一定のブロックの複数回の繰り返しを含む。かかる回路を最適化するためには、最初に、単一のブロックにオプティマイザを実行してその最適化バージョン、Ｏを得るのがベストであり得る。
複数のブロックに亘っての単純化を見出すために、回路Ｏ２を最適化することが可能で、その結果はＬＲと呼ぶことができ、このＬは、Ｏ２の最適化中のＯの最大プレフィックスである。次のステップは、Ｏ３の最適化である。最適化がブロック間の境界の近辺で行われるという条件の下で、Ｏ３の最適化バージョンからプレフィックスＬおよびサフィックスＲを除去することが可能で、残った回路をＣと呼ぶ。かかるＬ、ＣおよびＲが発見可能であるとすれば（実践上ではあり得る）、ＯｔをＬＣｔ−２Ｒに単純化することが可能である。
【００８９】
トフォリ分解：多くの量子アルゴリズムは、トフォリゲートを使って自然に説明される。本開示に記載されたオプティマイザまたは最適化アルゴリズムは、正および負、両方の制御でトフォリゲートを取り扱うことが可能である。目標は、ゲートのセット｛ＮＯＴ、ＣＮＯＴ、Ｈ、ＲＺ｝に関する回路を表現することなので、トフォリゲートは、これらの基本的なゲートに関連させて分解される。本明細書に記載の技法は、最適化の品質を向上させるためにこれを行う各種のやり方を利用する。
【００９０】
具体的に、トフォリゲートは、図１０の図表１０００中に示された特徴を用いる１および２キュービットゲートに関連させて拡大することが可能で、それらの回路分解において、トフォリゲートは（トフォリゲートは自己反転なので）ＴとＴ†とを交換することによって、所望のトフォリゲートを得ることも可能であることを念頭に置く。前述したように、図表１０００中の特徴は、トフォリゲート１０１０ａ、上部に否定制御を備えたトフォリゲート１０１０ｂ、および両方が否定制御であるトフォリゲート１０１０ｃを含む。オプティマイザは、当初、各トフォリ分解においてＴ／Ｔ†の極性（すなわち、どちらのゲートがダガーを含みどちらが含まないかの選択）を未定のまま残す。オプティマイザは、未定のＴおよびＴ†ゲートを、それらの相対的極性を保持しながら、所与の量子回路内で単にそれらの位置を移動することによって記号的に処理する。この最適化は、これら未定のＴおよびＴ†ゲートの移動によってもはやゲートカウントを低減できなくなった時に完了すると見なされる。最後に、最適化された回路中のＴのカウントを最小化することを目標に、各トフォリゲートの極性を（それらの間の固定された関係を条件として）選択することが可能である。この最小化は、最長マッチを行う方法（greedy way）で行われ、ほぼ最適化された回路中の関連するＴ／Ｔ†ゲートの出現の順序で、Ｔのカウントができるだけ多く低減されるように、各トフォリゲートに対する極性を選択する。
【００９１】
全体的には、この極性の選択プロセスはＯ（ｇ）の時間を要する。極性を選択した後、サブルーティン３およびサブルーティン２を実行することが可能である。というのは、特定の極性の選択が、該選択がなければ、所望の位置転換を阻止していた未定のゲートの存在に起因してできなかった、ＣＮＯＴゲートおよび単一キュービットゲートのさらなる相殺につながり得るからである。
【００９２】
最適化の結果
本明細書に記載のオプティマイザまたは最適化アルゴリズムの諸態様のインプリメンテーション例は、フォートランプログラミング言語を用いて作成され、３セットのベンチマーク回路を用いてテストされた。本開示中に示された全ての結果は、２．９ＧＨｚインテルコアｉ５プロセッサ、および１８６７ＭＨｚの８ＧＢのＤＤＤＲ４メモリを備えたマシンを使い、ＯＳ  Ｘ  ＥＩ  Ｃａｐｉｔａｎを実行して得られた。当然のことながら、これらの結果は、例示目的で相対的なパフォーマンスを示すために提示され、また、これらの結果は、異なるハードウェア構成を使って行われた場合には変わり得る。
【００９３】
テストの一部として、ショアの整数因数分解アルゴリズムのコンポーネントを含む様々な量子回路、具体的には量子フーリエ変換（ＱＦＴ：ｑｕａｎｔｕｍ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）および整数加算回路が検討された。また、ハミルトニアンシミュレーションへの積公式（ＰＦ：ｐｒｏｄｕｃｔ  ｆｏｒｍｕｌａ）アプローチも検討された。両方のケースにおいて、テストの焦点は、従来式の計算を凌駕する、諸アプリケーションにおいて有用な可能性のあるサイズの量子回路に置かれ、各種の型の加算回路および積公式による実験が実行された。最後に、（ガロア体乗算回路のファミリを含め）様々な演算回路、および多重制御トフォリゲートのインプリメンテーションから成るベンチマーク量子回路のセットも検討された。比較のため、最適化の前および後のこれらの回路を記載したデータファイルが利用可能である。
【００９４】
オプティマイザまたは最適化アルゴリズムの正確性は、最適化の前と後との様々なテスト回路の機能的等価性（すなわち、対応するユニタリ行列の同等性）を検証することによってチェックされた。かかるテストは、一般に少数のキュービットを用いる回路に対し実行可能である。これらのテストは、図１３の図表１３００中に示された表１および図１４の図表１４００中に示された表２中の全ての８キュービットのベンチマークに対して行われた。表１は、加算回路の軽度の最適化を、上段にＱＦＴ（またはＱＦＡ）に基づくインプレース加算回路に対する結果、および下段にクイッパーライブラリ加算回路に対する結果とともに含む。また、これらのテストは、それぞれ図１６Ａおよび１６Ｂの図表１６００ａおよび１６００ｂ中に示された表３Ａおよび表３Ｂ中の全ての１０キュービットのベンチマークに対しても行われた。表３Ａは、ＣＮＯＴゲートの低減による積公式アルゴリズムの最適化を示し、表３Ｂは、ＲＺゲートカウントの低減による積公式アルゴリズムの最適化を示す。ソフトウェアのランタイム範囲は、０．００４秒（第一オーダー、ｎ＝１０）〜０．１３７秒（第六オーダー、ｎ＝１００）である。クリフォードゲート低減は、（ｎにかかわらず、第一オーダー公式に対し）アダマールについては６２．５％、位相ゲートについては７５％から、（これもｎにかかわらず、第六オーダー公式に対し）アダマールについては７５％、位相ゲートについては８５％までの範囲である。記号「（×１０００）」は、第一オーダー公式に対するゲートカウントが、（丸め誤差なしの）千の単位であることを示す。記号「（Ｌ）」は、前述した最適化の標準的な軽度バージョンを示す。
【００９５】
さらに、図１７Ａ〜１７Ｃの図表１７００ａ〜１７００ｃ中に示された表４Ａ〜４Ｃは、以下のベンチマーク、Ｍｏｄ５４、ＶＢＥ―Ａｄｄｅｒ３、ＣＳＬＡ−ＭＵＸ３、ＲＣ−Ａｄｄｅｒ６、Ｍｏｄ−Ｒｅｄ２１、Ｍｏｄ−Ｍｕｌｔ５５、Ｔｏｆｆ−Ｂａｒｅｎｃｏ３．．５、Ｔｏｆｆ−ＮＣ３．．５、ＧＦ（２４）−Ｍｕｌｔ、およびＧＦ（２５）−Ｍｕｌｔと比較した、本オプティマイザの結果を表す。例えば、表４Ａ〜４Ｃは、Ｔ−ｐａｒとの比較（後記でさらに詳しく説明する）を含み、これらベンチマークのアルゴリズムの名称は、Ｔｏｆｆ−ＢａｒｅｎｃｏおよびＴｏｆｆ−ＮＣが乗算制御のトフォリゲートのインプリメンテーションを示すのに使われていることを除き、周知のものである。記号「（Ｌ）」は、本最適化の標準的な軽度バージョンを示し、一方、記号「（Ｈ）」は、本最適化の標準的な重度バージョンを示す。記号−｜｜−は、最適化の軽度バージョンに対し最適化の重度バージョンに改善がないことを示す。
【００９６】
ＱＦＴおよび加算回路
ＱＦＴは、量子計算における基本的サブルーティンであり、指数関数的高速化のため多くの量子アルゴリズムに出現する。正確なｎ−キュービットＱＦＴに対する標準的回路は、ＲＺゲートを用い、その一部はｎが指数関数的に小さい角度を有する。非常に小さな回転角度を有するゲートを省くことによって高精度の近似ＱＦＴが行えることがよく知られている。本開示のオプティマイザまたは最適化アルゴリズムの目的のためには、最大π／２１３までの角度の回転は省いてもよく、これは、対象以下のサイズの量子回路に対しては十分な精度の近似ＱＦＴを確実にする。これらの小さな回転は、それらの省略が結果中に報告される改良に寄与しないので、最適化の前に除去される。
【００９７】
図１１の図表１１００中に示されるチャートは、近似量子フーリエ変換（ＱＦＴ、挿入図）クイッパーライブラリ加算回路、およびフーリエベースの加算回路（ＱＦＡ）に対するゲートカウントを示す。白／黒の記号は、最適化の前／後のゲートカウントを表し、正方形／円形／三角形の記号は、それぞれ、クイッパーライブラリ加算回路／ＱＦＡ／ＱＦＴに対するゲートカウントを表す。５１２以上のキュービットを備えるＱＦＴに対して、３６％を超える節減レートが観察される。この最適化は、もっぱら、フォールトトレラントなインプリメンテーションにおける最も高費用のＲＺゲートの数の低減から来ている。
【００９８】
図１１の図表１１００中のチャートに示されるように、２つの型の整数加算回路：クイッパーライブラリ中にインプリメントされているようなインプレースモジュロ（in-place modulo）２ｑ加算回路とＱＦＴ（またはＱＦＡ）に基づくインプレース加算回路とが検討された。ＱＦＡ回路は、前述したように、π／２１３より小さい角度による回転が除去された近似ＱＦＴを使用する。加算回路は、整数因数分解に対するショアの量子アルゴリズム(Shor’s quantum algorithm)の基本的コンポーネントである。示された結果は、クイッパー加算回路、およびＬが４〜１１の範囲にある、２Ｌキュービットに作用する回路のＱＦＡに対する、最適化の前と後とのゲートカウントをレポートしている。例えば、１，０２４ビットの数を因数分解するためのショアの整数因数分解アルゴリズムでは、Ｌ＝１０の加算回路が使われる。関連するＲＳＡ−１０２４への課題はまだ解決されていない。
【００９９】
加算回路の軽度（バージョン）の最適化の結果が図１１および１３に示されている。クイッパーライブラリ加算回路に対しては、フルライトオプティマイザ（full Light optimizer）が使用された。ＱＦＡ最適化に対しては、最後の３つのサブルーティン４、３、２を省いたサブルーティンのシーケンス１、３、２、３、１、２による、変更されたライトオプティマイザ（modified Light optimizer）が代わりに使われた。これは、小さなインスタンス（ｎ≦２５６）でそれらのサブルーティンからさらなるゲート節減が見出されなかった際に行われた。
【０１００】
簡素化されたクイッパーライブラリ加算回路は、大幅な差でＱＦＡを凌駕し、これが実践上選好される可能性があることを暗示している。このクイッパーライブラリ加算回路に対し、最大５．２分の１までのＴゲートのカウントの低減が観察された。この低減は、回路構造のいかなる事前知識も用いることなく、もっぱら自動化手段によって（すなわち、最適化アルゴリズムによって）得られた。ショアの整数因数分解アルゴリズムはべき剰余のコストに左右され、これが回って主として整数の加算に依拠しているので、この最適化は、全体的因数分解アルゴリズムを実行するコストを５分の１より小さく低減する。
【０１０１】
また、重度オプティマイザも、ＱＦＴおよび加算回路に適用された。ＱＦＴおよびＱＦＡ回路に対しては重度の設定はゲートカウントを改善しなかった。クイッパー加算回路に対する重度最適化の結果が、図１４の図表１４００中の表２に示されている。軽度最適化に対するたった１．７分の１に比較して、２．７分の１のＣＮＯＴカウントにおける低減が見られる。図１２の図表１２００中のチャートは、最適化の前（例えば、プレ最適化）、軽度最適化の後、および重度最適化の後のクイッパーライブラリ加算回路の合計ＣＮＯＴカウントを表し、これら２つの型の最適化によるＣＮＯＴカウントの低減を示している。白色／ドットパターン／黒色の正方形の記号は、それぞれ、プレ最適化／ポスト軽度最適化／ポスト重度最適化でのゲートカウントを表す。
【０１０２】
量子シミュレーション
ハミルトニアン力学（Hamiltonian dynamics）をシミュレートするための第一明示的多項式時間量子アルゴリズムが導入され、そのアプローチが後により高次の積公式（ＰＦ）に一般化され、改善された漸近法計算量をもたらした。本開示は、オーダー１、２、４および６（１より高いオーダーに対して、標準的スズキ積公式の構成は偶数である）のＰＦアルゴリズムに対する最適化の前と後とのゲートカウントをレポートしている。具体的に、これらのアルゴリズムは、周期的境界条件を有する磁界中の一次元のハイゼンベルグモデルに対しインプリメントされ、システムをそのサイズに比例する時間の間展開し、アルゴリズムのパラメータは、積公式近似の誤差に対する既知の限界を用いて、ハミルトニアンシミュレーション誤差が最大でも１０−３となるように選択された。
【０１０３】
積公式アルゴリズムの軽度最適化の結果が（例えば、図１６Ａおよび１６Ｂの）表３Ａおよび３Ｂにレポートされ、図１５の図表１５００中のチャートに図示されており、この図の白色／黒色の記号は、それぞれ、最適化の前／後のゲートカウントを表し、正方形／円形の記号は、第二／第四オーダーに対するゲートカウントを表す。これらの積公式アルゴリズムに対し、重度最適化は、経度最適化を上回るさらなる改善を示さなかった。第二、第四、および第六オーダーアルゴリズムでは、ＣＮＯＴカウントで約３３．３％の低減、ＲＺカウントで約２８．５％の低減が認められ、おおむね、物理レベルおよびロジカルレベルのインプリメンテーションに関連する低減に対応していた。第一オーダー公式アルゴリズムは、ＣＮＯＴまたはＲＺゲート最適化を示さなかった。全ての積公式アルゴリズムにおいて、位相およびアダマールゲートはおおむね３分の１〜６分の１と、大きく低減された。
【０１０４】
他のアプローチとの比較
量子回路最適化は、周知の分野である。しかしながら、回路の最適化についてのこれまでの研究は、本開示で検討しているような、従来式のコンピュータを凌駕するような型の大規模量子回路を検討してこなかった。例えば、Ａｍｙ、Ｍａｓｌｏｖ、およびＭｏｓｃａによる論文（「Ｐｏｌｙｎｏｍｉａｌ−ｔｉｍｅ  Ｔ−ｄｅｐｔｈ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｏｆ  Ｃｌｉｆｆｏｒｄ  ＋Ｔ  ｃｉｒｃｕｉｔｓ  ｖｉａ  ｍａｔｒｏｉｄ  ｐａｒｔｉｔｉｏｎｉｎｇ」、ＩＥＥＥ  Ｔｒａｎｓ．Ｃｏｍｐｕｔ．Ａｉｄｅｄ  Ｄｅｓ．Ｉｎｔｅｇｒ．Ｃｉｒｃｕｉｔｓ  Ｓｙｓｔ．，ｖｏｌ．３３，１４７６−１４８９頁（２０１４））では、ｇのゲート回路の最適化の複雑性はＯ（ｇ３）であり、大規模回路の最適化を非現実的だとしている。キュービットの数がｎ＝１０〜３５、およびゲートカウントが６０〜３６８に対し、実行時間が０．０７〜１．８８３秒の範囲との例があるが、本明細書に記載の最適化アルゴリズムは、表１（図１３）に示すように、上限ｎ＝２５６までで、約２３，０００個のゲートのクイッパー加算回路を最適化する際に、同じ位の時間で実行した。また、最適ゲートライブラリを使ったピープホール（peep hole）最適化に基づく、量子回路最適化の他の例もあるが、これは高コストで、場合によっては、２０キュービット、１，０００ゲートの回路に対し１００秒より長くかかる。
【０１０５】
本開示で提案する最適化アルゴリズムを用いて産生された結果を、従前にレポートされている結果と比べるため、ＴおよびＣＮＯＴカウントの重み付き組み合せを検討した。Ｔゲートは、状態蒸留（state distillation）を使ってフォールトトレラントにインプリメントするには相当に高価とはなり得るが、ＣＮＯＴゲートのコストを無視するのは、著しい過小見積もりにつながる可能性がある。或る解析は、フォールトトレラントなＴゲートをインプリメントするのに、局部的にフォールトトレラントなＣＮＯＴゲートよりも４６〜３５０倍高価となり得ることを示唆しており、そのコスト比率が１：５０であることに関し、少なくとも１つの推奨をしている。実際のオーバーヘッドは、フォールトトレランスのスキーム、誤差モデル、計算のサイズ、アーキテクチャ上の制限、Ｔゲートのインプリメンテーションを最適化できる程度、およびＴ状態産生が、そのコストが（部分的に）割引できるようにオフラインで行えるかどうかを含め、多くの細目により決まる。おおまかな比較のための１つのアプローチは、＃Ｔ＋０．０１・ｌｏｇ  ｎ・＃ＣＮＯＴ、で定義される総計コスト指標を目途に作業をすることであり、この式の＃Ｔは使われるＴゲートの数であり、０．０１はＴゲートに対するＣＮＯＴゲートの相対効率の割合であり、ｎは計算中のキュービットの数であり、＃ＣＮＯＴは使われるＣＮＯＴゲートの数である。この式で、ｌｏｇ  ｎの因数は、現実的アーキテクチャ中のキュービットの間のゲートを実行するための一般的なコストを過小評価している（実際のコストは、三次元では３√ｎに、または二次元では√ｎにより近くなり得る）。本明細書に記載のアプローチは当初の回路の構造を保持しているので、この指標は、ロングレンジゲートを導入している可能性のある（後記で述べるＴ−ｐａｒアプローチなどの）他のアプローチに対し控え目の比較を提示しているはずである。したがって、この総計コストに対する有利性を示すことで、本開示に記載の本提案の最適化技法の利益をおおまかに実証することができる。
【０１０６】
本開示に記載の技法を用いた結果を、マトロイド分割（matroid partitioning）に基づく技法を用いてＴのカウントおよびＴの深さを低減することを狙った、Ａｍｙ、Ｍａｓｌｏｖ、およびＭｏｓｃａによりレポートされた結果と、直接に比較することが可能である。そのアプローチは、本開示ではＴ−ｐａｒと称しているものである。本開示に記載の技法の使用による結果が、上記の論文に現れたベンチマークのセットを最適化するのに使われ、表４Ａ〜４Ｃ（図１７Ａ〜１７Ｃ）に示されるように、その結果がＴ−ｐａｒの最適化と比較された。
【０１０７】
これらのベンチマーク回路は３つのカテゴリに分類される。第一セット（図１７Ａ中の表４Ａ）は、算術演算の選抜から成る。これらの回路に対し、同時にずっと良いＣＮＯＴのカウントを得ながら、ベンチマークに比べてより良いまたはこれに合致するＴのカウントが得られた。なお、回路ＣＳＬＡ−ＭＵＸ３は、Ｔ−ｐａｒがそれを不正確に最適化すると考えられているので、比較から除かれた。本明細書に記載の最適化技法の利点を例証するため、前述の総計コスト指標を用いて、本提案の技法はＲＣ−Ａｄｄｅｒ６回路のコストを７１．９１から４９．７０に低減した。コスト面での改善は、しかして、ほとんどが低減されたＴゲートのカウントに起因しており約３１％であった。
【０１０８】
ベンチマークの第二セットは、乗算制御のトフォリゲートから成る（図１７Ｂ中の表４Ｂ）。本提案のオプティマイザは、Ｔ−ｐａｒオプティマイザによって得られたＴカウントと同等であり、ＣＮＯＴカウントを大きく低減したが、本提案のオプティマイザも従前のアプローチも最もよく知られたインプリメンテーションを見出すことはできなかった。この最もよく知られたインプリメンテーション中では著しく異なった回路構造が用いられていることを考えれば、これは驚くべきことではない。
【０１０９】
ベンチマークの第三セットはガロア体乗算回路を包含する（図１７Ｃ中の表４Ｃ）。一例では、重度オプティマイザは、そのランタイムが軽度オプティマイザのランタイムの２００倍を超えた時点で終了された。かかる時間切れは、ガロア体乗算回路の４つの最大インスタンスに重度オプティマイザを適用したときに生じた。テストされたケースでは、重度オプティマイザに軽度オプティマイザを上回る利点はなく、したがって、該４つの最大インスタンスに重度オプティマイザは適用されなかった（対応するエントリは表４Ｃ中の左の空白部である）。Ｔカウントは、これもＴ−ｐａｒオプティマイザと同等であったが、ＣＮＯＴカウントはずっと低下し、明らかに好ましい回路をもたらした。例えば、最適化済みＧＦ（２６４）乗算回路は、１８０，８９２個のＣＮＯＴゲートの使用を示していたが、本開示の技法から得られた最適化インプリメンテーションは、ただ２４，７６５だけのＣＮＯＴゲートを使用し、しかして総計コストは、Ｔカウントの変化がなかったにも関わらず、３０，１６８．５９から１８，３２６．４２に、すなわち約３９％低減された。このコスト低減は、ほとんど、または全面的に、ＣＮＯＴゲートから来たものである。この比較は、Ｔカウントと現実の予測総計コスト見積もりとの間の理論的差異が実践上でも示されることを実証した。軽度オプティマイザの効率性は、未解決で残っている楕円曲線離散対数問題のインスタンスに対応して、ＧＦ（２１３１）およびＧＦ（２１６３）乗算量子回路の最適化を可能にした。レポートされたＴ−ｐａｒ最適化のランタイムを所与とすれば、このサイズのインスタンスは、Ｔ−ｐａｒオプティマイザには手に負えないように見える。
【０１１０】
Ｔカウント最適化に対する新規のツールが（ＨｅｙｆｒｏｎおよびＣａｍｐｂｅｌｌによって）提案されている。この新規ツールで使われるアプローチは、本開示で考慮されている全面的なユニタリ回路と対照的に、測定と従来式のフィードバックとに依拠している。さらに、この新規ツールは、ＣＮＯＴのカウントを設けておらず、ＴおよびＣＮＯＴゲート両方に対するカウントを行うツールとの直接的比較は不可能である。再度、このツールは、Ｔカウントの最適化だけを目指しており、本開示の技法は、この単純なコスト指標からは外れている。例えば、この新規のＴカウント最適化ツールに基づき最適化されたＱＦＴ４回路は、４４のキュービットを使う４キュービットＱＦＴ変換をインプリメントし、ＣＮＯＴゲートのオーバーヘッドが大きいに違いないことを示唆している。さらなる重要な違いは、スケーラビリティである。本明細書に記載の技法が、大規模な回路を最適化するのに適し、適用される一方、該新規のＴカウント最適化ツールは、非常に小さい回路だけ取扱い、例えば、このツールで編成された最大のＧＦ乗算回路は７ビットケースであるが、本明細書に記載のものは、１３１および１６３ビットによるＣＦ乗算に取り組むことが可能であり、未解決のＣｅｒｔｉｃｏｍチャレンジに対応している。別の差異は、本明細書で提案する技法は、入力回路で既に利用可能なキュービット間の相互作用だけを用いることである。これは、同じアーキテクチャ中の最適化済み回路を入力回路として実行することを可能にし、限定されたアーキテクチャよりも有用な量子コンピュータであり得る。対照的に、この新規Ｔカウント最適化ツールは、新しい相互作用を導入している。最後に、本明細書で提案する技法は、任意のＲＺゲートを介して回路を取り扱えるが、該新規のＴカウント最適化ツールは、クリフォード＋Ｔ回路に限定されている。
【０１１１】
全体的パフォーマンス
本開示に記載の最適化アルゴリズムにより生成された数値的な最適化結果の諸例が、表１、表２、表３Ａおよび３Ｂ、ならびに表４Ａ〜４Ｃに提示されている。これらの表は、従来式のコンピュータの到達域を超える実際上の量子計算に関連するベンチマークを包含している。表１および表２中には、ショアの整数因数分解アルゴリズムの、従来式では手に負えないインスタンス中で使われている１，０２４および２，０４８キュービットＱＦＴおよび整数加算回路がある。表３Ａおよび３Ｂ中には、量子力学の直接的な従来式シミュレーションでは、現在実行不可能な、ｎ≧５０の全インスタンスが含まれる。表４Ａ〜４Ｃ中には、サイズ１３１および１６３のバイナリフィールドに対するガロア体乗算回路があり、これらは、未解決のＣｅｒｔｉｃｏｍのＥＣＣチャレンジ問題への量子アタックに関連している。これは、本提案のオプティマイザまたは最適化アルゴリズムが、実務に適する十分に大きな量子回路を取り扱う能力を有することを例証している。
【０１１２】
本提案のオプティマイザまたは最適化アルゴリズムは、回路の最適化に対する従前の研究よりももっと広範に適用することが可能である。これは、トフォリゲート（これは否定制御を有し得る）などの複合ゲートを容易に受け入れる。また、これは、ハミルトニアンシミュレーションおよび因数分解を含め、必然的にＲＺゲートを使用するアルゴリズムに対し有用な機能である、連続するパラメータを備えたゲートを取り扱う。トラップイオンおよび超電導回路の両方を含め、多くの量子情報処理技術は本来的にかかるゲートをサポートしており、しかして、本明細書に記載の提案のアプローチは物理レベルの回路を最適化するため有用であり得る。
【０１１３】
フォールトトレラントな量子計算は、一般に、クリフォード＋Ｔなどのディスクリートのゲートのセットに依拠しており、最適なＲＺゲートのクリフォード＋Ｔインプリメンテーションが既に知られている。そうであっても、フォールトトレラントな設定において、連続するパラメータによって回路を最適化する能力は、同様に貴重である。その理由は、ディスクリートなフォールトトレラントなセットに編成される前の、連続的にパラメータ化された自然なゲートのセットに対する最適化は、より小さな最終回路をもたらす可能性が高いからである。
【０１１４】
最後に、従前のアプローチと違って、本開示で提案するオプティマイザは当初の量子回路の構造を保持するように構成される。具体的に、最適化された量子回路によって使われる２キュービット相互作用のセットは、当初の量子回路中で使われていたもののサブセットである。これは、前処理ステップも、最適化アルゴリズムも、いかなる新規の２キュービットゲートも導入しないために行える。（例えば、使われる相互作用のセットを劇的に増加させるＴ−ｐａｒとは全く対照的に）、使われる相互作用の型を制御下に置くことによって、本提案の最適化アルゴリズムからもたらされる最適化インプリメンテーションは、限定された連結性を備えるアーキテクチャにより良好に適応する。具体的に、限定された連結性を備えるハードウェア上の当初の量子回路のレイアウトを所与として、本プロパティは、最適化された量子回路に対しても同じレイアウトを用いることを可能にする。さらに、他の最適化ツール（例えば、前述した新規Ｔカウント最適化ツール）と違って、本開示で提案するオプティマイザは、使われるＣＮＯＴゲートの数を増加しない。これは、ロングレンジＣＮＯＴゲートがＴゲートよりも高価なことさえあり得、Ｔの最適化だけに焦点を合わせることで、そのコストがＣＮＯＴゲートによって左右される回路をもたらす可能性があるので、このことは、適切な実務上の考慮であり得る。
【０１１５】
ここで図１８の図表１８００を参照すると、或るインプリメンテーションによる、例示のコンピュータデバイス１８１０が示されており、コンピュータデバイス１８１０は、様々な最適化サブルーティンとオプティマイザの軽度および重度バージョンを含め、前述した様々な最適化アルゴリズムを実行するために使用が可能である。コンピュータデバイス１８１０は、例えば、単一コンピューティングデバイス、複数コンピューティングデバイス、または分散型コンピューティングシステムを表していてよい。コンピュータデバイス１８１０は、本明細書で説明したように、連続するパラメータを備える大規模量子回路の自動最適化を含め、量子回路の自動最適化を実行または遂行するように構成されてよい。さらに、コンピュータデバイス１８１０は、量子回路についての情報（例えばネットリスト）を受信し、量子回路（または、量子回路の機能）をインプリメントするために必要な量子ゲートの数が、該量子回路（または、量子回路の機能）をインプリメントするために当初に（例えば、最適化の前に）必要としていた量子ゲートの数よりも少なくなるように最適化した後、新しい情報（例えば新規ネットリスト）を生成するように構成することができる。
【０１１６】
一例において、コンピュータデバイス１８１０は、１つ以上の最適化機能または本明細書に記載のオペレーションに関連する処理機能を実行するためのプロセッサ１８４８を含むことが可能である。プロセッサ１８４８は、プロセッサまたはマルチコアプロセッサの単一のまたは複数のセットを含むことができる。さらに、プロセッサ１８４８は、集積処理システムおよび／または分散型処理システムとしてインプリメントされてもよい。或るインプリメンテーションにおいて、プロセッサ１８４８は、例えば、中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィックス処理ユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、テンサー処理ユニット（ＴＰＵ：ｔｅｎｓｏｒ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）またはこれらの種類の１つ以上のユニットの組み合せを含んでよく、それらを本明細書に記載の最適化機能またはオペレーションの１つ以上を行うように構成することができる。
【０１１７】
一例において、コンピュータデバイス１８１０は、本明細書に記載の諸機能を実行するため、プロセッサ１８４８によって実行可能な命令を格納するためのメモリ１８５０を含むことができる。或るインプリメンテーションにおいて、メモリ１８５０は、例えば、本明細書に記載の最適化機能またはオペレーションの１つ以上を実行するためのコードまたは命令を格納するためのコンピュータ可読ストレージ媒体に対応していてよい。
【０１１８】
さらに、コンピュータデバイス１８１０は、本明細書に記載したようなハードウェア、ソフトウェア、およびサービスを用いる１つ以上のパーティとの通信の確立および維持を提供する通信コンポーネント１８５２含むことができる。通信コンポーネント１８５２は、コンピュータデバイス１８１０上の諸コンポーネントの間、および、コンピュータデバイス１８１０と、通信ネットワークに亘って配置された諸デバイスおよび／またはコンピュータデバイス１８１０にシリアルにまたはローカルに連結された諸デバイスとの間で通信を搬送することが可能である。一例において、通信コンポーネント１８５２は、コンピュータデバイス１８１０と、量子情報処理（ＱＩＰ）システムとの間で、最適化されたネットリストまたは類似情報がコンピュータデバイス１８１０によって生成された後それがＱＩＰシステムに供給されるように、情報の通信を提供することができる。別の例において、通信コンポーネント１８５２は１つ以上のバスを含むことができ、送信機と受信機とにそれぞれ関連付けられ、外部のデバイスをインターフェース接続するよう作動可能な、送信チェーンコンポーネントおよび受信チェーンコンポーネントをさらに含むことが可能である。
【０１１９】
さらに、コンピュータデバイス１８１０は、データストア１８５４を含むことができ、これは、本明細書に記載のインプリメンテーションに関連して用いられる情報、データベース、およびプログラムの大容量ストレージを提供する、ハードウェアおよび／またはソフトウェアの任意の適切な組み合せであってよい。例えば、データストア１８５４は、オペレーティングシステム１８４０および／または最適化アプリケーション１８３０のためのデータリポジトリであってよい。一インプリメンテーションにおいて、データストア１８５４は、メモリ１８５０を含むことができる。
【０１２０】
データストア１８５４および／またはメモリ１８５０は、最適化前回路、最適化後回路に関連する情報、最適化の過程で生成された中間情報、サブルーティンおよびオプティマイザの様々なバージョンを含む最適化アルゴリズム、本明細書に記載の最適化オペレーションに関連する任意のルールを格納するために使われてよい。
【０１２１】
また、コンピュータデバイス１８１０は、コンピュータデバイス１８１０のユーザからの入力を受信するよう動作可能で、且つユーザへのプレゼンテーションのための出力を生成するようにさらに動作可能なユーザインターフェースコンポーネント１８５６を含むことができる。ユーザインターフェースコンポーネント１８５６は、以下に限らないが、キーボード、テンキー、マウス、タッチセンシティブディスプレイ、ディジタイザ、ナビゲーションキー、ファンクションキー、マイクロフォン、声認識コンポーネント、ユーザから入力を受信する能力のある任意の他のメカニズム、またはこれらの任意の組み合せを含め、１つ以上の入力デバイスを含んでよい。さらに、ユーザインターフェースコンポーネント１８５６は、以下に限らないが、ディスプレイ、スピーカ、触覚フィードバックメカニズム、プリンタ、ユーザに出力を提示する能力のある任意の他のメカニズム、またはこれらの任意の組み合せを含め、１つ以上の出力デバイスを含むことができる。
【０１２２】
或るインプリメンテーションにおいて、ユーザインターフェースコンポーネント１８５６は、オペレーティングシステム１８４０および／または最適化アプリケーション１８３０のオペレーションに対応して、メッセージを送信および／または受信することが可能である。さらに、プロセッサ１８４８（ｐｒｏｃｅｓｓｏｒ  １８４０）は、オペレーティングシステム１８４０および／または選択アプリケーション１８３０を実行することができ、メモリ１８５０またはデータストア１８５４は、それらを格納することができる。さらに、最適化アプリケーション１８３０は、本明細書に記載の最適化機能またはオペレーションの１つ以上を遂行するため、格納されたコードまたは命令に基づいて実行することが可能である。例えば、最適化アプリケーション１８３０は、オプティマイザの軽度バージョンまたはオプティマイザの重度バージョンの間で選択することができ、これにより、サブルーティンの適切なシーケンス（およびサブルーティンの各々内の任意のオペレーション）を実行することができる。
【０１２３】
図１９は、本開示の態様による量子回路の自動最適化を行うためのプロセスまたは方法１９００を示すフローチャートである。方法１９００の諸態様は、図１８に示されたコンピュータデバイス１８１０中のハードウェアおよび／またはソフトウェアによって実行することができる。
【０１２４】
ブロック１９０５で、方法１９００は、量子回路を形成する量子ゲートの第一リストについての情報を包含するネットリストを受信するステップを含む。量子ゲートのリストは、量子回路が同じ量子ゲートの重複を有し得るので、諸要素の繰り返しを許容してよい。
【０１２５】
ブロック１９１０で、方法１９００は、量子ゲートの該第一リストとの機能等価性を有する量子ゲートの第二リストを生成するため、量子ゲートの第一リストについての情報に位相多項式低減オペレーションを実行するステップであって、量子ゲートの第二リスト中の量子ゲートの数は量子ゲートの第一リスト中の量子ゲートの数より少ない、該実行するステップを含む。
【０１２６】
ブロック１９１５で、方法１９００は、量子ゲートの第二リストについての情報を包含する新規のネットリストを生成するステップを含む。
【０１２７】
ブロック１９２０で、方法１９００は、量子ゲートの第二リストを用いて量子回路の機能をインプリメントするため、該新規のネットリストを提供するステップを含む。
【０１２８】
方法１９００の別の態様において、位相多項式低減オペレーションを行う前に、前処理オペレーションを実行することができる。この前処理オペレーションは、ＮＯＴゲート、ＣＮＯＴゲート、トフォリゲート、アダマールゲート、およびＲＺゲートに適用することが可能である。
【０１２９】
方法１９００の別の態様では、位相多項式低減オペレーションを行う前に、アダマールゲートの低減オペレーションを実行することができる。
【０１３０】
方法１９００の別の態様において、位相多項式低減オペレーションを行う前に、単一キュービットゲートの相殺オペレーションを実行することができる。
【０１３１】
方法１９００の別の態様では、位相多項式低減オペレーションを行う前に、２キュービットゲートの相殺オペレーションを実行することができる。
【０１３２】
方法１９００の別の態様において、位相多項式低減オペレーションを行うステップは、書換えルールのセットを実行するステップを含んでよい。書換えルールのセットは、ゲートカウント保持の書換えルールまたはゲートカウント低減の書換えルールのうちの１つまたはその両方を含んでよい。
【０１３３】
方法１９００の別の態様では、位相多項式低減オペレーションとともに、１つ以上のゲート相殺オペレーションまたはゲート低減オペレーションを、反復的に行ってよい。
【０１３４】
方法１９００の別の態様において、位相多項式低減オペレーションを含む最適化オペレーションの固定シーケンスを反復して行うことができ、この位相多項式低減オペレーションは、この固定シーケンス中の最初の最適化オペレーションではなく、この固定シーケンスの中で一回だけ行われる。
【０１３５】
図２０は、本開示の態様による、ＱＩＰシステム２００５の一例を示す図表２０００を示す。ＱＩＰシステム２００５は、また、量子コンピューティングシステム、量子コンピューティングネットワーク、コンピューティングデバイスなどと呼ばれることもある。或る態様において、ＱＩＰシステム２００５は、量子コンピューティングオペレーションまたはアルゴリズムをインプリメントまたは実行するために用いることができ、該システムに対する、インプリメントされている量子ゲートの適合性は、例えば量子ビットとして用いられるトラップイオンに印加される調整された安定なレーザ出力を有する能力により決まる。ＱＩＰシステム２００５は、図１８中のコンピュータデバイス１８１０、および／または図１８中のコンピュータデバイス１８１０中の最適化アプリケーション１８３０（例えば、本提案のオプティマイザまたは最適化アルゴリズム）を実行することによって生成された最適化結果を受信したまたはインプリメントした量子コンピュータ、の量子コンピュータインプリメンテーションに対応してよい。
【０１３６】
このＱＩＰシステム２００５は、量子コンピュータのトラップ原子イオンバージョンを表し、光コントローラ２０２０によってイオン化された原子種（例えば、トラップイオン）を捕捉するイオントラップ２０７０を有するチャンバ２０５０に、原子種を供給する供給源２０６０を含むことができる。光コントローラ２０２０中の光源２０３０（Ｏｐｔｉｃａｌ  ｓｏｕｒｃｅｓ  ２３０）は、原子種のイオン化と、原子種の制御（例えば位相制御）と、光コントローラ２０２０中のイメージングシステム２０４０中で動作しているイメージ処理アルゴリズムによってモニタし追跡が可能な原子イオンの蛍光発光と、のために用いることが可能な１つ以上のレーザ源を含んでよい。
【０１３７】
イメージングシステム２０４０は、原子イオンがイオントラップ２０７０に供給されている間に（カウントするために）、およびそれらがイオントラップ２０７０に供給された後に（原子イオンの状態をモニタするために）、それら原子イオンをモニタするための高解像度イメージャ（例えばＣＣＤカメラ）を含むことができる。或る態様において、イメージングシステム２０４０は、光コントローラ２０２０と分離してインプリメンテーションが可能であるが、但し、イメージ処理アルゴリズムを使って原子イオンを検出し、識別し、および標識するための蛍光発光の使用は、光コントローラ２０２０と調整する必要があり得る。
【０１３８】
また、ＱＩＰシステム２００５は、前述の最適化技法を使用する量子アルゴリズム（例えば、ＱＦＴ、量子シミュレーション）を行うため、ＱＩＰシステム２００５の他の部分（図示せず）とともに動作することが可能なアルゴリズムコンポーネント２０１０も含んでよい。アルゴリズムコンポーネント２０１０は、量子回路またはその等価物のインプリメンテーションを可能にするために、ＱＩＰシステム２００５の様々なコンポーネントに（例えば、光コントローラ２０２０に）命令を与えることができる。すなわち、アルゴリズムコンポーネント２０１０は、各種のコンピューティングプリミチブを、例えば、イオントラップ２０７０中のトラップイオンをキュービットとして使って、物理的表現にマッピングすることを可能にできる。
【０１３９】
本開示を、図示のインプリメンテーションによって提示してきたが、当業者は、これらの実施形態に対するバリエーションがあり得、それらのバリエーションは、本開示の範囲内にあることになろうことを容易に認識していよう。したがって、当業者は、添付の特許請求の範囲から逸脱することなく多くの修改を作成することができよう。
【図１】
2021503116.tif 000012
【図２】
2021503116.tif 000013
【図３】
2021503116.tif 000014
【図４】
2021503116.tif 000015
【図５】
2021503116.tif 000016
【図６】
2021503116.tif 000017
【図７】
2021503116.tif 000018
【図８】
2021503116.tif 000019
【図９】
2021503116.tif 000020
【図１０】
2021503116.tif 000021
【図１１】
2021503116.tif 000022
【図１２】
2021503116.tif 000023
【図１３】
2021503116.tif 000024
【図１４】
2021503116.tif 000025
【図１５】
2021503116.tif 000026
【図１６Ａ】
2021503116.tif 000027
【図１６Ｂ】
2021503116.tif 000028
【図１７Ａ】
2021503116.tif 000029
【図１７Ｂ】
2021503116.tif 000030
【図１７Ｃ】
2021503116.tif 000031
【図１８】
2021503116.tif 000032
【図１９】
2021503116.tif 000033
【図２０】
2021503116.tif 000034
【国際調査報告】
2021503116.tif 000035
2021503116.tif 000036
2021503116.tif 000037
2021503116.tif 000038