Compartilhar via


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}$.