Различить состояния с одной положительной амплитудой
Два кубита в массиве находятся в одном из четырёх ортогональных состояний. Напишите операцию на языке Q#, возвращающую номер $j$:
$$|S_0\rangle=(|00\rangle-|01\rangle-|10\rangle-|11\rangle)/2,$$
$$|S_1\rangle=(-|00\rangle+|01\rangle-|10\rangle-|11\rangle)/2,$$
$$|S_2\rangle=(-|00\rangle-|01\rangle+|10\rangle-|11\rangle)/2,$$
$$|S_3\rangle=(-|00\rangle-|01\rangle-|10\rangle+|11\rangle)/2.$$
Конечное состояние кубитов неважно.
Заготовка Q#:
namespace Kata {
operation TwoQubitStateTwo(qs : Qubit[]) : Int {
// Implement your solution here...
return -1;
}
}