{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e5e44fb3",
   "metadata": {},
   "source": [
    "## Ejercicio 10.1: Protocolo BB84"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "71cd75b7",
   "metadata": {},
   "source": [
    "$\\newcommand{\\ket}[1]{|{#1}\\rangle}\\newcommand{\\bra}[1]{\\langle{#1}|}$Demuestre que:\n",
    "\n",
    "- Para las posiciones en las que $b_i=c_i$, se tiene que $\\Pr\\bigl\\{A_i = \\hat{A}_i\\bigr\\} = 1$, es decir, $a_i=\\hat{a}_i$.\n",
    "- Para las posiciones en las que $b_i \\neq c_i$, se tiene que $\\Pr\\bigl\\{A_i = \\hat{A}_i\\bigr\\} = \\frac{1}{2}$."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9c3c5949",
   "metadata": {},
   "source": [
    "*Definimos las bases de codificación y medida:*\n",
    "\n",
    "\\begin{align*}\n",
    "\\Pi_{0}=\\begin{bmatrix}1&0\\\\0&0\\end{bmatrix},\\quad\n",
    "\\Pi_{1}=\\begin{bmatrix}0&0\\\\0&1\\end{bmatrix},\\quad\n",
    "\\Pi_{+}=\\frac{1}{2}\\begin{bmatrix}+1&+1\\\\+1&+1\\end{bmatrix},\\quad\n",
    "\\Pi_{-}=\\frac{1}{2}\\begin{bmatrix}+1&-1\\\\-1&+1\\end{bmatrix}.\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "27fc2d66",
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84e1660f",
   "metadata": {},
   "source": [
    "*y consideramos los diferentes casos, en función de los valores de $b_i$, $c_i$ y $a_i$:*\n",
    "\n",
    "**Caso 1:** Bases $b_i = c_i = 0$\n",
    "\n",
    "Alice aplica el siguiente esquema de codificación:\n",
    "\\begin{align*}\n",
    "\\rho_i = \\begin{cases}\n",
    "           \\Pi_{0}, & a_i=0,\\\\\n",
    "           \\Pi_{1}, & a_i=1.\n",
    "       \\end{cases}\n",
    "\\end{align*}\n",
    "\n",
    "Bob realiza una medida con respecto al POVM $\\bigl\\{\\Pi_{0}, \\Pi_{1}\\bigr\\}$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "746f0b09",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "94c1b5e6",
   "metadata": {},
   "source": [
    "**Caso 2:** Bases $b_i = c_i = 1$\n",
    "\n",
    "Alice aplica el siguiente esquema de codificación:\n",
    "\\begin{align*}\n",
    "\\rho_i = \\begin{cases}\n",
    "           \\Pi_{+}, & a_i=0,\\\\\n",
    "           \\Pi_{-}, & a_i=1.\n",
    "       \\end{cases}\n",
    "\\end{align*}\n",
    "\n",
    "Bob realiza una medida con respecto al POVM $\\bigl\\{\\Pi_{+}, \\Pi_{-}\\bigr\\}$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e935943a",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6dd5b0e6",
   "metadata": {},
   "source": [
    "**Caso 3:** Bases $b_i = 0$, $c_i = 1$\n",
    "\n",
    "Alice aplica el siguiente esquema de codificación:\n",
    "\\begin{align*}\n",
    "\\rho_i = \\begin{cases}\n",
    "           \\Pi_{0}, & a_i=0,\\\\\n",
    "           \\Pi_{1}, & a_i=1.\n",
    "       \\end{cases}\n",
    "\\end{align*}\n",
    "\n",
    "Bob realiza una medida con respecto al POVM $\\bigl\\{\\Pi_{+}, \\Pi_{-}\\bigr\\}$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8b503d21",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cfbc66e1",
   "metadata": {},
   "source": [
    "**Caso 4:** Bases $b_i = 1$, $c_i = 0$\n",
    "\n",
    "Alice aplica el siguiente esquema de codificación:\n",
    "\\begin{align*}\n",
    "\\rho_i = \\begin{cases}\n",
    "           \\Pi_{+}, & a_i=0,\\\\\n",
    "           \\Pi_{-}, & a_i=1.\n",
    "       \\end{cases}\n",
    "\\end{align*}\n",
    "\n",
    "Bob realiza una medida con respecto al POVM $\\bigl\\{\\Pi_{0}, \\Pi_{1}\\bigr\\}$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9dbd2d9b",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n"
   ]
  }
 ],
 "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.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
