Compartir a través de


Operación ApplyControlOnInt

Nombre completo: Std.Canon.ApplyControlOnInt

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

Resumen

Aplica una operación unitaria en el destino si el estado de registro de control corresponde a un entero no negativo especificado.

Entrada

numberState

Entero no negativo en el que se debe controlar la operación oracle.

oráculo

Una operación unitaria que se va a controlar.

blanco

Destino en el que se va a aplicar oracle.

controlRegister

Registro cuántico que controla la aplicación de oracle.

Observaciones

El valor de numberState se interpreta mediante una codificación little-endian.

numberState debe ser como máximo $2^\texttt{Length(controlRegister)} - 1$. Por ejemplo, numberState = 537 significa que oracle se aplica si y solo si controlRegister está en el estado $\ket{537}$.