複数の量子ビットに対する操作

この記事では、1 量子ビット状態から複数量子ビット状態を構築するために使用される規則を確認し、多量子ビットのユニバーサル量子コンピューターを形成するためにゲート セットに含む必要があるゲート操作について説明します。 これらのツールは、コードでよく Q# 使用されるゲート セットを理解するために必要です。 また、エンタングルメントや干渉などの量子効果によって、量子コンピューティングが従来のコンピューティングよりも強力である理由について直感を得ることも重要です。

1 量子ビット ゲートと複数量子ビット ゲート

量子コンピューティングの真のパワーは、量子ビットの数を増やすと明らかになります。 1 つの量子ビットには、特定の時点で複数の状態になる機能など、いくつかの反直感的な機能があります。 ただし、量子コンピューターに含まれるのが単一量子ビット ゲートの場合、電卓と確かに古典的なスーパーコンピューターは計算能力を小さくします。

量子コンピューティングでは、1 つの理由として、量子状態ベクトルのベクトル空間の次元が量子ビットの数と共に指数関数的に増大するため、計算能力が向上します。 つまり、1 個の量子ビットは簡単にモデル化できますが、50 量子ビットの量子計算をシミュレートすると、おそらく既存のスーパーコンピューターの限界を超えます。 計算のサイズを 1 つの余分な量子ビットだけ増やすと、状態の格納に必要なメモリが 2 倍 になり、計算時間が約 2 倍 になります。 一部の計算タスクにおいて、比較的少数の量子ビットを使用する量子コンピューターが、今日、明日、そして将来の最も強力なスーパーコンピューターをはるかに超えることができるのは、この急速な計算能力の倍増によるものです。

2 量子ビットの状態

2 つの別個の量子ビット (1 つは状態、もう 1 つは状態$\psi=\begin{bmatrix}\\\end{bmatrix}$$\phi=\begin{bmatrix}\beta\alpha\\\delta\gamma\end{bmatrix}$) が与えられた場合、対応する 2 量子ビット状態は、ベクトルのテンソル積 (またはクローネッカー積) によって与えられます。これは次のように定義されます。

$$\psi\otimes\phi=\begin{bmatrix}\alpha\\\beta\end{bmatrix}\otimes\begin{bmatrix}\gamma\\\delta\end{bmatrix}=\begin{bmatrix}\alpha\begin{bmatrix}\gamma\\\delta\end{bmatrix}\\\beta\begin{bmatrix}\gamma\\\delta\end{bmatrix}\end{bmatrix}=\begin{bmatrix}\alpha\gamma\\\alpha\delta\\\beta\gamma\\\beta\delta\end{bmatrix}. $$

したがって、2 つの 1 量子ビット状態 $\psi$ と $\phi$ が与えられ、それぞれが次元 2 であるとすると、対応する 2 量子ビット状態 $\psi\otimes\phi$ は 4 次元です。 ベクトル

$$\begin{bmatrix}\alpha_{{00}\\\alpha_{{01}\\\alpha_{{10}\\\alpha_{{11}\end{bmatrix}$$

は、次の場合に 2 つの量子ビットの量子状態を表します

$$|\alpha_{00}|^2+|\alpha_{01}|^2+|\alpha_{{10}|^2+|\alpha_{{11}|^2=1。$$

より一般的には、$n$ 個の量子ビットは、この構成を使用して次元 $2 \cdot 2 \cdot 2 \cdots= 2^n$ の単位ベクトル $v_1 \otimes v_2 \otimes\cdots\otimes v_n$ で表されることがわかります。 1 量子ビットと同様、複数量子ビットの量子状態ベクトルには、システムの動作を説明するために必要なすべての情報が保持されます。 ベクトルとテンソル積の詳細については、量子コンピューティングにおけるベクトルと行列に関する記事を参照してください。

2 量子ビット状態の計算基礎は、1 量子ビット基底状態のテンソル積によって形成されます。 たとえば、

\begin{align}00 \equiv\begin{bmatrix}1 \\ 0\begin{bmatrix}\end{bmatrix}\otimes 1 \\ 0 \end{bmatrix}&=\begin{bmatrix}1 0 0 0 , 01 1 \equiv\begin{bmatrix}\\ 0 0\begin{bmatrix}\\\end{bmatrix}\otimes1=\end{bmatrix}\begin{bmatrix} 0 \\ 1\\ 0 0\\\end{bmatrix},\\ 10\begin{bmatrix}\equiv 0 \\ 1 1 \end{bmatrix}\otimes\\\begin{bmatrix}0 \end{bmatrix}&\begin{bmatrix}=\qquad\end{bmatrix}\\\\\\0 \\ 0\\ 1\\ 0 \end{bmatrix},\qquad 11 \equiv\begin{bmatrix}0 \\ 1 0 \\ 1 \end{bmatrix}\begin{bmatrix}\begin{bmatrix}\end{bmatrix}\otimes=0 0 \\ 0\\ 0\\ 1 .\end{bmatrix} \end{align}

2 つの単一量子ビット状態のテンソル積を常に受け取って 2 量子ビット状態を形成できますが、2 つの量子ビット量子状態のすべてが 2 つの単一量子ビット状態のテンソル積として書き込まれるわけではないことに注意してください。 たとえば、州$\psi=\begin{bmatrix}\alpha\end{bmatrix}$\\\betaがなく、\gamma$\phi=\begin{bmatrix}\\\delta\end{bmatrix}$テンソル積が状態である

$$\psi\otimes\phi=\begin{bmatrix} 1/\sqrt{{2}\\ 0 \\ 0 \\ 1/\sqrt{{2}\end{bmatrix}$$

1 量子ビット状態のテンソル積として記述できないこのような 2 量子ビット状態は "もつれた状態" と呼ばれており、2 個の量子ビットを "もつれている" と言います。 大まかに言えば、量子状態は 1 量子ビット状態のテンソル積とは考えられないため、状態が保持する情報は、どちらの量子ビットにも個々に限定されません。 むしろ、情報は 2 つの状態間の相関関係に非局所的に格納されます。 この情報の非局所性は、従来のコンピューティングよりも量子コンピューティングの主要な特徴の 1 つであり、量子エラー修正を含む多くの量子プロトコルに不可欠です。

2 量子ビット状態の測定

2 量子ビット状態の測定は、1 量子ビットの測定と非常に似ています。 状態の測定

$$\begin{bmatrix}\alpha_{{00}\\\alpha_{{01}\\\alpha_{{10}\\\alpha_{{11}\end{bmatrix}$$

確率 _^2 の 00$、$確率 $|\alpha_{{00}|^2$ の 01$、$確率 $|\alpha$|\alpha_{01}|^2$ の 10$、確率 $$|\alpha_{10}|{{11}|^2$$ の 11$ が生成$されます。 変数 $\alpha_{00}、\alpha_{{01}、\alpha_{{10}、$および $\alpha_{11}$ は、この関係を明確にするために意図的な名前が付けられています。 測定後、結果が 00$の場合、$2 量子ビット システムの量子状態は折りたたまれており、現在は

$$ 00 \equiv\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix} $$

また、2 量子ビット量子状態の量子ビットを 1 つだけ測定することもできます。 2 量子ビット状態の量子ビットを 1 つだけ測定する場合、測定の影響は 2 つの量子ビットの測定とは微妙に異なります。 これは、状態全体が計算基準状態に折りたたまれるのではなく、1 つのサブシステムにのみ折りたたまれているためです。 つまり、2 量子ビット状態の 1 つの量子ビットを測定すると、関連するサブシステムが計算基準状態に折りたたまれるだけです。

これを確認するには、最初に量子に設定された 2 つの量子ビットに Hadamard 変換 $H$ を適用することによって形成される、次の状態の最初の量子ビットを &測定することを検討してください。0"状態:

$$H^{\otimes 2}\left( \begin{bmatrix}1 \\ 0\begin{bmatrix}\end{bmatrix}\otimes 1 \\ 0 \end{bmatrix}\right){1}{2}\begin{bmatrix}\frac{= 1 & 1 & 1 & 1 \\ 1 & -1 & &-1 \\ 1 & -1 amp&; -&1 \\ 1 & -1 & -1 amp; -1 & 1 \end{bmatrix}\begin{bmatrix}1\\ 0 0\frac{\\{1}{2}\begin{bmatrix}\\\end{bmatrix}= 1 1\\ 1\\ 1 1\begin{cases}\text{\\\end{bmatrix}\mapsto 結果 }=0 & \frac{{1}{\sqrt{2}}\begin{bmatrix}1\\ 1\\ 0\\ 0 \end{bmatrix}\\\text{結果 }=1 & \frac{{1}{\sqrt{{2}}\begin{bmatrix}0\\ 0\\ 1\\ 1 \end{bmatrix}\\\end{cases}. $$ どちらの結果も、50% の確率で発生します。 これは、最初の量子ビットで 0$ が 1$ とスワップされた$場合$に、測定前の量子状態が変わらないという事実から考えることができます。

1 番目または 2 番目の量子ビットを測定するための数学的な規則は単純です。 e_k k^{\rm 番目}$の計算基底ベクトルに$し、$S$ をすべての$e_k$のセットにして$、問題の量子ビットがその値 $k$ の値 $1$ を受け取$ります。 たとえば、最初の量子ビット$の測定に関心がある場合、S$ は e_1\equiv 10$ と $e_3\equiv 11$ で構成$されます。 同様に、2 番目の量子ビット $S$ に関心がある場合は、e_2\equiv 01$ と $e_3 \equiv 11$ で構成されます$。 次に、選択した量子ビットを 1$ に測定する確率は、状態ベクトルに対してです$$\psi$

$$ P(\text{outcome}=1)=\sum_{e_k \text{ in the set } S}\psi^\dagger e_k e_k^\dagger\psi $$

Note

この記事では、 リトル エンディアン 形式を使用して計算基準にラベルを付けます。 リトルエンディアン形式では、最下位ビットが先頭になります。 たとえば、リトルエンディアン形式の数値 4 は、ビット 001 の文字列で表されます。

各量子ビットの測定では $0$ または $1$ しか得られないため、$0$ を測定する確率は、単純に $1-P(\text{outcome}=1)$ になります。 このため、1$ を測定$する確率の数式のみが必要です。

このような測定が状態に及ぼす作用は、数学的には次のように表すことができます。

$$\psi\mapsto\frac{\sum_{e_k \text{ in the set } S} e_k e_k^\dagger\psi}{\sqrt{P(\text{outcome}=1)}} $$

注意深い読者は、分母がゼロの場合に何が起こるかを心配するかもしれません。 このような状態は未定義ですが、確率がゼロであるため、このような結果を心配する必要はありません。

上記の均一な状態ベクトルになり、最初の量子ビットの測定に関心がある場合 $\psi$ は、

$$ P(\text{measurement of first qubit}=1) = (\psi^\dagger e_1)(e_1^\dagger\psi)+(\psi^\dagger e_3)(e_3^\dagger\psi)=|e_1^\dagger\psi|^2+|e_3^\dagger\psi|^2 $$

これは、結果 $10$ と $$11 を測定するために予想される 2 つの確率の合計にすぎません。 この例の場合、これは、次の式になります。

$$\frac{{1}{4}\left|\begin{bmatrix}0&0&1&0\end{bmatrix}\begin{bmatrix}1\\ 1\\ 1\\ 1\end{bmatrix}\right|^2+\frac{1}{{4}\left|\begin{bmatrix}0&0&0&1 1 1 1 1\right|\end{bmatrix}\\^2。{2}=\frac{{1}{\\\\\end{bmatrix}\begin{bmatrix} $$

これは私たちの直感に完全に一致します。 同様に、最初の量子ビットが 1$ として測定された後の状態は、$

$$\frac{\frac{e_1}{2}+\frac{e_3}{2}}{\sqrt{\frac{1}{2}}}=\frac{1}{\sqrt{2}}\begin{bmatrix} 0\\ 0\\ 1\\ 1\end{bmatrix}$$

この場合も、私たちの直感どおりです。

2 量子ビット操作

1 量子ビットの場合と同様、ユニタリ変換は量子ビットに対する有効な操作です。 通常、$n$ 個の量子ビットに対するユニタリ変換は、$U^{-1}= U^\dagger$ のようなサイズが $2^n \times 2^n$ の行列 $U$ です (したがって、サイズが $2^n$ のベクトルで動作します)。 たとえば、CNOT (制御 NOT) ゲートは、一般的に使用される 2 量子ビット ゲートであり、次のユニタリ行列で表されます。

$$\operatorname{CNOT}=\begin{bmatrix} 1\ 0\ 0\ 0 \\ 0\ 1\ 0\ 0 \\ 0\ 0\ 0\ 1 \\ 0\ 0\ 1\ 0 \end{bmatrix}$$

両方の量子ビットに 1 量子ビット ゲートを適用することにより、2 量子ビット ゲートを形成することもできます。 たとえば、ゲートを適用する場合

$$\begin{bmatrix} a\ b\\ c\ d \end{bmatrix}$$

および

$$\begin{bmatrix} e\ f\\ g\ h \end{bmatrix}$$

それぞれ 1 番目と 2 番目の量子ビットに対して、これは、テンソル積$$\begin{bmatrix}によって与えられる 2 量子ビットユニタリ (a\ b\\ c\ d\otimes\end{bmatrix}\begin{bmatrix} e\ f g\ h\begin{bmatrix}\\\end{bmatrix}=ae\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ ce\ cf\ de\ df \\ cg\ ch\ dg\ dh \end{bmatrix}) を適用することと同じです。$$

したがって、既知の単一量子ビット ゲートのテンソル積を取得することで、2 量子ビット ゲートを形成できます。 2 量子ビット ゲートの例としては、$H \otimes H$, $X \otimes\mathbf{1}$、$X \otimes Z$ などがあります。

2 個の 1 量子ビット ゲートはテンソル積を使用することによって 2 量子ビット ゲートを定義しますが、その逆は真ではないことに注意してください。 すべての 2 量子ビット ゲートが 1 量子ビット ゲートのテンソル積として記述できるわけではありません。 このようなゲートは、"エンタングリング" ゲートと呼ばれています。 エンタングリング ゲートの一例としては、CNOT ゲートが挙げられます。

制御されていないゲートの背後にある直感は、任意のゲートに汎用化できます。 一般に、制御されたゲートは、特定の量子ビットが 1$ でない限り、ID として機能するゲートです$。 この場合、x$ というラベルの付いた量子ビットで制御される$制御ユニタリを$\Lambda、_x(U)$で示します。 例$\Lambdaとして、_0(U) e_{{1}\otimes{\psi}=e_{1}\otimesU{\psi}$ と$\Lambda _0(U) e_{\psi}={{0}\otimese_。$ここで、{0}\otimes{\psi}${e_0$とe_1$は、値 $0$ と $$1$ に対応する単一量子ビットの計算基底ベクトルです。 たとえば、次の制御 Z$$ ゲートを考えると、次のように表現できます。

$$\Lambda_0(Z)=\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&-1 \end{bmatrix}=(\mathbf\mathbf{1}\otimes{ H)\operatorname{CNOT}(\mathbf{1}\otimes H)。 $$

効率的な方法で制御ユニタリを構築することは大きな課題です。 これを最も簡単に実装するには、基本ゲートの制御バージョンのデータベースを形成し、元のユニタリ演算のすべての基本ゲートを、その対応する制御ゲートに置き換える必要があります。 多くの場合、これは非常に無駄であり、巧妙な洞察を使用していくつかのゲートを制御されたバージョンに置き換えるだけで、同じ影響を実現できる場合が少なくありません。 このため、フレームワークは、単純な制御方法を実行するか、最適化されたハンドチューニングバージョンがわかっている場合に、ユーザーがユニタリの制御されたバージョンを定義できるようにする機能を提供します。

ゲートは、古典的な情報を使用して制御することもできます。 たとえば、古典的制御 NOT ゲートは通常の NOT ゲートにすぎませんが、量子ビットとは対照的に、古典ビットが $1$ である場合のみ適用されます。 この意味で、古典的制御ゲートは、ゲートがコードの 1 つの分岐にのみ適用される量子コード内の if ステートメントと考えることができます。

1 量子ビットの場合と同様に、2 量子ビット ゲート セットは、任意の $4\times 4$ のユニタリ行列がこのセットのゲートの積によって任意の精度に近似できる場合、ユニバーサルです。 ユニバーサル ゲート セットの例としては、アダマール ゲート、T ゲート、CNOT ゲートがあります。 これらのゲートの積を取ることで、2 つの量子ビットで任意のユニタリ 行列を近似できます。

量子エンタングルメント

グローバル システムの状態が $次のように重ね合わせで 2 つの量子ビット A$ と $B$ を考慮する

$$\ket{\psi}_{AB}=\frac1{\sqrt2}\ket{{00} + \frac1{\sqrt2}\ket{{11}$$

このような状態では、標準の基準で両方の量子ビットの状態を測定すると、可能な結果は、$|00\rangle$ と $|11\rangle$ の 2 つのみになります。 各結果には、 の確率 $\frac{1}{2}$が同じであることに注意してください。 $|01\rangle$ と $|10\rangle$ を取得する確率は 0 です。 最初の量子ビットを測定し、それが $|0\rangle$ 状態である場合は、測定しなくても、2 番目の $|量子ビットも 0\rangle$ 状態であることを正にすることができます。 測定結果は関連付けられており、量子ビットは "エンタングル" されます。

Note

この例では 2 つの量子ビットを使用しますが、量子エンタングルメントは 2 つの量子ビットに限定されません。 一般に、複数の量子ビット システムがエンタングルメントを共有している可能性があります。

Entangled 量子ビットは相互に独立して記述できないように相関しています。 つまり、entangled ペア内の 1 つの量子ビットの状態に対して何らかの操作が行われると、もう一方の量子ビットの状態にも影響します。

実際の実装については、および Azure Quantum を使用した量子のエンタングルメント Q# の探索に関するチュートリアルを参照してください。

純粋な状態の絡み合い

純粋な量子状態は、1 つの ket ベクトルまたは波動関数によって特徴付けられたものであり、他の量子状態の統計的混合状態 (または "凸結合") として記述することはできません。 ブロッホ球では、純粋な状態は球の表面上の点で表されますが、混合状態は内部点で表されます。

サブシステムの製品状態{$\ket{\phi} (_AB a}_A b$}_B \otimes\ket{の組み合わせとして書き込めない場合、純粋状態 _{AB}$\ket{=} は$\ket{\phi}絡み合います。

たとえば、状態 \ket{\psi}$$_{AB={1}{2}}\frac{ (\ket{{00} + + \ket{{10} +\ket{01}) を\ket{{11}考えてみましょう。$$

最初は、状態 $\ket{\psi}_{AB}$ は製品の状態のようには見えませんが、状態を 次のように書き換えた場合

$$\ket{\psi}_{AB}\frac{{2}}{1}{\sqrt{= (\ket{0}_A +{1}\ket{_A) \otimes\frac{1}{\sqrt{{2}} (\ket{{0}_B +\ket{{1}_B)=\ket{+}_A \ket{+_B}$$

状態 $\ket{\psi}_{AB}$ は製品の状態であるため、絡み合いません。

混在状態でのエンタングルメント

混合量子状態は、純粋な状態の統計的アンサンブルです。 混合状態 $\rho は、一部の密度行列$\rho$^A 0 、\rho^B\geq} 0$ に対して積状態 $\rho = \rho^{A}\geq}\otimes \rho^{{{B}$ として書き込むことができる場合、量子相関も古典的相関もありません。

混合状態 \rho$ は、サブシステムの積状態$の凸の組み合わせとして書き込むことができる場合に分離可能です (例:

$$\rho =\sum_j p_j \rho^{A}_{j\otimes} \rho^{B}_{j}$$

ここで$、p_j \geq 0、p_j = 1$、$\sum\rho^{A}_{j}\geq 0、\rho^{B}_{j}\geq 0$ です。

混合状態 $\rho$ は、分離できない場合は絡み合います。つまり、積状態の凸の組み合わせとして書き込むことはできません。

ヒント

分離可能な状態には、古典的な相関関係のみが含まれます。

従来の相関関係を理解する

古典的な相関関係は、システムの状態に関する知識が不足しているためです。 つまり、古典的な相関関係にはランダム性が関連付けられていますが、知識を得ることで排除できます。

たとえば、それぞれ 1 つのボールを含む 2 つのボックスについて考えてみましょう。 私たちは、両方のボールが青または赤の同じ色であることを知っています。 1 つのボックスを開いて、内側のボールが青である場合、もう一方のボールも青であることがわかります。 したがって、これらは相関しています。 しかし、箱を開くときに私たちが持っている不確実性は、知識の欠如によるものですが、それは基本的ではありません。 ボールは箱を開く前に青かった。 したがって、これは古典的な相関関係であり、量子相関ではありません。

2 つのボックス $\rho_{ ボックス}$ によって形成されるシステムの混合量子状態は、

$$\rho_{boxes=}{1}{2}\frac{ (\ket{red}\bra{red}_{A\otimes}\ket{red}\bra{red}_B) +\frac{{1}{2} (\ket{青}\bra{_A\otimes\ket{}青}\bra{_B)}$$

状態 $\rho_{boxes}$ は分離可能であり、 $p_1 = p_2 =\frac{1}{2}$ 古典的な相関関係のみが含まれていることに注意してください。 混合分離可能な状態のもう 1 つの例は、次のようになります。

$$\rho =\frac{{1}{2} (\ket{0}\bra{{0}_A \otimes\ket{0}\bra{0}_B) +\frac{1}{2} (\ket{1}\bra{1}_A{1}\otimes\ket{{1}\bra{ _B)$$

次に、次の状態を検討します。

$$\rho =\frac{{1}{4} (\ket{{00}\bra{00} + +{00}\bra{11}\ket{+ \ket{\ket{11}\bra{00}{11}{11}\bra{) =\ket{\phi^+}\bra{\phi^+}$$

この場合、状態に関する知識は完全であり、システム $AB$ がベル状態 ^+}$ であり$、\rho$ が純粋な状態$\ket{\phiであることを最大の確実性で知っています。 したがって、古典的な相関関係はありません。 しかし、サブシステム A で監視可能な を測定すると、サブシステム $B$$ の状態に関する情報を提供するランダムな結果が$得られます。 このランダム性は基本的であり、量子相関です。

古典的相関と量子相関の両方を含む量子状態の例を次に示します。

$$\rho ={1}{2}\frac{(\ket{\phi^+}\bra{\phi^+} + \ket{\phi^-}\bra{\phi^-})$$

ヒント

  • エンタングル状態 $\rho$ が純粋な場合、量子相関のみが含まれます。
  • エンタングル状態 $\rho$ が混在している場合は、古典的相関と量子相関の両方が含まれます。

多量子ビット システム

2 量子ビットの場合に調べたパターンとまったく同じパターンに従って、より小さなシステムから多量子ビットの量子状態を構築します。 このような状態は、より小さな状態のテンソル積を形成することによって構築されます。 たとえば、量子コンピューターでビット文字列 $1011001$ をエンコードする場合について考えてみましょう。 これを次のようにエンコードできます。

$$ 1011001 \equiv\begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1 \end{bmatrix}. $$

量子ゲートはまったく同じように機能します。 たとえば、X$ ゲートを最初の$量子ビットに適用し、2 番目と 3 番目の量子ビットの間で CNOT を実行する場合は、この変換を 次のように表現できます。

\begin{\begin{align}&アンプ;(X \otimes\operatorname{CNOT}_{\mathbf{1}\otimes{12}\otimes \mathbf{\otimes\mathbf{1} \mathbf{\mathbf{1}\otimes \mathbf{\mathbf{1}) \begin{bmatrix} 0 \\ 1 1 \end{bmatrix}\otimes\begin{bmatrix}\\ 0 \end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1 \end{bmatrix}\begin{bmatrix}\otimes1 \\ 0\begin{bmatrix}\end{bmatrix}\otimes1 \\ 0 0 \end{bmatrix}\otimes\\\begin{bmatrix} 1 \end{bmatrix}\\&\qquad\qquad\equiv0011001. \end{align}

多くの量子ビット システムでは、量子コンピューターの一時メモリとして機能する量子ビットを割り当てたり、割り当てを解除したりする必要がある場合が少なくありません。 このような量子ビットは、補助といいます。 既定では、量子ビットの状態が割り当て時にe_0$に$初期化されると想定できます。 さらに、割り当てを解除する前に、e_0$に$再び返されると仮定できます。 補助量子ビットが、割り当て解除されたときに別の量子ビット レジスタともつれると、割り当て解除のプロセスによって補助量子ビットが破損するため、この前提は重要です。 このため、このような量子ビットはリリースされる前に初期状態に戻されると常に想定します。

最後に、2 量子ビットの量子コンピューターのユニバーサル量子コンピューティングを実現するには、新しいゲートをゲート セットに追加する必要がありましたが、複数量子ビットの場合は新しいゲートを導入する必要はありません。 一般的なユニタリ変換は、一連の 2 量子ビット回転に分割できるため、ゲート $H$, $T$ と CNOT は、多量子ビットでユニバーサル ゲート セットを形成します。 その後、2 量子ビットケース用に開発された理論を活用し、多くの量子ビットがある場合にここでもう一度使用できます。

注意

これまで使用されてきた線形代数表記は、確かにマルチ量子ビット状態を記述するために使用できますが、状態のサイズを大きくすると、ますます煩雑になります。 たとえば、長さが 7 ビットの文字列から得られる列ベクトルは、$128$ 次元であるため、前述の表記法を使用してこれを表現するのは非常に面倒です。 代わりに、量子状態の表現を簡略化する記号の短縮形である Dirac 表記が使用されます。 詳細については、「 Dirac 表記」を参照してください。

次の手順