Operación ApplyAnd
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
Invierte un cúbit de destino determinado si y solo si ambos cúbits de control están en el estado 1, utilizando medidas para realizar la operación adyacente.
operation ApplyAnd (control1 : Qubit, control2 : Qubit, target : Qubit) : Unit is Adj + Ctl
Descripción
Invierte target
si y solo si ambos controles son 1, pero supone que target
está en el estado 0. La operación tiene T count 4, T-depth 2 y no requiere cúbit auxiliar, y por lo tanto puede ser preferible a una operación CCNOT, si target
se sabe que es 0. El adyacente de esta operación se basa en la medición y no requiere puertas T.
La aplicación controlada de esta operación no requiere cúbit auxiliar, 2^c
Rz
puertas y no está optimizado para profundidad, donde c
es el número de cúbits de control general, incluidos los dos controles de la ApplyAnd
operación. La aplicación controlada adyacente requiere 2^c - 1
Rz
puertas (con un ángulo dos veces el tamaño de la operación no adyacente), ningún cúbit auxiliar y no está optimizado para profundidad.
Entrada
control1 : Cúbit
Primer bit cuántico de control
control2: Cúbit
Segundo bit cuántico de control
target : Qubit
Cúbit auxiliar de destino; debe estar en el estado 0
Salida: unidad
Referencias
- Cody Jones: "Construcciones nuevas para la puerta toffoli tolerante a errores", Phys. Rev. A 87, 022328, 2013 arXiv:1212.5069 doi:10.1103/PhysRevA.87.022328
- Craig Gidney: "Halving the cost of quantum addition", Quantum 2, page 74, 2018 arXiv:1709.06648 doi:10.1103/PhysRevA.85.044302
- Mathias Soeken: "Quantum Oracle Circuits and the Christmas Tree Pattern", artículo del blog del 19 de diciembre de 2019 (nota: explica la construcción controlada múltiple)