№ 1493Квантовая связьУровень 3

Восстановить сообщение по битам Алисы и Боба

Алиса, Боб и Чарли заранее делят состояние

$$|\Psi^3\rangle=\frac{|000\rangle+|011\rangle+|101\rangle+|110\rangle}{2}$$

в порядке qAlice, qBob, qCharlie. У Алисы есть кубит сообщения в неизвестном состоянии $|\psi\rangle$.

Формат сообщения Алисы: она применяет CNOT с управляющим qMessage и целевым qAlice, затем $H$ к qMessage и измеряет оба кубита в стандартном базисе. Бит b1 — результат qMessage, b2 — результат qAlice; One означает true, Zero — false.

Боб измеряет свой кубит в стандартном базисе и посылает результат Чарли как бит b3. Входы операции Q# — qCharlie, пара (b1, b2) Алисы и бит b3 Боба. Преобразуйте qCharlie в исходное состояние кубита сообщения.

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

namespace Kata {
    operation ReconstructMessageWhenThreeEntangledQubits(qCharlie : Qubit, (b1 : Bool, b2 : Bool), b3 : Bool) : Unit {
        // Implement your solution here...
    }
}