$\newcommand{\ket}[1]{|{#1}\rangle}\newcommand{\bra}[1]{\langle{#1}|}$Alice y Bob comparten una fuente de aleatoriedad común, por ejemplo, comprobando en la TV el resultado del sorteo de la lotería nacional y viendo si ha salido un número par o impar:
import numpy as np
rhoA_0 = np.array([[1, 0], [0, 0]])
sigmaB_0 = np.array([[0, 0], [0, 1]])
deltaAB_0 = np.kron(rhoA_0, sigmaB_0)
print("rhoA_0 = \n", rhoA_0, "\nsigmaB_0 = \n", sigmaB_0, "\ndeltaAB_0 = kron(rhoA_0, sigmaB_) =\n", str(deltaAB_0))
rhoA_0 = [[1 0] [0 0]] sigmaB_0 = [[0 0] [0 1]] deltaAB_0 = kron(rhoA_0, sigmaB_) = [[0 0 0 0] [0 1 0 0] [0 0 0 0] [0 0 0 0]]
rhoA_1 = np.array([[1/2, 1/2], [1/2, 1/2]])
sigmaB_1 = np.array([[1, 0], [0, 0]])
deltaAB_1 = np.kron(rhoA_1, sigmaB_1)
print("rhoA_1 = \n", rhoA_1, "\nsigmaB_1 = \n", sigmaB_1, "\ndeltaAB_1 = kron(rhoA_1, sigmaB_1) =\n", str(deltaAB_1))
rhoA_1 = [[0.5 0.5] [0.5 0.5]] sigmaB_1 = [[1 0] [0 0]] deltaAB_1 = kron(rhoA_1, sigmaB_1) = [[0.5 0. 0.5 0. ] [0. 0. 0. 0. ] [0.5 0. 0.5 0. ] [0. 0. 0. 0. ]]
Para un sorteo de la lotería no trucado, la probabilidad de un resultado par o impar es la misma y el estado cuántico compuesto del sistema formado por los sub-sistemas de Alice y Bob está dado por \begin{align*} \delta^{AB} = \frac{1}{2} \rho_0^A \otimes \sigma_0^B + \frac{1}{2} \rho_1^A \otimes \sigma_1^B. \end{align*} Este estado es por tanto un estado separable y no está entrelazado.
deltaAB = 1/2 * deltaAB_0 + 1/2 * deltaAB_1
print("deltaAB =\n", str(deltaAB))
deltaAB = [[0.25 0. 0.25 0. ] [0. 0.5 0. 0. ] [0.25 0. 0.25 0. ] [0. 0. 0. 0. ]]