Фазовый поворот по классической двоичной дроби
Входы — кубит в $|\psi\rangle=\alpha|0\rangle+\beta|1\rangle$ и массив j из $n$ битов $[j_1,\ldots,j_n]$ типа Bool[].
Напишите операцию на языке Q#, переводящую кубит в $\alpha|0\rangle+\beta e^{2\pi i f}|1\rangle$.
Двоичная дробь записывается со старшим разрядом первым:
$$f=0.j_1j_2\ldots j_n=\sum_{k=1}^{n}\frac{j_k}{2^k}.$$
Заготовка Q#:
namespace Kata {
operation BinaryFractionClassical(q : Qubit, j : Bool[]) : Unit is Adj + Ctl {
// Implement your solution here...
}
}