Mengapa Transformasi Fourier Transform dapat diimplementasikan secara efisien sebagai sirkuit kuantum?

17

Ini adalah hasil yang terkenal bahwa Discrete Fourier Transform (DFT) dari N=2n bilangan memiliki kompleksitas O(n2n) dengan algoritma yang paling dikenal , sementara melakukan transformasi Fourier dari amplitudo keadaan kuantum, dengan klasik Algoritma QFT , hanya membutuhkan gerbang dasar O(n2) .

Adakah alasan yang diketahui mengapa hal ini terjadi? Maksud saya apakah ada karakteristik DFT yang diketahui yang memungkinkan untuk mengimplementasikan "versi kuantum" yang efisien.

Memang, DFT lebih dari N -dimensi vektor dapat dianggap sebagai operasi linear

y=DFTx,DFTjk1Nexp(2πiNjk).

"Versi kuantum" dari masalah ini adalah tugas, mengingat status kuantum |xk=1Nxk|k , memperoleh keadaan keluaran |yk=1Nyk|k sehingga

|y=DFT|x=QFT|x.
  1. Penyederhanaan pertama tampaknya berasal dari fakta bahwa, karena linearitas QM, kita dapat fokus pada dasar keadaan |j,j=1,...,N , dengan evolusi vektor umum|x kemudian datang secara gratis.
  2. Jika N=2n , seseorang dapat mengekspresikan |j dalam basis dua, memiliki |j=|j1,...,jn .
  3. Dalam algoritma QFT standar seseorang kemudian mengeksploitasi fakta bahwa transformasi dapat ditulis sebagai
    |j1,...,jn2n/2l=1n[|0+exp(2πi(0.jnl+1jn))|1],
    yang kemudian dapat diimplementasikan sebagai rangkaian kuantum dari bentuk
    QFT|j1,...,jn=(k=1nUk)|j1,...,jn,
    di mana Uk diimplementasikan dengan O(n) gerbang SD.

Misalkan kita sekarang memiliki beberapa transformasi kesatuan , dan kami ingin menemukan rangkaian yang mengimplementasikan secara efisien transformasi kuantum yang ekivalen | y = A | x . Dua trik pertama yang disebutkan di atas selalu dapat diterapkan, tetapi kemudian tidak penting kapan dan bagaimana poin lainnya dapat digunakan untuk mendapatkan hasil efisiensi seperti yang kami miliki untuk QFT.A

|y=A|x.

Adakah kriteria yang diketahui untuk hal ini benar? Atau dengan kata lain, apakah mungkin untuk secara tepat menjabarkan apa karakteristik DFT yang memungkinkan untuk mengimplementasikan transformasi kuantum yang terkait secara efisien?

glS
sumber
1
Struktur rekursif QFT dengan jumlah qubit tampaknya berkontribusi pada efisiensi itu.
AHusain

Jawaban:

12

Pengantar Transformasi Fourier Diskrit Klasik:

DFT mengubah urutan bilangan kompleks { x n } : = x 0 , x 1 , x 2 , . . . , X N - 1 ke urutan lain dari bilangan kompleks { X k } : = X 0 , X 1 , X 2 , . . . yang didefinisikan oleh X k = N - 1 nN{xn}:=x0,x1,x2,...,xN1{Xk}:=X0,X1,X2,... Kita dapat mengalikan dengan konstanta normalisasi yang sesuai sebagaimana diperlukan. Selain itu, apakah kita mengambil tanda plus atau minus dalam rumus tergantung pada konvensi yang kita pilih.

Xk=n=0N1xn.e±2πiknN

Misalkan, diberikan bahwa dan x = ( 1 2 - i - i - 1 + 2 i ) .N=4x=(12ii1+2i)

Kita perlu menemukan vektor kolom . Metode umum sudah ditampilkan di halaman Wikipedia . Tetapi kami akan mengembangkan notasi matriks untuk hal yang sama. X dapat dengan mudah diperoleh dengan pra mengalikan xXXx dengan matriks:

M=1N(11111ww2w31w2w4w61w3w6w9)

dimana adalah e - 2 π iw . Setiap elemen dari matriks pada dasarnya adalahwij. 1e2πiNwij1N hanyalah konstanta normalisasi.

Akhirnya, ternyata menjadi: 1X12(222i2i4+4i) .

Sekarang, duduk sebentar dan perhatikan beberapa properti penting:

  • Semua kolom dari matriks saling orthogonal.M
  • Semua kolom memiliki magnitudo 1 .M1
  • Jika Anda memposting kalikan M dengan vektor kolom yang memiliki banyak nol (spread besar) Anda akan berakhir dengan vektor kolom dengan hanya beberapa nol (spread sempit). Kebalikannya juga berlaku. (Memeriksa!)

Sangat mudah diperhatikan bahwa DFT klasik memiliki kompleksitas waktu . Itu karena untuk mendapatkan setiap baris X , operasi N perlu dilakukan. Dan ada baris N di XO(N2)XNNX .


Transformasi fourier cepat:

Sekarang, mari kita lihat transformasi Fast Fourier. Transformasi Fourier cepat menggunakan simetri transformasi Fourier untuk mengurangi waktu komputasi. Sederhananya, kami menulis ulang transformasi Fourier ukuran sebagai dua transformasi Fourier ukuran N / 2 - istilah aneh dan genap. Kami kemudian mengulangi ini berulang-ulang untuk mengurangi waktu secara eksponensial. Untuk melihat bagaimana ini bekerja secara rinci, kita beralih ke matriks transformasi Fourier. Sementara kita melewati ini, mungkin perlu untuk memiliki DFT 8 di depan Anda untuk melihatnya. Perhatikan bahwa eksponen telah ditulis modulo 8 , karena w 8 = 1 .NN/2DFT88w8=1

enter image description here

Perhatikan bagaimana baris sangat mirip dengan baris j + 4 . Juga, perhatikan bagaimana kolom j sangat mirip dengan kolom j + 4 . Termotivasi oleh ini, kita akan membagi transformasi Fourier menjadi kolom genap dan ganjil.jj+4jj+4

enter image description here

Pada frame pertama, kami telah mewakili seluruh Fourier transform matriks dengan menggambarkan baris th dan k kolom th: w j k . Dalam bingkai berikutnya, kita memisahkan kolom ganjil dan genap, dan juga memisahkan vektor yang akan diubah. Anda harus meyakinkan diri sendiri bahwa kesetaraan pertama benar-benar adalah kesetaraan. Pada frame ketiga, kita menambahkan sedikit simetri dengan memperhatikan bahwa w j + N / 2 = - w j (karena w n / 2 = - 1 ).jkwjkwj+N/2=wjwn/2=1

Perhatikan bahwa sisi ganjil dan genap mengandung istilah . Tetapi jika w adalah akar ke-N primitif persatuan, maka w 2 adalah akar ke- N primitif dan ke- 2 . Oleh karena itu, matriks yang entri j , k th adalah w 2 j k benar-benar hanya DFT ( N / 2 ) ! Sekarang kita dapat menulis DFT N dengan cara baru: Sekarang anggaplah kita menghitung transformasi Fourier dari fungsi f ( x )w2jkww2N/2jkw2jkDFT(N/2)DFTNf(x). Kita bisa menulis manipulasi atas sebagai persamaan yang menghitung jangka j f ( j ) .f^(j)

enter image description here

Catatan: QFT pada gambar hanya singkatan dari DFT dalam konteks ini. Juga, M mengacu pada apa yang kita sebut N.

Ini mengubah perhitungan menjadi dua aplikasi DFT ( N / 2 ) . Kita bisa mengubahnya menjadi empat aplikasi DFT ( N / 4 ) , dan sebagainya. Selama N = 2 n untuk beberapa n , kita dapat memecah perhitungan DFT N menjadi N perhitungan DFT 1 = 1DFTNDFT(N/2)DFT(N/4)N=2nnDFTNNDFT1=1 . Ini sangat menyederhanakan perhitungan kami.

Dalam kasus Fast Fourier transform, kompleksitas waktu berkurang menjadi (coba buktikan sendiri). Ini adalah peningkatan besar pada DFT klasik dan cukup banyak algoritma canggih yang digunakan dalam sistem musik modern seperti iPod Anda!O(Nlog(N))


Transformasi Quantum Fourier dengan gerbang kuantum:

Kekuatan FFT adalah kita dapat menggunakan simetri transformasi Fourier diskrit untuk keuntungan kita. Aplikasi sirkuit QFT menggunakan prinsip yang sama, tetapi karena kekuatan QFT superposisi bahkan lebih cepat.

QFT dimotivasi oleh FFT sehingga kami akan mengikuti langkah-langkah yang sama, tetapi karena ini adalah algoritma kuantum implementasi langkah-langkah akan berbeda. Artinya, pertama kita mengambil Fourier transform dari bagian aneh dan bahkan, kemudian kalikan istilah aneh oleh fase .wj

Dalam algoritma kuantum, langkah pertama cukup sederhana. Istilah ganjil dan genap sama-sama dalam superposisi: istilah ganjil adalah mereka yang bit paling signifikan adalah , dan genap dengan 0 . Oleh karena itu, kita dapat menerapkan QFT ( N / 2 ) untuk istilah ganjil dan genap secara bersamaan. Kami melakukan ini dengan menerapkan, kami hanya akan menerapkan QFT ( N / 2 ) ke n - 1 bit yang paling signifikan, dan menggabungkan kembali yang aneh dan bahkan tepat dengan menerapkan Hadamard ke bit yang paling tidak signifikan.10QFT(N/2)QFT(N/2)n1

jwj10

enter image description here

Catatan: Dalam gambar M mengacu pada apa yang kita sebut N.

The phase associated with each controlled phase shift should be equal to wj where j is associated to the k-th bit by j=2k. Thus, apply the controlled phase shift to each of the first n1 qubits, with the least significant bit as the control. With the controlled phase shift and the Hadamard transform, QFTN has been reduced to QFT(N/2).

enter image description here

Note: In the image, M refers to what we are calling N.

Example:

Lets construct QFT3. Following the algorithm, we will turn QFT3 into QFT2 and a few quantum gates. Then continuing on this way we turn QFT2 into QFT1 (which is just a Hadamard gate) and another few gates. Controlled phase gates will be represented by Rϕ. Then run through another iteration to get rid of QFT2. You should now be able to visualize the circuit for QFT on more qubits easily. Furthermore, you can see that the number of gates necessary to carry out QFTN it takes is exactly

i=1log(N)i=log(N)(log(N)+1)/2=O(log2N)

Sources:

  1. https://en.wikipedia.org/wiki/Discrete_Fourier_transform

  2. https://en.wikipedia.org/wiki/Quantum_Fourier_transform

  3. Quantum Mechanics and Quantum Computation MOOC (UC BerkeleyX) - Lecture Notes : Chapter 5

P.S: This answer is in its preliminary version. As @DaftWillie mentions in the comments, it doesn't go much into "any insight that might give some guidance with regards to other possible algorithms". I encourage alternate answers to the original question. I personally need to do a bit of reading and resource-digging so that I can answer that aspect of the question.

Sanchayan Dutta
sumber
Regarding the recursive structure: one might take that more or less by definition. If you want to talk about the scaling of an algorithm, you need a family of circuits for different sized inputs. The way this is typically done is to build the circuit for size n+1 out of the circuit for size n.What I'm not really seeing here is any insight that might give some guidance with regards to other possible algorithms (not that I claim that's an easy thing to do)
DaftWullie
@DaftWullie "What I'm not really seeing here is any insight that might give some guidance with regards to other possible algorithms (not that I claim that's an easy thing to do)" Well, yes! I have been thinking about that too. This is more of a preliminary answer. I will add more to it when I get about learning a bit more (and when I get more free time). I would be very glad to see alternate answers to this question. :-)
Sanchayan Dutta
Just because you have a sequence of problems, does not mean one gives the algorithm for the next (let alone a good one). It is typical because we typically think of nice functions. Being recursive in such a simple way is a property of a sequence of problems. Here what I mean is there exists a factorization Un=Un1x. Using this question to diagnose whether a sequence U has the same efficency properties.
AHusain
Hi, in QFT is it implicitly assumed that a, say 8 x 1, input vector x_classical is amplitude encoded with 3-qubits? Then the QFT operations are done on the encoded qubits? Also, can you please elaborate on "...and recombine the odd and even appropriately by applying the Hadamard to the least significant bit."?
Abdullah Ash- Saki
10

One possible answer as to why we can realise the QFT efficiently is down to the structure of its coefficients. To be precise, we can represent it easily as a quadratic form expansion, which is a sum over paths which have phases given by a quadratic function:

F2n=12nk,x{0,1}nexp(iQ(k,x))|kx|,
where Q(z)=1jk2nθj,kzjzk is a quadratic form defined on 2n-bit strings. The quantum Fourier transform in particular involves a quadratic form whose angles are given by
θj,k={π/22njk,if 1jn<k2nj+10,otherwise.
The structure of these angles has an important feature, which allows the QFT to be easily realised as a unitary circuit:
  1. There is a function f:{1,2,,n}{n+1,n+2,,2n} such that θj,k=π for each 1jn (where f(j)=2nj+1 in the case of the QFT);
  2. For any 1h,jn for which θh,f(j)0, we have θj,f(h)=0.

We may think of the indices of z=(k,x){0,1}2n as input and output wires of a quantum circuit, where our task is to show what the circuit in the middle is which shows how the inputs connect to the outputs. The function f above allows us to see the association of output wires to input wires, that in each case there is a Hadamard gate which connects the two ends together, and that apart from the Hadamards (and SWAP gates which accounts for the reversal of in the order of the indices between (1,2,,n) and (f(1),f(2),,f(n))), all of the other operations are two-qubit controlled-phase gates for relative phases of exp(iθj,k). The second condition on f serves to ensure that these controlled-phase gates can be given a well-defined time ordering.

There are more general conditions which one could describe for when a quadratic form expansion gives rise to a realisable circuit, along similar lines. The above describes one of the simplest cases, in which there are no indices in the sum except for those for the standard basis of the input and output states (in which case the coefficients of the associated unitary all have the same magnitude).

Niel de Beaudrap
sumber
I am not sure I fully understand. Are you saying that any evolution represented as a quadratic form expansion with a quadratic form satisfying those two conditions can be efficiently implemented? Very interesting
glS
@gIS: yes, and furthermore the structure is essentially the same as the Coppersmith QFT circuit (or rather, the fact that the QFT has that form is why the Coppersmith circuit structure suffices to realise the QFT).
Niel de Beaudrap
8

This is deviating a little from the original question, but I hope gives a little more insight that could be relevant to other problems.

One might ask "What is it about order finding that lends itself to efficient implementation on a quantum computer?". Order Finding is the main component of factoring algorithms, and includes the Fourier transform as part of it.

The interesting thing is that you can put things like order finding, and Simon's problem, in a general context called the "Hidden Subgroup Problem".

Let us take a group G, with elements indexed by g, and a group operation ''. We are given an oracle that evaluates the function f(g), and we are assured that there is a subgroup, K, of G with elements k such that for all gG and kK, f(g)=f(gk). It is our task to uncover the generators of the subgroup K. For example, in the case of Simon's problem, the group G is all n-bit numbers, and the subgroup K is a pair of elements {0,s}. The group operation is bitwise addition.

Efficient solutions (that scale as a polynomial of log|G|) exist if the group G is Abelian, i.e. if the operation is commutative, making use of the Fourier Transform over the relevant group. There are well-established links between the group structure (e.g. {0,1}n,) and the problem that can be solved efficiently (e.g. Simon's problem). For example, if we could solve the Hidden Subgroup Problem for the symmetric group, it would help with the solution of the graph isomorphism problem. In this particular case, how to perform the Fourier Transform is known, although this in itself is not sufficient for creating an algorithm, in part because there is some additional post-processing that is required. For example, in the case of Simon's Problem, we required multiple runs to find enough linearly independent vectors to determine s. In the case of factoring, we were required to run a continued fractions algorithm on the output. So, there's still some classical post-processing that has to be done efficiently, even once the appropriate Fourier transform can be implemented.


Some more details

In principle, the Hidden Subgroup Problem for Abelian groups is solved as follows. We start with two registers, |0|0, and prepare the first in a uniform superposition of all group elements,

1|G|gG|g|0,
and perform the function evaluation
1|G|g|g|f(g)=1|G|gKkK|gk|f(g),
where K is defined such that by taking each element and combining with the members of K yields the whole group G (i.e. each member of K creates a different coset, yielding distinct values of f(g)), and is known as the orthogonal subgroup. Tracing over the second register,
1|K|gKk,kK|gkgk|.
Now we perform the Fourier Transform over the group G, giving the output state
|K||G|gK|gg|.
Each of the vectors |gK has a probability of |K|/|G| of being found, and all others have 0 probability. Once the generators of K have been determined, we can figure out the generators of K via some linear algebra.
DaftWullie
sumber
3

One of many possible constructions that gives some insight into this question, at least to me, is as follows. Using the CSD (cosine-sine decomposition), you can expand any unitary operator into a product of efficient gates V that fit nicely into a binary tree pattern. In the case of the QFT, that binary tree collapses to a single branch of the tree, all the V not in the branch are 1.

Ref: Quantum Fast Fourier Transform Viewed as a Special Case of Recursive Application of Cosine-Sine Decomposition, by myself.

rrtucci
sumber
interesting, thanks. Could you include a sketch of the argument in the answer, if possible?
glS
1
What I presented already is my version of a " sketch". If you want to delve more deeply, with equations and pictures, it's best to go to the arxiv ref given at the end
rrtucci