Operación CompareUsingRippleCarry
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.Arithmetic
Paquete: Microsoft.Quantum.Standard
Esta operación comprueba si un entero representado por un registro de cúbits es mayor que otro entero, aplicando un XOR del resultado en un cúbit de salida.
operation CompareUsingRippleCarry (x : Microsoft.Quantum.Arithmetic.LittleEndian, y : Microsoft.Quantum.Arithmetic.LittleEndian, output : Qubit) : Unit is Adj + Ctl
Descripción
Dadas dos enteros y almacenados x
en registros de cúbits de tamaño igual, esta operación comprueba si cumplen x > y
.y
Si es true, 1 es XORed en un cúbit de salida. De lo contrario, 0 es XORed en un cúbit de salida.
En otras palabras, esta operación se puede representar mediante la unidad $$ \begin{align} U\ket{x}\ket{y}\ket{z} = \ket{x}\ket{y}\ket{z\oplus (x>y)}.
\end{align} $$
Entrada
x : LittleEndian
Primer número que se va a comparar almacenado en formato en LittleEndian
un registro de cúbits.
y : LittleEndian
Segundo número que se va a comparar almacenado en formato en LittleEndian
un registro de cúbits.
output: Qubit
Cúbit que almacena el resultado de la comparación $x>y$.
Salida: unidad
Referencias
- Un nuevo circuito de suma de ondulación cuántica Steven A. Cuccaro, Thomas G. Draper, Samuel A. Kutin, David Mohe Moulton https://arxiv.org/abs/quant-ph/0410184