Se un circuito prende più di un qubit come input e ha porte quantistiche che accettano un numero diverso di qubit come input, come interpreteremmo questo circuito come una matrice?
Ecco un esempio di giocattolo:
Se un circuito prende più di un qubit come input e ha porte quantistiche che accettano un numero diverso di qubit come input, come interpreteremmo questo circuito come una matrice?
Ecco un esempio di giocattolo:
Risposte:
Il primo cancello è un cancello Hadamard che è normalmente rappresentato da
Ora, poiché lo stiamo applicando solo al primo qubit, usiamo un prodotto kronecker su di esso (questo mi ha confuso così tanto quando stavo iniziando - non avevo idea di come scalare le porte; come puoi immaginare, è piuttosto importante ), quindi facciamo , dove I è la matrice dell'identità 2x2. Questo produce
Successivamente abbiamo un cancello CNOT. Questo è normalmente rappresentato da
Questa è la dimensione giusta per due qubit, quindi non è necessario ridimensionare utilizzando i prodotti kronecker. Abbiamo quindi un altro cancello adamardato, che è uguale al primo. Per trovare la matrice complessiva per il circuito, quindi, li moltiplichiamo tutti insieme:
e prendi
(se python si moltiplica correttamente =) Quindi moltiplicheremo questo per il nostro stato qubit originale e otterremmo il nostro risultato.
Quindi, fondamentalmente, attraversi ogni cancello uno per uno, prendi la rappresentazione di base e li ridimensioni in modo appropriato usando prodotti kronecker con matrici di identità. Quindi moltiplichi tutte le matrici insieme nell'ordine in cui vengono applicate. Assicurati di farlo in modo tale che se hai scritto la moltiplicazione, il primo cancello è all'estrema destra; come sottolinea Arriopolis, questo è un errore comune. Le matrici non sono commutative! Se non conosci la rappresentazione di base di una matrice, controlla prima l'articolo di Wikipedia su porte quantistiche che ha molto.