JP2022510394A - 量子回路において2キュービットゲートを低減するための方法および装置 - Google Patents

量子回路において2キュービットゲートを低減するための方法および装置 Download PDF

Info

Publication number
JP2022510394A
JP2022510394A JP2021531661A JP2021531661A JP2022510394A JP 2022510394 A JP2022510394 A JP 2022510394A JP 2021531661 A JP2021531661 A JP 2021531661A JP 2021531661 A JP2021531661 A JP 2021531661A JP 2022510394 A JP2022510394 A JP 2022510394A
Authority
JP
Japan
Prior art keywords
gates
gate
quantum
qubit
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021531661A
Other languages
English (en)
Inventor
ユンソン ナム
ドミトリ マスロフ
ジュンサン キム
ケン ブラウン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Duke University
Original Assignee
Duke University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Duke University filed Critical Duke University
Publication of JP2022510394A publication Critical patent/JP2022510394A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules

Abstract

本開示は、量子回路における2キュービットゲートを低減するための方法、装置、コンピュータ可読媒体、および/または手段を説明し、この方法は、量子回路を形成する第一の複数の2キュービット量子ゲートに関連する情報を含むネットリストを受信するステップと、第一の複数の2キュービット量子ゲートと機能的に同等である第二の複数の2キュービット量子ゲートを生成するために、第一の複数の2キュービット量子ゲートに関連する情報に対して制御されたゲート相殺オペレーションを実行するステップと、第二の複数の2キュービット量子ゲートに関する情報を含む新規ネットリストを生成するステップと、第二の複数の2キュービット量子ゲートに基づいて、量子回路の機能をインプリメントするために新規ネットリストを提供するステップと、を含み得る。【選択図】図24

Description

(関連出願の相互参照)
本特許出願は、2019年11月8日に出願された「量子回路において2キュービットゲートを低減するための方法および装置」と題する米国非仮出願第16/678,835号と、2018年12月7日に出願された「量子回路において2キュービットゲートを低減するための方法および装置」と題する米国仮特許出願第62/776,634号との優先権を主張し、両出願の内容は、参照によりその全体が本明細書に組み込まれる。
本開示の態様は、一般に、回路の最適化に関連し、より具体的には、連続パラメータを用いた大規模量子回路の自動化された最適化に関連する。
大規模量子回路は、異なる方法で実施することができる。トラップされた原子イオンの使用は、普遍的で完全にプログラム可能な量子コンピューティングマシンを提供してきた量子情報処理(QIP)アプローチの1つである。トラップされた原子イオンは、量子情報ネットワーク(QIN)の主要なプラットフォームでもある。そのようなシステムまたはネットワークの全体的な通信を改善することができるトラップされた原子イオンに基づくシステムまたはネットワークが望ましい。
したがって、トラップされた原子イオンに基づくQIPシステムおよび超電導回路に基づくQIPシステムを含む様々なタイプのQIPシステムにおける大規模量子回路のより良い最適化(例えば、より少ないゲート数)を可能にする効率的な技術を開発することが望ましい。
以下では、そのような態様の基本的な理解を提供するために、1つ以上の態様の簡略化された概要を提示する。この概要は、考えられる全ての態様の広範な概要ではなく、全ての態様の主要または重要な要素を特定することを意図するものでも、一部または全ての態様の範囲を説明することを意図するものでもない。その目的は、後で提示されるより詳細な説明の前置きとして、1つ以上の態様のいくつかの概念を簡略化された形式で提示することである。
本明細書に記載されるのは、連続パラメータを用いた大規模量子回路の自動最適化のための手法である。例えば、本開示の態様は、古典的コンピュータよりも優れた量子計算で期待されるサイズおよびタイプの量子回路を最適化するための自動化された方法のインプリメンテーションを説明する。ここで説明する手法は、連続ゲートパラメータを処理する方法を示しており、大規模量子回路を最適化できる高速アルゴリズムのコレクションに適用できる。これらの手法は、基礎となる量子アルゴリズムの基本的なレイアウトを維持するために最小限の構造変更を行いながら、以前のアプローチよりも大幅に短い時間でより良い最適化を提供できる。これらの手法によって提供される結果は、既存の量子コンピューティングハードウェアで実行できる計算と、量子コンピューティングハードウェアでのインプリメンテーションがより困難であるが、古典的コンピュータで達成できるものよりも優れていると期待される、より高度な計算との間のギャップを埋めるのに役立つ。
一例では、量子回路を最適化するための方法が説明され、この方法は、量子回路を形成する第一の複数の2キュービット量子ゲートについての情報を含むネットリストを受信するステップと、量子ゲートの第一のリストとの機能等価性を有する量子ゲートの第二のリストを生成するために、量子ゲートの第一のリストについての情報に位相多項式低減オペレーションを実行するステップであって、量子ゲートの第二のリスト中の量子ゲートの数などの計算コストは、量子ゲートの第一のリスト中の量子ゲートの数などの計算コストよりも小さい、ステップと、量子ゲートの第二のリストについての情報を含む新規ネットリストを生成するステップと、量子ゲートの第二のリストを使用して量子回路の機能をインプリメントするための新規ネットリストを提供するステップと、を含む。
いくつかのインプリメンテーションでは、量子回路内の2キュービットゲートを低減するための方法は、量子回路を形成する第一の複数の2キュービット量子ゲートに関連する情報を含むネットリストを受信するステップと、第一の複数の2キュービット量子ゲートと機能的に同等である第二の複数の2キュービット量子ゲートを生成するために、第一の複数の2キュービット量子ゲートに関連する情報に対して制御されたゲート相殺オペレーションを実行するステップであって、第一の複数の2キュービット量子ゲートにおける2キュービット量子ゲートの第一の数は、第二の複数の2キュービット量子ゲートにおける2キュービット量子ゲートの第二の数よりも大きい、ステップと、第二の複数の2キュービット量子ゲートに関する情報を含む新規ネットリストを生成するステップと、第二の複数の2キュービット量子ゲートに基づいて、量子回路の機能をインプリメントするために新規ネットリストを提供するステップと、を含み得る。
添付の図面は、一部のインプリメンテーションのみを示しており、したがって、範囲を制限するものと見なされるべきではない。
本開示の態様による量子回路の一例を示す図表である。 本開示の態様による位相多項式表現のための量子回路の一例を示す図表である。 本開示の態様によるアダマール(Hadamard)ゲート低減のためのルールの例を示す図表である。 本開示の態様による位置転換ルールの例を示す図表である。 本開示の態様による、位相多項式を用いる回転併合による最適化サブルーチンの一例を示す図表である。 本開示の態様による位相多項式表現に適うサブ回路を示す図表である。 本開示の態様によるゲートカウント保持の書換えルールの例を示す図表である。 本開示の態様による、ゲートカウント低減の書換えルールの例を示す図表である。 本開示の態様による図5中の回路のさらなる単純化の一例を示す図表である。 本開示の態様によるトフォリ(Toffoli)ゲートのインプリメンテーションの例を示す図表である。 本開示の態様による、近似量子フーリエ変換(QFT:quantum Fourier transform)、クイッパー(Quipper)ライブラリ加算回路(adder)、およびフーリエベース加算回路(QFA:Fourier-based adder)に対する合計ゲートカウントの例を示すチャートである。 本開示の態様による、クイッパーライブラリ加算回路に対するCNOTゲートのいくつかの例を示すチャートである。 本開示の態様による諸加算回路の軽度最適化に対する結果を示す表である。 本開示の態様による、クイッパーライブラリ加算回路に対する重度最適化の結果を示す表である。 本開示の態様による積公式アルゴリズムに対する合計ゲートカウントの例を示すチャートである。 本開示の態様による積公式アルゴリズムの最適化に対する結果を示す表である。 本開示の態様による積公式アルゴリズムの最適化に対する結果を示す表である。 本開示の態様による、各種のアルゴリズムに対する軽度および重度のT-par最適化の比較を示す表である。 本開示の態様による、各種のアルゴリズムに対する軽度および重度のT-par最適化の比較を示す表である。 本開示の態様による、各種のアルゴリズムに対する軽度および重度のT-par最適化の比較を示す表である。 本開示の態様による、連続するパラメータを備える大規模量子回路の自動最適化を実行するためのデバイスの一例を示すブロック図である。 本開示の態様による、連続するパラメータを備える大規模量子回路の自動最適化の方法の一例を示すフローチャートである。 本開示の態様による、最適化された大規模量子回路をインプリメントするためのトラップイオンベースの量子情報処理(QIP)システムの一例を示すブロック図である。 本開示の態様による2キュービット量子ゲート低減のためのルールの例を示す図である。 本開示の態様による制御されたゲート相殺のためのルールの例を示す図である。 本開示の態様による制御されたゲート相殺のためのルールの例を示す図である。 本開示の態様による等価量子回路の図を示す。 本開示の態様による、量子回路内の2キュービット量子ゲート低減のための方法の一例を示すフローチャートである。
添付の図面に関連して以下に記載される詳細な説明は、様々な構成の説明として意図されており、本明細書に記載の概念が実施され得る唯一の構成を表すことを意図するものではない。詳細な説明には、様々な概念を完全に理解するための具体的な詳細が含まれている。しかしながら、これらの概念は、これらの特定の詳細がなくても実施され得ることは当業者には明らかであろう。場合によっては、そのような概念を曖昧にすることを避けるために、周知のコンポーネントがブロック図の形式で示される。
本開示は、古典的コンピュータよりも優れた量子計算で期待されるサイズおよびタイプの量子回路を最適化するための自動化された方法のインプリメンテーションを説明する。本開示は、連続ゲートパラメータを処理する方法を示しており、大規模量子回路を最適化できる高速アルゴリズムのコレクションを報告する。検討した一連のベンチマークについて、説明される手法は、ゲート数を大幅に削減できる。特に、本開示の手法は、基礎となる量子アルゴリズムの基本的なレイアウトを維持するために最小限の構造変更を行いながら、以前のアプローチよりも大幅に短い時間でより良い最適化を提供する。これらの手法によって提供される結果は、既存の量子コンピューティングハードウェアで実行できる計算と、量子コンピューティングハードウェアでのインプリメンテーションがより困難であるが、古典的コンピュータで達成できるものよりも優れていると期待される、より高度な計算との間のギャップを埋めるのに役立つ。
(序章)
量子コンピュータまたは量子情報処理(QIP)システムは、特定の問題を解決するにあたって従来式のコンピュータをはるかに凌駕する潜在能力を有する。おそらく、これらのもっと知られた応用は整数の因数分解作業であって、既知の最速の従来式アルゴリズムは超多項式であり、ショア(Shor)のアルゴリズムは多項式時間でこの問題を解き、広く使われているRSA暗号システムへの攻撃法を提供する。
ショアのアルゴリズムが発見される前でさえ、量子力学をシミュレートするために量子コンピュータが提案されていた。ハミルトニアン(Hamiltonian)力学をシミュレートすることによって、量子コンピュータは、物性物理学および高エネルギ物理学、量子化学、および材料科学を探求ことができる。量子シミュレーションの有用なインスタンスは、因数分解問題の従来の難題インスタンスよりも、より小規模な量子コンピュータへのアクセス可能性が高い。
これらのおよび他の潜在的応用は、スケーラブル量子コンピュータの構築に向けての大きな努力をモチベートする助力となってきた。2つの量子コンピューティング技術、超電導回路とトラップイオンとは、現在は程々のサイズではあるが、完全にプログラム可能なユニバーサルなデバイスを可能にするのに十分なほどに成熟してきた。いくつかのグループは、産業界および政府の相当な投資に後援されて、これらのプラットフォームをより大規模なデバイスに積極的に発展させている。こうして、数十、あるいはさらには数百キュービットが関わる量子計算がそう遠くない将来に実行される可能性が高い。
実験的な量子情報処理は、まだ困難な技術課題に留まっており、しばらくの期間は、量子計算のために利用可能なリソースは高価で非常に限定されることになろう。利用可能なハードウェアを最大限に生かすために、できるだけ効率の良い(例えば、最小数のゲートでインプリメントされる)量子アルゴリズムのインプリメンテーションを開発することが必須である。
量子アルゴリズムは、通常、量子回路に関係づけて表され、キュービットに作用する基本量子ロジックゲートのシーケンスとして計算を表現する。所与のアルゴリズムを、基本的オペレーションの利用可能なセットとともにインプリメントする多くの仕方があり、最少のリソースを使用するインプリメンテーションを見出すために有用である。抽象的な意味で、効率的なアルゴリズムを開発し、実践的な効率に目を向けて、そのアルゴリズムを実行することが重要であるが、大規模量子回路は、自動最適化を可能にする技法から利益を得るのに十分な複雑性を有することが多い。
本開示では、マニュアルでのゲートレベルの最適化がもはや実際的には行えないスケールで量子回路のパフォーマンスをできるだけ改良することを目指して、それら量子回路のサイズを低減するためのソフトウェアツール(例えば、量子回路オプティマイザ)としてインプリメントできる様々な技法が説明される。任意の量子回路の全体的最適化はQMA困難なので、本開示で説明するアプローチは、ゲートカウントを低減するための自動化方式の注意深く選択された経験則のセットを適用することであり、多くの場合相当な節減をもたらす。
本明細書で記述する最適化技法は、いくつかの型の量子回路に適用が可能である。ベンチマーク回路は、量子フーリエ変換、整数加算回路、ガロア体乗数など、因数分解および離散対数を計算するための量子アルゴリズムのコンポーネントを含む。さらに検討されたのは、ハミルトニアンシミュレーションへ積公式アプローチのための回路である。これらのケースの各々において、焦点は、従来式の計算を凌駕するアプリケーションにおいて有用な可能性の高い回路のサイズに当てられた。本明細書に記載の諸技法は、実践者が、所与のアプリケーションにおいて、どのアプリケーションのインプリメンテーションが最も効率的かを理解するのに役立つことができる。
量子回路の最適化に関する既存の研究はあるが、本明細書で検討しているような大規模回路を目標とした自動最適化技法に焦点を当てた研究は限られている。さらに、後記でさらに詳しく説明するように、これまでに報告されたランタイムからの推定は、既存の量子回路オプティマイザがかかる大規模回路に対しうまく機能する可能性が低いことを示唆している。本開示で提案する技法を用いて最適化された回路と、他のアプローチとの直接的な比較は、本提案の技法が、一般に、より短時間でより小さな回路を見出すことを示している。さらに、本開示で提案する技法は、連続するパラメータを備えた量子回路の自動最適化のために使用される。
(全体的考察)
本開示では、大規模量子回路、すなわち、従来式のコンピュータの力の及ばない量子計算において出現する量子回路を効率的に最適化する課題が検討される。本開示は、ソフトウェアソリューション(例えば、大規模量子回路の最適化に対するオフラインソリューション)としてインプリメンテーションおよび実行が可能な軽度および重度最適化アルゴリズム(例えば、オプティマイザの軽度バージョンおよび重度バージョン)に関する2つの最適化アプローチを説明する。これらのアルゴリズムは、基本的最適化の選択されたシーケンスに基づくが、それでもこれらは、ゲートカウントのかなりの低減を成就し、T-par最適化(後記でさらに詳しく説明する)など、より数学的に洗練されたアプローチを上回る改良を行う。当アプローチの簡潔性は、特にそのオプティマイザの軽度バージョンを使うことによって、非常に高速なランタイムに反映される。
本オプティマイザの重度バージョンは、より大きな回路の最適化が可能であることを実証している。出力をさらに改良するために、可能ならば一部のアダマールゲートを含めて、CNOTおよびRゲートのステージを構成するためのより拡張された(しかして計算的によりきつい)アルゴリズムをインプリメントすることによって、Rのカウントを低減するためルーチンを修改することが可能である。別の考えは、本明細書に記載のアルゴリズム中にテンプレートベースのピープホール最適化を組み込むことである。他の考えは、サブ回路再書込みルール(後記でさらに詳しく説明する)のセットを拡張し、他のベンチマーク回路へのアプローチのそのパフォーマンスを検討することである。最後に、各種リソース(例えば、各種のゲート、補助キュービット)の相対コストを検討することにより、これらリソースの有利なトレードオフへの最適化につなげることができよう。
(方法)
本開示で提案する様々な最適化アルゴリズムおよびそれらのインプリメンテーションに関する詳細を以降で説明する。本開示全体を通して、回路に出現するゲートの数を示すために用語gが用いられる。以下の背景節では、本開示全体を通して使われる表記の定義が提示される。量子回路の表現と題された節では、本明細書に記載の技法と関連させて用いることの可能な量子回路の3つの別個の表現を説明する。前処理と題された節では、本明細書に記載の様々な最適化アルゴリズムと併せ使用が可能な前処理ステップを説明する。最適化サブルーチンと題された節では、本開示で提案されるアプローチの基本構築ブロックを形成するいくつかのサブルーチンを説明する。さらに、汎用最適化アルゴリズムと題された節では、最適化アルゴリズムの様々なバージョンを形成するために、これらのサブルーチンをどのように組み合せるかを説明する。最後に、特殊用途最適化と題された節では、特定種類の回路を取り扱うために使用が可能な、2つの特殊用途最適化技法を提示する。
(背景)
量子回路は、キュービットの集合に作用する一連の量子ゲートである。量子回路は、便宜上、水平のワイヤがキュービットの時間発展を示し、時間は左から右に伝搬し、ボックス(またはワイヤに繋がれた他の記号)が量子ゲートを表す図によって表現される。例えば、図1の図表100は簡単な3キュービットの量子回路を表している。図100中の回路は2つの単一キュービットのz回転ゲート(110a、110b)、R(θ)およびR(θ’)、2つの単一キュービットのアダマールゲート(120a、120b)H、および4つの2キュービットの制御NOTゲート(130a、130b、130c、および130d)CNOTを含む。
量子回路に対する基本ゲートの簡単なセットは、図表100中の回路に示されるように、2キュービットCNOT、ならびに単一キュービットNOTゲート、単一キュービットのアダマールゲート、および単一キュービットz回転ゲートから成ると考えてよい。これらの種類のゲートに対するユニタリ行列は、次の形の表現式を取る。
Figure 2022510394000002
上式のθ∈0,2π]は回転角度である。位相ゲートPおよびTゲートは、それぞれ、R(π/2)とR(π/4)として、R(θ)から上限検出不可能な大域的位相から得ることができる。回転角度が関係しない場合、z回転は、総称的にRとして表すことができる。
本明細書で説明する技法は、H、R、NOT、およびCNOTゲートのセットによる量子回路を主として提示するが、トフォリゲートを含むことが可能な入力回路も検討することができる。トフォリゲート(例えば、図10の図表1000中のゲート1010a)は、計算ベースの状態で、
Figure 2022510394000003
をマッピングすることによって表される。また、トフォリゲートは、否定制御を有することも可能である。例えば、最上部制御が否定であるトフォリゲート(例えば、図10の図表1000中のゲート1010b)は、
Figure 2022510394000004
として作用し、否定制御の両トフォリゲート(例えば、図10の図表1000中のゲート1010c)は、
Figure 2022510394000005
として作用する。
所与の量子回路を実行するコストは、それをインプリメントするために使われる物理システムにより決まる。例えば、物理システムが、超電導回路に基づいているか、またはトラップ原子イオンに基づいているかによって異なったコスト考慮がされることになろう。また、このコストは、物理レベル(未保護状態)インプリメンテーションとロジカルレベル(フォールトトレラント状態)のインプリメンテーションとの間でも大きく変わり得る。物理レベルでは、2キュービットのゲートは、通常、単一キュービットのゲートよりもインプリメンテーションの費用が高い。本明細書で説明する技法は、CNOTゲートカウントを検討し、最適化アルゴリズム中のCNOTゲートの数を最適化することによってこれに対応する。
ロジカルレベルのフォールトトレラントな回路に対し、いわゆるクリフォード(Clifford)演算(アダマール、位相、およびCNOTゲートによって生成される)は、多くの場合、比較的インプリメンテーションが容易であり、非クリフォード演算は相当なオーバーヘッドを要する可能性がある。こうして、本最適化アルゴリズムにおいては、Rゲートの数も検討され、それらのカウントも最適化するよう試みられる。フォールトトレラントなインプリメンテーションにおいて、Rゲートは、通常、クリフォードおよびTゲートから成るディスクリートゲートのセットで近似される。かかる近似を生成するため最適のアルゴリズムが知られている。一般的なRゲートを近似するために必要なクリフォード+Tゲートの数は、回転の具体的角度よりも、むしろ主として望まれる精度の如何により、したがって、そのRゲートをクリフォード+Tのフォールトトレラントな回路で近似する前に回路を最適化するのが望ましい。
CNOTおよびRのカウントを最小化することによって、物理およびロジカルレベル両方のインプリメンテーションを目指した最適化を行うことが可能である。これら2つの目標の間でのトレードオフを予期してよく、かかるトレードオフが行われた諸インスタンスがある。但し、本明細書に記載の技法では、RおよびCNOT両方のカウントだけを目指した最適化が検討される。
(量子回路の表現)
量子回路の以下の3つの表現式は、本明細書で説明する最適化技法または最適化アルゴリズムに関連付けて使用することが可能である。
第一に、回路は、逐次に適用されるゲートのリスト(ネットリスト)として格納することができる。場合によっては、サブルーチン(例えば、回路サブルーチン)に関連させて、回路を特定するのが便利であり、これはブロックとして表すことが可能である。各ブロックは、任意の回数反復することが可能で、回路中に存在するキュービットの任意のサブセットにも適用できる。ブロックを用いる表現は、多くの量子回路が相当な数の繰り返しを示すので、特に簡潔にすることができる。ブロックは、ゲートおよびキュービットのアドレスのリストとして特定される。
ネットリスト表現は、いくつかのベンチマーク回路を特定するために用いられた量子プログラミング言語である、クイッパー(Quipper)によって生成された」フォーマットを使って入力、出力することができる。このフォーマットは、ブロックを取り扱う機能を含む。同じ機能を有する他の量子プログラミング言語および/またはフォーマットを使うことも可能である。
第二に、有向非巡回グラフ(DAG:directed acyclic graph)表現を用いることができる。DAGの角頂は、回路のゲートであり、エッジはそれらの入力/出力関係を符号化する。DAG表現は、ゲートの間の隣接性へのアクセスを容易にする利点がある。
第三に、{NOT、CNOT、T}回路の位相多項式表現の一般化も用いることができる。ネットリストおよびDAG表現と違って、この最後の表現は、NOT、CNOT、およびRゲートだけで構成される回路に適用される。かかる回路は、線形ブール変換および対角相変換の編成として簡潔に表現することができる。例えば、Cが、CNOTゲートおよび、ゲートR(θ)、R(θ)、…、R(θ)だけから成る回路であるとする。このとき、nキュービットベースの状態|x,x,…,x〉でのCのアクションは、次の形の式:
Figure 2022510394000006
を有する。上式のh:{0,1}→{0,1}は線形可逆関数であり、
Figure 2022510394000007
は、アフィンブール関数f:{0,1}→{0,1}と係数低減モジュロ2πとの線形組み合せである。項p(x,x,…,x)は、回路Cに関連する位相多項式と言われる。例えば、図2の図表200中に示された、4つの単一キュービットz回転ゲート(210a、210b、210c、および210d)と、3つの2キュービットCNOTゲート(230a、230b、および230c)とを有する回路は、以下のマッピング表現:
Figure 2022510394000008
で表すことができ、ここで、
Figure 2022510394000009
である。いくつかのインスタンスでは、位相多項式表現は、{CNOT、T}回路に対してだけ考慮され、こうして、式(3)中の全てのθは、π/4の整数倍数であり、関数fは線形である。
上記の3つの回路表現の任意の2つの間で、時間的に線形に回路中のゲートの数で変換することが可能である。ネットリストが与えられると、対応するゲート毎のDAGを作成することが可能である。逆に、標準的トポロジカル分類によってDAGをネットリストに変換することも可能である。ネットリストと、{NOT、CNOT、R}回路の位相多項式表現との間の変換は、例えば、例として、深さ最適の量子回路の高速合成に使われる中間突合せ型アルゴリズムに関連して記述される直接的な一般化を用いることによって可能となる。
(前処理)
主たる最適化手順(例えば、最適化アルゴリズム)を実行する前に、当該回路を、さらなる最適化をやり易くするために前処理することができる。本オプティマイザは、NOT、CNOT、およびトフォリゲートに加え、HおよびR(θ)ゲートを扱うことができるので、この前処理は、NOT、CNOT、トフォリ、H、および/またはR(θ)ゲートから成る入力回路に適用することが可能である。いくつかの例として、後記でより詳しく説明するクイッパー加算回路およびT-par回路のベンチマークがある。例えば、NOTゲートは、それらを、トフォリゲート制御と、トフォリゲートおよびCNOTゲートの標的とを通り抜けて交換することによって、できるだけ右方に押しやることができる。トフォリゲート制御を通り抜けてNOTゲートを押しやる場合、その制御は、否定となる(または、それが当初に否定であった場合は、その否定が除去される)。この手順が隣接するNOTゲートの対に及ぶ場合、NOTゲートを回路から除去することができる。かかる相殺が見出せない場合、その制御否定の変更は、逆戻りさせることが可能で、当該NOTゲートは、その当初の位置に戻すことができる。さらに、NOTゲートとHゲートとの間のこの位置転換の関係は、Hが後続するNOTは、HにZゲートが後続することであり、Zゲートは、R(θ=π)である。また、R(θ)が後続するNOTは、NOTが後続するR(-θ)であるようなものである。したがって、NOT、CNOT、トフォリ、H、およびRゲートから成るゲートの標準的セットに対し、CNOTおよびRゲートを通り抜けてのNOTの伝搬を用いることによって位相の全てのアフィン関数を線形関数に低減することに関連して後記で説明する詳細を加えて、前処理ステップの一部として、NOTゲートは、所与の回路の開始部または終端部に移動することが可能である。
このNOTゲートの伝搬は、本提案のオプティマイザまたは最適化アルゴリズムの2つの側面を利用する。第一に、否定制御を有している可能性のあるトフォリゲートを受入れ、後記でさらに詳しく説明するように、T/T極性の選択の自由度を利用することによって、クリフォード+T回路中への該ゲートの分解を最適化することが可能である。第二に、NOTゲートの相殺は位相多項式表現を(位相多項式表現(式3)中の関数fの一部を、元のアフィンの代わりに線形にすることによって)簡素化するので、かかる相殺は、後記で説明するサブルーチン4および5が(これらのサブルーチンが位相多項式表現中に一致する項を見出すことに依拠しているので)最適化を見出すことの可能性をより高くする。
この前処理ステップの複雑性は、このステップが回路を通る単一回の通過を行うだけなので、O(g)である。
(最適化サブルーチン)
本開示の最適化アルゴリズムは、以下でさらに詳細に説明する様々なサブルーチンに依拠している。各々のアイテムに対し、回路中のゲートの数gの関数として最悪の場合の時間複雑性が報告されている(簡潔化のため、キュービットの数および他のパラメータへの依拠は無視されている)。但し、実践上でのソフトウェアのランタイムは、後記でさらに説明するように、これらサブルーチンを注意深く順序付け制限することによって、最適化することが可能である。
(サブルーチン1:アダマールゲートの低減)
アダマールゲートは、位相多項式最適化(後記サブルーチン4および5)に関与せず、また、ゲート交換を妨げる傾向がある。しかして、図3の図表300中に描かれた回路アイデンティティまたはルールが、アダマールゲートのカウントを低減するために用いられる。このアイデンティティまたはルールは、図表300の下部にルール310aおよび310bと、図表300の上部にルール320a、320b、および320cを含む。ルール310aおよび310bは、たとえ中間のCNOTが無作為に多くのCNOTゲートを備える回路に置き換えられても、それらの全てが当初のCNOTゲートの標的を共有しているならば、適用が可能である。
これらのルールの各々の適用は、上限4つまでHのカウントを低減する。所与のアダマールゲートに対し、DAG表現を使って、それがこれらの回路アイデンティティの1つに当てはまるかどうかを一定の時間ごとにチェックすることが可能である。しかして、回路中の全てのアダマールゲートを通って単一回通過することによって、このサブルーチンを複雑度O(g)でインプリメントすることが可能である。
(サブルーチン2:単一キュービットゲートの相殺)
一般に、量子回路のDAG表現を用いて、ゲートとその逆ゲートが隣接しているかどうかが直接に判断される。そうである場合、ゲートカウントを低減するために両方のゲートを除去することが可能である。さらに一般的には、ゲートUと可換であるサブ回路Aによって分離されている2つの単一キュービットゲートUとUとを相殺することが可能である。一般に、ゲートUが回路Aと可換であるかどうかの判断は、計算量が膨大となる可能性がある。その代わりに、十分な(だが必須ではない)転換に対する条件を提供する特定のルールのセットを適用することが可能である。このアプローチは迅速であり、量子回路を単純化するため利用可能な多くの位置転換を見出すように見える。
具体的に、回路中の各ゲートUに対し、オプティマイザまたは最適化アルゴリズムは、Uの何らかのインスタンスとの可能な相殺を探索する。これを行うために、このアプローチは、図4の図表400中パターンの1つによって実証されるように、Uが、引き続くゲートのセットを通り抜けて可換かどうかを繰り返しチェックすることになる。図表400は、Rゲートを右方に位置転換するための、上側のルール410a、410b、および410cと、CNOTゲートを右方に位置転換するためのルール420a、420b、および420cなどの位置転換ルールを含む。何らかの段階で、許容された通信パターンによって、Uを右方に移動することができない場合、Uと合致するUとの相殺はできず、当初の構成が復元される。それ以外の場合は、UとUの何らかのインスタンスとの相殺は成功する。前述した位置転換スキームは、右方への特定方向だけに適用される必要はなく、左方の特定方向にも適用されてよい。
g個のゲートUの各々に対し、本サブルーチンは、それがO(g)を通して後続の位置と可換であるかどうかをチェックする。しかして、全体的なゲート相殺ルールの複雑性はO(g)となる。この複雑性は、固定数の後続のゲートを通しての位置転換だけを検討することによって、gに対し線形にできようが、実践上はその必要がないことが判明している。
本サブルーチンの些少なバリエーションを使って、相反ゲートを相殺するのでなく、回転ゲートを併合することが可能である。具体的に、2つの回転R(θ)およびR(θ))を単一の回転R(θ+θ)に組み合せ、1つのRZゲートを削除することができる。
(サブルーチン3:2キュービットゲートの相殺)
このサブルーチンは、Uが2キュービットゲートであることを除き、サブルーチン2と類似であり、検討対象の回路では、これらのゲートは一般CNOTである。同様に、本サブルーチンの複雑性はO(g)であるが、サブ回路Aに対し最大限のサイズを取らせることによって、O(g)に低減することが可能である。
(サブルーチン4:位相多項式を用いる回転併合)
このケースでは、NOT、CNOT、およびRゲートから成るサブ回路を検討する。その位相多項式の2つの別個の項が、何らかのi≠jに対し、次式:
Figure 2022510394000010
を満たす場合、対応する回転R(θ)とR(θ)とを併合することが可能である。例えば、図2の図表200中に示された回路において、第一および第四の回転の両方は、回路の位相多項式表現によって明らかなように、値yを携持するキュービットに適用される。しかして、図2の図表200中の回路は、図5の図表500中に示される変換を経て、その中でこれら2つの回転は組み合される。図表500中の右側図に変換された回路は、Rゲート510a、510b、および510cを含み、Rゲート510cは、組み合せされた2つの回転と、CNOTゲート530a、530b、および530cとを有する。
言い換えれば、回路のこの位相多項式表現は、2つの回転、この場合R(θ)とR(θ)が、たとえ、これらがこの回路の異なる部分に出現していても、入力の同じアフィン関数に適用される場合を示している。次に、これらの回転は単一の回転に組み合せることができ、回路を改善する。この特定の例において、前述の位置転換技法を用いて、単純化を代替的に達成することができたが、但し、これは一般的には適用できない。関連するアフィン関数が出現する回路中のいかなるポイントにも組み合せ回転を配置するフレキシビリティがある。具体的には、組み合せ回転は、最初の(最左方の)かかる回転の場所に配置される。
サブルーチン4を適用するためには、サブ回路が{NOT、CNOT、R}ゲートだけから成ることを識別する必要がある。このサブ回路は、所定のCNOTゲートから開始して、一回に1キュービットで構築される。このゲートの最初のキュービットに対し、DAG表現を用いて、このキュービットに作用する全ての先行するおよび後続するNOT、CNOT、およびRゲートを通してスキャンが行われ、それらがサブ回路に加えられる。回路の開始部または終了部で、アダマールゲートに遭遇した場合、その端部点はマークされ、(各キュービットが1つの開始端部点および1つの終了端部点を有するように)その方向への探索は停止される。このキュービットと、まだ遭遇していない何らかのキュービットとの間の各CNOTゲートに対し、そのゲートが新しく遭遇したキュービットに作用するアンカーポイントがマークされる。このプロセスは、最初のCNOTゲートによって作用された第二のキュービットに対して遂行され、あらゆるアンカーポイントから開始され、新規のキュービットとの遭遇がなくなるまで、プロセスが繰り返される。
もたらされたサブ回路は、NOT、CNOT、およびRゲートだけから成るが、これは多項式位相表現を有さないことがあり、具体的には、サブ回路から出て、再び入る、ワイヤ上の中間アダマールゲートがこれを防ぐことができる。位相多項式形式を適用するために、以下のプルーニング手続を使って、これが生じないようにすることが必要となる。所定の最初のCNOTゲートから開始して、ネットリスト中のその前後両方のゲートが、端部点に遭遇するまで連続的に検討される。なお、このプロセスで到達したあらゆるNOTおよびRゲートは、位相多項式が適用されるのを防ぐことがなく、含めることが可能なので、CNOTゲートだけを検討する必要がある。遭遇したCNOTゲートの制御および標的キュービットの両方が端部境界内にあれば、この手続を継続してよい。制御キュービットが端部境界の外側にあるが、標的キュービットは内側にある場合、検査対象のCNOTゲートが境界の外側になり、当該サブ回路から、該ゲートとその標的キュービットに作用している一切の後続ゲートとが除外されるように、その標的キュービットの端部点が移動される。また一方、制御が境界の内側にあり、標的が外側にある場合、例外処理が行われ、(CNOTゲートが当該サブ回路に含まれてはいないが)端部点は移動されない。この例外処理は、図6の図表600中に示されるように、位相多項式表現に適ったより大きな{NOT、CNOT、R}のサブ回路をもたらす。
図表600中の回路に特定された例において、上段の(q)および中段の(q)キュービットに作用している第一のCNOTゲート(例えば、CNOTゲート630a)から探索を開始することが可能である。qから左に進むと、Hゲート(例えば、620a)が見出され、ここに端部点がマークされる。qから右に進むと、2つのCNOTゲート(例えば、CNOTゲート630b、630c)が見出され、1つのRゲート(例えば、Rゲート610a)が見出され、次いで、Hゲート(例えば、Hゲート620b)が見出され、ここに端部点がマークされる。遭遇したどのCNOTゲートも、qまたはqを残りのキュービットqに連結していない。同じ手順が、当初のCNOTゲート(例えば、CNOTゲート630a)からq上で繰り返される。左側にRゲートが(例えば、Rゲート610b)、次いでHゲート(例えば、Hゲート620c)が見出され、ここに端部点がマークされる。右に進むと、qおよびqに作用するCNOTゲート(例えば、CNOTゲート630d)が見出される。このCNOTゲートは、追加の接続部を示しており、したがって、アンカーポイントは、このCNOTゲートのq(標的)側上のqにマークされる。qワイヤ上のさらに右方に、いずれも追加の接続部を示していない3つのCNOTゲート(例えば、CNOTゲート630b、630e、および630c)と、Rゲート(例えば、Rゲート610c)と、最後にHゲート(例えば、Hゲート620d)があり、ここで、端部点がマークされる。次のqは、前述のアンカーポイントから開始して調査される。左に向かうと、他のキュービットへのさらなる接続のないHゲート(例えば、Hゲート620e)が見出され、端部点がマークされる。右に向かうと、Hゲート(例えば、Hゲート620f)が直近に見出され、端部点がマークされる。
サブ回路が構築されると、次に、ネットリスト表現を調べ、それをプルーニングする(prune it)。この経路において、qおよびq上で作用している第四のCNOTゲートに遭遇し(例えば、CNOTゲート630e)、この制御はサブ回路の境界内にあるが、標的は境界外である。この場合、このプルーニング手続において説明した例外扱いが適用される。これは、当該{NOT、CNOT、R}領域中の最後のCNOTゲートは含まれるが、(図表600中に点線の境界で示されるように)第四のCNOTゲートは除外されることを確実にする。しかして、この回路中に表されている最後のRゲートは、qライン上の回路の初端、最左端のHの右に再配置することが可能で、後記でさらに詳しく説明するように、Rの併合に基づく位相多項式を可能にする。
有効な{NOT、CNOT、R}サブ回路が識別されたならば、該サブ回路の位相多項式を生成することができる。各Rゲートに対し、その位相が適用される関連アフィン関数、および各ゲートに適用される回路の位置を決定することが可能である。次いで、記録されたアフィン関数のリストが分類される。最後に、全てのRゲートの繰り返しを見出して併合し、併合されたRを、所望の線形関数を計算するサブ回路中の最初の位置に配置することが可能である。
この手順は、O(g)のサブ回路を考慮しており、それらの各々を処理するコストが、複雑性O(g log g)による分類作業によって占められ、サブルーチン4に対し、O(g2log g)の全体的複雑性を課している。しかしながら、実践上、これらのサブ回路は、通常、対象となるサブ回路が多いほど小さくなり、したがって、実際の複雑性はもっと低い。さらに、{NOT、CNOT、R}サブ回路を識別する際に、そのプロセスは、通常、以前に識別されたどの{NOT、CNOT、R}サブ回路にもまだ含まれてないCNOTゲートから開始され、したがって、サブ回路の数は、実践上はgよりもずっと少なくできる。望ましい場合、サブ回路の最大サイズを制限することによって、全体的な複雑性をO(g)に低下させることが可能である。
最後のステップとして、位相の全てのアフィン関数を線形関数に低減することが可能である。これは、以下:
Figure 2022510394000011
のように、CNOTおよびRゲートを通り抜けるNOTの伝搬を使って達成することができる。
この手順の適用は、各アフィン関数
Figure 2022510394000012
が、対応する線形関数
Figure 2022510394000013
に変形されることを確実にし、これにより、さらなる位相衝突が引き起こされる尤度を改善する。
(サブルーチン5:浮動Rゲート)
サブルーチン4では、Rゲートに関連するアフィン関数を追跡した。さらに一般的には、Rゲートの存在の如何に関わらず、サブ回路中に生じた全てのアフィン関数、およびそれらそれぞれの位置が記録された。しかして、Rゲートが回路中に既に出現している位置でなく、Rゲートを配置することができる全ての可能な位置を識別することが可能である。この「浮動」Rゲート配置の構図において、3つの最適化サブ-サブルーチンを用いることができる。その3つとは、2キュービットゲート相殺、ゲートカウント保存書換えルール、およびゲートカウント低減書換えルールである。
これらサブ-サブルーチンの一番目は、これではRゲートが浮動であり、焦点が特定の識別されるサブ回路に置かれていることを除き、基本的にはサブルーチン4と同じである。このアプローチは、Rゲートを、途上の全ての可能なRゲートの位置を把握することによって、相殺を促進するように諸Rゲートを配置することを可能にする。特に、特定の位置にRゲートを配置しないと、2つのCNOTゲートを相殺できる場合、その位置はRゲートの可能な位置のリストから除去され、その代わりに、CNOT相殺が実行される。
次のゲートカウントを保存する書換えルール(例えば、図7の図表700を参照)が、さらなる最適化を見出す試みとして適用される。例えば、図表700は、ゲートカウント保存ルール710aおよび710bを含む。これらの置き換えは、ゲートを削除しないが、他の箇所での最適化が可能になるように当該回路を修改する。これらの書換えルールは、外部のライブラリファイルによって提供され、サブ回路は、DAG表現を用いて、それらに該ルールが適用できるように識別される。これらの置き換えは、それが、前述の浮動Rゲートによる2キュービット相殺サブルーチンのもう一回のラウンドを通しての2キュービットゲートカウントの低減につながる場合にだけ適用される。なお、これらの書換えルールは、回路中の特定の位置での特定の浮動Rゲートにだけ適用が可能である。このサブルーチンは、浮動Rゲートを用いて、ゲートカウントの低減につながるRゲート位置のこれらの組み合せを選択する。
最後のサブ-サブルーチンは、ゲートカウントを低減する書換えルールを適用する(サブルーチン5において用いられるゲートカウント低減書換えルールについて、例えば、図8の図表800を参照のこと)。図表800は、ゲートカウント低減書換えルール810a、810b、810c、810d、および810eを含む。これらのルールも、外部のライブラリファイルを介して提供されてよい。これらのルールはそれら自体がゲートカウントを低減するので、この書換えは、一般に、適したパターンが見出されたときはいつでも、実施される。この3ステップのサブルーチン(すなわち、サブルーチン5中の3つの最適化サブ-サブルーチン)の複雑性は、サブ回路の数がO(g)であり、各サブ回路内で、2キュービット相殺(サブルーチン3)がO(g)の複雑性を有するので、上限がO(g)である。これら書換えルール(例えば、図7中のゲートカウント保存書換えルール、図8中のゲートカウント低減書換えルール)は、複雑性O(g)で適用することが可能である。なぜなら、サブルーチン1におけるように、回路中のゲート群を通る単一回のパスで十分だからである。ここでも、実践上、サブ回路の数とサブ回路のサイズとは、通常、逆関係にあり、このことは、観測される複雑性を約g分の一に低下させる。この複雑性は、サブ回路の最大サイズを制限することにより、O(g)に低下させることが可能である。実際上、この複雑性は、2キュービットゲートの相殺におけるサブ回路Aの最大サイズを制限することによって、O(g log g)にさらに低下させることができる(分類作業もなお複雑性O(g log g)を有することになろう)。
この最適化がどのように作用するかの一例を説明するために、図5の図表500中の右手の回路を検討する。R(θ)(例えば、ゲート510a)が、上段キュービットの回路の最終部で実行し、最初の2つのCNOTの相殺を可能にし、図9の図表900中の右手側に示された最適化された回路に導くことができるのを観察するが、これは、3つのRゲート910a、910b、および910cと、単一のCNOTゲート930aとを含むことによって、さらになお単純化されている。
(汎用最適化アルゴリズム)
本開示中に記載された最適化アルゴリズムまたは技法は、前述した種々のサブルーチンを注意深く選択された順序で単に適用する。オプティマイザまたは最適化アルゴリズムの2つのバージョンがあり、それらは、軽度バージョン(または単に軽度)および重度バージョン(または単に重度)と言われる。一般に、重度バージョンは、より多くのサブルーチンを適用し、ランタイムがより長いことを犠牲にして、より良好な最適化結果を生成する。前処理ステップは、オプティマイザの軽度および重度バージョン両方において、用いることができる。
オプティマイザの軽度バージョンは、次のシーケンスまたは順序で、最適化サブルーチンを適用する。
1、3、2、3、1、2、4、3、2。
続いて、このシーケンスはさらなる最適化の達成がなくなるまで繰り返される。このシーケンスは、最初にアダマールゲートを削減しながら{CNOT、R}ゲートを露出するという原則に少なくとも部分的に基づき(サブルーチン1)、相殺ルーチンでより大きな低減を可能にし(サブルーチン3、2、3)、特に、単一キュービットゲートの低減を促進するため2つのCNOTゲートを解放し、またその逆を行う。最初の4つの最適化サブルーチンの後、置き換えルール(サブルーチン1)を適用することによって、さらなる低減を可能にすることができる。次いで、さらなる単一キュービット型の相殺および併合が探索される(サブルーチン2)。これは、さらなるRカウントの最適化を探すための{NOT、CNOT、R}サブ回路領域のより迅速な識別を可能にし(サブルーチン4)、その後、本プロセスは、ゲートの残存する相殺をチェックする(サブルーチン3、2)。
オプティマイザの重度バージョンは、次のシーケンスまたは順序を適用する。
1、3、2、3、1、2、5。
同様に、このシーケンスもさらなる最適化の達成がなくなるまで繰り返される。オプティマイザの重度バージョンのこの最適化シーケンスの最初の6つのステップは、オプティマイザの軽度バージョンのものと同じである。違いは、オプティマイザの重度バージョンでは、用いられるアプローチが浮動Rゲートを利用し(サブルーチン5)、さらなるゲート相殺を露出するためのゲートカウント保存書換えルールおよび何らかの残存する非効率性を除去するためのゲートカウント低減書換えルールの使用を含め、CNOTゲートのさらなる低減を可能ならしめる、Rゲートに対する位置の発見を可能にすることである。
上記で説明した諸順序またはシーケンスは、例示のために提示されたものであり、前述よりも少ないまたは多いサブルーチンが関与する他の順序またはシーケンスも同様に使用することが可能である。
なお、回路表現の変換によって被る計算オーバーヘッドは些少で済むことが多い。全ての変換は、回路のサイズに比例する時間で行うことができる(詳細については、例えば、量子回路の表現と題された節を参照)。諸表現は、必要に応じた程度に整合性を保てばよい。サブルーチン1~サブルーチン3において、迅速に低減箇所を見出すために、DAG表現を使って、個別のゲートにアクセスすることができる。これによって、最適化プロセスを続ける前に、ゲートカウントの低減を記録するために、DAG表現だけを更新することが可能になる。サブルーチン4およびサブルーチン5において、それら両方の表現は、低減が見出されたときはいつでも、DAGおよびネットリスト表現両方の整合性を維持しながら、同時に臨機応変に更新することができる。これは、両方のルーチンが、位相多項式表現を使う低減に適ったサブ回路を識別するので有用である。この識別プロセスは、最新のDAG表現を必要とし、位相多項式表現の生成には、最新のネットリスト表現が必要である。なお、位相多項式表現は、識別されたサブ回路中の最適化を支援するためだけに用いられ、位相多項式表現をネットリストまたはDAGのいずれかに戻して変換する必要はない。しかして、この位相多項式表現は、対応するサブ回路最適化プロセスが完了したときに、安全に消去されて(purged)よい。
(特殊用途最適化)
前述した汎用的オプティマイザ(例えば、汎用最適化アルゴリズム)に加え、特定の構造を備えた回路を改良するために、2つの特化型最適化を用いることができる。
LCRオプティマイザ:積公式シミュレーションアルゴリズムなどの一部の量子アルゴリズムは、一定のブロックの複数回の繰り返しを含む。かかる回路を最適化するためには、最初に、単一のブロックにオプティマイザを実行して、その最適化バージョン、Oを得るのがベストであり得る。複数のブロックに亘っての単純化を見出すために、回路Oを最適化することが可能で、その結果はLRと呼ぶことができ、このLは、Oの最適化中のOの最大プレフィックスである。次のステップは、Oの最適化である。最適化がブロック間の境界の近辺で行われるという条件の下で、Oの最適化バージョンからプレフィックスLおよびサフィックスRを除去することが可能で、残った回路をCと呼ぶ。かかるL、CおよびRが発見可能であるとすれば(実践上ではあり得る)、OをLCt-2Rに単純化することが可能である。
トフォリ分解:多くの量子アルゴリズムは、トフォリゲートを使って自然に説明される。本開示に記載されたオプティマイザまたは最適化アルゴリズムは、正および負の両方の制御でトフォリゲートを取り扱うことが可能である。目標は、ゲートのセット{NOT、CNOT、H、R}に関する回路を表現することなので、トフォリゲートは、これらの基本的なゲートに関連させて分解される。本明細書に記載の技法は、最適化の品質を向上させるために、これを行う各種のやり方を利用する。
具体的に、トフォリゲートは、図10の図表1000中に示された特徴を用いる1キュービットゲートおよび2キュービットゲートに関連させて拡大することが可能で、それらの回路分解において、(トフォリゲートは自己反転なので)TとTとを交換することによって、所望のトフォリゲートを得ることも可能であることを念頭に置く。前述したように、図表1000中の特徴は、トフォリゲート1010a、上部に否定制御を備えたトフォリゲート1010b、および両方が否定制御であるトフォリゲート1010cを含む。オプティマイザは、当初、各トフォリ分解において、T/Tの極性(すなわち、どちらのゲートがダガーを含みどちらが含まないかの選択)を未定のまま残す。オプティマイザは、未定のTおよびTゲートを、それらの相対的極性を保持しながら、所与の量子回路内で単にそれらの位置を移動することによって記号的に処理する。この最適化は、これら未定のTおよびTゲートの移動によってもはやゲートカウントを低減できなくなった時に、完了すると見なされる。最後に、最適化された回路中のTのカウントを最小化することを目標に、各トフォリゲートの極性を(それらの間の固定された関係を条件として)選択することが可能である。この最小化は、最長マッチを行う方法(greedy way)で行われ、ほぼ最適化された回路中の関連するT/Tゲートの出現の順序で、Tのカウントができるだけ多く低減されるように、各トフォリゲートに対する極性を選択する。
全体的には、この極性の選択プロセスはO(g)の時間を要する。極性を選択した後、サブルーチン3およびサブルーチン2を実行することが可能である。というのは、特定の極性の選択が、該選択がなければ、所望の位置転換を阻止していた未定のゲートの存在に起因してできなかった、CNOTゲートおよび単一キュービットゲートのさらなる相殺につながり得るからである。
(最適化の結果)
本明細書に記載のオプティマイザまたは最適化アルゴリズムの諸態様のインプリメンテーション例は、フォートランプログラミング言語を用いて作成され、3セットのベンチマーク回路を用いてテストされた。本開示中に示された全ての結果は、2.9GHzインテルコアi5プロセッサ、および8GBの1867MHz DDDR4メモリを備えたマシンを使い、OS X EI Capitanを実行して得られた。当然のことながら、これらの結果は、例示目的で、相対的なパフォーマンスを示すために提示され、また、これらの結果は、異なるハードウェア構成を使って行われた場合に、変わり得る。
テストの一部として、ショアの整数因数分解アルゴリズムのコンポーネントを含む様々な量子回路、具体的には量子フーリエ変換(QFT:quantum Fourier transform)および整数加算回路を検討した。また、ハミルトニアンシミュレーションへの積公式(PF:product formula)アプローチのための量子回路も検討した。両方のケースにおいて、テストの焦点は、従来式の計算を凌駕する、諸アプリケーションにおいて有用な可能性のあるサイズの量子回路に置かれ、各種の型の加算回路および積公式による実験が実行された。最後に、(ガロア体乗算回路のファミリを含め)様々な演算回路、および多重制御トフォリゲートのインプリメンテーションから成るベンチマーク量子回路のセットも検討した。比較のため、最適化の前および後のこれらの回路を記載したデータファイルが利用可能である。
オプティマイザまたは最適化アルゴリズムの正確性は、最適化の前と後との様々なテスト回路の機能的等価性(すなわち、対応するユニタリ行列の同等性)を検証することによってチェックされた。かかるテストは、一般に少数のキュービットを用いる回路に対し実行可能である。これらのテストは、図13の図表1300中に示された表1および図14の図表1400中に示された表2中の全ての8キュービットのベンチマークに対して行われた。表1は、加算回路の軽度最適化を、上段にQFT(またはQFA)に基づくインプレース加算回路に対する結果、および下段にクイッパーライブラリ加算回路に対する結果とともに含む。また、これらのテストは、それぞれ図16Aおよび16Bの図表1600aおよび1600b中に示された表3Aおよび表3B中の全ての10キュービットのベンチマークに対しても行われた。表3Aは、CNOTゲートの低減による積公式アルゴリズムの最適化を示し、表3Bは、Rゲートカウントの低減による積公式アルゴリズムの最適化を示す。ソフトウェアのランタイム範囲は、0.004秒(第一オーダー、n=10)~0.137秒(第六オーダー、n=100)である。クリフォードゲート低減は、(nにかかわらず、第一オーダー公式に対し)アダマールについては62.5%、位相ゲートについては75%から、(これもnにかかわらず、第六オーダー公式に対し)アダマールについては75%、位相ゲートについては85%までの範囲である。記号「(×1000)」は、第一オーダー公式に対するゲートカウントが、(丸め誤差なしの)千の単位であることを示す。記号「(L)」は、前述した最適化の標準的な軽度バージョンを示す。
さらに、図17A~17Cの図表1700a~1700c中に示された表4A~4Cは、以下のベンチマーク、Mod5、VBE―Adder、CSLA-MUX、RC-Adder、Mod-Red21、Mod-Mult55、Toff-Barenco3..5、Toff-NC3..5、GF(2)-Mult、およびGF(2)-Multと比較した、本オプティマイザの結果を表す。例えば、表4A~4Cは、T-parとの比較(後記でさらに詳しく説明する)を含み、これらベンチマークのアルゴリズムの名称は、Toff-BarencoおよびToff-NCが乗算制御のトフォリゲートのインプリメンテーションを示すのに使われていることを除き、周知のものである。記号「(L)」は、本最適化の標準的な軽度バージョンを示し、一方、記号「(H)」は、本最適化の標準的な重度バージョンを示す。記号-||-は、最適化の軽度バージョンに対し、最適化の重度バージョンに改善がないことを示す。
(QFTおよび加算回路)
QFTは、量子計算における基本的サブルーチンであり、指数関数的高速化のため多くの量子アルゴリズムに出現する。正確なnキュービットQFTに対する標準的回路は、Rゲートを用い、その一部はnが指数関数的に小さい角度を有する。非常に小さな回転角度を有するゲートを省くことによって、高精度の近似QFTが行えることがよく知られている。本開示のオプティマイザまたは最適化アルゴリズムの目的のためには、最大π/213までの角度の回転は省いてもよく、これは、対象以下のサイズの量子回路に対しては十分な精度の近似QFTを確実にする。これらの小さな回転は、それらの省略が結果中に報告される改善に寄与しないので、最適化の前に除去される。
図11の図表1100中に示されるチャートは、近似量子フーリエ変換(QFT、挿入図)、クイッパーライブラリ加算回路、およびフーリエベースの加算回路(QFA)に対するゲートカウントを示す。白/黒の記号は、最適化の前/後のゲートカウントを表し、四角/丸/三角の記号は、それぞれ、クイッパーライブラリ加算回路/QFA/QFTに対するゲートカウントを表す。512以上のキュービットを備えるQFTに対して、36%を超える節減レートが観察される。この最適化は、もっぱら、フォールトトレラントなインプリメンテーションで最も高価なリソースであるRゲートの数の低減から来ている。
図11の図表1100中のチャートに示されるように、2つの型の整数加算回路、すなわち、クイッパーライブラリ中にインプリメントされているようなインプレースモジュロ(in-place modulo)2加算回路とQFT(またはQFA)に基づくインプレース加算回路とを検討した。QFA回路は、前述したように、π/213より小さい角度による回転が除去された近似QFTを使用する。加算回路は、整数因数分解に対するショアの量子アルゴリズム(Shor’s quantum algorithm)の基本的コンポーネントである。示された結果は、クイッパー加算回路、およびLが4~11の範囲にある2Lキュービットに作用する回路のQFAに対する、最適化の前と後とのゲートカウントを報告している。例えば、1,024ビットの数を因数分解するためのショアの整数因数分解アルゴリズムでは、L=10の加算回路が使われる。関連するRSA-1024への課題は、まだ解決されていない。
加算回路の軽度(バージョン)の最適化の結果が図11および図13に示されている。クイッパーライブラリ加算回路に対しては、フルライトオプティマイザ(full Light optimizer)が使用された。QFA最適化に対しては、標準的なライトオプティマイザの最後の3つのサブルーチン4、3、2を省いてサブルーチンのシーケンス1、3、2、3、1、2を有する変更されたライトオプティマイザ(modified Light optimizer)が代わりに使用された。これは、小さなインスタンス(n≦256)で、それらのサブルーチンからさらなるゲート節減が見出されなかった際に行われた。
簡素化されたクイッパーライブラリ加算回路は、大幅な差でQFAを凌駕し、これが実践上選好される可能性があることを暗示している。このクイッパーライブラリ加算回路に対し、最大5.2分の1までのTゲートのカウントの低減が観察された。この低減は、回路構造のいかなる事前知識も用いることなく、もっぱら自動化手段によって(すなわち、最適化アルゴリズムによって)得られた。ショアの整数因数分解アルゴリズムは冪剰余のコストに左右され、次いで、これは、主として整数の加算に依拠しているので、この最適化は、全体的因数分解アルゴリズムを実行するコストを5分の1未満に低減する。
また、重度オプティマイザも、QFTおよび加算回路に適用された。QFTおよびQFA回路に対して、重度の設定はゲートカウントを改善しなかった。クイッパー加算回路に対する重度最適化の結果が、図14の図表1400中の表2に示されている。CNOTカウントの低減は、2.7分の1であることが分かったが、これと比較すると、軽度最適化での低減は、わずかに1.7分の1であった。図12の図表1200中のチャートは、最適化の前(例えば、プレ最適化)、軽度最適化の後、および重度最適化の後のクイッパーライブラリ加算回路の合計CNOTカウントを表し、これら2つの型の最適化によるCNOTカウントの低減を示している。白/ドットパターン/黒の四角の記号は、それぞれ、プレ最適化/ポスト軽度最適化/ポスト重度最適化でのゲートカウントを表す。
量子シミュレーション
ハミルトニアン力学(Hamiltonian dynamics)をシミュレートするための第一の明示的多項式時間量子アルゴリズムが導入され、そのアプローチが後により高次の積公式(PF)に一般化され、改善された漸近法計算量をもたらした。本開示は、オーダー1、2、4および6(1より高いオーダーに対して、標準的スズキ積公式の構成のオーダーは偶数である)のPFアルゴリズムに対する最適化の前と後とのゲートカウントを報告している。具体的に、これらのアルゴリズムは、周期的境界条件を有する磁界中の一次元のハイゼンベルグモデルに対しインプリメントされ、システムをそのサイズに比例する時間の間展開し、アルゴリズムのパラメータは、積公式近似の誤差に対する既知の限界を用いて、ハミルトニアンシミュレーション誤差が最大でも10-3となることを保証するように選択された。
積公式アルゴリズムの軽度最適化の結果が(例えば、図16Aおよび16Bの)表3Aおよび表3Bに報告され、図15の図表1500中のチャートに図示されている。この図の白色/黒色の記号は、それぞれ、最適化の前/後のゲートカウントを表し、四角/丸の記号は、第二/第四オーダーに対するゲートカウントを表す。これらの積公式アルゴリズムに対し、重度最適化は、軽度最適化を上回るさらなる改善を示さなかった。第二の、第四、および第六オーダーアルゴリズムでは、CNOTカウントで約33.3%の低減、Rカウントで約28.5%の低減が認められ、おおむね、物理レベルおよびロジカルレベルのインプリメンテーションに関連する低減に対応している。第一オーダー公式アルゴリズムは、CNOTまたはRゲート最適化を示さなかった。全ての積公式アルゴリズムにおいて、位相ゲートおよびアダマールゲートの数は、おおむね3分の1~6分の1に、大きく低減された。
(他のアプローチとの比較)
量子回路最適化は、周知の分野である。しかしながら、回路の最適化についてのこれまでの研究は、本開示で検討しているような、従来式のコンピュータを凌駕するような型の大規模量子回路を検討してこなかった。例えば、Amy、Maslov、およびMoscaによる論文(「Polynomial-time T-depth optimization of Clifford +T circuits via matroid partitioning」、IEEE Trans.Comput.Aided Des.Integr.Circuits Syst.,vol.33,1476-1489頁(2014))では、gのゲート回路の最適化の複雑性はO(g)であり、大規模回路の最適化を非現実的だとしている。キュービットの数がn=10~35、およびゲートカウントが60~368に対し、実行時間が0.07~1.883秒の範囲との例があるが、本明細書に記載の最適化アルゴリズムは、表1(図13)に示すように、上限n=256までで、約23,000個のゲートのクイッパー加算回路を最適化する際に、同じ位の時間で実行した。また、最適ゲートライブラリを使ったピープホール(peep hole)最適化に基づく、量子回路最適化の他の例もあるが、これは高コストで、場合によっては、20キュービット、1,000個のゲートの回路に対し100秒より長くかかる。
本開示で提案する最適化アルゴリズムを用いて生成された結果を、従前に報告されている結果と比べるために、TおよびCNOTカウントの重み付き組み合せを検討した。Tゲートは、状態蒸留(state distillation)を使ってフォールトトレラントにインプリメントするには相当に高価とはなり得るが、CNOTゲートのコストを無視するのは、著しい過小見積もりにつながる可能性がある。解析では、フォールトトレラントなTゲートをインプリメントするのに、局部的にフォールトトレラントなCNOTゲートよりも46~350倍高価となり得ることを示唆しており、そのコスト比率が1:50であることに関し、少なくとも1つの推奨をしている。実際のオーバーヘッドは、フォールトトレランスのスキーム、誤差モデル、計算のサイズ、アーキテクチャ上の制限、Tゲートのインプリメンテーションを最適化できる程度、およびT状態産生が、そのコストが(部分的に)割引できるようにオフラインで行えるかどうかを含め、多くの細目により決まる。おおまかな比較のための1つのアプローチは、#T+0.01・log n・#CNOTで定義される総計コスト指標を目途に作業をすることであり、この式の#Tは使われるTゲートの数であり、0.01はTゲートに対するCNOTゲートの相対効率割合であり、nは計算中のキュービットの数であり、#CNOTは使われるCNOTゲートの数である。この式で、log nの因数は、現実的アーキテクチャ中のキュービットの間のゲートを実行するための一般的なコストを過小評価している(実際のコストは、三次元では√nに、または二次元では√nにより近くなり得る)。本明細書に記載のアプローチは、当初の回路の構造を保持しているので、この指標は、ロングレンジゲートを導入している可能性のある(後記で述べるT-parアプローチなどの)他のアプローチに対し控え目の比較を提示しているはずである。したがって、この総計コストに対する有利性を示すことで、本開示に記載の本提案の最適化技法のメリットを、おおまかに実証することができる。
本開示に記載の技法を用いた結果を、マトロイド分割(matroid partitioning)に基づく技法を用いてTのカウントおよびTの深さを低減することを狙った、Amy、Maslov、およびMoscaにより報告された結果と、直接に比較することが可能である。そのアプローチは、本開示ではT-parと称しているものである。本開示に記載の技法の使用による結果が、上記の論文に現れたベンチマークのセットを最適化するのに使われ、表4A~4C(図17A~17C)に示されるように、その結果をT-parの最適化と比較した。
これらのベンチマーク回路は、3つのカテゴリに分類される。第一のセット(図17A中の表4A)は、算術演算の選抜から成る。これらの回路に対し、ベンチマークに比べて、より良いまたはこれに合致するTのカウントが得られ、同時にかなり良いCNOTのカウントも得られた。なお、回路CSLA-MUX3は、T-parがそれを不正確に最適化すると考えられているので、比較から除かれた。本明細書に記載の最適化技法の利点を例証するため、前述の総計コスト指標を用いて、本提案の技法はRC-Adder6回路のコストを71.91から49.70に低減した。コスト面での改善は、しかして、ほとんどが低減されたTゲートのカウントに起因しており約31%であった。
ベンチマークの第二のセットは、乗算制御のトフォリゲートから成る(図17B中の表4B)。本提案のオプティマイザは、T-parオプティマイザによって得られたTカウントと同等であり、CNOTカウントを著しく低減したが、本提案のオプティマイザも従前のアプローチも最もよく知られたインプリメンテーションを見出すことはできなかった。この最もよく知られたインプリメンテーション中では非常に異なった回路構造が用いられていることを考えれば、これは驚くべきことではない。
ベンチマークの第三のセットは、ガロア体乗算回路を包含する(図17C中の表4C)。一例では、重度オプティマイザは、そのランタイムが軽度オプティマイザのランタイムの200倍を超えた時点で終了された。かかる時間切れは、ガロア体乗算回路の4つの最大インスタンスに重度オプティマイザを適用したときに生じた。テストされたケースでは、重度オプティマイザに軽度オプティマイザを上回る利点はなく、したがって、該4つの最大インスタンスに重度オプティマイザは適用されなかった(対応するエントリは表4C中の左の空白部である)。Tカウントは、これもT-parオプティマイザと同等であったが、CNOTカウントは、かなり低下し、明らかに好ましい回路をもたらした。例えば、最適化済みGF(264)乗算回路は、180,892個のCNOTゲートの使用を示していたが、本開示の技法から得られた最適化インプリメンテーションは、わずか24,765個のCNOTゲートを使用し、しかして、総計コストは、Tカウントの変化がなかったにも関わらず、30,168.59から18,326.42に、すなわち、約39%低減された。この低減は、ほとんど、または全面的に、CNOTゲートから来たものである。この比較は、Tカウントと理論的に予測された現実的な総計コスト見積もりとの間の不一致が、実践上でも示されることを実証している。軽度オプティマイザの効率性は、未解決で残っている楕円曲線離散対数問題のインスタンスに対応して、GF(2131)およびGF(2163)乗算量子回路の最適化を可能にした。報告されたT-par最適化のランタイムを考えると、このサイズのインスタンスは、T-parオプティマイザには手に負えないように見える。
Tカウント最適化に対する新規のツールは、(HeyfronおよびCampbellによって)提案されている。この新規ツールで使われるアプローチは、本開示で考慮されている全面的なユニタリ回路と対照的に、測定と従来式のフィードバックとに依拠している。さらに、この新規ツールは、CNOTのカウントを設けておらず、TおよびCNOTゲート両方に対するカウントを行うツールとの直接的比較は不可能である。再度、このツールは、Tカウントの最適化だけを目指しており、本開示の技法は、この単純なコスト指標からは外れている。例えば、この新規のTカウント最適化ツールに基づき最適化されたQFT4回路は、44のキュービットを使う4キュービットQFT変換をインプリメントし、CNOTゲートのオーバーヘッドが大きいに違いないことを示唆している。さらなる重要な違いは、スケーラビリティである。本明細書に記載の技法が、大規模回路を最適化するのに適し、適用される一方、該新規のTカウント最適化ツールは、非常に小さい回路だけ取扱い、例えば、このツールで編成された最大のGF乗算回路は7ビットケースであるが、本明細書に記載のものは、131および163ビットによるCF乗算に取り組むことが可能であり、未解決のCerticomチャレンジに対応している。別の差異は、本明細書で提案する技法は、入力回路で既に利用可能なキュービット間の相互作用だけを用いることである。これは、同じアーキテクチャ中の最適化済み回路を入力回路として実行することを可能にし、限定されたアーキテクチャよりも有用な量子コンピュータであり得る。対照的に、この新規Tカウント最適化ツールは、新しい相互作用を導入している。最後に、本明細書で提案する技法は、任意のRゲートを介して回路を取り扱えるが、該新規のTカウント最適化ツールは、クリフォード+T回路に限定されている。
(全体的パフォーマンス)
本開示に記載の最適化アルゴリズムにより生成された数値的な最適化結果の諸例が、表1、表2、表3Aおよび3B、ならびに表4A~4Cに提示されている。これらの表は、従来式のコンピュータの到達域を超える実際上の量子計算に関連するベンチマークを包含している。表1および表2中には、ショアの整数因数分解アルゴリズムの、従来式では手に負えないインスタンス中で使われている1,024および2,048キュービットQFTおよび整数加算回路がある。表3Aおよび3B中には、量子力学の直接的な従来式シミュレーションでは、現在実行不可能な、n≧50の全インスタンスが含まれる。表4A~4C中には、サイズ131および163のバイナリフィールドに対するガロア体乗算回路があり、これらは、未解決のCerticomのECCチャレンジ問題への量子アタックに関連している。これは、本提案のオプティマイザまたは最適化アルゴリズムが、実務に適する十分に大きな量子回路を取り扱う能力を有することを例証している。
本提案のオプティマイザまたは最適化アルゴリズムは、回路の最適化に対する従前の研究よりも、もっと広範に適用することが可能である。これは、トフォリゲート(これは否定制御を有し得る)などの複合ゲートを容易に受け入れる。また、これは、ハミルトニアンシミュレーションおよび因数分解を含め、必然的にRゲートを使用するアルゴリズムに対する有用な機能である連続するパラメータを備えたゲートを取り扱う。トラップイオンおよび超電導回路の両方を含め、多くの量子情報処理技術は本来的にかかるゲートをサポートしており、しかして、本明細書に記載の提案のアプローチは、物理レベルの回路を最適化するため有用であり得る。
フォールトトレラントな量子計算は、一般に、クリフォード+Tなどのディスクリートのゲートのセットに依拠しており、最適なRゲートのクリフォード+Tインプリメンテーションが既に知られている。そうであっても、フォールトトレラントな設定において、連続するパラメータによって回路を最適化する能力は、同様に貴重である。その理由は、ディスクリートなフォールトトレラントなセットに編成される前の、連続的にパラメータ化された自然なゲートのセットに対する最適化は、より小さな最終回路をもたらす可能性が高いからである。
最後に、従前のアプローチと違って、本開示で提案するオプティマイザは、当初の量子回路の構造を保持するように構成される。具体的に、最適化された量子回路によって使われる2キュービット相互作用のセットは、当初の量子回路中で使われていたものサブセットである。これは、前処理ステップも、最適化アルゴリズムも、いかなる新規の2キュービットゲートも導入しないために行える。(例えば、使われる相互作用のセットを劇的に増加させるT-parとは全く対照的に)、使われる相互作用の型を制御下に置くことによって、本提案の最適化アルゴリズムからもたらされる最適化インプリメンテーションは、限定された連結性を備えるアーキテクチャにより良好に適応する。具体的に、限定された連結性を備えるハードウェア上の当初の量子回路のレイアウトを所与として、本プロパティによって、最適化された量子回路に対しても同じレイアウトを用いることが可能になる。さらに、他の最適化ツール(例えば、前述した新規Tカウント最適化ツール)と違って、本開示で提案するオプティマイザは、使われるCNOTゲートの数を増加しない。これは、適切な実務上の考慮であり得る。なぜなら、ロングレンジCNOTゲートがTゲートよりも高価なことさえあり得、Tの最適化だけに焦点を合わせることで、そのコストがCNOTゲートによって左右される回路をもたらす可能性があるからである。
ここで図18の図表1800を参照すると、一インプリメンテーションによる、例示のコンピュータデバイス1810が示されており、コンピュータデバイス1810は、様々な最適化サブルーチンとオプティマイザの軽度バージョンおよび重度バージョンを含め、前述した様々な最適化アルゴリズムを実行するために使用が可能である。コンピュータデバイス1810は、例えば、単一コンピューティングデバイス、複数コンピューティングデバイス、または分散型コンピューティングシステムを表していてよい。コンピュータデバイス1810は、本明細書で説明したように、連続するパラメータを備える大規模量子回路の自動最適化を含め、量子回路の自動最適化を実行または遂行するように構成されてよい。さらに、コンピュータデバイス1810は、量子回路についての情報(例えば、ネットリスト)を受信し、量子回路(または、量子回路の機能)をインプリメントするために必要な量子ゲートの数が、該量子回路(または、量子回路の機能)をインプリメントするために当初に(例えば、最適化の前に)必要としていた量子ゲートの数よりも少なくなるように最適化した後、新しい情報(例えば、新規ネットリスト)を生成するように構成することができる。
一例において、コンピュータデバイス1810は、1つ以上の最適化機能または本明細書に記載のオペレーションに関連する処理機能を実行するプロセッサ1848を含むことが可能である。プロセッサ1848は、プロセッサまたはマルチコアプロセッサの単一のまたは複数のセットを含むことができる。さらに、プロセッサ1848は、集積処理システムおよび/または分散型処理システムとしてインプリメントされてもよい。一インプリメンテーションにおいて、プロセッサ1848は、例えば、中央処理ユニット(CPU:central processing unit)、グラフィックス処理ユニット(GPU:graphics processing unit)、テンソル処理ユニット(TPU:tensor processing unit)またはこれらの種類の1つ以上のユニットの組み合せを含んでよく、それらを本明細書に記載の最適化機能またはオペレーションの1つ以上を行うように構成することができる。
一例において、コンピュータデバイス1810は、本明細書に記載の諸機能を実行するために、プロセッサ1848によって実行可能な命令を格納するメモリ1850を含むことができる。一インプリメンテーションにおいて、メモリ1850は、例えば、本明細書に記載の最適化機能またはオペレーションの1つ以上を実行するためのコードまたは命令を格納するコンピュータ可読ストレージ媒体に対応していてよい。
さらに、コンピュータデバイス1810は、本明細書に記載したようなハードウェア、ソフトウェア、およびサービスを用いる1つ以上のパーティとの通信の確立および維持を提供する通信コンポーネント1852含むことができる。通信コンポーネント1852は、コンピュータデバイス1810上の諸コンポーネントの間、および、コンピュータデバイス1810と、通信ネットワークに亘って配置された諸デバイスおよび/またはコンピュータデバイス1810にシリアルにまたはローカルに連結された諸デバイスのような外部デバイスとの間で通信を搬送することが可能である。一例において、通信コンポーネント1852は、コンピュータデバイス1810と、量子情報処理(QIP)システムとの間で、最適化されたネットリストまたは類似情報がコンピュータデバイス1810によって生成された後それがQIPシステムに供給されるように、情報の通信を提供することができる。別の例において、通信コンポーネント1852は、1つ以上のバスを含むことができ、送信機と受信機とにそれぞれ関連付けられ、外部デバイスをインターフェース接続するよう作動可能な、送信チェーンコンポーネントおよび受信チェーンコンポーネントをさらに含むことが可能である。
さらに、コンピュータデバイス1810は、データストア1854を含むことができ、これは、本明細書に記載のインプリメンテーションに関連して用いられる情報、データベース、およびプログラムの大容量ストレージを提供するハードウェアおよび/またはソフトウェアの任意の適切な組み合せであってよい。例えば、データストア1854は、オペレーティングシステム1840および/または最適化アプリケーション1830のためのデータリポジトリであってよい。一インプリメンテーションにおいて、データストア1854は、メモリ1850を含むことができる。
データストア1854および/またはメモリ1850は、最適化前回路、最適化後回路に関連する情報、最適化の過程で生成された中間情報、サブルーチンおよびオプティマイザの様々なバージョンを含む最適化アルゴリズム、本明細書に記載の最適化オペレーションに関連する任意のルールを格納するために使われてよい。
また、コンピュータデバイス1810は、コンピュータデバイス1810のユーザからの入力を受信するよう動作可能で、ユーザへのプレゼンテーションのための出力を生成するようにさらに動作可能なユーザインターフェースコンポーネント1856を含むことができる。ユーザインターフェースコンポーネント1856は、以下に限らないが、キーボード、テンキー、マウス、タッチセンシティブディスプレイ、デジタイザ、ナビゲーションキー、ファンクションキー、マイクロフォン、声認識コンポーネント、ユーザから入力を受信する能力のある任意の他のメカニズム、またはこれらの任意の組み合せを含め、1つ以上の入力デバイスを含むことができる。さらに、ユーザインターフェースコンポーネント1856は、以下に限らないが、ディスプレイ、スピーカ、触覚フィードバックメカニズム、プリンタ、ユーザに出力を提示する能力のある任意の他のメカニズム、またはこれらの任意の組み合せを含め、1つ以上の出力デバイスを含むことができる。
一インプリメンテーションにおいて、ユーザインターフェースコンポーネント1856は、オペレーティングシステム1840および/または最適化アプリケーション1830のオペレーションに対応して、メッセージを送信および/または受信することが可能である。さらに、プロセッサ1840は、オペレーティングシステム1840および/または最適化アプリケーション1830を実行することができ、メモリ1850またはデータストア1854は、それらを格納することができる。さらに、最適化アプリケーション1830は、本明細書に記載の最適化機能またはオペレーションの1つ以上を遂行するため、格納されたコードまたは命令に基づいて、実行することが可能である。例えば、最適化アプリケーション1830は、オプティマイザの軽度バージョンまたはオプティマイザの重度バージョンの間で選択することができ、これにより、サブルーチンの適切なシーケンス(およびサブルーチンの各々内の任意のオペレーション)を実行することができる。
図19は、本開示の態様による量子回路の自動最適化を行うためのプロセスまたは方法1900を示すフローチャートである。方法1900の諸態様は、図18に示されたコンピュータデバイス1810中のハードウェアおよび/またはソフトウェアによって実行することができる。
ブロック1905で、方法1900は、量子回路を形成する量子ゲートの第一のリストについての情報を含むネットリストを受信するステップを含む。量子ゲートのリストは、量子回路が同じ量子ゲートの重複を有し得るので、諸要素の繰り返しを許容してよい。
ブロック1910で、方法1900は、量子ゲートの第一のリストとの機能等価性を有する量子ゲートの第二のリストを生成するために、量子ゲートの第一のリストについての情報に位相多項式低減オペレーションを実行するステップを含み、量子ゲートの第二のリスト中の量子ゲートの数などの計算コストは、量子ゲートの第一のリスト中の量子ゲートの数等の計算コストよりも小さい。
ブロック1915で、方法1900は、量子ゲートの第二のリストについての情報を含む新規ネットリストを生成するステップを含む。
ブロック1920で、方法1900は、量子ゲートの第二のリストを用いて、量子回路の機能をインプリメントするために、新規ネットリストを提供するステップを含む。
方法1900の別の態様において、位相多項式低減オペレーションを行う前に、前処理オペレーションを実行することができる。この前処理オペレーションは、NOTゲート、CNOTゲート、トフォリゲート、アダマールゲート、およびRゲートに適用することが可能である。
方法1900の別の態様において、位相多項式低減オペレーションを行う前に、アダマールゲートの低減オペレーションを実行することができる。
方法1900の別の態様において、位相多項式低減オペレーションを行う前に、単一キュービットゲートの相殺オペレーションを実行することができる。
方法1900の別の態様において、位相多項式低減オペレーションを行う前に、2キュービットゲートの相殺オペレーションを実行することができる。
方法1900の別の態様において、位相多項式低減オペレーションを行うステップは、書換えルールのセットを実行するステップを含んでよい。書換えルールのセットは、ゲートカウント保持の書換えルールまたはゲートカウント低減の書換えルールのうちの一方またはその両方を含んでよい。
方法1900の別の態様において、位相多項式低減オペレーションとともに、1つ以上のゲート相殺オペレーションまたはゲート低減オペレーションを、反復的に行うことができる。
方法1900の別の態様において、位相多項式低減オペレーションを含む最適化オペレーションの固定シーケンスを反復して行うことができ、この位相多項式低減オペレーションは、この固定シーケンス中の最初の最適化オペレーションではなく、この固定シーケンスの中で一回だけ行われる。
図20は、本開示の態様による、QIPシステム2005の一例を示す図表2000を示す。QIPシステム2005は、また、量子コンピューティングシステム、量子コンピューティングネットワーク、コンピューティングデバイスと呼ばれることもある。一態様において、QIPシステム2005は、量子コンピューティングオペレーションまたはアルゴリズムをインプリメントまたは実行するために用いることができ、該システムに対する、インプリメントされている量子ゲートの適合性は、例えば、量子ビットとして用いられるトラップイオンに印加される調整された安定なレーザ出力を有する能力に依存する。QIPシステム2005は、図18中のコンピュータデバイス1810、および/または図18中のコンピュータデバイス1810中の最適化アプリケーション1830(例えば、本提案のオプティマイザまたは最適化アルゴリズム)を実行することによって生成された最適化結果を受信したまたはインプリメントした量子コンピュータの量子コンピュータインプリメンテーションに対応してよい。
このQIPシステム2005は、量子コンピュータのトラップ原子イオンバージョンを表し、光コントローラ2020によってイオン化された原子種(例えば、トラップイオン)を捕捉するイオントラップ2070を有するチャンバ2050に、原子種を供給する供給源2060を含むことができる。光コントローラ2020中の光源230は、1つ以上のレーザ源を含むことができ、レーザ源は、原子種のイオン化と、原子種の制御(例えば位相制御)と、光コントローラ2020中のイメージングシステム2040中で動作しているイメージ処理アルゴリズムによってモニタし追跡が可能な原子イオンの蛍光発光と、のために用いることができる。
イメージングシステム2040は、原子イオンがイオントラップ2070に供給されている間に(カウントするために)、または原子イオンがイオントラップ2070に供給された後に(原子イオンの状態をモニタするために)、それらの原子イオンをモニタするための高解像度イメージャ(例えばCCDカメラ)を含むことができる。一態様において、イメージングシステム2040は、光コントローラ2020と分離してインプリメンテーションが可能であるが、但し、イメージ処理アルゴリズムを使って原子イオンを検出し、識別し、および標識するための蛍光発光の使用は、光コントローラ2020と調整する必要があり得る。
また、QIPシステム2005は、前述の最適化技法を使用する量子アルゴリズム(例えば、QFT、量子シミュレーション)を行うため、QIPシステム2005の他の部分(図示せず)とともに動作することが可能なアルゴリズムコンポーネント2010も含んでよい。アルゴリズムコンポーネント2010は、量子回路またはその等価物のインプリメンテーションを可能にするために、QIPシステム2005の様々なコンポーネントに(例えば、光コントローラ2020に)命令を与えることができる。すなわち、アルゴリズムコンポーネント2010は、各種のコンピューティングプリミチブを、例えば、イオントラップ2070中のトラップイオンをキュービットとして使って、物理的表現にマッピングすることを可能にできる。
QIPシステム2005および/またはアルゴリズムコンポーネント2010を使用して、化学的または分子的用途に関連する量子シミュレーションをインプリメントすることもできる。例えば、一般に、分子などの量子オブジェクトのハミルトニアンは、以下:
Figure 2022510394000014
のように表すことができる。
上式で、p、q、r、およびsは電子軌道の整数および/またはラベルを表し、
Figure 2022510394000015
は生成演算子であり、a、a、およびaは、消滅演算子である。ハミルトニアンは、例えば、Jordan-Wigner変換:
Figure 2022510394000016
を介して、量子コンピューティングにより適した形式に変換できる。
小さいt(例えば、1よりも著しく小さい)の場合、変換は、一次式が
Figure 2022510394000017
であるトロッター分割プロセスによって近似することができる。
tが大きい場合、式は、
Figure 2022510394000018
となる。
こうして、括弧内の
Figure 2022510394000019
は、十分に大きなrに対して、
Figure 2022510394000020
でトロッター化され得る。個々のハミルトニアン
Figure 2022510394000021
は、Jordan-Wigner変換形式(上記を参照)などの変換形式であり得る。
いくつかのインプリメンテーションでは、分子のハミルトニアンをインプリメントすることは、2キュービット量子ゲートなどの各種のゲートの使用を含み得る。2キュービットCNOTゲートなどの2キュービット量子ゲートは、インプリメンテーションの物理レベルで、アダマールゲートなどの1キュービット量子ゲートよりもリソースを大量に消費する可能性がある。したがって、2キュービット量子ゲートの数の低減は、プレフォールトトレラントな量子コンピューティングにとって重要である可能性がある。
図21において、量子化学シミュレーションで頻繁に発生する、効果的なハミルトニアン演算子である
Figure 2022510394000022
の例を示している。e-iΣθをインプリメントする量子回路(上式で、Σは、加数2110が図21のシーケンス2100に現れるパウリ行列の積の合計である)、トロッター式を使用すると、1つ以上の2キュービット量子ゲートを有する。この例では、奇数のσおよび/またはσを検討するが、例えば、ハミルトン力学シミュレーションを考慮することから生じる可能性のある、積内のそのような行列の偶数も、以下のように検討することができる。加数2110を並べ替えることにより、Σを、図21のシーケンス2150に示される順序で現れる加数2110で表現することが可能になり得る。シーケンス2100に示される加数順序でe-iΣθをインプリメントする第一の量子回路と、シーケンス2150に示される加数順序でe-iΣθをインプリメントする第二の量子回路は、トロッターエラーまで同一の機能を実行することができるが、シーケンス2150に示される加数を有する第二の量子回路は、特定の低減サブルーチンを使用することによって、より少ない2量子ビット量子ゲートを利用することができる。その例を以下でより詳細に説明する。
(サブルーチン6;制御されたゲート相殺(2))
いくつかのインプリメンテーションでは、シーケンス2150の加数2110hは、図22Aに示される量子回路2200を導くことができる。
いくつかのインプリメンテーションでは、シーケンス2150内の加数2110gは、図22Aの量子回路2230を導くことができる。図22A~Bは、本開示の一態様による2キュービット量子ゲートの相殺ルーチンを示している。相殺ルーチンは機能を保持する場合がある。第一の量子回路2200は、6つのCNOTゲートおよび単一キュービットz回転ゲートを含み得、第二の量子回路2230は、6つのCNOTゲートおよび単一キュービットz回転ゲートを含み得る。元の項が特定のキュービットに
Figure 2022510394000023
を含む場合は常に、6つのCNOTおよび1つのR回路は、キュービットライン上のHによって共役になり得る。元の項が特定のキュービットに
Figure 2022510394000024
を含む場合は常に、6つのCNOTおよび1つのR回路は、キュービットライン上で、左からPHによって、また右からHPによって共役になり得る。第一の量子回路2200は、第二の量子回路2230の前に実行され得る。
引き続き、図22Aを参照すると、非限定的な例では、2つの隣接するHゲート2260は、Hゲート相殺オペレーションを使用して相殺され得る。同様に、2つの隣接するHゲート2262は、Hゲート相殺オペレーションを使用して相殺され得る。次に、CNOTゲート2264は、HPH位置転換オペレーションを使用して、第一のHゲート、Pゲート、および第二のHゲートの組み合わせ2266で(一時的に)位置転換され得る。HPH位置交換は、HPHゲートの組み合わせ2266とCNOTゲート2264との間で実行の順序を切り替えることができる。CNOTゲート2264の位置交換とHPHゲートの組み合わせ2266後、CNOTゲート2264の制御キュービットは、CNOTゲート2268の制御キュービットに隣接し得る。CNOTゲート2264の標的キュービットは、CNOTゲート2268の標的キュービットに隣接し得る。CNOTゲート2264、2268は両方とも、CNOTゲート相殺オペレーションを使用して相殺することができる。
図22Bに目を向けると、特定の例では、第一の量子回路2200および第二の量子回路2230における2キュービット量子ゲートは、相殺することができる。HPHゲートの組み合わせ2266は、HPH位置交換オペレーションを使用して、CNOTゲート2270と位置交換することができる。CNOTゲート2270の位置交換およびHPHゲートの組み合わせ2266後、CNOTゲート2270の制御キュービットは、CNOTゲート2272の制御キュービットに隣接し得る。CNOTゲート2270の標的キュービットは、CNOTゲート2772の標的キュービットに隣接し得る。CNOTゲート2270、2272は両方とも、CNOTゲート相殺オペレーションを使用して相殺することができる。
引き続き、図22Bを参照すると、いくつかのインプリメンテーションでは、第一のHゲート、Pゲート、および第二のHゲート(すなわち、HPH)の組み合わせは、HPH変換(HPH→PHP)を使用して、第一のPゲート2274、Hゲート、第二のPゲート2276(すなわち、PHP)の組み合わせに変換することができる。第一の位相ゲート2274は、CNOTゲート2278と位置交換することができ、第二のPゲート2276は、Pゲート位置交換オペレーションを使用して、別個にCNOTゲート2280と位置交換することができる。2つのPゲート位置交換オペレーションの後、CNOTゲート2278、Hゲート、およびCNOTゲート2280の組み合わせ2282は、CNOTゲート置換を使用して、3つのHゲート、Pゲート、CNOTゲート、および2つのPゲートを含む組み合わせ2284によって置き換えることができる。特定の例では、第一のHゲート、Pゲート、および第二のHゲート(すなわち、HPH)は、HPH変換(HPH→PHP)において、第一のPゲート、Hゲート、および第二のPゲート(PHP)に変換することができる。いくつかの例では、Pゲート位置交換を使用して、PゲートをCNOTゲート(図示せず)と位置交換させることができる。
図22A~Bに示されるこの非限定的な例では、6つのCNOTゲート(つまり、2キュービット量子ゲート)が1つのCNOTゲート(6:1の低減比)に削減された。例えば、異なる順序が使用されている場合、あるいはハードウェアの制約のために特定のオペレーションが置き換えられない場合は、5:1、4:1、3:1、または2:1などの他の低減比が可能である。制御されたゲート相殺サブルーチンは、2キュービットの量子ゲート(例えば、CNOTゲート)の数を減らしながら、量子回路の機能を維持することができる。2キュービット量子ゲートの数を低減することで、量子回路をインプリメントするのに使用されるリソースを節約できる可能性がある。
いくつかのインプリメンテーションでは、ハードウェアにCNOTゲートなどの制御されたゲートを直接インプリメントすることは、困難または非効率的である可能性がある。図23に示すように、例えば、1つ以上のMφlmer-Sφrensen(MS)ゲートおよび/または1つ以上の単一回転ゲートを使用して、式2300に基づいてCNOTゲートをインプリメントすることができ、ここで、s=±1はゲートのイオンが適用される相互作用パラメータの符号であり、ν=±1は任意に選択できる。同様に、MSゲートは、式2350に基づいて、4つのHゲート、2つのCNOTゲート、および単一キュービットz回転ゲートによってインプリメントされ得る。
いくつかの例では、2キュービットゲートの数が同じままであるか、増加し得る場合でさえ、第二の等価回路が、第一の元の回路と比較して、CNOTゲート(またはπ/2などの大きな角度のMSゲート)の数を減らしながら、小さな角度のMSゲートをより頻繁に適用できる場合は、第二の回路をインプリメントすることが望ましい場合がある。例えば、第二の回路は、1以上の熱雑音を含む現実的な雑音源、不正確な制御などが存在する中で、小さな角度のMSゲートが大きな角度のMSゲートよりもこのようなエラーの原因となるエラーが少ない場合、より優れた性能を示すことがある。
上記のオペレーションをインプリメントする他の例も、また、2キュービット量子ゲートの数を減らすことができる。上述したサブルーチン6およびオペレーションは、例えば、コンピュータデバイス1810および/またはQIPシステム2005によってインプリメントされ得る。
図24は、本開示の態様による、量子回路内の2キュービット量子ゲートを低減するためのプロセスまたは方法2400を示すフローチャートである。方法2400の態様は、図18に示されるコンピュータデバイス1810内のハードウェアおよび/またはソフトウェアによって、および/または図20のQIPシステム2005によって、実行され得る。
ブロック2405において、方法2400は、量子回路を形成する第一の複数の2キュービット量子ゲートに関連する情報を含むネットリストを受信するステップを含む。この情報は、制御されたゲート、Rゲート、アダマールゲート、位相ゲート、または逆位相ゲートのうちの1つ以上に関連する情報を含み得る。例えば、コンピュータデバイス1810は、量子回路構成に関連する情報を含むネットリストを受信することができる。
ブロック2410において、方法2400は、第一の複数の2キュービット量子ゲートと機能的に同等である第二の複数の2キュービット量子ゲートを生成するために、第一の複数の2キュービット量子ゲートに関連する情報に対して制御されたゲート相殺オペレーションを実行するステップを含み、第一の複数の2キュービット量子ゲートにおける2キュービット量子ゲートの第一の数は、第二の複数の2キュービット量子ゲートにおける2キュービット量子ゲートの第二の数よりも大きい。制御されたゲート相殺オペレーションの例は、図22A~Bに関連するオペレーションを含み得る。最適化アプリケーション1830は、2キュービット量子ゲートの数を減らすために、図22A~Bに関連するオペレーションを実行することができる。
ブロック2415において、方法2400は、第二の複数の2キュービット量子ゲートに関する情報を含む新規ネットリストを生成するステップを含む。
ブロック2420において、方法2400は、第二の複数の2キュービット量子ゲートに基づいて、量子回路の機能をインプリメントするための新規ネットリストを提供するステップを含む。
代替のインプリメンテーションでは、方法2400は、1つ以上のHゲート相殺オペレーションを実行するステップを含む。
代替のインプリメンテーションでは、方法2400は、1つ以上のHPH位置交換オペレーションを実行するステップを含む。
代替のインプリメンテーションでは、方法2400は、1つ以上のCNOTゲート相殺オペレーションを実行するステップを含む。
代替のインプリメンテーションでは、方法2400は、1つ以上のHPH変換を実行するステップを含む。
代替のインプリメンテーションでは、方法2400は、1つ以上のPゲート位置交換オペレーションを実行するステップを含む。
代替のインプリメンテーションでは、方法2400は、1つ以上のHPH変換を実行するステップを含む。
代替のインプリメンテーションでは、方法2400は、1つ以上のPゲート位置交換オペレーションを実行するステップを含む。
代替のインプリメンテーションでは、方法2400は、1つ以上のCNOTゲート置換を実行するステップを含む。
本開示を、図示のインプリメンテーションによって提示してきたが、当業者は、これらの実施形態に対するバリエーションがあり得、それらのバリエーションは、本開示の範囲内にあることになろうことを容易に認識していよう。したがって、当業者は、添付の特許請求の範囲から逸脱することなく、多くの修正をなすことができよう。

Claims (20)

  1. 量子回路の2キュービットゲートを低減するための方法であって、
    前記量子回路を形成する第一の複数の2キュービット量子ゲートに関連する情報を含むネットリストを受信するステップと、
    前記第一の複数の2キュービット量子ゲートと機能的に同等である第二の複数の2キュービット量子ゲートを生成するために、前記第一の複数の2キュービット量子ゲートに関連する前記情報に対して制御されたゲート相殺オペレーションを実行するステップであって、前記第一の複数の2キュービット量子ゲートにおける2キュービット量子ゲートの第一の数は、前記第二の複数の2キュービット量子ゲートにおける2キュービット量子ゲートの第二の数よりも大きい、ステップと、
    前記第二の複数の2キュービット量子ゲートに関する情報を含む新規ネットリストを生成するステップと、
    前記第二の複数の2キュービット量子ゲートに基づいて、前記量子回路の機能をインプリメントするための前記新規ネットリストを提供するステップと、
    含む、方法。
  2. 前記情報が、前記制御されたゲート、Rゲート、Hゲート、Pゲート、またはPゲートのうちの1つ以上に関連する情報を含む、請求項1に記載の方法。
  3. 前記制御されたゲート相殺オペレーションを実行するステップは、1つ以上のHゲート相殺オペレーションを実行するステップをさらに含む、請求項1に記載の方法。
  4. 前記制御されたゲート相殺オペレーションを実行するステップは、1つ以上のHPH位置交換オペレーションを実行することをさらに含む、請求項1に記載の方法。
  5. 前記制御されたゲート相殺オペレーションを実行するステップは、1つ以上のCNTゲート相殺オペレーションを実行するステップをさらに含む、請求項4に記載の方法。
  6. 前記制御されたゲート相殺オペレーションを実行するステップは、1つ以上のHPH変換を実行するステップをさらに含む、請求項1に記載の方法。
  7. 前記制御されたゲート相殺オペレーションを実行するステップは、1つ以上のPゲート位置交換オペレーションを実行するステップをさらに含む、請求項6に記載の方法。
  8. 前記制御されたゲート相殺オペレーションを実行するステップは、1つ以上のHPH変換を実行するステップをさらに含む、請求項1に記載の方法。
  9. 前記制御されたゲート相殺オペレーションを実行するステップは、1つ以上のPゲート位置交換オペレーションを実行するステップをさらに含む、請求項8に記載の方法。
  10. 前記制御されたゲート相殺オペレーションを実行することは、1つ以上のCNOTゲート置換を実行するステップをさらに含む、請求項1に記載の方法。
  11. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに
    量子回路を形成する第一の複数の2キュービット量子ゲートに関連する情報を含むネットリストを受信することと、
    前記第一の複数の2キュービット量子ゲートと機能的に同等である第二の複数の2キュービット量子ゲートを生成するために、前記第一の複数の2キュービット量子ゲートに関連する前記情報に対して制御されたゲート相殺オペレーションを実行することであって、前記第一の複数の2キュービット量子ゲートにおける2キュービット量子ゲートの第一の数は、前記第二の複数の2キュービット量子ゲートにおける2キュービット量子ゲートの第二の数よりも大きい、ことと、
    前記第二の複数の2キュービット量子ゲートに関する情報を含む新規ネットリストを生成することと、
    前記第二の複数の2キュービット量子ゲートに基づいて、前記量子回路の機能をインプリメントするための前記新規ネットリストを提供することと、
    を誘発する命令を有する、コンピュータ可読媒体。
  12. 前記情報が、前記制御されたゲート、Rゲート、Hゲート、Pゲート、またはP†ゲートのうちの1つ以上に関連する情報を含む、請求項11に記載のコンピュータ可読媒体。
  13. 前記制御されたゲート相殺オペレーションを実行することは、1つ以上のHゲート相殺オペレーションを実行することをさらに含む、請求項11に記載のコンピュータ可読媒体。
  14. 前記制御されたゲート相殺オペレーションを実行することは、1つ以上のHPH位置交換オペレーションを実行することをさらに含む、請求項11に記載のコンピュータ可読媒体。
  15. 前記制御されたゲート相殺オペレーションを実行することは、1つ以上のCNOTゲート相殺オペレーションを実行することをさらに含む、請求項14に記載のコンピュータ可読媒体。
  16. 前記制御されたゲート相殺オペレーションを実行することは、1つ以上のHP†H変換を実行することをさらに含む、請求項11に記載のコンピュータ可読媒体。
  17. 前記制御されたゲート相殺オペレーションを実行することは、1つ以上のPゲート位置交換オペレーションを実行することをさらに含む、請求項16に記載のコンピュータ可読媒体。
  18. 前記制御されたゲート相殺オペレーションを実行することは、1つ以上のHPH変換を実行することをさらに含む、請求項11に記載のコンピュータ可読媒体。
  19. 前記制御されたゲート相殺オペレーションを実行することは、1つ以上の逆Pゲート位置交換オペレーションを実行することをさらに含む、請求項18に記載のコンピュータ可読媒体。
  20. 前記制御されたゲート相殺オペレーションを実行することは、1つ以上のCNOTゲート置換を実行することをさらに含む、請求項11に記載のコンピュータ可読媒体。
JP2021531661A 2018-12-07 2019-11-26 量子回路において2キュービットゲートを低減するための方法および装置 Pending JP2022510394A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862776634P 2018-12-07 2018-12-07
US62/776,634 2018-12-07
US16/678,835 US11010517B2 (en) 2018-12-07 2019-11-08 Methods and apparatuses for two-qubit gate reduction in quantum circuits
US16/678,835 2019-11-08
PCT/US2019/063194 WO2020117552A1 (en) 2018-12-07 2019-11-26 Methods and apparatuses for two-qubit gate reduction in quantum circuits

Publications (1)

Publication Number Publication Date
JP2022510394A true JP2022510394A (ja) 2022-01-26

Family

ID=70971419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021531661A Pending JP2022510394A (ja) 2018-12-07 2019-11-26 量子回路において2キュービットゲートを低減するための方法および装置

Country Status (5)

Country Link
US (1) US11010517B2 (ja)
EP (1) EP3891666A1 (ja)
JP (1) JP2022510394A (ja)
CN (1) CN113168584B (ja)
WO (1) WO2020117552A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620563B2 (en) * 2020-06-10 2023-04-04 International Business Machines Corporation Synthesis of a quantum circuit

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3091388B1 (fr) * 2018-12-26 2022-06-10 Bull Sas Procédé de compilation d’un circuit quantique sur un processeur quantique à ions piégés
FR3091386B1 (fr) * 2018-12-26 2022-06-10 Bull Sas Procédé de compilation d’un circuit quantique sur un processeur quantique à ions piégés
FR3091385B1 (fr) * 2018-12-26 2022-08-05 Bull Sas Méthode de développement d’un procédé de compilation d’un circuit quantique sur un processeur quantique et un tel procédé
US11783217B2 (en) * 2019-02-21 2023-10-10 IonQ, Inc. Quantum circuit optimization
US11615335B2 (en) * 2019-02-27 2023-03-28 Quantinuum Llc Detection scheme
US11868846B1 (en) * 2020-06-23 2024-01-09 Amazon Technologies, Inc. Quantum computing simulation using comparative rejection sampling
US11775856B2 (en) 2020-12-09 2023-10-03 Beit Inc. Quantum logic circuit with weights and methods for use therewith
JP2022180189A (ja) * 2021-05-24 2022-12-06 国立大学法人 東京大学 量子回路
US20220405132A1 (en) * 2021-06-17 2022-12-22 Multiverse Computing S.L. Method and system for quantum computing
US11373114B1 (en) * 2021-10-12 2022-06-28 Classiq Technologies LTD. CSP-based synthesis of a quantum circuit
WO2023069245A1 (en) * 2021-10-18 2023-04-27 Beit Inc. Method for implementing a diagonal operator on a restricted topology via a quantum logic circuit
WO2023127022A1 (ja) * 2021-12-27 2023-07-06 富士通株式会社 量子回路設計プログラム、量子回路設計方法および量子回路設計装置
CN116629370A (zh) * 2023-06-26 2023-08-22 北京百度网讯科技有限公司 量子电路处理方法、装置及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118608B (zh) * 2007-08-23 2011-07-20 清华大学 任意量子比特门的分解方法
JP4786727B2 (ja) * 2009-03-27 2011-10-05 株式会社東芝 量子計算方法、量子計算機およびプログラム
US10360088B2 (en) 2015-11-20 2019-07-23 Quantum Benchmark, Inc. Randomized compiling for quantum computation
CN107066234B (zh) * 2017-04-21 2020-05-26 重庆邮电大学 一种量子乘法器的设计方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620563B2 (en) * 2020-06-10 2023-04-04 International Business Machines Corporation Synthesis of a quantum circuit
US11880743B2 (en) 2020-06-10 2024-01-23 International Business Machines Corporation Synthesis of a quantum circuit

Also Published As

Publication number Publication date
CN113168584B (zh) 2022-08-05
CN113168584A (zh) 2021-07-23
US11010517B2 (en) 2021-05-18
EP3891666A1 (en) 2021-10-13
US20200184024A1 (en) 2020-06-11
WO2020117552A1 (en) 2020-06-11

Similar Documents

Publication Publication Date Title
JP2022510394A (ja) 量子回路において2キュービットゲートを低減するための方法および装置
JP7245473B2 (ja) 連続するパラメータを備える大規模量子回路の自動最適化
Nam et al. Automated optimization of large quantum circuits with continuous parameters
US11341303B2 (en) System for reversible circuit compilation with space constraint, method and program
Grimsley et al. An adaptive variational algorithm for exact molecular simulations on a quantum computer
Guerreschi et al. QAOA for Max-Cut requires hundreds of qubits for quantum speed-up
Häner et al. Factoring using 2n+ 2 qubits with Toffoli based modular multiplication
WO2018098018A1 (en) Compilation, memory management, and fault localization with ancillas in an unknown state
Lin et al. FTQLS: Fault-tolerant quantum logic synthesis
EP4107676A1 (en) Methods and apparatuses for resource-optimized fermionic local simulation on quantum computer for quantum chemistry
Wu et al. QGo: Scalable quantum circuit optimization using automated synthesis
Rakyta et al. Efficient quantum gate decomposition via adaptive circuit compression
Jang et al. Optimized implementation of quantum binary field multiplication with toffoli depth one
Wu et al. Reoptimization of quantum circuits via hierarchical synthesis
Larasati et al. Quantum cryptanalysis landscape of shor’s algorithm for elliptic curve discrete logarithm problem
Qi et al. The barren plateaus of quantum neural networks: review, taxonomy and trends
Childs et al. Automated optimization of large quantum circuits with continuous parameters
Guo et al. An Unpooling Layer for Graph Generation
Kiser et al. Classical and quantum cost of measurement strategies for quantum-enhanced auxiliary field Quantum Monte Carlo
Parkkinen et al. Graph visualization with latent variable models
Roetteler Tools for Quantum and Reversible Circuit Compilation
Lee et al. Toffoli-depth reduction method preserving in-place quantum circuits and its application to SHA3-256
Prabhu et al. Parallel Exploration of Directed Acyclic Graphs using the Actor Model
Zhu et al. A unified framework for coarse grained molecular dynamics of proteins
Markov et al. Hybrid Techniques for Quantum Circuit Simulation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240305