(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-14
(45)【発行日】2024-06-24
(54)【発明の名称】量子部分空間展開を使用した誤りの復号
(51)【国際特許分類】
G06N 10/40 20220101AFI20240617BHJP
【FI】
G06N10/40
【外国語出願】
(21)【出願番号】P 2023002459
(22)【出願日】2023-01-11
(62)【分割の表示】P 2021552654の分割
【原出願日】2020-03-05
【審査請求日】2023-02-10
(32)【優先日】2019-03-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジャロッド・ライアン・マクレーン
(72)【発明者】
【氏名】ライアン・バブシュ
(72)【発明者】
【氏名】ジャン・ジアン
【審査官】石坂 知樹
(56)【参考文献】
【文献】特開2009-165049(JP,A)
【文献】特表2015-534410(JP,A)
【文献】米国特許出願公開第2014/0118023(US,A1)
【文献】X. BONET-MONROIG ET AL,LOW-COST ERROR MITIGATION BY SYMMETRY VERIFICATION,PHYSICAL REVIEW A,2018年12月01日
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/40
G06N 10/70
(57)【特許請求の範囲】
【請求項1】
量子誤り訂正コードを使用して実行される量子計算の結果を補正するための方法であって、
対称演算子のセットを使用して、前記量子計算の出力量子状態にわたって物理観測量の射影補正を測定するステップであり、前記物理観測量は、前記量子計算の前記結果に対応し、対称演算子の前記セット内の各対称演算子は、項の合計のそれぞれの項を含み、前記項の合計は恒等演算子と前記量子誤り訂正コードを定義するスタビライザジェネレータのセットからのそれぞれのスタビライザジェネレータとの間の差の積に等しい、測定するステップと、
前記物理観測量の前記測定された射影補正を使用して、前記量子計算の補正された結果を決定するステップと
を含むコンピュータ実装方法。
【請求項2】
前記対称演算子の決定されたセットを使用して、前記量子計算の出力量子状態にわたって物理観測量の射影補正を測定するステップは、
【数1】
を測定するステップを含み、式中、
【数2】
は、均等係数を有する前記対称演算子の決定されたセット内の前記対称演算子の合計を表し、Γは、前記物理観測量を表す、請求項1に記載の方法。
【請求項3】
前記対称演算子の決定されたセットを使用して、前記量子計算の出力量子状態にわたって物理観測量の射影補正を測定するステップは、
演算子の1つまたは複数の対を選択するステップであり、各対が、i)前記物理観測量のそれぞれの成分と、ii)前記対称演算子の決定されたセットからのそれぞれの対称演算子とを含む、選択するステップと、
演算子の選択された対ごとに、
前記出力量子状態を取得するために、初期量子状態に対して前記量子計算を実行するステップと、
それぞれの測定結果を取得するために、前記出力量子状態にわたって前記演算子の選択された対を測定するステップと
を含む、請求項1または請求項2に記載の方法。
【請求項4】
前記量子計算の前記出力の補正された結果を決定するステップは、前記取得された測定結果を使用して、前記量子計算の前記出力の補正された結果を決定するステップを含む、請求項3に記載の方法。
【請求項5】
前記取得された測定結果を使用して、前記量子計算の前記出力の補正された結果を決定するステップは、前記取得された測定結果の線形結合を計算するステップを含む、請求項4に記載の方法。
【請求項6】
演算子の1つまたは複数の対を選択するステップは、確率的サンプリングスキームに従って、演算子の1つまたは複数の対をランダムにサンプリングするステップを含む、請求項3に記載の方法。
【請求項7】
前記量子計算の前記結果は、前記物理観測量の期待値を含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記物理観測量は、パウリ演算子の加重和を含み、前記物理観測量の成分は、パウリ演算子の前記和におけるパウリ演算子を含む、請求項3に記載の方法。
【請求項9】
それぞれの測定結果を取得するために、前記出力量子状態にわたって演算子の選択された対を測定するステップは、前記出力量子状態にわたってΓ
jM
kを測定するステップを含み、式中、Γ
jは、前記選択された対における前記物理観測量の成分を表し、M
kは、前記選択された対における前記対称演算子を表す、請求項3から8のいずれか一項に記載の方法
。
【請求項10】
量子ハードウェアと、
1つまたは複数の古典的なプロセッサとを含み、
請求項1から
9のいずれか一項に記載の方法を含む動作を実行するように構成されている、
装置。
【請求項11】
量子誤り訂正コードを使用して実行される量子計算の結果を補正するための方法であって、
前記量子誤り訂正コードを定義するスタビライザジェネレータによって生成されたスタビライザ演算子の線形結合を使用して、前記量子計算の出力量子状態にわたって物理観測量の膨張補正を測定するステップであり、前記物理観測量は、前記量子計算の前記結果に対応する、測定するステップと、
前記物理観測量の前記測定された膨張補正、および前記線形結合における前記スタビライザ演算子の係数の値を使用して、前記量子計算の補正された結果を決定するステップと
を含むコンピュータ実装方法
。
【請求項12】
スタビライザ演算子の前記線形結合における前記スタビライザ演算子を使用して、前記量子計算の出力量子状態にわたって物理観測量の膨張補正を測定するステップは、それぞれの
【数3】
を、対応する測定結果を取得するために、前記出力量子状態にわたって測定するステップを含み、式中、Γは、前記物理観測量を表し、M
kは、スタビライザ演算子を表す、請求項
11に記載の方法。
【請求項13】
前記物理観測量の前記測定された膨張補正、および前記線形結合における前記スタビライザ演算子の前記係数の前記決定された値を使用して、前記量子計算の補正された結果を決定するステップは、
前記測定結果を合計するステップであり、前記合計における各測定結果に、それぞれの決定された係数を乗算する、合計するステップを含む、請求項
12に記載の方法。
【請求項14】
前記量子計算の前記結果は、前記物理観測量の期待値を含む、請求項
11または12に記載の方法。
【請求項15】
前記物理観測量は、パウリ演算子の加重和を含み、前記物理観測量の成分は、パウリ演算子の前記和におけるパウリ演算子を含む、請求項
11か
ら14のいずれか一項に記載の方法。
【請求項16】
前記量子誤り訂正コードは、スタビライザコード、サーフェスコード、ショアコード、ベーコンショアコード、またはトーリックコードを含む、請求項1か
ら9、11か
ら15のいずれか一項に記載の方法。
【請求項17】
前記量子計算は、ノイズの多い中間スケール量子コンピュータを使用して実行される、請求項1か
ら9、11か
ら15のいずれか一項に記載の方法。
【請求項18】
量子ハードウェアと、
1つまたは複数の古典的なプロセッサとを含み、
請求項
11か
ら17のいずれか一項に記載の方法を含む動作を実行するように構成されている、
装置。
【請求項19】
問題ハミルトニアンによって表される量子計算の結果を補正するための方法であって、
拡張演算子のセットを生成するステップであり、
前記問題ハミルトニアンについての対称演算子ごとに、恒等演算子と前記対称演算子との間の差を決定するステップと、
項の合計を形成するために、前記決定された合計を一緒に乗算するステップであり、前記合計の各項は、それぞれの拡張演算子に等しい、乗算するステップと
を含む生成するステップと、
前記生成されたセット内の前記拡張演算子の一部または全部の行列要素を測定するステップと、
前記測定された行列要素を使用して、前記量子計算の出力の補正値を決定するステップと
を含むコンピュータ実装方法。
【請求項20】
前記対称演算子の識別されたセットにおける前記対称演算子は、前記問題ハミルトニアンと非可換である演算子を含む、請求項
19に記載の方法。
【請求項21】
前記既知の対称演算子のセットは、2つの別個の固有値を有する演算子を含む、請求項
19に記載の方法。
【請求項22】
前記方法は、前記問題ハミルトニアンの近似対称演算子のセットを識別するステップをさらに含み、拡張演算子のセットを生成するステップは、
各対称演算子および各近似対称演算子について、前記恒等演算子と前記対称演算子または近似対称演算子との間の合計を決定するステップと、
項の合計を形成するために、前記決定された合計を一緒に乗算するステップであり、前記合計の各項は、それぞれの拡張演算子に等しい、乗算するステップと
を含む、請求項
19に記載の方法。
【請求項23】
量子ハードウェアと、
1つまたは複数の古典的なプロセッサとを含み、
請求項
19か
ら22のいずれか一項に記載の方法を含む動作を実行するように構成されている、
装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、量子コンピューティングに関する。
【背景技術】
【0002】
量子誤り訂正コードは、量子コンピューティングにおいて、デコヒーレンスおよび他の量子雑音による誤りから量子情報を保護するために使用される。いくつかの量子誤り訂正コードは、量子状態を損なう誤りを診断するために、シンドローム測定を使用する。シンドローム測定は、符号化された状態における量子情報を妨害しないそれぞれのチェック演算子のマルチキュビット測定である。シンドローム測定の結果である誤りシンドロームは、誤りを復号し、それから回復するための高速フィードバック機構の一部として使用することができる。たとえば、誤りシンドロームを条件として、ユニタリー回復演算子を量子状態に適用して、計算を通じた誤りの伝播を停止することができる。
【発明の概要】
【課題を解決するための手段】
【0003】
本明細書は、量子部分空間展開に基づく後処理技法を使用して、論理キュビット上の誤りを軽減し、復号するための方法およびシステムについて説明する。
【0004】
一般に、本明細書に記載される主題の1つの革新的な態様は、量子計算の結果を補正するための方法において実施することができ、この方法は、量子計算を実行するために量子誤り訂正コードを選択するステップであり、量子誤り訂正コードは、スタビライザジェネレータのそれぞれのセットによって定義される、選択するステップと、対称演算子のセットを決定するステップであり、スタビライザジェネレータのセットのサブセットを選択するステップと、選択されたサブセット内のスタビライザジェネレータごとに、恒等演算子とスタビライザジェネレータとの間の合計を決定するステップと、項の合計を形成するために、決定された合計を一緒に乗算するステップであり、合計の各項は、それぞれの対称演算子に等しい、乗算するステップと、を含む決定するステップと、対称演算子の決定されたセットを使用して、量子計算の出力量子状態にわたって物理観測量(physical observable)の射影補正を測定するステップであり、物理観測量は、量子計算の結果に対応する、測定するステップと、物理観測量の測定された射影補正を使用して、量子計算の補正された結果を決定するステップとを含む。
【0005】
これらの態様の他の実装形態は、各々が方法のアクションを実行するように構成された、1つまたは複数のコンピュータ記憶デバイス上に記録された、対応するコンピュータシステム、装置、およびコンピュータプログラムを含む。1つまたは複数の古典的および/または量子コンピュータのシステムは、動作中に、システムにアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステムにインストールすることによって、特定の動作またはアクションを実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を含むことによって、特定の動作またはアクションを実行するように構成され得る。
【0006】
上記および他の実装形態は各々、随意に、単独でまたは組み合わせて、以下の特徴のうちの1つまたは複数を含むことができる。いくつかの実装形態では、対称演算子の決定されたセットを使用して、量子計算の出力量子状態にわたって物理観測量の射影補正を測定するステップは、
【0007】
【0008】
を測定するステップを含み、式中、
【0009】
【0010】
は、均等係数を有する対称演算子の決定されたセット内の対称演算子の合計を表し、Γは、物理観測量を表す。
【0011】
いくつかの実装形態では、対称演算子の決定されたセットを使用して、量子計算の出力量子状態にわたって物理観測量の射影補正を測定するステップは、演算子の1つまたは複数の対を選択するステップであり、各対が、i)物理観測量のそれぞれの成分と、ii)対称演算子の決定されたセットからのそれぞれの対称演算子とを含む、選択するステップと、演算子の選択された対ごとに、出力量子状態を取得するために、初期量子状態に対して量子計算を実行するステップと、それぞれの測定結果を取得するために、出力量子状態にわたって演算子の選択された対を測定するステップとを含む。
【0012】
いくつかの実装形態では、量子計算の出力の補正された結果を決定するステップは、取得された測定結果を使用して、量子計算の出力の補正された結果を決定するステップを含む。
【0013】
いくつかの実装形態では、取得された測定結果を使用して、量子計算の出力の補正された結果を決定するステップは、取得された測定結果の線形結合を計算するステップを含む。
【0014】
いくつかの実装形態では、演算子の1つまたは複数の対を選択するステップは、確率的サンプリングスキームに従って、演算子の1つまたは複数の対をランダムにサンプリングするステップを含む。
【0015】
いくつかの実装形態では、量子計算の結果は、物理観測量の期待値を含む。
【0016】
いくつかの実装形態では、物理観測量は、パウリ演算子の加重和を含み、物理観測量の成分は、パウリ演算子の和におけるパウリ演算子を含む。
【0017】
いくつかの実装形態では、それぞれの測定結果を取得するために、出力量子状態にわたって演算子の選択された対を測定するステップは、出力量子状態にわたってΓjMkを測定するステップを含み、式中、Γjは、選択された対における物理観測量の成分を表し、Mkは、選択された対における対称演算子を表す。
【0018】
いくつかの実装形態では、スタビライザジェネレータのセットの選択されたサブセットのサイズは、i)目標計算精度、またはii)目標計算コストのうちの1つまたは複数に依存する。
【0019】
いくつかの実装形態では、量子コードは、スタビライザコード、サーフェスコード、ショアコード、ベーコンショアコード、またはトーリックコードを含む。
【0020】
いくつかの実装形態では、量子計算は、ノイズの多い中間スケール量子コンピュータを使用して実行される。
【0021】
一般に、本明細書に記載される主題の別の革新的な態様は、量子計算の結果を補正するための方法において実施することができ、この方法は、量子計算を実行するために量子誤り訂正コードを選択するステップであり、量子誤り訂正コードは、スタビライザジェネレータのそれぞれのセットによって定義される、選択するステップと、スタビライザジェネレータによって生成されるスタビライザ演算子の線形結合を選択するステップと、対応する量子誤り訂正コードハミルトニアンについて一般化された固有値問題を解くことを含む、線形結合におけるスタビライザ演算子の係数の値を決定するステップと、スタビライザ演算子の線形結合におけるスタビライザ演算子を使用して、量子計算の出力量子状態にわたって物理観測量の膨張補正を測定するステップであり、物理観測量は、量子計算の結果に対応する、測定するステップと、物理観測量の測定された膨張補正、および線形結合におけるスタビライザ演算子の係数の決定された値を使用して、量子計算の補正された結果を決定するステップとを含む。
【0022】
これらの態様の他の実装形態は、各々が方法のアクションを実行するように構成された、1つまたは複数のコンピュータ記憶デバイス上に記録された、対応するコンピュータシステム、装置、およびコンピュータプログラムを含む。1つまたは複数の古典的および/または量子コンピュータのシステムは、動作中に、システムにアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステムにインストールすることによって、特定の動作またはアクションを実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を含むことによって、特定の動作またはアクションを実行するように構成され得る。
【0023】
上記および他の実装形態は各々、随意に、単独でまたは組み合わせて、以下の特徴のうちの1つまたは複数を含むことができる。いくつかの実装形態では、一般化された固有値問題を解くステップは、量子計算の出力量子状態の複数のコピーを準備するステップと、出力量子状態のそれぞれのコピーにわたって量子誤り訂正コードハミルトニアンの成分を測定するステップと、出力量子状態のそれぞれのコピーにわたってスタビライザ演算子の重複行列の成分を測定するステップと、量子誤り訂正コードハミルトニアンの測定された成分と、スタビライザ演算子の重複行列の測定された成分とを使用して、固有値の行列と固有ベクトルの行列とを決定するステップとを含む。
【0024】
いくつかの実装形態では、スタビライザ演算子の線形結合におけるスタビライザ演算子を使用して、量子計算の出力量子状態にわたって物理観測量の膨張補正を測定するステップは、それぞれの
【0025】
【0026】
を、対応する測定結果を取得するために、出力量子状態にわたって測定するステップを含み、式中、Γは、物理観測量を表し、Mkは、スタビライザ演算子を表す。
【0027】
いくつかの実装形態では、物理観測量の測定された膨張補正、および線形結合におけるスタビライザ演算子の係数の決定された値を使用して、量子計算の補正された結果を決定するステップは、測定結果を合計するステップであり、合計における各測定結果に、それぞれの決定された係数を乗算する、合計するステップを含む。
【0028】
いくつかの実装形態では、量子計算の結果は、物理観測量の期待値を含む。
【0029】
いくつかの実装形態では、物理観測量は、パウリ演算子の加重和を含み、物理観測量の成分は、パウリ演算子の和におけるパウリ演算子を含む。
【0030】
いくつかの実装形態では、量子コードは、スタビライザコード、サーフェスコード、ショアコード、ベーコンショアコード、またはトーリックコードを含む。
【0031】
いくつかの実装形態では、量子計算は、ノイズの多い中間スケール量子コンピュータを使用して実行される。
【0032】
一般に、本明細書に記載される主題の別の革新的な態様は、問題ハミルトニアンによって表される量子計算の結果を補正するための方法において実施することができ、この方法は、問題ハミルトニアンについての既知の対称演算子のセットを識別するステップと、拡張演算子のセットを生成するステップであり、対称演算子ごとに、恒等演算子と対称演算子との間の合計を決定するステップと、項の合計を形成するために、決定された合計を一緒に乗算するステップであり、合計の各項は、それぞれの拡張演算子に等しい、乗算するステップと、を含む決定するステップと、生成されたセット内の拡張演算子の一部または全部の行列要素を測定するステップと、測定された行列要素を使用して、量子計算の出力の補正値を決定するステップとを含む。
【0033】
これらの態様の他の実装形態は、各々が方法のアクションを実行するように構成された、1つまたは複数のコンピュータ記憶デバイス上に記録された、対応するコンピュータシステム、装置、およびコンピュータプログラムを含む。1つまたは複数の古典的および/または量子コンピュータのシステムは、動作中に、システムにアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステムにインストールすることによって、特定の動作またはアクションを実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を含むことによって、特定の動作またはアクションを実行するように構成され得る。
【0034】
上記および他の実装形態は各々、随意に、単独でまたは組み合わせて、以下の特徴のうちの1つまたは複数を含むことができる。いくつかの実装形態では、近似対称演算子の識別されたセットにおける対称演算子は、問題ハミルトニアンと非可換である演算子を含む。
【0035】
いくつかの実装形態では、既知の対称演算子のセットは、2つの別個の固有値を有する演算子を含む。
【0036】
いくつかの実装形態では、方法は、問題の近似対称演算子のセットを識別するステップをさらに含み、拡張演算子のセットを生成するステップは、各対称演算子および各近似対称演算子について、恒等演算子と対称演算子または近似対称演算子との間の合計を決定するステップと、項の合計を形成するために、決定された合計を一緒に乗算するステップであり、合計の各項は、それぞれの拡張演算子に等しい、乗算するステップとを含む。
【0037】
本明細書に記載される主題は、以下の利点のうちの1つまたは複数を実現するように、特定の方法で実施することができる。
【0038】
本明細書に記載される復号技法を実施するシステムは、量子計算の精度を高めるために、量子計算における誤りを低減することができる。たとえば、今回説明する技法は、量子化学または一般的な量子回路など量子コンピューティングの近未来の用途において、誤りを軽減し、量子計算の精度を高めるために使用することができる。加えて、本明細書に記載される技法は、厳密なスタビライザの測定を必要とせず、非局所的測定のためのリソースおよび制御要件を緩和し、フィードフォワード機構を必要としない。したがって、誤りが低減し、精度が向上した量子計算を実行するのに必要な演算の複雑さも低減される。
【0039】
加えて、今回説明する技法は、量子デバイス上の量子コードを最適化して、量子デバイスの性能を向上させるために使用することができる。初期の量子デバイスの最良の使用のうちの1つは、実際のデバイス条件下で量子誤り訂正コードを調整することであり得ると推測されている。デバイス内の真のノイズのモデル化は、システムサイズが大きくなるにつれて信じられないほど困難であり、自然条件下でどのコードが優れているか、およびどのようにそれらを最適化するかを研究することは、完全なフォールトトレラント計算に向かう進歩につながる可能性がある。実際、バイアスされたノイズ源の知識は、所与のコードのしきい値を大幅に増加させる可能性がある。本明細書に記載される技法は、フォールトトレラントシンドローム測定または高速フィードバックの複雑さを除去しながら、後処理を介して符号化を実験的に研究する方法を提供する。これは、これらの最終的な詳細について心配する前に、実験的に、より多様なコードの探索を可能にする。既知の結果を有する論理空間において単純なゲートシーケンスを実行し、本明細書に記載される後処理デコーダを使用して、スタビライザが追加されるときの誤りの減衰を研究することが可能である。この制限は、システム内の論理誤りの伝播を通知し、完全なフォールトトレラントプロトコルが利用可能になる前に、コード最適化を行うことを可能にする。
【0040】
本明細書に記載される復号技法は、チェック測定値が現実的な設定で実施可能であるために幾何学的に局所的である必要がないという事実から大いに利益を受ける。これにより、使用中のアーキテクチャ上で幾何学的に局所的でないコードを探索し利用することが可能になり、これは、幾何学的に局所的なコードよりも距離およびレートに関して特性が改善される可能性がある。さらに、それらは、当然、複雑な復号回路またはシンドローム測定のための補助(ancilla)を必要とせずに、近未来のシミュレーションのための良好な候補であると考えられる、マヨラナループスタビライザコードまたはBravyi-Kitaev超高速の変形などの、最近のフェルミオンベースのコードの実装を可能にする。
【0041】
さらに、本明細書で提案される方法は後処理方法であるので、誤り軽減のために導入される外挿技法と完全に互換性がある。これらの技法では、より低いノイズ限界に外挿するために、追加のノイズが人工的に導入される。
【0042】
本明細書に記載される誤りを緩和し、誤り訂正コードを研究するための方法は、[[5; 1; 3]]コード内の脱分極チャネル下でp≒0.60の擬似しきい値を達成するために実施することができる。この方法は、現実的なノイズ条件下での量子コードの開発および最適化、ならびに初期のアプリケーションイニシアチブから誤りを除去する能力において役割を果たす可能性を有する。
【0043】
本明細書に記載される技法は、量子コードを使用して符号化された計算問題に適用することができるが、物理的対称性、近似対称性、非可換演算子、または非対称性を使用することによって、非符号化問題に一般化することもできる。いくつかの場合には、たとえば、それらが利用可能であるとき、符号化された問題についても、本明細書に記載される復号技法の効率および/または精度を向上させるために、物理的対称性または近似対称性が使用されてもよい。
【0044】
本明細書の主題の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0045】
【
図1】誤りが低減された量子計算を実行するための例示的なシステムを示す図である。
【
図2A】確率的部分空間展開を使用して誤りが低減された量子計算を実行するための第1の例示的なプロセスのフロー図である。
【
図2B】確率的部分空間展開を使用して誤りが低減された量子計算を実行するアルゴリズム概略図である。
【
図3A】決定論的部分空間展開を使用して誤りが低減された量子計算を実行するための例示的なプロセスのフロー図である。
【
図3B】決定論的部分空間展開を使用して誤りが低減された量子計算を実行するアルゴリズム概略図である。
【
図4】問題ハミルトニアンの空間において量子計算を実行するための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【0046】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0047】
概要
本明細書は、複雑なシンドローム測定、または論理キュビットに使用されるものを超える追加のキュビットを伴わない効率的な古典的後処理を使用して、符号化された論理キュビット上の誤りを軽減することができる、量子コード上の誤りを軽減するための技法について説明する。これにより、近未来のデバイス上の量子コードの実験的探索が大幅に簡略化され、シンドロームの局所性または高速フィードフォワードの必要性がなくなり、実際のデバイス上でコードの性能面を研究することが可能になる。
【0048】
この技法は、量子誤り訂正コードからのプロジェクタを使用して、後処理で観測量を補正する一般的な構成を含む。この構成はまた、部分空間内のプロジェクタを近似するように拡張することもできる。次いで、この構成は、コード空間内のいくつかの論理的誤りの補正、工学的対称性のない物理的な符号化されていないハミルトニアンに対する補正、望ましい量子数がわからない対称性の使用、および近似対称性から導出される補正への一般化を可能にする。
【0049】
例示的なハードウェア
図1は、例示的な量子コンピューティングシステム100を示す。例示的なシステム100は、以下に記載されるシステム、構成要素、および技法を実装することができる、1つまたは複数の場所における1つまたは複数の古典的コンピュータおよび量子コンピューティングデバイス上で古典的および量子コンピュータプログラムとして実装されるシステムの例である。
【0050】
システム100は、古典的なプロセッサ104とデータ通信する量子ハードウェア102を含む。便宜上、古典的なプロセッサ104および量子コンピューティングハードウェア102は、別個のエンティティとして示されているが、いくつかの実装形態では、古典的なプロセッサ104は、量子コンピューティングハードウェア102に含めることができ、たとえば、量子コンピューティングハードウェア102は、古典的コンピューティング操作を実行するための1つまたは複数の構成要素を含むことができる。
【0051】
システム100は、量子ハードウェア102および古典的なプロセッサ104を使用して、量子計算と組み合わせて古典計算を実行するように構成される。たとえば、システムは、
図2A、
図3A、および
図4を参照して以下に記載される例示的なプロセス200、300、および400に従って動作を実行するように構成されてもよい。
【0052】
量子ハードウェア102は、複数のキュビット110と、キュビット110を制御し、アルゴリズム演算または量子計算を実行させるための制御デバイス112とを含む。
【0053】
キュビット110は、物理キュビット、たとえば、アルゴリズム演算または量子計算を実行するために使用される2状態量子システムとして振る舞う物理デバイスである。物理キュビットは、デコヒーレンスおよび誤りの他のソースの影響を受けやすい可能性があるので、複数の物理キュビットを使用して、量子アルゴリズムまたは回路で指定されたように動作する単一の論理キュビットを作成することができる。たとえば、スタビライザ量子誤り訂正コードでは、論理キュビットは、情報を保護するために対称性を介して冗長性を使用する物理キュビットのグループであり、たとえば、5キュビット[[5, 1, 3]]スタビライザ誤り訂正コードは、1つの論理キュビットを5つの物理キュビットに符号化し、任意の単一キュビット誤りから保護する距離3のコードである。
【0054】
量子コンピューティングハードウェア102に含まれるキュビット110の具体的な物理的実現、およびそれらが互いにどのように相互作用するかは、量子コンピューティングハードウェア102が実行している量子計算のタイプを含む様々な要因に依存する。たとえば、いくつかの実装形態では、キュビットは、原子、分子、または固体量子システムを介して物理的に実現されるキュビットを含み得る。他の実装形態では、キュビットは、超伝導キュビット、たとえば、Gmonキュビット、または半導体キュビットを含んでいてもよい。他の実装形態では、イオントラップ、フォトニックデバイス、または超伝導キャビティ(キュビットを必要とせずに状態を準備することができる)が使用されてもよい。キュビットの物理的実現のさらなる例には、フラックスモンキュビット、シリコン量子ドット、またはリン不純物キュビットがある。
【0055】
量子ハードウェア102に含まれる制御デバイス112のタイプは、量子ハードウェア102に含まれるキュビット110のタイプに依存する。たとえば、いくつかの場合には、キュビット110は、周波数調整可能であり得る。これらの場合、各キュビットは、1つまたは複数の制御デバイス112、たとえば、励起パルスジェネレータと、キュビットを励起パルスジェネレータに結合する制御線とを使用して調整することができる関連する動作周波数を有し得る。例示的な動作周波数は、キュビットアイドリング周波数、キュビット相互作用周波数、およびキュビット読出し周波数を含む。異なる周波数は、キュビットが実行することができる異なる動作に対応する。たとえば、動作周波数を対応するアイドリング周波数に設定することにより、キュビットを、他のキュビットと強く相互作用しない、および単一キュビットゲートを実行するために使用され得る状態にすることができる。別の例として、キュビットが固定結合を有するカプラを介して相互作用する場合、キュビットは、それらのそれぞれの動作周波数を、それらの共通の相互作用周波数から離調する何らかのゲート依存周波数に設定することによって、互いに相互作用するように構成され得る。他の場合、たとえば、キュビットが調整可能カプラを介して相互作用するとき、キュビットは、それらのカプラのパラメータを設定してキュビット間の相互作用を可能にし、次いで、キュビットのそれぞれの動作周波数を、それらの共通の相互作用周波数から離調する何らかのゲート依存周波数に設定することによって、互いに相互作用するように構成することができる。そのような相互作用は、マルチキュビットゲートを実行するために実行されてもよい。
【0056】
制御デバイス112は、キュビット110上で測定を実行し、処理および分析のために測定結果を古典的なプロセッサ104に提供するように構成されたデバイス、たとえば、読出し共振器をさらに含み得る。たとえば、制御デバイス112は、物理キュビット110のうちの1つまたは複数に対して、物理観測量Γの測定を実行するように構成されたデバイスを含み得る。さらに、制御デバイス112は、物理観測量の射影補正の測定
【0057】
【0058】
を、
図2~
図4に関して後述されるように、決定された射影演算子のセットに基づいて、物理キュビット110のうちの1つまたは複数において実行するように構成されたデバイスを含み得る。
【0059】
古典的なプロセッサ104は、古典的計算を実行するための構成要素、たとえば、本明細書に記載される古典的後処理手順を含む。
【0060】
ハードウェアのプログラミング:後処理における論理観測量の補正
図2Aは、確率的部分空間展開を使用して誤りが低減された量子計算を実行するための例示的なプロセス200のフロー図である。便宜上、プロセス200は、1つまたは複数の場所に配置された1つまたは複数の古典的または量子コンピューティングデバイスのシステムによって実行されるものとして説明する。たとえば、本明細書に従って適切にプログラムされた量子計算システム、たとえば、
図1のシステム100は、プロセス200を実行することができる。
【0061】
システムは、量子計算を実行するために量子誤り訂正コードを選択する(ステップ202)。n個の物理キュビットのシステムの場合、量子誤り訂正コードは、エンタングルメントを利用して、k<n個の論理キュビットのセットを符号化して、可能性のある誤りに対するロバストネスを向上させる。論理誤りを引き起こすために少なくとも重みdのパウリ演算子を必要とするコードは、距離dを有すると言われる。3つの数n、k、dは、表記[[n, k, d]]で量子誤り訂正コードを定義するために使用することができる。形式的に書かれた2kの論理演算子のセット
【0062】
【0063】
は、選択された量子誤り訂正コードに対応するコードハミルトニアンの基底状態部分空間であるコード空間内の状態に対して、(選択された誤り訂正コードの一部として)ターゲットパウリ演算を実行する。コードハミルトニアンの基底状態部分空間は、以下によって与えられ得、
【0064】
【0065】
式中、Mは、誤りシンドロームを推定するために使用することができるスタビライザ群から引き出されたチェック演算子のセットを表す。より明確には、Sは、スタビライザジェネレータのセットを表し、Sは、S⊆M⊆Sを意味する完全なスタビライザ群を表し、チェック演算子の最小セットがスタビライザジェネレータであるが、たとえば、シングルショット誤り訂正技法におけるように、スタビライザ群からの追加の演算子が追加され得る。したがって、システムによって選択された量子誤り訂正コードは、スタビライザジェネレータのセットSによって定義することができる。いくつかの実装形態では、量子誤り訂正コードの選択は、システムの古典的なプロセッサによって実行されてもよい。
【0066】
例示的な量子コードには、一般的なスタビライザコード、サーフェスコード、ショアコード、ベーコンショアコード、またはトーリックコードがある。量子コードを選択することはまた、たとえば、符号化において使用されるキュビットの数、または論理誤りがどのように発生し得るかなど、量子コードの特性を選択することを含み得る。たとえば、システムがサーフェスコードを選択する場合、(コード距離を決定する)論理キュビットを符号化するために使用されるキュビットの数も選択され得る。別の例として、システムがサーフェスコードを選択する場合、論理誤りを招くために物理システムにおいて発生するに違いない誤りの数も選択され得る。別の例として、システムは、量子コードおよび連結のレベル、すなわち、ロバストネスを高めるためにコードが何回チェーン結合されるかを選択し得る。量子コードが、物理キュビットが量子デバイス上にどのようにレイアウトされるかを決定する可能性もある場合、量子コードおよび特性を選択することである。したがって、システムによって選択される特定の量子コードおよびコード特性は、量子計算を実行する量子デバイスのタイプ、サイズ、および構造、ならびに実行される量子計算のタイプを含むいくつかの要因に依存し得る。
【0067】
従来の誤り訂正は、たとえば、補助キュビットを使用してチェック演算子を測定し、結果として生じるシンドローム情報を使用して誤りを復号し、それから回復することによって進行する。しかしながら、いくつかの実装形態では、たとえば、NISQデバイスを使用して量子計算を実行するときに、そのようなオンザフライ測定、復号、および回復を実行することが可能でない場合がある。そのような実装形態では、射影演算子を使用して、量子状態から誤りを除去する。
【0068】
システムは、対称演算子のセットを決定する(ステップ204)。対称演算子は、スタビライザ形式および射影演算子を使用して決定される。スタビライザ群S_i∈Sのメンバは、固有値±1を有し、各々、スタビライザまたはコード空間の+1固有空間外の状態の成分を除去するそれぞれのプロジェクタPi=(I+Si)/2を構築するために使用することができる。これを使用して、対称性の線形結合であるプロジェクタ(これは、次に、射影演算子/プロジェクタの積に基づく)を構築して、コード空間外のターゲット誤りを除去することができる。しかしながら、これでは、コード空間内で行われた論理誤りを除去することはできない。量子誤り検出は、通常、誤り訂正を使用することなく、シンドローム測定に基づいて結果を廃棄する。しかしながら、以下でより詳細に説明するように、本明細書に記載される技法は、直接シンドローム測定の必要性を回避し、これは、幾何学的に局所的なキュビットレイアウトでは厄介である可能性があり、複雑なコードに対してフォールトトレラント方式で実行することが困難である。いくつかの実装形態では、対称演算子のセットは、システムの古典的なプロセッサによって決定され得る。
【0069】
ジェネレータSiを有するスタビライザ群の場合、完全なプロジェクタは、以下から形成することができる。
【0070】
【0071】
すべてのジェネレータを引き継いだとき、式ΣiMiは、一定の係数を有するスタビライザ群のすべての要素の合計であり、これは、1/2mに固定して、以下を取得することができ、
【0072】
【0073】
式中、mは、使用されるスタビライザジェネレータの数を表す。完全射影の場合、これは、2mの項を含む完全スタビライザ群である。これは、一般に、項の指数関数的な数であるが、以下でより詳細に説明するように、確率的サンプリングスキームを使用して補正を適用するとき、項の数は、コストの明確な要因ではない。むしろ、補正コストは、コード空間外の状態のボリュームに依存する。群構造は、密度行列の射影補正
【0074】
【0075】
を、ノイズの多い中間スケールの量子コンピューティングデバイスにおいて可能にする。
【0076】
言い換えれば、対称演算子のセットを生成するために、システムは、m個のスタビライザジェネレータのサブセットを選択し、選択されたサブセット内のスタビライザジェネレータごとに、恒等演算子とスタビライザジェネレータとの間の合計(または差)を決定する。次いで、項の合計を形成するために、決定された合計(または差)を一緒に乗算し、合計の各項は、それぞれの対称演算子に等しい。式(2)の展開は、対称演算子のセットを生成する。たとえば、スタビライザジェネレータのセットの選択されたサブセットが2つのスタビライザジェネレータS1、S2を含む場合、合計(I+S1)および(I+S2)は、合計(I+S1)(I+S2)=I+S1+S2+S1S2を形成するために一緒に乗算され、ここで、各項I、S1、S2、S1S2は、それぞれの対称演算子Miに等しい。
【0077】
いくつかの実装形態では、スタビライザの-1固有空間内の物を排除するので、システムは、恒等演算子とスタビライザジェネレータとの間の差とは対照的に、合計を決定することができる。しかしながら、他の実装形態では、システムは、差を決定し得る。
【0078】
スタビライザジェネレータのセットの選択されたサブセットのサイズmは、様々な要因に依存する。たとえば、選択されたサブセットのサイズは、目標精度、または目標測定および回路反復コストに依存し得る。たとえば、いくつかの場合には、リアルタイムで効率的に測定することができる項の数を制限してもよい。より大きなサブセットは、典型的には、より正確な解をもたらすが、より高い測定および回路反復コストを有する。
【0079】
上記で説明した対称演算子は、数が指数関数的であるが、たとえば、数が指数関数的ではない可能性があるスタビライザジェネレータの従来の測定とは対照的に、いくつかの技術的利点を提供する。例示的なプロセス200は、測定シンドロームキュビットおよび関連するフォールトトレラントガジェットの必要性を回避するために、横断的な破壊的測定を使用する。したがって、スタビライザジェネレータは可換であるが、それらの成分の横方向の測定は、可換でない可能性がある。たとえば、X1X2およびZ1Z2が可換である間、Z1Z2を決定するためにZ1およびZ2を横方向に測定することは、X1X2を回復する能力を破壊する。現在説明されている技法は、確率的演算子のサンプリングを通してこの困難を回避することを可能にし、任意の構造のコードで機能する。補助の必要性を回避するこの横方向測定スキームは、所与のコードに対して比較的高い擬似しきい値を提供する。
【0080】
システムは、対称演算子の決定されたセットを使用して、量子計算の出力量子状態にわたって物理観測量の射影補正を測定する(ステップ206)。測定は、量子ハードウェアの1つまたは複数のキュビットにおいて量子ハードウェアの制御デバイスによって実行され得る。システムは、量子計算の補正された結果を決定するために、物理観測量の測定された射影補正を使用する(ステップ208)。いくつかの実装形態では、補正された結果は、システムの古典的なプロセッサによって決定され得る。補正された結果は、システムによって出力されてもよく、ならびに/またはさらなる古典的および/もしくは量子計算のための入力として使用されてもよい。
【0081】
たとえば、量子計算の出力は、物理観測量Γの期待値<Γ>を決定することによって取得され得る。したがって、量子計算の出力の補正値を決定するために、システムは、以下の式(3)および(4)に従って、繰り返し状態準備(初期の符号化された量子状態に対して量子計算を実行して出力量子状態ρを取得する)、および準備された状態の測定を実行することができ、式中、
【0082】
【0083】
は、物理観測量の射影補正を表す。
【0084】
【0085】
式(3)において、ρは、量子計算が実行された後の量子システムの量子状態を表し、
【0086】
【0087】
は、量子状態ρの周りの部分空間における展開を表し、Γは、パウリ演算子Γiの合計として表される論理エルミート演算子をΓ=ΣiγiΓiとして表し、演算子Γは、スタビライザ群要素Miと可換であり、
【0088】
【0089】
が演算子の選択されたセット内にある場合、これらの演算子に対して単一の合計として書き換えることができ、これは繰り返される。
【0090】
式(3)および(4)に従って準備された状態の繰り返し状態準備および測定は、演算子の1つまたは複数の対を選択することであり、各対が、i)物理観測量Γiのそれぞれの成分と、ii)対称演算子の決定されたセットからのそれぞれの対称演算子Miとを含む、選択することと、演算子の選択された対ごとに、出力(符号化された論理)量子状態を取得するために、初期(符号化された論理)量子状態に対して量子計算を実行することと、それぞれの測定結果を取得するために、出力量子状態ρにわたって演算子の選択された対を測定することとを含むことができる。このプロセスを複数回繰り返して、目標精度で測定値を表すすべての反復にわたって平均を取得することができる。それぞれの測定結果を合計して、量子計算の出力の補正された結果<Γ>を取得することができる。
【0091】
式(3)における合計の展開は、多数の項を含み得るので、効率を最大にする補正をサンプリングするための確率的スキームを実施することができる。特に、合計の展開における項のリストを実行し、各項を一定の精度で測定すると、スケーリングが不十分になる可能性がある。代わりに、状態ρがコード空間に完全に含まれていた場合、cの測定値は1であり、0の分散を有するはずであるという事実を反映するスキームである。これは、項の合理的な確率的サンプリングが迅速に収束し、項の実際の数にあまり依存せず、状態ρの品質に依存することを意味する。
【0092】
これらの補正をサンプリングするための確率的スキームおよびそれに関連するコストは、次の通りである。選択された誤り訂正コードのコード空間に論理演算子Γを射影すると、以下が与えられ、
【0093】
【0094】
式中、
【0095】
【0096】
であり、ここで、Σiγi=1およびγi≧0であり、符号をΓiに吸収する。ビット列χ=(χ1,…,χm)を使用して、この式の右辺の項が列挙されて、以下を得ることができ、
【0097】
【0098】
式中、Γχ,j=Tr[ρΓjSχ]であり、
【0099】
【0100】
である。上記で説明したように、ここでは、各Mjは、符号化の対称性であり、計算ハミルトニアンおよび物理観測量と可換であると仮定する。Tr[ρΓjSχ]を確率的にサンプリングするために、項の係数γjが正規化確率分布として使用される。加えて、Miは、均一な分布に従ってサンプリングすることができ、または重要度サンプリングスキームに従ってサンプリングすることができ、デバイスの誤りのモデルに基づいて、特定の対称性Miを選択する確率は、インテリジェントに重み付けされ、一方、測定結果は、選択のために補正される。重要度サンプリングスキームを実施することにより、結果にバイアスをかけることなく、分散(および必要な量子実験の数)を低減することができる。
【0101】
式(3)~(4)を参照して上記で説明した測定スキームと従来の誤り訂正/検出との間の例示的な区別は、シンドローム測定が実行されず、したがって、追加の補助キュビットが必要とされないことである。伝統的なアプローチは、有利には非破壊的測定を使用するが、特に近未来の実装形態では、いくつかの欠点も有する。たとえば、伝統的なアプローチは、通常、より多くのキュビットとより多くの非局所性の両方を必要とする。別の例として、伝統的なアプローチは、誤りを検出/補正するのにあまり効果的ではなく、不十分な擬似しきい値を有する。演算子を追加し、すべてのキュビットを独立して測定するのとは対照的に、これらのシンドローム測定の必要性を除去することによって、適用可能性の体制が改善される。たとえば、この技法が依然として有効であるためには、より正確でないゲートが必要とされる。言い換えれば、式(3)~(4)を参照して上記で説明した測定スキームでは、技法が後処理手順を含むので、スタビライザを「真剣に」測定する必要がなく、状態の情報は、パウリ演算子にわたってキュビット単位で測定することによって破壊され得る。一例として、パウリ演算子X1Z2Z3X4がスタビライザによって使用される場合、真のスタビライザ測定は、補助を使用して±1測定値のみを抽出することを必要とする。しかしながら、現在記載されているスキームでは、状態の繰り返された準備は自由に使用することができ、符号化された状態を破壊する可能性があるものを含む、<X1Z2Z3X4>の任意の偏りのない推定量を構築することができる。これは、非局所的なスタビライザ測定値を有するコードの使用を劇的に単純化する。
【0102】
図2Bは、確率的部分空間展開を使用して誤りが低減された量子計算を実行するための例示的なプロセス200のアルゴリズム概略
図250を示す。上記で説明したように、準備された量子状態ρ(たとえば、初期量子コード状態、または、それに適用された量子ゲートの何らかのシーケンスを有する初期量子コード状態)の周りの部分空間の拡張は、補助ベースのシンドローム測定またはフィードフォワードを必要とせずに、論理観測量<Γ>の期待値を改善するために使用される。論理空間における観測量Γは、パウリ演算子Γ
kの合計として表され、一方、対称性M
kは、システムによって自然に指示されるか、またはスタビライザ群Sから選択される。確率的部分空間展開を使用するとき、式(3)からの項は、確率的サンプリングスキームに従ってランダムに選択され、すなわち、演算子{Γ
j,M
k}は、確率的サンプリングスキームに従ってランダムに選択される。選択された項ごとに、状態ρが準備され、その状態を使用して対応する演算子が測定される。選択された各項の測定結果は、補正された期待値<Γ>をアセンブルするために使用される。取得された補正された期待値が収束基準を満たすまで、項のランダムサンプリング、測定、および合計が繰り返される。
【0103】
ハードウェアのプログラミング:部分空間展開へのプロジェクタの緩和
図3Aは、決定論的部分空間展開を使用して誤りが低減された量子計算を実行するための例示的なプロセス300のフロー図である。便宜上、プロセス300は、1つまたは複数の場所に配置された1つまたは複数の古典的または量子コンピューティングデバイスのシステムによって実行されるものとして説明する。たとえば、本明細書に従って適切にプログラムされた量子計算システム、たとえば、
図1のシステム100は、プロセス300を実行することができる。
【0104】
システムは、量子計算を実行するために量子誤り訂正コードを選択する(ステップ302)。量子計算を実行するために量子誤り訂正コードを選択することは、例示的なプロセス200のステップ202を参照して上で詳細に説明されている。
【0105】
システムは、スタビライザ演算子のセットを決定する(ステップ304)。スタビライザ演算子のセットを決定することは、例示的なプロセス200のステップ204を参照して上述されている。例示的なプロセス200のステップ204において、システムは、量子誤り訂正コードから対称演算子を構成する。例示的なプロセス300のステップ304は、例示的なプロセス200のステップ204に基づくが、ステップ304では、部分空間内の射影演算子の近似に基づいて、射影演算子構成が緩和される(スタビライザ演算子を構成するために使用される演算子は、厳密にプロジェクタである必要はなく、またはプロジェクタである場合、それらは、対応するコードハミルトニアンと可換である必要はない)。したがって、射影演算子は、拡張演算子とも呼ばれる。緩和された構造により、誤りが変動的に最小化されるので、この緩和によって、柔軟性およびパワーが向上する。これは、拡張演算子が、それぞれのメトリック、たとえば、エネルギーにおけるより良い解を優先して、既知の対称性を破ることができることを意味する。たとえば、誤りを自動的に最小化するために、信頼できないキュビットを固定値で置き換えることが可能であり得るが、これは、(問題が自明でない限り)問題の正確な対称性ではない。
【0106】
より詳細には、ステップ304において、上記の式(2)が一般化される。式(2)では、係数ciは、一様であるように選択され、すなわち、ci=1/2mである。しかしながら、式(2)のRHSによって与えられる級数が線形アンサッツに従って切り捨てられる場合、これはもはや当てはまらず、完全なプロジェクタは、以下の一般式によって与えられ、
【0107】
【0108】
式中、Lは、線形アンサッツおよびスタビライザ演算子における項の数を表し、Miは、例示的なプロセス200を参照して上述したようなスタビライザ群の要素であるが、式(5)では、式(2)とは異なり、もはや以下が真である必要はない。
【0109】
【0110】
スタビライザ群の要素から構築された線形アンサッツを選択することにより、対称性を含めることが容易になり、後処理中に観測量を補正するための拡張演算子の存在が保証される。
【0111】
したがって、システムは、スタビライザ演算子の線形結合を選択することによって線形アンサッツを選択し、対応する係数ciの値を決定する。たとえば、システムは、例示的なプロセス200のステップ204のように進み、量子誤り訂正コードのためのm個のスタビライザジェネレータのサブセットを選択することができる。次いで、システムは、スタビライザジェネレータの選択されたサブセットを切り捨てることができる。たとえば、選択されたサブセットは、測定を実行することに関連付けられたコストを低減するために切り捨てられてもよい。これは、他の項ほど計算に寄与しない選択されたサブセット内の要素を識別し、これらの識別された項を選択されたサブセットから除去することによって達成することができる。たとえば、システムは、固定サイズの演算子群Miのグループを選択し、次いで、反復して、式(7)~(9)を参照して以下で説明する一般化固有値式を解いて、選択されたグループの対応する係数ciを決定し、所定のしきい値よりも小さい、たとえば、10-3よりも小さい、決定された係数を有する演算子を除去し、新しい演算子Miをグループに追加して、固定サイズの新しいグループを生成することができる。この反復プロセスは、十分に大きい係数を有する演算子のグループが見つかるまで繰り返すことができる。
【0112】
係数ciを決定するタスクは、正規化制約を受けるコード空間までの距離を最小化するタスクとして定式化することができる。コード空間のハミルトニアン定式化を使用すると、これは、以下によってコード空間の基底状態を近似することと等価である。
【0113】
【0114】
この最適化は、一般に、状態ρとHcの選択の両方に依存する。線形アンサッツおよび正規化制約から、この問題は、非直交メトリックを有する球の表面上の二次形式の最小化と等価である。この問題に対する解は、以下の式(7)~(9)で与えられる一般化された固有値問題に対する解によって与えられる。
【0115】
【0116】
式(7)~(9)において、Hは、このスタビライザプロジェクタベースにおけるコードハミルトニアンのアクションを表し、行列Sは、部分空間ジオメトリを定義するオーバーラップまたはメトリック行列であり、Cは、固有ベクトルの行列を表し、Eは、固有値の対角行列を表す。対角行列Eの最低値に対応するCの列は、係数ciを含む。言い換えれば、Cの列は固有ベクトルを表し、最も低い固有値(たとえば、基底状態)に関連付けられた固有ベクトルは、ciを表すエントリを有する。たとえば、式(7)~(9)が、順序付けられた固有ベクトルを生成するソルバを使用して解かれる場合、係数は、Cの第1列に含まれる。スタビライザ演算子Miが、ジェネレータからのプロジェクタから構築される場合、解は、例示的なプロセス200を使用して取得される解と一致する。他の場合には、与えられた部分空間内の異なる数のプロジェクタ間を補間する最適解が取得される。状態に関するこのタイプの拡張は、量子部分空間展開(QSE)と呼ぶことができる。このNM×NM固有値問題の基底状態固有ベクトルは、この部分空間内で上記の問題の最適解を形成する。いくつかの場合には、この固有値問題の最適解は、厳密なプロジェクタではない可能性がある。しかしながら、これは必ずしも望ましくないわけではない。たとえば、いくつかの場合には、論理空間内の回転に対応する特定の問題ハミルトニアンに対して、より低いエネルギー状態が見つけられ得る。
【0117】
システムは、スタビライザ演算子の線形結合におけるスタビライザ演算子を使用して、量子計算の出力量子状態ρにわたって物理観測量Γの膨張補正
【0118】
【0119】
を測定し、物理観測量は、量子計算の結果に対応する(ステップ306)。スタビライザ演算子の線形結合におけるスタビライザ演算子を使用して、量子計算の出力量子状態にわたって物理観測量の膨張補正を測定することは、それぞれの
【0120】
【0121】
を、対応する測定結果を取得するために、出力量子状態にわたって測定することを含み、式中、Γは、物理観測量を表し、Mkは、スタビライザ演算子を表す。
【0122】
システムは、物理観測量の測定された膨張補正、および線形結合におけるスタビライザ演算子の係数の決定された値を使用して、量子計算の補正された結果を決定する(ステップ308)。固定ciにより量子計算の出力の補正された結果を決定することは、例示的なプロセス200のステップ206を参照して上述されている。たとえば、システムは、各
【0123】
【0124】
を測定することによって取得された測定結果を合計し、各測定結果は、一般化された固有値問題を解くことによって決定されるそれぞれの係数によって乗算される。あるいは、システムは、決定された係数を使用して、拡張演算子によって定義された同じベースで演算子の表現を構築し得、それを使用して、さらなる対称射影を実行するか、または論理観測量の推定値を向上させることができる。
【0125】
従来の量子誤り訂正の場合のように、フルコードハミルトニアンの基底状態の縮退は、コード空間内の単一状態の参照を妨げる。これにより、上記手順による論理誤りの除去が不可能となる。しかしながら、電子システムのような量子物理システムからのものなど問題ハミルトニアンに関連して考慮すると、目標がこのハミルトニアンの固有状態を準備するか、またはそのエネルギーを最小化することである場合には、論理誤りも補正することが可能になる。一例として、以下のように問題ハミルトニアンを有する単一の符号化されたスピンが与えられ、
【0126】
【0127】
式中、状態が、
【0128】
【0129】
で誤って検出され、拡張演算子
【0130】
【0131】
として含めることにより、論理空間における誤りは、この手順により補正することができ、より低いエネルギー状態
【0132】
【0133】
は、拡張された部分空間内にあるものとして検出される。
【0134】
図3Bは、決定論的部分空間展開を使用して誤りが低減された量子計算を実行するための例示的なプロセス300のアルゴリズム概略
図350を示す。上記で説明したように、準備された量子状態ρの周りの部分空間の拡張は、補助ベースのシンドローム測定またはフィードフォワードを必要とせずに、論理観測量<Γ>の期待値を向上させるために使用される。論理空間における観測量Γは、パウリ演算子Γ
kの合計として表され、一方、対称性M
kは、システムによって自然に指示されるか、またはスタビライザ群Sから選択される。決定論的部分空間展開を使用するとき、M
kのセットは、非対称性を含むように展開され(すなわち、
【0135】
【0136】
は、もはや、Πi(I+Si)に必ずしも比例しない)、ρにわたる対応する期待値は、ρの周りの部分空間における演算子の表現を形成するために、多くの反復で評価することができる。これらの行列は、一般化された固有値問題を定義し、その解Cは、演算子Miに基づく最適なプロジェクタ
【0137】
【0138】
と、目標観測量の補正された期待値<Γ>の両方を定義する。
【0139】
ハードウェアのプログラミング:符号化されていないシステムによる補正
図2Aおよび
図3Aの例示的なプロセス200および300は、それぞれ、工学的な対称性を介して量子情報を冗長に符号化する誤り訂正コード内の復号を記述する。しかしながら、この戦略は、ゲートの実行における符号化に起因する何らかのオーバーヘッドを伴う。いくつかの近未来の実験では、物理的問題ハミルトニアンH
pの空間で直接作業することがより実用的であり得る。
【0140】
図4は、問題ハミルトニアンの空間において量子計算を実行するための例示的なプロセス400のフロー図である。便宜上、プロセス400は、1つまたは複数の場所に配置された1つまたは複数の古典的または量子コンピューティングデバイスのシステムによって実行されるものとして説明する。たとえば、本明細書に従って適切にプログラムされた量子計算システム、たとえば、
図1のシステム100は、プロセス400を実行することができる。
【0141】
システムは、問題ハミルトニアンについて既知の対称演算子のセットを識別する(ステップ402a)。これらの既知の対称演算子は、事前に知られていてもよく、または専用アルゴリズムを使用して決定されてもよい。たとえば、相互作用フェルミオンシステムの場合、対称演算子の識別されたセットは、フェルミオンの総数、全スピンおよびSz成分、またはシステム内の空間自由度に関連する対称性のうちの1つまたは複数を含むことができる。いくつかの実装形態では、対称演算子は、システムの古典的なプロセッサによって決定され得る。いくつかの実装形態では、対称演算子は、システムへの入力として受信され、および/またはシステムへの入力から決定され得る。
【0142】
いくつかの実装形態では、識別されたセット内の対称演算子は、問題ハミルトニアンの
【0143】
【0144】
対称性とも呼ばれる2つの異なる固有値のみを有する演算子を含み得る。そのような対称演算子を選択することにより、演算子を実装することに関連付けられたコストを低減することができる。たとえば、フェルミオンハミルトニアンにおける数の対称性の問題は、0からシステム内のスピン軌道の数までの範囲の固有値をとることができる。したがって、正しい粒子番号を選択するために、プロジェクタは、所望の粒子番号Npを除くすべての成分、すなわち、
【0145】
【0146】
を除去し、式中、
【0147】
【0148】
は、システムのすべてのフェルミオンモードの数演算子を表す。これは、たとえば、より多くのキュビット、追加のゲート深さ、または計算効率の向上を必要とする、実施するのに費用がかかる多数の項をもたらす可能性がある。例示的な
【0149】
【0150】
対称性は、Jordan-Wigner表現では、形式ΠiZiをとる数対称演算子、またはアップスピン(α)およびダウンスピン(β)の数パリティ、Πi∈aZiおよびΠi∈βZiを含む。これらの演算子は、全数パリティを生成し、それらの射影において追加のパワーを提供する。
【0151】
システムは、対称演算子を使用して(例示的なプロセス200のステップ204または例示的なプロセス300のステップ304で説明したように)1つまたは複数の射影/拡張演算子を生成する(ステップ404)。たとえば、識別された
【0152】
【0153】
対称性を、スタビライザジェネレータSi(演算子Miを生成することができる)の代わりに使用することができる。
【0154】
システムがステップ402aで対称演算子を識別するが、目標状態が属する対称部分空間が未知である場合、それは自動的に選択される。たとえば、システムが、[Hp,F]=0によって定義されるハミルトニアンHpの
【0155】
【0156】
対称性Fを選択したが、厳密な基底状態が2つの固有空間のどちらに属するかは不明である場合、
【0157】
【0158】
または
【0159】
【0160】
を適用することによって、結果が異なり得る。他の対称性との連結は、この問題を複雑にする可能性がある。しかしながら、現在説明されているQSE手順は、最適な選択を見つけるために、2つの間で自動的に選択することができる。
【0161】
この特性のために、システムは、問題ハミルトニアンのための近似対称演算子のセット、またはより一般的には、ハミルトニアンと非可換であるが、ステップ402aにおける問題に関して既知の構造を有する演算子を識別することもできる(ステップ402b)。たとえば、局所的なフェルミオン占有演算子
【0162】
【0163】
の場合、これは、Jordan-Wigner変換の下で、Ziによって与えられ、[Hp,Zi]≠0であり、厳密な状態では軌道i上に何らかの成分を有することが予想される。しかしながら、フェルミオンシミュレーション問題のサイトは、エネルギーと、いわゆる自然軌道ベースでの占有の可能性との両方の点で、ほぼ整然としていることが多い。これは、一部のサイトが他のサイトよりも占有される可能性が低く、他のサイト上の同様の誤りと比較して、不均衡に大きいエネルギー誤りを引き起こす可能性があることを意味する。QSE手順は、正確な波動関数に対するサイトiの寄与を、この例ではノイズ下でのその余分な占有によって被ったエネルギー損傷に対してバランスをとることによって、プロジェクタ(I+Zi)を適用するかどうかを自動的に決定することができる。この特定のプロジェクタは、正確に適用されたときにキュビットの除去に等しいほど十分に単純であるが、(I+ZiZj)などの最高エネルギー軌道上のペア占有プロジェクタは、キュビットの単純な切り捨てによって緩和することができない最高エネルギー軌道の誤った占有によって引き起こされる誤りを除去するのに有効であり得ると想像することができる。
【0164】
システムは、射影/拡張演算子の一部または全部の行列要素を決定する(ステップ406)。行列要素は、実行されている量子計算に続いて、1つまたは複数のキュビットに対して測定を実行することによって決定され得る。測定は、量子ハードウェアの1つまたは複数のキュビットにおいて量子ハードウェアの制御デバイスによって実行され得る。量子計算の出力の補正値は、
図2Aおよび
図3Aを参照しながら上記で説明したように、測定された行列要素を使用して決定される。
【0165】
本明細書に記載されるデジタルおよび/または量子主題、ならびにデジタル機能動作および量子動作の実装形態は、デジタル電子回路、適切な量子回路、またはより一般的には、量子計算システム、有形に具現化されたデジタルおよび/または量子コンピュータソフトウェアもしくはファームウェア、本明細書に開示される構造およびそれらの構造的等価物を含む、デジタルおよび/または量子コンピュータハードウェア、またはそれらの1つもしくは複数の組合せで実装され得る。「量子計算システム」という用語は、限定はしないが、量子コンピュータ、量子情報処理システム、量子暗号システム、または量子シミュレータを含み得る。
【0166】
本明細書に記載されるデジタルおよび/または量子主題の実装形態は、1つもしくは複数のデジタルおよび/または量子コンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、有形の非一時的記憶媒体上に符号化されたデジタルおよび/または量子コンピュータプログラム命令の1つもしくは複数のモジュールとして実装することができる。デジタルおよび/または量子コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、1つもしくは複数のキュビット、またはそれらの1つもしくは複数の組合せとすることができる。代替的にまたは追加として、プログラム命令は、データ処理装置による実行のために、好適な受信機装置への送信のためにデジタルおよび/または量子情報を符号化するために生成された、デジタルおよび/または量子情報を符号化することができる人工的に生成された伝搬信号、たとえば、マシン生成の電気、光、または電磁信号上で符号化され得る。
【0167】
量子情報および量子データという用語は、量子システムによって搬送され、保持され、または量子システムに記憶される情報またはデータを指し、最小の非自明なシステムは、キュビット、すなわち量子情報の単位を定義するシステムである。「キュビット」という用語は、対応する文脈において2レベルシステムとして適切に近似され得るすべての量子システムを包含することが理解される。そのような量子システムは、たとえば、2つ以上のレベルを有するマルチレベルシステムを含み得る。例として、そのようなシステムは、原子、電子、光子、イオン、または超伝導キュビットを含むことができる。多くの実装形態では、計算基礎状態は、基底状態および第1の励起状態で識別されるが、計算状態がより高いレベルの励起状態で識別される他の設定も可能であることが理解される。
【0168】
「データ処理装置」という用語は、デジタルおよび/または量子データ処理ハードウェアを指し、例として、プログラマブルデジタルプロセッサ、プログラマブル量子プロセッサ、デジタルコンピュータ、量子コンピュータ、複数のデジタルおよび量子プロセッサまたはコンピュータ、ならびにそれらの組合せを含む、デジタルおよび/または量子データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置はまた、特殊目的論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、または量子シミュレータ、すなわち特定の量子システムに関する情報をシミュレートまたは生成するように設計された量子データ処理装置であってもよく、またはそれをさらに含むことができる。特に、量子シミュレータは、汎用量子計算を実行する能力を有していない専用量子コンピュータである。装置は、随意に、ハードウェアに加えて、デジタルおよび/または量子コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことができる。
【0169】
デジタルコンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードとも呼ばれるか、または記載され得、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、またはデジタルコンピューティング環境において使用するのに好適な他のユニットとしてを含む、任意の形態で展開され得る。量子コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードとも呼ばれるか、または記載され得、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、任意の形態のプログラミング言語で書かれ得、適切な量子プログラミング言語に変換することができ、または量子プログラミング言語、たとえばQCLまたはQuipperで書くことができる。
【0170】
デジタルおよび/または量子コンピュータプログラムは、必須ではないが、ファイルシステム内のファイルに対応し得る。プログラムは、他のプログラムもしくはデータ、たとえば、マークアップ言語ドキュメントに記憶された1つもしくは複数のスクリプトを保持するファイルの一部分に記憶されるか、当該のプログラムに専用の単一のファイルに記憶されるか、または複数の協調ファイル(coordinated file)、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルに記憶され得る。デジタルおよび/または量子コンピュータプログラムは、1つのデジタルまたは1つの量子コンピュータ上で、あるいは、1つのサイトに配置されるかもしくは複数のサイトにわたって分散され、デジタルおよび/もしくは量子データ通信ネットワークによって相互接続される複数のデジタルならびに/または量子コンピュータ上で実行されるように展開され得る。量子データ通信ネットワークは、量子システム、たとえば、キュビットを使用して量子データを送信することができるネットワークであると理解される。一般に、デジタルデータ通信ネットワークは、量子データを送信することはできないが、量子データ通信ネットワークは、量子データとデジタルデータの両方を送信することができる。
【0171】
本明細書に記載されるプロセスおよび論理フローは、1つもしくは複数のプログラム可能なデジタルおよび/または量子コンピュータによって実行することができ、1つもしくは複数のデジタルおよび/または量子プロセッサで動作し、必要に応じて、1つもしくは複数のデジタルおよび/または量子コンピュータプログラムを実行して、入力デジタルおよび量子データ上で動作し、出力を生成することによって機能を実行する。プロセスおよび論理フローは、特殊目的論理回路、たとえばFPGAもしくはASIC、または量子シミュレータによって、あるいは特殊目的論理回路または量子シミュレータと1つもしくは複数のプログラムされたデジタルおよび/または量子コンピュータとの組合せによって実行することもでき、装置は、特殊目的論理回路、たとえばFPGAもしくはASIC、または量子シミュレータとして実装することもできる。
【0172】
1つもしくは複数のデジタルおよび/または量子コンピュータのシステムが、特定の動作またはアクションを実行する「ように構成される」とは、システムが、その上に、動作中にシステムに動作もしくはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。1つもしくは複数のデジタルおよび/または量子コンピュータプログラムが、特定の動作またはアクションを実行するように構成されるとは、1つまたは複数のプログラムが、デジタルおよび/または量子データ処理装置によって実行されると、装置に動作またはアクションを実行させる命令を含むことを意味する。量子コンピュータは、量子コンピューティング装置によって実行されると、装置に動作またはアクションを実行させる命令をデジタルコンピュータから受信し得る。
【0173】
デジタルおよび/または量子コンピュータプログラムの実行に適したデジタルおよび/または量子コンピュータは、汎用もしくは専用のデジタルおよび/もしくは量子プロセッサまたはその両方、あるいは任意の他の種類の中央デジタルおよび/または量子処理ユニットに基づき得る。一般に、中央デジタルおよび/または量子処理ユニットは、読取り専用メモリ、ランダムアクセスメモリ、または量子データ、たとえば光子、またはそれらの組合せを送信するのに適した量子システムから、命令およびデジタルならびに/または量子データを受信する。
【0174】
デジタルおよび/または量子コンピュータの要素は、命令を実行または実施するための中央処理装置と、命令ならびにデジタルおよび/または量子データを記憶するための1つまたは複数のメモリデバイスである。中央処理装置およびメモリは、特殊目的論理回路または量子シミュレータによって補足されるか、または特殊目的論理回路もしくは量子シミュレータに組み込まれ得る。一般に、デジタルおよび/または量子コンピュータは、たとえば、磁気、光磁気ディスク、光ディスク、または量子情報を記憶するのに適した量子システムなど、デジタルおよび/または量子データを記憶するための1つまたは複数の大容量記憶デバイスを含むか、またはそれらからデジタルおよび/もしくは量子データを受信するか、またはそれらにデジタルおよび/もしくは量子データを転送するか、あるいはそれらの両方を行うように動作可能に結合される。しかしながら、デジタルおよび/または量子コンピュータは、そのようなデバイスを有する必要はない。
【0175】
デジタルおよび/または量子コンピュータプログラム命令ならびにデジタルおよび/または量子データを記憶するのに好適なデジタルおよび/または量子コンピュータ可読媒体は、たとえば、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、CD-ROMおよびDVD-ROMディスク、ならびに量子システム、たとえば、トラップされた原子または電子を含む、すべての形態の不揮発性デジタルおよび/または量子メモリ、媒体ならびにメモリデバイスを含む。量子メモリは、高い忠実度および効率で長時間量子データを記憶することができるデバイス、たとえば、光が伝送のために使用される光物質界面、ならびに重ね合わせまたは量子コヒーレンスなどの量子データの量子特徴を記憶および保存するための光物質界面であることが理解される。
【0176】
本明細書に記載される様々なシステム、またはその一部の制御は、1つまたは複数の非一時的な機械可読記憶媒体上に記憶され、1つもしくは複数のデジタルおよび/または量子処理デバイス上で実行可能な命令を含む、デジタルおよび/または量子コンピュータプログラム製品で実施することができる。本明細書に記載されるシステム、またはその一部は、各々、本明細書に記載される動作を実行するための実行可能命令を記憶するための1つもしくは複数のデジタルおよび/または量子処理デバイスならびにメモリを含むことができる装置、方法、またはシステムとして実装することができる。
【0177】
本明細書は、多くの特定の実装形態の詳細を含むが、これらは、特許請求の範囲に対する限定として解釈されるものではなく、むしろ、特定の実装形態に特有であり得る特徴の説明として解釈されるものとする。別々の実装形態の文脈で本明細書に記載される特定の特徴は、単一の実装形態で組み合わせて実施することもできる。逆に、単一の実装形態の文脈で説明される様々な特徴は、複数の実装形態で別々に、または任意の適切な部分組合せで実装することもできる。さらに、特徴は、特定の組合せで動作するものとして上記で説明されている場合があり、また、そのようなものとして最初に特許請求され得るが、特許請求される組合せからの1つまたは複数の特徴は、いくつかの場合には、その組合せから削除されてもよく、特許請求される組合せは、部分組合せまたは部分組合せの変形に向けられてもよい。
【0178】
同様に、動作は図面において特定の順序で示されているが、これは、所望の結果を達成するために、そのような動作は、示されている特定の順序で、または連続した順序で実行されること、またはすべての図示された動作が実行されることを必要とするものとして理解されないものとする。特定の状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上述の実装形態における様々なシステムモジュールおよび構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されないものとし、説明されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品に一緒に統合され得るか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【0179】
主題の特定の実装形態を説明した。他の実装形態は、以下の特許請求の範囲の範囲内である。たとえば、特許請求の範囲に記載されたアクションは、異なる順序で実行することができ、依然として望ましい結果を達成することができる。一例として、添付の図面に示されるプロセスは、所望の結果を達成するために、必ずしも、示される特定の順序、または連続する順序を必要としない。いくつかの場合には、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0180】
100 量子コンピューティングシステム、システム
102 量子ハードウェア、量子コンピューティングハードウェア
104 古典的なプロセッサ
110 キュビット、物理キュビット
112 制御デバイス