T ゲートと T ファクトリ

この記事では、フォールト トレラント量子コンピューティングにおける T ゲートと T ファクトリの役割について説明します。 量子アルゴリズムを提供すると、T ゲートと T ファクトリを実行するために必要なリソースの推定が重要になります。

量子ゲートのユニバーサル セット

DiVincenzo の基準によると、スケーラブルな量子コンピューターは、一連のユニバーサル量子ゲートを実装できる必要があります。 ユニバーサル セットには、量子計算を実行するために必要なすべてのゲートが含まれます。つまり、すべての計算は、有限の一連のユニバーサル ゲートに分解する必要があります。 少なくとも、量子コンピューターは、(単一量子ビット ゲートを使用して) Bloch Sphere 上の任意の位置に単一の量子ビットを移動できる必要があります。また、マルチ量子ビット ゲートを必要とするシステムにエンタングルメントを導入する必要があります。

古典的コンピューターでは、1 ビットを 1 ビットにマップする関数は 4 つしかありません。 対照的に、量子コンピューターでは、単一量子ビットに対するユニタリ変換の数は無限です。 したがって、有限の一連のプリミティブ量子演算やゲートは、量子コンピューティングで許可される無限のユニタリ変換セットを正確にレプリケートできません。 これは、古典的コンピューティングとは異なり、量子コンピューターでは、限られた数のゲートを使用して、考えられるすべての量子プログラムを正確に実装することはできません。 そのため量子コンピューターは、古典的コンピューターと同じ意味では普遍的になりえません。 結果として、一連のゲートが量子コンピューティングで "普遍的" であると言うときには、実際には、古典的コンピューティングの場合よりも少し普遍性が弱いものを意味しています。

ユニバーサル性のためには、量子コンピューターが有限長ゲート シーケンスを使用して有限誤差内のすべてのユニタリ 行列のみを 近似 する必要があります。

言い換えると、一連のゲートは、このセットからのゲートの積として、任意のユニタリ変換が近似的に記述可能である場合に、ユニバーサル ゲート セットとなります。 規定されたエラーバインドでは、ゲートセットからゲート$G_、G_{2}、\ldots、G_N$存在{1}する必要があります。

$$ G_N G_{N-1}\cdots G_2 G_1 \approx U. $$

行列乗算の規則は、このシーケンス $の最初のゲート演算を右から左に乗算することです。G_N$は、実際には量子状態ベクトルに適用される最後のゲート演算です。 より正式に言えば、そのようなゲート セットは、すべての誤差許容 $\epsilon>0$ について、$G_N\ldots G_1$ と $U$ との間の距離が最大で $\epsilon$ であるような $G_1,\ldots, G_N$ が存在する場合に普遍的であると表現します。 理想的には、この距離 $\epsilon$ に達するために必要な $N$ の値は、$1/\epsilon$ で多対数的にスケーリングする必要があります。

たとえば、Hadamard、CNOT、T ゲートによって形成されるセットは、任意の量子計算 (任意の数の量子ビット) を生成できるユニバーサル セットです。 Hadamard と T ゲート セットは、任意の単一量子ビット ゲートを生成します。

$$H=\frac{1}{\sqrt{ 1 amp; 1 \\ 1 &-1 \end{bmatrix}, \qquad T=\begin{bmatrix} 1 & 0 \\ 0 & e^{i\pi/4}\end{bmatrix}.&{2}}\begin{bmatrix} $$

量子コンピューターでは、量子ゲートは、クリフォード ゲートと非クリフォード ゲート (この場合は T ゲート) の 2 つのカテゴリに分類できます。 クリフォード ゲートのみで作成された量子プログラムは、従来のコンピューターを使用して効率的にシミュレートできるため、量子上の利点を得るために、非クリフォード ゲートが必要です。 多くの量子エラー修正 (QEC) スキームでは、いわゆるクリフォード ゲートを簡単に実装できます。つまり、フォールト トレラントに実装するために操作と量子ビットの観点から必要なリソースは非常に少ないのに対し、非クリフォード ゲートはフォールト トレランスを必要とする場合に非常にコストがかかります。 ユニバーサル量子ゲート セットでは、T ゲートは非クリフォード ゲートとして一般的に使用されます。

既定で Q# に含まれる標準セットの単一量子ビット クリフォード ゲートには、以下が含まれています

$$ H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 1 \\ 1 &-1 \end{bmatrix} , \qquad S =\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}= T^2, \qquad X=\begin{bmatrix} 0 &1 \\ 1&& 0 \end{bmatrix}= HT^4H, $$

$$Y =0 amp; -i i &\\ amp; 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1&&\begin{bmatrix}0\\ 0&-1 \end{bmatrix}=T^4。 $$

非クリフォードゲート(Tゲート)と共に、これらの演算は、単一量子ビット上の任意のユニタリ変換を近似するように構成することができます。

Azure Quantum リソース推定器の T ファクトリ

他の量子ゲートはユニバーサル量子計算には不十分であるため、非クリフォード T ゲートの準備は非常に重要です。 実用的なアルゴリズムに対してクリフォード以外の演算を実装するには、エラー率の低い T ゲート (または T 状態) が必要です。 ただし、論理量子ビットに直接実装することは困難であり、一部の物理量子ビットでは困難な場合もあります。

フォールト トレラント量子コンピューターでは、T 状態蒸留工場または T ファクトリを使用して、必要な低誤差率 T 状態が生成されます。 通常、これらの T ファクトリには一連の蒸留が含まれます。各ラウンドでは、小さな距離コードでエンコードされた多くのノイズの多い T 状態を取り込み、蒸留単位を使用して処理し、より大きな距離コードでエンコードされたノイズの少ない T 状態を出力し、ラウンド数、蒸留単位、距離はすべて変化できるパラメーターです。 このプロシージャは反復処理され、1 つのラウンドの出力 T 状態が入力として次のラウンドに送られます。

T ファクトリの期間に基づいて、 Azure Quantum Resource Estimator は、アルゴリズムの総実行時間を超える前に T ファクトリを呼び出すことができる頻度と、アルゴリズムの実行時に生成できる T 状態の数を決定します。 通常、アルゴリズムの実行時に 1 つの T ファクトリの呼び出し内で生成できる T 状態よりも多くの T 状態が必要です。 より多くの T 状態を生成するために、Resource Estimator は T ファクトリのコピーを使用します。

T ファクトリの物理的な推定

Resource Estimator は、アルゴリズムの実行に必要な T 状態の合計数と、1 つの T ファクトリとそのランタイムの物理量子ビットの数を計算します。

目標は、可能な限り少ない T ファクトリ コピーを使用して、アルゴリズム ランタイム内のすべての T 状態を生成することです。 次の図は、アルゴリズムのランタイムと 1 つの T ファクトリのランタイムの例を示しています。 T ファクトリのランタイムがアルゴリズムのランタイムよりも短いことがわかります。 この例では、1 つの T ファクトリで 1 つの T 状態を蒸留できます。 次の 2 つの質問が発生します。

  • アルゴリズムの終了前に T ファクトリを呼び出すことができる頻度はどれくらいですか?
  • アルゴリズムの実行時に必要な T 状態の数を作成するために必要な T ファクトリ蒸留ラウンドのコピーはいくつですか?
アルゴリズムのランタイム (赤) と 1 つの T ファクトリのランタイム (青) を示す図。アルゴリズムが終了する前に、T ファクトリは 8 回実行できます。30 個の T 状態が必要で、T ファクトリが実行時に 8 回実行できる場合は、4 つの T ファクトリのコピーが並列で実行され、30 個の T 状態を蒸留する必要があります。

アルゴリズムが終了する前に、T ファクトリを 8 回呼び出すことができます。これは蒸留ラウンドと呼ばれます。 たとえば、30 個の T 状態が必要な場合、アルゴリズムの実行時に 1 つの T ファクトリが 8 回呼び出されるため、8 つの T 状態が作成されます。 その後、必要な30 T状態を蒸留するために並列で実行されているT工場蒸留ラウンドの4つのコピーが必要です。

注意

T ファクトリ のコピーと T ファクトリの呼び出しは同じではないことに注意してください。

T状態蒸留工場は一連のラウンドで実装され、各ラウンドは並行して実行される蒸留ユニットのセットで構成されています。 Resource Estimator は、1 つの T ファクトリを実行するために必要な物理量子ビットの数と、T ファクトリの実行時間 (その他の必須パラメーター) を計算します。

T ファクトリの完全な呼び出しのみを実行できます。 したがって、すべての T ファクトリ呼び出しの累積ランタイムがアルゴリズム ランタイムよりも小さい場合があります。 量子ビットは異なるラウンドで再利用されるため、1 つの T ファクトリの物理量子ビットの数は、1 つのラウンドで使用される物理量子ビットの最大数です。 T ファクトリのランタイムは、すべてのラウンドのランタイムの合計です。

注意

物理 T ゲートエラー率が必要な論理 T 状態エラー率よりも低い場合、リソース推定器は適切なリソース推定を実行できません。 リソース見積もりジョブを送信すると、必要な論理 T 状態エラー率が低すぎるか高すぎるため、T ファクトリが見つからない場合があります。

詳細については、「 実用的な量子利点にスケーリングするための要件の評価」の付録 C を参照してください。

次の手順