Biến đổi Fourier lượng tử

Từ testwiki
Bước tới điều hướng Bước tới tìm kiếm

Bản mẫu:Mồ côi Biến đổi Fourier lượng tử là một phép biến đổi tuyến tính trên các qubit (đơn vị cơ bản của thông tin lượng tử), phép biến đổi này tương tự như biến đổi Fourier rời rạc. Biến đổi Fourier lượng tử là một trong những thuật toán lượng tử quan trọng nhất, nó thường là một phần của các thuật toán lượng tử khác, đặc biệt là thuật toán Shor để phân tích thừa số nguyên tố và tính toán các logarit rời rạc.

Biến đổi Fourier lượng tử dựa trên thuật toán biến đổi Fourier nhanh của James CooleyJohn Tukey. Nó có thể được thực hiện hiệu quả trên máy tính lượng tử, bởi nó có thể triệt tiêu các thành phần bằng cách nhân với các ma trận unita (áp dụng toán tử U^(QFT)). Biến đổi Fourier lượng tử có thể được cài đặt và thực hiện trên một mạch lượng tử.

Định nghĩa

Biến đổi Fourier rời rạc "cổ điển" được định nghĩa như sau:

Dãy của N số phức:x0,x1,...,xN1 được biến đổi thành chuỗi của N số phức y0,y1,...,yN1 bởi công thức sau đây:

yk=l=0N1e2πiNklxlk=0,1,,N1(1)

với ecơ số của lôgarit tự nhiên, iđơn vị ảo (i2=1), và π là số pi.

Đặt ω=e2πiN, ta được:

yk=1Nj=0N1xjωjk

Như vậy, ta có thể xây dựng phép biến đổi Fourier thành ma trận unita FN như sau:

FN=1N[111111ωω2ω3ωN11ω2ω4ω6ω2(N1)1ω3ω6ω9ω3(N1)1ωN1ω2(N1)ω3(N1)ω(N1)(N1)]

Tương tự với "cổ điển", ta dùng các vector biểu diễn trạng thái lượng tử rồi áp dụng toán tử U^(QFT), hay nói cách khác là áp dụng ma trận trên.

Khi áp dụng cho một xâu n-qubit, ta được:

U^(QFT)|bn1bn2...b0=12n{|0 + e2πi[.b0] |1} {|0 + e2πi[.b1b0] |1} {|0 + e2πi[.bn1bn2...b0] |1}(2)

Tính chất[1]

Tính đối xứng

Xét với biến đổi Fourier "cổ điển":

Đặt 2 vector xT=(x0,x1,...,xN1)yT=(y0,y1,...,yN1).Chúng ta có thể viết lại công thức (1) như sau:

y=U(FT)x

Với U(FT)ma trận biến đổi tuyến tính của ma trận có các phần tử là:

Ukl(FT)=1Ne2πiklNk,l=0,1,,N1(3)

Từ công thức (3), ta suy ra:

Ukl(FT)=Ulk(FT)

Hay nói cách khác, U(FT)ma trận đối xứng.

Tương tự, ở biến đổi Fourier lượng tử, ta xét trạng thái |l.

Sử dụng toán tử U^(QFT) tác động và trạng thái |l, biến đổi sang trạng thái |k.

U^(QFT)|k=1Nl=0N1e2πiklN|l

Từ đó, ta thấy các phần tử ma trận của toán tử U^(QFT) là:

Ulk(QFT)=l|U^(QFT)|k=1Ne2πiklN=Ulk(FT)=Ukl(FT)=Ukl(QFT)

Như vậy, U^(QFT) cũng đối xứng.

Unita

Để chứng minh tính unita của biến đổi Fourier lượng tử, ta cần biết đến hai công thức sau:

Đầu tiên, ta cần biết đến tổng hình học:

S=1+q+q2+q3+...+qN1=l=0N1ql=1qN1q(4)

Tiếp theo là:

T=1Nl=0N1e2πiMlN={1,khi M=00,khi 0<|M|<N(5)

Chứng minh công thức này như sau:

1) Xét M=0
T=1Nl=0N1e0=1Nl=0N11=1NN=1
2) Xét 0<|M|<N, áp dụng công thức của tổng hình học
T=1Nl=0N1e2πiMlN=1Nl=0N1[e2πilMN]l=1N1e2πiM1e2πiMN=0

Do e2πiM=11e2πiMN0 với 0<|M|<N

Áp dụng 2 công thức (4)(5), ta có:

[U(FT)U(FT)]mn=l=0N1Ulm(FT)*Uln(FT)

=l=0N11Ne2πilmNe2πilnN=1Nl=0N1e2πi(nm)lN=δmn

Như vậy ta đã chứng minh biến đổi Fourier lượng tử có tính Unita

Ví dụ[1]

Biểu diễn mạch lượng tử cho biến đổi Fourier lượng tử cho 1,2,3 qubit trên wolfram[2]

Xét một vài trường hợp đơn giản.

Với trường hợp chỉ có 1 qubit, ta có n=1N=2n=2 trạng thái lượng tử cơ bản. Biến đổi Fourier lượng tử trong trường hợp này như sau:

U^(QFT)|0=1Nl=0N1e2πi0lN|l=12{|0+|1}

U^(QFT)|1=1Nl=0N1e2πi1lN|l=12{|0|1}

Trong trường hợp này ta dễ thấy ma trận biến đổi của phép biến đổi Fourier lượng tử là:

F21=12[1111]

Ma trận trên tương tự như ma trận của cổng Hadamard. Vì thế, mạch lượng tử được sử dụng trong việc biến đổi Fourier lượng tử cho 1 qubit chỉ dùng 1 cổng Hadamard.

Xét trong trường hợp 2 qubit, ta có n=2N=2n=4 trạng thái lượng tử cơ bản. Ta quy định |00|0, |01|1, |10|2, |11|3. Ta có:

U^(QFT)|00 =14l=03e2πi0l4|l=12(|0+|1+|2+|3)

=12(|00+|01+|10+|11)=12(|0+|1)(|0+|1),

U^(QFT)|01 =14l=03e2πi1l4|l=12(|0+i|1|2i|3)

=12(|00+i|01|10i|11)=12(|0|1)(|0+i|1),

U^(QFT)|10 =14l=03e2πi2l4|l=12(|0|1+|2|3)

=12(|00|01+|10|11)=12(|0+|1)(|0|1),

U^(QFT)|11 =14l=03e2πi3l4|l=12(|0i|1|2+i|3)

=12(|00i|01|10+i|11)=12(|0|1)(|0i|1),

Ma trận của phép biến đổi:

F22=122[11111i1i11111i1i]

Với trường hợp này, mạch lượng tử của biến đổi Fourier lượng tử ngoài các cổng Hadamard, còn cần sử dụng thêm một cổng điều khiển xoay pha Rπ2.

Mạch lượng tử của trường hợp 1, 2 và 3 qubit đầu vào được mô hình trình diễn trên wolfram[2]

Sơ đồ mạch lượng tử

Mạch lượng tử cho biến đổi Fourier lượng tử trên n qubits

Như đã nói ở trên, biến đổi Fourier lượng tử là một thuật toán lượng tử nên có thể được cài đặt và thực hiện nhờ một mạch lượng tử.

Với một hệ cơ sở trực chuẩncác vector:

|0,|1,...,|2n1

Ta có thể biểu diễn một số x dưới dạng sau:

|x=|x1,x2,...,xn=|x1|x2...|xn

với x=x12n1+x22n2+...+xn20

Theo công thức (2), thì ta thực hiện biến đổi Fourier lượng tử như sau:

|x1,x2,...,xn12n (|0+e2πi[0.xn]|1)(|0+e2πi[0.xn1xn]|1)...(|0+e2πi[0.x1x2xn]|1)

Như vậy, biến đổi Fourier rời rạc trên trạng thái lượng tử của n qubit (để biểu diễn số N) có thể thực hiện dễ dàng nhờ mạch lượng tử bên. Trên thực tế, mỗi qubit đơn có thể được thực hiện hiệu quả dựa vào cổng Hadamardcổng điều khiển xoay pha. Tổng số lượng cổng sử dụng là 1+2+...+n=n(n+1)/2=O(n2) cổng.

Độ phức tạp

Như các ví dụ trên và mạch lượng tử tổng quát, ta dễ thấy để triệt tiêu các thành phần, các phép biến đổi Fourier rời rạc được thực hiện qua O(n2) cổng Hadamard và các cổng điều khiển xoay pha Rπ2k, với n là số lượng qubit cần biến đổi, k=0,1,...,n1[3]. Trong khi đó, phép biến đổi Fourier rời rạc "cổ điển" cần dùng O(n2n) (với n là số lượng bit cần biến đổi). Đây là độ phức tạp thuật toán trong thời gian đa thức. Tuy nhiên, biến đổi Fourier lượng tử áp dụng trên một trạng thái lượng tử còn biến đổi Fourier rời rạc "cổ điển" lại áp dụng trên một vector, nên không phải tất cả công việc sử dụng biến đổi Fourier rời rạc "cổ điển" có thể tận dụng mức độ tăng độ phức tạp cấp số nhân này.

Ngày nay, trường hợp tốt nhất của thuật toán biến đổi Fourier lượng tử, chỉ sử dụng O(nlogn) cổng lượng tử, đã đạt được hiệu quả tốt.[4]

Ứng dụng

Biến đổi Fourier lượng tử là một thuật toán lượng tử quan trọng, nó thường là một phần của các thuật toán lượng tử khác, đặc biệt là thuật toán Shor để phân tích thừa số nguyên tố và tính toán các logarit rời rạc, thuật toán dự đoán pha lượng tử để ước tính giá trị riêng của các toán tử unita, và các thuật toán về vấn đề phân nhóm ẩn.

Liên kết ngoài

Bản mẫu:Tham khảo

Tham khảo

  1. 1,0 1,1 Bản mẫu:Chú thích tạp chí
  2. 2,0 2,1 http://demonstrations.wolfram.com/QuantumFourierTransformCircuit/ Biểu diễn mạch lượng tử 1,2,3 qubit trên wolfram
  3. Bản mẫu:Chú thích sách
  4. L. Hales, S. Hallgren, An improved quantum Fourier transform algorithm and applications, Proceedings of the 41st Annual Symposium on Foundations of Computer Science, p.515, November 12–14, 2000