{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Entanglement Swapping\n",
    "\n",
    "Der folgende Schalkreis führt ein Entanglement Swapping durch. Nach dem Durchlaufen des Schaltkreises sind die Qubits $q_0$ und $q_3$ verschränkt."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import qiskit\n",
    "from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister, transpile, execute, Aer, IBMQ\n",
    "from qiskit.circuit import QuantumCircuit,Parameter\n",
    "from qiskit.tools.visualization import circuit_drawer\n",
    "from qiskit.visualization import plot_histogram\n",
    "\n",
    "#import python stuff\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 781.82x385.28 with 1 Axes>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "qc = QuantumCircuit()\n",
    "qr = QuantumRegister(4,'q')\n",
    "qc.add_register( qr )\n",
    "crResult = ClassicalRegister(2,'result')\n",
    "qc.add_register( crResult )\n",
    "crCond = ClassicalRegister(2,'cond')\n",
    "qc.add_register( crCond )\n",
    "\n",
    "\n",
    "qc.h(0)\n",
    "qc.cx(0,1)\n",
    "\n",
    "qc.h(2)\n",
    "qc.cx(2,3)\n",
    "\n",
    "qc.barrier()\n",
    "\n",
    "qc.cx(1,2)\n",
    "qc.h(1)\n",
    "\n",
    "qc.barrier()\n",
    "qc.measure(qr[1],crCond[1])\n",
    "qc.measure(qr[2],crCond[0])\n",
    "\n",
    "\n",
    "qc.barrier()\n",
    "qc.measure(qr[0],crResult[0])\n",
    "qc.measure(qr[3],crResult[1])\n",
    "\n",
    "qc.draw('mpl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'10 11': 2528, '01 01': 2517, '11 10': 2502, '10 00': 2508, '00 00': 2492, '01 10': 2490, '11 01': 2459, '00 11': 2504}\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc0AAAFPCAYAAAAvPZXOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAucElEQVR4nO3de5xVdb3/8ddHRsYLmoABclFAAQUExOngKAGZl9SOJ81TljfSNC9p2iN/ZppHy1taaeUxy46RWmrq6Xi/VAqEEjggKKBAMiggFwUUUBmYmc/vj+8a3A57hrVh773WGt7Px2Mej9lrrdm8995f9mddvt/vMndHREREtmyHpAOIiIhkhYqmiIhITCqaIiIiMaloioiIxKSiKSIiEpOKpoiISEwVSQdI0p577um9e/dOOoaIiKTItGnT3nX3T+dbt10Xzd69e1NTU5N0DBERSREze7OldTo9KyIiEpOKpoiISEwqmiIiIjGpaIqIiMSkoikiIhKTiqaIiEhMKpoiIiIxqWiKiIjEpKIpIiISk4qmiIhITCqaIiIiMaloioiIxKSiKSIiEpOKpoiISEwqmiIiIjGpaIqIiMSkoikiIhKTiqaIiEhMKpoiIiIxqWiKiIjEpKIpIiISk4qmiIhITCqaIrJdefrppxkwYAD77bcfN95442brJ06cyPDhw6moqOChhx7atHzGjBlUV1czaNAghgwZwgMPPLBpnbtzxRVX0L9/fw444AB++ctfluW1SPmpaEpm6ctPCtXQ0MAFF1zAU089xZw5c7jvvvuYM2fOJ7bZe++9GTduHF//+tc/sXyXXXbh7rvvZvbs2Tz99NNcfPHFvPfeewCMGzeORYsW8frrr/Paa69x8sknl+slSZmpaG7HSlF0xo4dS58+fRg2bBjDhg1jxowZJcmuL7/kZLndTJ06lf3224++ffvSvn17Tj75ZB555JFPbNO7d2+GDBnCDjt88uuxf//+9OvXD4Du3bvTpUsX3nnnHQB+/etfc9VVV236my5dupQkvyRPRXM7VaqiA3DzzTczY8YMZsyYwbBhw0qSX19+ych6u1myZAm9evXa9Lhnz54sWbKk4OeZOnUqGzZsYN999wXgjTfe4IEHHqCqqopjjjmG+fPnFy1zW5LlHa4mKprbKKuNoFRFp1yy/uVXinbT5KKLLqJDhw4lyZ31dlMMS5cu5bTTTuP3v//9ptdYV1fHTjvtRE1NDWeffTZnnnlmwinTJ+s7XE1UNLdBlhtBqYoOwBVXXMGQIUO45JJLqKurK0reUkjqy6+U7aampobVq1cXPXOTrLebHj16sGjRok2PFy9eTI8ePWL//Zo1azjuuOO47rrrOOSQQzYt79mzJyeeeCIAJ5xwAq+88krxQrcRbWWHS0VzG7SVRrC18hWdG264gddff52XXnqJVatW8ZOf/KQk/3aWv/xK1W4aGhq49NJLuemmm4qeuZiSbDef+cxnmD9/PrW1tWzYsIH777+f448/PtbfbtiwgRNOOIHTTz+dk0466RPrvvSlL/H8888DMGHCBPr371/07FmX9R2uJiqa2yDLjaBURWevvfbCzKisrOQb3/gGU6dOLWruJln+8itVu7nttts4/vjj2WuvvYqWtbmst5uKigpuu+02jj76aA444AC+8pWvMGjQIK666ioeffRRAF566SV69uzJgw8+yLe+9S0GDRoEwJ///GcmTpzIuHHjNrt08v3vf5+HH36YAw88kMsvv5zf/e53JclfitP6Z511FkOHDmXIkCGcdNJJrFu3riTZiyHJHa5N3H27/Tn44IN9Wzz44IN+1llnbXp89913+wUXXJB32zPOOMMffPDBzZa//fbb3r9/f588efInljU2Nvr69ev99NNP92uuuWabcuazceNG79Onjy9YsMDr6up8yJAhPmvWrFjZ6+rq/PDDD/dbbrkl7+txd29sbPTvfOc7ftlllxU9e5MnnnjC+/Xr53379vVrr73W3d1/+MMf+iOPPOLu7lOnTvUePXr4Lrvs4p06dfKBAwe6u/s999zjFRUVPnTo0E0/L7/8sru7r1692o899lgfPHiwH3LIIT5jxoyi5y5Fu1myZIkfdthhvnHjRnd333XXXYue271ttJusqq+v9759+/obb7yx6b2fPXv2J7apra31mTNn+mmnnfaJ937u3Lk+b948dw9tpVu3br569Wp3d3///fc3bXfJJZf4DTfcUJL8L774oh911FGbHl9//fV+/fXX5902X7t///33/aCDDsr7/6HJ888/78cdd9w2ZwVqvIW6kXjhSvJnW4tmlhpBPqUoOp/73Od88ODBPmjQID/llFN87dq1JcmeZaVoN48//rh37drV99lnH99nn33czHzfffctSX61m2Rsa7vJ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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "backend = Aer.get_backend('qasm_simulator')\n",
    "\n",
    "job = execute(qc, backend, shots=20000)\n",
    "result = job.result()\n",
    "counts = result.get_counts(qc)\n",
    "print(counts)\n",
    "plot_histogram(counts)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Interpretation des Diagramms:\n",
    "\n",
    "Die unteren beiden Werte repräsentieren das Meßergebniss der Qubits $q_1$ und $q_2$ und die oberen beiden Meßwerte den zugehörigen Zustand von $q_0$ und $q_3$\n",
    "\n",
    "* Wird für $q_1q_2$ der Wert \"00\" gemessen, so gilt: $|q1q3\\rangle = \\frac{1}{\\sqrt{2}}(|00\\rangle \\pm |11\\rangle)$\n",
    "* Wird für $q_1q_2$ der Wert \"01\" gemessen, so gilt: $|q1q3\\rangle = \\frac{1}{\\sqrt{2}}(|01\\rangle \\pm |10\\rangle)$\n",
    "* Wird für $q_1q_2$ der Wert \"10\" gemessen, so gilt: $|q1q3\\rangle = \\frac{1}{\\sqrt{2}}(|00\\rangle \\pm |11\\rangle)$\n",
    "* Wird für $q_1q_2$ der Wert \"11\" gemessen, so gilt: $|q1q3\\rangle = \\frac{1}{\\sqrt{2}}(|01\\rangle \\pm |10\\rangle)$\n",
    "\n",
    "Das konkrete \"Vorzeichen $\\pm$\" kann aus der obigen Simulation (Messung) nicht abgelesen werden. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "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.8.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
