Come creare circuiti quantistici da zero


9

Attualmente sto studiando autonomamente usando principalmente il libro: Quantum Computing a Gentle Introduction di Eleanor Rieffel e Wolfgang Polak.

Superare i capitoli e gli esercizi precedenti è andato abbastanza bene (fortunatamente i capitoli precedenti avevano molti esempi), tuttavia mi sono bloccato sul quinto capitolo sui circuiti quantistici. Sebbene comprenda i concetti presentati dagli autori, forse a causa della mancanza di esempi, ho difficoltà ad applicare tali concetti agli esercizi.

Gli esercizi con cui ho problemi (e dove non riesco a trovare una soluzione o una spiegazione approfondita / introduttiva per) sono i seguenti:

Domande:

Progetta un circuito per la creazione: da|Wn=1n(|0001+|0010+|0100)++|1000)|0000

E progettare un circuito per creare "lo stato Hardy": 112(3|00+|01+|10+|11)

Qualcuno può indicarmi la giusta direzione o rimandarmi ad alcune pubblicazioni / tutorial in modo da poter afferrare meglio questo tipo di esercizi?

Forse una domanda correlata: suggerimenti e trucchi per la costruzione di circuiti per generare stati quantistici arbitrari


1
Non ho familiarità con lo stato di Hardy, ma puoi controllare cosa hai scritto? Non è normalizzato (e in qualche modo banale), quindi immagino che non sia quello che volevi. Per lo stato W, probabilmente vuoi dare un'occhiata a questa domanda .
DaftWullie,

Hai ragione, ho fatto degli errori di battitura. Li ho modificati, ora sono corretti / normalizzati. E grazie!
Joery,

1
A proposito, questo articolo arxiv.org/abs/quant-ph/0104030 fornisce una tecnica generale per costruire stati quantistici arbitrari.
Paradosso

Risposte:


7

Come ha sottolineato DaftWullie, la domanda su ha un'eccellente raccolta di risposte qui .Wn

Per la domanda sullo stato di Hardy (e molte altre attività simili), puoi affrontarla come segue.

  • Inizia con lo stato .|0 0 ...
  • Inizia mettendo il primo qubit "nello stato giusto", che è uno stato , dove e sono i pesi relativi di tutti gli stati di base che iniziano rispettivamente con 0 e con 1. Per lo stato Hardy, due stati di base iniziano con 0: e due stati base iniziano con 1: ; i loro pesi relativi sono solo le somme dei quadrati delle loro ampiezze: e(α|0+β|1)|0 0 ...αβ112(3|00+|01)112(|10+|11)912+112=1012112+112=212, rispettivamente. Quindi dovrai mettere il primo qubit nello stato usando cancello.(1012|0+212|1)Ry
  • Continuare ponendo il secondo qubit nello stato corretto, applicando le porte controllate con il primo qubit come controllo. Per ottenere i primi due termini, è necessario convertire il termine nel termine , che equivale a convertire lo stato normale in senza influire sullo stato (notare la rinormalizzazione quando si passa da termini di espressione più grande a stati autonomi!) Per fare ciò, puoi fare un controlloRy1012|0|0112(3|00+|01)|0|0110(3|00+|01)|1|0Ry con il primo qubit come controllo e il secondo qubit come obiettivo.
  • Se hai più qubit, continuerai a farlo, usando più qubit di controllo per rendere le tue rotazioni sempre più specifiche.

Puoi vedere questo articolo di Shende, Bullock e Markov se vuoi una spiegazione più formale e meno ad hoc.


La tua risposta è fantastica! Penso di essermi bloccato perché ho provato a farlo in un approccio dall'alto verso il basso, cioè partendo dallo stato finale e cercando di trovare una decomposizione e porte verso lo stato di base. Questo e il documento sono di grande aiuto, grazie!
Joery

4

È possibile semplificare i problemi di "produzione di uno stato" suddividendoli in tre parti:

  1. Prepara la raccolta di magnitudini di cui avrai bisogno, senza preoccuparti della fase o di quale stato ha quale magnitudine.
  2. Correggi le fasi.
  3. Correggi l'ordine.

Ora considera lo stato Hardy. Quali sono le magnitudini che dobbiamo fare? Abbiamo bisogno di un'istanza di e tre istanze di . Possiamo farli uno alla volta, avendo uno stato di "ampiezza rimanente" da cui continuiamo a separarci.3/121/12

Iniziamo con tutta l'ampiezza in uno stato con un'eccitazione a sinistra, dove . Quello che vogliamo fare è spostare l'eccitazione verso destra lasciando dietro di sé le magnitudini desiderate. Quindi, per cominciare, vogliamo lasciarci alle spalle la magnitudine . Possiamo farlo con un'operazione controllata, in cui il controllo è il qubit più a sinistra e il bersaglio è il qubit appena alla sua destra. Selezionando il valore giusto per , ciò comporterà lo stato . Quindi abbiamo CNOT il secondo qubit sul primo qubit per arrivare a0|1000 ... 000=13/12Ry(θ0)θ3/12|1000 ... 00+1|1100 ... 001|1000 ... 00+3/12|0100 ... 00. Adesso vogliamo estrarre . Eseguiamo un altro controllato dal qubit più a sinistra seguito da un CNOT all'indietro, ma questa volta con il target è il qubit terzo da sinistra. Selezionando il perfetto produrremo lo stato . E continui a farlo fino a quando non hai tutte le ampiezze di cui hai bisogno, affrontate comodamente dall'eccitazione dei qubit individuali.1/12Ryθ12|1000 ... 00+3/12|0100 ... 00+1/122|0010 ... 00

Ora vuoi correggere eventuali fasi errate prodotte dalle rotazioni Y. Per lo stato Hardy questo è facile, perché tutte le fasi sono positive. In generale si mira ogni posizione del qubit con un'operazione con i valori scelti in modo appropriato , e ciò porterà le fasi giuste.KRz(φK)φK

Ora vogliamo ottenere l'ordinazione giusta. Il modo più semplice per farlo è quello di avere alcuni qubit extra che sono i tuoi qubit di output e, per ciascuno dei qubit che abbiamo preparato finora e ciascuno dei qubit di output, aggiungere un CNOT tra i due o no. Ad esempio, se lo stato con ampiezza dovrebbe essere un , allora dobbiamo CNOT dal nostro qubit più a sinistra su entrambi i qubit di output. Quindi dobbiamo decomprimere il qubit più a sinistra usando un'operazione NOT controllata da molti. Dovrebbe esserci un controllo per ogni qubit di output e il tipo di controllo (qubit-must-be-on vs qubit-must-be-off) è determinato dal fatto che tu abbia attivato o meno il qubit.3/12|11

L'applicazione di questi passaggi produce un circuito inefficiente, ma corretto, per la creazione di uno stato Hardy. Puoi aprire il circuito in Quirk :

Preparazione semplice

Se si desidera produrre uno stato senza utilizzare così tanto spazio di lavoro, l'attività diventa più difficile. Ma puoi ancora seguire le magnitudini, quindi le fasi, quindi il modello di ordinazione. Inoltre, ci sono modi più intelligenti per preparare insiemi di magnitudini che hanno modelli piacevoli. Ad esempio, quando solo un'ampiezza è diversa dalle altre, un giro di amplificazione dell'ampiezza parziale può essere sufficiente per preparare lo stato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.