{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e5e44fb3",
   "metadata": {},
   "source": [
    "## Ejemplo 6.1: Transmisión por una fibra óptica"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "71cd75b7",
   "metadata": {},
   "source": [
    "$\\newcommand{\\ket}[1]{|{#1}\\rangle}\\newcommand{\\bra}[1]{\\langle{#1}|}$\n",
    "Considere un fotón con polarización lineal modelado por el estado $\\rho=\\ket{\\theta}\\bra{\\theta}$,\n",
    "donde $\\ket{\\theta} = \\bigl[\\begin{smallmatrix}\\cos(\\theta)\\\\\\sin(\\theta)\\end{smallmatrix}\\bigr]$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "e51496e6",
   "metadata": {},
   "outputs": [],
   "source": [
    "function [rho] = foton(theta) % Matriz de densidad de probabilidad de un foton polarizado\n",
    "  ket_theta = [cos(theta); sin(theta)];\n",
    "  rho = ket_theta * ket_theta';\n",
    "end"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7625c52a",
   "metadata": {},
   "source": [
    "\n",
    "Este fotón se transmite por una fibra óptica cuyo efecto se modela con la transformación \n",
    "\\begin{align*}\n",
    "U_{\\alpha} = \\left[\\begin{matrix} \\cos(\\alpha)& -\\sin(\\alpha)\\\\\\sin(\\alpha)& \\cos(\\alpha) \\end{matrix}\\right].\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "746f0b09",
   "metadata": {},
   "outputs": [],
   "source": [
    "function [U] = fibra(alpha)   % Transformación unitaria de una fibra optica\n",
    "  U = [[cos(alpha), -sin(alpha)]; [sin(alpha), cos(alpha)]];\n",
    "end"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "edf96254",
   "metadata": {},
   "source": [
    "Esta transformación es una operación unitaria, dado que \n",
    "$U_{\\alpha}U_{\\alpha}^H = U_{\\alpha}^H U_{\\alpha} = \\boldsymbol{I}$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "803a29e7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Comprobamos que se trata de una matriz unitaria para un parámetro dado:\n",
      "\n",
      "U =\n",
      "\n",
      "   0.9801  -0.1987\n",
      "   0.1987   0.9801\n",
      "\n",
      "ans =\n",
      "\n",
      "   1.0000e+00  -1.2308e-17\n",
      "  -1.2308e-17   1.0000e+00\n",
      "\n",
      "ans =\n",
      "\n",
      "   1.0000e+00   1.2308e-17\n",
      "   1.2308e-17   1.0000e+00\n",
      "\n"
     ]
    }
   ],
   "source": [
    "fprintf('\\nComprobamos que se trata de una matriz unitaria para un parámetro dado:\\n\\n')\n",
    "\n",
    "alpha = 0.2;\n",
    "U = fibra(alpha)\n",
    "U*U'\n",
    "U'*U"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c724f473",
   "metadata": {},
   "source": [
    "\n",
    "La matriz de densidad de probabilidad del fotón a la salida de la fibra está dada por \n",
    "\\begin{align*}\n",
    "\\sigma &= U_{\\alpha} \\rho U_{\\alpha}^H.\n",
    "\\end{align*}\n",
    "\n",
    "Por ejemplo, para un fotón con $\\theta=0$ (polarización horizontal) y una fibra óptica con parámetro $\\alpha=\\pi/4$, se tiene que\n",
    "\\begin{align*}\n",
    "  \\sigma\n",
    "    &= \\left[\\begin{matrix} \\cos(\\pi/4)& -\\sin(\\pi/4)\\\\\\sin(\\pi/4)& \\cos(\\pi/4) \\end{matrix}\\right]\n",
    "    \\left[\\begin{matrix} 1&0\\\\0&0 \\end{matrix}\\right]\n",
    "    \\left[\\begin{matrix} \\cos(\\pi/4)& \\sin(\\pi/4)\\\\-\\sin(\\pi/4)& \\cos(\\pi/4) \\end{matrix}\\right]\n",
    "    = \\frac{1}{2}\\left[\\begin{matrix} 1&1\\\\1&1 \\end{matrix}\\right].\n",
    "\\end{align*}\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "5c7f4474",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "rho =\n",
      "\n",
      "   1   0\n",
      "   0   0\n",
      "\n",
      "U =\n",
      "\n",
      "   0.7071  -0.7071\n",
      "   0.7071   0.7071\n",
      "\n",
      "sigma =\n",
      "\n",
      "   0.5000   0.5000\n",
      "   0.5000   0.5000\n",
      "\n"
     ]
    }
   ],
   "source": [
    "rho = foton(0)\n",
    "U = fibra(pi/4)\n",
    "sigma = U*rho*U'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8a8930f2",
   "metadata": {},
   "source": [
    "Este estado se corresponde a una fotón $\\sigma =\\ket{\\phi}\\bra{\\phi}$ con $\\phi=\\pi/4$.\n",
    "En general, se puede comprobar que la transformación $U_{\\alpha}$ definida en este ejemplo introduce una rotación de la polarización lineal del fotón de entrada por un ángulo $\\alpha$:\n",
    "\n",
    "<img src=\"figs/transmission-fiber.svg\" alt=\"transmission-fiber\" style=\"width: 280px;\"/>"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Raw Cell Format",
  "kernelspec": {
   "display_name": "Octave",
   "language": "octave",
   "name": "octave"
  },
  "language_info": {
   "file_extension": ".m",
   "help_links": [
    {
     "text": "GNU Octave",
     "url": "https://www.gnu.org/software/octave/support.html"
    },
    {
     "text": "Octave Kernel",
     "url": "https://github.com/Calysto/octave_kernel"
    },
    {
     "text": "MetaKernel Magics",
     "url": "https://metakernel.readthedocs.io/en/latest/source/README.html"
    }
   ],
   "mimetype": "text/x-octave",
   "name": "octave",
   "version": "8.2.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
