Solo Toffoli y CNot: el primero para obtener el equivalente de un AND clásico, el último para XOR.
Aquí hay un sumador de transporte de ondas, Quantum Computing Playground, que por defecto está configurado con todos los números del 0 al 3 en la misma superposición en ambos operandos. Pero puede configurarlo de la forma que desee: los qubits son por defecto | 0>, y para | 1> puede simplemente SigmaX los que desee. Hadamard en | 0> te lleva | 0 + 1>.
También puede aumentar el número de mediciones (en la práctica, estos son experimentos separados, no puede medir varias veces así) para verificar que los resultados correspondan a lo que esperaría, por ejemplo, si se pueden acumular algunas sumas en más formas en que las verá con más frecuencia que las de los “bordes” (es decir, 6 puede ocurrir solo si ambos operandos son 3, pero 4 pueden construirse a partir de 1 y 3, 2 y 2, “el otro” 2 y 2, y 3 y 1).
- ¿La mecánica cuántica deja de aplicarse por completo a escala macroscópica?
- ¿Por qué el cribado (en física cuántica) es más efectivo a grandes distancias?
- ¿Cómo se usan las trenzas (teoría de nudos) en las computadoras cuánticas?
- ¿Están todas las pruebas matemáticas incluidas en la clase NP?
- ¿Cuáles son los requisitos para ejecutar el código C en una computadora cuántica?
Si bien Quora User tiene razón en que tales sumadores semiclásicos son un desperdicio de computadora cuántica, si los necesita en un oráculo, los necesita … De hecho, los oráculos a menudo se especifican en el código clásico, pero obviamente deben ser programas cuánticos. Es por eso que el idioma Quipper puede hacer esta traducción automáticamente.
PD Técnicamente, Toffoli y Hadamard son universales: todo se puede construir solo a partir de ellos; Ni siquiera necesitas el CNot. Pero no escribirías un programa así 🙂