Sdílet prostřednictvím


Operace ApplyControlledOnInt

Plně kvalifikovaný název: Std.Canon.ApplyControlledOnInt

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

Shrnutí

Použije pro cíl jednotkovou operaci, pokud stav registru ovládacího prvku odpovídá zadanému nenegativnímu celočíselnému číslu.

Vstup

numberState

Nenegativní celé číslo, na kterém má být operace oracle řízena.

věštírna

Jednotná operace, která se má řídit.

cíl

Cíl, na který se má použít oracle.

controlRegister

Kvantový registr, který řídí použití oracle.

Poznámky

Hodnota numberState je interpretována pomocí malého endian kódování.

numberState musí být maximálně $2^\texttt{Length(controlRegister)} – 1$. Například numberState = 537 znamená, že oracle se použije, pokud je controlRegister ve stavu $\ket{537}$.