Подготовить квантовый сигнал заданной частоты
Вход — $n$ кубитов в $|0\ldots0\rangle$. Также дана целая частота $F$, $0\le F\le2^n-1$. Напишите операцию на языке Q#, подготавливающую
$$\frac1{\sqrt{2^n}}\sum_{k=0}^{2^n-1}e^{2\pi iFk/2^n}|k\rangle.$$
Например, при $n=2,F=1$ требуется $(|0\rangle+i|1\rangle-|2\rangle-i|3\rangle)/2$. Полная вспомогательная операция QFT, реализующая преобразование Фурье через библиотеку, дана в заготовке.
Заготовка Q#:
namespace Kata {
import Std.Convert.*;
import Std.Arrays.*;
operation PeriodicState(qs : Qubit[], F : Int) : Unit is Adj + Ctl {
// Implement your solution here...
}
// You might find this helper operation that implements QFT using a library operation useful.
operation QFT(qs : Qubit[]) : Unit is Adj + Ctl {
ApplyQFT(Reversed(qs));
SwapReverseRegister(qs);
}
}Сообщить об ошибке
Войти, чтобы отправить материал.