Operación ApplyMultiControlCA
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 versión controlada de multiplicación de una operación controlada por singly.
El modificador CA
indica que la operación de un solo cúbit es controlable y adyacente.
operation ApplyMultiControlledCA (singlyControlledOp : (Qubit[] => Unit is Adj), ccnot : Microsoft.Quantum.Canon.CCNOTop, controls : Qubit[], targets : Qubit[]) : Unit is Adj + Ctl
Entrada
singlyControlOp : Qubit[] =>Unit is Adj
Una operación controlada en un solo cúbit.
Se supone que el primer cúbit del argumento de la operación es un control y el resto se supone que son cúbits de destino.
ApplyMultiControlled
siempre llama a singlyControlledOp
con un argumento de longitud al menos 1.
ccnot : CCNOTop
Puerta controlada-NOT que se va a utilizar para la construcción.
controls : Qubit[]
Cúbits en los que singlyControlledOp
se va a controlar.
La longitud de controls
debe ser de al menos 1.
targets : Qubit[]
Cúbits de destino sobre los que singlyControlledOp
actúa.
Salida: unidad
Comentarios
Esta operación solo usa cúbits limpios de ancilla.
Para obtener la explicación y el diagrama del circuito, vea figura 4.10, Sección 4.3 en & Chuang