Ir al contenido

Fundamentos de la Información Cuántica: Sistemas Simples y Notación de Dirac

17 de marzo de 2026 por
Fundamentos de la Información Cuántica: Sistemas Simples y Notación de Dirac
Gerardo

Este artículo explora los conceptos fundamentales de la información cuántica presentados en la serie "Understanding Quantum Information" de IBM Quantum. Nos centraremos en la descripción matemática de sistemas simples y demostraremos, con código real, por qué la cuántica supera a la lógica clásica en operaciones específicas.

1. De la Información Clásica a la Cuántica

Para entender la criptografía y los algoritmos del futuro, primero debemos dominar el lenguaje: la notación Bra-Ket de Dirac.

  • Ket (|a⟩): Representa un vector columna (estado). En la base estándar, el estado |0⟩ es un vector con un 1 en la primera posición.

  • Bra (⟨a|): Es el vector fila correspondiente (transpuesto conjugado).

  • Bracket (⟨a|b⟩): Representa el producto interno entre dos estados. Si son ortogonales (como |0⟩ y |1⟩), el resultado es 0.

2. La Diferencia Fundamental: La Norma Euclidiana

En probabilidad clásica, la suma de las probabilidades debe ser siempre 1. En mecánica cuántica, trabajamos con amplitudes complejas. La regla que rige estos sistemas es la Norma Euclidiana, que establece que la suma de los cuadrados de los valores absolutos de las amplitudes debe ser 1.


Un ejemplo clásico es el estado de superposición "más" (|+⟩), donde el qubit tiene la misma probabilidad de ser 0 o 1:



3. Operaciones Unitarias y Reversibilidad

La evolución de un sistema cuántico cerrado se describe mediante matrices unitarias (U). La característica clave de estas matrices es que preservan la norma del vector de estado (la probabilidad total se mantiene en 1) y son reversibles:



Las "Puertas Lógicas" del Qubit
  • Pauli-X (σ_x): Equivale al NOT clásico. Invierte |0⟩ a |1⟩.

  • Pauli-Z (σ_z): Cambia la fase relativa (el signo) del componente |1⟩.

  • Hadamard (H): La puerta más importante para crear superposición. Transforma estados definidos en combinaciones lineales.

4. La "Raíz Cuadrada" del NOT

Aquí es donde la cuántica rompe la intuición clásica. ¿Existe una operación que, aplicada dos veces, equivalga a un NOT? En computación clásica, no (sin usar aleatoriedad). En computación cuántica, sí.

La secuencia de operaciones Hadamard → Fase (S) → Hadamard genera una transformación que es, literalmente, la: √NOT


Esto demuestra que los qubits pueden navegar por un espacio de Hilbert complejo para realizar operaciones lógicas inalcanzables para los bits.

5. Anexo Técnico: Demostración Práctica con Python y Qiskit

Para verificar esta teoría, hemos implementado la operación √NOT en un simulador cuántico utilizando el SDK Qiskit.

El objetivo es probar que la secuencia H-S-H, aplicada dos veces sobre un estado vacío (|0⟩), resulta en una inversión determinista (|1⟩), y no en una distribución aleatoria.

El Código Fuente

A continuación, el script completo utilizado para la validación:

Python

from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler
import matplotlib.pyplot as plt

def raiz_cuadrada_not():
    """
    Demostración de que H-S-H es la Raíz Cuadrada de NOT.
    """
    print("--- Demostración de la Raíz Cuadrada de NOT (√X) ---")

    # 1. Crear un circuito con 1 qubit (inicia en |0>)
    # Vamos a aplicar la operación DOS VECES para probar que equivale a un NOT
    qc = QuantumCircuit(1)

    # Primera aplicación de √X = H · S · H
    # Esto deja al qubit en un estado complejo intermedio
    qc.h(0)
    qc.s(0)
    qc.h(0)
    
    # Barrera visual para separar las operaciones en el diagrama
    qc.barrier()
    
    # Segunda aplicación de √X = H · S · H
    # Aquí las amplitudes interfieren para completar la inversión
    qc.h(0)
    qc.s(0)
    qc.h(0)

    # Medimos el resultado final
    qc.measure_all()

    # 2. Ejecutar la simulación
    sampler = StatevectorSampler()
    job = sampler.run([qc], shots=1024)
    result = job.result()[0]
    counts = result.data.meas.get_counts()

    # 3. Mostrar resultados y validación
    print(f"\nCircuito ejecutado 1024 veces.")
    print(f"Resultados obtenidos: {counts}")
    
    if '1' in counts and counts['1'] > 1000:
        print("\nCONCLUSIÓN: ¡Éxito Total!")
        print("Al aplicar (H-S-H) dos veces sobre |0>, obtenemos |1> el 100% de las veces.")
        print("Esto confirma empíricamente que (H-S-H)² = NOT.")
    else:
        print("\nResultado inesperado.")

    # Dibujar el esquema del circuito
    print("\nEsquema del Circuito:")
    print(qc.draw(output='text'))

if __name__ == "__main__":
    raiz_cuadrada_not()
        
Análisis de Resultados

Al ejecutar este script en un entorno Linux con Qiskit 1.0, obtenemos la siguiente salida en consola:



El sistema colapsó al estado 1 en el 100% de los 1024 disparos (shots). Esto confirma que la interferencia cuántica permite crear puertas lógicas deterministas a partir de operaciones complejas, un principio base para los futuros algoritmos de criptografía y búsqueda cuántica.

Conclusiones: La Nueva Lógica de la Seguridad

Este recorrido por los sistemas cuánticos simples nos deja una lección fundamental: la ventaja cuántica no se trata solo de velocidad de procesamiento, sino de una capacidad lógica superior.

Al contrastar la probabilidad clásica con las amplitudes complejas (Norma Euclidiana), entendemos por qué los qubits pueden realizar hazañas imposibles para los bits, como la operación √NOT que demostramos con Qiskit. No es magia; es álgebra lineal operando bajo reglas que permiten la interferencia de estados.

Para los profesionales de la ciberseguridad, dominar la notación de Dirac y las compuertas unitarias no es opcional; es el alfabetismo básico necesario para comprender los algoritmos de Criptografía Post-Cuántica (PQC) que definirán la seguridad de la próxima década. Entender cómo se manipula la información a este nivel es el primer paso para protegerla.