Operación ApplyIfA
Advertencia
Esta documentación hace referencia al QDK clásico, que se ha reemplazado por el QDK moderno.
https://aka.ms/qdk.api Consulte la documentación de la API para el QDK moderno.
Espacio de nombres: Microsoft.Quantum.Canon
Paquete: Microsoft.Quantum.Standard
Aplica una operación adyacente condicionada en un bit clásico.
operation ApplyIfA<'T> (bit : Bool, op : ('T => Unit is Adj), target : 'T) : Unit is Adj
Descripción
Dado un valor bit
de bit y una operación op
, se aplica op
a target
si bit
es true
. Si false
es , no ocurre nada con .target
El sufijo A
indica que la operación que se va a aplicar es adyacente.
Entrada
bit : Bool
un valor booleano que controla si se aplica o no la operación.
op : 'T =>Unit is Adj
Una operación que se va a aplicar condicionalmente.
target : 'T
Entrada a la que se aplica la operación.
Salida: unidad
Parámetros de tipo
'T
Tipo de entrada de la operación que se va a aplicar condicionalmente.
Ejemplo
A continuación se prepara un registro de cúbits en un estado de base computacional representado por una cadena de bits clásica dada como una matriz de Bool
valores:
let bitstring = [true, false, true];
using (register = Qubit(3)) {
ApplyToEach(ApplyIf(_, X, _), Zipped(bitstring, register));
// register should now be in the state |101⟩.
...
}