{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Project 3: Markovian reservoir engineering\n", "\n", "In Chapter 5, we introduced an example in which the interaction of a two-qubit system with its environment results in a maximally entangled state between the system qubits. In this project, we will verify them experimentally.\n", "\n", "The overall goal is to use the given circuits (appended again below) to drive the state of the system from maximally mixed to $|\\psi^-\\rangle$. In this project, we will not use the tomographic reconstruction of the two-qubit state; instead, we will measure the populations of the four Bell states by changing basis." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from qiskit import QuantumRegister, QuantumCircuit\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ ":28: DeprecationWarning: The QuantumCircuit.cu3 method is deprecated as of 0.16.0. It will be removed no earlier than 3 months after the release date. You should use the QuantumCircuit.cu method instead, where cu3(ϴ,φ,λ) = cu(ϴ,φ,λ,0).\n zz.cu3(theta, 0.0, 0.0, q[a_zz], q[system[1]])\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "
" ], "image/svg+xml": "\n\n\n \n \n \n \n 2021-05-10T15:22:29.889826\n image/svg+xml\n \n \n Matplotlib v3.4.2, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": {}, "execution_count": 2 } ], "source": [ "#######################\n", "# ZZ pump on IBMQX2 #\n", "#######################\n", "\n", "# Quantum register\n", "q = QuantumRegister(5, name='q')\n", "\n", "# Quantum circuit \n", "zz = QuantumCircuit(q)\n", "\n", "# ZZ pump acting on system qubits\n", "## Qubit identification\n", "system = [2, 1]\n", "a_zz = 0\n", "\n", "## Define pump efficiency \n", "## and corresponding rotation\n", "p = 0.5\n", "theta = 2 * np.arcsin(np.sqrt(p))\n", "\n", "## Construct circuit\n", "### Map information to ancilla\n", "zz.cx(q[system[0]], q[system[1]])\n", "zz.x(q[a_zz])\n", "zz.cx(q[system[1]], q[a_zz])\n", " \n", "### Conditional rotation\n", "zz.cu3(theta, 0.0, 0.0, q[a_zz], q[system[1]])\n", " \n", "### Inverse mapping\n", "zz.cx(q[system[1]], q[a_zz])\n", "zz.cx(q[system[0]], q[system[1]])\n", "\n", "# Draw circuit\n", "zz.draw(output='mpl')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#######################\n", "# XX pump on IBMQX2 #\n", "#######################\n", "\n", "# Quantum register\n", "q = QuantumRegister(5, name='q')\n", "\n", "# Quantum circuit \n", "xx = QuantumCircuit(q)\n", "\n", "# XX pump acting on system qubits\n", "## Qubit identification\n", "system = [2, 1]\n", "a_xx = 4\n", "\n", "## Define pump efficiency \n", "## and corresponding rotation\n", "p = 0.5\n", "theta = 2 * np.arcsin(np.sqrt(p))\n", "\n", "## Construct circuit\n", "### Map information to ancilla\n", "xx.cx(q[system[0]], q[system[1]])\n", "xx.h(q[system[0]])\n", "xx.x(q[a_xx])\n", "xx.cx(q[system[0]], q[a_xx])\n", " \n", "### Conditional rotation\n", "xx.cu3(theta, 0.0, 0.0, q[a_xx], q[system[0]])\n", " \n", "### Inverse mapping\n", "xx.cx(q[system[0]], q[a_xx])\n", "xx.h(q[system[0]])\n", "xx.cx(q[system[0]], q[system[1]])\n", "\n", "# Draw circuit\n", "xx.draw(output='mpl')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "
" ], "image/svg+xml": "\n\n\n \n \n \n \n 2021-05-10T15:22:33.070506\n image/svg+xml\n \n \n Matplotlib v3.4.2, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": {}, "execution_count": 3 } ], "source": [ "###########################\n", "# ZZ-XX pumps on IBMQX2 #\n", "###########################\n", "\n", "# Quantum register\n", "q = QuantumRegister(5, name='q')\n", "\n", "# Quantum circuit \n", "zz_xx = QuantumCircuit(q)\n", "\n", "# ZZ and XX pumps acting on system qubits\n", "## Qubit identification\n", "system = [2, 1]\n", "a_zz = 0\n", "a_xx = 4\n", "\n", "## Define pump efficiency \n", "## and corresponding rotation\n", "p = 0.5\n", "theta = 2 * np.arcsin(np.sqrt(p))\n", "\n", "## Construct circuit\n", "## ZZ pump\n", "### Map information to ancilla\n", "zz_xx.cx(q[system[0]], q[system[1]])\n", "zz_xx.x(q[a_zz])\n", "zz_xx.cx(q[system[1]], q[a_zz])\n", " \n", "### Conditional rotation\n", "zz_xx.cu3(theta, 0.0, 0.0, q[a_zz], q[system[1]])\n", " \n", "### Inverse mapping\n", "zz_xx.cx(q[system[1]], q[a_zz])\n", "#zz_xx.cx(q[system[0]], q[system[1]])\n", "\n", "## XX pump\n", "### Map information to ancilla\n", "#zz_xx.cx(q[system[0]], q[system[1]])\n", "zz_xx.h(q[system[0]])\n", "zz_xx.x(q[a_xx])\n", "zz_xx.cx(q[system[0]], q[a_xx])\n", " \n", "### Conditional rotation\n", "zz_xx.cu3(theta, 0.0, 0.0, q[a_xx], q[system[0]])\n", " \n", "### Inverse mapping\n", "zz_xx.cx(q[system[0]], q[a_xx])\n", "zz_xx.h(q[system[0]])\n", "zz_xx.cx(q[system[0]], q[system[1]])\n", "\n", "# Draw circuit\n", "zz_xx.draw(output='mpl')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Task 1\n", "Write three functions, one for each channel (ZZ, XX, and their composition), returning a quantum circuit implementing the channel on the system qubits for a given value of the efficiency parameter $p$ (in the composition map, impose equal efficiencies for both). The circuits must include the **measurement of the system qubits in the Bell basis**. Tip: remove consecutive CNOT gates (and single-qubit ones) resulting in identity.\n", "\n", "Find the suggested structure for the functions below." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def zz_pump(q, c, p, system, ancilla):\n", " \"\"\"Returns a QuantumCircuit implementing the ZZ pump channel on the system qubits\n", " \n", " Args:\n", " q (QuantumRegister): the register to use for the circuit\n", " c (ClassicalRegister): the register to use for the measurement of the system qubits\n", " p (float): the efficiency for the channel, between 0 and 1\n", " system (list): list of indices for the system qubits\n", " ancilla (int): index for the ancillary qubit\n", " \n", " Returns:\n", " A QuantumCircuit object\n", " \"\"\"" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def xx_pump(q, c, p, system, ancilla):\n", " \"\"\"Returns a QuantumCircuit implementing the XX pump channel on the system qubits\n", " \n", " Args:\n", " q (QuantumRegister): the register to use for the circuit\n", " c (ClassicalRegister): the register to use for the measurement of the system qubits\n", " p (float): the efficiency for the channel, between 0 and 1\n", " system (list): list of indices for the system qubits\n", " ancilla (int): index for the ancillary qubit\n", " \n", " Returns:\n", " A QuantumCircuit object\n", " \"\"\"" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def zz_xx_pump(q, c, p, system, ancillae):\n", " \"\"\"Returns a QuantumCircuit implementing the composition channel on the system qubits\n", " \n", " Args:\n", " q (QuantumRegister): the register to use for the circuit\n", " c (ClassicalRegister): the register to use for the measurement of the system qubits\n", " p (float): the efficiency for both channels, between 0 and 1\n", " system (list): list of indices for the system qubits\n", " ancillae (list): list of indices for the ancillary qubits\n", " \n", " Returns:\n", " A QuantumCircuit object\n", " \"\"\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Task 2\n", "\n", "We need to set the two-qubit system initially in the maximally mixed state $\\rho = I_4/4$, where $I_4$ is the $4\\times4$ identity matrix. In principle, this could be done by entangling the system with other ancillary qubits, but that would require two extra qubits in our simulation. Instead, we can create a *proper statistical mixture*. This means that we can obtain $\\rho$ by mixing four initially pure states, e.g. the two-qubit computational basis states.\n", "\n", "For each initial state of the qubits $|00\\rangle$, $|01\\rangle$, $|10\\rangle$ and $|11\\rangle$, apply the three channels for different values of $p \\in [0,1]$ and save the resulting Bell populations for the next task." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Task 3\n", "\n", "To finally simulate the effect of the different channels on the maximally mixed state, average all the results over the four initial states. Plot the results as a function of the channel efficiency $p$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Homework\n", "\n", "Run the circuits on the IBM Q Experience with noise mitigation and plot the results." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.5" } }, "nbformat": 4, "nbformat_minor": 2 }