{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "8989e2ba",
   "metadata": {},
   "source": [
    "## Ejemplo 3.1: Modelo de un fotón polarizado"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86c680f2",
   "metadata": {},
   "source": [
    "$\\newcommand{\\ket}[1]{|{#1}\\rangle}\\newcommand{\\bra}[1]{\\langle{#1}|}$El modelo de un fotón polarizado linealmente con un ángulo $\\theta$ se corresponde con un cúbit ya que para  $\\alpha=\\cos(\\theta)$ y $\\beta=\\sin(\\theta)$, se tiene que\n",
    "\\begin{align*}\n",
    "\\ket{\\psi} &= \\cos(\\theta) \\ket{0}  + \\sin(\\theta) \\ket{1}\n",
    "= \\begin{bmatrix}\\cos(\\theta)\\\\ \\sin(\\theta)\\end{bmatrix}.\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "8a436d5a",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ket_psi =\n",
      " [[0.92106099]\n",
      " [0.38941834]]\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "# Base del espacio de estados cuánticos binarios\n",
    "ket0 = np.array([[1], [0]])\n",
    "ket1 = np.array([[0], [1]])\n",
    "\n",
    "# Modelo para un fotón con polarización lineal theta\n",
    "theta = 0.4\n",
    "ket_psi = np.cos(theta) * ket0 + np.sin(theta) * ket1\n",
    "print(\"ket_psi =\\n\", str(ket_psi))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "118fa2f3",
   "metadata": {},
   "source": [
    "Así, un fotón polarizado se puede interpretar como un vector con corrdenadas $\\cos(\\theta)$ y $\\sin(\\theta)$ en una base formada por los estados ortogonales $\\ket{0}$ y $\\ket{1}$, tal y como representamos en la siguiente figura:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "e9cc4b3e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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CC4uLmKtQpns2LFDMDAwEDZt2iTcunVLmDJlilC1alUhPj5eEARBGDNmjDB37lzF8ufPnxd0dXWFFStWCNHR0cKCBQsEPT094fr162KtgkqUdhwWLVokBAUFCffv3xeuXLkijBgxQjA0NBRu3rwp1iooLTU1VfHzD0BYuXKlEBkZKcTGxgqCIAhz584VxowZo1j+33//FYyNjYUvvvhCiI6OFtasWSPo6OgIgYGBYq1CuWKZ0juNHTtWAFDo4+TJk4plAAgbN25UfC6Xy4Vvv/1WsLS0FAwMDISePXsKd+7cqfjwKvTy5UvBy8tLMDExEczMzITx48cX+IPiwYMHBcbl0aNHgouLi1C9enXBwMBAaNSokfDFF18Ir1+/FmkNym716tVC3bp1BX19faF9+/bCxYsXFfO6desmjB07tsDyu3btEpo0aSLo6+sLzZo1Ew4fPlzBictHacZh5syZimUtLS2Ffv36CRERESKkVp2TJ08W+bsgf73Hjh0rdOvWrdBjWrZsKejr6wsNGjQo8HtC0/AWbEREREri2bxERERKYpkSEREpiWVKRESkJJYpERGRklimRERESmKZEhERKYllSkREpCSWKRERkZJYpkREREpimRIRESmJZUpECnZ2dpBIJDh16pTKn9ve3h4SiQTnz59X+XMTiY1lSkSlkpqaioULF8LR0REmJiYwNzdHu3bt8PPPPyM7O7vYx3l4eAAAAgICKioqUYVhmRJRicXGxqJFixZYtGgRbty4AUEQkJWVhcuXL2POnDno2LEjXr16VeRjWaakyVimRFQiOTk5GDhwIB4+fIjatWsjODgY6enpePPmDXbs2AFTU1NERkZi9OjRRT6+Y8eOsLS0RExMDG7fvl3B6YnKF8uUiEpk8+bNuH79OgBg7969cHNzAwBIpVIMHz4c69atAwAcOXIEISEhhR4vlUoxcOBAANw6Jc3DMiWiEtm8eTMAoHv37nB2di40f8SIEahfvz4AYMuWLUU+h6enJwCWKWkelikRvdebN28UZ+H27du3yGUkEgn69OkDADh27FiRy/Ts2RMmJiYICwtDQkJC+YQlEgHLlIjeKzo6GnK5HADQvHnzYpfLnxcfH4+kpKRC8w0NDeHu7g65XI6DBw+WT1giEbBMiei9nj59qvi/tbV1scu9Pe/tx7yNZ/WSJmKZEtF7paamKv5vbGxc7HJvz3v7MW8bMGAAdHV1cfz4caSnp6suJJGIWKZEVKGqVauGrl27IjMzE0FBQWLHIVIJlikRvZepqani/2/evCl2ubfnvf2Y/6pRowYAFHlclUgdsUyJ6L3q1Kmj+P+TJ0+KXe7teW8/5m3Z2dkICgqCRCLBgAEDVBeSSEQsUyJ6LwcHB0ileb8ubty4Uexy+fOsrKxQvXr1IpcJCQlBamoqOnToACsrK9WHJRIBy5SI3svY2BidO3cGAAQGBha5jCAIimOgvXv3Lva58s/izT+rl0gTsEyJqETGjh0LADh58iTCwsIKzd+9ezf+/fdfAIC3t3eRzyEIAg4cOACAZUqahWVKRCUyduxYODo6QhAEfPTRR4rr78rlcuzevRuTJ08GkHeFpJ49exb5HOHh4Xj27BkaN24MBweHCstOVN50xQ5AROpBV1cXBw4cQPfu3fHw4UO4ubnB2NgYcrkcmZmZAIBWrVrh77//LvY5uIuXNBW3TImoxOzs7HDt2jXMnz8fzZs3h0QigZ6eHtq0aYMVK1bg4sWLqFatWrGPZ5mSppIIgiCIHYKIKgc7OzvExsbi5MmTcHV1Velz37t3D40bN4aFhQXi4+MVZwcTaQK+momoQvj7+wPIu5wgi5Q0DV/RRFQhuIuXNBlPQCKiCrF48WLk5uaia9euYkchUjmWKRFViO7du4sdgajccDcvERGRkng2LxERkZK4ZUpERKQklikREZGSWKZERERKYpkSEREpiWVKRESkJJYpERGRklimRERESmKZEhERKYllSkREpCSWKRERkZL+H2d7AqugJ2b5AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "# Representamos la circunferencia unidad como referencia:\n",
    "t = np.linspace(0, 2*np.pi, 100)\n",
    "plt.plot(np.cos(t), np.sin(t), 'k-')\n",
    "\n",
    "# Representamos el estado cuántico ket_psi superpuesto\n",
    "plt.plot([0, ket_psi[0, 0]], [0, ket_psi[1, 0]], 'k-', linewidth=2)\n",
    "plt.plot(ket_psi[0, 0], ket_psi[1, 0], 'ko', linewidth=2)\n",
    "plt.axis([-1.4, 1.4, -1.4, 1.4])\n",
    "plt.gca().set_aspect('equal')\n",
    "plt.grid(True)\n",
    "plt.text(ket_psi[0, 0] + 0.1, ket_psi[1, 0] + 0.1, r'$|\\psi\\rangle$', fontsize=18)\n",
    "plt.xlabel(r'$|0\\rangle$', fontsize=18)\n",
    "plt.ylabel(r'$|1\\rangle$', fontsize=18)\n",
    "\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Raw Cell Format",
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
