IBM Quantum™の研究者は、隣接しない量子ビットを接続する新しく効率的な手法を開発し、現在の量子チップの限定的な接続性から生じる問題を克服しています。
動的回路(dynamic circuit/ダイナミック・サーキット)は、量子回路の実行中に量子ビットを測定し、その測定結果に基づいて回路実行中に古典論理演算を行えるようにする強力なツールです。その処理のすべては回路の実行が完了する前に一瞬のうちで行われるため、量子計算で問題を解く上での創造的なアプローチが可能になります。これらの機能は、これから実現するモジュール型の量子コンピューティング・アーキテクチャーや量子エラー訂正プロトコルに不可欠です。しかし、この可能性を最大限に引き出すためには、まだやるべきことがたくさんあります。
最近のブログ記事では、動的回路を使用して、古典の通信チャネルを介して量子もつれの統計情報を共有し、別々の量子プロセッサー上の2量子ビット間に仮想的に2量子ビット・ゲートを実装する手法を紹介しました。しかし、動的回路の有用性はそれだけではありません。 IBMの他の研究者がPRX Quantumに掲載した論文では、動的回路を利用することによって、同じチップ上の量子ビット間の長距離もつれを浅い回路で実現する効率的な方法を発表しています。このふたつめの実験に携わった研究者たちは、最大101量子ビットを使用して、IBMの超伝導量子コンピューターにこの手法を実装することができました。
1つのQPU上に長距離の量子もつれを作ることは、別々のQPU間で量子もつれを共有することとそんなに違わないように思えるかもしれませんが、二つの方法にはいくつかの重要な違いがあります。後者の方法は実行できる回路の規模が量子ビット数の観点で拡大しますが、前者は、量子回路で表現できる複雑さのレベルを量子ビットのもつれを使って大幅に拡大します。
この記事では、IBMの研究者が動的回路を使用して長距離のもつれゲートを作り、局所的に接続された量子ビットに長距離のもつれ状態を準備する方法について説明します。その過程で、これらの新機能が量子計算の未来に持つ計り知れない可能性についても探っていきます。
量子コンピューターは、ある種の計算問題をどんな古典計算手法よりも効率的に解く可能性を秘めています。ただし、その他の多くの計算タスクでは、古典計算の方が高速で信頼性が高いことは変わりません。実際、量子コンピューターは、量子回路の準備と回路実行結果の分析の両方を古典計算に依存しており、量子研究者は、回路実行に量子と古典の両方を組み合わせて活用するアルゴリズムの開発にますます力を入れています。
動的回路を用いるアルゴリズムは、量子回路において量子手法と古典手法がどのように連携できるかを示す有望で非常に汎用性の高い例とみなすことができます。動的回路は、中間測定を使用して、フィードフォワード演算、つまり回路内の量子ビットの測定結果に基づいた古典計算を行います。これらの古典計算は、その先の回路実行の中で適用するゲートを決定します。
この簡単な例は、量子ビットを|0>状態にリセットするリセット操作です。これを実装するには、特定の量子ビットを測定する動的回路をプログラムし、測定結果が1の場合は Xゲートを適用するが、測定結果が0の場合には何もしないようにします。
Xゲートとは何をするものでしょうか? 状態 |1⟩ の量子ビットに Xゲートを適用すると、量子ビットは状態 |0⟩ に変更されます。これは、量子ビットの状態を「反転」するため、「ビット反転」とも呼ばれます。
Qiskit YouTubeチャンネルの Qiskitセミナー・シリーズのエピソード 153から抜粋したConditional Resetの画像は原文ブログをご参照ください。このエピソードでは筆頭著者の Elisa BäumerがPRX Quantum論文について議論しています。この画像は、動的回路でのリセット操作のスキームを示しており、そこでXゲートの適用は回路中間での測定結果に基づいて行われます。
PRX Quantumの論文を書いたIBMの研究者は、動的回路を使うことで、深さの浅い量子回路で量子ビット間の長距離もつれを作成しています。彼らが論文で示した方法は、超伝導量子チップの量子ビット間の限定的な接続性の問題を克服すると同時に、環境ノイズに対する量子ビットの頑健性を高めるのに役立ちます。
量子コンピューターを古典コンピューターよりも優れたものにしている基本的な特性の一つは、量子ビット間に量子もつれを作り出す能力です。量子もつれとは、もつれ状態にある量子ビットの一方が他方の状態に影響を与えることです。
CNOTゲート(制御NOT・ゲート)は、量子ビット間に量子もつれ状態を作るために使用される最も一般的な 2量子ビット・ゲートの一つです。CNOTゲートには、制御量子ビットと標的量子ビットという、2つの量子ビットが必ず関わります。制御量子ビットが |1⟩ 状態の場合、CNOTゲートは目標量子ビットを反転します。制御量子ビットが他の状態にある場合、何も起こりません。ブラケット表記ではこれをCNOT(A|00⟩ + B|10⟩) = A|00⟩ + B|11⟩ と表します。
今日の超伝導量子チップは、量子ビット間の接続性が限定的です。たとえば、IBM Quantumチップではすべて最近傍接続に制限されており、直接隣接する量子ビット間のみ接続性があります。しかし、量子エラー訂正や量子シミュレーションなどの量子コンピューティング・アプリケーションでは、多くの場合、離れた位置にある量子ビット間の量子もつれが必要になります。量子コミュニティーは、これらの長距離CNOTゲートを実装する方法を開発してきましたが、それらの方法を実際に実装することは、現在の技術では困難な課題となることがあります。
現在の量子チップでは量子ビットの接続性が限られているため、すべての量子ビットのペア間にCNOTゲートを直接適用することはできません。互いに接続されていない 2量子ビット間に CNOT ゲートを適用する際には、スワップ・ゲートを利用します。名前が示すように、スワップ・ゲートを使えば量子ビットの位置を入れ替えることができます。たとえば、スワップ・ゲートを使用して、位置 Aと位置 Cの 2量子ビット間に CNOTゲートを適用することができます。これらの量子ビットは直接接続されていませんが、位置 Bにある第三の量子ビットと接続を共有しています。まず、位置 Aの量子ビットと Bの量子ビットにスワップ・ゲートを使用し、次に Bの量子ビットと Cの量子ビットの間で CNOT演算を施し、最後に位置 Aの量子ビットと Bの量子ビットの間にもう一度スワップ・ゲートを適用して、元の構成を復元します。スワップ・ゲートを使用する場合の問題の一つは、これが3つの CNOTゲートで実装されていることです。CNOTは量子回路のノイズと複雑さの主な原因であるため、使用するCNOTの数は最小限に抑えるべきです。
従来のユニタリ回路と、古典ロジックを組み込んだ動的回路のそれぞれで、長距離CNOTゲートを実装する方法を示した画像は原文ブログをご参照ください。
画像キャプション:論文の図1a。一番左は、長距離CNOTゲートです。中央の図は、最近傍接続のみを持つ量子チップに長距離CNOTゲートを作成するのに必要となる等価な量子回路を示しています。右は、動的回路で長距離CNOTゲートを実装するスキームを示しています。
最近傍接続のみを持つチップ上で通常のユニタリ回路を使用して長距離CNOTゲートを作成するには、長距離CNOTペアのメイン制御量子ビットと目標量子ビットの間に位置する量子ビットのペアごとに1つずつCNOTゲートを適用する必要があります。これにより、列に並んでいる人から次の人へ秘密のメッセージをささやく伝言ゲームのように、チップ全体に量子もつれを送ることができます。
伝言ゲームでは、列の最初の人が送ったメッセージをそのまま最後の人が受け取れることはほとんどありませんよね。参加者の一人から次の人へメッセージをささやくたびに伝達間違いが発生しますが、長距離 CNOTゲートについても同じことが言えます。この回路は、ハードウェア内で隣接する量子ビット間のCNOTゲートの実装が理想的ではないことによってもたらされるノイズの影響を受けます。回路がノイズによって悪影響を受ける可能性は、長距離CNOTの制御量子ビットと目標量子ビットの間に量子ビットを追加するごとに(すなわち、回路の深さが増すにつれて)、増加していきます。
上述の方法を使用した場合、長距離CNOTを実装するには4N+1 個のCNOTゲートが必要です。ここでNは、長距離CNOTの制御量子ビットと目標量子ビットの間の補助量子ビット数を表します。特に量子回路に2量子ビット・ゲートが追加されるたびに回路の全体的な複雑さが大幅に増加することを考えれば、この数のCNOTゲートは無視できない影響を持つと言えます。
この問題を解決するために、今回の研究論文の著者は、動的回路機能を使用して、比較的浅い回路で長距離CNOTゲートを実装する等価な手法を提案しています。この手法では、N +1 個のCNOTのみを必要とするということで、複雑さが大幅に軽減されます。動的回路を使用した長距離CNOTゲートは次のようになります。
動的回路で長距離CNOTを実現する手順のスキームを表す、この論文の図4は原文ブログをご参照ください。
ここで何が起こっているのかを詳しく見てみましょう。
長距離CNOTゲートを動的回路で構築するか、従来のユニタリ回路で構築するかに関係なく、まず長距離ゲートの目標量子ビットと制御量子ビットを、その間にあるすべての量子ビットともつれさせる必要があります。次に、中央のすべての量子ビットのもつれ状態を解消し、最初の量子ビットと最後の量子ビットの間、つまり長距離ゲートの制御量子ビットと目標量子ビットの間にのみ量子もつれを残す必要があります。回路の最後には、長距離ゲートの制御量子ビットと目標量子ビットの間の補助量子ビットの測定結果を使用し、結果に応じて量子ビットを反転させて、意図したとおりに長距離CNOTゲートが作成されたことを確認します。
前のセクションでは、これが通常のユニタリ回路でどのように機能するかを見ました。それでは、動的回路でどのように動作するかを見てみましょう。ここでは、5量子ビットの小さな例で、最初の量子ビットと最後の量子ビットの間に CNOTゲートを実装することを目標とします。この場合、最初の量子ビットと最後の量子ビットの間に実現したい最終的な量子状態は、ベル状態 |psi⟩=1/sqrt(2)(|00⟩ + |11⟩) です。
5量子ビットの、最初の量子ビットと最後の量子ビットの間に長距離CNOTを実現する、動的回路を用いた実装の図は原文ブログをご参照ください(画像出典: Simone Cantori)。
まず、最初の量子ビット・ペアに標準のベル状態を実装し、最後の 3量子ビットに GHZ状態を実装します。
ベル状態とGHZ状態とは何でしょうか? ベル状態とGHZ状態は、両方とも量子もつれ状態で、それらの数学的表現は次のとおりです。|Bell⟩=1/sqrt(2)(|00⟩ + |11⟩) および |GHZ⟩=1/sqrt(2)(|000⟩ + |111⟩)) です。
次に、2番目の量子ビットと 3番目の量子ビットの間に別の CNOTを使用して、これら 2つの量子状態をもつれさせる必要があります。そして最終的な目標は最初と最後の量子ビットのベル状態を実現することであるため、回路の中央部分にある補助量子ビットの量子もつれを解消して、リセットする必要があります。
3番目の量子ビットは、他の量子ビットともつれていて、パリティを格納しています。つまり、測定後、最初と最後の量子ビットが両方とも |00⟩ と |11⟩ の重ね合わせにあることを確認する必要があります。この結果を達成するために、測定結果に応じて最後の量子ビットにフィードフォワードXゲートを適用します。
そこから、中間測定を行う直前に、2番目と4番目の量子ビットにアダマール・ゲートを適用します。ただし、この操作で量子状態の一部の要素の位相が正 (+)から負 (-)に変更されます。中間測定の直後に最初の量子ビットにフィードフォワードZゲートを適用することで、正しい位相を実現できます。この手順のより正式な表現を次の画像で確認できます。
原文ブログで5量子ビットの例で、各ステップ後の量子状態を表す二分木の画像をご参照ください。最終的に可能な量子状態は、フィードフォワードZゲートの前の量子状態です。実際、_|00⟩_ 要素と _|11⟩_ 要素の符号が異なるのは、2 つの測定値のうちの一つが 1の場合のみであり、フィードフォワード Zが適用されるときだけであることがわかります(画像出展: Simone Cantori)。
また、動的回路で長距離CNOTゲートを実装するための中間ステップも、ここにあるアニメーションで見ることができます (ビデオ出展:Simone Cantori)。
ご注意いただきたいのは、古典の後処理手法を使用しても同じ結果が得ることはできるということです。その場合は、中間測定の結果によって量子ゲート(すなわち動的回路のプロトコルの最後にある最終的なXゲートとZゲートなど)を選択して適用するのではなく、測定ステップで回路の実行を終了し、そこからは古典演算を用います。このような後処理アプローチでは、動的回路で行われる古典フィードフォワード演算から生じるエラーによって結果が影響を受けることはありません。ただし、これは、長距離CNOTが回路の最後にある場合にのみ機能します。作成した長距離CNOTゲートが、そのCNOTの後に他のゲートを適用する必要がある大規模なアルゴリズムの一部である場合、残りの計算はCNOTの実装後に作成する量子状態に依存するため、後処理アプローチは機能しません。
長距離CNOTの動的回路実装では、ユニタリ回路バージョンよりもCNOTゲートが3N個少なくなります。ただし、N個の中間測定も必要です。これらの測定が3N個の CNOTゲートよりもノイズの影響を受けにくいことを考えると、動的回路は標準的なユニタリ回路アプローチよりもはるかに信頼性の高い代替手段であるように考えられます。
IBMの研究者は、実装された量子ゲートの忠実度を計算することにより、現在のIBM Quantumコンピューターを使用してこの利点を検証しています。
論文の図1cは原文ブログをご参照ください。さまざまな量子ビット数に対するゲート忠実度。ユニタリ回路は、動的回路の実装よりもはるかに速くランダム・ゲートの忠実度 (0.25) に収束します。
IBMの研究者は、この論文で、動的回路を使用すれば、個別の長距離2量子ビットゲートを作成する以上のことができると示しています。たとえば、それらを使用して、複数の長距離もつれを持つ量子状態全体を準備することもできます。その例として、動的回路を使用してGHZ状態を実装するプロトコルを見てみましょう。
論文の図2bは原文ブログをご参照ください。左側は、GHZ状態のユニタリ回路での実装を示しています。右側は、動的回路を使用して同じGHZ状態を実装するための等価スキームを示しています。
GHZ 状態は、3つ以上の量子ビットが関与する量子もつれ状態です。その一般的な表現は|GHZ⟩=1/sqrt(2)(|00...0⟩ + |11...1⟩)です。これは、 1/sqrt(2)(|00⟩ + |11⟩ ベル状態の2量子ビットより多い数(つまり「多数」)への一般化と見なすことができます。
この GHZ状態実装のユニタリ回路バージョンでは、合計 n-1 個の CNOTゲートが必要であり、2量子ビット・ゲートのレイヤー数は量子ビットの数に比例して増加します。
2量子ビット・ゲート・レイヤーとは? 2量子ビット・ゲートの1レイヤーとは、異なる量子ビットに同時に作用させられる一群の2量子ビット・ゲートです。2量子ビット・ゲートのレイヤー数は、2量子ビット・ゲートの深さとも呼ばれます。
動的回路でGHZ状態を用意する方法は、長距離CNOTゲートを作る方法と似ています。まず、量子ビットのペアごとに量子もつれさせ、ベル状態を作ります。次に、これらのペアを追加のCNOT ゲート・レイヤーで接続し、そして、これらの CNOTゲートの目標量子ビットを測定します。
長距離CNOTゲートと同様に、測定後にフィードフォワードXゲートを使用して、不要なビットフリップを除去し、もつれ状態にあるすべての量子ビットが完全に相関していることを確認します。その後、測定した量子ビットをリセットし、CNOTゲートの最終レイヤーを適用して GHZ状態を取得します。
この動的回路の深さは一定のままですが、合計3n/2 − 1 個のCNOTゲートと n/2 − 1 個の中間回路測定を使用して実装されています。動的回路では、より多くのCNOTゲートと中間測定が必要であり、そのどちらもノイズの影響を受けてはしまいますが、それでもまだこのような動的回路を実装する方が標準の回路を実装するよりも便利な場合があります。それは、アイドル時間エラーがあるからです。
アイドル時間エラーとは何でしょうか? 2量子ビット・ゲート・レイヤーにおいて、そこに含まれる量子ゲートにすべての量子ビットが関与しているわけではない場合があります。そのような場合に、それら使用されていない量子ビットは、環境との相互作用から生じるエラーにさらされます。
.
実際、2量子ビット・ゲートのレイヤー数は量子ビットの数に比例して増加するため、アイドル時間エラーは 2次関数的に増加します (約 n量子ビット * n層)。つまり、nが大きい場合、アイドル時間エラーの影響は、CNOTゲートや中間測定の影響よりも大きくなる可能性があります。動的回路がユニタリ回路よりも優れている領域を定義するための閾値は、異なる演算に作用するノイズの強度にも依存します。
(グラフは原文ブログをご参照ください)
このグラフは、量子ビットの数が増加する場合に 2つの異なるエラーの原因が発生していることを示しています。円は、システム内の量子ビットの数が増えるにつれて CNOTゲートの数がどのように増加するかを示し、三角形は増加するアイドル・タイム・エラーを表します。動的回路の場合、両方のエラー源が線形に増加することがわかります。ユニタリ回路の場合もCNOTゲートの数は線形に増加しますが、動的回路で観察される数よりも少なくなっています。しかしその一方で、アイドル・タイムによって発生するエラーは二次関数的に増加するため、ユニタリ回路の合計エラーはダイナミック・エラーの合計エラーをすぐに上回ります。
IBMの研究者たちは、実験で、動的回路を使用することで、大規模な超伝導量子プロセッサーの最大101量子ビットでより高い忠実度を実現できることを実証しました。彼らの実験は、動的回路が、大規模でノイズの多い量子ハードウェアの接続性から生じ問題を克服するための有望な解決策を提供することを示しています。この研究の詳細については、PRX Quantumの論文全文をお読みになり、IBM Quantum Platformにアクセスして、量子コンピューターの実験を今すぐ開始してください。
この記事は英語版IBM Researchブログ「Using dynamic circuits to efficiently implement quantum states with long-range entanglement」(2025年1月22日公開)を翻訳し一部更新したもの