Поделиться через


Операция ApplyControlledOnInt

Полное имя: Std.Canon.ApplyControlledOnInt

operation ApplyControlledOnInt<'T>(numberState : Int, oracle : ('T => Unit is Adj + Ctl), controlRegister : Qubit[], target : 'T) : Unit is Adj + Ctl

Сводка

Применяет унитарную операцию на целевом объекте, если состояние регистра элемента управления соответствует указанному ненегативному целочисленному значению.

Ввод

numberState

Ненегативное целое число, в котором должна контролироваться операция oracle.

оракул

Унитарная операция, контролируемая.

цель

Целевой объект, к которому следует применить oracle.

controlRegister

Квантовый регистр, который управляет применением oracle.

Замечания

Значение numberState интерпретируется с помощью маленькой кодировки.

numberState должно быть не более $ 2^\texttt{Length(controlRegister)} - 1$. Например, numberState = 537 означает, что oracle применяется, только если controlRegister находится в состоянии $\ket{537}$.