Операция 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}$.