Per un semplice esempio supponiamo di avere due qubit in stati definiti |0⟩ e |0⟩ . Lo stato combinato del sistema è |0⟩⊗|0⟩ o |00⟩ in stenografia.
Quindi se applichiamo i seguenti operatori ai qubit (l'immagine è tagliata dalla pagina wiki di codifica superdensa ), lo stato risultante è uno stato impigliato, uno degli stati di campana .
Innanzitutto nell'immagine abbiamo la porta hadamard che agisce sul primo qubit, che in una forma più lunga è H⊗I modo che sia l'operatore di identità sul secondo qubit.
La matrice di Hadamard sembra
H=12–√(111−1)
dove viene ordinata la base
.
{|0⟩,|1⟩}
Quindi, dopo che l'operatore Hadamard agisce, lo stato è ora
(H⊗I)(|0⟩⊗|0⟩)=H|0⟩⊗I|0⟩=12–√(|0⟩+|1⟩)⊗(|0⟩)=12–√(|00⟩+|10⟩)
La parte successiva del circuito è un gate non controllato, che agisce sul secondo qubit solo se il primo qubit è .1
È possibile rappresentare come | 0 ⟩ ⟨ 0 | ⊗ I + | 1 ⟩ ⟨ 1 | ⊗ X , dove | 0 ⟩ ⟨ 0 | è un operatore di proiezione sul bit 0 o in forma di matrice ( 1 0 0 0 ) . Allo stesso modo | 1 ⟩ ⟨ 1 | è ( 0 0 0 1 ) .CNOT|0⟩⟨0|⊗I+|1⟩⟨1|⊗X|0⟩⟨0|0(1000)|1⟩⟨1|(0001)
L' operatore è l'operatore di inversione bit rappresentato come ( 0 1 1 0 ) .X(0110)
Nel complesso la matrice è ( 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 )CNOT⎛⎝⎜⎜⎜1000010000010010⎞⎠⎟⎟⎟
Quando applichiamo il possiamo usare la moltiplicazione della matrice scrivendo il nostro stato come vettore ( 1CNOT, oppure possiamo semplicemente utilizzare il modulo del prodotto tensore.⎛⎝⎜⎜⎜⎜⎜12√012√0⎞⎠⎟⎟⎟⎟⎟
CNOT(12–√(|00⟩+|10⟩))=12–√(|00⟩+|11⟩)
Lo vediamo per la prima parte dello stato il primo bit è 0 , quindi il secondo bit è lasciato solo; la seconda parte dello stato | 10 ⟩ il primo bit è 1 , quindi il secondo bit viene capovolte provenienti da 0 a 1 .|00⟩0|10⟩101
Il nostro stato finale è
12–√(|00⟩+|11⟩)
che è uno dei quattro stati di Bell, che sono massimamente stati entangled.
Per vedere cosa significa per loro essere intrecciati, nota che se dovessi misurare lo stato del primo qubit dire, se hai scoperto che era uno ti dice immediatamente che anche il secondo qubit deve essere uno 0 , perché questa è la nostra unica possibilità.00
Confronta con questo stato per esempio:
12(|00⟩+|01⟩+|10⟩+|11⟩).
Se si misura che il primo qubit è zero, lo stato si riduce a , dove c'è ancora una possibilità 50-50 il secondo qubit è un0o un1.12√(|00⟩+|01⟩)01
Spero che questo dia un'idea di come gli stati possano essere intrappolati. Se vuoi conoscere un esempio particolare, come intrappolare fotoni o elettroni ecc., Allora dovresti esaminare come possono essere implementate determinate porte, ma potresti comunque scrivere la matematica allo stesso modo, lo e 1 potrebbero rappresentare cose diverse in diverse situazioni fisiche.01
Aggiornamento 1: Mini guida alla notazione QM / QC / Dirac
Di solito esiste una base computazionale standard (orto-normale) per un singolo qubit che è , dire H = arco { |{|0⟩,|1⟩} è lo spazio vettoriale.H=span{|0⟩,|1⟩}
In questo ordinamento della base possiamo identificare con ( 1 0 ) e | 1 ⟩ con ( 0 1 ) . Qualsiasi singolo operatore qubit può quindi essere scritto in forma di matrice usando questa base. Ad esempio un bit capovolgere l'operatore X (dopo pauli- σ x ) che dovrebbe prendere | 0 ⟩ ↦ | 1 ⟩ e | 1 ⟩ ↦ | 0 ⟩ , può essere scritta come ( 0 1 1 0|0⟩(10)|1⟩(01)Xσx|0⟩↦|1⟩|1⟩↦|0⟩ , la prima colonna della matrice è l'immagine del vettore della prima base e così via.(0110)
nH⊗n:=H⊗H⊗⋯⊗Hn−times|0⟩⊗|1⟩⊗|1⟩⊗…⊗|0⟩|011…0⟩
H⊗2=H⊗H, is {|0⟩⊗|0⟩,|0⟩⊗|1⟩,|1⟩⊗|0⟩,|1⟩⊗|1⟩} or in the shorthand {|00⟩,|01⟩,|10⟩,|11⟩}.
There's different ways to order this basis in order to use matrices, but one natural one is to order the strings as if they are numbers in binary so as above. For example for 3 qubits you could order the basis as
{|000⟩,|001⟩,|010⟩,|011⟩,|100⟩,|101⟩,|110⟩,|111⟩}.
The reason why this can be useful is that it corresponds with the Kronecker product for the matrices of the operators. For instance, first looking at the basis vectors:
|0⟩⊗|0⟩=(10)⊗(10):=⎛⎝⎜⎜⎜1⋅(10)0⋅(10)⎞⎠⎟⎟⎟=⎛⎝⎜⎜⎜1000⎞⎠⎟⎟⎟
and
|0⟩⊗|1⟩=(10)⊗(01):=⎛⎝⎜⎜⎜1⋅(01)0⋅(10)⎞⎠⎟⎟⎟=⎛⎝⎜⎜⎜0100⎞⎠⎟⎟⎟
and similarly
|1⟩⊗|0⟩=⎛⎝⎜⎜⎜0010⎞⎠⎟⎟⎟,|1⟩⊗|1⟩=⎛⎝⎜⎜⎜0001⎞⎠⎟⎟⎟
If you have an operator e.g. X1X2:=X⊗X which acts on two qubits and we order the basis as above we can take the kronecker product of the matrices to find the matrix in this basis:
X1X2=X⊗X=(0110)⊗(0110)=⎛⎝⎜⎜⎜0⋅(0110)1⋅(0110)1⋅(0110)0⋅(0110)⎞⎠⎟⎟⎟=⎛⎝⎜⎜⎜0001001001001000⎞⎠⎟⎟⎟
If we look at the example of CNOT above given as |0⟩⟨0|⊗I+|1⟩⟨1|⊗X.∗ This can be computed in matrix form as (1000)⊗(1001)+(0001)⊗(0110), which you can check is the CNOT matrix above.
It's worthwhile getting used to using the shorthands and the tensor products rather than converting everything to matrix representation since the computational space grows as 2n for n-qubits, which means for three cubits you have 8×8 matrices, 4-qubits you have 16×16 matrices and it quickly becomes less than practical to convert to matrix form.
Aside∗: There are a few common ways to use dirac notation, to represent vectors like |0⟩; dual vectors e.g. ⟨0|, inner product ⟨0|1⟩ between the vectors |0⟩ and |1⟩; operators on the space like X=|0⟩⟨1|+|1⟩⟨0|.
An operator like P0=|0⟩⟨0| is a projection operator is a (orthogonal) projection operator because it satisfies P2=P and P†=P.