№ 1604Квантовые вычисленияУровень 2

Подготовить четыре комплексные амплитуды

Вход — система из двух кубитов в базисном состоянии $|00\rangle=(1,0,0,0)^T$.

Напишите операцию на языке Q#, подготавливающую

$$\begin{aligned} \frac12\bigl(&|00\rangle+e^{i\pi/4}|01\rangle\\ &+e^{i\pi/2}|10\rangle+e^{3i\pi/4}|11\rangle\bigr), \end{aligned}$$

то есть вектор $(1,e^{i\pi/4},e^{i\pi/2},e^{3i\pi/4})^T/2$.

Подсказка источника: разложите состояние как

$$\frac{|0\rangle+e^{i\pi/2}|1\rangle}{\sqrt2}\otimes\frac{|0\rangle+e^{i\pi/4}|1\rangle}{\sqrt2},$$

то есть в произведение векторов $(1,e^{i\pi/2})^T/\sqrt2$ и $(1,e^{i\pi/4})^T/\sqrt2$.

Заготовка Q#:

namespace Kata {
    operation PrepareWithComplex(qs : Qubit[]) : Unit is Adj + Ctl {
        // Implement your solution here...

    }
}