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

Фазовый оракул старшего разряда

Вход — массив из $N$ кубитов в произвольном состоянии. Разряды базисного вектора $|x\rangle=|x_0\ldots x_{N-1}\rangle$ записаны от старшего к младшему: старший разряд хранится в первом кубите массива.

Напишите операцию на языке Q#, реализующую фазовый оракул функции $f(x)=x_0$:

$$U_f|x\rangle=(-1)^{x_0}|x\rangle.$$

Преобразование должно действовать так на каждый базисный вектор, а следовательно, и на их суперпозиции.

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

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

    }
}

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

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