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

Три состояния с фазами кубических корней единицы

Вход — два кубита в $|00\rangle$, хранящиеся в массиве длины 2. Напишите операцию на языке Q#, подготавливающую состояние

$$\frac{|00\rangle+\omega|01\rangle+\omega^2|10\rangle}{\sqrt3},\qquad\omega=e^{2\pi i/3}.$$

Полная вспомогательная операция подготовки трёх состояний из предыдущего задания дана в заготовке.

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

namespace Kata {
    import Std.Math.*;

    operation ThreeStates_TwoQubits_Phases(qs : Qubit[]) : Unit {
        // Implement your solution here...

    }

    // You might find this helper operation from an earlier task useful.
    operation ThreeStates_TwoQubits(qs : Qubit[]) : Unit is Adj {
        let theta = ArcSin(1.0 / Sqrt(3.0));
        Ry(2.0 * theta, qs[0]);
        ApplyControlledOnInt(0, H, [qs[0]], qs[1]);
    }
}