Udostępnij przez


Zastosuj operacjęControlledOnInt

W pełni kwalifikowana nazwa: Std.Canon.ApplyControlledOnInt

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

Streszczenie

Stosuje operację jednostkową w obiekcie docelowym, jeśli stan rejestru kontrolki odpowiada określonej nienegatywnej liczbą całkowitą.

Wkład

numberState (Państwo)

Nienegacyjna liczba całkowita, w której operacja oracle powinna być kontrolowana.

wyrocznia

Operacja jednostkowa, która ma być kontrolowana.

cel

Obiekt docelowy, na którym ma być stosowany oracle.

controlRegister (kontrolaRejestr)

Rejestr kwantowy, który kontroluje zastosowanie oracle.

Uwagi

Wartość numberState jest interpretowana przy użyciu kodowania typu little-endian.

numberState musi wynosić co najwyżej $2^\texttt{Length(controlRegister)} - 1$. Na przykład numberState = 537 oznacza, że oracle jest stosowana tylko wtedy, gdy controlRegister jest w stanie $\ket{537}$.