Квантовое преобразование Фурье

Материал из testwiki
Перейти к навигации Перейти к поиску

Квантовое преобразование Фурье (сокр. КПФ) — линейное преобразование квантовых битов (кубитов), являющееся квантовым аналогом дискретного преобразования Фурье (ДПФ). КПФ входит во множество квантовых алгоритмов, в особенности в алгоритм Шора разложения числа на множители и вычисления дискретного логарифма, в квантовый алгоритм оценки фазы для нахождения собственных чисел унитарного оператора и алгоритмы для нахождения скрытой подгруппы.

Квантовое преобразование Фурье эффективно исполняется на квантовых компьютерах путём специального разложения матрицы в произведение более простых унитарных матриц. С помощью такого разложения, дискретное преобразование Фурье на 2n входных амплитудах может быть осуществлено квантовой сетью, состоящей из O(n2) вентилей Адамара и контролируемых квантовых вентилей, где n — число кубитов[1]. По сравнению с классическим ДПФ, использующим O(n2n) элементов памяти (n — количество бит), что экспоненциально больше, чем O(n2) квантовых вентилей КПФ.

Наилучшие из известных алгоритмов квантового преобразования Фурье (по состоянию на конец 2000) задействуют только O(nlogn) вентилей для достижения желаемого приближения результатаШаблон:Sfn.

Определение

Квантовое преобразование Фурье — классическое дискретное преобразование Фурье, применённое к вектору амплитуд квантовых состояний. Обычно рассматривают такие вектора, имеющие длину N:=2n. Классическое преобразование Фурье действует на вектор (x0,x1,,xN1)N и отображает его в вектор (y0,y1,,yN1)N по формуле:

yk=1Nj=0N1xjωnjk,k=0,1,2,,N1,

где ωn=e2πiN — Nый корень из единицы.

Аналогично, КПФ действует на квантовое состояние |x=i=0N1xi|i и отображает его в квантовое состояние i=0N1yi|i по формуле:

yk=1Nj=0N1xjωnjk,k=0,1,2,,N1,

где ωn та же, что и раньше. Так как ωn — вращение, обратное преобразование Фурье производится аналогично

yk=1Nj=0N1xjωnjk

Если x — базисное квантовое состояние, квантовое преобразование Фурье может быть представлено в виде отображенияШаблон:Sfn:

QFT(|x)=1Nj=0N1ωnjx|j.

КПФ может эквивалентно рассматриваться как унитарная матрица (чем являются квантовые вентили), действующая на векторы квантовых состояний[2]. Такая матрица FN имеет не произвольный, а строго определённый вид

FN=1N[111111ωnωn2ωn3ωnN11ωn2ωn4ωn6ωn2(N1)1ωn3ωn6ωn9ωn3(N1)1ωnN1ωn2(N1)ωn3(N1)ωn(N1)(N1)].

Поскольку N:=2n и ωn:=e2πi2n — простейший (наименьшая по модулю экспоненциальная часть) Nкорень из единицы, для случая N=4=22 и фазы ω2=i получаем матрицу преобразования

F4=12[11111i1i11111i1i].

Шаблон:См. также

Свойства

Унитарность

Симуляция квантовой цепи, состоящей из двух кубитов с использованием Q-Kit

Большинство свойств КПФ следует из того, что данное преобразование унитарно. Этот факт легко проверяется путём умножения матриц FF=FF=I, где F — эрмитово-сопряжённая матрица к F.

Из унитарных свойств следует, что обратное к КПФ преобразование имеет матрицу, эрмитово-сопряжённую к матрице преобразования Фурье, поэтому F1=F. Если существует эффективная квантовая сеть, осуществляющая КПФ, то эта же сеть может быть запущена в обратную сторону для проведения обратного квантового преобразования Фурье. А это значит, что оба преобразования могут работать эффективно на квантовом компьютере.

Симуляции квантовых сетей двух возможных вариантов 2-кубитового КПФ, использующего F и F1, показаны для демонстрации идентичного результата (используется Q-Kit).

Построение сетей

Квантовые вентили, используемые в сетях КПФ — вентиль Адамара и вентиль с контролируемой фазой. В терминах матриц

H:=12(1111),Rm:=(100ωm),

где ωm:=e2πi2m — 2m-й корень из единицы.

Квантовая сеть КПФ с n кубитами (инвертированный порядок выходных кубитов). Использует понятие двоичного разложения, введённое ниже.

В преобразовании используются только линейные квантовые операции, чтобы задание функции для каждого из базисных состояний позволяло определить смешанные состояния из линейности. Это отличается от определения состояний в обычном преобразовании Фурье. Задать преобразование Фурье в обычном смысле — описать то, как получается результат для произвольных входных данных. Но здесь, как и во многих других случаях, проще описать поведение конкретного базисного состояния и вычислять результат из линейности.

Сеть КПФ можно построить для любого числа входных амплитуд N; однако, это проще всего сделать в случае N=2n. Тогда получается Ортонормированная система из векторов

|0,,|2n1.

Базисные состояния перечисляют все возможные состояния кубитов:

|x=|x1x2xn=|x1|x2|xn

где, по правилу тензорного суммирования , |xj означает, что кубит j находится в состоянии xj, с xj 0 либо 1. По соглашению, индекс базисного состояния x указывает на возможные состояния этого кубита, то есть является двоичным разложением:

x=x12n1+x22n2++xn20.

Также удобно использовать дробную двоичную нотацию:

[0.x1xm]=k=1mxk2k.

Например, [0.x1]=x12 и [0.x1x2]=x12+x222.

Используя эти обозначения, КПФ записывается коротко[3]:

QFT(|x1x2xn)=1N (|0+e2πi[0.xn]|1)(|0+e2πi[0.xn1xn]|1)(|0+e2πi[0.x1x2xn]|1)

или

QFT(|x1x2xn)=1N (|0+ω1x|1)(|0+ω2x|1)(|0+ωnx|1).

Краткость налицо, представив двоичное разложение обратно в виде суммы

QFT(|x1x2xn)=1Nk=02n1e2πik[0.x1x2xn]|k
=1N{k0,k1,...kn1}{0,1}ne2πij=1nknj2j1[0.x1x2xn]|k0k1kn1
=1N{k0,k1,...kn1}{0,1}nj=1ne2πiknj[0.xjxj+1xn]|k0k1kn1
=1N(|0+e2πi[0.xn]|1){k1,...kn1}{0,1}n1j=1n1e2πiknj[0.xjxj+1xn]|k1kn1
=1Nj=1n(|0+e2πi[0.xjxj+1xn]|1)

Видно, что выходной кубит 1 находится в суперпозиции состояний |0 и e2πi[0.x1...xn]|1, кубит 2 — в суперпозиции |0 и e2πi[0.x2...xn]|1 и т. д. для остальных кубитов (см. схему-рисунок выше).

Другими словами, ДПФ, операция над n кубитами, может быть разложена в тензорное произведение n однокубитных операций, Действительно, каждая из таких однокубитных операций эффективным образом реализуется на вентилях с контролируемой фазой и вентилях Адамара. Первый кубит |x1 потребует один вентиль Адамара и (n-1) вентилей с контролируемой фазой, второй |x2 потребует два вентиля Адамара и (n-2) вентилей с контролируемой фазой, и так далее (см. схему выше). В итоге потребуется n+(n1)++1=n(n+1)/2=O(n2) вентилей, что квадратично полиномиально по отношению к количеству кубитов.

Пример

Рассмотрим квантовое преобразование Фурье на трёх кубитах. Математически оно записывается

QFT:|x123k=0231ω3xk|k,

где ω3 — простейший восьмой корень из единицы, удовлетворяющий ω38=(e2πi23)8=1 (поскольку N=23=8).

Для сокращения, установим ω:=ω3, тогда матричное представление КПФ на трёх кубитах

F23=123[111111111ωω2ω3ω4ω5ω6ω71ω2ω4ω6ω8ω10ω12ω141ω3ω6ω9ω12ω15ω18ω211ω4ω8ω12ω16ω20ω24ω281ω5ω10ω15ω20ω25ω30ω351ω6ω12ω18ω24ω30ω36ω421ω7ω14ω21ω28ω35ω42ω49]=123[111111111ωω2ω3ω4ω5ω6ω71ω2ω4ω61ω2ω4ω61ω3ω6ωω4ω7ω2ω51ω41ω41ω41ω41ω5ω2ω7ω4ωω6ω31ω6ω4ω21ω6ω4ω21ω7ω6ω5ω4ω3ω2ω].

Это можно упростить, заметив ω4=1, ω2=i, ω6=i, ω5=ω, ω3=iω и ω7=iω.

3-кубитное квантовое преобразование Фурье перепишется в виде

QFT(|x1,x2,x3)=123 (|0+e2πi[0.x3]|1)(|0+e2πi[0.x2x3]|1)(|0+e2πi[0.x1x2x3]|1)

или

QFT(|x1,x2,x3)=123 (|0+ω1x|1)(|0+ω2x|1)(|0+ω3x|1).

Для использования сети составим разложение КПФ в обратном порядке, а именно

|x1,x2,x3123 (|0+ω3x|1)(|0+ω2x|1)(|0+ω1x|1).

На рисунке ниже представлена сеть для n:=3 (с обратным порядком выходных кубитов по отношению к прямому КПФ).

КПФ для 3 кубитов (инвертированный порядок выходных кубитов)
Возможная реализация 3-кубитной сети КПФ в Q-Kit

Как подсчитано выше, используется n(n+1)/2=6 вентилей, что соответствует n=3.

Кроме того, следующие сети осуществляют 1-, 2- и 3-кубитное КПФ: Схема и симуляция 1-, 2- и 3-кубитного КПФ Шаблон:Wayback

Рисунок демонстрирует два различных исполнения 3-кубитного КПФ, которые эквивалентны.

См. также

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:Квантовая информатика

  1. Шаблон:Книга
  2. Ronald de Wolf, The classical and quantum Fourier transform, 1.1 The discrete Fourier transform, p. 1, (pdf) Шаблон:Wayback
  3. Thomas G. Draper, Addition on a Quantum Computer, p. 5, September 1, 1998, (pdf) Шаблон:Wayback