(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-16
(54)【発明の名称】量子回路のための完全にランダム化されたベンチマーキングの方法およびシステム
(51)【国際特許分類】
G06N 10/20 20220101AFI20240409BHJP
G06N 10/40 20220101ALI20240409BHJP
【FI】
G06N10/20
G06N10/40
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023551718
(86)(22)【出願日】2022-03-11
(85)【翻訳文提出日】2023-10-16
(86)【国際出願番号】 SG2022050124
(87)【国際公開番号】W WO2022203595
(87)【国際公開日】2022-09-29
(32)【優先日】2021-03-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523322689
【氏名又は名称】アリババ イノベーション プライベート リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ファン,ジァチェン
(72)【発明者】
【氏名】チェン,ジャンシン
(57)【要約】
方法、装置およびシステムが、量子ゲートのパラメータに基づいて、m
1個のランダムユニタリ量子ゲートの表現を生成することと、恒等演算子に等価な第1の量子ゲートシーケンスの表現を決定することと、恒等演算子に等価な第2の量子ゲートシーケンスの表現を決定することと、量子コンピューティングデバイスに、第1の量子ゲートシーケンスおよび第2の量子ゲートシーケンスの表現に対応するハードウェア命令を送信することと、量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに第1の量子ゲートシーケンスを適用した後の、キュービットの第1の数の測定値と、量子コンピューティングデバイスによって第2の数の回数にわたってキュービットに第2の量子ゲートシーケンスを適用した後の、キュービットの第2の数の測定値とを受信することと、第1の確率および第2の確率に基づいて量子ゲートの忠実度値を決定することとを含む。
【選択図】
図7
【特許請求の範囲】
【請求項1】
装置に方法を実行させるように前記装置の少なくとも1つのプロセッサによって実行可能な命令のセットを記憶する非一時的コンピュータ可読媒体であって、前記方法は、
量子ゲートのパラメータに基づいて、m
1個のランダムユニタリ量子ゲートの表現を生成することであって、m
1は整数である、生成することと、
第1の量子ゲートシーケンスが恒等演算子と等価になるように、前記m
1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に前記量子ゲートを挿入し、前記量子ゲートおよび第1の復元量子ゲートを前記m
1個のランダムユニタリ量子ゲートに付加することによって、前記第1の量子ゲートシーケンスの表現を決定することと、
第2の量子ゲートシーケンスが前記恒等演算子と等価になるように、前記m
1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートを前記m
1個のランダムユニタリ量子ゲートに付加することによって、前記第2の量子ゲートシーケンスの表現を決定することと、
量子コンピューティングデバイスに、前記第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、前記第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
前記量子コンピューティングデバイスから、前記量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに前記第1の量子ゲートシーケンスを適用した後の、前記キュービットの前記第1の数の測定値と、前記量子コンピューティングデバイスによって第2の数の回数にわたって前記キュービットに前記第2の量子ゲートシーケンスを適用した後の、前記キュービットの前記第2の数の測定値とを受信することと、
前記キュービットの量子状態が前記キュービットの前記第1の数の測定値にわたって変化しない第1の確率と、前記キュービットの前記量子状態が前記キュービットの前記第2の数の測定値にわたって変化しない第2の確率とに基づいて前記量子ゲートの忠実度値を決定することと、
を含む、非一時的コンピュータ可読媒体。
【請求項2】
前記装置の前記少なくとも1つのプロセッサによって実行可能な前記命令のセットは、前記装置に、
前記量子ゲートの前記忠実度値に基づいて前記量子ゲートの前記パラメータを更新させることを更に実行させる、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項3】
前記装置の前記少なくとも1つのプロセッサによって実行可能な前記命令のセットは、前記装置に、
前記量子ゲートの前記パラメータに基づいて、m
2個のランダムユニタリ量子ゲートの表現を生成することであって、m
2はm
1以外の整数である、生成することと、
第3の量子ゲートシーケンスが前記恒等演算子と等価になるように、前記m
2個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に量子ゲートを挿入し、前記量子ゲートおよび第3の復元量子ゲートを前記m
2個のランダムユニタリ量子ゲートに付加することによって、前記第3の量子ゲートシーケンスの表現を決定することと、
第4の量子ゲートシーケンスが前記恒等演算子と等価になるように、前記m
2個のランダムユニタリ量子ゲートを連結し、第4の復元量子ゲートを前記m
2個のランダムユニタリ量子ゲートに付加することによって、前記第4の量子ゲートシーケンスの表現を決定することと、
前記量子コンピューティングデバイスに、前記第3の量子ゲートシーケンスの表現に対応するハードウェア命令と、前記第4の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
前記量子コンピューティングデバイスから、前記量子コンピューティングデバイスによって第3の数の回数にわたって前記キュービットに前記第3の量子ゲートシーケンスを適用した後の、前記キュービットの前記第3の数の測定値と、前記量子コンピューティングデバイスによって第4の数の回数にわたって前記キュービットに前記第4の量子ゲートシーケンスを適用した後の、前記キュービットの前記第4の数の測定値とを受信することと、
前記キュービットの前記量子状態が前記キュービットの前記第3の数の測定値にわたって変化しない第3の確率と、前記キュービットの前記量子状態が前記キュービットの前記第4の数の測定値にわたって変化しない第4の確率とを決定することと、
前記第1の確率、前記第2の確率、前記第3の確率および前記第4の確率に基づいて、前記量子ゲートの平均忠実度値を決定することと、
を更に実行させる、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項4】
前記第1の確率、前記第2の確率、前記第3の確率および前記第4の確率に基づいて、前記量子ゲートの前記平均忠実度値を決定することは、
前記第1の確率および前記第3の確率の平均としての第1の平均確率と、前記第2の確率および前記第4の確率の平均としての第2の平均確率とを決定することと、
前記第2の平均確率に対する前記第1の平均確率の比率として前記平均忠実度値を決定することと、
を含む、請求項3に記載の非一時的コンピュータ可読媒体。
【請求項5】
前記第1の確率、前記第2の確率、前記第3の確率および前記第4の確率に基づいて、前記量子ゲートの前記平均忠実度値を決定することは、
m
1およびm
2を独立変数として用い、前記第1の確率および前記第3の確率を応答変数として用いて、第1の指数関数的減衰回帰を実行することによって、第1の忠実度値を決定することと、
m
1およびm
2を独立変数として用い、前記第2の確率および前記第4の確率を応答変数として用いて、第2の指数関数的減衰回帰を実行することによって、第2の忠実度値を決定することと、
前記第2の忠実度値に対する前記第1の忠実度値の比率として前記平均忠実度値を決定することと、
を含む、請求項3に記載の非一時的コンピュータ可読媒体。
【請求項6】
前記装置の前記少なくとも1つのプロセッサによって実行可能な前記命令のセットは、前記装置に、
前記量子ゲートの前記平均忠実度値に基づいて前記量子ゲートの前記パラメータを更新することを更に実行させる、請求項3に記載の非一時的コンピュータ可読媒体。
【請求項7】
前記m
1個のランダムユニタリ量子ゲートの表現は行列を含む、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項8】
前記m
1個のランダムユニタリ量子ゲートの表現を生成することは、
ハール測度に従って前記m
1個のランダムユニタリ量子ゲートの表現を生成することを含む、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項9】
前記m
1個のランダムユニタリ量子ゲートの表現を生成することは、
一様確率分布に従ってユニタリ演算子の空間を疑似乱数サンプリングすることによって、前記m
1個のランダムユニタリ量子ゲートの表現を生成することを含む、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記キュービットは超伝導キュービットを含む、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記量子ゲートは電磁信号を含み、前記量子ゲートの前記パラメータは、前記電磁信号の長さ、振幅または形状のうちの少なくとも1つを含む、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記量子ゲートの前記忠実度値を決定することは、
前記第2の確率に対する前記第1の確率の比率として前記量子ゲートの前記忠実度値を決定することを含む、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項13】
装置であって、
命令のセットを記憶するように構成されたメモリと、
前記メモリに通信可能に結合され、前記命令のセットを実行して、前記装置に、
量子ゲートのパラメータに基づいて、m
1個のランダムユニタリ量子ゲートの表現を生成することであって、m
1は整数である、生成することと、
第1の量子ゲートシーケンスが恒等演算子と等価になるように、前記m
1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に前記量子ゲートを挿入し、前記量子ゲートおよび第1の復元量子ゲートを前記m
1個のランダムユニタリ量子ゲートに付加することによって、前記第1の量子ゲートシーケンスの表現を決定することと、
第2の量子ゲートシーケンスが前記恒等演算子と等価になるように、前記m
1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートを前記m
1個のランダムユニタリ量子ゲートに付加することによって、前記第2の量子ゲートシーケンスの表現を決定することと、
量子コンピューティングデバイスに、前記第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、前記第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
前記量子コンピューティングデバイスから、前記量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに前記第1の量子ゲートシーケンスを適用した後の、前記キュービットの前記第1の数の測定値と、前記量子コンピューティングデバイスによって第2の数の回数にわたって前記キュービットに前記第2の量子ゲートシーケンスを適用した後の、前記キュービットの前記第2の数の測定値とを受信することと、
前記キュービットの量子状態が前記キュービットの前記第1の数の測定値にわたって変化しない第1の確率と、前記キュービットの前記量子状態が前記キュービットの前記第2の数の測定値にわたって変化しない第2の確率とに基づいて前記量子ゲートの忠実度値を決定することと、
を実行させるように構成された1つまたは複数のプロセッサと、
を備える、装置。
【請求項14】
前記1つまたは複数のプロセッサは、前記命令のセットを実行して、前記装置に、
前記量子ゲートの前記忠実度値に基づいて前記量子ゲートの前記パラメータを更新することを実行させるように更に構成される、請求項13に記載の装置。
【請求項15】
前記1つまたは複数のプロセッサは、前記命令のセットを実行して、前記装置に、
前記量子ゲートの前記パラメータに基づいて、m
2個のランダムユニタリ量子ゲートの表現を生成することであって、m
2はm
1以外の整数である、生成することと、
第3の量子ゲートシーケンスが前記恒等演算子と等価になるように、前記m
2個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート後に前記量子ゲートを挿入し、第3の復元量子ゲートを前記m
2個のランダムユニタリ量子ゲートに付加することによって、前記第3の量子ゲートシーケンスの表現を決定することと、
第4の量子ゲートシーケンスが前記恒等演算子と等価になるように、前記m
2個のランダムユニタリ量子ゲートを連結し、第4の復元量子ゲートを前記m
2個のランダムユニタリ量子ゲートに付加することによって、前記第4の量子ゲートシーケンスの表現を決定することと、
前記量子コンピューティングデバイスに、前記第3の量子ゲートシーケンスの表現に対応するハードウェア命令と、前記第4の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
前記量子コンピューティングデバイスから、前記量子コンピューティングデバイスによって第3の数の回数にわたって前記キュービットに前記第3の量子ゲートシーケンスを適用した後の、前記キュービットの前記第3の数の測定値と、前記量子コンピューティングデバイスによって第4の数の回数にわたって前記キュービットに前記第4の量子ゲートシーケンスを適用した後の、前記キュービットの前記第4の数の測定値とを受信することと、
前記キュービットの前記量子状態が前記キュービットの前記第3の数の測定値にわたって変化しない第3の確率と、前記キュービットの前記量子状態が前記キュービットの前記第4の数の測定値にわたって変化しない第4の確率とを決定することと、
前記第1の確率、前記第2の確率、前記第3の確率および前記第4の確率に基づいて、前記量子ゲートの平均忠実度値を決定することと、
を実行させるように更に構成される、請求項13に記載の装置。
【請求項16】
前記第1の確率、前記第2の確率、前記第3の確率および前記第4の確率に基づいて、前記量子ゲートの前記平均忠実度値を決定することは、
前記第1の確率および前記第3の確率の平均としての第1の平均確率と、前記第2の確率および前記第4の確率の平均としての第2の平均確率とを決定することと、
前記第1の平均確率および前記第2の平均確率の比率として前記平均忠実度値を決定することと、
を含む、請求項15に記載の装置。
【請求項17】
前記第1の確率、前記第2の確率、前記第3の確率および前記第4の確率に基づいて、前記量子ゲートの前記平均忠実度値を決定することは、
m
1およびm
2を独立変数として用い、前記第1の確率および前記第3の確率を応答変数として用いて、第1の指数関数的減衰回帰を実行することによって、第1の忠実度値を決定することと、
m
1およびm
2を独立変数として用い、前記第2の確率および前記第4の確率を応答変数として用いて、第2の指数関数的減衰回帰を実行することによって、第2の忠実度値を決定することと、
前記第2の忠実度値に対する前記第1の忠実度値の比率として前記平均忠実度値を決定することと、
を含む、請求項15に記載の装置。
【請求項18】
前記1つまたは複数のプロセッサは、前記命令のセットを実行して、前記装置に、
前記量子ゲートの前記平均忠実度値に基づいて前記量子ゲートの前記パラメータを更新することを実行させるように更に構成される、請求項15に記載の装置。
【請求項19】
コンピュータ実施方法であって、
量子ゲートのパラメータに基づいて、m
1個のランダムユニタリ量子ゲートの表現を生成することであって、m
1は整数である、生成することと、
第1の量子ゲートシーケンスが恒等演算子と等価になるように、前記m
1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート後に前記量子ゲートを挿入し、第1の復元量子ゲートを前記m
1個のランダムユニタリ量子ゲートに付加することによって、前記第1の量子ゲートシーケンスの表現を決定することと、
第2の量子ゲートシーケンスが前記恒等演算子と等価になるように、前記m
1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートを前記m
1個のランダムユニタリ量子ゲートに付加することによって、前記第2の量子ゲートシーケンスの表現を決定することと、
量子コンピューティングデバイスに、前記第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、前記第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
前記量子コンピューティングデバイスから、前記量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに前記第1の量子ゲートシーケンスを適用した後の、前記キュービットの前記第1の数の測定値と、前記量子コンピューティングデバイスによって第2の数の回数にわたって前記キュービットに前記第2の量子ゲートシーケンスを適用した後の、前記キュービットの前記第2の数の測定値とを受信することと、
前記キュービットの量子状態が前記キュービットの前記第1の数の測定値にわたって変化しない第1の確率と、前記キュービットの前記量子状態が前記キュービットの前記第2の数の測定値にわたって変化しない第2の確率とに基づいて前記量子ゲートの忠実度値を決定することと、
を含む、コンピュータ実施方法。
【請求項20】
前記量子ゲートの前記パラメータに基づいて、m
2個のランダムユニタリ量子ゲートの表現を生成することであって、m
2はm
1以外の整数である、生成することと、
第3の量子ゲートシーケンスが前記恒等演算子と等価になるように、前記m
2個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート後に前記量子ゲートを挿入し、第3の復元量子ゲートを前記m
2個のランダムユニタリ量子ゲートに付加することによって、前記第3の量子ゲートシーケンスの表現を決定することと、
第4の量子ゲートシーケンスが前記恒等演算子と等価になるように、前記m
2個のランダムユニタリ量子ゲートを連結し、第4の復元量子ゲートを前記m
2個のランダムユニタリ量子ゲートに付加することによって、前記第4の量子ゲートシーケンスの表現を決定することと、
前記量子コンピューティングデバイスに、前記第3の量子ゲートシーケンスの表現に対応するハードウェア命令と、前記第4の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
前記量子コンピューティングデバイスから、前記量子コンピューティングデバイスによって第3の数の回数にわたって前記キュービットに前記第3の量子ゲートシーケンスを適用した後の、前記キュービットの前記第3の数の測定値と、前記量子コンピューティングデバイスによって第4の数の回数にわたって前記キュービットに前記第4の量子ゲートシーケンスを適用した後の、前記キュービットの前記第4の数の測定値とを受信することと、
前記キュービットの前記量子状態が前記キュービットの前記第3の数の測定値にわたって変化しない第3の確率と、前記キュービットの前記量子状態が前記キュービットの前記第4の数の測定値にわたって変化しない第4の確率とを決定することと、
前記第1の確率、前記第2の確率、前記第3の確率および前記第4の確率に基づいて、前記量子ゲートの平均忠実度値を決定することと、
を更に含む、請求項19に記載のコンピュータ実施方法。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本開示は、一般的には、量子コンピューティングに関し、より詳細には、量子回路のための完全にランダム化されたベンチマーキングの方法、システムおよび非一時的コンピュータ可読媒体に関する。
【背景技術】
【0002】
[0002] 量子コンピュータは、従来のコンピュータでは実行不可能な或る特定のタスクを実行する機能を提供する。これらのタスクは、多数の工学分野に多大な進歩をもたらし、新たな材料の発見、より良好な薬品の合成、およびよりエネルギー密度の高いバッテリーの作製等の価値のある目標を可能にする。量子コンピュータの性能は、様々なインジケータに基づいて評価することができ、そのプロセスは、「ベンチマーキング」と呼ぶことができる。しかしながら、量子コンピュータのための既存のベンチマーキング技法は制限を有し、任意選択の量子回路に普遍的に適用することができない。
【発明の概要】
【0003】
[0003] 本開示は、量子回路をベンチマーキングするための方法、システムおよび非一時的コンピュータ可読媒体に関する。1つの例示的な実施形態において、装置に方法を実行させるように装置の少なくとも1つのプロセッサによって実行可能な命令のセットを記憶する非一時的コンピュータ可読媒体が提供される。方法は、量子ゲートのパラメータに基づいて、m1個のランダムユニタリ量子ゲートの表現を生成することであって、m1は整数である、生成することと、第1の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に量子ゲートを挿入し、量子ゲートおよび第1の復元量子ゲート(recovery quantum gate)をm1個のランダムユニタリ量子ゲートに付加することによって、第1の量子ゲートシーケンスの表現を決定することと、第2の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第2の量子ゲートシーケンスの表現を決定することと、量子コンピューティングデバイスに、第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、量子コンピューティングデバイスから、量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに第1の量子ゲートシーケンスを適用した後の、キュービットの第1の数の測定値と、量子コンピューティングデバイスによって第2の数の回数にわたってキュービットに第2の量子ゲートシーケンスを適用した後の、キュービットの第2の数の測定値とを受信することと、キュービットの量子状態がキュービットの第1の数の測定値にわたって変化しない第1の確率と、キュービットの量子状態がキュービットの第2の数の測定値にわたって変化しない第2の確率とに基づいて量子ゲートの忠実度値を決定することと、を含む。
【0004】
[0004] 別の態様において、ビデオ処理のための装置が提供される。装置は、命令のセットを記憶するように構成されたメモリと、メモリに通信可能に結合され、命令のセットを実行して、装置に、量子ゲートのパラメータに基づいて、m1個のランダムユニタリ量子ゲートの表現を生成することであって、m1は整数である、生成することと、第1の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に量子ゲートを挿入し、量子ゲートおよび第1の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第1の量子ゲートシーケンスの表現を決定することと、第2の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第2の量子ゲートシーケンスの表現を決定することと、量子コンピューティングデバイスに、第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、量子コンピューティングデバイスから、量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに第1の量子ゲートシーケンスを適用した後の、キュービットの第1の数の測定値と、量子コンピューティングデバイスによって第2の数の回数にわたってキュービットに第2の量子ゲートシーケンスを適用した後の、キュービットの第2の数の測定値とを受信することと、キュービットの量子状態がキュービットの第1の数の測定値にわたって変化しない第1の確率と、キュービットの量子状態がキュービットの第2の数の測定値にわたって変化しない第2の確率とに基づいて量子ゲートの忠実度値を決定することと、を実行させるように構成された1つまたは複数のプロセッサとを備える。
【0005】
[0005] 別の例示的な実施形態において、方法が提供される。方法は、量子ゲートのパラメータに基づいて、m1個のランダムユニタリ量子ゲートの表現を生成することであって、m1は整数である、生成することと、第1の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に量子ゲートを挿入し、量子ゲートおよび第1の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第1の量子ゲートシーケンスの表現を決定することと、第2の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第2の量子ゲートシーケンスの表現を決定することと、量子コンピューティングデバイスに、第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、量子コンピューティングデバイスから、量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに第1の量子ゲートシーケンスを適用した後の、キュービットの第1の数の測定値と、量子コンピューティングデバイスによって第2の数の回数にわたってキュービットに第2の量子ゲートシーケンスを適用した後の、キュービットの第2の数の測定値とを受信することと、キュービットの量子状態がキュービットの第1の数の測定値にわたって変化しない第1の確率と、キュービットの量子状態がキュービットの第2の数の測定値にわたって変化しない第2の確率とに基づいて量子ゲートの忠実度値を決定することと、を含む。
【0006】
[0006] 本開示の実施形態および様々な態様が以下の詳細な説明および添付の図面において例示される。図に示される様々な特徴は、原寸に比例して描かれていない。
【図面の簡単な説明】
【0007】
【
図1】[0007]本開示のいくつかの実施形態による、ブロッホ球で表されるキュービットを示す図である。
【
図2】[0008]本開示のいくつかの実施形態による、例示的な量子ゲートシーケンスを示す図である。
【
図3】[0009]本開示のいくつかの実施形態による、別の例示的な量子ゲートシーケンスを示す図である。
【
図4】[0010]本開示のいくつかの実施形態による、更に別の例示的な量子ゲートシーケンスを示す図である。
【
図5】[0011]本開示のいくつかの実施形態による、更に別の例示的な基準量子ゲートシーケンスを示す図である。
【
図6】[0012]本開示のいくつかの実施形態による、量子回路を動作させるための例示的なシステムのブロック図である。
【
図7】[0013]本開示のいくつかの実施形態による、量子回路を動作させるための例示的な量子コントローラを示す概略図である。
【
図8】[0014]本開示のいくつかの実施形態による、量子回路を動作させるための例示的な方法のフローチャートである。
【発明を実施するための形態】
【0008】
[0015] 次に、添付の図面に例が示されている例示的な実施形態を詳細に参照する。以下の説明は添付の図面を参照し、図面において、異なる図面における同じ符号は、別途示されない限り、同じまたは同様の要素を表す。例示的な実施形態の以下の説明において示される実装形態は、本発明による全ての実施態様を表すものではない。むしろ、それらは、添付の特許請求の範囲において列挙されるとおりの本発明に関連する態様による装置および方法の単なる例にすぎない。本開示の特定の態様が以下においてより詳細に説明される。参照により組み込まれる用語および/または定義と矛盾する場合には、本明細書において提供される用語および定義が優先する。
【0009】
[0016] 本明細書において用いられるとき、「コンピュータ」とは、タスクの解決を目的とした一連の順序付けされたプロシージャまたは動作を実行するための命令、計算、演算またはアルゴリズムを実行することが可能なマシンを指す。コンピュータは現代社会において、直接的関与(例えば、スマートフォンおよびラップトップ)および間接的関与(例えば、自動車におけるマイクロコントローラまたは浄水場における制御システム)を含めてユビキタスである。コンピュータは、物理学によって課される様々な制限を受ける或るタイプのハードウェア(例えば、物の物理的構造)上で実施されなくてはならず、これにより、コンピュータの性能特性(例えば、利用可能なメモリ量または可能な毎秒演算数)に対し上限が生じる。また、タスクを解決するために、コンピュータは、命令のセットを提供されなくてはならず、これに従って、コンピュータにタスクを達成させることができる。
【0010】
[0017] 本明細書において用いられるとき、量子コンピュータは、量子計算を実行することができるコンピュータを指す。本開示における量子計算は、量子コンピュータのハードウェアの量子現象(例えば、重ね合わせまたはもつれ)を用いる計算を指す。対照的に、本開示における従来のコンピュータは、電子コンピュータ等の、量子計算を実行することができないコンピュータを指す。量子コンピュータは、従来のコンピュータによって解決するのが困難とみなされる或る特定のタスクを実行し、独自の利点をもたらす能力を提供することができる。例えば、量子コンピュータを用いて、(本質的に量子物理学によって統制される)分子の動力学をシミュレートするか、(多くの暗号理論の基礎をなす)整数の因数分解を行うか、構造化されていないデータを検索するか、量子アニーリングおよび断熱プロセスを最適化するか、機械学習アルゴリズムを加速するか、または従来のコンピュータには困難とみなされる多くの計算タスクを実行することができる。そのような技術的利点は、新たな材料の作成、新たな薬品の合成、またはエネルギー密度の高いバッテリーの開発等の多くの産業および研究に利点をもたらすことができる。
【0011】
[0018] 従来のコンピュータは、デジタル論理で動作する。本明細書において用いられるとき、デジタル論理とは、情報の単位(「ビット」と呼ばれる)で動作する論理システムを指す。ビットは、通常「0」および「1」によって示される最小情報単位として、2つの値のうちの一方を有することができる。デジタル論理は、デジタル論理ゲートを用いて、ビットを作成、除去または変更することができる。デジタル論理ゲートは、トランジスタを用いて構築することができ、ここで、ビットは、トランジスタを接続する配線の電圧レベルとして表すことができる。デジタル論理ゲートは、入力として1つまたは複数のビットを取り、出力として1つまたは複数のビットを与えることができる。例えば、論理ANDゲートは、入力として2ビットを取り、出力として1ビットを与える。双方の入力の値が「1」である場合、ANDゲートの出力は「1」とすることができ、そうでない場合、「0」とすることができる。様々なデジタル論理ゲートの入力および出力を特殊な方式で接続することによって、従来のコンピュータは、任意の複合アルゴリズムを実施して、様々な計算タスクを達成することができる。
【0012】
[0019] 表面レベルにおいて、量子コンピュータは、従来のコンピュータと類似した方式で動作する。量子コンピュータは量子論理で動作する。本明細書において用いられるとき、量子論理とは、「量子ビット」または単に「キュービット」と呼ばれる情報の単位で動作する論理システムを指す。キュービットは、量子コンピュータにおける最小情報単位であり、通例|0>および|1>で表される2つの値の任意の線形結合を有することができる。キュービットの値は、|ψ>で表すことができる。「0」または「1」のいずれかの値を有することができるデジタルビットと異なり、|ψ>は、α|0>+β|1>の値を有することができ、ここで、αおよびβは、|α|2+|β|2=1以外のいかなる制約によっても制限されない複素数(「振幅」と呼ばれる)である。キュービットは、様々な形態で構築することができ、量子コンピュータの構成要素の量子状態として表すことができる。例えば、キュービットは、量子状態として偏向を有する(例えば、レーザにおける)光子、量子状態としてスピンを有する(例えば、電磁場内にトラップされた)電子もしくはイオン、量子状態として電荷、電流束もしくは位相を有する(例えば、超伝導量子システムにおける)ジョセフソン接合、量子状態としてドットスピンを有する(例えば、半導体構造における)量子ドット、トポロジカル量子システム、または2つ以上の量子状態を提供することができる任意の他のシステムを用いて物理的に実施することができる。量子論理は、量子論理ゲート(または、単に「量子ゲート」)を用いて、キュービットを作成、除去または変更することができる。
【0013】
[0020] 数学的に、量子ゲートは、量子状態に作用する伝搬関数である。物理的に、量子ゲートは、レーザパルス、電磁波(例えば、マイクロ波パルス)、電磁場を生成することが可能なハードウェアデバイス、またはキュービットの量子状態を変更、維持もしくは制御するための任意の手段として実施することができる。量子ゲートは、入力として1つまたは複数のキュービットを取り、出力として1つまたは複数のキュービットを与えることができ、このため、行列として表すことができる。従来の論理ゲート(例えば、ANDゲート)と異なり、量子ゲートは、その出力および適用する変換の情報に基づいてその入力を決定することができる特性を有し、これは「可逆」と呼ばれる。そのような可逆特性は、量子ゲートの出力数が、その入力の数に等しいかまたは上回ることを必要とし、既知の量子ゲートに対する入力を常にその出力を所与として構築することができることを確実にする。
【0014】
[0021] 量子コンピュータの利点は、従来のコンピュータについて困難である(例えば、数学的に可能であるが物理的に実現不可能である)とみなされるいくつかのタスクについて計算複雑度を低下させる能力から生じる。通常、計算タスクは、計算タスクを表すいくつかの数学的オブジェクトのインスタンス(例えば、グラフ、数または文字列)の特定の特性を決定することとして概念化することができ、数学的オブジェクトのインスタンスは、通常、ビット(例えば、1および0)のシーケンスとして概念化することができる。通常、より大きなインスタンスは、解決するのにより多くの時間または空間を要する。計算タスクを解決するのに要する時間または空間は、インスタンスのサイズに依拠し、これは通例、ビット単位のインスタンスの入力のサイズになるように取得される。例えば、インスタンスに対する入力はnの長さを有することができる。そのようなコンテキストにおいて、計算タスクの計算複雑度は、数学的オブジェクトのインスタンスの特殊な特性を決定するために最良のアルゴリズムによって要求されるリソースとして定義することができる。
【0015】
[0022] 通常、そのような計算複雑度は、nの関数として変動する。例えば、あるアルゴリズムは、サイズnの入力について、5n3+12n2+2n+log n+113個のステップを取り得る。しかしながら、通常、bigO記法を用いて、アルゴリズムの漸近的複雑度のみが評価される。bigO記法は、nが無限に向かう際の計算複雑度の成長率に焦点を当てる。その下で、nの最も高い成長係数のみが検討される。例えば、bigO記法において、上記のアルゴリズムによって用いられるステップの数(すなわち、5n3+12n2+2n+log n+113)はO(n3)である。アルゴリズムは通常、その漸近的複雑度がO(nk)(kは有限数)である場合、現実的とみなされ、一般的に、漸近的複雑度がO(kn)である(例えば、多項式を超える成長を有する)場合、非現実的とみなされる。O(kn)以上の漸近的複雑度を有する最良の可能なアルゴリズムを有する計算タスクは困難であるとみなされる。
【0016】
[0023] 様々な従来のコンピュータについて、同じ計算タスクを解決するための計算複雑度は、定数の係数だけ異なる。対照的に、量子メカニクスの或る特定の態様の利点を取ることによって、量子コンピュータは、従来のコンピュータが指数関数的数のステップにおいてのみ解決することができる或る特定の計算タスクを、多項式数のステップにおいて解決することができる。これらの計算タスクについて、量子コンピュータの計算複雑度は、その入力のサイズに関して多項式となり得るのに対し、従来のコンピュータの計算複雑度は指数関数的になり得る。
【0017】
[0024] 量子コンピュータのそのような特徴は、キュービットが量子状態の重ね合わせとなり得ることから生じ、これは有限数の値を表すことができる。例えば、キュービット|ψ>は、α|0>+β|1>として表される量子状態|0>および|1>の重ね合わせとなり得る。ここで、αおよびβは任意の複素数であり、|α|2+|β|2=1であり、|ψ>の値がデジタルビットのように「0」または「1」のいずれかに制限されないようになっている。さらに、キュービットの群は、キュービットによって表すことができる値の寸法を拡張することができる。例えば、2状態キュービットシステムは、第1のキュービット|ψ1>=α|0>+β|1>および第2のキュービット|ψ2>=γ|0>+δ|1>を含むことができる。そのような2状態キュービットシステムにおけるキュービットは、2つの量子状態(例えば、|0>および|1>)の組み合わせを表すことができる。第1および第2のキュービットがもつれているとき、これらは4状態キュービットシステムを形成する。ここで、そのような4状態キュービットシステムにおけるキュービット|φ>は、|φ>=αγ|00>+αδ|01>+βγ|10>+βδ|11>(ここで、|αγ|2+|αδ|2+|βγ|2+|βδ|2=1)として表すことができる。そのような4状態キュービットシステムにおけるキュービットは、4つの量子状態(例えば、「積状態」と呼ばれる|00>、|01>、|10>および|11>)の組み合わせを表すことができる。通常、n個のもつれた2状態キュービットのシステム(例えば、|0>および|1>等のバイナリベースを有する)は、2n個の量子状態を表すことができ、これはキュービット
【0018】
【数1】
(ここで、|x
1|
2+|x
2|
2+・・・+|x
n|
2=1)として表すことができる。情報は複数の振幅(例えば、x
1、x
2、...、x
n)でコード化および記憶することができる。量子ゲートを用いてキュービットを動作させることによって、量子コンピュータは、任意の数の振幅に対し同時に動作することができ、これは、或る特定の計算タスクについて、従来のコンピュータ(有限数の値に対し同時に動作することしかできない)を上回る優れた速度上の利点を植え付ける。
【0019】
[0025] キュービットの値を視覚化する1つの方法は、キュービットを、ブロッホ球の表面上の点として表すことである。例として、
図1は、本開示のいくつかの実施形態による、ブロッホ球100において表されるキュービットを示す図である。ブロッホ球100は、それぞれ座標軸x、yおよびzを有する3次元(3D)空間において存在するものとして概念化することができる。これは、ブロッホ球100の表面上の点を表すために2つの値(例えば、緯度および経度、または
図1における角度φおよびθ)を取る。
図1において、z軸の正極および負極はそれぞれ|0>および|1>に対応する。キュービット|ψ>=α|0>+β|1>の場合、αおよびβは|α|
2+|β|
2=1によって制約される複素数であるため、|ψ>は複素数a+biとして表すことができる。aおよびbの値は、ブロッホ球100において、方位角および赤道角φおよびθにマッピングすることができ、ひいては、
図1におけるブロッホ球100の表面上の点として表すことができる。
【0020】
[0026] 通常、量子アルゴリズムは、基礎をなす量子回路の観点で表すことができる。量子回路は、1つまたは複数の量子ゲートを含む。量子ゲートは、(例えば、キュービットα|0>+β|1>においてαおよびβの値を変更することによって)有限数の方式でキュービットを変換することができるため、無限のタイプの量子ゲートが存在する。例えば、ユニタリ変換を実行するための無限数の方式が存在するため、キュービットに対しユニタリ変換を実行するための無限の量子ゲートが存在する。「パウリ演算子」または「パウリゲート」として知られる1つのタイプの量子ゲートを用いて、キュービットに対するユニタリ変換を実行することができる。それぞれI、X、YおよびZと呼ばれる4つのパウリ演算子が存在する。ここで、Iは恒等演算子であり、X、YおよびZは、それぞれ3D空間内のx軸、y軸およびz軸の周りの180°の回転を表す。例えば、2状態キュービットのシステムにおいて、パウリゲートは、行列
【0021】
【0022】
【0023】
【0024】
【数5】
として表すことができる。n個のキュービットに対するパウリ演算子のセットは、
【0025】
【数6】
および|P
n|=4
nとして表すことができる。ここで、下付き文字は、演算子が作用するキュービットを示す。n個のキュービットのセットについて、それぞれがσ
i∈[I,X,Y,Z]の可能な(
【0026】
【数7】
の形態の)テンソル積のための、4
n個のパウリ行列が存在する。例えば、3つのキュービット|ψ
1>、|ψ
2>および|ψ
3>を含む3キュービットシステムにおいて、|ψ
1>に作用するパウリXゲートおよび|ψ
2>に作用するパウリZゲートは、
【0027】
【0028】
[0027] パウリゲートは、ブロッホ球の3つの主軸の回りの回転として理解することができる。例として、
図1を参照すると、パウリXゲート、パウリYゲートおよびパウリZゲートは、|ψ>を表す点に、それぞれブロッホ球100におけるx軸、y軸およびz軸の周りを180°回転させることとして理解することができる。
【0029】
[0028] いくつかの量子ゲートを用いて他の量子ゲートを実施することができる。いくつかの場合、そのような量子ゲートは群を形成することができ、ここで、群内の量子ゲートを用いて、群内の任意の他の量子ゲートを任意の精度まで(十分な数の量子ゲートが提供される場合)実施することができる。量子ゲートのそのようなセットの1つの例は、パウリゲートのセットを含むクリフォード群である。クリフォード群における量子ゲートは、「クリフォードゲート」と呼ぶことができる。クリフォード群におけるパウリゲートが、左側でクリフォードゲートを乗算され(「左乗算」と呼ばれる)、右側でクリフォードゲートのエルミート随伴を乗算される(「右乗算」と呼ばれる)とき、結果として得られる量子ゲートは依然として、クリフォード群内に依然としてあるパウリゲートである。n個のキュービットに対し動作するクリフォード群(Cnとして表される)は、クリフォードゲート
【0030】
【0031】
[0029] いくつかの実施形態では、1つのキュービットに対し動作するクリフォード群(例えば、C1)は、アダマールゲート
【0032】
【0033】
【数11】
の組み合わせを用いて生成することができる。いくつかの実施形態では、2つ以上のキュービットに対し動作するクリフォード群(例えば、C
2)は、アダマールゲート、位相ゲート、および制御NOT(「CNOT」ゲート)
【0034】
【数12】
の組み合わせによって生成することができる。例えば、アダマールゲート、位相ゲート、およびCNOTゲートの組み合わせによって生成されるクリフォード群は、ユニタリ2デザインを形成することができる。汎用量子コンピュータを実施するために、クリフォードゲートをTゲート(「π/4ゲート」とも呼ばれる)
【0035】
【数13】
と共に用いることができる。例えば、Tゲートは、単一キュービットパウリZゲートの周りのπ/4位相回転:
【0036】
【数14】
として生成することができる。(例えば、量子回路内の任意の量子ゲートU、U∈{H、S、CNOT、T}について)アダマールゲート、位相ゲート、CNOTゲートおよびTゲートを含む量子回路を用いて、汎用量子コンピュータを実施することができる。そのような回路は、「クリフォード+T回路」と呼ぶことができる。
【0037】
[0030] 量子コンピュータに対する1つの課題は、(例えば、他のキュービットともつれた)動作可能な状態でキュービットを作成および維持することが困難であることである。量子回路の精度は、キュービットの精度および量子回路のSPAMエラーに依拠する。しかしながら、キュービットは本質的にアナログデバイスであり、周囲環境または量子ゲートの動作のいずれからのノイズにも感受性が高い。キュービットがノイズの外乱に起因してデコヒーレントになると、キュービットの計算が失われ、回復することができない。既存の量子コンピューティングシステムは、限られた数のキュービットを準備し、もつれさせ、もつれがノイズによって破壊される前にこれらのキュービットに対する限られた数の動作を実行することしかできない。
【0038】
[0031] キュービットの感受性特性に起因して、量子ゲートの総合忠実度は、量子回路の重要な性能インジケータである。本明細書において用いられるとき、量子ゲートの総合忠実度または総合非忠実度とは、それぞれ量子ゲートの結果の総数に対する正しい結果または誤った結果の比率を指す。量子ゲートの総合忠実度は、2つの寄与源:量子ゲートの適用によって生じるキュービットのデコヒーレンス、および量子ゲートの動作(例えば、準備、較正または測定)(「状態準備および測定エラー」または「SPAMエラー」と呼ばれる)を有することができる。例えば、キュービットのデコヒーレンスは、量子ゲートをキュービットに適用した予期されないおよび望ましくない結果であり得るのに対し、SPAMエラーは、キュービットのデコヒーレンスを生じることなく総合非忠実度に寄与し得る。これらの2つの寄与源は重複する原因を有し得るが、量子コンピュータの開発は、キュービットのデコヒーレンスからの寄与に、より焦点を当てている。なぜなら、キュービットのデコヒーレンスは量子回路のハードウェアの性能を反映するためである。
【0039】
[0032] 本明細書において用いられるとき、ベンチマーキングとは、1つまたは複数の量子ゲートを含む量子コンピューティングシステムの忠実度を評価するプロシージャまたはプロセスを指す。ベンチマーク結果に基づいて、忠実度を増大させるために、量子エラー補正を量子コンピューティングシステムに適用することができる。例えば、超伝導キュービット(例えば、ジョセフソン接合を用いるトラズモンキュービット)に基づいて構築された量子回路について、量子回路の量子特性は、電子のクーパー対(例えば、超伝導金属における束縛電子対)の特性からのものである。クーパー対は、量子状態が巨視的電気特性を表すためにボース-アインシュタイン分布に従うボースである。巨視的規模で、超伝導キュービットデバイスの量子状態は、超伝導キュービットデバイスの電気特性(例えば、電荷、位相または電流束)によって表すことができ、超伝導キュービットデバイスに印加される電磁信号(例えば、振動子回路によって生成されるマイクロ波パルス)によって変更または制御することができる。特定の周波数を有する電磁信号は、異なるエネルギーレベル間(例えば、グラウンド状態と励起状態との間)で超伝導キュービットをジャンプさせることができる。電磁信号を調整し(例えば、電磁信号の周波数、振幅または波形を変更する)、超伝導キュービットのパラメータ(例えば、トラズモンキュービットのキャパシタンス)を調整することによって、量子回路について量子エラー補正を行うことができる。
【0040】
[0033] 量子回路の忠実度をチェックする1つの方式は、量子回路のハードウェア構成要素上で実施されるキュービットに対するユニタリ動作を適用し、ユニタリ動作を適用した後のキュービットを測定して、キュービットが依然として同じ量子状態にあるか否かを判断することである。キュービットの量子状態が変化する場合、キュービットのデコヒーレンスに起因して、またはキュービットに対し動作する量子ゲートのSPAMエラーに起因して、量子回路において非忠実性エラーが生じたことを示す。いくつかの実施形態では、上記のユニタリ動作は、パウリゲートまたはクリフォードゲートが可逆であるため、これらによって実施することができる。例えば、ユニタリゲートは、パウリゲート(例えば、X)、および直列に接続されたパウリゲートのエルミート随伴(例えば、X†)として実施することができる。
【0041】
[0034] 量子回路のための既存のベンチマーク技法は、特定のタイプの量子ゲートにのみ適用可能であるか、またはキュービットデコヒーレンスからの寄与された(例えば、SPAMエラーによって生じたものでない)非忠実性を特定することができない。例えば、クリフォード群ベースのランダム化されたベンチマーキング技法を用いてクリフォードゲートをベンチマーキングすることができる。ランダム化されたベンチマーク技法は、クリフォード群からm(mは整数)個のクリフォードゲートU1、U2、...、Umをランダムに選択し、クリフォード群の使用時にm個のクリフォードゲートを連結することによってゲートU=U1・U2・...・Umを形成し、反転ゲート
【0042】
【数15】
を形成することができる。例えば、UおよびU
+は、量子回路の対応するハードウェアを組み立てることによって構築することができる。次に、ゲートUおよびU
+を1つまたは複数のグラウンド状態キュービット(例えば、|0>)に適用し、その後、結果として得られるキュービットを測定することができる。例えば、グラウンド状態キュービットに対するUおよびU
+の適用は、U
+・U|0>であり得る。m個のクリフォードゲートのランダム選択を繰り返すことによって、m個のユニタリゲートの生成および適用、ならびに結果として得られるキュービットの測定値、クリフォード群内の量子ゲートの忠実性を決定することができる。そのような繰り返しがmの多くの値にわたって実行される場合、クリフォードゲートの忠実性とmの値との間の関係を(例えば、当てはめによって)決定することができる。例えば、そのような関係を指数関数的減衰に当てはめることができる場合、減衰率を、クリフォード群における量子ゲートの平均忠実度の測度として用いることができる。しかしながら、クリフォード群ベースのランダム化されたベンチマーキング技法は、他のタイプの量子ゲートに用いることができない。いくつかの場合、量子回路において実施される量子ゲートは、クリフォードゲートの組み合わせによって生成することができない非クリフォード量子ゲート(例えば、単一の物理的デバイスとして実施される)を含むことができる。これらの事例においてクリフォード群ベースのランダム化されたベンチマーキング技法が用いられる場合、量子回路のコンパイル性能は損失を被る可能性がある。
【0043】
[0035] 別の例として、量子プロセストモグラフィ(QPT)技法を、非クリフォード量子ゲートのベンチマーキングのために用いることができる。特定の量子コンピューティングシステムの場合、そのキュービットはヒルベルト空間を形成することができる。QPT技法は、ヒルベルト空間にわたる入力状態のセットを準備し、ユニタリゲートを入力状態の各々に適用することができる。ユニタリゲートの出力に基づいて、各入力状態に対応する出力密度行列を再構築することができる。次に、入力状態および出力密度行列に基づいて、入力状態と出力との間のマッピングを表すプロセス行列を(例えば最大尤度推定により)決定することができる。プロセス行列と、ユニタリゲートを表す行列との差を用いて、非クリフォード量子ゲートの忠実度を表すことができる。しかしながら、QPT技法は、キュービットのデコヒーレンスが寄与する非忠実性および非クリフォード量子ゲートのSPAMエラーが寄与する非忠実性を区別することができない。
【0044】
[0036] 更に別の例において、交差エントロピーベンチマーキング(XEB)技法を、フェルミオンシミュレーション(「fSim」)量子ゲートのベンチマーキングのために用いることができる。XEB技法は、fSim量子ゲートと、単一のキュービットに対し動作する或る特定のタイプの量子ゲート(「単一キュービットゲート」と呼ばれる)とを含む一連の量子ゲートをランダムに生成し、fSim量子ゲートおよび単一キュービットゲートをサイクルごとにインタリーブすることができる。シミューレーションとの比較により、一連の量子ゲートの交差エントロピーを計算することができ、これに基づいて忠実度を決定することができる。しかしながら、XEB技法はfSimタイプの量子ゲートにのみ適用可能であり、生成された一連の量子ゲートにおける全てのfSim量子ゲートについて平均忠実度を決定することしかできない。すなわち、XEB技法は、単一のfSim量子ゲートの忠実度を決定することができない。
【0045】
[0037] 本開示は、「完全にランダム化されたベンチマーキング」と呼ばれる技法を用いて量子回路をベンチマーキングするための技術的解決策を提供する。完全にランダム化されたベンチマーク技法を用いて、任意のタイプの量子ゲート(例えば、限定ではないがクリフォードゲートを含む)をベンチマーキングし、量子ゲートの動作(例えば、準備、較正または測定)からの寄与と切り離して、キュービットデコヒーレンスが寄与する量子ゲート非忠実性を特定することができる。完全にランダム化されたベンチマーキングの結果に基づいて、量子回路に対応するハードウェアは、より良好な性能を達成するように、(例えば、物理的パラメータを調整することによって)補正され得る。提供される方法、装置およびシステムは、ベンチマーキングのための任意のタイプの量子コンピューティングシステムに適用可能であり、したがって、コンパイルにおける普遍性および利点が向上する。
【0046】
[0038] 本開示の態様は、システム、装置、方法および非一時的コンピュータ可読媒体を含む、量子回路の完全にランダム化されたベンチマーキングに関係することができる。説明を容易にするために、方法の態様がシステム、装置および非一時的コンピュータ可読媒体に等しく適用されることを理解した上で、方法が以下に説明される。例えば、そのような方法のいくつかの態様は、システム、装置、または非一時的コンピュータ可読媒体に記憶されたプログラムコードもしくはコンピュータ命令によって実施することができる。最も広い意味において、方法は、いかなる特定の物理的または電子機器にも限定されず、多くの異なる機器を用いて達成され得る。
【0047】
[0039] 本発明のいくつかの実施形態によれば、量子回路を動作させる(例えば、ベンチマーキング、計算のためのキュービットの制御、コンパイルのためのキュービットの制御、またはキュービットの任意の操作を行う)ための方法は、コンピュータ(例えば、従来のコンピュータ)に、量子ゲートのパラメータに基づいてm1(m1は整数)個のランダムユニタリ量子ゲートの表現(例えば、行列またはテンソル)を生成させることを含むことができる。ユニタリ量子ゲートは、キュービットに対しユニタリ変換を実行することができる。キュービットは、量子状態として偏向を有する(例えば、レーザにおける)光子、量子状態としてスピンを有する(例えば、電磁場内にトラップされた)電子もしくはイオン、量子状態として電荷、電流束もしくは位相を有する(例えば、超伝導量子システムにおける)ジョセフソン接合、量子状態としてドットスピンを有する(例えば、半導体構造における)量子ドット、トポロジカル量子システム、または2つ以上の量子状態を提供することができる任意の他のシステムを用いて物理的に実施することができる。量子ゲートは、レーザパルス、電磁波(例えば、マイクロ波パルス)、電磁場を生成することが可能なハードウェアデバイス、またはキュービットの量子状態を変更、維持もしくは制御するための任意の手段として実施することができる。いくつかの実施形態では、キュービットは、超伝導キュービットとして実施することができ、量子ゲートは、電磁信号(例えば、外部振動子によって生成されるマイクロ波パルス信号)として実施することができる。そのような場合、量子ゲートのパラメータは、電磁信号の長さ、振幅または形状のうちの少なくとも1つを含むことができる。
【0048】
[0040] いくつかの実施形態では、m1個のランダムユニタリ量子ゲートの表現を生成するために、方法は、コンピュータに、ハール測度に従ってm1個のランダムユニタリ量子ゲートの表現を生成させることを含むことができる。本開示におけるハール測度は、全ての量子状態にわたるまたは全てのユニタリ演算子にわたる一様な確率分布を指す。例えば、コンピュータは、ハール測度に従うユニタリ行列の群からユニタリ行列をm1回ランダムにサンプリングして、m1個のランダムユニタリ量子ゲートを生成することができる。いくつかの実施形態では、m1個のランダムユニタリ量子ゲートの表現を生成するために、方法は、コンピュータに、一様確率分布に従ってユニタリ演算子の空間を疑似乱数サンプリングすることによって、m1個のランダムユニタリ量子ゲートの表現を生成させることを含むことができる。生成されたm1個のランダムなユニタリ量子ゲートは、クリフォードゲートまたは任意の他のタイプの量子ゲートに限定されないことに留意されたい。
【0049】
[0041] 本開示のいくつかの実施形態では、量子回路を動作させるための方法は、コンピュータに、第1の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に量子ゲートを挿入し、量子ゲートおよび第1の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって(例えば、その端部に連結することによって)、第1の量子ゲートシーケンスの表現(例えば、行列またはテンソル)を決定させることを含むこともできる。本開示における量子ゲートシーケンスは、連続した順序で配置された量子ゲートのセットを指す。第1の量子ゲートシーケンスは、交互の方式またはインタリーブ方式を形成するように、m1個のランダムユニタリ量子ゲートと、m1個のランダムユニタリ量子ゲートの各々の後に配置されたm1個の挿入された量子ゲートとを含み、ここで、第1の量子ゲートシーケンスは合計で2m1+1個の量子ゲート(付加された第1の復元量子ゲートを含む)を含む。
【0050】
[0042] 本明細書において用いられるとき、量子ゲートに対応する復元量子ゲートは、量子ゲートによってキュービットに対し行われる変換を反転するための変換を、キュービットに行うことができる。キュービットに対し、量子ゲート、続いてその復元量子ゲートを適用することの正味の効果は、キュービットに対し恒等演算子(例えば、恒等パウリゲートI)を適用することと等価である。従来の論理ゲートと異なり、量子ゲートは、常に、その可逆特性に起因して復元量子ゲートを有する。例えば、量子ゲートが0.6|0>+0.8|1>から0.8|0>+0.6|1>にキュービットを変更することができる場合、量子ゲートの復元量子ゲートは、キュービットを0.8|0>+0.6|1>から0.6|0>+0.8|1>に戻して変更することができる。いくつかの実施形態では、第1の量子ゲートシーケンスにおける第1の(2m1-1)個の量子ゲートは、(例えば、(2m1-1)個の行列の積行列として)組み合わされた量子ゲートとみなすことができ、復元量子ゲートは、組み合わされた量子ゲートに対応する復元量子ゲートであり得る。
【0051】
[0043] 例として、
図2は、本開示のいくつかの実施形態による、例示的な量子ゲートシーケンス200を示す図である。量子ゲートシーケンス200は、上記で説明したような第1の量子ゲートシーケンスであり得る。
図2に示すように、量子ゲートシーケンス200は、量子ゲートGのパラメータに基づいて生成されたm
1個のランダムユニタリ量子ゲートU
1、U
2、...、U
m1を含む。また、量子ゲートシーケンス200は、m
1個のランダムユニタリ量子ゲートの各近傍のユニタリ量子ゲートU
iおよびU
i+1(ここで、i=1,2,...,m
1)間に量子ゲートGを挿入し、m
1個のランダムユニタリ量子ゲートに量子ゲートGおよび第1の復元量子ゲートR
1を付加する(例えばU
m1に連結する)ことによって生成される。R
1は、組み合わされた量子ゲートU
1・G・U
2・...・G・U
m1・Gの復元量子ゲートである。効果的には、量子ゲートシーケンス200は、恒等演算子に等しく、すなわち、U
1・G・U
2・...・G・U
m1・G・R
1=Iである。R
1は、上記で説明した第1の復元量子ゲートであり得る。
図2において、量子ゲートシーケンス200は、入力キュービットQ
i(例えば、|0>)に適用され、出力キュービットQ
Oを出力する。量子ゲートシーケンス200の量子ゲートは、入力キュービットQ
iに順序正しく適用することができ、各量子ゲートの出力キュービットは、後続の量子ゲートの入力キュービットである。プロセスに非忠実性がない場合、量子ゲートシーケンス200において全ての量子ゲートを適用した後、Q
iの量子状態はQ
Oと同じであり得る。
【0052】
[0044] 本開示のいくつかの実施形態によれば、量子回路を動作させるための方法は、コンピュータに、第2の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって(例えば、その端部に連結することによって)、第2の量子ゲートシーケンスの表現(例えば、行列またはテンソル)を決定させることを含むこともできる。第2の復元量子ゲートは、キュービットに対し第2の量子ゲートシーケンスによって実行される変換を反転させるための変換を、キュービットに行うことができる。キュービットに対し、第2の量子ゲートシーケンス、続いて第2の復元量子ゲートを適用することの正味の効果は、キュービットに対し恒等演算子(例えば、恒等パウリゲートI)を適用することと等価である。
【0053】
[0045] 例として、
図3は、本開示のいくつかの実施形態による、例示的な量子ゲートシーケンス300を示す図である。量子ゲートシーケンス300は、上記で説明したような第2の量子ゲートシーケンスであり得る。
図3に示すように、量子ゲートシーケンス300は、n
1個のランダムユニタリ量子ゲートU
1’、U
2’、...、U
n1’を含み、ここで、n
1は整数である。例えば、n
1は、m
1と同じ整数であっても異なる整数であってもよい。いくつかの実施形態では、U
i’(i=1,2,...n
1)は、
図2に関連して示し、説明したユニタリ量子ゲートU
1、U
2、...、U
m1と同じであっても異なっていてもよい。また、量子ゲートシーケンス300は、n
1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートR
1’をn
1個のランダムユニタリ量子ゲートに付加する(例えば、U
n1に連結する)ことによって生成される。R
1’は、組み合わされた量子ゲートU
1’・U
2’・...・U
n1’の復元量子ゲートである。R
1’は、上記で説明したような第1の復元量子ゲートとすることができる。効果的には、量子ゲートシーケンス300は恒等演算子に等しく、すなわち、U
1’・U
2’・...・U
n1’・R
1’=Iである。
図3において、量子ゲートシーケンス300は、入力キュービットQ
i(例えば、|0>)に適用され、出力キュービットQ’
Oを出力する。量子ゲートシーケンス300の量子ゲートは、入力キュービットQ
iに順序正しく適用することができ、各量子ゲートの出力キュービットは、後続の量子ゲートの入力キュービットである。プロセスに非忠実性がない場合、量子ゲートシーケンス300において全ての量子ゲートを適用した後、Q
iの量子状態は、Q’
Oと同じであり得る。
【0054】
[0046] 本開示のいくつかの実施形態によれば、量子回路を動作させるための方法は、コンピュータに、第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを量子コンピューティングデバイス宛に送信させることを更に含むことができる。いくつかの実施形態では、コンピュータは、有線または無線接続を介して、量子コンピューティングデバイス宛にハードウェア命令(例えば、情報を搬送するために符号化された電子信号として表される)を送信することができる。いくつかの実施形態では、量子コンピューティングデバイスは、提供されたハードウェア命令に従って、キュービットを記憶し、キュービットにその量子状態に対し動作するように量子ゲートを適用し、量子ゲートを適用した後にキュービットを測定するように構成された物理的デバイスとすることができる。いくつかの実施形態では、コンピュータは、表現(例えば、行列またはテンソル)をハードウェア命令にコード化またはコンパイルすることができる。
【0055】
[0047] 例えば、量子コンピューティングデバイスは、1つまたは複数の超伝導キュービット(例えば、トラズモンキュービット)を記憶し、外部電磁信号発振器に結合されて、超伝導キュービットの量子状態を変更するためのマイクロ波パルス信号を受信する超伝導量子コンピューティングデバイスとすることができる。例として、
図1を参照すると、そのような量子コンピューティングデバイスにおける超伝導キュービットは、ブロッホ球100において表されるキュービット|ψ>として表すことができる。コンピュータ(例えば、従来のコンピュータ)が、パウリXゲートに対応するハードウェア命令を量子コンピューティングデバイスに送信する場合、量子コンピューティングデバイスは、ハードウェア命令に従って電磁信号発振器にマイクロ波パルス信号を生成させることができ、マイクロ波パルス信号は、キュービット|ψ>に、ブロッホ球100のx軸の周りを180°フリップさせることができる。
【0056】
[0048] いくつかの実施形態では、量子コンピューティングデバイスは、ハードウェア命令を送信するコンピュータ(例えば、従来のコンピュータ)と独立することができる。いくつかの実施形態では、量子コンピューティングデバイスは、コンピュータの一体部分(例えば、従来のコンピューティングデバイスおよび量子コンピューティングデバイスを一体化したコンピュータシステム)であり得る。
【0057】
[0049] 本開示のいくつかの実施形態によれば、量子回路を動作させるための方法は更に、コンピュータに、量子コンピューティングデバイスから、量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに第1の量子ゲートシーケンスを適用した後の、キュービット(例えば、超伝導キュービット)の第1の数の測定値と、量子コンピューティングデバイスによって第2の数の回数にわたってキュービットに第2の量子ゲートシーケンスを適用した後の、キュービットの第2の数の測定値とを受信させることを含むことができる。例えば、第1の数および第2の数は同じ数であっても異なる数であってもよい。いくつかの実施形態では、コンピュータは、有線または無線接続を介して、量子コンピューティングデバイスから第1の数の測定値および第2の数の測定値(例えば、共に情報を搬送するために符号化された電子信号として表される)を受信することができる。
【0058】
[0050] 例として、
図2を参照すると、量子コンピューティングデバイスは、入力キュービットQ
iに対するハードウェア命令に従って、第1の量子ゲートシーケンス(例えば、量子ゲートシーケンス200)の各量子ゲートをN回(Nは整数)適用することができる。第1の量子ゲートシーケンスの適用の度に、各量子ゲートの出力キュービット(例えば、U
1、G、U
2、G、...、G、U
m1、G)が、後続の量子ゲートの入力キュービットとなる。第1の量子ゲートシーケンスの適用後、量子コンピューティングデバイスは出力キュービットQ
Oを測定し、測定値(例えば、Q
Oの確定状態)を得ることができる。測定後、量子コンピューティングデバイスは、入力キュービットQ
iを再準備し、これに量子ゲートシーケンス200を適用し、出力キュービットQ
Oを測定して新たな測定値を再び取得することができる。量子コンピューティングデバイスは、そのようなプロセスをN回反復し、最終的に、Q
OのN個の測定値を得ることができる。反復において非忠実性が生じない場合、その反復のQ
Oの測定は、入力キュービットQ
iのものと同じ量子状態を有するはずである。反復においてエラーが生じる場合、その反復のQ
Oの測定は、入力キュービットQ
iのものと異なる量子状態を有するはずである。
【0059】
[0051] 例として、
図3を参照すると、量子コンピューティングデバイスは、入力キュービットQ
iに対するハードウェア命令に従って、第2の量子ゲートシーケンス(例えば、量子ゲートシーケンス300)の各量子ゲートをM回(Mは、Nと同じかまたは異なる整数)適用することができる。第2の量子ゲートシーケンスの適用の度に、各量子ゲートの出力キュービット(例えば、U
1、U
2、...、U
m1)が、後続の量子ゲートの入力キュービットとなる。第2の量子ゲートシーケンスの適用後、量子コンピューティングデバイスは出力キュービットQ’
Oを測定し、測定値(例えば、Q’
Oの確定状態)を得ることができる。測定後、量子コンピューティングデバイスは、入力キュービットQ
iを再準備し、これに量子ゲートシーケンス300を適用し、出力キュービットQ’
Oを測定して新たな測定値を再び取得することができる。量子コンピューティングデバイスは、そのようなプロセスをN回反復し、最終的にQ’
OのN個の測定値を得ることができる。反復において非忠実性が生じない場合、その反復のQ’
Oの測定は、入力キュービットQ
iのものと同じ量子状態を有するはずである。反復においてエラーが生じる場合、その反復のQ’
Oの測定は、入力キュービットQ
iのものと異なる量子状態を有するはずである。
【0060】
[0052] 本開示のいくつかの実施形態によれば、量子回路を動作させるための方法は、コンピュータに更に、キュービットの量子状態がキュービットの第1の数の測定値にわたって変化しない第1の確率と、キュービットの量子状態がキュービットの第1の数の測定値にわたって変化しない第2の確率とに基づいて量子ゲートの忠実度値を決定させることができる。本開示における忠実度値は、量子ゲートの忠実度を表す値を含むことができる。例えば、忠実度値は、パーセンテージ値(例えば、確率自体)とすることができる。いくつかの実施形態では、コンピュータは、第2の確率に対する第1の確率の比率として量子ゲートの忠実度値を決定することができる。
【0061】
[0053] 例として、コンピュータがキュービットの100個の第1の測定値を受信し、そのうちの96個が、キュービットの量子状態が、第1の量子ゲートシーケンス(例えば、
図2における量子ゲートシーケンス200)をキュービット(例えば、
図2におけるQ
i)に100回適用した後に変化していないことを示す場合、第1の確率は96%であると決定することができる。コンピュータがキュービットの200個の第2の測定値を受信し、そのうちの196個が、キュービットの量子状態が、第2の量子ゲートシーケンス(例えば、
図2における量子ゲートシーケンス300)をキュービット(例えば、
図3におけるQ
i)に200回適用した後に変化していないことを示す場合、第2の確率は98%であると決定することができる。第1の確率96%および第2の確率98%に基づいて、量子ゲート(例えば、
図2におけるG)の忠実度値は97.96%=96%/98%であり得る。
【0062】
[0054] 本開示のいくつかの実施形態によれば、忠実度値を決定した後、量子回路を動作させるための方法は、コンピュータに、量子ゲートの忠実度値に基づいて量子ゲートのパラメータを更に更新させることができる。いくつかの実施形態では、キュービットが超伝導キュービットであること、量子ゲートが電磁信号(例えば、マイクロ波パルス信号)であること、および量子ゲートのパラメータが、電磁信号の長さ、振幅、または形状のうちの少なくとも1つであることの判断に基づいて、コンピュータは、電磁信号の長さ、振幅または形状のうちの少なくとも1つを変更することによってパラメータを更新することができる。いくつかの実施形態では、コンピュータは、量子ゲートが実際に新たなパラメータを適用される場合に忠実度値を増大させることができるように、パラメータを更新して量子ゲートを最適化することができる。
【0063】
[0055] 本開示のいくつかの実施形態によれば、量子回路を動作させるための方法は、異なる長さの生成されたランダムユニタリ量子ゲートを有する異なる量子ゲートシーケンスを用いて忠実度値を決定するための動作を更に含むことができる。いくつかの実施形態では、方法は、量子ゲートのパラメータに基づいて、コンピュータに、m2個(m2はm1と異なる整数である)のランダムユニタリ量子ゲートの表現(例えば、行列またはテンソル)を生成させることができる。方法は、コンピュータに更に、第3の量子ゲートシーケンスが恒等演算子と等価になるように、m2個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に量子ゲートを挿入し、量子ゲートおよび第3の復元量子ゲートをm2個のランダムユニタリ量子ゲートに付加することによって、第3の量子ゲートシーケンスの表現(例えば、行列またはテンソル)を決定させることができる。
【0064】
[0056] いくつかの実施形態では、m2個のランダムユニタリ量子ゲートの表現を生成するために、方法は、コンピュータに、ハール測度に従ってm2個のランダムユニタリ量子ゲートの表現を生成させることを含むことができる。例えば、コンピュータは、ハール測度に従うユニタリ行列の群からユニタリ行列をm2回ランダムにサンプリングして、m2個のランダムユニタリ量子ゲートを生成することができる。いくつかの実施形態では、m2個のランダムユニタリ量子ゲートの表現を生成するために、方法は、コンピュータに、一様確率分布に従ってユニタリ演算子の空間を疑似乱数サンプリングすることによって、m2個のランダムユニタリ量子ゲートの表現を生成させることを含むことができる。生成されたm2個のランダムなユニタリ量子ゲートは、クリフォードゲートまたは任意の他のタイプの量子ゲートに限定されないことに留意されたい。
【0065】
[0057] 例として、
図4は、本開示のいくつかの実施形態による、例示的な量子ゲートシーケンス400を示す図である。量子ゲートシーケンス400は、上記で説明したような第3の量子ゲートシーケンスであり得る。
図4に示すように、量子ゲートシーケンス400は、量子ゲートGのパラメータに基づいて生成されたm
2個のランダムユニタリ量子ゲートV
1、V、...、V
m2を含む。また、量子ゲートシーケンス400は、m
2個のランダムユニタリ量子ゲートの各近傍のユニタリ量子ゲートV
iおよびV
i+1(ここで、i=1,2,...,m
2)間に量子ゲートGを挿入し、m
2個のランダムユニタリ量子ゲートに量子ゲートGおよび第3の復元量子ゲートR
2を付加する(例えばV
m2に連結する)ことによって生成される。R
2は、組み合わされた量子ゲートV
1・G・V
2・...・G・V
m2・Gの復元量子ゲートである。効果的には、量子ゲートシーケンス400は恒等演算子に等しく、すなわち、V
1・G・V
2・...・G・V
m2・G・R
2=Iである。
図4において、量子ゲートシーケンス400は、入力キュービットQ
iに適用され、出力キュービットS
Oを出力する。量子ゲートシーケンス400の量子ゲートは、入力キュービットQ
iに順序正しく適用することができ、各量子ゲートの出力キュービットは、後続の量子ゲートの入力キュービットである。プロセスに非忠実性がない場合、量子ゲートシーケンス400において全ての量子ゲートを適用した後、Q
iの量子状態はS
Oと同じであり得る。
【0066】
[0058] いくつかの実施形態では、方法は、コンピュータに更に、第4の量子ゲートシーケンスが恒等演算子と等価になるように、m2個のランダムユニタリ量子ゲートを連結し、第4の復元量子ゲートをm2個のランダムユニタリ量子ゲートに付加することによって、第4の量子ゲートシーケンスの表現(例えば、行列またはテンソル)を決定させることができる。
【0067】
[0059] 例として、
図5は、本開示のいくつかの実施形態による、例示的な量子ゲートシーケンス500を示す図である。量子ゲートシーケンス500は、上記で説明したような第4の量子ゲートシーケンスであり得る。
図5に示すように、量子ゲートシーケンス500は、n
2個のランダムユニタリ量子ゲートV
1’、V
2’、...、V
n2’を含み、ここで、n
2は整数である。いくつかの実施形態では、n
2は、m
2と同じ整数であっても異なる整数であってもよい。いくつかの実施形態では、V
i’(i=1,2,...n
2)は、
図4に関連して示し、説明したユニタリ量子ゲートV
1、V、...、V
m2と同じであっても異なっていてもよい。また、量子ゲートシーケンス500は、n
2個のランダムユニタリ量子ゲートV
1’、V
2’、...、V
n2’を連結し、第4の復元量子ゲートR
2’をn
2個のランダムユニタリ量子ゲートに付加することによって(例えば、V
n2に連結することによって)生成される。R
2’は、組み合わされた量子ゲートV
1’・V
1’・...・V
n2’の復元量子ゲートである。効果的には、量子ゲートシーケンス500は恒等演算子に等しく、すなわち、V
1’・V
2’・...・V
n2’・R
2=Iである。
図5において、量子ゲートシーケンス500は、入力キュービットQ
iに適用され、出力キュービットS’
Oを出力する。量子ゲートシーケンス500の量子ゲートは、入力キュービットQ
iに順序正しく適用することができ、各量子ゲートの出力キュービットは、後続の量子ゲートの入力キュービットである。プロセスに非忠実性がない場合、量子ゲートシーケンス500において全ての量子ゲートを適用した後、Q
iの量子状態は、S’
Oと同じであり得る。
【0068】
[0060] いくつかの実施形態では、方法は、コンピュータに更に、第3の量子ゲートシーケンスの表現に対応するハードウェア命令と、第4の量子ゲートシーケンスの表現に対応するハードウェア命令とを量子コンピューティングデバイス宛に送信させることができる。その後、方法は更に、コンピュータに、量子コンピューティングデバイスから、量子コンピューティングデバイスによって第3の数の回数にわたってキュービットに第3の量子ゲートシーケンスを適用した後の、キュービットの第3の数の測定値と、量子コンピューティングデバイスによって第4の数の回数にわたってキュービットに第4の量子ゲートシーケンスを適用した後の、キュービットの第4の数の測定値とを受信させることができる。例えば、第1の数および第3の数は同じ数であっても異なる数であってもよい。別の例において、第3の数および第4の数は同じ数であっても異なる数であってもよい。いくつかの実施形態では、コンピュータは、有線または無線接続を介して、量子コンピューティングデバイスから第3の数の測定値(例えば、情報を搬送するために符号化された電子信号として表される)を受信することができる。いくつかの実施形態では、量子コンピューティングデバイスは、それぞれ第1の数の測定値および第2の数の測定値を決定することに類似した動作において第3の数の測定値および第4の数の測定値を決定することができ、当該動作については既に説明されており、以後繰り返されない。
【0069】
[0061] キュービットの第3の数の測定値および第4の数の測定値を受信した後、方法は、コンピュータに更に、キュービットの量子状態がキュービットの第3の数の測定値にわたって変化しない第3の確率と、キュービットの量子状態がキュービットの第4の数の測定値にわたって変化しない第4の確率とを決定させることができる。いくつかの実施形態では、コンピュータは、それぞれ第1の確率および第2の確率を決定することに類似した動作によって第3の確率および第4の確率を決定することができ、当該動作については既に説明されており、以後繰り返されない。
【0070】
[0062] 第3の確率および第4の確率を決定した後、方法は更に、コンピュータに、第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定させることができる。いくつかの実施形態では、平均忠実度値を決定するために、コンピュータは、第1の確率および第3の確率の平均としての第1の平均確率と、第2の確率および第4の確率の平均としての第2の平均確率とを決定し、第2の平均確率に対する第1の平均確率の比率として平均忠実度値を決定することができる。
【0071】
[0063] 例として、コンピュータがキュービットの100個の第1の測定値を受信し、そのうちの96個が、キュービットの量子状態が、第1の量子ゲートシーケンス(例えば、
図2における量子ゲートシーケンス200)をキュービット(例えば、
図2におけるQ
i)に100回適用した後に変化していないことを示す場合、第1の確率は96%であると決定することができる。コンピュータがキュービットの200個の第2の測定値を受信し、そのうちの196個が、キュービットの量子状態が、第2の量子ゲートシーケンス(例えば、
図2における量子ゲートシーケンス300)をキュービット(例えば、
図3におけるQ
i)に200回適用した後に変化していないことを示す場合、第2の確率は98%であると決定することができる。コンピュータがキュービットの300個の第3の測定値を受信し、そのうちの285個が、キュービットの量子状態が、第3の量子ゲートシーケンス(例えば、
図4における量子ゲートシーケンス400)をキュービット(例えば、
図4におけるQ
i)に300回適用した後に変化していないことを示す場合、第3の確率は95%であると決定することができる。コンピュータがキュービットの400個の第4の測定値を受信し、そのうちの388個が、キュービットの量子状態が、第4の量子ゲートシーケンス(例えば、
図5における量子ゲートシーケンス500)をキュービット(例えば、
図5におけるQ
i)に388回適用した後に変化していないことを示す場合、第4の確率は97%であると決定することができる。第1の確率96%、第2の確率98%、第3の確率95%および第4の確率97%に基づいて、コンピュータは、第1の平均確率を95.5%=(96%+95%)/2として、第2の平均確率を97.5%=(98%+97%)/2であると決定することができる。次に、コンピュータは、量子ゲートの忠実度値(例えば、
図2および
図4におけるG)を、97.95%=95.5%/97.5%であると決定することができる。
【0072】
[0064] いくつかの実施形態では、コンピュータは、指数関数的減衰回帰を用いて量子ゲートの平均忠実度値を決定することができる。コンピュータは、m1およびm2を独立変数として用い、第1の確率および第3の確率を応答変数として用いて、第1の指数関数的減衰回帰を実行することによって、第1の忠実度値を決定することができる。次に、コンピュータは、m1およびm2を独立変数として用い、第2の確率および第4の確率を応答変数として用いて、第2の指数関数的減衰回帰を実行することによって、第2の忠実度値を決定することができる。コンピュータは更に、第2の忠実度値に対する第1の忠実度値の比率として平均忠実度値を決定することができる。
【0073】
[0065] 例として、コンピュータは、式(1)を当てはめることによって、第1の指数関数的減衰回帰を実行することができる。
p(m)=Aum+B 式(1)
【0074】
[0066] 式(1)において、mは、量子ゲートシーケンスにおけるランダム量子ゲートの数(例えば、第1の量子ゲートシーケンスの場合m
1+1、第3の量子ゲートシーケンスの場合m
2+1)を表し、p(m)は、m個(例えば、m
1+1またはm
2+1)のランダム量子ゲートを有する量子ゲートシーケンス(例えば、
図2における量子ゲートシーケンス200または
図4における量子ゲートシーケンス400)による複数の測定(例えば、第1の数の測定または第3の数の測定)下で、キュービットの量子状態(例えば、
図2または
図4におけるQ
i)が変化しない確率(第1の確率または第3の確率)を表す。量uは、量子ゲートシーケンスの忠実度値を全体として表す。パラメータAおよびBは、SPAMエラーの情報を捕捉することができる。mおよびp(m)の複数の値を用いて式(1)を当てはめた後、コンピュータは、量uの値を決定することができる。
【0075】
[0067] 例として、コンピュータは、式(2)を当てはめることによって、第1の指数関数的減衰回帰を実行することができる。
p’(m)=A’vm+B’ 式(2)
【0076】
[0068] 式(2)において、mは、式(1)におけるmと同じ意味を有する。p’(m)は、m個(例えば、m
1+1またはm
2+1)のランダム量子ゲートを有する量子ゲートシーケンス(例えば、
図3における量子ゲートシーケンス300または
図5における量子ゲートシーケンス500)による複数の測定(例えば、第2の数の測定または第4の数の測定)下で、キュービットの量子状態(例えば、
図3または
図5におけるQ
i)が変化しない確率(第2の確率または第4の確率)を表す。量vは、量子ゲートシーケンスの忠実度値を全体として表す。パラメータA’およびB’は、SPAMエラーの情報を捕捉することができる。Mおよびp’(m)の複数の値を用いて式(2)を当てはめた後、コンピュータは、量vの値を決定することができる。量uおよびvを決定した後、コンピュータは、平均忠実度値を
【数16】
であると更に決定することができる。
【0077】
[0069] いくつかの実施形態では、量子ゲートの平均忠実度値を決定した後、量子回路を動作させるための方法は、コンピュータに、量子ゲートの平均忠実度値に基づいて量子ゲートのパラメータを更に更新させることができる。
【0078】
[0070] 本開示のいくつかの実施形態によれば、
図6は、本開示の実施形態による、量子回路を動作させるための例示的なシステム600のブロック図である。いくつかの実施形態では、システム600は、
図1~
図5との関連で説明した量子回路を動作させるための動作を実行するように構成されたコンピュータ(例えば、従来のコンピュータ)を含むことができる。
図6に示すように、システム600は、メモリ604、入力/出力(I/O)モジュール606およびネットワークインターフェースコントローラ(NIC)610と動作可能に接続することができるプロセッサ602を備える。
【0079】
[0071] プロセッサ602が本明細書に記載の命令を実行するとき、システム600は、量子回路をベンチマーキングするための専用マシンになり得る。プロセッサ602は、情報を操作または処理することができる任意の種類の回路であり得る。例えば、プロセッサ602は、任意の数の中央処理装置(すなわち「CPU」)、グラフィックス処理装置(すなわち「GPU」)、ニューラル処理ユニット(「NPU」)、マイクロコントローラユニット(「MCU」)、光プロセッサ、プログラム可能論理コントローラ、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ、知的財産(IP)コア、プログラム可能論理アレイ(PLA)、プログラム可能アレイ論理(PAL)、汎用アレイ論理(GAL)、複合プログラム可能論理デバイス(CPLD)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)、特定用途向け集積回路(ASIC)等の任意の組み合わせを含むことができる。いくつかの実施形態では、プロセッサ602は、単一の論理構成要素としてグループ化されたプロセッサのセット(
図6には示されていない)でもあり得る。
【0080】
[0072] メモリ604は、データ606(例えば、命令のセット、コンピュータコード、中間データ、または出力のためのデータ)を記憶するように構成することができる単一のメモリまたは複数のメモリを含むことができる。メモリ604は、高速ランダムアクセス記憶装置または不揮発性記憶装置を含むことができる。いくつかの実施形態では、メモリ604は、任意の数のランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、光ディスク、磁気ディスク、ハードドライブ、ソリッドステートドライブ、フラッシュドライブ、セキュリティデジタル(SD)カード、メモリスティック、コンパクトフラッシュ(登録商標)(CF)カード等の任意の組み合わせを含むことができる。メモリ604は、単一の論理構成要素としてグループ化されたメモリのグループ(
図6には示されていない)でもあり得る。プロセッサ602は、プログラム命令およびデータ606にアクセスし、プログラム命令を実行してデータ606に対する動作または操作を行うことができる。
図6に示すように、メモリ604は、オペレーティングシステム612およびベンチマーク実行器614を記憶することができる。例えば、ベンチマーク実行器614は、量子回路のベンチマーキングのために
図1~
図5に関連して説明した方法を実施するための命令を含むことができる。
【0081】
[0073] 曖昧さを招くことなく説明を簡単にするために、本開示では、プロセッサ602および他のデータ処理回路をまとめて「データ処理回路」と呼ぶ。データ処理回路は、完全にハードウェアとして、またはソフトウェア、ハードウェアもしくはファームウェアの組み合わせとして実装することができる。加えて、データ処理回路は、単一の独立したモジュールであり得るか、またはシステム600の任意の他の構成要素内に完全にもしくは部分的に組み合わされ得る。
【0082】
[0074] 入力/出力モジュール(I/O)608は、データを記憶し、データベース616から索出することができる。例えば、データベース616は、量子回路を記述するデータ構造および量子ゲートを記述するデータ構造を含むことができる。NIC610は、システム600とネットワーク(例えば、インターネット618、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク等)との間の有線または無線通信を提供することができる。システム600は、NIC610を用いてネットワークを介してデータおよび命令を受信することができ、NIC610を用いてネットワークを介してデータおよび命令を送信することができる。いくつかの実施形態では、NIC610は、無線周波数(RF)モジュール、トランスポンダ、トランシーバ、モデム、ルータ、ゲートウェイ、有線ネットワークアダプタ、無線ネットワークアダプタ、Bluetooth(登録商標)アダプタ、赤外線アダプタ、近距離無線通信(「NFC」)アダプタ、またはセルラネットワークチップの任意の組み合わせを含むことができる。
【0083】
[0075]
図6に示すように、システム600は、量子コンピューティングデバイス620と(例えば、I/O608またはNIC610を介して)通信可能に結合することもできる。いくつかの実施形態では、システム600は、量子コンピューティングデバイス620と独立した従来のコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータまたはタブレットコンピュータ)であり得る。いくつかの実施形態では、システム600は、従来のコンピューティングデバイス(例えば、プロセッサ602、メモリ604、I/O608、NIC610またはデータベース616)と、量子コンピューティングデバイス(例えば、量子コンピューティングデバイス620を含む)を含むことができる。量子コンピューティングデバイス620は、キュービットに対し動作するための任意の数の任意のタイプの量子回路(量子ゲートを含む)と、量子回路を維持およびサポートするための周辺デバイス(例えば、クリオスタット、レーザ発生器、電気振動子)を含むことができる。いくつかの実施形態では、量子コンピューティングデバイス620は、キュービットを準備および記憶するための量子データプレーン、キュービットに対する動作を実行し、結果として得られるキュービットを測定するための制御および測定プレーン、ならびにアルゴリズムまたは測定結果に基づいて動作および測定のシーケンスを決定するための制御プロセッサプレーンとして機能するハードウェア構成要素を含むことができる。システム600が従来のコンピュータであるとき、システム600は、(例えば、NIC610を介した)ネットワークアクセス、(例えば、データベース610を用いた)大規模な記憶、および(例えば、I/O608を介した)ユーザインタラクションに関して量子コンピューティングデバイス620を支援することができる。
【0084】
[0076] 本開示のいくつかの実施形態によれば、
図7は、量子回路(例えば、図示されるような量子回路702)を動作させる(例えば、ベンチマーキング、計算のためのキュービットの制御、コンパイルのためのキュービットの制御、またはキュービットの任意の操作を行う)ための例示的な量子コントローラ722を示す概略図である。量子回路702は、1つまたは複数のキュービットを含むことができる。
図7に示す非限定的な例において、量子回路702は、キュービット704および706を含むことができる。例えば、キュービット704および706はフラクソニウムキュービットであり得る。この例を続けると、キュービット704および706の各々は、キャパシタ(例えば、キャパシタ712または714)およびインダクタ(例えば、インダクタ716または718)によって分路されたジョセフソン接合(例えば、ジョセフソン接合708または710)を用いて実施することができる。インダクタ716および718の各々は、ジョセフソン接合のアレイ(
図7には示されていない)によって実現することができる。キュービット706および706の各々は、バイアス磁束に関して周波数の極小値において動作するように構築することができる。この非限定的な例において、キュービット704および706は、キュービット706および706間で横共振結合(例えば、電荷結合等)を実施するキャパシタ720を用いて結合することができる。そのような結合は、キュービット周波数の位置合わせを必要とする可能性がある。量子回路702が動作していないとき、キュービット704および706は異なる周波数として維持することができる。
【0085】
[0077] いくつかの実施形態では、量子回路702は、キュービット704および706、ならびにそれらの間の結合を含むチップを用いて実現することができる。いくつかの実施形態では、量子回路702は、
図6における量子コンピューティングデバイス620におけるチップとして実施することができる。
【0086】
[0078] いくつかの実施形態では、チップは、量子コントローラ722への1つまたは複数の結合を含むことができる。量子コントローラ722は、デジタルコンピューティングデバイス(例えば、中央処理ユニット、グラフィカル処理ユニット、特定用途向け集積回路、フィールドプログラマブルゲートアレイまたは他の適切なプロセッサを含むコンピューティングデバイス)であり得る。量子コントローラ722は、計算のために(例えば、キュービット704および706を操作することによって)量子回路702を構成するか、計算ゲートを提供するか、または量子回路702から状態情報を読み出すことができる。
【0087】
[0079] 本開示のいくつかの実施形態によれば、量子コントローラ722は、量子回路702の1つまたは複数のキュービット(例えば、キュービット704および706を含む)に対しゲート演算が行われることを可能にすることによって量子回路702を構成することができる。いくつかの実施形態では、量子回路702は、2つのキュービットを共振状態に動かすために1つまたは複数のバイアスドライブを提供することによって構成することができる。量子コントローラ722は、1つもしくは複数のバイアスドライブを回路702に直接提供することができるか、またはバイアスドライブソース(例えば、波形発生器等)に命令を提供し、バイアスドライブソースがバイアスドライブを回路702に提供するようにさせることができる。いくつかの実施形態では、バイアスドライブを提供することは、回路702の外部のコイルに電流を通すことを含むことができる。様々な実施形態において、バイアスドライブを提供することは、チップ上のコイルに電流を通すことを含むことができる。開示される実施形態は、バイアスドライブを提供する特定の方法、またはキュービットにバイアスをかける特定の方法に限定されない。
【0088】
[0080] 本開示のいくつかの実施形態によれば、量子コントローラ722は、回路702上の計算ゲートを実施することができる。量子コントローラ722は、1つもしくは複数の計算ドライブを回路702内の対応するキュービットに提供することによって、または計算ドライブソース(例えば、波形発生器等)に命令を提供し、計算ドライブソースが1つもしくは複数の計算ドライブを回路702に提供するようにさせることによって、そのようなゲートを実施することができる。そのような計算ドライブはマイクロ波ドライブを含むことができる。計算ドライブは、正弦波、矩形波、パルストレイン、または量子コントローラ722によって、キュービットに対し量子ゲートを実施するために選択されたパラメータを有する他の量子ゲートドライブを含むことができる。1つまたは複数の計算ドライブは、対応するキュービットに結合された1つまたは複数のコイルを用いて、対応するキュービットに提供することができる。コイルは、回路702に対し外部にあるか、または回路702を含むチップ上にあり得る。
【0089】
[0081] 本開示のいくつかの実施形態によれば、量子コントローラ722は、量子回路702のための状態情報を決定するように構成することができる。いくつかの実施形態では、量子コントローラ722は、回路702の1つまたは複数のキュービットの状態を測定することができる。状態は、1つまたは複数の量子演算のシーケンスの完了時に測定することができる。いくつかの実施形態では、量子コントローラ722は、回路702の結合された共振器にプローブ信号(例えば、マイクロ波プローブトーン)を提供するか、プローブ信号を提供する読み出しデバイス(例えば、任意の波形発生器)に命令を提供することができる。様々な実施形態において、量子コントローラ722は、マイクロ波プローブトーンの提供に応答して、結合された共振器から受信された出力信号の振幅および位相を決定するように構成された検出器を含むか、またはこの検出器から情報を受信するように構成することができる。出力信号の振幅および位相を用いて、プローブされたキュービットの状態を決定することができる。開示される実施形態は、キュービットの状態を測定する任意の特定の方法に限定されない。
【0090】
[0082] 開示される実施形態は、量子コントローラ722が単一の量子回路のみを制御する実施形態に限定されない。いくつかの実施形態では、量子コントローラ722は、複数の量子回路(実施において同一である可能性があるか、または実施において異なる可能性がある)を制御することができる。例えば、量子コントローラ722は、第1のトラズモンキュービットベースの量子回路と、第2のフラクソニウムキュービットベースの量子回路とを制御することができる。いくつかの実施形態では、量子コントローラ722は、複数の量子回路を独立して制御することが可能であり得る。いくつかの場合、例えば、複数の量子回路の各々は、異なる同時の計算を実行し得る。様々な場合、複数の量子回路が同じ計算(例えば、並列計算等)に関与し得る。
【0091】
[0083] 本開示のいくつかの実施形態によれば、量子コントローラ722は量子回路702を構成することができ、得られた状態情報に少なくとも部分的に基づいて、計算ゲートを回路702に提供することができる。いくつかの実施形態では、量子コントローラ722は、
図6におけるコンピューティングデバイス620の一部として含まれ得る。
【0092】
[0084] 例として、
図8は、本開示のいくつかの実施形態による、量子回路を動作させるための例示的な方法800のフローチャートを示す。方法800は、少なくとも1つのデータ処理回路(例えば、
図6におけるプロセッサ602)によって実行することができる。いくつかの実施形態では、方法800は、コンピュータ(例えば、
図6におけるシステム600)によって実行されるコンピュータ実行可能命令(例えば、プログラムコード)を含むコンピュータプログラム製品(例えば、コンピュータ可読媒体において具現化される)として実装することができる。いくつかの実施形態では、方法800は、コンピュータ実行可能命令(例えば、プログラムコード)を記憶するハードウェア製品(例えば、
図6におけるベンチマーク実行器614)として実装することができ、ハードウェア製品は、スタンドアローンであるか、もしくはシステム600のうちの任意のものの一体化された部分であり得る。
【0093】
[0085]
図8を参照すると、ステップ802において、データ処理回路(例えば、従来のコンピュータのデータ処理回路)は、量子ゲート(例えば、
図2における量子ゲートG)のパラメータに基づいて、m
1(m
1は整数である)個のランダムユニタリ量子ゲート(例えば、
図2におけるユニタリ量子ゲートU
1、U
2、...、U
m1)の表現(例えば、行列またはテンソル)を生成することができる。いくつかの実施形態では、量子ゲートは、電磁信号(例えば、外部振動子によって生成されるマイクロ波パルス信号)として実施することができる。そのような場合、量子ゲートのパラメータは、電磁信号の長さ、振幅または形状のうちの少なくとも1つを含むことができる。
【0094】
[0086] いくつかの実施形態では、m1個のランダムユニタリ量子ゲートの表現を生成するために、データ処理回路は、ハール測度に従ってm1個のランダムユニタリ量子ゲートの表現を生成することができる。いくつかの実施形態では、データ処理回路は、一様確率分布に従ってユニタリ演算子の空間を疑似乱数サンプリングすることによって、m1個のランダムユニタリ量子ゲートの表現を生成することができる。生成されたm1個のランダムなユニタリ量子ゲートは、クリフォードゲートまたは任意の他のタイプの量子ゲートに限定されないことに留意されたい。
【0095】
[0087] ステップ804において、データ処理回路は、第1の量子ゲートシーケンスが恒等演算子(例えば、恒等パウリゲートI)と等価になるように、m
1個のランダムユニタリ量子ゲートの各近傍のユニタリ量子ゲート(例えば、
図2におけるユニタリ量子ゲートU
iおよびU
i+1であり、ここで、i=1,2,...,m
1)間に量子ゲート(例えば、
図2における量子ゲートG)を挿入することによって、ならびに、量子ゲートおよび第1の復元量子ゲート(例えば、
図2における第1の復元量子ゲートR
1)をm
1個のランダムユニタリ量子ゲートに付加する(例えば、
図2におけるU
m1に連結する)ことによって、第1の量子ゲートシーケンス(例えば、
図2における量子ゲートシーケンス200)の表現(例えば、行列またはテンソル)を決定することができる。例として、
図2に示すように、R
1は、組み合わされた量子ゲートU
1・G・U
2・...・G・U
m1・Gの復元量子ゲートであり得る。効果的には、
図2における量子ゲートシーケンス200は、恒等演算子と等価、すなわちU
1・G・U
2・...・G・U
m1・G・R
1=Iであり得る。
【0096】
[0088] ステップ806において、データ処理回路は、第2の量子ゲートシーケンスが恒等演算子(例えば、恒等パウリゲートI)と等価になるように、m
1個のランダムユニタリ量子ゲートを連結することによって、ならびに、第2の復元量子ゲート(例えば、
図3における第2の復元量子ゲートR
1’)をm
1個のランダムユニタリ量子ゲートに付加する(例えば、
図3におけるU
m1’に連結する)ことによって、第2の量子ゲートシーケンス(例えば、
図3における量子ゲートシーケンス300)の表現(例えば、行列またはテンソル)を決定することができる。例として、
図3に示すように、R
1’は、組み合わされた量子ゲートU
1’・U
2’・...・U
n1’の復元量子ゲートであり得る。効果的には、
図3における量子ゲートシーケンス300は、恒等演算子と等価、すなわちU
1’・U
2’・...・U
n1’・R
1’=Iであり得る。
【0097】
[0089] ステップ808において、データ処理回路は(例えば、
図6におけるNIC610を介して)、量子コンピューティングデバイス(例えば、
図6における量子コンピューティングデバイス620)に、第1の量子ゲートシーケンスの表現に対応するハードウェア命令を送信することができる。いくつかの実施形態では、量子コンピューティングデバイスは、量子回路を動作させるように構成された量子回路(例えば、
図7における量子回路702)および量子コントローラ(例えば、
図7における量子コントローラ722)を含むことができる。量子回路は、キュービット(例えば、
図7におけるキュービット704または706)を含むことができる。
【0098】
[0090] ステップ810において、データ処理回路は(例えば
図6におけるNIC610を介して)、量子コンピューティングデバイスから、量子コンピューティングデバイスによって第1の数の回数にわたって第1の量子ゲートシーケンス(例えば、量子ゲートシーケンス200)をキュービット(例えば、
図2における入力キュービットQ
i)に適用した後の、キュービット(例えば、
図2における出力キュービットQ
O)の第1の数の測定値を受信することができる。いくつかの実施形態では、キュービットは、超伝導キュービットとして実施することができる。
【0099】
[0091] ステップ812において、データ処理回路は、キュービットの量子状態がキュービットの第1の数の測定値にわたって変化しない確率に基づいて量子ゲートの忠実度値を決定することができる。
【0100】
[0092] 本開示のいくつかの実施形態によれば、忠実度値を決定した後、データ処理回路は、量子ゲートの忠実度値に基づいて量子ゲートのパラメータを更に更新することができる。いくつかの実施形態では、コンピュータは、量子ゲートが実際に新たなパラメータを適用される場合に忠実度値を増大させることができるように、パラメータを更新して量子ゲートを最適化することができる。
【0101】
[0093] 本開示のいくつかの実施形態によれば、忠実度データを決定した後、データ処理回路は、量子ゲート(例えば、
図4における量子ゲートG)のパラメータに基づいて、m
2(m
2はm
1と異なる整数である)個のランダムユニタリ量子ゲート(例えば、
図4におけるユニタリ量子ゲートV
1、V、...、V
m2)の表現(例えば、行列またはテンソル)を更に生成することができる。次に、データ処理回路は、第2の量子ゲートシーケンスが恒等演算子(例えば、恒等パウリゲートI)と等価になるように、m
2個のランダムユニタリ量子ゲートの各近傍のユニタリ量子ゲート(例えば、
図4におけるユニタリ量子ゲートV
iおよびV
i+1であり、ここで、i=1,2,...,m
2)間に量子ゲート(例えば、
図4における量子ゲートG)を挿入することによって、ならびに、量子ゲートおよび第2の復元量子ゲート(例えば、
図4における第2の復元量子ゲートR
2)をm
2個のランダムユニタリ量子ゲートに付加する(例えば、
図4におけるV
m2に連結する)ことによって、第2の量子ゲートシーケンス(例えば、
図4における量子ゲートシーケンス400)の表現(例えば、行列またはテンソル)を決定することができる。例として、
図4に示すように、R
2は、組み合わされた量子ゲートV
1・G・V
2・...・G・V
m2・Gの復元量子ゲートであり得る。効果的には、
図4における量子ゲートシーケンス400は、恒等演算子と等価、すなわちV
1・G・V
2・...・G・V
m2・G・R
2=Iであり得る。
【0102】
[0094] いくつかの実施形態では、m2個のランダムユニタリ量子ゲートの表現を生成するために、方法は、コンピュータに、ハール測度に従ってm2個のランダムユニタリ量子ゲートの表現を生成させることを含むことができる。いくつかの実施形態では、m2個のランダムユニタリ量子ゲートの表現を生成するために、方法は、コンピュータに、一様確率分布に従ってユニタリ演算子の空間を疑似乱数サンプリングすることによって、m2個のランダムユニタリ量子ゲートの表現を生成させることを含むことができる。生成されたm2個のランダムなユニタリ量子ゲートは、クリフォードゲートまたは任意の他のタイプの量子ゲートに限定されないことに留意されたい。
【0103】
[0095] 第2の量子ゲートシーケンスの表現を決定した後、データ処理回路は(例えば、
図6におけるNIC610を介して)、量子コンピューティングデバイス(例えば、
図6における量子コンピューティングデバイス620)に、第2の量子ゲートシーケンスの表現に対応するハードウェア命令を更に送信することができる。その後、データ処理回路は(例えば
図6におけるNIC610を介して)、量子コンピューティングデバイスから、量子コンピューティングデバイスによって第2の数の回数にわたって第2の量子ゲートシーケンス(例えば、量子ゲートシーケンス400)をキュービット(例えば、
図4における入力キュービットQ
i)に適用した後の、キュービット(例えば、
図4における出力キュービットQ
O)の第2の数の測定値を受信することができる。キュービットの第2の数の測定値を受信した後、データ処理回路は、キュービットの量子状態がキュービットの第2の数の測定値にわたって変化しない確率に基づいて量子ゲートの第2の忠実度値を決定することができる。
【0104】
[0096] 第2の忠実度値を決定した後、データ処理回路は、忠実度値および第2の忠実度値に基づいて量子ゲートの平均忠実度値を決定することができる。いくつかの実施形態では、コンピュータは、忠実度値および第2の忠実度値の平均として平均忠実度値を決定することができる。いくつかの実施形態では、データ処理回路は、指数関数的減衰回帰を実行することによって、量子ゲートの平均忠実度値を決定することができ、ここで、m1およびm2は独立変数であり、忠実度値および第2の忠実度値は応答変数である。コンピュータは、指数関数的減衰回帰の減衰率として平均忠実度値を更に決定することができる。
【0105】
[0097] いくつかの実施形態では、量子ゲートの平均忠実度値を決定した後、データ処理回路は、量子ゲートの平均忠実度値に基づいて量子ゲートのパラメータを更に更新することができる。
【0106】
[0098] いくつかの実施形態では、命令を含む非一時的コンピュータ可読ストレージ媒体も提供され、命令は、上記で説明した方法を実行するために、デバイス(開示したエンコーダおよびデコーダ等)によって実行することができる。非一時的媒体の一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、CD-ROM、任意の他の光データ記憶媒体、孔パターンを有する任意の物理媒体、RAM、PROMおよびEPROM、FLASH(登録商標)-EPROMまたは任意の他のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、任意の他のメモリチップまたはカートリッジ、およびこれらのネットワーク化されたバージョンを含む。デバイスは、1つまたは複数のプロセッサ(CPU)、入力/出力インタフェース、ネットワークインターフェースおよび/またはメモリを含むことができる。
【0107】
[0099] 実施形態は、以下の節を用いて更に説明することができる。
1.装置に方法を実行させるように装置の少なくとも1つのプロセッサによって実行可能な命令のセットを記憶する非一時的コンピュータ可読媒体であって、方法は、
量子ゲートのパラメータに基づいて、m1個のランダムユニタリ量子ゲートの表現を生成することであって、m1は整数である、生成することと、
第1の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に量子ゲートを挿入し、量子ゲートおよび第1の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第1の量子ゲートシーケンスの表現を決定することと、
第2の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第2の量子ゲートシーケンスの表現を決定することと、
量子コンピューティングデバイスに、第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
量子コンピューティングデバイスから、量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに第1の量子ゲートシーケンスを適用した後の、キュービットの第1の数の測定値と、量子コンピューティングデバイスによって第2の数の回数にわたってキュービットに第2の量子ゲートシーケンスを適用した後の、キュービットの第2の数の測定値とを受信することと、
キュービットの量子状態がキュービットの第1の数の測定値にわたって変化しない第1の確率と、キュービットの量子状態がキュービットの第2の数の測定値にわたって変化しない第2の確率とに基づいて量子ゲートの忠実度値を決定することと、
を含む、非一時的コンピュータ可読媒体。
2.装置の少なくとも1つのプロセッサによって実行可能な命令のセットは、装置に、
量子ゲートの忠実度値に基づいて量子ゲートのパラメータを更新することを更に実行させる、節1の非一時的コンピュータ可読媒体。
3.装置の少なくとも1つのプロセッサによって実行可能な命令のセットは、装置に、
量子ゲートのパラメータに基づいて、m2個のランダムユニタリ量子ゲートの表現を生成することであって、m2はm1以外の整数である、生成することと、
第3の量子ゲートシーケンスが恒等演算子と等価になるように、m2個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に量子ゲートを挿入し、量子ゲートおよび第3の復元量子ゲートをm2個のランダムユニタリ量子ゲートに付加することによって、第3の量子ゲートシーケンスの表現を決定することと、
第4の量子ゲートシーケンスが恒等演算子と等価になるように、m2個のランダムユニタリ量子ゲートを連結し、第4の復元量子ゲートをm2個のランダムユニタリ量子ゲートに付加することによって、第4の量子ゲートシーケンスの表現を決定することと、
量子コンピューティングデバイスに、第3の量子ゲートシーケンスの表現に対応するハードウェア命令と、第4の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
量子コンピューティングデバイスから、量子コンピューティングデバイスによって第3の数の回数にわたってキュービットに第3の量子ゲートシーケンスを適用した後の、キュービットの第3の数の測定値と、量子コンピューティングデバイスによって第4の数の回数にわたってキュービットに第4の量子ゲートシーケンスを適用した後の、キュービットの第4の数の測定値とを受信することと、
キュービットの量子状態がキュービットの第3の数の測定値にわたって変化しない第3の確率と、キュービットの量子状態がキュービットの第4の数の測定値にわたって変化しない第4の確率とを決定することと、
第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定することと、
を更に実行させる、節1の非一時的コンピュータ可読媒体。
4.第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定することは、
第1の確率および第3の確率の平均としての第1の平均確率と、第2の確率および第4の確率の平均としての第2の平均確率とを決定することと、
第2の平均確率に対する第1の平均確率の比率として平均忠実度値を決定することと、
を含む、節3の非一時的コンピュータ可読媒体。
5.第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定することは、
m1およびm2を独立変数として用い、第1の確率および第3の確率を応答変数として用いて、第1の指数関数的減衰回帰を実行することによって、第1の忠実度値を決定することと、
m1およびm2を独立変数として用い、第2の確率および第4の確率を応答変数として用いて、第2の指数関数的減衰回帰を実行することによって、第2の忠実度値を決定することと、
第2の忠実度値に対する第1の忠実度値の比率として平均忠実度値を決定することと、
を含む、節3の非一時的コンピュータ可読媒体。
6.装置の少なくとも1つのプロセッサによって実行可能な命令のセットは、装置に、
量子ゲートの平均忠実度値に基づいて量子ゲートのパラメータを更新することを更に実行させる、節3の非一時的コンピュータ可読媒体。
7.m1個のランダムユニタリ量子ゲートの表現は行列を含む、節1~6のうちの任意のものの非一時的コンピュータ可読媒体。
8.m1個のランダムユニタリ量子ゲートの表現を生成することは、
ハール測度に従ってm1個のランダムユニタリ量子ゲートの表現を生成することを含む、節1~7のうちの任意のものの非一時的コンピュータ可読媒体。
9.m1個のランダムユニタリ量子ゲートの表現を生成することは、
一様確率分布に従ってユニタリ演算子の空間を疑似乱数サンプリングすることによって、m1個のランダムユニタリ量子ゲートの表現を生成することを含む、節1~7のうちの任意のものの非一時的コンピュータ可読媒体。
10.キュービットは超伝導キュービットを含む、節1~9のうちの任意のものの非一時的コンピュータ可読媒体。
11.量子ゲートは電磁信号を含み、量子ゲートのパラメータは、電磁信号の長さ、振幅または形状のうちの少なくとも1つを含む、節10の非一時的コンピュータ可読媒体。
12.量子ゲートの忠実度値を決定することは、
第2の確率に対する第1の確率の比率として量子ゲートの忠実度値を決定することを含む、節1~11のうちの任意のものの非一時的コンピュータ可読媒体。
13.量子コンピューティングデバイスは、量子回路と、量子回路を動作させるように構成された量子コントローラとを備え、量子回路はキュービットを含む、節1~12のうちの任意のものの非一時的コンピュータ可読媒体。
14.装置であって、
命令のセットを記憶するように構成されたメモリと、
メモリに通信可能に結合され、命令のセットを実行して、装置に、
量子ゲートのパラメータに基づいて、m1個のランダムユニタリ量子ゲートの表現を生成することであって、m1は整数である、生成することと、
第1の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート間に量子ゲートを挿入し、量子ゲートおよび第1の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第1の量子ゲートシーケンスの表現を決定することと、
第2の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第2の量子ゲートシーケンスの表現を決定することと、
量子コンピューティングデバイスに、第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
量子コンピューティングデバイスから、量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに第1の量子ゲートシーケンスを適用した後の、キュービットの第1の数の測定値と、量子コンピューティングデバイスによって第2の数の回数にわたってキュービットに第2の量子ゲートシーケンスを適用した後の、キュービットの第2の数の測定値とを受信することと、
キュービットの量子状態がキュービットの第1の数の測定値にわたって変化しない第1の確率と、キュービットの量子状態がキュービットの第2の数の測定値にわたって変化しない第2の確率とに基づいて量子ゲートの忠実度値を決定することと、
を実行させるように構成された1つまたは複数のプロセッサと、
を備える、装置。
15.1つまたは複数のプロセッサは、命令のセットを実行して、装置に、
量子ゲートの忠実度値に基づいて量子ゲートのパラメータを更新することを実行させるように更に構成される、節14の装置。
16.1つまたは複数のプロセッサは、命令のセットを実行して、装置に、
量子ゲートのパラメータに基づいて、m2個のランダムユニタリ量子ゲートの表現を生成することであって、m2はm1以外の整数である、生成することと、
第3の量子ゲートシーケンスが恒等演算子と等価になるように、m2個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート後に量子ゲートを挿入し、第3の復元量子ゲートをm2個のランダムユニタリ量子ゲートに付加することによって、第3の量子ゲートシーケンスの表現を決定することと、
第4の量子ゲートシーケンスが恒等演算子と等価になるように、m2個のランダムユニタリ量子ゲートを連結し、第4の復元量子ゲートをm2個のランダムユニタリ量子ゲートに付加することによって、第4の量子ゲートシーケンスの表現を決定することと、
量子コンピューティングデバイスに、第3の量子ゲートシーケンスの表現に対応するハードウェア命令と、第4の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
量子コンピューティングデバイスから、量子コンピューティングデバイスによって第3の数の回数にわたってキュービットに第3の量子ゲートシーケンスを適用した後の、キュービットの第3の数の測定値と、量子コンピューティングデバイスによって第4の数の回数にわたってキュービットに第4の量子ゲートシーケンスを適用した後の、キュービットの第4の数の測定値とを受信することと、
キュービットの量子状態がキュービットの第3の数の測定値にわたって変化しない第3の確率と、キュービットの量子状態がキュービットの第4の数の測定値にわたって変化しない第4の確率とを決定することと、
第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定することと、
を実行させるように更に構成される、節14の装置。
17.第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定することは、
第1の確率および第3の確率の平均としての第1の平均確率と、第2の確率および第4の確率の平均としての第2の平均確率とを決定することと、
第1の平均確率および第2の平均確率の比率として平均忠実度値を決定することと、
を含む、節16の装置。
18.第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定することは、
m1およびm2を独立変数として用い、第1の確率および第3の確率を応答変数として用いて、第1の指数関数的減衰回帰を実行することによって、第1の忠実度値を決定することと、
m1およびm2を独立変数として用い、第2の確率および第4の確率を応答変数として用いて、第2の指数関数的減衰回帰を実行することによって、第2の忠実度値を決定することと、
第2の忠実度値に対する第1の忠実度値の比率として平均忠実度値を決定することと、
を含む、節16の装置。
19.1つまたは複数のプロセッサは、命令のセットを実行して、装置に、
量子ゲートの平均忠実度値に基づいて量子ゲートのパラメータを更新することを実行させるように更に構成される、節16の装置。
20.m1個のランダムユニタリ量子ゲートの表現は行列を含む、節14~19のうちの任意のものの装置。
21.m1個のランダムユニタリ量子ゲートの表現を生成することは、
ハール測度に従ってm1個のランダムユニタリ量子ゲートの表現を生成することを含む、節14~20のうちの任意のものの装置。
22.m1個のランダムユニタリ量子ゲートの表現を生成することは、
一様確率分布に従ってユニタリ演算子の空間を疑似乱数サンプリングすることによって、m1個のランダムユニタリ量子ゲートの表現を生成することを含む、節14~20のうちの任意のものの装置。
23.キュービットは超伝導キュービットを含む、節14~22のうちの任意のものの装置。
24.量子ゲートは電磁信号を含み、量子ゲートのパラメータは、電磁信号の長さ、振幅または形状のうちの少なくとも1つを含む、節23の装置。
25.量子ゲートの忠実度値を決定することは、
第2の確率に対する第1の確率の比率として量子ゲートの忠実度値を決定することを含む、節14~24のうちの任意のものの装置。
26.量子コンピューティングデバイスは、量子回路と、量子回路を動作させるように構成された量子コントローラとを備え、量子回路はキュービットを含む、節14~25のうちの任意のものの装置。
27.コンピュータ実施方法であって、
量子ゲートのパラメータに基づいて、m1個のランダムユニタリ量子ゲートの表現を生成することであって、m1は整数である、生成することと、
第1の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート後に量子ゲートを挿入し、第1の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第1の量子ゲートシーケンスの表現を決定することと、
第2の量子ゲートシーケンスが恒等演算子と等価になるように、m1個のランダムユニタリ量子ゲートを連結し、第2の復元量子ゲートをm1個のランダムユニタリ量子ゲートに付加することによって、第2の量子ゲートシーケンスの表現を決定することと、
量子コンピューティングデバイスに、第1の量子ゲートシーケンスの表現に対応するハードウェア命令と、第2の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
量子コンピューティングデバイスから、量子コンピューティングデバイスによって第1の数の回数にわたってキュービットに第1の量子ゲートシーケンスを適用した後の、キュービットの第1の数の測定値と、量子コンピューティングデバイスによって第2の数の回数にわたってキュービットに第2の量子ゲートシーケンスを適用した後の、キュービットの第2の数の測定値とを受信することと、
キュービットの量子状態がキュービットの第1の数の測定値にわたって変化しない第1の確率と、キュービットの量子状態がキュービットの第2の数の測定値にわたって変化しない第2の確率とに基づいて量子ゲートの忠実度値を決定することと、
を含む、コンピュータ実施方法。
28.量子ゲートの忠実度値に基づいて量子ゲートのパラメータを更新することを更に含む、節27のコンピュータ実施方法。
29.量子ゲートのパラメータに基づいて、m2個のランダムユニタリ量子ゲートの表現を生成することであって、m2はm1以外の整数である、生成することと、
第3の量子ゲートシーケンスが恒等演算子と等価になるように、m2個のランダムユニタリ量子ゲートの各近傍ユニタリ量子ゲート後に量子ゲートを挿入し、第3の復元量子ゲートをm2個のランダムユニタリ量子ゲートに付加することによって、第3の量子ゲートシーケンスの表現を決定することと、
第4の量子ゲートシーケンスが恒等演算子と等価になるように、m2個のランダムユニタリ量子ゲートを連結し、第4の復元量子ゲートをm2個のランダムユニタリ量子ゲートに付加することによって、第4の量子ゲートシーケンスの表現を決定することと、
量子コンピューティングデバイスに、第3の量子ゲートシーケンスの表現に対応するハードウェア命令と、第4の量子ゲートシーケンスの表現に対応するハードウェア命令とを送信することと、
量子コンピューティングデバイスから、量子コンピューティングデバイスによって第3の数の回数にわたってキュービットに第3の量子ゲートシーケンスを適用した後の、キュービットの第3の数の測定値と、量子コンピューティングデバイスによって第4の数の回数にわたってキュービットに第4の量子ゲートシーケンスを適用した後の、キュービットの第4の数の測定値とを受信することと、
キュービットの量子状態がキュービットの第3の数の測定値にわたって変化しない第3の確率と、キュービットの量子状態がキュービットの第4の数の測定値にわたって変化しない第4の確率とを決定することと、
第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定することと、
を更に含む、節27のコンピュータ実施方法。
30.第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定することは、
第1の確率および第3の確率の平均としての第1の平均確率と、第2の確率および第4の確率の平均としての第2の平均確率とを決定することと、
第1の平均確率および第2の平均確率の比率として平均忠実度値を決定することと、
を含む、節29のコンピュータ実施方法。
31.第1の確率、第2の確率、第3の確率および第4の確率に基づいて、量子ゲートの平均忠実度値を決定することは、
m1およびm2を独立変数として用い、第1の確率および第3の確率を応答変数として用いて、第1の指数関数的減衰回帰を実行することによって、第1の忠実度値を決定することと、
m1およびm2を独立変数として用い、第2の確率および第4の確率を応答変数として用いて、第2の指数関数的減衰回帰を実行することによって、第2の忠実度値を決定することと、
第2の忠実度値に対する第1の忠実度値の比率として平均忠実度値を決定することと、
を含む、節29のコンピュータ実施方法。
32.量子ゲートの平均忠実度値に基づいて量子ゲートのパラメータを更新することを更に含む、節29のコンピュータ実施方法。
33.m1個のランダムユニタリ量子ゲートの表現は行列を含む、節27~32のうちの任意のもののコンピュータ実施方法。
34.m1個のランダムユニタリ量子ゲートの表現を生成することは、
ハール測度に従ってm1個のランダムユニタリ量子ゲートの表現を生成することを含む、節27~33のうちの任意のもののコンピュータ実施方法。
35.m1個のランダムユニタリ量子ゲートの表現を生成することは、
一様確率分布に従ってユニタリ演算子の空間を疑似乱数サンプリングすることによって、m1個のランダムユニタリ量子ゲートの表現を生成することを含む、節27~33のうちの任意のもののコンピュータ実施方法。
36.キュービットは超伝導キュービットを含む、節27~35のうちの任意のもののコンピュータ実施方法。
37.量子ゲートは電磁信号を含み、量子ゲートのパラメータは、電磁信号の長さ、振幅または形状のうちの少なくとも1つを含む、節36のコンピュータ実施方法。
38.量子ゲートの忠実度値を決定することは、
第2の確率に対する第1の確率の比率として量子ゲートの忠実度値を決定することを含む、節27~37のうちの任意のもののコンピュータ実施方法。
39.量子コンピューティングデバイスは、量子回路と、量子回路を動作させるように構成された量子コントローラとを備え、量子回路はキュービットを含む、節27~38の任意のもののコンピュータ実施方法。
【0108】
[0100] 本明細書の「第1の」および「第2の」等の関係語は、あるエンティティまたは動作を別のエンティティまたは動作と区別するために用いられるにすぎず、これらのエンティティまたは動作間のいかなる実際の関係または順序も必要としないかまたは含意しないことに留意すべきである。さらに、「含む」、「有する」、「含有する」および「包含する」ならびに他の同様の形式の用語は、意味の点で均等であることを意図し、これらの用語のうちの任意のものの後に続くアイテムがそのようなアイテムの網羅的列挙であることを意図していないか、または列挙するアイテムのみに限定されることを意図していない点で非限定的であることを意図する。本明細書において用いられるとき、不定冠詞「a」および「an」は、「1つまたは複数」を意味する。同様に、複数形の使用は、与えられた文脈で明確でないならば、必ずしも複数形を意味するわけではない。
【0109】
[0101] 本明細書において用いられるとき、別段の定めがない限り、「または」という語は、実行不可能な場合を除いて、あり得る全ての組み合わせを包含する。例えば、或る構成要素がAまたはBを含み得ると述べた場合、別段の定めがない限りまたは実行不可能でない限り、その構成要素は、A、B、またはAおよびBを含むことができる。第2の例として、或る構成要素がA、BまたはCを含み得ると述べた場合、別段の定めがない限りまたは実行不可能でない限り、その構成要素は、A、B、C、AおよびB、AおよびC、BおよびC、AおよびBおよびCを含むことができる。
【0110】
[0102] 上記で説明した実施形態は、ハードウェア、ソフトウェア(プログラムコード)、またはハードウェアとソフトウェアとの組み合わせによって実装できることが理解される。ソフトウェアによって実装される場合、ソフトウェアは、上記のコンピュータ可読媒体に記憶することができる。ソフトウェアは、プロセッサによって実行されるとき、開示する方法を実行することができる。本開示で説明した計算ユニットおよび他の機能ユニットは、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせによって実装することができる。上記のモジュール/ユニットの複数を1つのモジュール/ユニットとして組み合わせることができ、上記のモジュール/ユニットのそれぞれを複数のサブモジュール/サブユニットに更に分割できることも当業者であれば理解するであろう。
【0111】
[0103] 上記の本明細書では、実装形態ごとに変わり得る多数の具体的な詳細に関して実施形態を説明してきた。記載した実施形態に対する或る特定の適応および修正がなされ得る。本明細書を検討し、本明細書に開示される本発明を実践することで他の実施形態が当業者に明らかになり得る。本明細書および例は、専ら例示として検討され、本発明の真の範囲および趣旨は、添付の特許請求の範囲によって示されることが意図される。また、図中に示すステップの順序は、例示目的にすぎず、特定のステップの順序に限定されることを意図しない。そのため、これらのステップは、同じ方法を実装しながら異なる順序で実行され得ることを当業者であれば理解することができる。
【0112】
[0104] 本明細書を検討し、本明細書に開示される実施形態を実践することで他の実施形態が当業者に明らかになるであろう。本明細書および例は、専ら例示として検討され、開示される実施形態の真の範囲および趣旨は、添付の特許請求の範囲によって示されることが意図される。
【国際調査報告】