Delen via


ApplyControlledOnInt-bewerking

Volledig gekwalificeerde naam: Std.Canon.ApplyControlledOnInt

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

Samenvatting

Hiermee past u een eenheidsbewerking toe op het doel als de status van het beheerregister overeenkomt met een opgegeven niet-negatief geheel getal.

Invoer

aantalStaat

Een niet-negatief geheel getal waarop de bewerking oracle moet worden beheerd.

orakel

Een eenheidsbewerking die moet worden beheerd.

doel

Een doel waarop oraclemoet worden toegepast.

controleRegistreren

Een kwantumregister waarmee de toepassing van oraclewordt gecontroleerd.

Opmerkingen

De waarde van numberState wordt geïnterpreteerd met behulp van een little-endian-codering.

numberState moet maximaal $2^\texttt{Length(controlRegister)} - 1$ zijn. numberState = 537 betekent bijvoorbeeld dat oracle wordt toegepast als en alleen als controlRegister de status $\ket{537}$heeft.