(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-21
(54)【発明の名称】量子回路における長距離マルチ量子ビット演算のための辺素パス
(51)【国際特許分類】
G06N 10/80 20220101AFI20231114BHJP
G06N 10/00 20220101ALI20231114BHJP
【FI】
G06N10/80
G06N10/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023521476
(86)(22)【出願日】2021-06-30
(85)【翻訳文提出日】2023-05-30
(86)【国際出願番号】 US2021039762
(87)【国際公開番号】W WO2022103446
(87)【国際公開日】2022-05-19
(32)【優先日】2020-11-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】クリウチニコフ,ヴァディム
(72)【発明者】
【氏名】シューテ,エディ
(72)【発明者】
【氏名】ヴァスチッロ,アレクサンダー
(72)【発明者】
【氏名】ヴァシレフスキー,ドミトリー
(72)【発明者】
【氏名】ビバーランド,マイケル
(57)【要約】
量子回路において長距離マルチ量子ビット測定を実行するための方法は、量子回路の量子ビットを、エッジによって互いに接続されるノードにマッピングするグラフを利用する。方法は、量子アルゴリズムのマルチ量子ビット演算によってターゲットとされた量子ビットセットに相当するグラフ上のノードセットを識別することと、各セットのノードを接続する辺素パスのグループを定義することとを提供する。辺素パスのグループは、エッジを共有するパスがグループ内に存在しないように定義される。方法は、グループの各パスに含まれる識別されたノードセットに相当する量子ビットをもつれさせるための演算のセットを実行することと、量子ビットのもつれさせたセットにおいてマルチ量子ビット演算のセットを実行することとをさらに提供する。
【特許請求の範囲】
【請求項1】
量子デバイスの量子ビットにマッピングされたノードを含むグラフを定義することであって、前記ノードが、エッジによって互いに接続される、ことと、
量子アルゴリズムのマルチ量子ビット演算によってターゲットとされた量子ビットセットに相当する前記グラフ上のノードセットを識別することと、
辺素パスのグループを定義することであって、前記グループの各パスが、1つ又は複数のエッジ及びノードに沿って定義され、前記識別されたノードセットのうちの1つを含み、辺素パスの前記グループが、エッジを共有する前記パスが前記グループ内に存在しないように定義される、ことと、
定義されたパスの各々に対して、前記パスに含まれる前記識別されたノードセットに相当する前記量子ビットをもつれさせるための演算のセットを実行することと、
前記量子ビットの前記もつれさせたセットにおいてマルチ量子ビット演算の前記セットを実行することと
を含む、方法。
【請求項2】
辺素パスの前記定義されたセット内で、1つ又は複数のノードにおいて互いに交差する前記パスのサブセットを識別することと、
パスの前記識別されたサブセットの各パスに対して、1つ又は複数の第1のステージセグメントと1つ又は複数の第2のステージセグメントに前記パスをセグメント化することであって、前記第1のステージセグメント及び前記第2のステージセグメントが、互いに交差する第1のステージセグメントが存在しないように及び互いに交差する前記第2のステージセグメントが存在しないように定義される、ことと、
前記第2のステージセグメントと関連付けられたエンタングルメント動作とは異なる時点で、前記第1のステージセグメントと関連付けられたエンタングルメント動作を実行することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記第1のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第1のセットを実行することと、
後続の時刻に、前記第2のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第2のセットを実行することと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記第1のステージセグメントのそれぞれのものの各々の前記量子ビットをもつれさせるための演算の前記第1のセットを実行することが、
前記第1のステージセグメントの偶数及び奇数のエッジを定義することと、
前記第1のステージセグメントの偶数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと、
前記第1のステージセグメントの奇数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと
をさらに含む、請求項3に記載の方法。
【請求項5】
前記第2のステージセグメントのそれぞれのものの各々の前記量子ビットをもつれさせるための演算の前記第1のセットを実行することが、
前記第2のステージセグメントの偶数及び奇数のエッジを定義することと、
前記第2のステージセグメントの偶数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと、
前記第2のステージセグメントの奇数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと
をさらに含む、請求項3に記載の方法。
【請求項6】
前記量子デバイスの前記量子ビットが、物理量子ビットから構築される表面符号において実施される論理量子ビットである、請求項1に記載の方法。
【請求項7】
マルチ量子ビット演算の前記セットを実行することが、
前記マルチ量子ビット演算のいくつか又はすべてを同時に実行すること
をさらに含む、請求項1に記載の方法。
【請求項8】
量子アルゴリズムによって指定された並列マルチ量子ビット演算を引き起こすために回路定義を実行する量子デバイスと、
メモリに格納されたコントローラであって、
前記量子デバイスの前記量子ビットにマッピングされたノードを含むグラフにアクセスすることであって、前記グラフの前記ノードが、エッジによって接続される、ことと、
前記並列マルチ量子ビット演算によってターゲットとされた量子ビットセットに相当する前記グラフ上のノードセットを識別することと、
辺素パスのグループを定義することであって、前記グループの各パスが、1つ又は複数のエッジ及びノードに沿って定義され、前記識別されたノードセットのうちの1つを含み、辺素パスの前記グループが、エッジを共有する前記パスが前記セット内に存在しないように定義される、ことと、
前記量子デバイスによって実行するための回路をコンパイルすることであって、前記回路が、辺素パスの前記グループ内の定義されたパスの各々に含まれる前記識別されたノードセットに相当する前記量子ビットをもつれさせ、前記並列マルチ量子ビット演算を実行するように実行可能である、ことと
を行うように実行可能である、コントローラと
を含む、量子コンピューティングシステム。
【請求項9】
前記コントローラが、
1つ又は複数のノードにおいて交差する前記グループ内の前記パスのサブセットを識別することと、
パスの前記識別されたサブセットの各パスに対して、1つ又は複数の第1のステージセグメントと1つ又は複数の第2のステージセグメントに前記パスをセグメント化することであって、前記第1のステージセグメント及び前記第2のステージセグメントが、互いに交差する第1のステージセグメントが存在しないように及び互いに交差する前記第2のステージセグメントが存在しないように定義される、ことと
を行うようにさらに実行可能であり、
前記コンパイルされた回路が、前記第2のステージセグメントと関連付けられたエンタングルメント動作とは異なる時点で、前記第1のステージセグメントと関連付けられたエンタングルメント動作を引き起こすようにさらに実行可能である、請求項8に記載の量子コンピューティングシステム。
【請求項10】
前記コントローラが、
前記第1のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第1のセットを引き起こすように実行可能な第1の回路に対する第1の回路定義を生成することと、
前記第1のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第2のセットを引き起こすように実行可能な第2の回路に対する第2の回路定義を生成することと
を行うようにさらに実行可能である、請求項9に記載の量子コンピューティングシステム。
【請求項11】
前記第1のステージセグメントの各々のものに対して偶数及び奇数のエッジが定義され、前記第1の回路が、
前記第1のステージセグメント内の前記偶数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと、
前記第1のステージセグメント内の前記奇数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと
を行うようにさらに実行可能である、請求項10に記載の量子コンピューティングシステム。
【請求項12】
前記第2のステージセグメントの各々のものに対して偶数及び奇数のエッジが定義され、前記第2の回路が、
前記第2のステージセグメントの前記偶数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと、
前記第2のステージセグメント内の前記奇数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと
を行うようにさらに実行可能である、請求項10に記載の量子コンピューティングシステム。
【請求項13】
前記量子回路の前記量子ビットが、物理量子ビットから構築される表面符号において実施される論理量子ビットである、請求項8に記載の量子コンピューティングシステム。
【請求項14】
前記回路が、前記並列マルチ量子ビット演算のいくつか又はすべてを同時に実行するようにさらに実行可能である、請求項8に記載の量子コンピューティングシステム。
【請求項15】
コンピュータプロセスを実行するためのコンピュータ実行可能命令を符号化する1つ又は複数の有形のコンピュータ可読記憶媒体であって、前記コンピュータプロセスが、
量子デバイスの量子ビットにマッピングされたノードを含むグラフを定義することであって、前記グラフの前記ノードが、エッジによって接続される、ことと、
量子アルゴリズムのマルチ量子ビット演算によってターゲットとされた量子ビットセットに相当する前記グラフ上のノードセットを識別することと、
辺素パスのグループを定義することであって、前記グループの各パスが、1つ又は複数のエッジ及びノードに沿って定義され、前記識別されたノードセットのうちの1つを含み、辺素パスの前記グループが、エッジを共有する前記パスが前記グループ内に存在しないように定義される、ことと、
定義されたパスの各々に対して、前記パスに含まれる前記識別されたノードセットに相当する前記量子ビットをもつれさせるための演算のセットを実行することと、
前記量子ビットの前記もつれさせたセットにおいてマルチ量子ビット演算の前記セットを実行することと
を含む、有形のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
背景
[0001] 測定の間に量子状態を雑音から保護するため、多くの量子誤り訂正符号(QECC)が開発されてきた。いかなるQECCでも、論理量子ビットは、フォールトトレラント量子計算を可能にするために、いくつかの物理量子ビットを使用して符号化される。論理量子ビットは、より優れた測定精度を提供するために、多くのデータ量子ビットに広がる冗長データを有するものとして理解され得る。
【0002】
[0002] 表面符号は、多くの量子ビットを含むもつれ2D格子(例えば、正方形グリッド)の形態での論理量子ビットの符号化を提供する有望なQECCの1つである。格子は、多くのプラケットに分割され、格子の状態は、スタビライザセットを繰り返し測定することによって維持される。例えば、スタビライザは、グリッドの個々のプラケット上で量子ビットを一緒にもつれさせ、結果として生じる状態を測定することによって測定される。このエンタングルメントは、スタビライザ演算子の固有状態(例えば、Xスタビライザ又はZスタビライザ)に量子ビットを追いやり、それにより、システムを乱すことなく、スタビライザを測定することができるようになる。スタビライザ測定結果が表面符号内で変化する際、これは、測定によって投影された量子状態における1つ又は複数の量子ビット誤りに相当する。
【0003】
[0003] 表面符号の制約の1つは、論理量子ビットの誤り訂正が最近傍量子ビット間の相互作用に依存することである。結果的に、表面符号を利用する量子回路は、一般に、密接に局在する量子ビットのグループに対する誤り訂正を提供するように設計される。それに加えて、高レベルの量子アルゴリズムは、表面符号を採用する回路において使用されるものとの互換性を有さない演算を要求し得る。従って、アルゴリズム設計者には、量子回路合成として知られている問題(例えば、所定の量子回路レイアウトとの互換性を有する演算を使用して量子アルゴリズムの演算をどのように近似するか)が課される。
【0004】
[0004] 表面符号を実施する従来の量子回路は、高レベルのアルゴリズムを実施するための利用可能な量子演算のセットを制限する。一般に、これらの回路は、利用可能なマルチ量子ビット演算のセットを、物理的に極めて接近する量子ビット(例えば、最近傍量子ビット)において実行されるものに限定する。表面符号を実施するいくつかの回路では、非近傍量子ビット間の測定は、量子ビット間で量子状態を物理的にトランスポートするために、「SWAP」演算を使用することによって実行することができる。しかし、これらのソリューションは、典型的には、大多数の測定ステップを必然的に伴い、それにより、所定のソリューションの実施に要する時間が増加する。
【発明の概要】
【0005】
概要
[0005] 一実装形態によれば、量子回路において並列長距離マルチ量子ビット演算を実行するための方法は、量子ビットにマッピングされたノードのグラフを定義することであって、グラフのノードが、エッジによって接続される、定義することを必然的に伴う。方法は、量子アルゴリズムのマルチ量子ビット演算によってターゲットとされた量子ビットセットに相当するグラフ上のノードセットを識別することと、セットの各々の量子ビットを接続する辺素パスのグループを定義することとをさらに提供する。互いに素なパスは、エッジを共有するパスがグループ内に存在しないように定義される。方法は、定義された辺素パスの各々に含まれる識別されたノードセットに相当する量子ビットをもつれさせるための演算のセットを実行することと、量子ビットのもつれさせたセットにおいてマルチ量子ビット演算のセットを実行することとをさらに提供する。
【図面の簡単な説明】
【0006】
図面の簡単な説明
【
図1】[0006]長距離マルチ量子ビット演算を実行するために辺素パスを利用する例示的な量子コンピューティングシステムを示す。
【
図2】[0007]辺素パスと見なされる及び見なされない量子回路上のパスの例を示す。
【
図3】[0008]表面符号アーキテクチャを実施する量子回路において辺素パスを使用して並列長距離マルチ量子ビット演算を実行するための例示的な動作を示す。
【
図4A】[0009]量子回路において並列で実行することができる長距離マルチ量子ビット演算の数を最大化するメソドロジーに従って、辺素パスをセグメント化するための例示的な動作を示す。
【
図4B】[0010]第1及び第2のステージパスセグメントへの
図4Aの辺素パスの例示的なセグメンテーションを示す。
【
図4C】[0011]
図4Bに示される第1のステージパスセグメントに相当する量子ビットをもつれさせるための回路を示す。
【
図4D】[0012]
図4Bに示される第2のステージパスセグメントに相当する量子ビットをもつれさせるための回路を示す。
【
図5】[0013]誤り訂正のために表面符号アーキテクチャを使用する量子回路において並列長距離マルチ量子ビット演算を実施するための例示的な動作を示す。
【
図6】[0014]開示される技術の態様の実装に適した例示的なコンピューティング環境を示す。
【発明を実施するための形態】
【0007】
詳細な説明
[0015] 本明細書で開示される技術は、表面符号を実施するように適応させた量子回路内での効率的な長距離マルチ量子ビット演算を容易にする。SWAP演算を利用するというよりむしろ、開示される手法は、同時長距離マルチ量子ビット共同演算の可能な数を最大化するように、並列化長距離テレポーテーション(例えば、最近傍量子ビットのストリングをもつれさせること)を提供する。この手法は、表面符号を実行する量子回路上での複雑なマルチ量子ビット演算の実施に必要な測定動作の総数を低減する。
【0008】
[0016] 一実装形態によれば、開示される手法は、ノードとエッジによって定義される表面符号グラフ上の辺素パスセットを識別することを提供し、ノードは、量子回路上の量子ビットを表し、エッジは、最近傍量子ビット間の接続を表す。識別された辺素パスは、長距離マルチ量子ビット演算が容易になるように、量子ビットのストリングをもつれさせるために使用される。本明細書で使用される場合、2つ以上のパスは、パス間で共有される「エッジ」がない際に、「辺素パス」と呼ばれる。注目すべきは、2つ以上のパスが、同じノードを交差するがエッジを共有しない場合も依然として、「辺素パス」と見なせることである。これらのパスは、本明細書では、共有ノード辺素パスと呼ばれる。
【0009】
[0017] 本明細書で提案されるメソドロジーは、互いにノードを共有する(例えば、交差する)辺素パスに対する特別な考察及び取扱いを提供する。開示されるメソドロジーは、別の辺素パスとノードを共有する辺素パスのセグメンテーションを提供する。異なるセグメントにパスを分けた後、各セグメントの量子ビットをもつれさせるために、エンタングルメント動作が実行される。同じ辺素パスの異なるセグメントに対するエンタングルメント動作は、互いに非並行である(異なる時点で実行される)。このメソドロジーは、以下の図に関して、より完全に実現することができる。
【0010】
[0018]
図1は、古典的なソフトウェア及び/又はハードウェア要素を含むものとして理解され得るコントローラ102を含む例示的な量子コンピューティングシステム100を示す。コントローラ102は、量子アルゴリズム120の演算を実施するために量子コンピュータ110上で実施可能な命令を準備するためのコンパイル動作を実行する古典的なコンパイラ104を含む。古典的なコンパイラ104は、2つのサブモジュール(辺素パス識別子116及びパスセグメンタ118)を含むものとして示されている。辺素パス識別子116及びパスセグメンタ118は、量子アルゴリズム120の量子演算を、誤り訂正のための表面符号アーキテクチャを実施する量子回路108上で実施するために物理的に利用可能な量子演算にマッピングするためのアクションを実行する。
【0011】
[0019] 量子回路108は、
図1では、量子コンピュータ110内に含まれる正方形のグリッド(例えば、量子ビットレジスタ)として描写されている。量子回路108は2Dグリッドとして示されているが、いくつかの実装形態は、3Dグリッド構成を含み得る。量子回路108内に示される正方形(例えば、正方形112)の各々は、それ自体が論理量子ビットのデータを格納する多くのデータ量子ビットで構成されている1つの論理量子ビットを表すものとして理解され得る。各論理量子ビット内のデータ量子ビットは、表面符号を実施し、誤りの検出及び訂正を行う。
【0012】
[0020] 量子アルゴリズム120が提供されると、古典的なコンパイラ104は、高レベルの量子演算(ターゲットユニタリ)を、量子回路108上で実行することができる物理量子ビット演算にマッピングする動作を実行する。各論理量子ビット内に埋め込まれた表面符号アーキテクチャにより、量子回路108による実施に利用可能な演算のセットは、量子アルゴリズム120によって指定された1つ又は複数の演算を除外し得る。具体的には、表面符号を実施する量子回路は、典型的には、共同演算(例えば、2量子ビット又は3量子ビット測定)を、最近傍量子ビットの列を通じて偶然一緒に接続されている量子ビットセットをターゲットとする共同演算に限定する。
図1の正方形グリッドは、一見したところ、そのような列を通じてグリッド上の任意の2つの量子ビット間の接続性を提供しているが、量子アルゴリズムが複数の並列(同時)長距離マルチ量子ビット演算を要求すると、複雑な事態が生じる。
【0013】
[0021] 本明細書で使用される場合、「長距離」は、最近傍ではない2つの量子ビット間の演算を指す。量子回路108では、2つの論理量子ビットは、それらが直接隣接し、エッジ境界を共有する際に、「最近傍」であると言える(例えば、垂直方向に直接隣接した又は水平方向に直接隣接した量子ビット)。
【0014】
[0022] 並列(同時)マルチ量子ビット演算に関連する前述の課題に対処するため、辺素パス識別子116は、並列マルチ量子ビット演算によってターゲットとされたすべての量子ビットセット間の接続性を提供する量子回路108内の辺素パスセットを識別する。以下で説明されるように、これらの識別された辺素パスは、マルチ量子ビット演算のうちの1つによってターゲットとされた各量子ビットセット間のエンタングルメントを確立するために使用される。
【0015】
[0023] 例により、制限されることなく、拡大ビュー128は、量子アルゴリズム120によって指定された並列マルチ量子ビット演算の集合体によってターゲットとされた量子ビットを含む量子回路108の一部分を示す。示される例では、量子アルゴリズム120は、3つの同時CNOT演算を提供し、第1のCNOTは、量子ビットE3、G6に対して動作し、第2のCNOTは、量子ビットF4、H4に対して動作し、第3のCNOTは、E5、E6に対して動作する。指定された演算を、量子回路108上で物理的に実施することができる演算にマッピングするため、辺素パス識別子116は、要求された並列マルチ量子ビット演算のうちの1つの量子ビット間の接続性を各々が提供する辺素パスのグループを識別する。識別された辺素パス(ビュー128のグリッド上に示されている)は、要求された並列マルチ量子ビット測定を実施するために使用される予定の量子ビットの列に相当する。
【0016】
[0024] 以前に言及した通り、2つのパスは、パスがエッジを共有する(例えば、ノード間の共通の境界を越える)ことがなければ、辺素パスであると言える。示される例では、E3→G6を接続するパスは、H4→F4を接続するパスと交差する。この交差は、ノード(G4)で起こる。従って、これらの2つのパスは、ノードを共有するが、エッジを共有しない。従って、これらの2つのパスは、EF→E6を接続するパスと共に、辺素パスのグループを含む。「辺素パス」の意味に関するさらなる文脈に対し、
図2は、ノード共有(許容可能)とエッジ共有(許容不可)のさらなる例を示す。
【0017】
[0025] 注目すべきは、
図1に示される3つの例示的な辺素パスの各々が、パスのエンドポイントに相当する量子ビットをターゲットとする異なる2量子ビット測定に相当することである。しかし、同様のメソドロジーを使用して、3つ以上の量子ビットのセット間の辺素パスを識別することができる。例えば、3つの量子ビットは、3つのエンドポイントを有する木のような構造(「T字状の」パス又は3つのエンドポイントを有する他の任意の連続パス)によって接続することができる。しかし、実装形態にかかわらず、要求された並列マルチ量子ビット演算のセットと関連付けられるパスは、グループの独立したパス間でエッジが共有されないように選択された辺素パスのグループである。
【0018】
[0026] 再び示される例を参照すると、最近傍量子ビットの相互作用を通じて2つの量子ビットを互いにもつれさせることによって、量子回路108の任意の2つの量子ビットにおいて共同測定を実行することが可能である。例えば、F4、H4における共同測定は、それらの間に伸びる量子ビットの列を通じてターゲット量子ビットF4とH4をもつれさせることによって実行することができる。具体的には、これは、F4、G4、H4をもつれさせ、次いで、F4、H4における共同測定を実行することによって達成することができる。
【0019】
[0027] 伝統的には、並列マルチ量子ビット演算を実施するために使用される辺素パス間に交差(例えば、1つ又は複数の共有ノード)が存在する際に課題が生じる。例えば、エンタングルメント動作がパスE3→G6及びパスH4→F4に対して同時に実行される場合は、4つのすべてのエンドポイント(E3、G6、H4、F4)は、一緒にもつれる結果に陥り、それにより、それらの対[E3、G6]及び[H4、F4]の独立した測定が妨げられる。この落し穴を避けるため、パスセグメンタ118は、識別された辺素パス演算のグループ内のブレークポイントを識別して実施し、一方又は両方のパスを異なる部分にセグメント化することによってパス交差を排除する。このパスセグメンテーションは、エンタングルメント動作の異なる「ステージ」で使用されるパスセグメントを定義する。例えば、エンタングルメント動作の異なるステージの各々は、最終的に長距離相互作用のターゲット量子ビット(例えば、E3、E6)が他の並列長距離相互作用のターゲット量子ビット(例えば、E4、H4)ともつれることにならないことを保証するために、隔てた時点で実施される。
【0020】
[0028] 例えば、
図1では、パスセグメンタ118は、ビュー128に示される辺素パスのグループ内で起こるすべての交差を識別する。この例では、2つのパスがノードを共有する交差は、1つのみ存在する(G4で)。パスセグメンタ118は、元々はE3からG6に伸びていたパスを2つの別個のセグメントに解析し、それにより、E3からG3に伸びる第1のセグメントと、G3からG6に伸びる第2のセグメントが形成される。パスセグメンタ118は、第1のセグメント(E3→G3)を、他の2つのパス(H4→F4及びE5→E6)も含めて、第1の演算ステージ132に割り当てる。注目すべきは、第1の演算ステージ132内のどのパスも、ノードを共有しないことである。残りのセグメント(G3→G6)は、第2の演算ステージ134に割り当てられる。第1の演算ステージ132は、第1の時間間隔の間に実行される(例えば、互いに並行して又は連続して)エンタングルメント動作の第1のセットを定義し、第2の演算ステージ134は、第2の後の時間間隔の間に実行されるエンタングルメント動作の第2のセットを定義する。この例では、E3、F3、G3は、第1のステージに相当する第1の時間間隔の間に互いにもつれ、G3、G4、G5、G6は、第2のステージに相当する第2の時間間隔の間に互いにもつれる。2つのステージの終了時には、対応するマルチ量子ビット測定が容易になるように、並列マルチ量子ビット演算のうちの1つによってターゲットとされた量子ビットセットの各々がもつれている。例えば、E3はG6ともつれ、F4はH4ともつれるが、それぞれの対[E3、G6]と[F4、H4]の間にエンタングルメントは存在しない。
【0021】
[0029]
図2は、この開示の目的のために、辺素パスと見なされる及び見なされない量子回路上のパスのさらなる例200を示す。
図1のグラフと同様に、グラフのノード(正方形)は、回路内の量子ビットの物理的位置に相当することが意図される。ノード間の境界は、エッジと呼ばれる。第1の例202は、領域206においてエッジを共有する2つのパスを示す。この共有エッジにより、領域206において交差する2つのパスは、辺素パスと見なすことはできない。対照的に、第2の例204は、ノードは共有するが、エッジは共有しない、パスを示す。具体的には、領域206及び208の各々は、2つの異なるパス間で共有されたノードを示す。共有エッジの不在により、例204に示されるパスはすべて、辺素パスであると見なされる。
【0022】
[0030]
図3は、表面符号アーキテクチャを実施する量子回路において辺素パスを使用して並列長距離マルチ量子ビット演算を実施するための例示的な動作300を示す。従来は、2量子ビット量子演算は、ベル対を作成することによって実行され、ターゲット量子ビット間の補助量子ビットのパスの使用を通じて達成される。本明細書で開示される手法は、適した辺素パスセットを識別し、一定のオーバーヘッドを保証する方法でパスをマルチステージエンタングルメント動作にセグメント化することによって、同じことを達成する。
【0023】
[0031] 動作300は、
図1に示される例をさらに展開している。第1のビュー302は、2量子ビット量子演算のトリオを実施するために使用可能なものとして識別された辺素パス304、306、308の例示的なセットを示す。パス304とパス306がノード(G4)を共有することが決定され次第、
図1に関して説明されるように、セグメンテーション動作が実行される。このセグメンテーションは、第1のセグメント310と第2のセグメント312とにパス304を区分する。第1のセグメント310は、パス304、306と共に、第1の演算ステージ314に割り当てられ(以下では、「第1のステージパス」と総称される)、第2のセグメント312は、第2の演算ステージ316に割り当てられる。ノードを共有するパス又はパスセグメントは、第1の演算ステージ314内に存在せず、ノードを共有するパス又はパスセグメントは、第2の演算ステージ316内に存在しない。上記のメソドロジーを通じて、辺素パスの個々のエンドポイントは、第1のステージ演算又は第2のステージ演算によってターゲットとされる。しかし、これらのエンドポイントは、第1の演算ステージ314と第2の演算ステージ316の両方の演算のターゲットとすることはできない。
【0024】
[0032] 第1の演算ステージ314を実施するため、第1のステージパスの各々に沿ってそれぞれ配列された量子ビットをもつれさせるための動作が実行される。例えば、第1の演算フェーズ314のエンタングルメント動作は、ノードE3、F3、G3に相当する第1の量子ビットグループ、ノードF4、G4、H4に相当する第2の量子ビットグループ、及び、ノードE5、E6に相当する第3の量子ビットグループの独立したエンタングルメントを引き起こす。「第1のステージ」パスのこのエンタングルメントは、共同測定318の2つのラウンドによって達成され、2つのラウンドはそれぞれ、時刻t1、t2に実行されるものとして示されている。第1のステージパスの各々に対して、偶数及び奇数のエッジが識別される。
【0025】
[0033] 第1のステージの第1の測定ラウンド(t1)では、3つのパスの各々の中の奇数のエッジを接続する量子ビットにおいて、共同測定が実行される。ここでは、水平方向エッジ上の量子ビット(例えば、E3、E4及びF4、G4)をもつれさせるために、Xベースの共同パリティ測定が実行され、垂直方向エッジ上の量子ビット(例えば、E5、E6)をもつれさせるために、Zベースの共同パリティ測定が実行される。第1の演算ステージの第2の測定ラウンド(t2)では、3つのパスの各々の中のイベント番号のエッジを接続する量子ビットにおいて、共同測定が実行される。この場合もやはり、水平方向エッジ上の量子ビット(例えば、例えば、F3、G3及びG4、H4)をもつれさせるために、Xベースの共同パリティ測定が実行され、垂直方向エッジ上の量子ビット(例えば、示される例には存在しない)をもつれさせるために、Zベースの共同パリティ測定が実行される。
【0026】
[0034] 第2の演算ステージ316を実施するため、第2のステージパスの各々に沿ってそれぞれ配列された量子ビットをもつれさせるための動作が実行される。例えば、第1の演算ステージ314のエンタングルメント動作は、量子ビットグループG3、G4、G5、G6の独立したエンタングルメントを引き起こす。このエンタングルメントは、共同測定320の2つのラウンドによって達成され、2つのラウンドはそれぞれ、時刻t3、t4に実行され、t3、t4は、t1、t2より後の時刻に起こる。第2の演算ステージの第1の測定ラウンド(t3)では、奇数のエッジを共有する量子ビットにおいて、共同測定が実行される。ここでは、G3、G4に対して第1のZベースの共同測定が実行され、G5、G6に対して第2のZベースの共同測定が実行される。第2の演算ステージの第2の測定ラウンド(t4)の間は、偶数のエッジを共有する量子ビットにおいて、共同測定が実行される。ここでは、ノードG4、G5に対して別のZベースの共同測定が実行される。
【0027】
[0035] 上記の測定動作は、ビュー302に示される3つの辺素パス上のエンドポイントの各対のエンタングルメントを完了する。結果的に、ここでは、対応する量子ビットの共同測定を実行することができる。
【0028】
[0036]
図4Aは、量子回路において並列で実行することができる長距離共同演算の数を最大化するメソドロジーに従って、辺素パスをセグメント化するための例示的な動作400を示す。具体的には、
図4Aは、グラフ404のビュー402、406に対して示される様々な演算を示す。グラフ404は、量子回路における量子ビットの物理的場所に相当する正方形ノードを含む。例により、制限されることなく、グラフ404のすべての正方形ノードは、各正方形ノードの内部の多くの埋め込みデータ量子ビット(図示せず)にわたってデータが広がっている論理量子ビットを表すものとして理解され得る。示される動作では、最も濃い網掛けノードは、量子アルゴリズムによってターゲットとされたデータ量子ビットを表すものとして理解され得(例えば、データ量子ビット403)、薄い網掛けノード及び網掛けのない(白色)ノードは、データ量子ビットのセット(例えば、2つ以上)の共同測定を容易にする補助量子ビットを表すものとして理解され得る。意図的に、グラフ404の直接隣接するデータ量子ビット(黒色ノード)の各対は、補助量子ビットに相当する網掛けのない(白色)ノードによって分離されている。網掛けのない(白色)ノード間に残るギャップは、薄い網掛けノードによって埋められている。
【0029】
[0037] ビュー402は、データ量子ビットにおいて要求されたマルチ量子ビット演算のセットを実施するために使用可能なものとして識別されている辺素パスのグループを示す。辺素パスのこのグループは、それぞれの対のパス間で共有されるノードを含む。具体的には、ノードC7は、パスBとパスCによって共有され、ノードC5は、パスAとパスCによって共有され、ノードE5は、パスAとパスBによって共有され、ノードE7は、パスBとパスDによって共有される。グラフ404の幾何学的な制約により、共有されるノードはすべて、網掛けのないノードというよりむしろ、灰色ノードに相当する。
【0030】
[0038] ビュー406は、1つ又は複数のパスにおけるブレークポイントを選択するための例示的なアルゴリズム上の動作を示す。ここでは、パスが灰色ノードの境界を越えた際は常に、ステージ番号(1又は2)が各パスに割り当てられる。これらの灰色ノードの境界は、以下では、「灰色ノード境界」と呼ばれる。このステージ番号割り当ては、2つの規則に従って生成される。第1に、パスが灰色ノードを横断する時はいつでも、2つの結果として生じる灰色ノード境界には、同じステージ番号(例えば、1又は2)が割り当てられる。第2に、第1のパスと第2のパスが同じ灰色ノードを通過する(例えば、2つのパス間でノードが共有される)場合は、第1のパスの灰色ノード境界には、第2のパスの灰色ノード境界とは異なるステージ番号が割り当てられることになる。
【0031】
[0039]
図4Bは、割り当てられたステージ番号に基づいて、
図4Aの識別された辺素パスの1つ又は複数をセグメント化するための動作を示す。参考までに、
図4Bは、この場合もやはり、各灰色境界の横断に対するステージ番号割り当てのラベル付けを含むビュー406を示し、ステージ番号割り当ては、
図4Aに関して上記で説明されるように決定することができる。ステージ番号の割り当てに続いて、ビュー408、410に示されるように、ブレークポイントの識別及び実施が次に行われる。
【0032】
[0040] ブレークポイントを実施するため、システムは、そのノードの境界に異なるステージ番号が割り当てられる網掛けのないノードを横断するパスを識別する。例えば、ノードC4、C6、D6、D7はすべて、関連付けられたパス境界に異なるステージ番号が割り当てられている網掛けのないノードに相当する。ブレークポイントは、これらのノードの各々に挿入され、関連付けられたパスを2つの異なるセグメントに効果的に分ける。この例では、パスAは、3つのセグメントに区分され(2つがステージ1に割り当てられ、2つがステージ2に割り当てられる)、パスB、Cは、2つのセグメントに区分される(一方がステージ1に割り当てられ、他方がステージ2に割り当てられる)。
【0033】
[0041] 示される例では、ステージ番号1と関連付けられたパス部分は、第1の演算ステージ(ビュー408に示される)に割り当てられ、ステージ番号2と関連付けられたパス部分は、第2の演算ステージ(ビュー410に示される)に割り当てられる。ノードを共有するパス又はパスセグメントは、第1の演算ステージ内に存在せず、ノードを共有するパス又はパスセグメントは、第2の演算ステージ内に存在しない。上記のメソドロジーを通じて、辺素パスの各々の個々のエンドポイントは、第1のステージ演算又は第2のステージ演算と関連付けられる(ただし、両方ではない)。
【0034】
[0042] 示されるパスセグメンテーションに続いて、第1の演算ステージに割り当てられたパスに対して、エンタングルメント動作の第1のステージが定義される。同様に、第2の演算ステージに割り当てられたパスに対して、エンタングルメント動作の第2のステージが定義される。量子回路において実際に実施される際、エンタングルメント動作の第1のステージは、エンタングルメント動作の第2のステージに非並行に(例えば、その前に)実行される。
【0035】
[0043]
図4C及び
図4Dは、
図4Aで識別された辺素パスの各々と関連付けられた量子ビットをもつれさせるために実施可能な実際の回路への第1及び第2のステージパスの変換を示す。
【0036】
[0044]
図4C内では、第1のビュー416は、以前にビュー408で示されるような及び上記で説明されるように導出されるような、ステージ番号1(「第1のステージパス」)と関連付けられたパスを示す。
図4Cのビュー418及び420は、各パスに対応する量子ビットのエンタングルメントを達成するために使用可能な異なる測定ラウンドで実装された回路を示す。具体的には、ビュー418は、第1のステージ測定の第1のラウンドを示し、ビュー420は、第1のステージ測定の第2のラウンドを示す。第1のステージ測定の2つのラウンドは異なる時刻に実行されるが、それぞれのラウンドの各々の中で実行される測定(例えば、ビュー418又はビュー420内に示されるもの)は、並行して実行することができる。ビュー418とビュー420の両方では、関連付けられたステップにおいて共同測定されるそれぞれの対のノードを示すために、塗りつぶされたエッジが使用されている。例えば、ビュー418においてB2とB3を接続するエッジは、B2、B3に相当するノードの共同測定を示すために塗りつぶされている。対照的に、関連付けられたステップにおいて共同測定の対象ではないそれぞれの対のノードを示すために、白抜きされたエッジが使用されている。例えば、ビュー418においてB3をC3に接続するエッジは、このステップにおいてエンドポイントノードが共同測定の対象ではないことを示すために白抜きされている。
【0037】
[0045] ビュー418に対して示される測定の第1のラウンドでは、各パスに対して偶数及び奇数のエッジが識別され、パスの各々の中の奇数のエッジを接続する量子ビットにおいて、共同測定が実行される。ここでは、測定が、水平向きの奇数のエッジに沿って接続されたデータ量子ビット(黒色ノード)及び補助量子ビットに関与する際は、Xベースの測定が実行される。同様に、測定が、垂直向きの奇数のエッジに沿って接続されたデータ量子ビット(黒色ノード)及び補助量子ビットに関与する際は、Zベースの測定が実行される。文字「B」は、ベル測定を示すために使用される。
【0038】
[0046] ビュー420に対して示される第1のステージ測定の第2のラウンドでは、パスの各々の中の偶数のエッジを接続する量子ビットにおいて、共同測定が実行される。測定タイプは、ビュー418に示されるものと同じである(例えば、データ量子ビットに関与する水平方向エッジに対して、Xベースの測定が実行され、データ量子ビットに関与する垂直方向エッジに対して、Yベースの測定が実行され、2つの補助量子ビットに関与する測定に対して、Bベースの測定が実行される)。第1のステージ共同測定の第1及び第2のラウンドの終了時には、第1のステージパス(例えば、ビュー408に示されるパス)の各々のエンドポイントが互いにもつれている。
【0039】
[0047]
図4Dは、
図4A~4Cに関して論じられる動作400、412、414の拡張である第2のステージエンタングルメント動作422を示す。
図4D内では、第1のビュー424は、以前にビュー410で示されるような及び上記で説明されるように導出されるような、ステージ番号2(「第2のステージパス」)と関連付けられたパスを示す。ビュー426及び428は、ビュー408に示される各パスに対応する量子ビットのエンタングルメントを達成するために使用可能な第2のステージの異なる測定ラウンドで実装された回路を示す。具体的には、ビュー426は、第2のステージ測定の第1のラウンドを示し、ビュー428は、第2のステージ測定の第2のラウンドを示す。第2のステージ測定の2つのラウンドは異なる時刻に実行されるが、それぞれのラウンドの各々の中で実行される測定(例えば、ビュー426又はビュー428内に示されるもの)は、並行して実行することができる。
【0040】
[0048] ビュー426に対して示される共同測定の第1のラウンドでは、各パスに対して偶数及び奇数のエッジが識別され、奇数のエッジを接続する量子ビットにおいて、共同測定が実行される。
図4Dでは、
図4Cに関して説明されるものと同じ測定表記が使用される。
【0041】
[0049] ビュー428に対して示される共同測定の第2のラウンドでは、パスの各々の中の偶数のエッジを接続する量子ビットにおいて、共同測定が実行される。第1のステージ共同測定の第1及び第2のラウンドの終了時には、最初に識別された辺素パス(例えば、
図4Aのビュー410に示されるパス)の各々のエンドポイントが互いにもつれている。この時点では、共同測定は、量子アルゴリズムのマルチ量子ビット演算によってターゲットとされた量子ビットセット(例えば、
図4Aのビュー402内に示される辺素パスの各々のエンドポイント)において実施することができる。
【0042】
[0050]
図5は、誤り訂正のために表面符号アーキテクチャを使用する量子回路において並列長距離マルチ量子ビット演算を実施するための例示的な動作500を示す。一実装形態では、動作500は、古典的なコントローラ又は量子コントローラであり得るコントローラによって実行される。識別する動作502は、量子アルゴリズムによって要求された並列マルチ量子ビット演算によってターゲットとされた1つ又は複数の量子ビットセットを識別する。アクセスする動作504は、ノード及びエッジによって定義された格納グラフにアクセスし、ノードの各々は、量子回路の量子ビットにマッピングされる。別の識別する動作506は、並列マルチ量子ビット演算によってターゲットとされた識別された量子ビットセットに相当するグラフ内のノードセットを識別する。
【0043】
[0051] パスを定義する動作508は、識別されたノードセットのうちの1つに相当するエンドポイントをグループ内の各パスが有し、エッジを共有するパスがセット内に存在しないように、辺素パスのグループを定義する。交差を識別する動作510は、1つ又は複数のノードで交差する辺素パスのサブセットを識別し、セグメンテーション動作512は、交差を識別する動作510において識別されたサブセットの各パスを1つ又は複数の第1のステージセグメントと1つ又は複数の第2のステージセグメントにセグメント化する。一実装形態によれば、第1のステージセグメント及び第2のステージセグメントは、互いに交差する第1のステージセグメントが存在しないように及び互いに交差する第2のステージセグメントが存在しないように定義される。
【0044】
[0052] 回路を構築する動作514は、マルチ量子ビット演算によってターゲットとされた量子ビットセットをもつれさせる回路の回路定義を構築する。一実装形態によれば、回路は、最近傍量子ビットにおいてエンタングルメント動作の時間を隔てたステージを実行することによって、量子ビットセットのエンタングルメントを達成する。例えば、回路は、第1のステージセグメントの各々の量子ビットをもつれさせるためのエンタングルメント動作の第1のセットを実行するように、及び、第2のステージセグメントの各々の量子ビットをもつれさせるためのエンタングルメント動作の第2のセットを実行するように実行可能である。回路を構築する動作514の出力(例えば、回路定義)は、並列マルチ量子ビット演算を実行する量子コンピュータの量子回路を構築するために使用可能である。
【0045】
[0053]
図6及び以下の論考は、開示される技術を実装することができる例示的なコンピューティング環境の簡潔な一般的な説明を提供することを意図する。必須ではないが、開示される技術は、パーソナルコンピュータ(PC)によって実行されるコンピュータ実行可能命令(プログラムモジュールなど)の一般的な文脈において説明される。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。その上、開示される技術は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの又はプログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ及び同様のものを含む、他のコンピュータシステム構成で実装することができる。また、開示される技術は、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実践することもできる。分散コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置とリモートメモリ記憶装置の両方に位置し得る。典型的には、古典的なコンピューティング環境は、量子コンピューティング環境に結合されるが、量子コンピューティング環境は、
図12には示されていない。
【0046】
[0054]
図6を参照すると、開示される技術を実装するための例示的なシステムは、例示的な従来のPC600の形態の汎用コンピューティングデバイスを含む。従来のPC600は、多様な有形のコンピュータ可読記憶媒体及び無形のコンピュータ可読通信信号を含み得る。有形のコンピュータ可読記憶装置は、従来のPC600によるアクセスが可能な任意の利用可能な媒体によって具体化することができ、揮発性記憶媒体と不揮発性記憶媒体の両方、取り外し可能記憶媒体と取り外し不可能記憶媒体の両方を含む。有形のコンピュータ可読記憶媒体は、無形の及び一時的な通信信号を除外し、情報(コンピュータで可読命令、データ構造、プログラムモジュール又は他のデータ)の格納のために任意の方法又は技術において実装される揮発性及び不揮発性の取り外し可能及び取り外し不可能記憶媒体を含む。有形のコンピュータ可読記憶媒体は、これらに限定されないが、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CDROM、デジタル多用途ディスク(DVD)若しくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は、所望の情報を格納するために使用することができる及び従来のPCによってアクセスすることができる他の任意の有形の媒体を含む。有形のコンピュータ可読記憶媒体とは対照的に、無形のコンピュータ可読通信信号は、搬送波又は他の信号輸送メカニズムなどの変調データ信号に常駐する、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータを具体化することができる。「変調データ信号」という用語は、信号内の情報を符号化するように設定又は変更されたその特性のうちの1つ若しくは複数を有する信号を意味する。制限ではなく、例として、無形の通信信号は、有線ネットワーク又は直接有線接続などの有線媒体と、音響、RF、赤外線及び他の無線媒体などの無線媒体とを含む。
【0047】
[0055] 従来のPC600は、1つ又は複数の処理装置602と、システムメモリ604と、システムメモリ604を含む様々なシステムコンポーネントを1つ又は複数の処理装置602に結合するシステムバス606とを含む。システムバス606は、多様なバスアーキテクチャのいずれかを使用した、メモリバス又はメモリコントローラ、周辺バス及びローカルバスを含む、いくつかのタイプのバス構造のいずれかであり得る。例示的なシステムメモリ604は、読み取り専用メモリ(ROM)608及びランダムアクセスメモリ(RAM)610を含む。PC600内の要素間の情報の転送に役立つ基本的なルーチンを含む基本入出力システム(BIOS)612は、ROM 608に格納される。
【0048】
[0056] オン実装形態では、システムメモリ604は、量子回路(例えば、
図1の辺素パス識別子116及びパスセグメンタ118)をコンパイルするための1つ又は複数のQECC及び論理を含む古典的なコントローラ611nを格納する。
【0049】
[0057] 例示的なPC600は、1つ又は複数の記憶装置630をさらに含み、ハードディスクからの読み取り及びハードディスクへの書き込みを行うためのハードディスクドライブや、取り外し可能な磁気ディスクからの読み取り又は取り外し可能な磁気ディスクへの書き込みを行うための磁気ディスクドライブや、取り外し可能な光ディスクからの読み取り又は取り外し可能な光ディスクへの書き込みを行うための光ディスクドライブ(CD-ROM又は他の光学媒体など)などが挙げられる。そのような記憶装置は、ハードディスクドライブインタフェース、磁気ディスクドライブインタフェース及び光ドライブインタフェースのそれぞれによって、システムバス606に接続することができる。ドライブ及びそれらの関連コンピュータ可読媒体は、PC600に対するコンピュータ可読命令、データ構造、プログラムモジュール及び他のデータの不揮発性記憶を提供する。例示的な動作環境では、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、CD、DVD、RAM、ROM及び同様のものなど、PCによるアクセスが可能なデータを格納することができる他のタイプのコンピュータ可読媒体を使用することもできる。
【0050】
[0058] オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール及びプログラムデータを含む、多くのプログラムモジュールは、記憶装置630に格納することができる。制御論理は、メモリ604と同様に又はメモリ604に加えて、記憶装置630に格納することができる。ユーザは、1つ又は複数の入力デバイス640(キーボードや、マウスなどのポインティングデバイスなど)を通じて、コマンド及び情報をPC600に入力することができる。他の入力デバイスは、デジタルカメラ、マイク、ジョイスティック、ゲームパッド、衛星放送用アンテナ、スキャナ又は同様のものを含み得る。これらの及び他の入力デバイスは、システムバス606に結合されたシリアルポートインタフェースを通じて1つ又は複数の処理装置602に接続される場合が多いが、パラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)などの他のインタフェースによって接続することもできる。モニタ646又は他のタイプの表示デバイスもまた、ビデオアダプタなどのインタフェースを介してシステムバス606に接続される。スピーカ及びプリンタ(図示せず)などの他の周辺出力デバイス645も含めることができる。
【0051】
[0059] PC600は、1つ又は複数のリモートコンピュータ(リモートコンピュータ660など)への論理接続を使用して、ネットワーク接続環境で動作することができる。いくつかの例では、1つ又は複数のネットワーク又は通信接続650が含まれる。リモートコンピュータ660は、別のPC、サーバ、ルータ、ネットワークPC若しくはピアデバイス又は他の共通のネットワークノードであり得、典型的には、PC600に関して上記で説明される要素の多く又はすべてを含むが、
図6には、メモリ記憶装置662のみが示されている。パーソナルコンピュータ600及び/又はリモートコンピュータ660は、論理的なローカルエリアネットワーク(LAN)及びワイドエリアネットワーク(WAN)に接続することができる。そのようなネットワーク接続環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット及びインターネットではありふれたものである。
【0052】
[0060] LANネットワーク接続環境で使用される際、PC600は、ネットワークインタフェースを通じてLANに接続される。WANネットワーク接続環境で使用される際、PC600は、典型的には、インターネットなど、WAN上で通信を確立するためのモデム又は他の手段を含む。ネットワーク接続環境では、パーソナルコンピュータ600又はその一部分に関して描写されるプログラムモジュールは、LAN又はWAN上でリモートメモリ記憶装置又は他の場所に格納することができる。示されるネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用することができる。
【0053】
[0061] 本明細書で開示される方法は、エッジによって接続されるノードを含むグラフを定義することであって、ノードが、量子デバイスの量子ビットにマッピングされる、定義することを提供する。方法は、量子アルゴリズムのマルチ量子ビット演算によってターゲットとされた量子ビットセットに相当するグラフ上のノードセットを識別することと、辺素パスのグループを定義することであって、グループの各パスが、1つ又は複数のエッジ及びノードに沿って定義され、識別されたノードセットのうちの1つを含み、辺素パスのグループが、エッジを共有するパスがグループ内に存在しないように定義される、定義することとをさらに提供する。方法は、セット内の定義されたパスの各々に対して、パスに含まれる識別されたノードセットに相当する量子ビットをもつれさせる効果がある演算のセットを実行することと、量子ビットのもつれさせたセットにおいてマルチ量子ビット演算のセットを実行することとをさらに提供する。
【0054】
[0062] 任意の先行する方法による例示的な方法は、辺素パスの定義されたセット内で、1つ又は複数のノードにおいて互いに交差するパスのサブセットを識別することを提供する。パスの識別されたサブセットの各パスに対して、パスは、1つ又は複数の第1のステージセグメントと1つ又は複数の第2のステージセグメントにセグメント化され、第1のステージセグメント及び第2のステージセグメントは、互いに交差する第1のステージセグメントが存在しないように及び互いに交差する第2のステージセグメントが存在しないように定義される。第1のステージセグメントと関連付けたエンタングルメント動作は、第2のステージセグメントと関連付けられたエンタングルメント動作とは異なる時点で実行される。
【0055】
[0063] 任意の先行する方法の別の例示的な方法は、第1のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第1のセットを実行することと、後続の時刻に、第2のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第2のセットを実行することとをさらに提供する。
【0056】
[0064] 任意の先行する方法のさらなる別の例示的な方法では、第1のステージセグメントのそれぞれのものの各々の量子ビットをもつれさせるための演算の第1のセットを実行することは、第1のステージセグメントの偶数及び奇数のエッジを定義することと、第1のステージセグメントの偶数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと、第1のステージセグメントの奇数のエッジの各々に相当する量子ビットに対して、共同測定を実行することとをさらに含む。
【0057】
[0065] 任意の先行する方法のさらなる別の例示的な方法では、第2のステージセグメントのそれぞれのものの各々の量子ビットをもつれさせるための演算の第1のセットを実行することは、第2のステージセグメントの偶数及び奇数のエッジを定義することと、第2のステージセグメントの偶数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと、第2のステージセグメントの奇数のエッジの各々に相当する量子ビットに対して、共同測定を実行することとをさらに含む。
【0058】
[0066] 任意の先行する方法のさらなる別の例示的な方法では、量子デバイスの量子ビットは、物理量子ビットから構築される表面符号において実施される論理量子ビットである。
【0059】
[0067] 任意の先行する方法のさらなる別の例示的な方法では、マルチ量子ビット演算のセットを実行することは、マルチ量子ビット演算のいくつか又はすべてを同時に実行することをさらに含む。
【0060】
[0068] 例示的な量子コンピューティングシステムは、量子アルゴリズムによって指定された並列マルチ量子ビット演算を引き起こすために回路定義を実行する量子デバイスを含む。システムは、メモリに格納されたコントローラであって、量子デバイスの量子ビットにマッピングされたノードを含むグラフにアクセスすることであって、グラフのノードが、エッジによって接続される、アクセスすることと、並列マルチ量子ビット演算によってターゲットとされた量子ビットセットに相当するグラフ上のノードセットを識別することと、辺素パスのグループを定義することであって、グループの各パスが、1つ又は複数のエッジ及びノードに沿って定義され、識別されたノードセットのうちの1つを含む、定義することとを行うように実行可能である、コントローラをさらに含む。辺素パスのグループは、エッジを共有するパスがセット内に存在しないように定義される。コントローラは、量子デバイスによって実行するための回路をコンパイルすることであって、回路が、実行されると、辺素パスのグループ内の定義されたパスの各々に含まれる識別されたノードセットに相当する量子ビットをもつれさせ、並列マルチ量子ビット演算を実行する、コンパイルすることを行うようにさらに実行可能である。
【0061】
[0069] 任意の先行するシステムの例示的な量子システムでは、コントローラは、1つ又は複数のノードにおいて交差するグループ内のパスのサブセットを識別することと、パスの識別されたサブセットの各パスに対して、1つ又は複数の第1のステージセグメントと1つ又は複数の第2のステージセグメントにパスをセグメント化することとを行うようにさらに実行可能である。第1のステージセグメント及び第2のステージセグメントは、互いに交差する第1のステージセグメントが存在しないように及び互いに交差する第2のステージセグメントが存在しないように定義される。コンパイルされた回路は、第2のステージセグメントと関連付けられたエンタングルメント動作とは異なる時点で、第1のステージセグメントと関連付けられたエンタングルメント動作を引き起こすようにさらに実行可能である。
【0062】
[0070] 任意の量子コンピューティングシステムの別の例示的な量子システムでは、コントローラは、第1のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第1のセットを引き起こすように実行可能な第1の回路に対する第1の回路定義を生成することと、第1のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第2のセットを引き起こすように実行可能な第2の回路に対する第2の回路定義を生成することとを行うようにさらに実行可能である。
【0063】
[0071] 任意の先行する量子システムのさらなる別の例示的な量子システムでは、第1のステージセグメントの各々のものに対して偶数及び奇数のエッジが定義され、第1の回路は、第1のステージセグメント内の偶数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと、第1のステージセグメント内の奇数のエッジの各々に相当する量子ビットに対して、共同測定を実行することとを行うようにさらに実行可能である。
【0064】
[0072] 任意のコンピューティングシステムのさらなる別の例示的な量子コンピューティングシステムでは、第2のステージセグメントの各々のものに対して偶数及び奇数のエッジが定義される。第2の回路は、第2のステージセグメント内の偶数のエッジの各々に相当する量子ビットに対して、共同測定を実行することと、第2のステージセグメント内の奇数のエッジの各々に相当する量子ビットに対して、共同測定を実行することとを行うようにさらに実行可能である。
【0065】
[0073] 任意の先行する量子システムの別の例示的な量子システムでは、量子回路の量子ビットは、物理量子ビットから構築される表面符号において実施される論理量子ビットである。
【0066】
[0074] 任意の先行するシステムの別の例示的な量子システムでは、回路は、並列マルチ量子ビット演算のいくつか又はすべてを同時に実行するようにさらに実行可能である。
【0067】
[0075] 本明細書で開示される例示的な有形のコンピュータ可読記憶媒体は、コンピュータプロセスを実行するためのコンピュータ実行可能命令を符号化し、コンピュータプロセスは、量子デバイスの量子ビットにマッピングされたノードを含むグラフを定義することであって、グラフのノードが、エッジによって接続される、定義することと、量子アルゴリズムのマルチ量子ビット演算によってターゲットとされた量子ビットセットに相当するグラフ上のノードセットを識別することと、辺素パスのグループを定義することであって、グループの各パスが、1つ又は複数のエッジ及びノードに沿って定義され、識別されたノードセットのうちの1つを含む、定義することとを含む。辺素パスのグループは、エッジを共有するパスがグループ内に存在しないように定義され、コンピュータプロセスは、定義されたパスの各々に対して、演算のセットを実行することであって、演算のセットが、パスに含まれる識別されたノードセットに相当する量子ビットをもつれさせる効果がある、実行することをさらに含む。次いで、量子ビットのもつれさせたセットにおいてマルチ量子ビット演算のセットが実行される。
【0068】
[0076] 任意の先行するコンピュータ可読記憶媒体の例示的な有形のコンピュータ可読記憶媒体では、コンピュータプロセスは、1つ又は複数のノードにおいて互いに交差するグループ内のパスのサブセットを識別することと、パスの識別されたサブセットの各パスに対して、1つ又は複数の第1のステージセグメントと1つ又は複数の第2のステージセグメントにパスをセグメント化することとをさらに含む。第1のステージセグメント及び第2のステージセグメントは、互いに交差する第1のステージセグメントが存在しないように及び互いに交差する第2のステージセグメントが存在しないように定義される。プロセスは、第2のステージセグメントと関連付けられたエンタングルメント動作とは異なる時点で、第1のステージセグメントと関連付けられたエンタングルメント動作を実行することをさらに提供する。
【0069】
[0077] 任意の先行するコンピュータ可読記憶媒体のさらなる別の例示的な有形のコンピュータ可読記憶媒体では、コンピュータプロセスは、第1のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第1のセットを実行することと、後続の時刻に、第2のステージセグメントのそれぞれのものの各々に相当する量子ビットをもつれさせるための演算の第2のセットを実行することとをさらに含む。
【0070】
[0078] 任意の先行するコンピュータ可読記憶媒体の別の例示的な有形のコンピュータ可読記憶媒体では、第1のステージセグメントと関連付けられたエンタングルメント動作を実行することは、第1のステージセグメントの各々の偶数及び奇数のエッジを定義することと、第1のステージセグメントのうちの1つの偶数のエッジの各々に相当する量子ビットに対して、共同測定を実行することとをさらに含む。プロセスは、次に、第1のステージセグメントのうちの1つの奇数のエッジの各々に相当する量子ビットに対して、共同測定を実行することをさらに含む。
【0071】
[0079] 任意の先行するコンピュータ可読記憶媒体のさらなる別の例示的な有形のコンピュータ可読記憶媒体では、コンピュータプロセスは、第2のステージセグメントの偶数及び奇数のエッジを定義することと、第2のステージセグメントのうちの1つの偶数のエッジに相当する各量子ビットセットに対して、共同測定を実行することと、第2のステージセグメントのうちの1つの奇数のエッジに相当する各量子ビットセットに対して、共同測定を実行することとをさらに含む。
【0072】
[0080] 任意の先行するコンピュータ可読記憶媒体のさらなる別の例示的な有形のコンピュータ可読記憶媒体では、量子回路の量子ビットは、物理量子ビットから構築される表面符号において実施される論理量子ビットである。
【0073】
[0081] 本明細書で開示される例示的なシステムは、量子デバイスの量子ビットにマッピングされたノードを含むグラフを定義するための手段であって、ノードが、エッジによって互いに接続される、手段と、量子アルゴリズムのマルチ量子ビット演算によってターゲットとされた量子ビットセットに相当するグラフ上のノードセットを識別するための手段と、辺素パスのグループを定義するための手段であって、グループの各パスが、1つ又は複数のエッジ及びノードに沿って定義され、識別されたノードセットのうちの1つを含む、手段とを含む。辺素パスのグループは、エッジを共有するパスがグループ内に存在しないように定義され、システムは、定義されたパスの各々に対して、演算のセットを実行するための手段であって、演算のセットが、パスに含まれる識別されたノードセットに相当する量子ビットをもつれさせる効果がある、手段と、量子ビットのもつれさせたセットにおいてマルチ量子ビット演算のセットを実行するための手段とをさらに含む。
【0074】
[0082] 上記の仕様、例及びデータは、構造の完全な説明や、例示的な実装形態の使用を提供する。多くの実装形態は、特許請求される本発明の精神及び範囲から逸脱しない範囲で作成できるため、以下の添付の特許請求の範囲が本発明を定義する。その上、異なる例の構造特徴は、記載される特許請求の範囲から逸脱しない範囲で、さらなる別の実装形態において組み合わせることができる。上記の仕様、例及びデータは、構造の完全な説明や、例示的な実装形態の使用を提供する。多くの実装形態は、特許請求される本発明の精神及び範囲から逸脱しない範囲で作成できるため、以下の添付の特許請求の範囲が本発明を定義する。その上、異なる例の構造特徴は、記載される特許請求の範囲から逸脱しない範囲で、さらなる別の実装形態において組み合わせることができる。
【国際調査報告】