Partager via


Opération ApplyControlOnInt

Nom complet : Std.Canon.ApplyControlOnInt

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

Résumé

Applique une opération unitaire sur la cible si l’état du registre de contrôle correspond à un entier non négatif spécifié.

Entrée

numberState

Entier non négatif sur lequel l’opération oracle doit être contrôlée.

oracle

Opération unitaire à contrôler.

cible

Cible sur laquelle appliquer oracle.

controlRegister

Registre quantique qui contrôle l’application de oracle.

Remarques

La valeur de numberState est interprétée à l’aide d’un encodage little-endian.

numberState doit être au maximum $2^\texttt{Length(controlRegister)} - 1$. Par exemple, numberState = 537 signifie que oracle est appliqué si et seulement si controlRegister est dans l’état $\ket{537}$.