簡単な例として、明確な状態の2つのキュービットおよびます。システムの結合状態は、または略称です。| 0 ⟩ | 0 ⟩ ⊗ | 0 ⟩ | 00 ⟩|0⟩|0⟩|0⟩⊗|0⟩|00⟩
その後、次の演算子をキュービットに適用すると(画像は超高密度コーディング wikiページから切り取られます)、結果の状態はもつれ状態(ベル状態の 1つ)になります。
最初の画像では、最初のキュービットに作用するhadamardゲートがあります。これは、より長い形式ではため、2番目のキュービットの恒等演算子です。H⊗I
hadamard行列は、
になりますここで、基底は。{| 0⟩、| 1⟩}
H=12–√(111−1)
{|0⟩,|1⟩}
したがって、hadamard演算子が動作した後、状態は
(H⊗I)(|0⟩⊗|0⟩)=H|0⟩⊗I|0⟩=12–√(|0⟩+|1⟩)⊗(|0⟩)=12–√(|00⟩+|10⟩)
回路の次の部分は制御されたゲートではなく、最初のキュービットが場合にのみ2番目のキュービットに作用します。1
はとして表すことができます。ここで、ビットへの射影演算子、または行列形式です。同様にされる。| 0 ⟩ ⟨ 0 | ⊗ I + | 1 ⟩ ⟨ 1 | ⊗ X | 0 ⟩ ⟨ 0 | 0 (1 0 0 0) | 1 ⟩ ⟨ 1 | (0 0 0 1)CNOT|0⟩⟨0|⊗I+|1⟩⟨1|⊗X|0⟩⟨0|0(1000)|1⟩⟨1|(0001)
オペレータは、ビットフリップ演算子は、のように表される。(0 1 1 0)X(0110)
全体的にマトリックスは(1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0)CNOT⎛⎝⎜⎜⎜1000010000010010⎞⎠⎟⎟⎟
を適用するとき、状態をベクトルとして記述することにより行列乗算を使用できます、またはテンソル積形式を使用できます。(1CNOT⎛⎝⎜⎜⎜⎜⎜12√012√0⎞⎠⎟⎟⎟⎟⎟
CNOT(12–√(|00⟩+|10⟩))=12–√(|00⟩+|11⟩)
状態の最初の部分のでは、最初のビットがであるため、2番目のビットはそのままです。状態の2番目の部分最初のビットはであるため、2番目のビットはから反転し。0 | 10 ⟩ 1 0 1|00⟩0|10⟩101
最終状態はであり、これは最大のもつれ状態である4つのベル状態の1つです。
12–√(|00⟩+|11⟩)
彼らはもつれされることが何を意味するのかを確認するには、あなたが最初の量子ビットの発言の状態を測定した場合、あなたはそれがあったことが判明した場合、その告知それはすぐに第二量子ビットでもなければならないかを示しますので、それが私たちの唯一の可能性です。000
たとえば、この状態と比較してください:
12(|00⟩+|01⟩+|10⟩+|11⟩).
最初のキュービットがゼロであると測定した場合、状態はに崩壊します。qubitはまたはです。0112√(|00⟩+|01⟩)01
状態がどのように絡まれるのか、これがアイデアを与えてくれることを願っています。光子や電子のもつれなどの特定の例を知りたい場合は、特定のゲートを実装する方法を調べる必要がありますが、それでも数学を同じように書くことができますとは、さまざまな物理的状況。101
更新1:QM / QC / Dirac表記のミニガイド
通常、である単一のキュービットに対して標準の計算(直交正規)基底があり。たとえば、はベクトル空間です。H = スパン{ | 0 ⟩ 、| 1 ⟩ }{|0⟩,|1⟩}H=span{|0⟩,|1⟩}
私たちが識別できる根拠のこの順序でととと。この基底を使用して、単一のキュービット演算子を行列形式で記述することができます。例えば、ビット反転演算子(pauli- sigma_xの後)は、およびを取る必要があり、と書くことができます、行列の最初の列は最初の基底ベクトルの画像などです。(1 0) | 1 ⟩ (0 1) X σ X | 0 ⟩ ↦ | 1 ⟩ | 1 ⟩ ↦ | 0 ⟩ (0 1 1 0)|0⟩(10)|1⟩(01)Xσx|0⟩↦|1⟩|1⟩↦|0⟩(0110)
複数のsay -qubitがある場合、それらはスペース属する必要があります。。このスペースの基礎は、ゼロと1の文字列でラベル付けされます。たとえば、です。H ⊗ N:= N - T iは、mは電子の⏞ H ⊗ H ⊗ ⋯ ⊗ H | 0 ⟩ ⊗ | 1 ⟩ ⊗ | 1 ⟩ ⊗ ... ⊗ | 0 ⟩ | 011 ... 0 ⟩nH⊗n:=H⊗H⊗⋯⊗Hn−times|0⟩⊗|1⟩⊗|1⟩⊗…⊗|0⟩|011…0⟩
2つのキュービットの簡単な例、の基礎はまたは略記。 { | 0⟩⊗ | 0⟩、 | 0⟩⊗ | 1⟩、 | 1⟩⊗ | 0⟩、 | 1⟩⊗ | 1⟩}{ | 00⟩、 | 01⟩、 | 10⟩、 | 11⟩}H⊗2=H⊗H{|0⟩⊗|0⟩,|0⟩⊗|1⟩,|1⟩⊗|0⟩,|1⟩⊗|1⟩}{|00⟩,|01⟩,|10⟩,|11⟩}
行列を使用するためにこの基準を順序付ける方法はいくつかありますが、自然な方法の1つは、上記のように文字列を2進数の数字のように順序付けることです。たとえば、量子ビットの場合、基底をように並べ替えることができます。3
{|000⟩,|001⟩,|010⟩,|011⟩,|100⟩,|101⟩,|110⟩,|111⟩}.
これが役立つ理由は、演算子の行列のクロネッカー積に対応するためです。たとえば、最初に基底ベクトルを見ます:
|0⟩⊗|0⟩=(10)⊗(10):=⎛⎝⎜⎜⎜1⋅(10)0⋅(10)⎞⎠⎟⎟⎟=⎛⎝⎜⎜⎜1000⎞⎠⎟⎟⎟
そして
|0⟩⊗|1⟩=(10)⊗(01):=⎛⎝⎜⎜⎜1⋅(01)0⋅(10)⎞⎠⎟⎟⎟=⎛⎝⎜⎜⎜0100⎞⎠⎟⎟⎟
同様に
|1⟩⊗|0⟩=⎛⎝⎜⎜⎜0010⎞⎠⎟⎟⎟,|1⟩⊗|1⟩=⎛⎝⎜⎜⎜0001⎞⎠⎟⎟⎟
2つのキュービットに作用する演算子、たとえばあり、上記のように基底を並べる場合、行列のクロネッカー積を取得してこの基底の行列を見つけることができます。X1X2:=X⊗X
X1X2=X⊗X=(0110)⊗(0110)=⎛⎝⎜⎜⎜0⋅(0110)1⋅(0110)1⋅(0110)0⋅(0110)⎞⎠⎟⎟⎟=⎛⎝⎜⎜⎜0001001001001000⎞⎠⎟⎟⎟
私たちはの例を見ればとして与えられた上記。これは、として行列形式で計算できます。は、上記の行列です。CNOT|0⟩⟨0|⊗I+|1⟩⟨1|⊗X∗(1000)⊗(1001)+(0001)⊗(0110)CNOT
これは、速記とテンソル製品を使用するのではなく、計算スペースとして成長するため、行列表現にすべてを変換するに慣れる価値があるのためのあなたが持っている3キュビトするための手段-qubits、行列、 -qubitsあなたを持っているの行列を、それがすぐに行列形式に変換するために、実用的なよりも小さくなります。2nn8×8416×16
脇:ディラック表記を使用して、ようなベクトルを表す一般的な方法がいくつかあります。二重ベクトル。たとえば、、ベクトルと間の内積。ようなスペース上の演算子 。∗|0⟩⟨0|⟨0|1⟩|0⟩|1⟩X=|0⟩⟨1|+|1⟩⟨0|
ような演算子 射影演算子はおよび満たすため、(直交)射影演算子です。P0=|0⟩⟨0|P2=PP†=P