(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-15
(45)【発行日】2023-03-24
(54)【発明の名称】連続するパラメータを備える大規模量子回路の自動最適化
(51)【国際特許分類】
G06F 30/32 20200101AFI20230316BHJP
H01L 21/82 20060101ALI20230316BHJP
G06N 10/00 20220101ALI20230316BHJP
【FI】
G06F30/32
H01L21/82 C
H01L21/82 B
G06N10/00
(21)【出願番号】P 2020522328
(86)(22)【出願日】2018-10-19
(86)【国際出願番号】 US2018056764
(87)【国際公開番号】W WO2019079754
(87)【国際公開日】2019-04-25
【審査請求日】2021-10-07
(32)【優先日】2017-10-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-10-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520159592
【氏名又は名称】ユニバーシティ オブ メリーランド, カレッジ パーク
(73)【特許権者】
【識別番号】520132894
【氏名又は名称】イオンキュー インコーポレイテッド
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】ナム ユンソン
(72)【発明者】
【氏名】マスロフ ドミトリ
(72)【発明者】
【氏名】チャイルズ アンドリュー
(72)【発明者】
【氏名】ロス ニール ジュリアン
(72)【発明者】
【氏名】スー ユアン
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2010-218513(JP,A)
【文献】米国特許第09064067(US,B2)
【文献】Matthew Amy,et al.,POLYNOMIAL-TIME T-DEPTH OPTIMIZATION OF CLIFFORD+T CIRCUITS VIA MATROID PARTITIONING,IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS,米国,IEEE,2014年10月,pp.1476-pp.1489,http://dx.doi.org/10.1109/TCAD.2014.2341953
【文献】Nabila Abdessaied,et al.,QUANTUM CIRCUIT OPTIMIZATION BY HADAMARD GATE REDUCTION,Internet,ドイツ,2014年07月31日,pp.1-14,http://dx.doi.org/10.1007/978-3-319-08494-7_12
【文献】Dmitri Maslov,BASIC CIRCUIT COMPILATION TECHNIQUES FOR AN ION-TRAP QUANTUM MACHINE,New Journal of Physics,ドイツ,2017年02月20日,pp.1-15
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
H01L 21/82
G06N 10/00
(57)【特許請求の範囲】
【請求項1】
量子回路を最適化する方法であって、
前記量子回路を形成する量子ゲートの第一リストについての情報を包含するネットリストを受信するステップと、
量子ゲートの前記第一リストとの機能等価性を有する量子ゲートの第二リストを生成するため、量子ゲートの前記第一リストについての前記情報に位相多項式低減オペレーションを実行するステップであって、
前記位相多項式低減オペレーションは、回転角θが0と2πの間の範囲の任意の値であるR
Z
(θ)ゲートの低減を含み、量子ゲートの前記第二リスト中の量子ゲートの数は量子ゲートの前記第一リスト中の量子ゲートの数より少ない、前記実行するステップと、
量子ゲートの前記第二リストについての情報を包含する新規のネットリストを生成するステップと、
量子ゲートの前記第二リストを用いて前記量子回路の機能をインプリメントするため、前記新規のネットリストを提供するステップと、
を含む方法。
【請求項2】
前記位相多項式低減オペレーションを行う前に、前処理オペレーションを実行するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記前処理オペレーションが適用される、量子ゲートの前記第一リストについての前記情報が、NOTゲート、CNOTゲート、トフォリゲート、アダマールゲート、および
R
Z
(θ)ゲートについての情報を含む、請求項2に記載の方法。
【請求項4】
前記位相多項式低減オペレーションを行う前に、アダマールゲートの低減オペレーションを実行するステップをさらに含む、請求項1に記載の方法。
【請求項5】
前記位相多項式低減オペレーションを行う前に、単一キュービットゲートの相殺オペレーションを実行するステップをさらに含む、請求項1に記載の方法。
【請求項6】
前記位相多項式低減オペレーションを行う前に、2キュービットゲートの相殺オペレーションを実行するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記位相多項式低減オペレーションを行うステップが、書換えルールのセットをインプリメントするステップを含む、請求項1に記載の方法。
【請求項8】
前記書換えルールのセットが、ゲートカウント保持の書換えルールまたはゲートカウント低減の書換えルールのうちの1つまたはその両方を含む、請求項7に記載の方法。
【請求項9】
前記位相多項式低減オペレーションとともに、1つ以上のゲート相殺オペレーションまたはゲート低減オペレーションを、反復的に行うステップをさらに含む、請求項1に記載の方法。
【請求項10】
前記位相多項式低減オペレーションを含む最適化オペレーションの固定シーケンスを反復して行うステップであって、前記位相多項式低減オペレーションは、前記固定シーケンス中の最初の最適化オペレーションではなく、前記固定シーケンスの中で一回だけ行われる、前記行うステップをさらに含む、請求項1に記載の方法。
【請求項11】
プロセッサによって実行されると、前記プロセッサに量子回路の最適化を行わせるコードを格納する、コンピュータ可読ストレージ媒体であって、
前記量子回路を形成する量子ゲートの第一リストについての情報を包含するネットリストを受信するためのコードと、
量子ゲートの前記第一リストとの機能等価性を有する量子ゲートの第二リストを生成するため、量子ゲートの前記第一リストについての前記情報に位相多項式低減オペレーションを実行するためのコードであって、
前記位相多項式低減オペレーションは、回転角θが0と2πの間の範囲の任意の値であるR
Z
(θ)ゲートの低減を含み、量子ゲートの前記第二リスト中の量子ゲートの数は量子ゲートの前記第一リスト中の量子ゲートの数より少ない、前記実行するためのコードと、
量子ゲートの前記第二リストについての情報を包含する新規のネットリストを生成するためのコードと、
量子ゲートの前記第二リストを用いて前記量子回路の機能をインプリメントするため、前記新規のネットリストを提供するためのコードと、
を含む、コンピュータ可読ストレージ媒体。
【請求項12】
前記位相多項式低減オペレーションを行う前に、前処理オペレーションを実行するためのコードをさらに含む、請求項11に記載のコンピュータ可読ストレージ媒体。
【請求項13】
前記前処理オペレーションが適用される、量子ゲートの前記第一リストについての前記情報が、NOTゲート、CNOTゲート、トフォリゲート、アダマールゲート、および
R
Z
(θ)ゲートについての情報を含む、請求項11に記載のコンピュータ可読ストレージ媒体。
【請求項14】
前記位相多項式低減オペレーションを行う前に、アダマールゲートの低減オペレーションを実行するためのコードをさらに含む、請求項11に記載のコンピュータ可読ストレージ媒体。
【請求項15】
前記位相多項式低減オペレーションを行う前に、単一キュービットゲートの相殺オペレーションを実行するためのコードをさらに含む、請求項11に記載のコンピュータ可読ストレージ媒体。
【請求項16】
前記位相多項式低減オペレーションを行う前に、2キュービットゲートの相殺オペレーションを実行するためのコードをさらに含む、請求項11に記載のコンピュータ可読ストレージ媒体。
【請求項17】
前記位相多項式低減オペレーションを行うステップを実行するための前記コードが、書換えルールのセットを実行するためのコードを含む、請求項11に記載のコンピュータ可読ストレージ媒体。
【請求項18】
前記書換えルールのセットが、ゲートカウント保持の書換えルールまたはゲートカウント低減の書換えルールのうちの1つまたはその両方を含む、請求項17に記載のコンピュータ可読ストレージ媒体。
【請求項19】
前記位相多項式低減オペレーションとともに、1つ以上のゲート相殺オペレーションまたはゲート低減オペレーションを、反復的に行うためのコードをさらに含む、請求項11に記載のコンピュータ可読ストレージ媒体。
【請求項20】
前記位相多項式低減オペレーションを含む最適化オペレーションの固定シーケンスを反復して行うためのコードであって、前記位相多項式低減オペレーションは、前記固定シーケンス中の最初の最適化オペレーションではなく、前記固定シーケンスの中で一回だけ行われる、前記行うためのコードをさらに含む、請求項11に記載のコンピュータ可読ストレージ媒体。
【請求項21】
前記位相多項式低減オペレーションは、R
Z
(θ)ゲートの低減とCNOTゲートの低減の両方を含む、請求項1に記載の方法。
【請求項22】
前記位相多項式低減オペレーションは、R
Z
(θ)ゲートの低減とCNOTゲートの低減の両方を含む、請求項11に記載のコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本特許出願は、2018年10月8日出願の米国本出願第16/164,586号、名称「AUTOMATED OPTIMIZATION OF LARGE-SCALE QUANTUM CIRCUITS WITH CONTINUOUS PARAMETERS」、および2017年10月19日出願の米国仮特許願第62/574,480号、名称「AUTOMATED OPTIMIZATION OF LARGE-SCALE QUANTUM CIRCUITS WITH CONTINUOUS PARAMETERS」に対する優先権を主張し、これらの内容は参照によりその全体が本明細書に組み込まれる。
【0002】
政府のライセンス権利
本発明は、米陸軍研究事務所より受注したW911NF1610349、および米国国立科学財団より受注したCCF1526380の下で、政府の支援を得て達成されたものである。米国政府は本発明に対し所定の権利を有する。
【0003】
本開示の諸態様は、一般に回路の最適化に関し、さらに具体的には、連続するパラメータを備える大規模量子回路の自動最適化に関する。
【背景技術】
【0004】
大規模量子回路は種々の仕方でインプリメントすることが可能である。トラップ原子イオンの使用は、ユニバーサルで完全にプログラム可能な量子コンピューティング・マシン実現させる量子情報処理(QIP:quantum information processing)アプローチの1つである。また、トラップ原子イオンは、量子情報ネットワーク(QIN:quantum information network)のための優れたプラットフォームでもある。かかるシステムまたはネットワークの全体的通信を改良することが可能な、トラップ原子イオンに基づくシステムまたはネットワークが望まれている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、トラップ原子イオンに基づく、さらには例えば超伝導回路に基づくQIPシステムを含め、様々な種類のQIPシステム中の大規模量子回路のより良い最適化(例えば、より少数のゲート)を可能にする、効率的な技法を開発することが望まれている。
【課題を解決するための手段】
【0006】
以下では、諸態様の基本的理解を提供するために、1つ以上のかかる態様の簡明な要約を提示する。本要約は、考えられる全ての態様の広範な全体像ではなく、さらに、全ての態様の主要または重要なエレメントを識別することも一部または全部の態様の範囲を記述することも意図されていない。その目的は、後記で提示するより詳細な説明の前置きとして、簡明な形で、1つ以上の態様のいくつかの概念を提示することである。
【0007】
本明細書で説明するのは、連続するパラメータを備える大規模量子回路の自動最適化のための技法である。例えば、本開示の諸態様は、従来式のコンピュータを凌駕する量子計算において期待されるサイズおよび型の量子回路を最適化するための自動化技法のインプリメンテーションを説明する。本明細書に記載された技法は、連続するゲートパラメータをどのように扱うかを示し、大規模な量子回路を最適化する能力のある高速アルゴリズムのコレクションに適用が可能である。これらの技法は、内在する量子アルゴリズムの基本的レイアウトが保持されるように、最小の構造的変化を行いながら、従来のアプローチよりも大幅に少ない時間でより良好な最適化を提供することができる。これらの技法により提供される結果は、既存の量子コンピューティングハードウェア上で実行が可能な計算と、量子コンピューティングハードウェアへのインプリメンテーションの難易度はより高いが、従来式のコンピュータによって達成できる結果を凌駕することが期待されるさらに進んだ計算と、の間のギャップを埋める助力となる。
【0008】
或る例において、量子回路を最適化する方法が表され、該方法は、量子回路を形成する量子ゲートの第一リストについての情報を包含するネットリストを受信するステップと、量子ゲートの該第一リストとの機能等価性を有する量子ゲートの第二リストを生成するため、量子ゲートの第一リストについての情報に位相多項式低減オペレーションを実行するステップであって、量子ゲートの第二リスト中の量子ゲートの数は量子ゲートの第一リスト中の量子ゲートの数より少ない、該実行するステップと、量子ゲートの第二リストについての情報を包含する新規のネットリストを生成するステップと、量子ゲートの第二リストを用いて量子回路の機能をインプリメントするため、該新規のネットリストを提供するステップと、を含む。
【0009】
添付の図面は一部のインプリメンテーションだけを示すもので、したがって、範囲を限定していると見なすべきでない。
【図面の簡単な説明】
【0010】
【
図1】本開示の態様による、量子回路の一例を示す図表である。
【
図2】本開示の態様による、位相多項式表現のための量子回路の一例を示す図表である。
【
図3】本開示の態様による、アダマール(Hadamard)ゲート低減のためのルールの例を示す図表である。
【
図4】本開示の態様による、転換ルールの例を示す図表である。
【
図5】本開示の態様による、位相多項式を用いる交代併合による最適化サブルーティンの一例を示す図表である。
【
図6】本開示の態様による、位相多項式表現に適うサブ回路を示す図表である。
【
図7】本開示の態様による、ゲートカウント保持の書換えルールの例を示す図表である。
【
図8】本開示の態様による、ゲートカウント低減の書換えルールの例を示す図表である。
【
図9】本開示の態様による、
図5中の回路のさらなる単純化の一例を示す図表である。
【
図10】本開示の態様による、トフォリ(Toffoli)ゲートのインプリメンテーションの例を示す図表である。
【
図11】本開示の態様による、近似量子フーリエ変換(QFT:quantum Fourier transform)、クイッパー(Quipper)ライブラリ加算回路(adder)、およびフーリエベース加算回路(QFA:Fourier-based adder)に対する合計ゲートカウントの例を示すチャートである。
【
図12】本開示の態様による、クイッパーライブラリ(Quipper library)加算回路に対するCNOTゲートのいくつかの例を示すチャートである。
【
図13】本開示の態様による、諸加算回路の軽度の最適化に対する結果を示す表である。
【
図14】本開示の態様による、諸加算回路の重度の最適化に対する結果を示す表である。
【
図15】本開示の態様による、積公式アルゴリズムに対する合計ゲートカウントの例を示すチャートである。
【
図16A】
図16Aは、本開示の態様による、積公式アルゴリズムの最適化に対する結果を示す表である。
【
図16B】
図16Bは、本開示の態様による、積公式アルゴリズムの最適化に対する結果を示す表である。
【
図17A】
図17Aは、本開示の態様による、各種のアルゴリズムに対する軽度および重度のT-par最適化の比較を示す表である。
【
図17B】
図17Bは、本開示の態様による、各種のアルゴリズムに対する軽度および重度のT-par最適化の比較を示す表である。
【
図17C】
図17Cは、本開示の態様による、各種のアルゴリズムに対する軽度および重度のT-par最適化の比較を示す表である。
【
図18】本開示の態様による、連続するパラメータを備える大規模量子回路の自動最適化を実行するためのデバイスの一例を示すブロック図である。
【
図19】本開示の態様による、連続するパラメータを備える大規模量子回路の自動最適化の方法の一例を示すフローチャートである。
【
図20】本開示の態様による、最適化された大規模量子回路をインプリメントするためのトラップイオンベースの量子情報処理(QIP)システムの一例を示すブロック図である。
【発明を実施するための形態】
【0011】
添付の図面に関連させて以下に述べる詳細な説明は、様々な構成の解説として意図されたものであり、本明細書で説明する概念の実践が可能な唯一の構成を表すものとは意図されてはいない。本詳細な説明は、様々な概念の徹底的な理解を提供するための具体的詳細を含む。しかしながら、当業者には当然のことながら、これらの概念はこのような具体的詳細がなくても実践が可能である。いくつかのインスタンスでは、かかる概念を曖昧にするのを避けるために、周知のコンポーネントはブロック図の形で示される。
【0012】
本開示では、従来のコンピュータを凌駕する量子計算に期待されるサイズおよび型の量子回路に対する自動化技法のインプリメンテーションを説明する。本開示は、どのように連続するゲートパラメータを扱うかを示し、大規模量子回路を最適化することができる高速なアルゴリズムのコレクションをレポートする。対象の一連のベンチマークに対して、本記載の技法は、ゲートカウントの相当な低減を得ることができる。具体的に、本開示中の技法は、内在する量子アルゴリズムの基本的レイアウトが保持されるように、最小の構造的変化を行いながら、従来のアプローチよりも大幅に少ない時間でより良好な最適化を提供することができる。これらの技法により提供される結果は、既存の量子コンピューティングハードウェア上で実行が可能な計算と、量子コンピューティングハードウェアへのインプリメンテーションの難易度はより高いが、従来式のコンピュータによって達成できる結果を凌駕することが期待されるさらに進んだ計算との間のギャップを埋める助力となる。
【0013】
量子コンピュータまたは量子情報処理(QIP)システムは、特定の問題を解決するにあたって従来式のコンピュータをはるかに凌駕する潜在能力を有する。おそらくは、これらのもっと知られた応用は整数の因数分解作業であって、既知の最速の従来式アルゴリズムは超多項式であり、ショア(Shor)のアルゴリズムは多項式時間でこの問題を解き、広く使われているRSA暗号システムへの攻撃法を提供する。
【0014】
ショアのアルゴリズムの発見の前でさえ、量子力学をシミュレートするために量子コンピュータが提案されていた。ハミルトニアン(Hamiltonian)力学をシミュレートすることによって、量子コンピュータは、凝縮体中の現象および高エネルギ物理学、量子化学、および材料科学を探求ことができる。量子シミュレーションの有用なインスタンスは、因数分解問題の従来の難題インスタンスよりも、より小規模な量子コンピュータへのアクセス可能性が高い。
【0015】
これらのおよび他の潜在的応用は、スケーラブル量子コンピュータの構築に向けての大きな努力をモチベートする助力となってきた。2つの量子コンピューティング技術、超電導回路とトラップイオンとは、現在は程々のサイズではあるが、完全にプログラム可能なユニバーサルなデバイスを可能にするのに十分なほどに成熟してきた。いくつかのグループは、産業界および政府の相当な投資に後援されて、これらのプラットフォームをより大規模なデバイスに積極的に発展させている。しかして、数十またさらには数百キュービットが関わる量子計算がそう遠くない将来に実行される可能性が高い。
【0016】
実験的な量子情報処理はまだ困難な技術課題に留まっており、しばらくの期間は量子計算のために利用可能なリソースは高価で非常に限定されることになろう。利用可能なハードウェアを最大限に生かすために、できるだけ効率の良い(例えば、最小数のゲートでインプリメントされる)量子アルゴリズムのインプリメンテーションを開発することが必須である。
【0017】
量子アルゴリズムは、通常、量子回路に関係づけて表され、キュービットに作用する基本量子ロジックゲートのシーケンスとして計算を表現する。所与のアルゴリズムを、基本的オペレーションの利用可能なセットとともにインプリメントする多くの仕方があり、最少のリソースを使用するインプリメンテーションを見出すために有用である。抽象的な意味で、効率的なアルゴリズムを開発し、実践的な効率に目を向けてそれを実行することが重要である一方、大規模量子回路は、自動最適化を可能にする技法から利益を得るのに十分な複雑性を有することが多い。
【0018】
本開示では、マニュアルでのゲートレベルの最適化がもはや実際的には行えないスケールで量子回路のパフォーマンスをできるだけ改良することを目指して、それら量子回路のサイズを低減するためのソフトウェアツール(例えば、量子回路オプティマイザ)としてインプリメントできる様々な技法が説明される。任意の量子回路の全体的最適化はQMA困難なので、本開示で説明するアプローチは、ゲートカウントを低減するための自動化方式の注意深く選択された経験則のセットを適用することであり、多くの場合相当な節減をもたらす。
【0019】
本明細書で記述する最適化技法は、いくつかの型の量子回路に適用が可能である。ベンチマーク回路は、量子フーリエ変換、整数加算回路、ガロア体乗数など、因数分解および離散対数を計算するための量子アルゴリズムのコンポーネントを含む。さらに検討されたのは、ハミルトニアンシミュレーションへ積公式アプローチのための回路である。これらのケースの各々において、焦点は、従来式の計算を凌駕するアプリケーションにおいて有用な可能性の高い回路のサイズに当てられた。本明細書に記載の諸技法は、実践者が、所与のアプリケーションにおいてどのアプリケーションのインプリメンテーションが最も効率的かを理解するのを助力することができる。
【0020】
量子回路の最適化に関する既存の研究はあるが、本明細書で検討しているような大規模回路目標とした自動最適化に焦点を当てた研究は限られている。さらに、後記でさらに詳しく説明するように、これまでに報告されたランタイムからの推定は、既存の量子回路オプティマイザがかかる大規模回路に対しうまく機能する可能性が低いことを示唆している。本開示で提案する技法を用いて最適化された回路と、他のアプローチとの直接的な比較は、本提案の技法が、一般に、より短時間でより小さな回路を見出すことを示している。さらに、本開示で提案する技法は、連続するパラメータを備えた量子回路の自動最適化のために使用される。
【0021】
全体的考察
本開示では、大規模量子回路、すなわち、従来式のコンピュータの力の及ばない量子計算において出現する量子回路を効率的に最適化する課題が検討される。本開示は、ソフトウェアソリューション(例えば、大規模量子回路の最適化に対するオフラインソリューション)としてインプリメンテーションおよび実行が可能な軽度および重度最適化アルゴリズム(例えば、オプティマイザの軽度バージョンおよび重度バージョン)に関する2つの最適化アプローチを説明する。これらのアルゴリズムは、基本的最適化の選択されたシーケンスに基づくが、それでもこれらは、ゲートカウントのかなりの低減を成就し、T-par最適化(後記でさらに詳しく説明する)など、より数学的に洗練されたアプローチを上回る改良を行う。当アプローチの簡潔性は、特にそのオプティマイザの軽度バージョンを使うことによって、非常に高速なランタイムに反映される。
【0022】
本オプティマイザの重度バージョンは、より大きな回路の最適化が可能であることを実証している。出力をさらに改良するために、可能ならば一部のアダマールゲートを含めて、CNOTおよびRZゲートのステージを構成するためのより拡張された(しかして計算的によりきつい)アルゴリズムをインプリメントすることによって、RZのカウントを低減するためルーティンを修改することが可能である。別の考えは、本明細書に記載のアルゴリズム中にテンプレートベースのピープホール最適化を組み込むことである。他の考えは、サブ回路再書込みルール(後記でさらに詳しく説明する)のセットを拡張し、他のベンチマーク回路へのアプローチのそのパフォーマンスを検討することである。最後に、各種リソース(例えば、各種のゲート、補助キュービット)の相対コストを検討することにより、これらリソースの有利なトレードオフへの最適化につなげることができよう。
【0023】
方法
本開示で提案する様々な最適化アルゴリズムおよびそれらのインプリメンテーションに関する詳細を以降で説明する。本開示全体を通して、或る回路に出現するゲートの数を示すために用語gが用いられる。以下の背景セクションでは、本開示全体を通して使われる表記の定義が提示される。量子回路の表現と題されたセクションでは、本明細書に記載の技法と関連させて用いることの可能な量子回路の3つの別個の表現を説明する。前処理と題されたセクションでは、本明細書に記載の様々な最適化アルゴリズムと併せ使用が可能な前処理ステップを説明する。最適化サブルーティンと題されたセクションでは、本開示で提案されるアプローチの基本構築ブロックを形成するいくつかのサブルーティンを説明する。さらに、汎用最適化アルゴリズムと題されたセクションでは、最適化アルゴリズムの様々なバージョンを形成するために、これらのサブルーティンをどのように組み合せるかを説明する。最後に、特殊用途最適化と題されたセクションでは、特定種類の回路を取り扱うために使用が可能な、2つの特殊用途最適化技法を提示する。
【0024】
背景
量子回路は、キュービットの集合に作用する一連の量子ゲートである。量子回路は、便宜上、水平のワイヤがキュービットの時間発展を示し、時間は左から右に伝搬し、ボックス(またはワイヤに繋がれた他の記号)が量子ゲートを表す図によって表現される。例えば、
図1の図表100は簡単な3キュービットの量子回路を表している。
図100中の回路は2つの単一キュービットのz回転ゲート(110a、110b)、R
Z(θ)およびR
Z(θ’)、2つの単一キュービットのアダマールゲート(120a、120b)H、および4つの2キュービットの制御NOTゲート(130a、130b、130c、および130d)CNOTを含む。
【0025】
量子回路に対する基本ゲートの簡単なセットは、
図100中の回路に示されるように、2キュービットCNOT、ならびに単一キュービットNOTゲート、単一キュービットのアダマールゲート、および単一キュービットz回転ゲートから成ると考えてよい。これらの種類のゲートに対するユニタリ行列は、次の形の表現式を取る。
【0026】
【0027】
上式のθ∈0,2π]は回転角度である。位相ゲートPおよびTゲートは、それぞれ、RZ(π/2)とRZ(π/4)として、RZ(θ)~上限検出不可能な大域的位相から得ることができる。回転角度が関係しない場合、z回転は、総称的にRZとして表すことができる。
【0028】
本明細書で説明する技法は、H、R
Z、NOT、およびCNOTゲートのセットによる量子回路を主として提示するが、トフォリゲートを含むことが可能な入力回路も検討することができる。トフォリゲート(例えば、
図10の図表1000中のゲート1010a)は、計算ベースの状態で
【0029】
【0030】
をマッピングすることによって表される。また、トフォリゲートは、否定制御を有することも可能である。例えば、最上部制御が否定であるトフォリゲート(例えば、
図10の図表1000中のゲート1010b)は、
【0031】
【0032】
として作用し、否定制御の両トフォリゲート(例えば、
図10の図表1000中のゲート1010c)は、
【0033】
【0034】
として作用する。
【0035】
所与の量子回路を実行するコストは、それをインプリメントするために使われる物理システムにより決まる。例えば、物理システムが、超電導回路に基づいているか、またはトラップ原子イオンに基づいているかによって異なったコスト考慮がされることになろう。また、このコストは、物理レベル(未保護状態)インプリメンテーションとロジカルレベル(フォールトトレラント状態)のインプリメンテーションとの間でも大きく変わり得る。物理レベルでは、2キュービットのゲートは、通常、単一キュービットのゲートよりもインプリメンテーションの費用が高い。本明細書で説明する技法は、CNOTゲートカウントを検討し、最適化アルゴリズム中のCNOTゲートの数を最適化することによってこれに対応する。
【0036】
ロジカルレベルのフォールトトレラントな回路に対し、いわゆるクリフォード(Clifford)演算(アダマール、位相、およびCNOTゲートによって生成される)は、多くの場合比較的インプリメンテーションが容易であり、非クリフォード演算は相当なオーバーヘッドを要する可能性がある。しかして、本最適化アルゴリズムにおいては、RZゲートの数も検討され、それらのカウントも最適化するよう試みられる。フォールトトレラントなインプリメンテーションにおいて、RZゲートは、通常、クリフォードおよびTゲートから成るディスクリートゲートのセットで近似される。かかる近似を生成するため最適のアルゴリズムが知られている。一般的なRZゲートを近似するために必要なクリフォード+Tゲートの数は、回転の具体的角度よりも、むしろ主として望まれる精度の如何により、したがって、そのRZゲートをクリフォード+Tのフォールトトレラントな回路で近似する前に回路を最適化するのが望ましい。
【0037】
CNOTおよびRZのカウントを最小化することによって、物理およびロジカルレベル両方のインプリメンテーションを目指した最適化を行うことが可能である。これら2つの目標の間でのトレードオフを予期してよく、かかるトレードオフが行われた諸インスタンスがある。但し、本明細書に記載の技法では、RZおよびCNOT両方のカウントだけを目指した最適化が検討される。
【0038】
量子回路の表現
量子回路の以下の3つの表現式は、本明細書で説明する最適化技法または最適化アルゴリズムに関連付けて使用することが可能である。
【0039】
第一に、回路は、逐次に適用されるゲートのリスト(ネットリスト)として格納することができる。場合によっては、サブルーティン(例えば、回路サブルーティン)に関連させて特定するのが便利であり、これはブロックとして表すことが可能である。各ブロックは、任意の回数反復することが可能で、回路中に存在するキュービットのどのサブセットにも適用できる。ブロックを用いる表現は、多くの量子回路が相当な数の繰り返しを示すので、特に簡潔にすることができる。ブロックは、ゲートおよびキュービットのアドレスのリストとして特定される。
【0040】
ネットリスト表現は、いくつかのベンチマーク回路を特定するために用いられた量子プログラミング言語である、クイッパー(Quipper)によって生成されたフォーマットを使って入力、出力することができる。このフォーマットは、ブロックを取り扱う機能を含む。同じ機能を有する他の量子プログラミング言語および/またはフォーマットを使うことも可能である。
【0041】
第二に、有向非巡回グラフ(DAG:directed acyclic graph)表現を用いることができる。DAGの角頂は、回路のゲートであり、エッジはそれらの入力/出力関係を符号化する。DAG表現は、ゲートの間の隣接性へのアクセスを容易にする利点がある。
【0042】
第三に、{NOT、CNOT、T}回路の位相多項式表現の一般化も使用することができる。ネットリストおよびDAG表現と違って、この最後の表現は、NOT、CNOT、およびRZゲートだけで構成される回路に適用される。かかる回路は、線形ブール変換および対角相変換の編成として簡潔に表現することができる。例えば、Cが、CNOTゲートおよび、ゲートRZ(θ1)、RZ(θ2)、・・・、RZ(θi)だけから成る回路であるとする。このとき、wキュービットベースの状態|x1,x2,・・・,xn〉でのCのアクションは次の形の式を有する。
|x1,x2,・・・,xn〉→ eip(x1,x2,・・・,xn|h(x1,x2,・・・,xn)〉 (2)
上式のh:{0,1}n→{0,1}nは線形可逆関数であり、
【0043】
【0044】
は、アフィンブール関数f
i:{0,1}
n→{0,1}と係数低減モジュロ2πとの線形組み合せである。項p(x
1,x
2,・・・,x
n)は、回路Cに関連する位相多項式と言われる。例えば、
図2の図表200中に示された、4つの単一キュービットz回転ゲート(210a、210b、210c、および210d)、と3つの2キュービットCNOTゲート(230a、230b、および230c)とを有する回路はマッピング表現
【0045】
【0046】
で表すことができ、このp(x,y)は、
【0047】
【0048】
である。いくつかのインスタンスでは、位相多項式表現は、{CNOT、T}回路に対してだけ考慮され、しかして、式(3)中の全てのθiは、π/4の整数倍数であり、fiは線形である。
【0049】
上記の3つの回路表現の任意の2つの間で時間的に線形に回路中のゲートの数で変換することが可能である。ネットリストが与えられると、対応するゲート毎のDAGを作成することが可能である。逆に、標準的トポロジカル分類によってDAGをネットリストに変換することも可能である。ネットリストと、{NOT、CNOT、RZ}回路の位相多項式表現との間の変換は、例えば、例として、深さ最適の量子回路の高速合成に使われる中間突合せ型アルゴリズムに関連して記述される直接的な一般化を用いることによって可能となる。
【0050】
前処理
主たる最適化手順(例えば、最適化アルゴリズム)を実行する前に、当該回路を、さらなる最適化をやり易くするために前処理することができる。本オプティマイザは、NOT、CNOT、およびトフォリゲートに加え、HおよびRZ(θ)ゲートを扱うことができるので、この前処理は、NOT、CNOT、トフォリ、H、および/またはRZ(θ)ゲートから成る入力回路に適用することが可能である。いくつかの例として、後記でより詳しく説明するクイッパー加算回路およびT-par回路のベンチマークがある。例えば、NOTゲートは、それらを、トフォリゲート制御と、トフォリゲートおよびCNOTゲートの標的とを通り抜けて位置転換することによって、できるだけ右方に押しやることができる。トフォリゲート制御を通り抜けてNOTゲートを押しやる場合、その制御は、否定となる(または、それが当初に否定であった場合は、その否定が除去される)。この手順が隣接するNOTゲートの対に及ぶ場合、その対のNOTゲートを回路から除去することができる。かかる相殺が見出せない場合、その制御否定の変更は、逆戻りさせることが可能で、当該NOTゲートは、その当初の位置に戻すことができる。さらに、NOTゲートとHゲートとの間のこの位置転換の関係は、Hが後続するNOTは、HにZゲートが後続することであり、Zゲートは、RZ(θ=π)である。また、RZ(θ)が後続するNOTは、NOTが後続するRZ(-θ)である。したがって、NOT、CNOT、トフォリ、H、およびRZゲートから成るゲートの標準的セットに対し、CNOTおよびRZゲートを通り抜けてのNOTの伝搬を用いることによって位相の全てのアフィン関数を線形関数に低減することに関連して後記で説明する詳細を加えて、前処理ステップの一部として、NOTゲートは、所与の回路の開始部または終端部に移動することが可能である。
【0051】
このNOTゲートの伝搬は、本提案のオプティマイザまたは最適化アルゴリズム2つの側面を利用する。第一に、否定制御を有している可能性のあるトフォリゲートを受入れ、後記でさらに詳しく説明するように、T/T†極性の選択の自由度を利用することによって、クリフォード+T回路中への該ゲートの分解を最適化することが可能である。第二に、NOTゲートの相殺は位相多項式表現を(位相多項式表現(式3)中の関数fiの一部を、元のアフィンの代わりに線形にすることによって)簡素化するので、かかる相殺は、後記で説明するサブルーティン4および5が(これらのサブルーティンが位相多項式表現中に一致する項を見出すことに依拠しているので)最適化を見出すことの可能性をより高くする。
【0052】
この前処理ステップの複雑性は、このステップが回路を通る単一回の通過を行うだけなので、O(g)である。
【0053】
最適化サブルーティン
本開示の最適化アルゴリズムは、以下でさらに詳細に説明する様々なサブルーティンに依拠している。各々のアイテムに対し、回路中のゲートの数gの関数として最悪の場合の時間複雑性が報告されている(簡潔化のため、キュービットの数および他のパラメータへの依拠は無視されている)。但し、実践上でのソフトウェアのランタイムは、後記でさらに説明するように、これらサブルーティンを注意深く順序付け制限することによって、最適化することが可能である。
【0054】
サブルーティン1-アダマールゲートの低減
アダマールゲートは、位相多項式最適化(後記サブルーティン4および5)に関与せず、また、ゲート位置転換を妨げる傾向がある。しかして、
図3の図表300中に描かれた回路アイデンティティまたはルールが、アダマールゲートのカウントを低減するために用いられる。このアイデンティティまたはルールは、図表300の下部にルール310aおよび310bを、
図300の上部にルール320a、320b、および320cを含む。ルール310aおよび310bは、たとえ中間のCNOTが、無作為に多くのCNOTゲートを備える回路に置き換えられても、それらの全てが当初のCNOTゲートの標的を共有しているならば適用が可能である。
【0055】
これらのルールの各々の適用は、上限4つまでHのカウントを低減する。所与のアダマールゲートに対し、DAG表現を使って、それがこれらの回路アイデンティティの1つに当てはまるかどうかを一定の時間ごとにチェックすることが可能である。しかして、回路中の全てのアダマールゲートを通って単一回通過することによって、このサブルーティンを複雑度O(g)でインプリメントすることが可能である
【0056】
サブルーティン2-キュービットゲートの相殺
一般に、量子回路のDAG表現を用いて、或るゲートとその逆ゲートが隣接しているかどうかが直接に判断される。そうである場合、ゲートカウントを低減するために両方のゲートを除去することが可能である。さらに一般的には、ゲートUと可換であるサブ回路Aによって分離されている2つの単一キュービットゲートUとU†とを相殺することが可能である。一般に、ゲートUが回路Aと可換であるかどうかの判断は、計算量が膨大となる可能性がある。その代わりに、十分な(だが必須ではない)転換に対する条件を提供する特定のルールのセットを適用することが可能である。このアプローチは迅速であり、量子回路を単純化するため利用可能な多くの位置転換を見出すように見える。
【0057】
具体的に、回路中の各ゲートUに対し、オプティマイザまたは最適化アルゴリズムは、U
†の何らかのインスタンスとの可能な相殺を探索する。これを行うために、このアプローチは、
図4の図表400中パターンの1つによって実証されるように、Uが、引き続くゲートのセットを通り抜けて可換かどうかを繰り返しチェックすることになる。図表400は、R
Zゲートを右方に位置転換するための、上側のルール410a、410b、および410cとCNOTゲートを右方に位置転換するためのルール420a、420b、および420cなどの位置転換ルールを含む。何らかの段階で、許容された通信パターンによってUを右方に移動することができない場合Uと合致するU
†との相殺はできず、当初の構成が復元される。それ以外の場合は、UとU
†の何らかのインスタンスとの相殺は成功する。前述した位置転換スキームは、右方への特定方向だけに適用される必要はなく、左方の特定方向にも適用されてよい。
【0058】
g個のゲートUの各々に対し、本サブルーティンは、それがO(g)を通して後続の位置と可換であるかどうかをチェックする。しかして、全体的なゲート相殺ルールの複雑性はO(g2)となる。この複雑性は、固定数の後続のゲートを通しての位置転換だけを検討することによって、gに対し線形にできようが、実践上はその必要がないことが判明している。
【0059】
本サブルーティンの些少なバリエーションを使って、相反ゲートを相殺するのでなく、回転ゲートを併合することが可能である。具体的に、2つの回転RZ(θ1)およびRZ(θ2))を単一の回転RZ(θ1+θ2)に組み合せ、1つのRZゲートを削除することができる。
【0060】
サブルーティン3.2キュービットゲートの相殺
このサブルーティンは、Uが2キュービットゲートであることを除き、サブルーティン2と類似であり、検討対象の回路ではこれらのゲートは一般CNOTである。同様に、本サブルーティンの複雑性はO(g2)であるが、サブ回路Aに対し最大限のサイズを取らせることによってO(g)に低減することが可能である。
【0061】
サブルーティン4.位相多項式を用いる回転併合
このケースでは、NOT、CNOT、およびR
Zゲートから成るサブ回路を検討する。その位相多項式の2つの別個の項が、何らかのi≠jに対し、次式、
f
i(x
1,x
2,・・・,x
n)=f
j(x
1,x
2,・・・,x
n) (5)
を満たす場合、対応する回転R
Z(θ
i)とR
Z(θ
j)とを併合することが可能である。例えば、
図2の図表200中に示された回路において、第一および第四回転の両方は、回路の位相多項式表現によって明らかなように値yを携持するキュービットに適用される。しかして、
図2の図表200中の回路は、
図5の図表500中に示される変換を経てその中でこれら2つの回転は組み合される。図表500中の右側図に変換された回路は、R
Zゲート510a、510b、および510cを含み、R
Zゲート510cは、組み合せされた2つの回転と、CNOTゲート530a、530b、および530cとを有する。
【0062】
言い換えれば、回路のこの位相多項式表現は、2つの回転、この場合RZ(θ1)とRZ(θ4)が、たとえこれらがこの回路の異なる部分に出現していても、入力の同じアフィン関数に適用される場合を示している。次に、これらの回転は単一の回転に組み合せることができ、回路を改善する。この特定の例において、前述の位置転換技法を用いて、別途に単純化を達成することができたが、但し、これは一般的には適用できない。関連するアフィン関数が出現する回路中のいかなるポイントにも組み合せ回転を配置するフレキシビリティがある。具体的には、組み合せ回転は、最初の(最左方の)かかる回転の場所に配置される。
【0063】
サブルーティン4を適用するためには、サブ回路が{NOT、CNOT、RZ}ゲートだけから成ることを識別する必要が或る。このサブ回路は、所定のCNOTゲートから開始して、一回に1キュービットで構築される。このゲートの最初のキュービットに対し、DAG表現を用いて、このキュービットに作用する全ての先行するおよび後続するNOT、CNOT、およびRZゲートを通してスキャンが行われ、それらがサブ回路に加えられる。回路の開始部または終了部で、アダマールゲートに遭遇した場合、その端部点はマークされ、(各キュービットが1つの開始端部点および1つの終了端部点を有するように)その方向への探索は停止される。このキュービットと、まだ遭遇していない何らかのキュービットとの間の各CNOTゲートに対し、そのゲートが新しく遭遇したキュービットに作用するアンカーポイントがマークされる。このプロセスは、最初のCNOTゲートによって作用された第二キュービットに対して遂行され、あらゆるアンカーポイントから開始され新規のキュービットとの遭遇がなくなるまでプロセスが繰り返される。
【0064】
もたらされたサブ回路は、NOT、CNOT、およびR
Zゲートだけから成るが、これは多項式位相表現を有さないことがあり、具体的には、サブ回路から去り再参入する、中間のワイヤ上のアダマールゲートがこれを妨げることがある。位相多項式形式を適用するために、以下のプルーニング手続を使ってこれが生じないようにすることが必要となる。所定の最初のCNOTゲートから開始して、ネットリスト中のその前後両方のゲートが、端部点に遭遇するまで連続的に検討される。なお、このプロセスで到達したあらゆるNOTおよびR
Zゲートは、位相多項式が適用されるのを妨げることがなく、含めることが可能なので、CNOTゲートだけを検討する必要がある。遭遇したCNOTゲートの制御および標的キュービットの両方が端部境界内にあれば、この手続を継続してよい。制御キュービットが端部境界の外側にあるが標的キュービットは内側にある場合、検査対象のCNOTゲートが境界の外側になり、当該サブ回路から、該ゲートとその標的キュービットに作用している一切の後続ゲートとが除外されるように、その標的キュービットの端部点が移動される。また一方、制御が境界の内側にあり、標的が外側にある場合、例外処理が行われ、(CNOTゲートが当該サブ回路に含まれてはいないが)端部点は移動されない。この例外処理は、
図6の図表600中に示されるように、位相多項式表現に適ったより大きな{NOT、CNOT、R
Z}のサブ回路をもたらす。
【0065】
図表600中の回路に特定された例において、上段の(q1)および中段の(q2)キュービットに作用している第一CNOTゲート(例えば、CNOTゲート630a)から探索を開始することが可能である。q1から左に進むと、Hゲート(例えば、620a)が見出され、ここに端部点がマークされる。q1から右に進むと、2つのCNOTゲート(例えば、CNOTゲート630b、630c)が見出され、1つのRZゲート(例えば、RZゲート610a)が見出され、次いで、Hゲート(例えば、Hゲート620b)が見出され、ここに端部点がマークされる。遭遇したどのCNOTゲートも、q1またはq2を残りのキュービットq3に連結していない。同じ手順が、当初のCNOTゲート(例えば、CNOTゲート630a)からq2上で繰り返される。左側にRZゲートが(例えば、RZゲート610b)、次いでHゲート(例えば、Hゲート620c)が見出され、ここに端部点がマークされる。右に進むと、q2およびq3に作用するCNOTゲート(例えば、CNOTゲート630d)が見出される。このCNOTゲートは、追加の接続部を示しており、したがって、アンカーポイントは、このCNOTゲートのq3(標的)側上のq3にマークされる。q2ワイヤ上のさらに右方に、いずれも追加の接続部を示していない3つのCNOTゲート(例えば、CNOTゲート630b、630e、および630c)と、RZゲート(例えば、RZゲート610c)と、最後にHゲート(例えば、Hゲート620d)があり、ここ端部点がマークされる。次のq3は、前述のアンカーポイントから開始して調査される。左に向かうと、他のキュービットへのさらなる接続のないHゲート(例えば、Hゲート620e)が見出され、端部点がマークされる。右に向かうと、Hゲート(例えば、Hゲート620f)が直近に見出され、端部点がマークされる。
【0066】
サブ回路が構築されると、次に、ネットリスト表現を調べ、それをプルーニングする(prune it)。この経路において、q2およびq3上で作用している第四CNOTゲートに遭遇し(例えば、CNOTゲート630e)、この制御はサブ回路の境界内にあるが、標的は境界外である。この場合、このプルーニング手続において説明した例外扱いが適用される。これは、当該{NOT、CNOT、RZ}領域中の最後のCNOTゲートは含まれるが、(図表600中に点線の境界で示されるように)第四CNOTゲートは除外されることを確実にする。しかして、この回路中に表されている最後のRZゲートは、q2ライン上の回路の初端、最左端のHの右に再配置することが可能で、後記でさらに詳しく説明するようにRZの併合に基づく位相多項式を可能にする。
【0067】
有効な{NOT、CNOT、RZ}サブ回路が識別されたならば、該サブ回路の位相多項式を生成することができる。各RZゲートに対し、その位相が適用される関連アフィン関数、および各ゲートに適用される回路の位置を算定することが可能である。次いで、記録されたアフィン関数のリストが分類される。最後に、全てのRZゲートの繰り返しを見出して併合し、併合されたRZを、所望の線形関数を計算するサブ回路中の最初の位置に配置することが可能である。
【0068】
この手順は、O(g)のサブ回路、およびそれらの各々を処理するコストが、複雑性O(g log g)による分類作業によって占められ、サブルーティン4に対し、O(g2log g)の全体的複雑性を課していることを考慮している。しかしながら、実践上、これらのサブ回路は、通常、対象となるサブ回路が多いほど小さくなり、したがって、実際の複雑性はもっと低い。さらに、{NOT、CNOT、RZ}サブ回路を識別する際に、そのプロセスは、通常、以前に識別されたどの{NOT、CNOT、RZ}サブ回路にもまだ含まれてないCNOTゲートから開始され、したがって、サブ回路の数は、実践上はgよりもずっと少なくできる。望ましい場合、サブ回路の最大サイズを制限することによって、全体的な複雑性をO(g)に低下させることが可能である。
【0069】
最後のステップとして、位相の全てのアフィン関数を線形関数に低減することが可能である。これは、以下のように、CNOTおよびRZゲートを通り抜けるNOTの伝搬を使って達成することができる。
・ NOT(a)CNOT(a;b)|→CNOT(a;b)NOT(a)NOT(b);
・ NOT(b)CNOT(a;b)|→CNOT(a;b)NOT(b);
・ NOT(a)RZ(a)|→RZ
†(a)NOT(a)
【0070】
この手順の適用は、各アフィン関数
【0071】
【0072】
が、対応する線形関数
【0073】
【0074】
に変形されることを確実にし、これによりさらなる位相衝突が引き起こされる尤度を改善する。
【0075】
サブルーティン5-浮動RZゲート
サブルーティン4では、RZゲートに関連するアフィン関数を追跡した。さらに一般的には、RZゲートの存在の如何に関わらず、サブ回路中に生じた全てのアフィン関数、およびそれらそれぞれの位置が記録された。しかして、RZゲートが回路中に既に出現している位置でなく、RZゲートを配置することができる全ての可能な位置を識別することが可能である。この「浮動」RZゲート配置の構図において、3つの最適化サブ-サブルーティンを用いることができる。2キュービットゲート相殺、ゲートカウント保存書換えルール、およびゲートカウント低減書換えルールである。
【0076】
これらサブ-サブルーティンの一番目は、これではRZゲートが浮動であり、焦点が特定の識別されるサブ回路に置かれていることを除き、基本的にはサブルーティン4と同じである。このアプローチは、RZゲートを、途上の全ての可能なRZゲートの位置を把握することによって、相殺を促進するように諸RZゲートを配置することを可能にする。具体的に、RZゲートを或る特定の位置に配置しないことによって2つのCNOTゲートの削除が可能なことになり、その位置は、RZゲートに対する可能な位置のリストから単に除去され、それに応じてCNOTの削除が行われる。
【0077】
次のゲートカウントを保存する書換えルール(例えば、
図7の図表700を参照)が、さらなる最適化を見出す試みとして適用される。例えば、図表700は、ゲートカウント保存ルール710aおよび710bを含む。これらの置き換えは、ゲートを削除しないが、他の箇所での最適化が可能になるように当該回路を修改する。これらの書換えルールは、外部のライブラリファイルによって提供され、サブ回路は、DAG表現を用いて、それらに該ルールが適用できるように識別される。これらの置き換えは、それが、前述の浮動R
Zゲートによる2キュービット相殺サブルーティンのもう一回のラウンドを通しての2キュービットゲートカウントの低減につながる場合にだけ適用される。なお、これらの書換えルールは、回路中の特定の位置での特定の浮動R
Zゲートにだけ適用が可能である。このサブルーティンは、浮動R
Zゲートを用いて、ゲートカウントの低減につながるR
Zゲート位置のこれらの組み合せを選択する。
【0078】
最後のサブ-サブルーティンは、ゲートカウントを低減する書換えルールを適用する(サブルーティン5において用いられるゲートカウント低減書換えルールについて、例えば、
図8の図表800を参照のこと)。図表800は、ゲートカウント低減書換えルール810a、810b、810c、810d、および810eを含む。これらのルールも、外部のライブラリファイルを介して提供されてよい。これらのルールはそれら自体がゲートカウントを低減するので、この書換えは、一般に、いつでも適したパターンが見出されたときに行われる。この3ステップのサブルーティン(すなわち、サブルーティン5中の3つの最適化サブ-サブルーティン)の複雑性は、サブ回路の数がO(g)であり、各サブ回路内で、2キュービット相殺(サブルーティン3)がO(g
2)の複雑性を有するので、上限がO(g
3)である。これら書換えルール(例えば、
図7中のゲートカウント保存書き換えルール、
図8中のゲートカウント低減書き換えルール)は複雑性O(g)で適用することが可能である、と言うのは、サブルーティン1におけるように、回路中のゲート群を通る単一回のパスで十分だからである。再言するが、実践上、サブ回路の数とサブ回路のサイズとは、通常、逆関係にあり、このことは、観測される複雑性を約gの倍率で低下させる。この複雑性は、サブ回路の最大サイズを制限することによりO(g
2)に低下させることが可能である。実際上、この複雑性は、2キュービットゲートの相殺におけるサブ回路Aの最大サイズを制限することによってO(g log g)にさらに低下させることができる(分類作業もなお複雑性O(g log g)を有することになろう)。
【0079】
この最適化がどのように作用するかの一例を説明するために、
図5の図表500中の右手の回路を考えてみよう。R
Z(θ
2)(例えば、ゲート510a)が、上段キュービットの回路の最終部で実行し、最初の2つのCNOTの相殺を可能にし、
図9の図表900中の右手側に示された最適化された回路に導くことができ、これは、3つのR
Zゲート910a、910b、および910cと、単一のCNOTゲート930aとを含むことによってさらになお単純化されていることを観察する。
【0080】
汎用最適化アルゴリズム
本開示中に記載された最適化アルゴリズムまたは技法は、前述した種々のサブルーティンを注意深く選択された順序で単に適用する。軽度バージョン(または単に軽度)および重度バージョン(または単に重度)と言われる、オプティマイザまたは最適化アルゴリズムの2つのバージョンがある。一般に、重度バージョンは、より多くのサブルーティンを適用し、より長いランタイムという代償を払ってより良好な最適化結果を生成する。オプティマイザの軽度および重度バージョン両方において前処理ステップを用いることができる。
【0081】
オプティマイザの軽度バージョンは、次のシーケンスまたは順序で最適化サブルーティンを適用する。
1、3、2、3、1、2、4、3、2
【0082】
続いて、このシーケンスはさらなる最適化の達成がなくなるまで繰り返される。このシーケンスは、最初にアダマールゲートを削減しながら{CNOT、RZ}ゲートを摘出するという原則に少なくとも部分的に基づき(サブルーティン1)、相殺ルーティンでより大きな低減を可能にし(サブルーティン3、2、3)、特に、単一キュービットゲートの低減を促進するため2つのCNOTゲートを解放する、またその逆を行う。最初の4つの最適化サブルーティンの後、置き換えルール(サブルーティン1)を適用することによって、さらなる低減を可能にすることができる。次いで、さらなる単一キュービット型の相殺および併合が探索される(サブルーティン2)。これは、さらなるRZカウントの最適化を探すための{NOT、CNOT、RZ}サブ回路領域のより迅速な識別を可能にし(サブルーティン4)、その後、本プロセスは、ゲートの残存する相殺をチェックする(サブルーティン3、2)。
【0083】
オプティマイザの重度バージョンは、以下のシーケンスまたは順序で最適化サブルーティンを適用する。
1、3、2、3、1、2、5
【0084】
同様に、このシーケンスもさらなる最適化の達成がなくなるまで繰り返される。オプティマイザの重度バージョンのこの最適化シーケンスの最初の6つのステップは、オプティマイザの軽度バージョンのものと同じである。違いは、オプティマイザの重度バージョンでは、用いられるアプローチが浮動RZゲートを利用し(サブルーティン5)、さらなるゲート相殺を摘出するためのゲートカウント保存書換えルールおよび何らか残存する非効率性を除去するためのゲートカウント低減書換えルールの使用を含め、CNOTゲートのさらなる低減を可能ならしめる、RZゲートに対する位置の発見を可能にすることである。
【0085】
上記で説明した諸順序またはシーケンスは、例示のために提示されたものであり、前述よりも少ないまたは多いサブルーティンが関与する他の順序またはシーケンスも同様に使用することが可能である。
【0086】
なお、回路表現の変換によって被る計算オーバーヘッドは些少で済むことが多い。全ての変換は、回路のサイズに比例する時間で行うことができる(詳細については、例えば量子回路の表現と題されたセクションを参照)。諸表現は、必要に応じた程度に整合性を保てばよい。サブルーティン1~サブルーティン3において、迅速に低減箇所を見出すために、DAG表現を使って個別のゲートにアクセスすることができる。これは、最適化プロセスを続ける前にゲートカウントの低減を記録するため、DAG表現だけを更新することを可能にする。サブルーティン4およびサブルーティン5において、それら両方の表現は、いつでも低減箇所が見出されたときに、DAGおよびネットリスト表現両方の整合性を維持しながら同時に臨機応変に更新することができる。これは、両方のルーティンが、位相多項式表現を使う低減に適ったサブ回路を識別するので有用である。この識別プロセスは最新のDAG表現を必要とし、位相多項式表現の生成には最新のネットリスト表現が必要である。なお、位相多項式表現は、識別されたサブ回路中の最適化を助力するためだけに用いられ、位相多項式表現をネットリストまたはDAGのいずれにも戻して変換する必要はない。しかして、この位相多項式表現は対応するサブ回路最適化プロセスが完了したときに安全に消去されてよい。
【0087】
特殊用途最適化
前述した汎用的オプティマイザ(例えば、汎用最適化アルゴリズム)に加え、特定の構造を備えた回路を改良するために2つの特化型最適化を用いることができる。
【0088】
LCRオプティマイザ:
積公式シミュレーションアルゴリズムなどの一部の量子アルゴリズムは、一定のブロックの複数回の繰り返しを含む。かかる回路を最適化するためには、最初に、単一のブロックにオプティマイザを実行してその最適化バージョン、Oを得るのがベストであり得る。
複数のブロックに亘っての単純化を見出すために、回路O2を最適化することが可能で、その結果はLRと呼ぶことができ、このLは、O2の最適化中のOの最大プレフィックスである。次のステップは、O3の最適化である。最適化がブロック間の境界の近辺で行われるという条件の下で、O3の最適化バージョンからプレフィックスLおよびサフィックスRを除去することが可能で、残った回路をCと呼ぶ。かかるL、CおよびRが発見可能であるとすれば(実践上ではあり得る)、OtをLCt-2Rに単純化することが可能である。
【0089】
トフォリ分解:多くの量子アルゴリズムは、トフォリゲートを使って自然に説明される。本開示に記載されたオプティマイザまたは最適化アルゴリズムは、正および負、両方の制御でトフォリゲートを取り扱うことが可能である。目標は、ゲートのセット{NOT、CNOT、H、RZ}に関する回路を表現することなので、トフォリゲートは、これらの基本的なゲートに関連させて分解される。本明細書に記載の技法は、最適化の品質を向上させるためにこれを行う各種のやり方を利用する。
【0090】
具体的に、トフォリゲートは、
図10の図表1000中に示された特徴を用いる1および2キュービットゲートに関連させて拡大することが可能で、それらの回路分解において、トフォリゲートは(トフォリゲートは自己反転なので)TとT
†とを交換することによって、所望のトフォリゲートを得ることも可能であることを念頭に置く。前述したように、図表1000中の特徴は、トフォリゲート1010a、上部に否定制御を備えたトフォリゲート1010b、および両方が否定制御であるトフォリゲート1010cを含む。オプティマイザは、当初、各トフォリ分解においてT/T
†の極性(すなわち、どちらのゲートがダガーを含みどちらが含まないかの選択)を未定のまま残す。オプティマイザは、未定のTおよびT
†ゲートを、それらの相対的極性を保持しながら、所与の量子回路内で単にそれらの位置を移動することによって記号的に処理する。この最適化は、これら未定のTおよびT
†ゲートの移動によってもはやゲートカウントを低減できなくなった時に完了すると見なされる。最後に、最適化された回路中のTのカウントを最小化することを目標に、各トフォリゲートの極性を(それらの間の固定された関係を条件として)選択することが可能である。この最小化は、最長マッチを行う方法(greedy way)で行われ、ほぼ最適化された回路中の関連するT/T
†ゲートの出現の順序で、Tのカウントができるだけ多く低減されるように、各トフォリゲートに対する極性を選択する。
【0091】
全体的には、この極性の選択プロセスはO(g)の時間を要する。極性を選択した後、サブルーティン3およびサブルーティン2を実行することが可能である。というのは、特定の極性の選択が、該選択がなければ、所望の位置転換を阻止していた未定のゲートの存在に起因してできなかった、CNOTゲートおよび単一キュービットゲートのさらなる相殺につながり得るからである。
【0092】
最適化の結果
本明細書に記載のオプティマイザまたは最適化アルゴリズムの諸態様のインプリメンテーション例は、フォートランプログラミング言語を用いて作成され、3セットのベンチマーク回路を用いてテストされた。本開示中に示された全ての結果は、2.9GHzインテルコアi5プロセッサ、および1867MHzの8GBのDDDR4メモリを備えたマシンを使い、OS X EI Capitanを実行して得られた。当然のことながら、これらの結果は、例示目的で相対的なパフォーマンスを示すために提示され、また、これらの結果は、異なるハードウェア構成を使って行われた場合には変わり得る。
【0093】
テストの一部として、ショアの整数因数分解アルゴリズムのコンポーネントを含む様々な量子回路、具体的には量子フーリエ変換(QFT:quantum Fourier transform)および整数加算回路が検討された。また、ハミルトニアンシミュレーションへの積公式(PF:product formula)アプローチも検討された。両方のケースにおいて、テストの焦点は、従来式の計算を凌駕する、諸アプリケーションにおいて有用な可能性のあるサイズの量子回路に置かれ、各種の型の加算回路および積公式による実験が実行された。最後に、(ガロア体乗算回路のファミリを含め)様々な演算回路、および多重制御トフォリゲートのインプリメンテーションから成るベンチマーク量子回路のセットも検討された。比較のため、最適化の前および後のこれらの回路を記載したデータファイルが利用可能である。
【0094】
オプティマイザまたは最適化アルゴリズムの正確性は、最適化の前と後との様々なテスト回路の機能的等価性(すなわち、対応するユニタリ行列の同等性)を検証することによってチェックされた。かかるテストは、一般に少数のキュービットを用いる回路に対し実行可能である。これらのテストは、
図13の図表1300中に示された表1および
図14の図表1400中に示された表2中の全ての8キュービットのベンチマークに対して行われた。表1は、加算回路の軽度の最適化を、上段にQFT(またはQFA)に基づくインプレース加算回路に対する結果、および下段にクイッパーライブラリ加算回路に対する結果とともに含む。また、これらのテストは、それぞれ
図16Aおよび16Bの図表1600aおよび1600b中に示された表3Aおよび表3B中の全ての10キュービットのベンチマークに対しても行われた。表3Aは、CNOTゲートの低減による積公式アルゴリズムの最適化を示し、表3Bは、R
Zゲートカウントの低減による積公式アルゴリズムの最適化を示す。ソフトウェアのランタイム範囲は、0.004秒(第一オーダー、n=10)~0.137秒(第六オーダー、n=100)である。クリフォードゲート低減は、(nにかかわらず、第一オーダー公式に対し)アダマールについては62.5%、位相ゲートについては75%から、(これもnにかかわらず、第六オーダー公式に対し)アダマールについては75%、位相ゲートについては85%までの範囲である。記号「(×1000)」は、第一オーダー公式に対するゲートカウントが、(丸め誤差なしの)千の単位であることを示す。記号「(L)」は、前述した最適化の標準的な軽度バージョンを示す。
【0095】
さらに、
図17A~17Cの図表1700a~1700c中に示された表4A~4Cは、以下のベンチマーク、Mod5
4、VBE―Adder
3、CSLA-MUX
3、RC-Adder
6、Mod-Red
21、Mod-Mult
55、Toff-Barenco
3..5、Toff-NC
3..5、GF(2
4)-Mult、およびGF(2
5)-Multと比較した、本オプティマイザの結果を表す。例えば、表4A~4Cは、T-parとの比較(後記でさらに詳しく説明する)を含み、これらベンチマークのアルゴリズムの名称は、Toff-BarencoおよびToff-NCが乗算制御のトフォリゲートのインプリメンテーションを示すのに使われていることを除き、周知のものである。記号「(L)」は、本最適化の標準的な軽度バージョンを示し、一方、記号「(H)」は、本最適化の標準的な重度バージョンを示す。記号-||-は、最適化の軽度バージョンに対し最適化の重度バージョンに改善がないことを示す。
【0096】
QFTおよび加算回路
QFTは、量子計算における基本的サブルーティンであり、指数関数的高速化のため多くの量子アルゴリズムに出現する。正確なn-キュービットQFTに対する標準的回路は、RZゲートを用い、その一部はnが指数関数的に小さい角度を有する。非常に小さな回転角度を有するゲートを省くことによって高精度の近似QFTが行えることがよく知られている。本開示のオプティマイザまたは最適化アルゴリズムの目的のためには、最大π/213までの角度の回転は省いてもよく、これは、対象以下のサイズの量子回路に対しては十分な精度の近似QFTを確実にする。これらの小さな回転は、それらの省略が結果中に報告される改良に寄与しないので、最適化の前に除去される。
【0097】
図11の図表1100中に示されるチャートは、近似量子フーリエ変換(QFT、挿入図)クイッパーライブラリ加算回路、およびフーリエベースの加算回路(QFA)に対するゲートカウントを示す。白/黒の記号は、最適化の前/後のゲートカウントを表し、正方形/円形/三角形の記号は、それぞれ、クイッパーライブラリ加算回路/QFA/QFTに対するゲートカウントを表す。512以上のキュービットを備えるQFTに対して、36%を超える節減レートが観察される。この最適化は、もっぱら、フォールトトレラントなインプリメンテーションにおける最も高費用のR
Zゲートの数の低減から来ている。
【0098】
図11の図表1100中のチャートに示されるように、2つの型の整数加算回路:クイッパーライブラリ中にインプリメントされているようなインプレースモジュロ(in-place modulo)2
q加算回路とQFT(またはQFA)に基づくインプレース加算回路とが検討された。QFA回路は、前述したように、π/2
13より小さい角度による回転が除去された近似QFTを使用する。加算回路は、整数因数分解に対するショアの量子アルゴリズム(Shor’s quantum algorithm)の基本的コンポーネントである。示された結果は、クイッパー加算回路、およびLが4~11の範囲にある、2
Lキュービットに作用する回路のQFAに対する、最適化の前と後とのゲートカウントをレポートしている。例えば、1,024ビットの数を因数分解するためのショアの整数因数分解アルゴリズムでは、L=10の加算回路が使われる。関連するRSA-1024への課題はまだ解決されていない。
【0099】
加算回路の軽度(バージョン)の最適化の結果が
図11および13に示されている。クイッパーライブラリ加算回路に対しては、フルライトオプティマイザ(full Light optimizer)が使用された。QFA最適化に対しては、最後の3つのサブルーティン4、3、2を省いたサブルーティンのシーケンス1、3、2、3、1、2による、変更されたライトオプティマイザ(modified Light optimizer)が代わりに使われた。これは、小さなインスタンス(n≦256)でそれらのサブルーティンからさらなるゲート節減が見出されなかった際に行われた。
【0100】
簡素化されたクイッパーライブラリ加算回路は、大幅な差でQFAを凌駕し、これが実践上選好される可能性があることを暗示している。このクイッパーライブラリ加算回路に対し、最大5.2分の1までのTゲートのカウントの低減が観察された。この低減は、回路構造のいかなる事前知識も用いることなく、もっぱら自動化手段によって(すなわち、最適化アルゴリズムによって)得られた。ショアの整数因数分解アルゴリズムはべき剰余のコストに左右され、これが回って主として整数の加算に依拠しているので、この最適化は、全体的因数分解アルゴリズムを実行するコストを5分の1より小さく低減する。
【0101】
また、重度オプティマイザも、QFTおよび加算回路に適用された。QFTおよびQFA回路に対しては重度の設定はゲートカウントを改善しなかった。クイッパー加算回路に対する重度最適化の結果が、
図14の図表1400中の表2に示されている。軽度最適化に対するたった1.7分の1に比較して、2.7分の1のCNOTカウントにおける低減が見られる。
図12の図表1200中のチャートは、最適化の前(例えば、プレ最適化)、軽度最適化の後、および重度最適化の後のクイッパーライブラリ加算回路の合計CNOTカウントを表し、これら2つの型の最適化によるCNOTカウントの低減を示している。白色/ドットパターン/黒色の正方形の記号は、それぞれ、プレ最適化/ポスト軽度最適化/ポスト重度最適化でのゲートカウントを表す。
【0102】
量子シミュレーション
ハミルトニアン力学(Hamiltonian dynamics)をシミュレートするための第一明示的多項式時間量子アルゴリズムが導入され、そのアプローチが後により高次の積公式(PF)に一般化され、改善された漸近法計算量をもたらした。本開示は、オーダー1、2、4および6(1より高いオーダーに対して、標準的スズキ積公式の構成は偶数である)のPFアルゴリズムに対する最適化の前と後とのゲートカウントをレポートしている。具体的に、これらのアルゴリズムは、周期的境界条件を有する磁界中の一次元のハイゼンベルグモデルに対しインプリメントされ、システムをそのサイズに比例する時間の間展開し、アルゴリズムのパラメータは、積公式近似の誤差に対する既知の限界を用いて、ハミルトニアンシミュレーション誤差が最大でも10-3となるように選択された。
【0103】
積公式アルゴリズムの軽度最適化の結果が(例えば、
図16Aおよび16Bの)表3Aおよび3Bにレポートされ、
図15の図表1500中のチャートに図示されており、この図の白色/黒色の記号は、それぞれ、最適化の前/後のゲートカウントを表し、正方形/円形の記号は、第二/第四オーダーに対するゲートカウントを表す。これらの積公式アルゴリズムに対し、重度最適化は、経度最適化を上回るさらなる改善を示さなかった。第二、第四、および第六オーダーアルゴリズムでは、CNOTカウントで約33.3%の低減、R
Zカウントで約28.5%の低減が認められ、おおむね、物理レベルおよびロジカルレベルのインプリメンテーションに関連する低減に対応していた。第一オーダー公式アルゴリズムは、CNOTまたはR
Zゲート最適化を示さなかった。全ての積公式アルゴリズムにおいて、位相およびアダマールゲートはおおむね3分の1~6分の1と、大きく低減された。
【0104】
他のアプローチとの比較
量子回路最適化は、周知の分野である。しかしながら、回路の最適化についてのこれまでの研究は、本開示で検討しているような、従来式のコンピュータを凌駕するような型の大規模量子回路を検討してこなかった。例えば、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
3)であり、大規模回路の最適化を非現実的だとしている。キュービットの数がn=10~35、およびゲートカウントが60~368に対し、実行時間が0.07~1.883秒の範囲との例があるが、本明細書に記載の最適化アルゴリズムは、表1(
図13)に示すように、上限n=256までで、約23,000個のゲートのクイッパー加算回路を最適化する際に、同じ位の時間で実行した。また、最適ゲートライブラリを使ったピープホール(peep hole)最適化に基づく、量子回路最適化の他の例もあるが、これは高コストで、場合によっては、20キュービット、1,000ゲートの回路に対し100秒より長くかかる。
【0105】
本開示で提案する最適化アルゴリズムを用いて産生された結果を、従前にレポートされている結果と比べるため、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の因数は、現実的アーキテクチャ中のキュービットの間のゲートを実行するための一般的なコストを過小評価している(実際のコストは、三次元では3√nに、または二次元では√nにより近くなり得る)。本明細書に記載のアプローチは当初の回路の構造を保持しているので、この指標は、ロングレンジゲートを導入している可能性のある(後記で述べるT-parアプローチなどの)他のアプローチに対し控え目の比較を提示しているはずである。したがって、この総計コストに対する有利性を示すことで、本開示に記載の本提案の最適化技法の利益をおおまかに実証することができる。
【0106】
本開示に記載の技法を用いた結果を、マトロイド分割(matroid partitioning)に基づく技法を用いてTのカウントおよびTの深さを低減することを狙った、Amy、Maslov、およびMoscaによりレポートされた結果と、直接に比較することが可能である。そのアプローチは、本開示ではT-parと称しているものである。本開示に記載の技法の使用による結果が、上記の論文に現れたベンチマークのセットを最適化するのに使われ、表4A~4C(
図17A~17C)に示されるように、その結果がT-parの最適化と比較された。
【0107】
これらのベンチマーク回路は3つのカテゴリに分類される。第一セット(
図17A中の表4A)は、算術演算の選抜から成る。これらの回路に対し、同時にずっと良いCNOTのカウントを得ながら、ベンチマークに比べてより良いまたはこれに合致するTのカウントが得られた。なお、回路CSLA-MUX
3は、T-parがそれを不正確に最適化すると考えられているので、比較から除かれた。本明細書に記載の最適化技法の利点を例証するため、前述の総計コスト指標を用いて、本提案の技法はRC-Adder
6回路のコストを71.91から49.70に低減した。コスト面での改善は、しかして、ほとんどが低減されたTゲートのカウントに起因しており約31%であった。
【0108】
ベンチマークの第二セットは、乗算制御のトフォリゲートから成る(
図17B中の表4B)。本提案のオプティマイザは、T-parオプティマイザによって得られたTカウントと同等であり、CNOTカウントを大きく低減したが、本提案のオプティマイザも従前のアプローチも最もよく知られたインプリメンテーションを見出すことはできなかった。この最もよく知られたインプリメンテーション中では著しく異なった回路構造が用いられていることを考えれば、これは驚くべきことではない。
【0109】
ベンチマークの第三セットはガロア体乗算回路を包含する(
図17C中の表4C)。一例では、重度オプティマイザは、そのランタイムが軽度オプティマイザのランタイムの200倍を超えた時点で終了された。かかる時間切れは、ガロア体乗算回路の4つの最大インスタンスに重度オプティマイザを適用したときに生じた。テストされたケースでは、重度オプティマイザに軽度オプティマイザを上回る利点はなく、したがって、該4つの最大インスタンスに重度オプティマイザは適用されなかった(対応するエントリは表4C中の左の空白部である)。Tカウントは、これもT-parオプティマイザと同等であったが、CNOTカウントはずっと低下し、明らかに好ましい回路をもたらした。例えば、最適化済みGF(2
64)乗算回路は、180,892個のCNOTゲートの使用を示していたが、本開示の技法から得られた最適化インプリメンテーションは、ただ24,765だけのCNOTゲートを使用し、しかして総計コストは、Tカウントの変化がなかったにも関わらず、30,168.59から18,326.42に、すなわち約39%低減された。このコスト低減は、ほとんど、または全面的に、CNOTゲートから来たものである。この比較は、Tカウントと現実の予測総計コスト見積もりとの間の理論的差異が実践上でも示されることを実証した。軽度オプティマイザの効率性は、未解決で残っている楕円曲線離散対数問題のインスタンスに対応して、GF(2
131)およびGF(2
163)乗算量子回路の最適化を可能にした。レポートされたT-par最適化のランタイムを所与とすれば、このサイズのインスタンスは、T-parオプティマイザには手に負えないように見える。
【0110】
Tカウント最適化に対する新規のツールが(HeyfronおよびCampbellによって)提案されている。この新規ツールで使われるアプローチは、本開示で考慮されている全面的なユニタリ回路と対照的に、測定と従来式のフィードバックとに依拠している。さらに、この新規ツールは、CNOTのカウントを設けておらず、TおよびCNOTゲート両方に対するカウントを行うツールとの直接的比較は不可能である。再度、このツールは、Tカウントの最適化だけを目指しており、本開示の技法は、この単純なコスト指標からは外れている。例えば、この新規のTカウント最適化ツールに基づき最適化されたQFT4回路は、44のキュービットを使う4キュービットQFT変換をインプリメントし、CNOTゲートのオーバーヘッドが大きいに違いないことを示唆している。さらなる重要な違いは、スケーラビリティである。本明細書に記載の技法が、大規模な回路を最適化するのに適し、適用される一方、該新規のTカウント最適化ツールは、非常に小さい回路だけ取扱い、例えば、このツールで編成された最大のGF乗算回路は7ビットケースであるが、本明細書に記載のものは、131および163ビットによるCF乗算に取り組むことが可能であり、未解決のCerticomチャレンジに対応している。別の差異は、本明細書で提案する技法は、入力回路で既に利用可能なキュービット間の相互作用だけを用いることである。これは、同じアーキテクチャ中の最適化済み回路を入力回路として実行することを可能にし、限定されたアーキテクチャよりも有用な量子コンピュータであり得る。対照的に、この新規Tカウント最適化ツールは、新しい相互作用を導入している。最後に、本明細書で提案する技法は、任意のRZゲートを介して回路を取り扱えるが、該新規のTカウント最適化ツールは、クリフォード+T回路に限定されている。
【0111】
全体的パフォーマンス
本開示に記載の最適化アルゴリズムにより生成された数値的な最適化結果の諸例が、表1、表2、表3Aおよび3B、ならびに表4A~4Cに提示されている。これらの表は、従来式のコンピュータの到達域を超える実際上の量子計算に関連するベンチマークを包含している。表1および表2中には、ショアの整数因数分解アルゴリズムの、従来式では手に負えないインスタンス中で使われている1,024および2,048キュービットQFTおよび整数加算回路がある。表3Aおよび3B中には、量子力学の直接的な従来式シミュレーションでは、現在実行不可能な、n≧50の全インスタンスが含まれる。表4A~4C中には、サイズ131および163のバイナリフィールドに対するガロア体乗算回路があり、これらは、未解決のCerticomのECCチャレンジ問題への量子アタックに関連している。これは、本提案のオプティマイザまたは最適化アルゴリズムが、実務に適する十分に大きな量子回路を取り扱う能力を有することを例証している。
【0112】
本提案のオプティマイザまたは最適化アルゴリズムは、回路の最適化に対する従前の研究よりももっと広範に適用することが可能である。これは、トフォリゲート(これは否定制御を有し得る)などの複合ゲートを容易に受け入れる。また、これは、ハミルトニアンシミュレーションおよび因数分解を含め、必然的にRZゲートを使用するアルゴリズムに対し有用な機能である、連続するパラメータを備えたゲートを取り扱う。トラップイオンおよび超電導回路の両方を含め、多くの量子情報処理技術は本来的にかかるゲートをサポートしており、しかして、本明細書に記載の提案のアプローチは物理レベルの回路を最適化するため有用であり得る。
【0113】
フォールトトレラントな量子計算は、一般に、クリフォード+Tなどのディスクリートのゲートのセットに依拠しており、最適なRZゲートのクリフォード+Tインプリメンテーションが既に知られている。そうであっても、フォールトトレラントな設定において、連続するパラメータによって回路を最適化する能力は、同様に貴重である。その理由は、ディスクリートなフォールトトレラントなセットに編成される前の、連続的にパラメータ化された自然なゲートのセットに対する最適化は、より小さな最終回路をもたらす可能性が高いからである。
【0114】
最後に、従前のアプローチと違って、本開示で提案するオプティマイザは当初の量子回路の構造を保持するように構成される。具体的に、最適化された量子回路によって使われる2キュービット相互作用のセットは、当初の量子回路中で使われていたもののサブセットである。これは、前処理ステップも、最適化アルゴリズムも、いかなる新規の2キュービットゲートも導入しないために行える。(例えば、使われる相互作用のセットを劇的に増加させるT-parとは全く対照的に)、使われる相互作用の型を制御下に置くことによって、本提案の最適化アルゴリズムからもたらされる最適化インプリメンテーションは、限定された連結性を備えるアーキテクチャにより良好に適応する。具体的に、限定された連結性を備えるハードウェア上の当初の量子回路のレイアウトを所与として、本プロパティは、最適化された量子回路に対しても同じレイアウトを用いることを可能にする。さらに、他の最適化ツール(例えば、前述した新規Tカウント最適化ツール)と違って、本開示で提案するオプティマイザは、使われるCNOTゲートの数を増加しない。これは、ロングレンジCNOTゲートがTゲートよりも高価なことさえあり得、Tの最適化だけに焦点を合わせることで、そのコストがCNOTゲートによって左右される回路をもたらす可能性があるので、このことは、適切な実務上の考慮であり得る。
【0115】
ここで
図18の図表1800を参照すると、或るインプリメンテーションによる、例示のコンピュータデバイス1810が示されており、コンピュータデバイス1810は、様々な最適化サブルーティンとオプティマイザの軽度および重度バージョンを含め、前述した様々な最適化アルゴリズムを実行するために使用が可能である。コンピュータデバイス1810は、例えば、単一コンピューティングデバイス、複数コンピューティングデバイス、または分散型コンピューティングシステムを表していてよい。コンピュータデバイス1810は、本明細書で説明したように、連続するパラメータを備える大規模量子回路の自動最適化を含め、量子回路の自動最適化を実行または遂行するように構成されてよい。さらに、コンピュータデバイス1810は、量子回路についての情報(例えばネットリスト)を受信し、量子回路(または、量子回路の機能)をインプリメントするために必要な量子ゲートの数が、該量子回路(または、量子回路の機能)をインプリメントするために当初に(例えば、最適化の前に)必要としていた量子ゲートの数よりも少なくなるように最適化した後、新しい情報(例えば新規ネットリスト)を生成するように構成することができる。
【0116】
一例において、コンピュータデバイス1810は、1つ以上の最適化機能または本明細書に記載のオペレーションに関連する処理機能を実行するためのプロセッサ1848を含むことが可能である。プロセッサ1848は、プロセッサまたはマルチコアプロセッサの単一のまたは複数のセットを含むことができる。さらに、プロセッサ1848は、集積処理システムおよび/または分散型処理システムとしてインプリメントされてもよい。或るインプリメンテーションにおいて、プロセッサ1848は、例えば、中央処理ユニット(CPU:central processing unit)、グラフィックス処理ユニット(GPU:graphics processing unit)、テンサー処理ユニット(TPU:tensor processing unit)またはこれらの種類の1つ以上のユニットの組み合せを含んでよく、それらを本明細書に記載の最適化機能またはオペレーションの1つ以上を行うように構成することができる。
【0117】
一例において、コンピュータデバイス1810は、本明細書に記載の諸機能を実行するため、プロセッサ1848によって実行可能な命令を格納するためのメモリ1850を含むことができる。或るインプリメンテーションにおいて、メモリ1850は、例えば、本明細書に記載の最適化機能またはオペレーションの1つ以上を実行するためのコードまたは命令を格納するためのコンピュータ可読ストレージ媒体に対応していてよい。
【0118】
さらに、コンピュータデバイス1810は、本明細書に記載したようなハードウェア、ソフトウェア、およびサービスを用いる1つ以上のパーティとの通信の確立および維持を提供する通信コンポーネント1852含むことができる。通信コンポーネント1852は、コンピュータデバイス1810上の諸コンポーネントの間、および、コンピュータデバイス1810と、通信ネットワークに亘って配置された諸デバイスおよび/またはコンピュータデバイス1810にシリアルにまたはローカルに連結された諸デバイスとの間で通信を搬送することが可能である。一例において、通信コンポーネント1852は、コンピュータデバイス1810と、量子情報処理(QIP)システムとの間で、最適化されたネットリストまたは類似情報がコンピュータデバイス1810によって生成された後それがQIPシステムに供給されるように、情報の通信を提供することができる。別の例において、通信コンポーネント1852は1つ以上のバスを含むことができ、送信機と受信機とにそれぞれ関連付けられ、外部のデバイスをインターフェース接続するよう作動可能な、送信チェーンコンポーネントおよび受信チェーンコンポーネントをさらに含むことが可能である。
【0119】
さらに、コンピュータデバイス1810は、データストア1854を含むことができ、これは、本明細書に記載のインプリメンテーションに関連して用いられる情報、データベース、およびプログラムの大容量ストレージを提供する、ハードウェアおよび/またはソフトウェアの任意の適切な組み合せであってよい。例えば、データストア1854は、オペレーティングシステム1840および/または最適化アプリケーション1830のためのデータリポジトリであってよい。一インプリメンテーションにおいて、データストア1854は、メモリ1850を含むことができる。
【0120】
データストア1854および/またはメモリ1850は、最適化前回路、最適化後回路に関連する情報、最適化の過程で生成された中間情報、サブルーティンおよびオプティマイザの様々なバージョンを含む最適化アルゴリズム、本明細書に記載の最適化オペレーションに関連する任意のルールを格納するために使われてよい。
【0121】
また、コンピュータデバイス1810は、コンピュータデバイス1810のユーザからの入力を受信するよう動作可能で、且つユーザへのプレゼンテーションのための出力を生成するようにさらに動作可能なユーザインターフェースコンポーネント1856を含むことができる。ユーザインターフェースコンポーネント1856は、以下に限らないが、キーボード、テンキー、マウス、タッチセンシティブディスプレイ、ディジタイザ、ナビゲーションキー、ファンクションキー、マイクロフォン、声認識コンポーネント、ユーザから入力を受信する能力のある任意の他のメカニズム、またはこれらの任意の組み合せを含め、1つ以上の入力デバイスを含んでよい。さらに、ユーザインターフェースコンポーネント1856は、以下に限らないが、ディスプレイ、スピーカ、触覚フィードバックメカニズム、プリンタ、ユーザに出力を提示する能力のある任意の他のメカニズム、またはこれらの任意の組み合せを含め、1つ以上の出力デバイスを含むことができる。
【0122】
或るインプリメンテーションにおいて、ユーザインターフェースコンポーネント1856は、オペレーティングシステム1840および/または最適化アプリケーション1830のオペレーションに対応して、メッセージを送信および/または受信することが可能である。さらに、プロセッサ1848(processor 1840)は、オペレーティングシステム1840および/または選択アプリケーション1830を実行することができ、メモリ1850またはデータストア1854は、それらを格納することができる。さらに、最適化アプリケーション1830は、本明細書に記載の最適化機能またはオペレーションの1つ以上を遂行するため、格納されたコードまたは命令に基づいて実行することが可能である。例えば、最適化アプリケーション1830は、オプティマイザの軽度バージョンまたはオプティマイザの重度バージョンの間で選択することができ、これにより、サブルーティンの適切なシーケンス(およびサブルーティンの各々内の任意のオペレーション)を実行することができる。
【0123】
図19は、本開示の態様による量子回路の自動最適化を行うためのプロセスまたは方法1900を示すフローチャートである。方法1900の諸態様は、
図18に示されたコンピュータデバイス1810中のハードウェアおよび/またはソフトウェアによって実行することができる。
【0124】
ブロック1905で、方法1900は、量子回路を形成する量子ゲートの第一リストについての情報を包含するネットリストを受信するステップを含む。量子ゲートのリストは、量子回路が同じ量子ゲートの重複を有し得るので、諸要素の繰り返しを許容してよい。
【0125】
ブロック1910で、方法1900は、量子ゲートの該第一リストとの機能等価性を有する量子ゲートの第二リストを生成するため、量子ゲートの第一リストについての情報に位相多項式低減オペレーションを実行するステップであって、量子ゲートの第二リスト中の量子ゲートの数は量子ゲートの第一リスト中の量子ゲートの数より少ない、該実行するステップを含む。
【0126】
ブロック1915で、方法1900は、量子ゲートの第二リストについての情報を包含する新規のネットリストを生成するステップを含む。
【0127】
ブロック1920で、方法1900は、量子ゲートの第二リストを用いて量子回路の機能をインプリメントするため、該新規のネットリストを提供するステップを含む。
【0128】
方法1900の別の態様において、位相多項式低減オペレーションを行う前に、前処理オペレーションを実行することができる。この前処理オペレーションは、NOTゲート、CNOTゲート、トフォリゲート、アダマールゲート、およびRZゲートに適用することが可能である。
【0129】
方法1900の別の態様では、位相多項式低減オペレーションを行う前に、アダマールゲートの低減オペレーションを実行することができる。
【0130】
方法1900の別の態様において、位相多項式低減オペレーションを行う前に、単一キュービットゲートの相殺オペレーションを実行することができる。
【0131】
方法1900の別の態様では、位相多項式低減オペレーションを行う前に、2キュービットゲートの相殺オペレーションを実行することができる。
【0132】
方法1900の別の態様において、位相多項式低減オペレーションを行うステップは、書換えルールのセットを実行するステップを含んでよい。書換えルールのセットは、ゲートカウント保持の書換えルールまたはゲートカウント低減の書換えルールのうちの1つまたはその両方を含んでよい。
【0133】
方法1900の別の態様では、位相多項式低減オペレーションとともに、1つ以上のゲート相殺オペレーションまたはゲート低減オペレーションを、反復的に行ってよい。
【0134】
方法1900の別の態様において、位相多項式低減オペレーションを含む最適化オペレーションの固定シーケンスを反復して行うことができ、この位相多項式低減オペレーションは、この固定シーケンス中の最初の最適化オペレーションではなく、この固定シーケンスの中で一回だけ行われる。
【0135】
図20は、本開示の態様による、QIPシステム2005の一例を示す図表2000を示す。QIPシステム2005は、また、量子コンピューティングシステム、量子コンピューティングネットワーク、コンピューティングデバイスなどと呼ばれることもある。或る態様において、QIPシステム2005は、量子コンピューティングオペレーションまたはアルゴリズムをインプリメントまたは実行するために用いることができ、該システムに対する、インプリメントされている量子ゲートの適合性は、例えば量子ビットとして用いられるトラップイオンに印加される調整された安定なレーザ出力を有する能力により決まる。QIPシステム2005は、
図18中のコンピュータデバイス1810、および/または
図18中のコンピュータデバイス1810中の最適化アプリケーション1830(例えば、本提案のオプティマイザまたは最適化アルゴリズム)を実行することによって生成された最適化結果を受信したまたはインプリメントした量子コンピュータ、の量子コンピュータインプリメンテーションに対応してよい。
【0136】
このQIPシステム2005は、量子コンピュータのトラップ原子イオンバージョンを表し、光コントローラ2020によってイオン化された原子種(例えば、トラップイオン)を捕捉するイオントラップ2070を有するチャンバ2050に、原子種を供給する供給源2060を含むことができる。光コントローラ2020中の光源2030(Optical sources 230)は、原子種のイオン化と、原子種の制御(例えば位相制御)と、光コントローラ2020中のイメージングシステム2040中で動作しているイメージ処理アルゴリズムによってモニタし追跡が可能な原子イオンの蛍光発光と、のために用いることが可能な1つ以上のレーザ源を含んでよい。
【0137】
イメージングシステム2040は、原子イオンがイオントラップ2070に供給されている間に(カウントするために)、およびそれらがイオントラップ2070に供給された後に(原子イオンの状態をモニタするために)、それら原子イオンをモニタするための高解像度イメージャ(例えばCCDカメラ)を含むことができる。或る態様において、イメージングシステム2040は、光コントローラ2020と分離してインプリメンテーションが可能であるが、但し、イメージ処理アルゴリズムを使って原子イオンを検出し、識別し、および標識するための蛍光発光の使用は、光コントローラ2020と調整する必要があり得る。
【0138】
また、QIPシステム2005は、前述の最適化技法を使用する量子アルゴリズム(例えば、QFT、量子シミュレーション)を行うため、QIPシステム2005の他の部分(図示せず)とともに動作することが可能なアルゴリズムコンポーネント2010も含んでよい。アルゴリズムコンポーネント2010は、量子回路またはその等価物のインプリメンテーションを可能にするために、QIPシステム2005の様々なコンポーネントに(例えば、光コントローラ2020に)命令を与えることができる。すなわち、アルゴリズムコンポーネント2010は、各種のコンピューティングプリミチブを、例えば、イオントラップ2070中のトラップイオンをキュービットとして使って、物理的表現にマッピングすることを可能にできる。
【0139】
本開示を、図示のインプリメンテーションによって提示してきたが、当業者は、これらの実施形態に対するバリエーションがあり得、それらのバリエーションは、本開示の範囲内にあることになろうことを容易に認識していよう。したがって、当業者は、添付の特許請求の範囲から逸脱することなく多くの修改を作成することができよう。