Un qubit se describe con dos números
Un qubit es la unidad básica de información de la computación cuántica, igual que el bit lo es de la computación clásica. Su estado se describe con dos números, y entenderlos es el primer paso para programar un simulador cuántico.
Un bit vale 0 o 1, como un interruptor. Un qubit guarda un número para cada resultado y, al leerlo, da un 0 o un 1 por azar.
Al final de esta lección
Nota
Puedo describir el estado de un qubit con dos amplitudes y calcular la probabilidad de cada resultado.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Qubit | la unidad de información cuántica | |
| Amplitud | el número que acompaña a un resultado posible | |
| Vector de estado | la lista de todas las amplitudes | [0.6, 0.8] |
| Probabilidad | el tamaño de la amplitud, al cuadrado | |
| Normalizar | ajustar las amplitudes para que las probabilidades sumen 1 | |
| Simulador | un programa que sigue las reglas en un ordenador normal |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
El estado de un qubit son dos amplitudes
Un qubit tiene dos resultados posibles al leerlo: 0 y 1. Su estado es una lista con una amplitud para cada uno. Se llama vector de estado.
La lista [1, 0] significa "seguro que sale 0". La lista [0, 1] significa "seguro que sale 1". Entre las dos hay muchos estados, como [0.6, 0.8].
Ejemplo resuelto: de amplitud a probabilidad
| Estado | Amplitud del 0 | Amplitud del 1 | Probabilidad del 0 | Probabilidad del 1 |
|---|---|---|---|---|
| [1, 0] | 1 | 0 | 1 | 0 |
| [0.6, 0.8] | 0,6 | 0,8 | 0,36 | 0,64 |
| [0.5, 0.5] | 0,5 | 0,5 | 0,25 | 0,25 |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un simulador no es un ordenador cuántico
Nota
El laboratorio de esta lección es un simulador: un programa de Python que corre en un ordenador normal y sigue las reglas cuánticas. No es un ordenador cuántico y no puede mostrar que uno sea más rápido. Lo que sí enseña son las reglas. Los scripts escriben sus resultados en inglés.
Un qubit en el simulador
docker exec jupyter python3 steps/qubit.pySe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Qué escribe el script del qubit
El script crea un qubit en el estado |0>. Escribe 1.000|0>, que se lee "amplitud 1 para el resultado 0". Las probabilidades son [1. 0.]: seguro que sale 0.
Después crea dos qubits y dice que ocupan 4 amplitudes, una para cada resultado: 00, 01, 10 y 11.
Un estado válido tiene probabilidades que suman 1
Algo tiene que pasar al leer el qubit, así que las probabilidades suman 1. A un estado que cumple esto se le llama normalizado.
Si una lista no lo cumple, se divide cada amplitud entre el tamaño total, que es la raíz de la suma de los cuadrados. Así se normaliza.
Ejemplo resuelto: normalizar [3, 4]
| Paso | Cuenta | Resultado |
|---|---|---|
| 1. Elevar al cuadrado | 3 × 3 = 9 y 4 × 4 = 16 | 9 y 16 |
| 2. Sumar | 9 + 16 | 25 |
| 3. Raíz cuadrada | la raíz de 25 | 5 |
| 4. Dividir cada amplitud | 3 / 5 y 4 / 5 | [0,6 ; 0,8] |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un error frecuente
Advertencia
Mucha gente cree que una amplitud de 0,5 significa un 50 % de probabilidad. No es así. La probabilidad es la amplitud al cuadrado, así que 0,5 da 0,25, es decir, un 25 %. Eleva siempre al cuadrado antes de hablar de probabilidad.
El tamaño de una amplitud compleja
docker exec jupyter python3 -c "print(abs(3+4j))"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Una amplitud puede ser un número complejo
Las amplitudes pueden ser negativas o complejas, es decir, tener una parte con j. Lo que cuenta para la probabilidad es su tamaño, que en Python da abs.
El tamaño de 3+4j es 5.0, porque 3 al cuadrado más 4 al cuadrado son 25. Al cuadrado vuelve a dar 25.
Cada qubit nuevo duplica las amplitudes
Con dos qubits hay cuatro resultados: 00, 01, 10 y 11. Con tres hay ocho. En general, n qubits necesitan 2 elevado a n amplitudes.
Por eso un simulador se vuelve lento muy pronto: tiene que guardar todas. Un ordenador cuántico real no las guarda así.
Ejemplo resuelto: amplitudes según los qubits
| Qubits | Amplitudes | Resultados posibles |
|---|---|---|
| 1 | 2 | 0 y 1 |
| 2 | 4 | 00, 01, 10 y 11 |
| 3 | 8 | de 000 a 111 |
| 10 | 1024 | todas las listas de 10 bits |
| 30 | 1.073.741.824 | más de mil millones |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.