{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## CHSH-Ungleichung in Abhängigkeit vom Winkel\n",
    "\n",
    "Der Beispiel-Code ist adaptiert "
   ]
  },
  {
   "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.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": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_circuit(theta0, theta1):\n",
    "    qc = QuantumCircuit(2,2)\n",
    "\n",
    "    qc.h(0)\n",
    "    qc.cx(0, 1)\n",
    "\n",
    "    if theta0 != 0 :\n",
    "        qc.ry(2*theta0, 0)\n",
    "\n",
    "    if theta1 != 0 :\n",
    "        qc.ry(2*theta1, 1)\n",
    "\n",
    "    qc.measure(range(2),range(2))\n",
    "    \n",
    "    return qc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_circuits(theta_sequenz):\n",
    "    circuits = []\n",
    "    \n",
    "    for theta in theta_sequenz:\n",
    "        circuits.append( make_circuit(0, theta) )\n",
    "        circuits.append( make_circuit(0, -theta) )\n",
    "        circuits.append( make_circuit(2*theta, theta) )\n",
    "        circuits.append( make_circuit(2*theta, -theta) )\n",
    "        \n",
    "    return circuits"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def Cor(counts, shots):\n",
    "    result = 0;\n",
    "    \n",
    "    if '00' in counts:\n",
    "        result += counts['00']\n",
    "    if '01' in counts:\n",
    "        result -= counts['01']\n",
    "    if '10' in counts:\n",
    "        result -= counts['10']\n",
    "    if '11' in counts:\n",
    "        result += counts['11']\n",
    "\n",
    "    return result/shots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "number_of_thetas = 32\n",
    "theta_sequence = np.linspace(0,np.pi/2,number_of_thetas)\n",
    "my_circuits = make_circuits(theta_sequence)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "shots = 5000\n",
    "\n",
    "backend = Aer.get_backend('qasm_simulator')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "theta_vec = []\n",
    "cor_vec = []\n",
    "\n",
    "for i in range( int(number_of_thetas) ):\n",
    "    job1 = execute(my_circuits[4*i], backend, shots=shots)\n",
    "    result1 = job1.result()\n",
    "    counts1 = result1.get_counts(my_circuits[4*i])\n",
    "    E1 = Cor(counts1, shots)\n",
    "    \n",
    "    job2 = execute(my_circuits[4*i+1], backend, shots=shots)\n",
    "    result2 = job2.result()\n",
    "    counts2 = result2.get_counts(my_circuits[4*i+1])\n",
    "    E2 = Cor(counts2, shots)\n",
    "    \n",
    "    job3 = execute(my_circuits[4*i+2], backend, shots=shots)\n",
    "    result3 = job3.result()\n",
    "    counts3 = result3.get_counts(my_circuits[4*i+2])\n",
    "    E3 = Cor(counts3, shots)\n",
    "    \n",
    "    job4 = execute(my_circuits[4*i+3], backend, shots=shots)\n",
    "    result4 = job4.result()\n",
    "    counts4 = result4.get_counts(my_circuits[4*i+3])\n",
    "    E4 = Cor(counts4, shots)\n",
    "    \n",
    "    E = E1 + E2 + E3 - E4\n",
    "    \n",
    "    theta_vec.append( theta_sequence[i]*360/(2*np.pi) )\n",
    "    cor_vec.append(E)\n",
    "    # print(\"Correlation {:>3f}\".format(E) )\n",
    "    # print(\"Theta Value {:>3f} Grad: {:>3f}\".format( theta_sequence[i],  theta_sequence[i]*360/(2*np.pi)) )\n",
    "    # print(\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Theta (degree)')"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,8))\n",
    "plt.rcParams.update({'font.size': 22})\n",
    "plt.plot(theta_vec,cor_vec,'o-',label = 'Bell Curve')\n",
    "plt.grid(which='major',axis='both')\n",
    "plt.rcParams.update({'font.size': 16})\n",
    "plt.axhline(y=2, color='r', linestyle='-')\n",
    "plt.axhline(y=-2, color='r', linestyle='-')\n",
    "plt.xlabel('Theta (degree)')"
   ]
  }
 ],
 "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
}
