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

Инверсия кубита при двух единичных управлениях

Вход — три кубита в произвольном состоянии, хранящиеся в массиве длины 3:

$$\begin{aligned} |\psi\rangle={}&\alpha|000\rangle+\beta|001\rangle+\gamma|010\rangle\\ &+\delta|011\rangle+\epsilon|100\rangle+\zeta|101\rangle\\ &+\eta|110\rangle+\theta|111\rangle. \end{aligned}$$

Напишите операцию на языке Q#, инвертирующую третий кубит, если первые два находятся в $|11\rangle$. Требуемое состояние:

$$\begin{aligned} &\alpha|000\rangle+\beta|001\rangle+\gamma|010\rangle\\ &+\delta|011\rangle+\epsilon|100\rangle+\zeta|101\rangle\\ &+\theta|110\rangle+\eta|111\rangle. \end{aligned}$$

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

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

Предложить решение

Войти, чтобы отправить материал.