№ 1480Квантовая теория информацииУровень 2

Различить ортогональные состояния с заданным углом

Входы — угол $\alpha$ в радианах, представленный типом Double, и кубит, гарантированно находящийся в одном из состояний

$$|A\rangle=\cos\alpha|0\rangle-i\sin\alpha|1\rangle,$$

$$|B\rangle=-i\sin\alpha|0\rangle+\cos\alpha|1\rangle.$$

Напишите операцию Q#, возвращающую true для $|A\rangle$ и false для $|B\rangle$. Конечное состояние кубита неважно.

Подсказка источника: поворот $R_x$ переводит стандартный базис в базис $\{|A\rangle,|B\rangle\}$ и обратно.

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

namespace Kata {
    operation IsQubitA(alpha : Double, q : Qubit) : Bool {
        // Implement your solution here...

        return false;
    }
}