Равномерная суперпозиция через преобразование Фурье
Вход — $n$ кубитов в $|0\ldots0\rangle$. Напишите операцию на языке Q#, подготавливающую
$$\frac{|0\ldots0\rangle+\cdots+|1\ldots1\rangle}{\sqrt{2^n}}.$$ Полная вспомогательная операция QFT, реализующая преобразование Фурье через библиотеку, дана в заготовке.
Заготовка Q#:
namespace Kata {
import Std.Arrays.*;
operation AllBasisVectors(qs : Qubit[]) : 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);
}
}Предложить решение
Войти, чтобы отправить материал.