Опубликован: 03.06.2019 | Доступ: свободный | Студентов: 505 / 76 | Длительность: 09:11:00
Лекция 18:

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

< Лекция 17 || Лекция 18: 12 || Лекция 19 >

На Шаге 2 применим трансформацию Адамара:

H|0 \rangle=\frac{1}{\sqrt2}|0 \rangle+\frac{1}{\sqrt2}|1 \rangle\\
H|1 \rangle=\frac{1}{\sqrt2}|0 \rangle-\frac{1}{\sqrt2}|1 \rangle

к последнему биту. В результате получим:


\sum_{p=0}^{2^{n-2}-1}\frac{a_p^g}{\sqrt2}|p_o\dots p_{n-3}\rangle|00\rangle+\frac{a_p^g}{\sqrt2} |p_0\dots p_{n-3}\rangle|01\rangle +\frac{b_p^g}{\sqrt2}|p_0\dots p_{n-3}\rangle|10\rangle+\frac{b_p^g}{\sqrt2}|p_0 \dots p_{n-3}\rangle|01\rangle\\
+\frac{a_p^h}{\sqrt2}|p_0 \dots p_{n-3}\rangle|00\rangle-\frac{a_p^h}{\sqrt2}|p_0 \dots p_{n-3}\rangle|01\rangle+\frac{b_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|10\rangle-\frac{b_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|11\rangle\\
=\sum_{p=0}^{2^{n-2}-1}\frac{a_p^g+a_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|00\rangle +\frac{a_p^g-a_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|01\rangle +\frac{b_p^g+b_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|10\rangle +\frac{b_p^g-b_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|11\rangle

На Шаге 3 выполняется операция СNОТ на последнем бите, управляемая предпоследним битом:|xy\rangle\to|xy\oplus x\rangle, что дает:

\sum_{p=0}^{2^{n-2}-1}\frac{a_p^g+a_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|00\rangle +\frac{a_p^g-a_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|01\rangle +\frac{b_p^g+b_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|11\rangle +\frac{b_p^g-b_p^h}{\sqrt2}|p_0\dots p_{n-3}\rangle|10\rangle

Шаг 4 более изощренный. Мы выполняем последовательность поворотов предпоследнего бита:

|0\rangle  \to \cos \alpha |0\rangle -\sin \alpha |1\rangle ,\\
|1\rangle  \to \sin \alpha |0\rangle  +\cos |alpha |1\rangle

Первый поворот на угол \pi/2^n+1}. Затем для каждого из первых n - 2 битов p_0\dotsp_{n-3} выполняем поворот предпоследнего бита на угол \pi/2^{n-j} управляемое битом р_j . Поворот выполняется только тогда, когда р_j равно 1, в противном случае ничего не делается. В качестве альтернативы управляемый поворот можно интерпретировать как поворот предпоследнего бита на угол p_j\pi/2^{n-j}.

Комбинируя эти повороты вместе, получаем поворот на угол

\alpha==(1+2p_0+2^2p_1+\dots+2^{n-2}p_{n-3})\frac{\pi}{2^{n+1}}=\frac{(2p+1)\pi}{2^{n+1}}

Далее в записи введем сокращение, заменяя |p_0\dotsp_{n-3}\rangle на |р\rangle. Результатом работы Шага 4 является:

\sum_{p=0}{2^{n-2}-1}\frac{a_p^g+a_p^h}{\sqrt2} \cos\left(\frac{(2p+1)\pi}{2^{n+1}}\right)|p\rangle |00\rangle  -\frac{a_p^g+a_p^h}{\qsrt2} \sin\left(\frac{(2p+1)\pi}{2^{n+1}}\right)|p\rangle |10\rangle +\frac{a_p^g-a_p^h}{\sqrt2} \cos\left(\frac{(2p+1)\pi}{2^{n+1}}\right)|p\rangle |01\rangle  -\frac{a_p^g-a_p^h}{\qsrt2} \sin\left(\frac{(2p+1}\pi}{2^{n+1}}\right)|p\rangle |11\rangle\\
+\frac{b_p^g+b_p^h}{\sqrt2} \sin\left(\frac{(2p+1)\pi}{2^{n+1}}\right)|p\rangle 01\rangle +\frac{b_p^g+b_p^h}{\qsrt2} \cos\left(\frac{(2p+1)\pi}{2^{n+1}}\right)|p\rangle |11\rangle+\frac{b_p^g-b_p^h}{\sqrt2} \sin\left(\frac{(2p+1)\pi}{2^{n+1}}\right)|p\rangle |00\rangle +\frac{b_p^g-b_p^h}{\qsrt2} \cos\left(\frac{(2p+1}\pi}{2^{n+1}}\right)|p\rangle |10\rangle\\
=\sum_{p=0}^{2^{n-2}-1} \left(\frac{a_p^g+a_p^h}{\sqrt2} \cos\left(\frac{(2p+1)\pi}{2^{n+1}}\right) +\frac{b_p^g-b_p^h}{\sqrt2}\sin\left(\frac{(2p+1)\pi}{2^{n+1}}\right) \right)|p\rangle |00\rangle + \left(\frac{a_p^g-a_p^h}{\sqrt2} \cos\left(\frac{(2p+1)\pi}{2^{n+1}}\right) +\frac{b_p^g+b_p^h}{\sqrt2}\sin\left(\frac{(2p+1)\pi}{2^{n+1}}\right) \right)|p\rangle |01\rangle\\
+\left(\frac{b_p^g-b_p^h}{\sqrt2} \cos\left(\frac{(2p+1)\pi}{2^{n+1}}\right) -\frac{a_p^g+a_p^h}{\sqrt2}\sin\left(\frac{(2p+1)\pi}{2^{n+1}}\right) \right)|p\rangle |10\rangle+\left(\frac{b_p^g+b_p^h}{\sqrt2} \cos\left(\frac{(2p+1)\pi}{2^{n+1}}\right) -\frac{a_p^g-a_p^h}{\sqrt2}\sin\left(\frac{(2p+1)\pi}{2^{n+1}}\right) \right)|p\rangle |11\rangle

На шаге 5 применяется СNОТ к предпоследнему биту, управляемое последним битом:

|xy\rangle  \to |x \oplus yy\rangle

что дает:

\sum_{p=0}^{2^{n-2}-1}\left(\frac{a_p^g+a_p^h}{\sqrt2} \cos \left( \frac{(2p+1)\pi}{2^{n+1}}\right) + \frac{b_p^g-b_p^h}{\sqrt2} \sin \left( \frac{(2p+1)\pi}{2^{n+1}}\right)\right)|p\rangle |00\rangle + \left(\frac{a_p^g-a_p^h}{\sqrt2} \cos \left( \frac{(2p+1)\pi}{2^{n+1}}\right) + \frac{b_p^g+b_p^h}{\sqrt2} \sin \left( \frac{(2p+1)\pi}{2^{n+1}}\right)\right)|p\rangle |11\rangle \\
+\left(\frac{b_p^g-b_p^h}{\sqrt2} \cos \left( \frac{(2p+1)\pi}{2^{n+1}}\right) - \frac{a_p^g+a_p^h}{\sqrt2} \sin \left( \frac{(2p+1)\pi}{2^{n+1}}\right)\right)|p\rangle |10\rangle +\left(\frac{b_p^g+b_p^h}{\sqrt2} \cos \left( \frac{(2p+1)\pi}{2^{n+1}}\right) - \frac{a_p^g-a_p^h}{\sqrt2} \sin \left( \frac{(2p+1)\pi}{2^{n+1}}\right)\right)|p\rangle |01\rangle

Наш завершающий шаг состоит из применения управляемого отрицания СNОТ к каждому из первых n - 2 битов, все управляемые предпоследним битом. При записи финального результата разделяем его на две части. Тогда, когда предпоследний бит равен нулю, сохраняем р как суммируемую переменную. Когда же предпоследний бит равен единице, заменяем р новой переменной r. Биты r берутся с отрицанием, результат отрицания будем обозначать как |\bar r\rangle =|\bar r_0 \bar r_1 \dots \bar r_{n-3}\rangle . В результате получаем следующее выражение:

\sum_{p=0}^{2^{n-2}-1} \left( \frac{a_p^g+a_p^h}{\sqrt2} \cos \left( \frac{(2p+1P\pi}{2^{n+1}} \right) + \frac{b_p^g-b_p^h}{\sqrt2} \sin \left( \frac{(2p+1)\pi}{2^{n+1}} \right)\right}|p\rangle |00\rangle + \left( \frac{b_p^g+b_p^h}{\sqrt2} \cos \left( \frac{(2p+1P\pi}{2^{n+1}} \right) - \frac{a_p^g+a_p^h}{\sqrt2} \sin \left( \frac{(2p+1)\pi}{2^{n+1}} \right)\right}|p\rangle |01\rangle \\
\sum_{r=0}^{2^{n-1}-1} \left( \frac{b_p^g-b_p^h}{\sqrt2} \cos \left( \frac{(2p+1P\pi}{2^{n+1}} \right) b \frac{a_p^g+a_p^h}{\sqrt2} \sin \left( \frac{(2p+1)\pi}{2^{n+1}} \right)\right}|\bar r\rangle |10\rangle+ \left( \frac{a_p^g-a_p^h}{\sqrt2} \cos \left( \frac{(2p+1P\pi}{2^{n+1}} \right) - \frac{b_p^g+b_p^h}{\sqrt2} \sin \left( \frac{(2p+1)\pi}{2^{n+1}} \right)\right}|\bar r\rangle |11\rangle

Вспоминая формулы БПФ, мы обнаруживаем, что первые два коэффициента-этоа_р и b_р для 0 \le р < 2^{n-2}, в то время как последние два коэффициента - это а_р и b_р для 2^{n-2} \le р < 2^{n-1}, р = 2^{n-1} - 1 - r. Предыдущее выражение упрощается и имеет вид:

 \sum_{p=0}^{2^{n-2}-1}(a_p|p\rangle|00\rangle + b_p|p\rangle|01\rangle) +\sum_{\substack{p=2^{n-2}\\p =2^{n-1}-1-r}}^{2^{n-1}-1}(a_p|\bar r\rangle|10\rangle+b_p|\bar r\rangle|11\rangle)

Когда 2^{n-2} \le р < 2^{n-1}, р = 2^{n-1} - 1 - r, то оно записывается как целое из n - 1 бит в бинарной форме, ведущий бит р равен 1, а остальные n - 2 бита являются отрицанием битов r, |р\rangle = |\bar r\rangle|1\rangle, так что две части суммы можно скомбинировать, рассматривая р теперь как целое из n - 1 битов,

\sum_{p=0}^{2^{n-1}-1}a_p|p_0p_1\dotsp_{n-2}\rangle|0\rangle+b_n|p_0p_1\dots p_{n-2}\rangle|1\rangle

Мы видим, что в результате последовательности шагов 1-б в точности получено квантовое преобразование Фурье входа из n-кубита.

Упражнение. Покажите, что сложность квантового преобразования Фурье для п-кубита (число используемых стандартных квантовых элементов) равна n^2.

Мы видим, что КПФ имеет квадратичную сложность (как функция от числа битов), в то время как БПФ имеет экспоненциальную сложность.

< Лекция 17 || Лекция 18: 12 || Лекция 19 >