Come funziona effettivamente il campionamento di Fourier (e risolve il problema di parità)?


10

Sto scrivendo rispetto alla parte I e alla parte II delle lezioni video di campionamento di Fourier del professor Umesh Vazirani.

In parte I iniziano con:

Nella trasformazione di Hadamard:

inserisci qui la descrizione dell'immagine

|0...0{0,1}n12n/2|x
|u=|u1...un{0,1}n(1)u.x2n/2|x(where u.x=u1x1+u2x2+...+unxn)

Nel campionamento di Fourier:

|ψ={0,1}nαx|xxαx^|x=|ψ^

Quando viene misurato vediamo con probabilità .|ψ^x|αx^|2

Nella parte II:

Il problema della parità:

Ci viene data una funzione come una scatola nera. Sappiamo che (ovvero ) per alcuni nascosti . Come facciamo a capire con il minor numero di query al possibile?f:{0,1}n{0,1}f(x)=u.xu1x1+u2x2+...+unxn(mod 2)u{0,1}nuf

inserisci qui la descrizione dell'immagine

Si dice che occorre seguire una procedura in due fasi per capire nel numero minimo possibile di fasi.u

  • Imposta una sovrapposizione12n/2x(1)f(x)|x

  • Campione di Fourier per ottenere .u

Questo è dove mi sono perso. Non capisco cosa significhino esattamente per "creare una sovrapposizione ...". Perché dovremmo farlo? E come Fourier di campionamento (come descritto) contribuiscono a determinare ?u

Costruiscono ulteriormente un cancello quantico come questo:

inserisci qui la descrizione dell'immagine

Anche questo non ha senso per me. Stanno eseguendo trasformazioni di Hadamard su una serie di n-qubit con stato e poi bit capovolgimento e ancora trasformazioni di Hadamard. Quindi torniamo a dove eravamo inizialmente. In che modo un ulteriore input state aiuta emettendo ? Non sono nemmeno sicuro di quale operazione , qui.|0|f(0...0)

Risposte:


7

A partire dall'inizio (un ottimo punto di partenza, dopo tutto), lo stato viene inserito in (qui, chiamato "campione di Fourier"). Questo genera lo statoOra, applichiamo l'operazione (in questo caso, l' oracolo bit ) per dare|0n|HnI

(x={0,1}n12n/2|x)|=12n/2(|0+|1)n|.
Uf
Uf(x={0,1}n12n/2|x)|=x={0,1}n12n/2|x|f(x).

Il primo punto da notare è che è la classica operazione XOR . Ciò che questo in realtà è l' oracolo di fase , in modo da ottenereQuesto perché . Questo è il punto "istituisci una sovrapposizione ..." - tutto ciò significa

(x={0,1}n12n/2(1)f(x)|x)|.
Uf|x(|0|1)=|x|f(x)|1f(x)=(1)f(x)|x(|0|1)eseguire le operazioni richieste per impostare i qubit nello stato sopra, che è una sovrapposizione di tutti gli stati possibili (con i fattori di fase, in questo caso) . In questo caso, questo è solo Hadamard, seguito da un oracolo di fase.

Ora, è solo una stringa di bit classica: , quindixx=ixi

H|xi=12(|0+(1)xi|1)=12y={0,1}(1)xi.y|y.

Questo dà alla proprietà

Hn|x=12n/2y{0,1}n(1)x.y|y.

Questo dà lo stato finale come

12n(x,y={0,1}n(1)f(x)x.y|y)|.

Sappiamo che , dando . Sommando i termini ottiene che . Questo significa che ci rimane il termine per , il che significa che , dando l'output come , che viene misurato in ottenere .f(x)=u.x=x.u(1)f(x)x.y=(1)x.(uy)xx(1)x.(uy)=0,uy0uy=0u=y|u|u

Per quanto riguarda il motivo per cui vogliamo creare una sovrapposizione : è qui che entra in gioco la potenza dell'informatica quantistica - In termini meno matematici, l'applicazione della trasformazione di Hadamard sta eseguendo una rotazione sugli stati qubit per entrare nello stato . Quindi ruota ogni qubit in questo stato di sovrapposizione usando un'operazione equivalente a XOR (in questa nuova base), in modo che quando esegui di nuovo la trasformazione di Hadamard, ora stai semplicemente tornando allo stato . Un altro modo di considerare questo è considerarlo come una riflessione o inversione che ottiene lo stesso risultato.|+n|u

Il punto è che, usando la sovrapposizione, possiamo fare questo per tutti i qubit contemporaneamente, invece di dover controllare individualmente ogni qubit come nel caso classico.

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.