Operazione ApplyControlOnInt

Nome completo: Std.Canon.ApplyControlOnInt

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

Sommario

Applica un'operazione unitaria sulla destinazione se lo stato del registro di controllo corrisponde a un intero non negativo specificato.

Immissione

numeroStato

Intero non negativo su cui deve essere controllata l'operazione oracle.

oracolo

Operazione unitaria da controllare.

bersaglio

Destinazione in cui applicare oracle.

controlRegister

Registro quantistico che controlla l'applicazione di oracle.

Osservazioni

Il valore di numberState viene interpretato usando una codifica little-endian.

numberState deve essere al massimo $2^\texttt{Length(controlRegister)} - 1$. Ad esempio, numberState = 537 indica che oracle viene applicato se e solo se controlRegister si trova nello stato $\ket{537}$.