Operação ApplyControlledOnInt
Nome totalmente qualificado: Std.Canon.ApplyControlledOnInt
operation ApplyControlledOnInt<'T>(numberState : Int, oracle : ('T => Unit is Adj + Ctl), controlRegister : Qubit[], target : 'T) : Unit is Adj + Ctl
Resumo
Aplica uma operação unitária no destino se o estado de registro de controle corresponder a um inteiro nãonegativo especificado.
Entrada
numberState
Um inteiro nãonegativo no qual a operação oracle
deve ser controlada.
oráculo
Uma operação unitária a ser controlada.
alvo
Um destino no qual aplicar oracle
.
controlRegister
Um registro quântico que controla a aplicação de oracle
.
Observações
O valor de numberState
é interpretado usando uma codificação little-endian.
numberState
deve ser no máximo $2^\texttt{Length(controlRegister)} - 1$.
Por exemplo, numberState = 537
significa que oracle
será aplicado se e somente se controlRegister
estiver no estado $\ket{537}$.