(57)【要約】  位相演算を行うための方法、システムおよび装置。一態様では、第1および第2のキュービットに、フェーズドプラス状態で準備される第3のキュービットを使用して、同じ位相演算を行うための方法は、第3のキュービットに第1のNOT演算を行うステップと、第1、第2および第3のキュービットの制御加算器演算を計算するステップであり、制御加算器演算の結果を第4のキュービットに符号化することを含む、ステップと、第4のキュービットに位相演算の2乗を行うステップと、第1、第2および第3のキュービットの制御加算器演算を逆計算するステップと、第1のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第2のキュービットがコントロールとして作用する、ステップと、第3のキュービットに第2のNOT演算を行うステップとを含む。
2021505982.tif 000002
【特許請求の範囲】
【請求項１】
第1および第2のキュービットに、フェーズドプラス状態で準備される第3のキュービットを使用して、同じ位相演算を行うための方法であって、
前記第3のキュービットに第1のNOT演算を行うステップと、
前記第1、第2および第3のキュービットの制御加算器演算を計算するステップであり、前記制御加算器演算の結果を第4のキュービットに符号化することを含む、ステップと、
前記第4のキュービットに前記位相演算の2乗を行うステップと、
前記第1、第2および第3のキュービットの前記制御加算器演算を逆計算するステップと、
前記第1のキュービットと前記第3のキュービットとの間のCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2のキュービットと前記第3のキュービットとの間のCNOT演算を行うステップであり、前記第2のキュービットがコントロールとして作用する、ステップと、
前記第3のキュービットに第2のNOT演算を行うステップと、
を含む、方法。
【請求項２】
前記制御加算器演算を計算するステップが、
前記第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2および第3のキュービット間の論理AND演算を計算するステップと、
前記論理AND計算の結果を前記第4のキュービットに符号化するステップと、
前記第1のキュービットと前記第4のキュービットとの間のCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
を含む、請求項1に記載の方法。
【請求項３】
前記制御加算器演算を逆計算するステップが、
前記第1のキュービットおよび前記第4のキュービットにCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2および第3のキュービット間の論理AND演算を逆計算するステップと、
前記第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、を含む、請求項1または2に記載の方法。
【請求項４】
前記第1、第2および第3のキュービットの前記制御加算器演算を逆計算するステップと、
前記第1のキュービットと前記第3のキュービットとの間のCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2のキュービットと前記第3のキュービットとの間のCNOT演算を行うステップであり、前記第2のキュービットがコントロールとして作用する、ステップとが、
前記第1のキュービットおよび前記第4のキュービットにCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2および第3のキュービット間の論理AND演算を逆計算するステップと、
前記第2のキュービットおよび前記第3のキュービットにCNOT演算を行うステップであり、前記第2のキュービットがコントロールとして作用する、ステップと、
前記第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
を含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記第3のキュービットに前記第2のNOT演算を行うステップが、前記第3のキュービットを前記フェーズドプラス状態に戻す、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記第1および第2のキュービットが、最初は任意の初期状態で準備される、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記第1のキュービットが任意の初期状態で準備され、前記第2のキュービットがプラス状態で準備され、かつ前記第3のキュービットがフェーズドプラス状態で準備され、
前記第3のキュービットに前記第2のNOT演算を行った後に、前記第2のキュービットがフェーズドプラス状態にあり、前記第3のキュービットがフェーズドプラス状態にあり、かつ前記第1のキュービットに前記位相演算が行われている、請求項1から6のいずれか一項に記載の方法。
【請求項８】
ゲートテレポーテーション演算に使用するために前記フェーズドプラス状態の前記第2のキュービットを提供するステップを更に含む、請求項7に記載の方法。
【請求項９】
前記ゲートテレポーテーション演算が、
請求項1の方法を使用して第5および第6のキュービットに第2の同じ位相演算を行うステップ、
請求項7の方法を使用して第5のキュービットに位相演算を行うときに第6のキュービットを第7のキュービットと同じ状態で準備するステップ、または
第5のキュービットに前記位相演算を行うステップ
のうちの1つを含む、請求項8に記載の方法。
【請求項１０】
第5のキュービットに前記位相演算を行うステップが、
前記フェーズドプラス状態で準備される前記第2のキュービットと任意の状態で準備される前記第5のキュービットとの間のCNOT演算を適用するステップであり、前記第5のキュービットがコントロールとして作用する、ステップと、
前記第2のキュービットを測定するステップと、
前記第2のキュービットを測定することから生成される測定結果が前記第2のキュービットがオンであることを示す場合、前記第5のキュービットに2乗位相演算を適用するステップと、
を含む、請求項9に記載の方法。
【請求項１１】
前記第4のキュービットに前記位相演算の2乗を行うステップが、請求項7の方法を行って、第5のキュービットに前記位相演算の前記2乗を行うときに第6のキュービットを第7のキュービットと同じ状態で準備するステップを含む、請求項7から10のいずれか一項に記載の方法。
【請求項１２】
前記位相演算の2乗を反復的に行うステップを更に含む、請求項11に記載の方法。
【請求項１３】
生成される状態のハミング重みを決定するステップを更に含む、請求項1に記載の方法。
【請求項１４】
前記同じ位相演算が、式
【数１】
2021505982.tif 000073
の単一キュービット演算を含み、前記式中θが前記位相演算を特定し、そして前記位相演算の前記2乗がZ2θによって与えられる、請求項1から13のいずれか一項に記載の方法。
【請求項１５】
フェーズドプラス状態が、プラス状態
【数２】
2021505982.tif 000074
に適用される所望の位相演算を含む、請求項1から14のいずれか一項に記載の方法。
【請求項１６】
前記位相演算が、
【数３】
2021505982.tif 000075
演算を含む、請求項1から15のいずれか一項に記載の方法。
【請求項１７】
N回の位相演算が複数のそれぞれのキュービットに行われることを必要とするシステムに対して、
同じ位相演算を必要とするキュービットをサイズО(sqrt(N))のО(sqrt(N))個のグループへグループ化するステップと、
サイズО(log(N))の総計キュービットレジスタを準備するステップと、
各グループに対して、
前記グループ内の前記キュービットのハミング重みを計算し、
前記総計レジスタへ、計算されるグループ合計を加算し、
前記グループ内の前記キュービットの前記ハミング重みを逆計算するステップと、
前記総計レジスタに位相演算を行うステップと、
各グループに対して、
前記グループ内の前記キュービットのハミング重みを計算し、
前記総計レジスタから計算されるグループ合計を減算し、
前記グループ内の前記キュービットの前記ハミング重みを逆計算するステップと
を更に含む、請求項1から6のいずれか一項に記載の方法。
【請求項１８】
前記総計レジスタをクリアおよび破棄するステップを更に含む、請求項17に記載の方法。
【請求項１９】
1つまたは複数の古典プロセッサとデータ通信状態にある量子ハードウェアを備える装置であって、前記装置が、請求項1から18のいずれか一項に記載の方法を行うように構成される、装置。
【請求項２０】
前記装置が、
キュービットのレジスタと、
前記キュービットのレジスタに結合される複数の制御線と、
前記複数の制御線に結合される複数の制御回路であり、請求項1から18のいずれか一項に記載の方法を行うように構成される、複数の制御回路と、
を備える、請求項19に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は量子コンピューティングに関する。
【背景技術】
【０００２】
量子計算のための1つの例示モデルが量子回路モデルである。量子回路モデルでは、計算は、nビットレジスタの量子力学的類似体の一連の量子ゲート可逆変換である。この類似構造はnキュービットレジスタと称される。例示量子ゲートとしては、アダマールゲート、パウリXゲート、パウリYゲートおよびパウリZゲートなどの単一キュービットゲート、ならびにSWAPゲートまたは制御X、YもしくはZゲートなどの多重キュービットゲートを含む。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第2019/050555号
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書は、量子回路において位相演算を行うための技術について記載する。
【０００５】
本明細書に記載される対象の1つの革新的な態様は、第1および第2のキュービットに、フェーズドプラス状態(phased plus state)で準備される第3のキュービットを使用して、同じ位相演算を行うための方法および構成であって、第3のキュービットに第1のNOT演算を行うステップと、第1、第2および第3のキュービットの制御加算器演算を計算するステップであり、制御加算器演算の結果を第4のキュービットに符号化することを含む、ステップと、第4のキュービットに位相演算の2乗を行うステップと、第1、第2および第3のキュービットの制御加算器演算を逆計算する(uncomputing)ステップと、第1のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第1のキュービットがコントロール(control)として作用する、ステップと、第2のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第2のキュービットがコントロールとして作用する、ステップと、第3のキュービットに第2のNOT演算を行うステップとを含む方法で実装できる。本方法は、第1、第2、第3および第4のキュービットを備える量子コンピューティングデバイスによって行われてよい。
【０００６】
この態様の他の実装例は、同方法の作用を行うように各々構成される、対応する古典および/または量子コンピュータシステム、装置、ならびに1つまたは複数のコンピュータ記憶デバイスに記録されるコンピュータプログラムを含む。1つまたは複数の古典または量子コンピュータのシステムは、動作に際して同システムに作用を行わせる、同システムにインストールされるソフトウェア、ファームウェア、ハードウェアまたはその組合せを有することにより特定の動作または作用を行うように構成できる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、同装置に作用を行わせる命令を含むことにより特定の動作または作用を行うように構成できる。
【０００７】
上記および他の実装例は各々任意選択で、以下の特徴の1つまたは複数を単独でまたは組み合わせて含むことができる。一部の実装例では、制御加算器演算を計算するステップは、第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2および第3のキュービット間の論理AND演算を計算するステップと、論理AND計算の結果を第4のキュービットに符号化するステップと、第1のキュービットと第4のキュービットとの間のCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップとを含む。
【０００８】
一部の実装例では、制御加算器演算を逆計算するステップは、第1のキュービットおよび第4のキュービットにCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2および第3のキュービット間の論理AND演算を逆計算するステップと、第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップとを含む。
【０００９】
一部の実装例では、第1、第2および第3のキュービットの制御加算器演算を逆計算するステップと、第1のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第2のキュービットがコントロールとして作用する、ステップとは、第1のキュービットおよび第4のキュービットにCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2および第3のキュービット間の論理AND演算を逆計算するステップと、第2のキュービットおよび第3のキュービットにCNOT演算を行うステップであり、第2のキュービットがコントロールとして作用する、ステップと、第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップとを含む。
【００１０】
一部の実装例では、第3のキュービットに第2のNOT演算を行うステップは、第3のキュービットをフェーズドプラス状態に戻す。
【００１１】
一部の実装例では、第1および第2のキュービットは最初は任意の初期状態で準備される。
【００１２】
本明細書に記載される対象の別の革新的な態様は、第1のキュービットに位相演算を行うときに第2のキュービットを第3のキュービットと同じ状態で準備するための、第1のキュービットが任意の初期状態で準備され、第2のキュービットがプラス状態で準備され、かつ第3のキュービットがフェーズドプラス状態で準備される、方法および構成であって、第3のキュービットに第1のNOT演算を行うステップと、第1、第2および第3のキュービットの制御加算器演算を計算するステップであり、制御加算器演算の結果を第4のキュービットに符号化することを含む、ステップと、第4のキュービットに位相演算の2乗を行うステップと、第1、第2および第3のキュービットの制御加算器演算を逆計算するステップと、第1のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第2のキュービットがコントロールとして作用する、ステップと、第3のキュービットに第2のNOT演算を行うステップとを含む方法で実装できる。
【００１３】
この態様の他の実装例は、同方法の作用を行うように各々構成される、対応する古典または量子コンピュータシステム、装置、および1つまたは複数のコンピュータ記憶デバイスに記録されるコンピュータプログラムを含む。1つまたは複数の古典または量子コンピュータのシステムは、動作に際して同システムに作用を行わせる、同システムにインストールされるソフトウェア、ファームウェア、ハードウェアまたはその組合せを有することにより特定の動作または作用を行うように構成できる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、同装置に作用を行わせる命令を含むことにより特定の動作または作用を行うように構成できる。
【００１４】
上記および他の実装例は各々任意選択で、以下の特徴の1つまたは複数を単独でまたは組み合わせて含むことができる。一部の実装例では、制御加算器演算を計算するステップは、第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2および第3のキュービット間の論理AND演算を計算するステップと、論理AND計算の結果を第4のキュービットに符号化するステップと、第1のキュービットと第4のキュービットとの間のCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップとを含む。
【００１５】
一部の実装例では、制御加算器演算を逆計算するステップは、第1のキュービットおよび第4のキュービットにCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2および第3のキュービット間の論理AND演算を逆計算するステップと、第2および第3のキュービット間のCNOT演算を行うステップであり、第2のキュービットがコントロールとして作用する、ステップと、第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップとを含む。
【００１６】
一部の実装例では、第1、第2および第3のキュービットの制御加算器演算を逆計算するステップと、第1のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第2のキュービットがコントロールとして作用する、ステップとは、第1のキュービットおよび第4のキュービットにCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2および第3のキュービット間の論理AND演算を逆計算するステップと、第2のキュービットおよび第3のキュービットにCNOT演算を行うステップであり、第2のキュービットがコントロールとして作用する、ステップと、第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップとを含む。
【００１７】
一部の実装例では、第1、第2および第3のキュービットの制御加算器演算を逆計算するステップと、第1のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第1のキュービットがコントロールとして作用する、ステップと、第2のキュービットと第3のキュービットとの間のCNOT演算を行うステップであり、第2のキュービットがコントロールとして作用する、ステップと、第3のキュービットに第2のNOT演算を行うステップとは、第3のキュービットをフェーズドプラス状態に戻しかつ第2のキュービットをフェーズドプラス状態で準備する。
【００１８】
一部の実装例では、本方法は、ゲートテレポーテーション演算に使用するためにフェーズドプラス状態で準備される第2のキュービットを提供するステップを更に含む。
【００１９】
一部の実装例では、ゲートテレポーテーション演算は、第5および第6のキュービットへの同じ位相演算か、第5のキュービットに位相演算を行うときに第6のキュービットを第7のキュービットと同じ状態で準備するステップか、第5のキュービットに位相演算を行うステップかを含む。
【００２０】
一部の実装例では、第5のキュービットに位相演算を行うステップは、フェーズドプラス状態で準備される第2のキュービットと任意の状態で準備される第5のキュービットとの間のCNOT演算を適用するステップであり、第5のキュービットがコントロールとして作用する、ステップと、第2のキュービットを測定するステップと、第2のキュービットを測定することから生成される測定結果が第2のキュービットがオンであることを示す場合、第5のキュービットに2乗位相演算を適用するステップとを含む。
【００２１】
一部の実装例では、第4のキュービットに位相演算の2乗を行うステップは、第6の方法を行って、第5のキュービットに位相演算の2乗を行うときに第6のキュービットを第7のキュービットと同じ状態で準備するステップを含む。
【００２２】
一部の実装例では、本方法は、位相演算の2乗を反復的に行ってn回目の反復で
【数１】
2021505982.tif 000003
位相演算を行うステップと、演算のグループにわたってコストを償却するステップと、生成される状態のハミング重みを決定するステップとを更に含む。
【００２３】
一部の実装例では、本方法は、N回の位相演算が複数のそれぞれのキュービットに行われることを必要とするシステムに対して、同じ位相演算を必要とするキュービットをサイズО(sqrt(N))のО(sqrt(N))個のグループへグループ化するステップと、サイズО(log(N))の総計キュービットレジスタを準備するステップと、各グループに対して、グループ内のキュービットのハミング重みを計算するステップと、総計レジスタへ計算されるグループ合計を加算するステップと、グループ内のキュービットのハミング重みを逆計算するステップと、総計レジスタに位相演算を行うステップと、各グループに対して、グループ内のキュービットのハミング重みを計算するステップと、総計レジスタから計算されるグループ合計を減算するステップと、グループ内のキュービットのハミング重みを逆計算するステップとを更に含む。一部の実装例では、総計レジスタはクリアおよび破棄されてよい。
【００２４】
同じ位相演算は、式
【数２】
2021505982.tif 000004
の単一キュービット演算を含んでよく、式中θは位相演算を特定し、そして位相演算の2乗はZ2θによって与えられる。フェーズドプラス状態は、プラス状態
【数３】
2021505982.tif 000005
に適用される所望の位相演算を含んでよい。位相演算は、
【数４】
2021505982.tif 000006
演算でよい。
【００２５】
本明細書の対象の1つまたは複数の実装例の詳細が添付図面および以下の説明に記載される。対象の他の特徴、態様および利点は、同説明、同図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００２６】
【図１】位相演算を行うための例示システムを図示する。
【図２】第1のキュービットおよび第2のキュービットに、フェーズドプラス状態で準備される第3のキュービットを使用して、目標位相演算を行うための例示プロセスのフロー図である。
【図３Ａ】第1および第2のキュービットに、フェーズドプラス状態で準備される第3のキュービットを使用して、目標位相演算を行うための例示量子回路の回路図である。
【図３Ｂ】第1および第2のキュービットに、フェーズドプラス状態で準備される第3のキュービットを使用して、目標位相演算を行うための代替量子回路の回路図である。
【図４】第1および第2のキュービットに、
【数５】
2021505982.tif 000007
状態で準備される第3のキュービットを使用して、
【数６】
2021505982.tif 000008
ゲートを行うための例示量子回路の回路図である。
【図５】目標位相演算を行うと共に量子状態を複製するための例示量子回路の回路図である。
【図６】個々の
【数７】
2021505982.tif 000009
ゲートを行うための例示量子回路の回路図である。
【図７】図7は、
【数８】
2021505982.tif 000010
ゲートを行うための例示量子回路の回路図である。
【図８】目標位相演算を行うための例示反復構成の回路図である。
【図９】演算のペアにわたってゲートコストを償却するための例示量子回路構成の第1の回路図を示す。
【図１０】4つの演算のグループにわたってゲートコストを償却するための例示量子回路構成の第2の回路図を示す。
【図１１】追加の状態を保つことがどのようにハミング重みフェージングによって回避され得るかを示す。
【発明を実施するための形態】
【００２７】
概観
位相演算Zθは、基礎状態|0〉を不変のままにし、基礎状態|1〉をeiπθ|1〉にマッピングする単一キュービットゲートであり、式中θは位相シフトを表現する:
【数９】
2021505982.tif 000011
位相演算の適用後に|0〉または|1〉と測定する確率は変化しないが、量子状態の位相はシフトされる。
【００２８】
位相演算は量子回路における一般的な演算である。180度(Zゲート)または90度(Sゲート)ごとのフェージング(phasing)は実装するのが比較的簡単であり、かつコストが低い。45度(Tゲート)ごとのフェージングはコストが上昇する。更には、45度の倍数でない角度ごとのフェージングでは、そのような位相演算が典型的にTゲートで目標演算を近似することを必要とし、そして目標精度が正確になるにつれて目標位相角の良好な近似を得るために必要とされるTゲート数が増加するので、より一層高コストである。例えば、一部の場合には、非45度フェージング演算を行うことは、50個までのTゲートを必要とし得る。
【００２９】
本明細書は、位相演算Zθを行うために必要とされるTゲート数を削減するための様々な技術について記載する。同技術は、加算演算を使用してフェージング演算を併合することを、例えば、5つのTゲートを使用して2つの
【数１０】
2021505982.tif 000012
ゲートを行い、位相演算を行うときに状態を複製し、そして削減されたT数で個々の
【数１１】
2021505982.tif 000013
、
【数１２】
2021505982.tif 000014
またはより一般に
【数１３】
2021505982.tif 000015
ゲートを行うことを含む。
【００３０】
例示ハードウェア
図1は、位相演算を行うための例示的システム100を描く。システム100は、1つまたは複数の位置の1つまたは複数の量子コンピューティングデバイスおよび/または古典コンピュータ上の量子および/または古典コンピュータプログラムとして実装されるシステムの一例であり、ここに、下記されるシステム、コンポーネントおよび技術が実装できる。
【００３１】
システム100は、1つまたは複数の古典プロセッサ104とデータ通信状態にある量子コンピューティングデバイス102を含む。便宜上、量子コンピューティングデバイス102および古典プロセッサ104は別体として例示されるが、しかしながら一部の実装例では、1つまたは複数の古典プロセッサは量子コンピューティングデバイス102に含まれてよい。
【００３２】
量子コンピューティングデバイス102は、量子計算を行うためのコンポーネントを含む。例えば、量子コンピューティングデバイス102は、少なくとも量子回路網106および制御デバイス108を含む。
【００３３】
量子回路網106は、量子計算を行うためのコンポーネント、例えば、図2〜図11を参照しつつ下記される様々な量子回路および演算を実装するためのコンポーネントを含む。例えば、量子回路網は、1つまたは複数の多準位量子部分系を含む量子系、例えば、キュービットのレジスタ114を含んでよい。システム100が活用する多準位量子部分系の種類は異なってよい。例えば、一部の実装例では、多準位量子部分系は、超伝導キュービット、例えば、GmonまたはXmonキュービットでよい。一部の場合には、1つまたは複数の超伝導キュービットに接続される1つまたは複数の共振器を含むことが好都合でよい。他の場合には、イオントラップ、光子デバイスまたは超伝導空洞(キュービットを必要とすることなく状態が準備され得る)が使用されてよい。多準位量子部分系の実現の更なる例としては、fluxmonキュービット、シリコン量子ドットまたはリン不純物キュービットを含む。
【００３４】
異なる量子論理演算、例えば、図2〜図11を参照しつつ下記されるNOTゲート、CNOTゲート、マルチターゲットCNOTゲートおよび論理AND演算などの単一キュービットゲート、2キュービットゲートおよび3キュービットゲートを備える量子回路が、量子回路網106を使用して構築されてよい。構築される量子回路は、制御デバイス108を使用して動作/実装できる。量子系に含まれる制御デバイス108の種類は、量子コンピューティングデバイスに含まれるキュービットの種類に依存する。例えば、一部の場合には、制御デバイス108は、量子回路網106に含まれるキュービットの周波数を制御するデバイス、励起パルス発生器、および励起パルス発生器にキュービットを結合する制御線を含んでよい。制御デバイスは、そこで各キュービットの周波数が、対応する制御駆動線上の励起パルスの量子ゲート周波数に向けてまたはそれから離れて調整されるようにしてよい。制御デバイス108は、測定デバイス、例えば、読出し共振器を更に含んでよい。測定デバイスを介して得られる測定結果は、処理および解析のために古典プロセッサ104に提供されてよい。
【００３５】
量子コンピューティングデバイス102は、量子計算を行うときに量子回路網によって消費されてよい量子状態を生成するための1つまたは複数の量子状態ファクトリ、例えば、Tファクトリ112を含んでよい。例えば、図2および図4を参照しつつ下記されるように、Tファクトリ112は、T状態または
【数１４】
2021505982.tif 000016
状態を生成し、そして生成した状態を量子回路網106に提供してよい。
【００３６】
ハードウェアを動作させる:加算を使用して2つの目標位相演算を併合するための例示方法
図2は、第1の入力状態で準備される第1のキュービットにも第2の入力状態で準備される第2のキュービットにも、フェーズドプラス状態Zθ|+〉で準備される第3のキュービットを使用して、目標位相演算Zθを行うための例示プロセス200のフローチャートである。目標位相演算の目標角に専用のフェーズドプラス状態は、多数の既存の技術のいずれかを使用して作成できる。便宜上、プロセス200は、1つまたは複数の位置に設けられる1つまたは複数の古典または量子コンピューティングデバイスのシステムによって行われるとして説明されることになる。例えば、本明細書に従って適切にプログラムされる量子計算システム、例えば、図1のシステム100がプロセス200を行うことができる。
【００３７】
システムは、第3のキュービットに第1のNOT演算を行う(ステップ202)。
【００３８】
システムは、第1、第2および第3のキュービットに制御加算器演算を行い、これには制御加算器演算の結果を第4のキュービットに符号化することを含む(ステップ204)。図3Aを参照しつつ下記される例示量子回路300に図示されるように、第1、第2および第3のキュービットの制御加算器演算を計算することは、第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うことであり、第1のキュービットがマルチターゲットCNOT演算のためのコントロールとして作用する、ことと、第2および第3のキュービット間の論理AND演算を計算し、そして論理AND計算の結果を第4のキュービットに符号化することと、第1のキュービットと第4のキュービットとの間のCNOT演算を行うことであり、第1のキュービットがCNOT演算のためのコントロールとして作用する、こととを含んでよい。論理AND演算を計算および逆計算するための例示方法が「Quantum circuits with reduced T gate count」、WO 2019/050555に詳細に記載されている。
【００３９】
システムは、第4のキュービットに目標位相演算の2乗、(Zθ)2=Z2θを行う(ステップ206)。目標角の二倍にフェージングするこの内部フェージング演算は、幾つかの可能な方法で実装されてよい。例示実装例は、所望の角度(或る最大深さまで)だけフェージング演算を行うために使用される同じプロセスによって、Tゲートを使用して(2倍した角度が45度の倍数である場合)または再帰的に、成功まで繰返し技術などの既存の技術を応用することを含む。
【００４０】
システムは、第1、第2および第3のキュービットの制御加算器演算を逆計算する(ステップ208)。制御加算器演算を逆計算することは、第1のキュービットおよび第4のキュービットにCNOT演算を行うことであり、第1のキュービットがCNOT演算のためのコントロールとして作用する、ことと、ステップ204を参照しつつ上記した論理AND演算を逆計算することと、第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うことであり、第1のキュービットがマルチターゲットCNOT演算のためのコントロールとして作用する、こととを含んでよい。
【００４１】
システムは、第1のキュービットと第3のキュービットとの間のCNOT演算を行い、ここで第1のキュービットがCNOT演算のためのコントロールとして作用する(ステップ210)。
【００４２】
システムは、第2のキュービットと第3のキュービットとの間のCNOT演算を行い、ここで第2のキュービットがCNOT演算のためのコントロールとして作用する(ステップ212)。
【００４３】
システムは、第3のキュービットに第2のNOT演算を行う(ステップ214)。
【００４４】
一部の実装例では、ステップ208〜212は以下のステップと置き換えられてよい:図3Aを参照しつつ下記される例示量子回路300に図示されるように、第1のキュービットおよび第4のキュービットにCNOT演算を行うことであり、第1のキュービットがCNOT演算のためのコントロールとして作用する、ことと、第2および第3のキュービット間の論理AND演算を逆計算することと、第2のキュービットおよび第3のキュービットにCNOT演算を行うことであり、第2のキュービットがCNOT演算のためのコントロールとして作用する、ことと、第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うことであり、第1のキュービットがマルチターゲットCNOT演算のためのコントロールとして作用する、こと。
【００４５】
一旦第3のキュービットに第2のNOT演算が行われたなら、目標位相演算が第1の入力状態におよび第2の入力状態に適用されたことになる。第3のキュービットは、その初期状態-フェーズドプラス状態-に戻る。これらの出力状態の1つまたは複数は次いで、以下により詳細に記載されるように、以降の計算に使用するために提供できる。
【００４６】
一部の実装例では、量子回路は、異なるキュービットへの位相演算の多数の適用、例えば、異なるキュービットへの同じ位相演算の3回以上の適用を含んでよい。これらの実装例では、ハミング重みフェージングが適用されて、同一の位相演算をより少数の異なる位相演算へ併合してよい。
【００４７】
例えば、同じフェージング演算Zθが3つの異なるキュービットに同時に適用される量子回路を考える。3つのキュービットの論理状態への作用は、その論理状態のハミング重みにのみ応じて、異なる位相である。すなわち、全零状態000は位相-3θ/2を取り、ハミング重み1の3つの状態001、010および100は各々位相-θ/2を取り、ハミング重み2の3つの状態011、101および110は全てθ/2だけフェージングされ、そして全1状態111は位相3θ/2を取る。
【００４８】
同じ角度θだけ3回の回転を適用するよりはむしろ、入力状態のハミング重みが計算でき、そしてハミング重みに2つの異なった回転が適用できる:1sビットにθおよび2sビットに2θ。この場合には、全零状態000(ハミング重み0)に位相
【数１５】
2021505982.tif 000017
が適用され、001、010および100(ハミング重み1=2進法で01b)に
【数１６】
2021505982.tif 000018
が適用され、011、101および110(ハミング重み2=10b)に
【数１７】
2021505982.tif 000019
が適用され、そして全1状態111(ハミング重み3=11b)に
【数１８】
2021505982.tif 000020
が適用される。各論理状態への位相は2つの手順で同一である。しかしながら、任意の回転が高コストのTゲートを使用して合成されなければならないので、回路における任意の回転ゲート数を削減することが、その耐故障コストを削減する。
【００４９】
この概念は、回路において並列に見えるn回の繰り返される等角回転の場合に拡張でき、n回の元の任意の回転を適用するよりはむしろ、関連したキュービットのハミング重みが計算でき、そして代わりにハミング重みに
【数１９】
2021505982.tif 000021
回の任意の回転θ、2θ、4θ、...が適用できる。この技術はハミング重みフェージングと呼ばれる。
【００５０】
ハミング重みフェージングは、無料で改善すると思われ得る。しかしながら、ハミング重みを計算するときの加算器回路(上記した論理AND計算および逆計算を含む回路)の使用から両方とも生じる2つの主要なコスト源-Tゲートの追加数および補助キュービット要件-がある。しかしながら、キュービットのサイズ
【数２０】
2021505982.tif 000022
の部分集合のハミング重みを一度に計算し、そしてこれらの部分集合ハミング重みを合計することによって、総ハミング重みを直接計算するよりはむしろ、必要とされる補助キュービット数はn-1から
【数２１】
2021505982.tif 000023
にまたは2log2nにさえ削減できる。
【００５１】
例えば、システムは、n回の位相演算(または同等に、n回の位相演算が行われることになるn個のキュービット)をサイズ
【数２２】
2021505982.tif 000024
の多数のグループへグループ化し、そしてサイズ
【数２３】
2021505982.tif 000025
の総計キュービットレジスタを準備できる。各グループに対して、システムは、
【数２４】
2021505982.tif 000026
個の補助キュービットを使用してグループ内のキュービットのハミング重みを計算し、そして準備した総計キュービットレジスタへ計算されるグループ合計を加算する。システムは、次いでグループ内のキュービットのハミング重みを逆計算する。同じ
【数２５】
2021505982.tif 000027
個の補助キュービットが、各グループのハミング重みを計算するために使用できる。全ての
【数２６】
2021505982.tif 000028
個のグループのハミング重みが計算されて合計に加算された後に、上記したように総計レジスタ内の合計ハミング重みに位相演算が適用できる。次いで、各グループに対して、システムは、グループ内のキュービットのハミング重みを再計算し、そして総計レジスタから計算されるグループ合計を減算して、総計ハミング重みレジスタを逆計算する。これは、必要とされる補助キュービット数をn-1から
【数２７】
2021505982.tif 000029
に削減する。補助キュービット数は、より多くのTゲートを必要とすることを犠牲にして削減されるが、しかしながら元のn回の位相演算を
【数２８】
2021505982.tif 000030
回の位相演算に削減するために必要とされるTゲート数は、
【数２９】
2021505982.tif 000031
がほぼ上限であり、これは著しく多くの(すなわち、n個の)補助キュービット以外に4n-4個のTゲートを必要とするハミング重みフェージング方法の既存の応用より僅かに多いだけである。
【００５２】
n回の位相演算を各々サイズlog2nのn/log2n個のグループへ分割することによって、更なる削減も達成できる。これらのグループの各々に対して、システムは、グループ内のキュービットのハミング重みを計算し、この重みを累算器レジスタ(総計キュービットレジスタ)へ加算し、次いでグループ内のキュービットのハミング重みを逆計算できる。累算器レジスタは、そこでキュービットの全集合のハミング重みを含む。上記したように累算器レジスタ内の合計ハミング重みに位相演算が適用できる。次いで、各グループに対して、システムは計算プロセスの逆を行う、例えば、システムは、グループ内のキュービットのハミング重みを再計算し、そして累算器レジスタから計算されるグループ合計を減算して、総計ハミング重みレジスタを逆計算する。これは、行われなければならない加算演算数を2倍にするが、空間要件を2log2nに削減する。
【００５３】
図3〜図10は、例示プロセス200およびハミング重みフェージングの様々な応用を図示する。例えば、図3Aは、第1および第2のキュービットに、フェーズドプラス状態Zθ|+〉で準備される第3のキュービットを使用して、目標位相演算Zθを行うための例示量子回路の回路図300である。
【００５４】
回路図300に図示される例示量子回路では、第1のキュービット、第2のキュービットおよび第3のキュービットは横線302a〜cによって表現される。例示量子回路300では、キュービット302aおよび302bは、目標位相演算Zθが行われることになる第1および第2のキュービットを表現する。キュービット302aおよび302bは、それぞれ、入力状態|ψ0〉および|ψ1〉で例示量子回路300に提供される。入力状態|ψ0〉および|ψ1〉は、キュービット302aもしくは302bのいずれかの初期状態であることができる、すなわち、キュービット302aもしくは302bは任意の初期状態で準備されたかもしれず、または以前の計算の出力を表現する状態であることができる。キュービット302cは、フェーズドプラス状態Zθ|+〉で準備される第3のキュービットを表現する。キュービット302cは、既存の技術のいずれか1つを使用してフェーズドプラス状態で準備できる。
【００５５】
例示量子回路300は、キュービット302a〜302cに適用される一連のゲートを含む。一連のゲートは、第3のキュービット302cに適用される第1のNOT演算304を含む。キュービット302a〜302cに第1の演算の集合306が次いで適用されてキュービット302a〜302cの制御加算器演算を計算する。第1の演算の集合306は、3つのキュービット302a〜302cに適用されるマルチターゲットCNOTゲート306aを含み、ここで第1のキュービットがマルチターゲットCNOTゲートのためのコントロールとして作用する。第1の演算の集合306は、第2および第3のキュービット間で行われる論理AND演算306bを更に含む。論理AND演算の結果は第4のキュービット302dに符号化される。第1の演算の集合306は、第1のキュービット302aおよび第4のキュービット302dに適用されるCNOTゲート306cを更に含み、ここで第1のキュービット302aがCNOTゲートのためのコントロールとして作用する。
【００５６】
一連のゲートは、第4のキュービット302dに適用される目標位相演算の2乗308を更に含む。キュービット302a〜302dに第2の演算の集合310が次いで適用されて、第1の演算の集合306によって行われた制御加算器演算を逆計算する。第2の演算の集合310は、第1のキュービット302aにかつ第4のキュービット302dに適用されるCNOT演算310aを含み、ここで第1のキュービット302aがCNOT演算310aのためのコントロールとして作用する。第2の演算の集合310は、第2のキュービット302bと第3のキュービット302cとの間の論理AND演算の逆計算310bを更に含む。
【００５７】
一連のゲートは、第2のキュービット302bおよび第3のキュービット302cに適用されるCNOT演算312を更に含み、ここで第2のキュービット302bがCNOT演算312のためのコントロールとして作用する。一連のゲートは、第1のキュービット302a、第2のキュービット302bおよび第3のキュービット302cに適用されるマルチターゲットCNOT演算314を更に含み、ここで第1のキュービット302aがマルチターゲットCNOT演算314のためのコントロールとして作用する。一連のゲートは、第3のキュービット302cに適用されるNOT演算316を含む。NOT演算316はキュービットを元のフェーズドプラス状態Zθ|+〉に戻す。
【００５８】
例示量子回路が3つのキュービット302a〜c(および第4のキュービット302d)に適用された後、目標位相演算Zθが第1のキュービット302aおよび第2のキュービット302bに適用されたことになる。すなわち、例示量子回路300は、資源状態-目標位相演算の角度に同等の角度だけフェージングされた|+〉状態-および同角度だけフェージングされることになる2つの入力状態に作用し、目標方法で2つの入力状態をフェージングし、そして資源状態を返す。
【００５９】
図3Bは、第1および第2のキュービットに、フェーズドプラス状態で準備される第3のキュービットを使用して、目標位相演算を行うための代替量子回路の回路図350である。図3Bに図示される代替量子回路は、図3Aに図示される量子回路によって生成されるものと同じである出力状態を生成するが、補助(第4の)キュービットを必要としない。すなわち、代替量子回路は、3つのキュービット302a〜cに適用される一連のゲートを含む。一連のゲートは、第3のキュービットに適用されるNOT演算、全ての3つのキュービットに適用される、第3のキュービットがコントロールとして作用する、マルチターゲットCNOTゲート、第3のキュービットに適用される、第1および第2のキュービットがコントロールとして作用する、CNOTゲート、第3のキュービットに適用される2乗位相演算、第3のキュービットに適用される、第1および第2のキュービットがコントロールとして作用する、CNOT演算、全ての3つのキュービットに適用される、第3のキュービットがコントロールとして作用する、マルチターゲットCNOTゲート、第1および第3のキュービットに適用され、第1のキュービットがコントロールとして作用する、CNOTゲート、第2および第3のキュービットに適用され、第2のキュービットがコントロールとして作用する、CNOTゲート、ならびに第3のキュービットに行われるNOT演算を含む。
【００６０】
例示プロセス200は、第1の入力状態で準備される第1のキュービットにも第2の入力状態で準備される第2のキュービットにも、
【数３０】
2021505982.tif 000032
状態で準備される第3のキュービットを使用して、
【数３１】
2021505982.tif 000033
ゲートを行うために使用されてよい。図4は、第1の入力状態で準備される第1のキュービットおよび第2の入力状態で準備される第2のキュービットに、
【数３２】
2021505982.tif 000034
状態で準備される第3のキュービットを使用して、
【数３３】
2021505982.tif 000035
ゲートを行うための例示量子回路の回路図400である。図4は、2つの
【数３４】
2021505982.tif 000036
ゲートがどのように5つのTゲート(加算器計算および逆計算のために4つならびに回路の内部、例えば、演算308のために1つ)または
【数３５】
2021505982.tif 000037
演算当たり2.5個のTゲートの合計コストで行われ得るかを図示する。既存の方法(すなわち、本明細書に記載されるものと異なる方法)を使用して
【数３６】
2021505982.tif 000038
状態を準備するために50個のTゲートの初期コストが必要とされ得るので、本記載の技術はコストの点で既存の技術より1桁良好である。
【００６１】
ハードウェアを動作させる:位相演算を適用するときに量子状態を複製するための例示方法
図2〜図4を参照しつつ上記した例示プロセス200は、第1の入力状態で準備される第1のキュービットにも第2の入力状態で準備される第2のキュービットにも、フェーズドプラス状態で準備される第3のキュービットを使用して、任意の目標位相演算を行うために使用され、ここで第1の入力状態および第2の入力状態がいかなる任意の初期状態または以前の計算の出力を表現する状態も含むことができる。図2〜図4を参照しつつ記載した技術は、目標位相演算を適用すると共に量子状態を複製するためにも活用できる。
【００６２】
例えば、任意の第1の入力状態で準備される第1のキュービットに単一の位相演算Zθが行われることになる設定では、第2のキュービットはプラス状態で準備されてよく(すなわち、第2の入力状態はプラス状態であり)、そして第3のキュービットはフェーズドプラス状態で準備されてよい。例示プロセス200の応用は、次いで第2のキュービットをフェーズドプラス状態で出力することによって、第3のキュービットの状態を維持して第3のキュービットの状態を複製する。この複製した状態は次いで、次の量子計算に使用するために、例えば、図6を参照しつつ下記されるように、第5および第6のキュービットに同じ目標位相演算を行うための次の例示プロセス200の応用での資源状態として、目標位相演算を適用すると共に量子状態を複製するための次の例示プロセス200の応用での資源状態として、または別の位相演算を行うための資源状態として、提供されてよい。
【００６３】
図5は、目標位相演算Zθを行うと共に量子状態を複製するための例示量子回路の回路図500である。回路図500に図示される例示量子回路では、第1のキュービット、第2のキュービットおよび第3のキュービットは横線502a〜cによって表現される。キュービット502aは、目標位相演算Zθが行われることになる第1のキュービットを表現する。キュービット502cは、状態Zθ|+〉がキュービット502bを使用して複製されることになる第3のキュービットを表現する。
【００６４】
図3Aを参照しつつ上記したように、キュービット502aは、任意の入力状態|ψ〉で例示量子回路に提供される。例えば、入力状態|ψ〉は、キュービット502aの最初で準備される状態であることができる、または以前の計算の出力を表現する状態であることができる。キュービット502cは、フェーズドプラス状態Zθ|+〉で例示量子回路に提供される。図3Aに図示される例示回路とは異なり、キュービット502bは、プラス状態|+〉504で準備される。すなわち、図3および図4を参照しつつ上記した第2の入力状態はプラス状態である。
【００６５】
図5に図示される例示量子回路によって行われる動作は、上記図3Aを参照しつつ図示および上記したものと同様である一連のゲートを含む。便宜上、この一連のゲートの説明は繰り返さない。
【００６６】
図5に図示される例示量子回路が3つのキュービット502a〜c(および第4のキュービット502d)に適用された後、目標位相演算Zθが第1のキュービット502aに適用されたことになる。目標位相演算Zθは第2のキュービット502bにも適用されており、結果としてフェーズドプラス状態Zθ|+〉506となる。第3のキュービット502cの量子状態は消費されておらず、同じくフェーズドプラス状態Zθ|+〉である。すなわち、第2の位相演算を適用する機会を逃がして第1の位相演算を適用するだけの代わりに、資源状態Zθ|+〉の第2のコピー506が作成されて回路へ渡された。
【００６７】
ハードウェアを動作させる:2.75個のTゲートを使用して個々の
【数３７】
2021505982.tif 000039
ゲートを行うための例示方法
図2〜図5を参照しつつ記載した技術は、個々の(Zθ)1/2位相演算、例えば、
【数３８】
2021505982.tif 000040
ゲートを行うためにも使用できる。上記した技術を使用して
【数３９】
2021505982.tif 000041
ゲートを行うことは、図5を参照しつつ上記した回路を
【数４０】
2021505982.tif 000042
として3つのキュービット-任意の第1の入力状態|ψ〉で準備される第1のキュービット、プラス状態で準備される第2のキュービットおよびフェーズドプラス状態で準備される第3のキュービット-に適用して、第1のキュービットを
【数４１】
2021505982.tif 000043
状態に、第2のキュービットをフェーズドプラス状態
【数４２】
2021505982.tif 000044
に、そして第3のキュービットを同じフェーズドプラス状態
【数４３】
2021505982.tif 000045
に置くことを含んでよい。
【００６８】
【数４４】
2021505982.tif 000046
の第3のキュービットは資源状態であり、以降のゲートテレポーテーション演算、例えば、例示プロセス200に基づく演算を行うために再使用されてよい。
【数４５】
2021505982.tif 000047
状態の第2のキュービットは、次の回路の適用を通じて
【数４６】
2021505982.tif 000048
を発生するために使用されてよい。次の回路の適用は、目下フェーズドプラス状態にある第2のキュービットと任意の入力状態で準備される第5のキュービットとの間のCNOT演算を適用することを含んでよく、ここで第5のキュービットがCNOT演算のためのコントロールとして作用する。第2のキュービットは次いで測定されてよく、そして第2のキュービットを測定することから生成される測定結果が第2のキュービットがオンであることを示す場合、第5のキュービットに2乗位相演算(T演算/ゲート)が行われてよい。
【００６９】
図6は、個々の
【数４７】
2021505982.tif 000049
ゲートを行うための例示量子回路の回路図600である。図6に図示される例示量子回路は、2つの部分回路602および604を含む。部分回路602は、
【数４８】
2021505982.tif 000050
として図5に図示される例示量子回路と同じであり、したがって便宜上再度説明しない。部分回路604は、2つのキュービット-任意の入力状態|ψ〉で準備される第5のキュービット606およびフェーズドプラス状態
【数４９】
2021505982.tif 000051
で部分回路604に提供される部分回路602からの第2のキュービットに作用する。
【００７０】
部分回路604は、フェーズド入力状態
【数５０】
2021505982.tif 000052
614を提供できる一連のゲートを含む。一連のゲートは、第5のキュービット606とフェーズドプラス状態の第2のキュービットとの間のCNOT演算608、第2のキュービットに適用されて、それぞれの測定結果を発生する測定演算610、および演算610から生成される測定結果が第2のキュービットがオンであることを示す場合、第5のキュービットに位相演算(修正演算)を適用する制御位相演算612を含む。量子重ね合わせのため、修正演算が行われる可能性が50%ある。したがって、
【数５１】
2021505982.tif 000053
演算を行うコストは、
【数５２】
2021505982.tif 000054
状態を消費するときに、平均して0.5である。追加の状態
【数５３】
2021505982.tif 000055
を生成することと追加の状態
【数５４】
2021505982.tif 000056
を消費することとの間で交互することによって、いかなる数の不対の
【数５５】
2021505982.tif 000057
演算も(5+0.5)/2=2.75個のTゲートの平均コストで行うことができる。
【００７１】
【数５６】
2021505982.tif 000058
演算を行うためのコストが所望の精度の量とともには増えないことが留意される。最初の
【数５７】
2021505982.tif 000059
状態を生成するコストだけが所望の精度とともに増える。しかし、これらの段取コストは一度払われるだけであるので、行われる
【数５８】
2021505982.tif 000060
演算ごとのコストにわたって償却できる。
【００７２】
ハードウェアを動作させる:4.07個のTゲートを使用して個々の
【数５９】
2021505982.tif 000061
ゲートを行うための例示方法
図2〜図6を参照しつつ上記した技術は、個々の(Zθ)1/4位相演算、例えば、
【数６０】
2021505982.tif 000062
ゲートを行うための例示方法を提供するために組み合わせることができる。
【００７３】
図7は、
【数６１】
2021505982.tif 000063
演算を行うための例示量子回路の回路図700である。この場合には、
【数６２】
2021505982.tif 000064
状態702も
【数６３】
2021505982.tif 000065
状態704も例示量子回路から出力として提供される。
【数６４】
2021505982.tif 000066
状態は、孤立した
【数６５】
2021505982.tif 000067
演算を行うときに択一的に生成および消費され、この場合には
【数６６】
2021505982.tif 000068
内部フェージング演算が行われる。図7に図示される
【数６７】
2021505982.tif 000069
構成のT数は、したがって、
【数６８】
2021505982.tif 000070
である。一般に、T演算の2^k乗根を行うことは、漸化関係R(k)=1、R(k)=2+3/4*R(k)を充足し、かつ角度または所望の精度がどんなに微細であろうとも、8の上限によって制限されるコストを有する。
【００７４】
時間の4分の3、上記したフェージング構成は、目標フェージング演算の角度の2倍の第2のフェージング演算が行われることを必要とする。第2のフェージング演算は、同じ技術を使用して行われてよい。しかしながら、第2のフェージング演算は次いで、元のフェージング演算の角度の4倍ごとの第3のフェージング演算を生成してもよい。必要な状態が準備される限り、この再帰は、所望される限り続けることができる。(但し、実際には、それは、空間対時間トレードオフ-反復が多いほど多くのTゲートを節約するが、反復が多いほど多くの空間を必要とする-によって決定される数の反復後に終了されてよい。)
【００７５】
ハードウェアを動作させる:Tゲートを行うための例示反復方法
図7を参照しつつ上記した技術は、梯子状の位相演算を使用して目標位相演算を行う例示方法を提供するために反復できる。例えば、図8は、Zθゲートが行われるまで
【数６９】
2021505982.tif 000071
ゲートを反復的に行うための例示量子回路梯子構成800の回路図である。例示梯子構成800はTゲートを行うとして図示されるが、これは単に便宜上であり、他の位相演算が行われてもよい。
【００７６】
図2〜図8に図示されるように、行われることになるフェージング演算は、2倍にフェージングする内部フェージング演算、例えば、図3Aの演算308および図8の演算802a〜cに委ねられる。出発点が相当数の2による乗算後に45度の倍数になる角度であると、このプロセスはTゲートとなり終了できる。120度などの奇数周期を持つ角度、1ラジアンなどの45度の無理倍数である角度、または目標角からTゲートに達するまでの全ての必要な資源状態を準備することが必要以上に高コストとなるほど小さな角度に対しては、異なる手法が必要とされる。これらの場合、資源状態は、或る有限長まで所望の角度、所望の角度の2倍、所望の角度の4倍等で準備できる。定数のTゲートを達成するために、この長さは、lg(lg(1/epsilon))として漸近的に拡縮するべきである。一部の場合には、例えば、実際上は、連鎖は25未満の長さを有し得る。フェージング演算は次いで、「連鎖の先端が通される」ときに演算が既存の技術で「難儀して(the hard way)」適用される以外は、それがTゲートにおいて終了する角度に対する通りに行われる。これは、コストを記述している漸化関係を、R(k)=1、R(k)=2+3/4*R(k)からR(k)=1.15*lg(1/epsilon)、R(k)=2+3/4*R(k)に変化させる。この漸化関係を解き、そしてR(k)≦10となるkを長さに対して解くことによりlg(lg(1/epsilon))拡縮を示す。
【００７７】
一旦状態の連鎖が所与の角度で準備されたなら、それは破棄前に可能な限り使用できる。1つの特に有益な状況は、2つまたは4つの演算が同時に行われる必要があるときである。例えば、行うべき2つの演算があるときに、追加の状態を生成することまたは追加の状態を消費することは必要でない。例示プロセス200を直接適用できる。これは、角度2θのフェージング演算を発生させることになるが、この基本演算(および加算器)のコストは、1つの代わりに2つの所望の演算にわたって償却されることになる。そこで、P[n]のコストがR[n]のように2+3/4 R[n-1]である代わりに、そのコストは(4+R[n-1])/2=2+1/2 R[n-1]である。1/4 R[n-1]の節約が達成される。R[k]が、あまり大きくないkに対して8に収束するので、これは約2つのTゲートの節約を意味する。更には、
【数７０】
2021505982.tif 000072
が偶然にも45度の倍数であれば、プロセスは、単一のTゲートを適用することによってk次レベルで直ちに終了できる。図9は、演算のペアにわたってゲートコストを償却するための例示量子回路構成の第1の回路図900を示す。図10は、4つの演算のグループにわたってゲートコストを償却するための例示量子回路構成の第2の回路図1000を示す。資源状態を消費することなく2つのフェージングを適用する回路が、状態を消費する回路と交互しなければならない代わりに、その全潜在能力まで使用できるので、このように梯子登りコスト(ladder climbing costs)を償却することは、最大平均T数を約8からそれぞれ約6または約5に削減する。
【００７８】
追加の状態を保つことは、図11に例示されるように、ハミング重みを計算することを通じて回避され得る。図11は、ゲートの反復適用およびゲートの並列に近い適用からの更なる補間がどのように予測コストを低下させるかを示す。これは、生ハミング重みフェージング技術(raw Hamming weight phasing technique)が反復梯子ベースの技術より一層効率的であるからである。
【００７９】
本明細書に記載されるデジタルおよび/または量子対象ならびにデジタル機能操作および量子演算の実装例は、デジタル電子回路網、適切な量子回路網もしくは、より一般に、量子計算システムで、有形に具現化されたデジタルおよび/もしくは量子コンピュータソフトウェアもしくはファームウェアで、本明細書に開示される構造およびそれらの構造等価物を含め、デジタルおよび/もしくは量子コンピュータハードウェアで、またはそれらの1つもしくは複数の組合せで実装できる。用語「量子計算システム」は、量子コンピュータ、量子情報処理システム、量子暗号システムまたは量子シミュレータを含んでよいが、これに限定されない。
【００８０】
本明細書に記載されるデジタルおよび/または量子対象の実装例は、1つまたは複数のデジタルおよび/または量子コンピュータプログラム、すなわち、データ処理装置による実行のために、またはその動作を制御するために有形の非一時的記憶媒体に符号化されたデジタルおよび/または量子コンピュータプログラム命令の1つまたは複数のモジュールとして実装できる。デジタルおよび/または量子コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、1つもしくは複数のキュービット、またはそれらの1つもしくは複数の組合せであることができる。代替的にまたは加えて、プログラム命令は、データ処理装置による実行のために適切な受信器装置に送信するためのデジタルおよび/または量子情報を符号化するために生成される、デジタルおよび/または量子情報を符号化することが可能である人工発生伝搬信号、例えば、機械発生電気、光または電磁信号上に符号化できる。
【００８１】
用語、量子情報および量子データは、最小の重要な系がキュービット、すなわち、量子情報の単位を定義する系である、量子系によって伝達、保持または記憶される情報またはデータを指す。用語「キュービット」が対応する文脈で二準位系として適切に近似され得る全ての量子系を包含することが理解される。そのような量子系としては、例えば、二準位以上の多準位系を含んでよい。例として、そのような系としては、原子、電子、光子、イオンまたは超伝導キュービットを含むことができる。多くの実装例では、計算基礎状態は基底および第1の励起状態と識別されるが、しかしながら計算状態が高次励起状態と識別される他の構成が可能であることが理解される。
【００８２】
用語「データ処理装置」は、デジタルおよび/または量子データ処理ハードウェアを指し、そして例としてプログラマブルデジタルプロセッサ、プログラマブル量子プロセッサ、デジタルコンピュータ、量子コンピュータ、多数のデジタルおよび量子プロセッサまたはコンピュータ、ならびにその組合せを含む、デジタルおよび/または量子データを処理するための全ての種類の装置、デバイスおよび機械を包含する。同装置は、専用論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、または量子シミュレータ、すなわち、特定の量子系についての情報をシミュレーションもしくは生成するように設計される量子データ処理装置であることも、またはそれを更に含むこともできる。特に、量子シミュレータは、全般的な量子計算を行う能力を有しない専用量子コンピュータである。同装置は、ハードウェアに加えて、デジタルおよび/または量子コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組合せを構成するコードを任意選択で含むことができる。
【００８３】
デジタルコンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプトまたはコードとも称してまたは記載してよく、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含め、任意の形式のプログラミング言語で書くことができ、そしてそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはデジタルコンピューティング環境での使用に適する他のユニットとしてを含め、任意の形式に展開できる。量子コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプトまたはコードとも称してまたは記載してよく、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含め、任意の形式のプログラミング言語で書かれ、そして適切な量子プログラミング言語へ変換できる、あるいは量子プログラミング言語、例えば、QCLまたはQuipperで書くことができる。
【００８４】
デジタルおよび/または量子コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るが、しなくてもよい。プログラムは、他のプログラムもしくはデータ、例えば、マークアップ言語文書に記憶される1つもしくは複数のスクリプトを保持するファイルの一部分に、当該プログラムに専用の単一のファイルに、または多数の連係ファイル、例えば、1つもしくは複数のモジュール、サブプログラムもしくはコードの一部分を記憶するファイルに記憶できる。デジタルおよび/または量子コンピュータプログラムは、展開されて1つのデジタルまたは1つの量子コンピュータ上で、あるいは1つのサイトに設けられるまたは多数のサイトにわたって分散されてデジタルおよび/もしくは量子データ通信ネットワークによって相互接続される多数のデジタルおよび/または量子コンピュータ上で実行できる。量子データ通信ネットワークは、量子系、例えばキュービットを使用して量子データを送信し得るネットワークであると理解される。一般に、デジタルデータ通信ネットワークは量子データを送信できないが、しかしながら量子データ通信ネットワークは量子データもデジタルデータも送信し得る。
【００８５】
本明細書に記載されるプロセスおよび論理フローは、1つまたは複数のデジタルおよび/または量子プロセッサが、適宜、1つまたは複数のデジタルおよび/または量子コンピュータプログラムを実行して、入力デジタルおよび量子データを演算して出力を発生することによって機能を行って動作する、1つまたは複数のプログラマブルデジタルおよび/または量子コンピュータによって行うことができる。同プロセスおよび論理フローは、専用論理回路網、例えば、FPGAもしくはASIC、または量子シミュレータによって、あるいは専用論理回路網または量子シミュレータならびに1つまたは複数のプログラムされたデジタルおよび/または量子コンピュータの組合せによっても行うことができ、ならびに装置もそれとして実装できる。
【００８６】
1つまたは複数のデジタルおよび/または量子コンピュータのシステムが特定の動作または作用を行う「ように構成」されることは、システムが自らに、動作に際して同システムに同動作または作用を行わせるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしたことを意味する。1つまたは複数のデジタルおよび/または量子コンピュータプログラムが特定の動作または作用を行うように構成されることは、1つまたは複数のプログラムが、デジタルおよび/または量子データ処理装置によって実行されると、同装置に同動作または作用を行わせる命令を含むことを意味する。量子コンピュータは、量子コンピューティング装置によって実行されると、同装置に同動作または作用を行わせる命令をデジタルコンピュータから受信してよい。
【００８７】
デジタルおよび/または量子コンピュータプログラムの実行に適するデジタルおよび/または量子コンピュータは、汎用もしくは専用デジタルおよび/もしくは量子プロセッサもしくは両方、または任意の他の種類の中央デジタルおよび/もしくは量子処理ユニットに基づくことができる。一般に、中央デジタルおよび/または量子処理ユニットは、リードオンリメモリ、ランダムアクセスメモリ、もしくは量子データ、例えば光子を送るのに適する量子系、またはその組合せから命令ならびにデジタルおよび/または量子データを受けることになる。
【００８８】
デジタルおよび/または量子コンピュータの必須要素は、命令を行うまたは実行するための中央処理ユニット、ならびに命令およびデジタルおよび/または量子データを記憶するための1つまたは複数のメモリデバイスである。中央処理ユニットおよびメモリは、専用論理回路網または量子シミュレータによって補足、またはそれに統合できる。一般に、デジタルおよび/または量子コンピュータは更に、デジタルおよび/または量子データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、光ディスク、または量子情報を記憶するのに適する量子系を含む、あるいは作動的に結合されて、それからデジタルおよび/もしくは量子データを受けるまたはそれにデジタルおよび/もしくは量子データを転送するまたは両方行うことになる。しかしながら、デジタルおよび/または量子コンピュータはそのようなデバイスを有する必要はない。
【００８９】
デジタルおよび/または量子コンピュータプログラム命令ならびにデジタルおよび/または量子データを記憶するのに適するデジタルおよび/または量子コンピュータ可読媒体としては、例として、半導体メモリデバイス、例えば、EPROM、EEPROMおよびフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスクまたは取外し可能ディスク;光磁気ディスク;CD-ROMおよびDVD-ROMディスク;ならびに量子系、例えば、トラップ原子または電子を含む、全ての形態の不揮発性デジタルおよび/または量子メモリ、媒体およびメモリデバイスを含む。量子メモリが、高忠実度および効率で長時間の間、量子データを記憶できる素子、例えば、伝送のために光が使用され、そして重ね合わせまたは量子コヒーレンスなどの量子データの量子特徴を記憶および保存するために物質が使用される光-物質インタフェースであることが理解される。
【００９０】
本明細書に記載される様々なシステムまたはそれらの一部分の制御は、1つまたは複数の非一時的機械可読記憶媒体に記憶され、かつ1つまたは複数のデジタルおよび/または量子処理デバイス上で実行可能である命令を含むデジタルおよび/または量子コンピュータプログラム製品で実装できる。本明細書に記載されるシステムまたはそれらの一部分は各々、1つまたは複数のデジタルおよび/または量子処理デバイスならびにメモリを含んで、実行可能命令を記憶して、本明細書に記載される動作を行い得る装置、方法またはシステムとして実装できる。
【００９１】
本明細書が多くの具体的な実装詳細を含むが、これらは、特許請求され得るものの範囲への限定としてでなく、むしろ特定の実装例に固有であり得る特徴の記述として解釈されるべきである。別々の実装例の文脈で本明細書に記載される或る特徴が、組み合わせて単一の実装例でも実装できる。反対に、単一の実装例の文脈で記載される様々な特徴が、別々に多数の実装例でも、または任意の適切な下位組合せでも実装できる。その上、特徴が或る組合せで作用すると上記され、しかもそのように最初に特許請求され得るが、特許請求された組合せからの1つまたは複数の特徴が、一部の場合には、同組合せから削除でき、そして特許請求された組合せは、下位組合せまたは下位組合せの変形とされ得る。
【００９２】
同様に、動作が特定の順に図面に描かれるが、これは、望ましい結果を達成するために、そのような動作が図示される特定の順にもしくは順番に行われること、または全ての例示された動作が行われることを必要とすると理解されるべきでない。或る状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記した実装例における様々なシステムモジュールおよび部品の分離は、全ての実装例においてそのような分離を必要とすると理解されるべきでなく、記載されたプログラム部品およびシステムが一般に単一のソフトウェア製品に共に統合できるまたは多数のソフトウェア製品へ実装できることが理解されるべきである。
【００９３】
本対象の特定の実装例が記載された。他の実装例は以下の特許請求の範囲内である。例えば、特許請求の範囲に列挙される作用は異なる順に行え、それでも望ましい結果を達成できる。一例として、添付図に描かれるプロセスは、望ましい結果を達成するために、必ずしも図示される特定の順または順番を必要とするわけではない。一部の場合には、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【００９４】
100  システム
102  量子コンピューティングデバイス
104  古典プロセッサ
106  量子回路網
108  制御デバイス
112  Tファクトリ
114  キュービットのレジスタ
300  量子回路
302a  第1のキュービット
302b  第2のキュービット
302c  第3のキュービット
302d  第4のキュービット
304  第1のNOT演算
306  第1の演算の集合
306a  マルチターゲットCNOTゲート
306b  論理AND演算
306c  CNOTゲート
308  目標位相演算の2乗
310  第2の演算の集合
310a  CNOT演算
310b  論理AND演算の逆計算
312  CNOT演算
314  マルチターゲットCNOT演算
316  第2のNOT演算
350  量子回路
400  量子回路
500  量子回路
502a  第1のキュービット
502b  第2のキュービット
502c  第3のキュービット
502d  第4のキュービット
504  プラス状態
506  フェーズドプラス状態
600  量子回路
602  部分回路
604  部分回路
606  第5のキュービット
608  CNOT演算
610  測定演算
612  制御位相演算
614  フェージング入力状態
700  量子回路
800  量子回路梯子構成
900  量子回路構成
1000  量子回路構成
【図１】
2021505982.tif 000076
【図２】
2021505982.tif 000077
【図３Ａ】
2021505982.tif 000078
【図３Ｂ】
2021505982.tif 000079
【図４】
2021505982.tif 000080
【図５】
2021505982.tif 000081
【図６】
2021505982.tif 000082
【図７】
2021505982.tif 000083
【図８】
2021505982.tif 000084
【図９】
2021505982.tif 000085
【図１０】
2021505982.tif 000086
【図１１】
2021505982.tif 000087
【手続補正書】
【提出日】令和2年6月9日(2020.6.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピューティングデバイスにおいて、第1および第2のキュービットに、フェーズドプラス状態で準備される第3のキュービットを使用して、同じ位相演算を行うための、方法であって、
前記第3のキュービットに第1のNOT演算を行うステップと、
前記第1、第2および第3のキュービットの制御加算器演算を計算するステップであり、前記制御加算器演算の結果を第4のキュービットに符号化することを含む、ステップと、
前記第4のキュービットに前記位相演算の2乗を行うステップと、
前記第1、第2および第3のキュービットの前記制御加算器演算を逆計算するステップと、
前記第1のキュービットと前記第3のキュービットとの間のCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2のキュービットと前記第3のキュービットとの間のCNOT演算を行うステップであり、前記第2のキュービットがコントロールとして作用する、ステップと、
前記第3のキュービットに第2のNOT演算を行うステップと、
を含む、方法。
【請求項２】
前記制御加算器演算を計算するステップが、
前記第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2および第3のキュービット間の論理AND演算を計算するステップと、
前記論理AND計算の結果を前記第4のキュービットに符号化するステップと、
前記第1のキュービットと前記第4のキュービットとの間のCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
を含む、請求項1に記載の方法。
【請求項３】
前記制御加算器演算を逆計算するステップが、
前記第1のキュービットおよび前記第4のキュービットにCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2および第3のキュービット間の論理AND演算を逆計算するステップと、
前記第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、を含む、請求項1に記載の方法。
【請求項４】
前記第1、第2および第3のキュービットの前記制御加算器演算を逆計算するステップと、
前記第1のキュービットと前記第3のキュービットとの間のCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2のキュービットと前記第3のキュービットとの間のCNOT演算を行うステップであり、前記第2のキュービットがコントロールとして作用する、ステップとが、
前記第1のキュービットおよび前記第4のキュービットにCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
前記第2および第3のキュービット間の論理AND演算を逆計算するステップと、
前記第2のキュービットおよび前記第3のキュービットにCNOT演算を行うステップであり、前記第2のキュービットがコントロールとして作用する、ステップと、
前記第1、第2および第3のキュービットにマルチターゲットCNOT演算を行うステップであり、前記第1のキュービットがコントロールとして作用する、ステップと、
を含む、請求項1に記載の方法。
【請求項５】
前記第3のキュービットに前記第2のNOT演算を行うステップが、前記第3のキュービットを前記フェーズドプラス状態に戻す、請求項1に記載の方法。
【請求項６】
前記第1および第2のキュービットが、最初は任意の初期状態で準備される、請求項1に記載の方法。
【請求項７】
前記第1のキュービットが任意の初期状態で準備され、前記第2のキュービットがプラス状態で準備され、かつ前記第3のキュービットがフェーズドプラス状態で準備され、
前記第3のキュービットに前記第2のNOT演算を行った後に、前記第2のキュービットがフェーズドプラス状態にあり、前記第3のキュービットがフェーズドプラス状態にあり、かつ前記第1のキュービットに前記位相演算が行われている、請求項1に記載の方法。
【請求項８】
ゲートテレポーテーション演算に使用するために前記フェーズドプラス状態の前記第2のキュービットを提供するステップを更に含む、請求項7に記載の方法。
【請求項９】
前記ゲートテレポーテーション演算が、
請求項1の方法を使用して第5および第6のキュービットに第2の同じ位相演算を行うステップ、
請求項7の方法を使用して第5のキュービットに位相演算を行うときに第6のキュービットを第7のキュービットと同じ状態で準備するステップ、または
第5のキュービットに前記位相演算を行うステップ
のうちの1つを含む、請求項8に記載の方法。
【請求項１０】
第5のキュービットに前記位相演算を行うステップが、
前記フェーズドプラス状態で準備される前記第2のキュービットと任意の状態で準備される前記第5のキュービットとの間のCNOT演算を適用するステップであり、前記第5のキュービットがコントロールとして作用する、ステップと、
前記第2のキュービットを測定するステップと、
前記第2のキュービットを測定することから生成される測定結果が前記第2のキュービットがオンであることを示す場合、前記第5のキュービットに2乗位相演算を適用するステップと、
を含む、請求項9に記載の方法。
【請求項１１】
前記第4のキュービットに前記位相演算の2乗を行うステップが、請求項7の方法を行って、第5のキュービットに前記位相演算の前記2乗を行うときに第6のキュービットを第7のキュービットと同じ状態で準備するステップを含む、請求項7に記載の方法。
【請求項１２】
前記位相演算の2乗を反復的に行うステップを更に含む、請求項11に記載の方法。
【請求項１３】
生成される状態のハミング重みを決定するステップを更に含む、請求項1に記載の方法。
【請求項１４】
前記同じ位相演算が、式
【数１】
2021505982.tif 000088
の単一キュービット演算を含み、前記式中θが前記位相演算を特定し、そして前記位相演算の前記2乗がZ2θによって与えられる、請求項1に記載の方法。
【請求項１５】
フェーズドプラス状態が、プラス状態
【数２】
2021505982.tif 000089
に適用される前記所望の位相演算を含む、請求項1に記載の方法。
【請求項１６】
前記位相演算が、
【数３】
2021505982.tif 000090
演算を含む、請求項1に記載の方法。
【請求項１７】
N回の位相演算が複数のそれぞれのキュービットに行われることを必要とするシステムに対して、
同じ位相演算を必要とするキュービットをサイズО(sqrt(N))のО(sqrt(N))個のグループへグループ化するステップと、
サイズО(log(N))の総計キュービットレジスタを準備するステップと、
各グループに対して、
前記グループ内の前記キュービットのハミング重みを計算し、
前記総計キュービットレジスタへ、計算されるグループ合計を加算し、
前記グループ内の前記キュービットの前記ハミング重みを逆計算するステップと、
前記総計キュービットレジスタに位相演算を行うステップと、
各グループに対して、
前記グループ内の前記キュービットのハミング重みを計算し、
前記総計キュービットレジスタから計算されるグループ合計を減算し、
前記グループ内の前記キュービットの前記ハミング重みを逆計算するステップと
を更に含む、請求項1に記載の方法。
【請求項１８】
前記総計キュービットレジスタをクリアおよび破棄するステップを更に含む、請求項17に記載の方法。
【請求項１９】
1つまたは複数の古典プロセッサとデータ通信状態にある量子ハードウェアを備える装置であって、前記装置が、請求項1に記載の方法を行うように構成される、装置。
【請求項２０】
前記装置が、
キュービットのレジスタと、
前記キュービットのレジスタに結合される複数の制御線と、
前記複数の制御線に結合される複数の制御回路であり、請求項1から18のいずれか一項に記載の方法を行うように構成される、複数の制御回路と、
を備える、請求項19に記載の装置。
【国際調査報告】
2021505982.tif 000091
2021505982.tif 000092