C'è un buon modo per scrivere matematicamente un'operazione CNOT su qubit non adiacenti in un circuito? [duplicare]
Mi chiedevo se esiste un modo per presentare la matrice CNOT poiché di solito presentiamo operazioni a qubit singolo
$$... 1 \otimes NOT \otimes 1 ...$$
So che per qubit adiacenti in un circuito possiamo presentarlo in modo identico
$$... 1 \otimes CNOT \otimes 1 ...$$
Ma c'è un modo per presentare l'operazione matematicamente se ci sono più CNOT che agiscono su fili non vicini?
Risposte
Se ti riferisci solo alla rappresentazione del circuito astratto, puoi semplicemente riordinare la tua base in modo che tutti i qubit che partecipano ai CNOT siano "adiacenti" secondo la tua etichettatura. Ad esempio, se la base è ordinata come$1,2,3$e vuoi eseguire un CNOT tra i qubit 1 e 3, quindi scrivi qualcosa come
$$ CNOT_{1,3} \otimes I_2 $$
dove la base è ora ordinata $1,3,2$. Ma se non vuoi riordinare la base, c'è anche un altro modo per scrivere il CNOT:
$$ |0\rangle\langle0|\otimes I + |1\rangle\langle1|\otimes X $$
che potrebbe includere un'identità sullo stato del secondo qubit come
$$ (|0\rangle\langle0|)_1 \otimes I_2 \otimes I_3 + (|1\rangle\langle1|)_1 \otimes I_2 \otimes X_3 $$
Questo non è più solo un prodotto di unitari, che è previsto poiché l'azione del CNOT non dovrebbe essere fattorizzata in prodotto di operazioni.
Personalmente, mi definisco solo una notazione. Ad esempio, invece del NOT che hai annotato, definisco$X_n$ essere $$ X_n=1^{\otimes(n-1)}\otimes X\otimes 1^{\otimes(N-n)}. $$ Allo stesso modo, potrei quindi definire $CNOT^i_j$ essere un controllato-non controllato $i$ e il targeting $j$. Se dovessi scriverlo come prodotto tensoriale, probabilmente farei qualcosa di simile$$ 1^{\otimes N}+1^{\otimes (i-1)}\otimes |1\rangle\langle 1|\otimes 1^{\otimes(j-i-1)}\otimes(X-1)\otimes 1^{\otimes(N-j)} $$ assumendo $j>i$.