ApplyControlledOnInt 操作

完全限定的名称:Std.Canon.ApplyControlledOnInt

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

总结

如果控件寄存器状态对应于指定的非负整数,则对目标应用一元运算。

输入

数字状态

应控制操作 oracle 的非负整数。

神谕

要控制的一元运算。

目标

要对其应用 oracle的目标。

控制寄存器

控制 oracle应用的量子寄存器。

言论

使用 little-endian 编码解释 numberState 的值。

numberState 最多必须为 $2^\texttt{Length(controlRegister)} - 1$。 例如,numberState = 537 表示仅在 oracle 处于 $\ketcontrolRegister$状态时才应用 {537}。