En post pasados del curso hemos introducido el formalismo inicial de la computación cuántica en el que los estados son estados puros y se representan con vectores y sus transformaciones se representan con matrices unitarias.
Sin embargo, en ocasiones podemos tener un estado que sea una distribución de probabilidades de estados puros (estado mixto) o describir la interacción de un estado con el entorno como en el proceso de medida o en procesos de pérdida de la coherencia. En estos casos, las transformaciones no son unitarias y es mejor describir el estado con un operador o matriz de densidad.
La matriz de densidad , que es el operador de densidad representado en unas bases concretas, es una matriz Hermitiana, positiva-definida con una traza igual a la unidad.
Para un estado puro, la matriz de densidad es , donde
es el vector de estado.
Para un estado mixto, con
las probabilidades de estar en cada estado puro y
.
Las principales propiedades son:
- Puridad:
para estados puros y
para estados mixtos.
- Coherencia: Los elementos de fuera de la diagonal indican coherencia o superposición.
- Elementos de la diagonal: Representan las probabilidades de medir en un base concreta.
A continuación, vamos a ver algunos ejemplos en Qiskit. En el primero creamos un estado puro en superposición y calculamos su matriz de densidad y la traza de la matriz de densidad al cuadrado para ver la puridad.
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector, DensityMatrix
# Crear un estado puro |+> = (|0> + |1>)/sqrt(2)
qc_pure = QuantumCircuit(1)
qc_pure.h(0) # Hadamard gate
# Obtener el estado y la matriz de densidad
state = Statevector.from_instruction(qc_pure)
rho_pure = DensityMatrix(state)
print("Matriz de densidad del estado puro:")
print(rho_pure)
print("Puridad:", rho_pure.purity())
Matriz de densidad del estado puro:
DensityMatrix([[0.5+0.j, 0.5+0.j],
[0.5+0.j, 0.5+0.j]],
dims=(2,))
Puridad: (0.9999999999999996+0j)
En el siguiente, creamos dos estados puros y creamos un estado mixto con la mitad de probabilidad de estar en cada uno de los estados puros, calculamos la matriz de densidad y la traza del cuadrado de la matriz de densidad para ver su puridad.
from qiskit.quantum_info import partial_trace
# Crear dos estados puros |0> and |1>
rho_0 = DensityMatrix.from_label('0')
rho_1 = DensityMatrix.from_label('1')
# Crear un estado mixto: 50% |0>, 50% |1>
rho_mixed = 0.5 * rho_0 + 0.5 * rho_1
print("\nMatriz de densidad del estado mixto:")
print(rho_mixed)
print("Puridad:", rho_mixed.purity())
Matriz de densidad del estado mixto:
DensityMatrix([[0.5+0.j, 0. +0.j],
[0. +0.j, 0.5+0.j]],
dims=(2,))
Puridad: (0.5+0j)
Por lo tanto, hemos visto la utilidad del formalismo del operador (matriz) de densidad para describir y analizar estados mixtos.

Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.