{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Designing and simulating quantum circuits with cirq\n", "In this tutorial we will learn the basics of using Google's quantum circuit designer, cirq.\n", "To install cirq, please see the instructions at https://cirq.readthedocs.io/en/stable/install.html\n", "1. What is cirq?\n", "1. Making a circuit\n", " 1. Quantum registers\n", " 1. Operations and circuits\n", "1. Simulating a circuit\n", " 1. Simulating real quantum experiments\n", " 1. Big-endian data\n", " 1. Accessing wavefunctions\n", "1. Parameterizing quantum circuits\n", " 1. Declaring variables\n", " 1. Fixing variables\n", " 1. Fold functions\n", " 1. Sweeping variables\n", "1. Exercise - quantum teleportation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# What is cirq?\n", "\n", "Cirq is a package to allow easy creation and editing of quantum circuits. Similar packages include IBM's QISKIT Terra, Rigetti's pyquil, Microsoft's Q#, and Xanadu's Strawberry Fields. All of these packages have methods to define and optimize a quantum circuit in terms of a primitive gate-set, and to store and manipulate output from a quantum device, and to feedback/optimize a quantum circuit in a hybrid quantum-classical scheme. Furthermore, most have some ability to simulate a quantum circuit classically (for up to a few tens of qubits), and to output quantum assembly language (qasm) code to send to a real device." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Making a circuit\n", "## Defining qubits\n", "The first part of creating a quantum circuit is to define a set of qubits (also known as a quantum register), for operations (gates and measurement) to act upon. Each qubit requires a unique label for reference, in the same way that a classical variable needs a name, though this may be as simple as an index number.\n", "\n", "Cirq has (currently) three different types of methods for labeling qubits - either by name (using the cirq.NamedQubit class), or by number in a linear array (using the cirq.LineQubit class) or a square lattice (using the cirq.GridQubit class). In this section we will create a circuit to make Bell pairs on two qubits, so LineQubits should be sufficient." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T15:59:47.665577Z", "start_time": "2020-02-21T15:59:47.656966Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[cirq.LineQubit(0), cirq.LineQubit(1)]\n" ] } ], "source": [ "from cirq import LineQubit\n", "qubits = [LineQubit(0), LineQubit(1)]\n", "print(qubits)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Operations and circuits\n", "To make a circuit, we need to add some operations. Operations are either measurements or gates --- a wide range of choices for the latter exist. When creating each operation, we need to specify which qubit(s) it acts upon.\n", "\n", "We can make a Bell state preparation circuit with just a single Hadamard and CNOT gate, let's do it!" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T15:59:48.962044Z", "start_time": "2020-02-21T15:59:48.945293Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───H───@───\n", " │\n", "1: ───────X───\n" ] } ], "source": [ "from cirq import H, CNOT, Circuit\n", "circuit = Circuit()\n", "circuit.append(H(qubits[0]))\n", "\n", "# A CNOT gate requires both a control and a target qubit - in cirq, the control qubit is specified first.\n", "circuit.append(CNOT(qubits[0],qubits[1]))\n", "print(circuit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that cirq prints out an ascii version of the quantum circuit instead of a list of the operations it contains. Internally, cirq divides the circuit into a set of Moments, which contain the operations that act in parallel in a single timestep. This may be further customized by the use of Schedules for implementation on real quantum devices, but we will not cover this in this course.\n", "\n", "At the moment this circuit prepares a state, but does not measure it - this is the same as a function that doesn't return a final variable. Let's add a measurement to check the correlations of our prepared Bell state (in the Z basis)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T15:59:49.853657Z", "start_time": "2020-02-21T15:59:49.839645Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───H───@───M('M')───\n", " │ │\n", "1: ───────X───M────────\n" ] } ], "source": [ "from cirq import measure\n", "# We label the measurement with a key for ease of future access\n", "circuit.append(measure(*qubits, key='M')) # Remember here writing *qubits is equivalent to qubits[0], qubits[1]\n", "print(circuit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Simulating a circuit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For now (sadly) we will resort to simulating our quantum algorithms on a classical computer instead of a real quantum device. There are many different ways to simulate a quantum circuit, depending on what one is trying to optimize for (number of qubits, circuit depth, accuracy, noise modelling). Cirq currently has two simulators - a pure wavefunction simulator (cirq.Simulator), and a density-matrix simulator (cirq.DensityMatrixSimulator) that allows for accurate noise modeling --- with an increased computational cost. In this course, we will use the former, although the latter is important if one wants to test whether a quantum circuit is viable for NISQ-era devices.\n", "\n", "A critical difference between classical simulation and actual implementation on a quantum device is whether we have access to the actual quantum state (which we do in most classical simulators), or just measurement results (which is all we have access to on a quantum device). Accessing the quantum state can useful for debugging or understanding the quantum algorithm being implemented. However, one must be careful, as using this data avoids many of the complexities of implementing quantum algorithms on real devices, and can lead to designing algorithms that are unfeasible in the real world.\n", "\n", "In order to simulate a quantum algorithm as it would be done in the real world, we should use the cirq.Simulator.run command." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T15:59:51.570360Z", "start_time": "2020-02-21T15:59:51.553245Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Counter({0: 51, 3: 49})\n" ] } ], "source": [ "from cirq import Simulator\n", "simulator = Simulator()\n", "results = simulator.run(circuit, repetitions=100)\n", "print(results.histogram(key='M'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Big-endian data\n", "The result of the simulation is given in a sparse big-endian binary representation. That is, the nth binary digit of each key in the above histogram corresponds to the measurement result on the nth qubit. The associated value shows the number of times that this result was reported, but results that do not occur are not stored (to prevent having to store an exponentially-large number of 0's). Note that the sum of all values is equal to 100 --- the number of repetitions we chose for the circuit.\n", "\n", "As our measurement is on 2 qubits, we have a total of $2^2=4$ possible outcomes:\n", "* 0 := 00\n", "* 1 := 01\n", "* 2 := 10\n", "* 3 := 11\n", "\n", "The name 'big-endian' refers to the fact that the left-most bit of the string refers to the first qubit. The qubit order was declared when we added the measurement to the circuit.\n", "\n", "The main result to observe from our Bell state is that the measurements are correlated - either both qubit 0 and qubit 1 measure 0 (final result = 0), or both qubit 0 and qubit 1 measure 1 (final result = 3 = 11). However, the measurement outcome of individual qubits in a Bell state is random, so we expect to see for each qubit 0 and 1 approximately 50 times each. Of course, as the result of each run is independently randomly drawn, don't expect to see 0 and 1 exactly 50 times each. The uncertainty in this, known as sampling noise, is a critical bottleneck in extracting information from a quantum computer that we will investigate later.\n", "\n", "We'll come back to the Bell state in a bit, but let's go over the big-endian representation first to get comfortable with ordering." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise 1:** Create a circuit on two qubits in a linear array that flips qubit 0 and not qubit 1, and then measures them both.\n", "\n", "What measurement outcome do you expect?\n", "\n", "Simulate the circuit and see if the results match your expectations." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:02:05.109700Z", "start_time": "2020-02-21T16:02:05.072083Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───X───M('M')───\n", " │\n", "1: ───────M────────\n" ] }, { "data": { "text/plain": [ "M=1111111111, 0000000000" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# You might find this gate useful.\n", "from cirq import X\n", "### Insert your code here!\n", "circuit = Circuit()\n", "circuit.append(X(qubits[0]))\n", "circuit.append(measure(*qubits, key='M'))\n", "print(circuit)\n", "simulator.run(circuit, repetitions=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise 2:** Adjust the ordering of the qubits in the measurement, re-simulate, and check that the results change as you expect." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:04:44.508685Z", "start_time": "2020-02-21T16:04:44.479118Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───X───\n", "0: ───X───×───\n", " │\n", "1: ───────×───\n", "0: ───X───×───M('M')───\n", " │ │\n", "1: ───────×───M────────\n" ] }, { "data": { "text/plain": [ "M=0000000000, 1111111111" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "### Insert your code here!\n", "from cirq import X, SWAP\n", "### Insert your code here!\n", "circuit = Circuit()\n", "circuit.append(X.on(qubits[0]))\n", "print(circuit)\n", "circuit.append(SWAP(qubits[0],qubits[1]))\n", "print(circuit)\n", "circuit.append(measure(*qubits, key='M'))\n", "print(circuit)\n", "simulator.run(circuit, repetitions=10)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:04:44.876239Z", "start_time": "2020-02-21T16:04:44.867102Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───X───\n", "0: ───X───!M('M')───\n", " │\n", "1: ───────!M────────\n" ] }, { "data": { "text/plain": [ "M=0000000000, 1111111111" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "### Insert your code here!\n", "from cirq import X, SWAP\n", "### Insert your code here!\n", "circuit = Circuit()\n", "circuit.append(X.on(qubits[0]))\n", "print(circuit)\n", "circuit.append(measure(*qubits, key='M', invert_mask=[True, True]))\n", "print(circuit)\n", "simulator.run(circuit, repetitions=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no need to treat the measurement on both qubits in a single operation. Indeed, for many algorithms it is critical that measurements be allowed at different points in the circuit, which will require different operations.\n", "\n", "**Exercise 3:** Edit the above circuit for Bell state generation to use two separate measurement operations instead of one. You will need to use two different keys (try 'M0' and 'M1')." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:05:59.865518Z", "start_time": "2020-02-21T16:05:59.835045Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───H───@───M('M0')───\n", " │\n", "1: ───────X───M('M1')───\n", "\n", "Histogram of measurement on qubit 0\n", "Counter({1: 53, 0: 47})\n", "\n", "Histogram of measurement on qubit 1\n", "Counter({1: 53, 0: 47})\n" ] } ], "source": [ "circuit = Circuit()\n", "circuit.append(H(qubits[0]))\n", "circuit.append(CNOT(qubits[0],qubits[1]))\n", "\n", "###Replace this line!\n", "circuit.append(measure(qubits[0], key='M0'))\n", "circuit.append(measure(qubits[1], key='M1'))\n", "print(circuit)\n", "\n", "simulator = Simulator()\n", "results = simulator.run(circuit, repetitions=100)\n", "print()\n", "print('Histogram of measurement on qubit 0')\n", "print(results.histogram(key='M0'))\n", "print()\n", "print('Histogram of measurement on qubit 1')\n", "print(results.histogram(key='M1'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above works, but the correlation information that characterise the Bell state is no longer present in the histogram, as we do not see whether each 0 in the first histogram corresponds to a 0 in the second. However, cirq does store this information. To recover it, we can use the Results.multi_measurement_histogram function." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:06:06.499995Z", "start_time": "2020-02-21T16:06:06.490075Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Counter({(1, 1): 53, (0, 0): 47})\n" ] } ], "source": [ "print(results.multi_measurement_histogram(keys=['M0','M1']))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This function has the advantage that the measurement outcome on each qubit is immediately visible, at the cost of a slight increase in the amount of code to be written. Which to use is entirely a matter of personal preference.\n", "\n", "For data-processing purposes, we note that the elements of a Counter may be accessed in the same way as elements of a dictionary, or as single elements of an array. Unfortunately, slicing is **not** supported, but we will see soon how one may circumvent this issue. Also, elements that are not stored in a Counter (i.e. measurement outcomes that never occurred, and even those that cannot occur) may be called for --- the Counter will output 0 in such a case.\n", "\n", "(For more information on Counters, see their entry in the Python docs --- https://docs.python.org/2/library/collections.html#collections.Counter )" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:06:54.672314Z", "start_time": "2020-02-21T16:06:54.645819Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "47\n", "47\n", "0\n", "0\n" ] } ], "source": [ "hist = results.multi_measurement_histogram(keys=['M0','M1'])\n", "print(hist[0,0]) # Accessing as array\n", "print(hist[(0,0)]) # Accessing as tuple\n", "print(hist[(0,1)]) # This result is never seen, but may still be queried.\n", "print(hist[0,2]) # This result could never be seen (as M1 may only return a value of 0 or 1),\n", " # but may still be safely queried." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Accessing wavefunctions\n", "Though the above circuit produces Bell states, we have not proven this, as we have only seen correlations along a single access --- this may be classically reproduced!\n", "\n", "In a second we will adjust the above circuit to demonstrate this, but let us first check by directly accessing the wavefunction after running the circuit. This is achieved using the simulator.simulate command.\n", "\n", "Recall that in the computational basis, the Bell state takes the form $$\\frac{1}{\\sqrt{2}}\\left(|00\\rangle+|11\\rangle\\right)$$" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:14:35.751821Z", "start_time": "2020-02-21T16:14:35.733429Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.707+0.j 0. +0.j -0. +0.j 0.707+0.j]\n" ] } ], "source": [ "circuit = Circuit()\n", "circuit.append(H(qubits[0]))\n", "circuit.append(CNOT(qubits[0],qubits[1]))\n", "# Note that we do not add measurement \n", "result = simulator.simulate(circuit)\n", "print(result.final_state.round(3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Parametrizing a quantum circuit\n", "In order to prove that our Bell state is a Bell state without cheating, we need to perform measurement in multiple bases. This is a great time to investigate parametrized quantum circuits.\n", "\n", "A parametrized quantum circuit is one where one or more gates have free variables to be specified at run-time. This allows for a classical script to treat the call to a quantum computer as a black box with free input variables, and, for instance, optimize over the output. This is a key idea in NISQ algorithms, which you will encounter next week in the lecture and tutorial.\n", "\n", "## Declaring parameters\n", "\n", "Parameters may be easily specified in cirq by the use of sympy's Symbol class - just replace angles that would be inserted by Symbol instances, and then fix values later in the code.\n", "\n", "The gate that we are going to parameterize is a Y rotation on qubit 0\n", "$$R_y(\\theta) = e^{-i\\theta/2 Y_0}=\\left(\\begin{array}{cc}\\cos(\\theta/2) & -\\sin(\\theta/2)\\\\ \\sin(\\theta/2) &\\cos(\\theta/2)\\end{array} \\right). $$\n", "This rotates between the X and Z axis on qubit 0 as $\\theta$ runs from $0\\rightarrow\\pi$, which means that at a measurement of the state $R_y(\\theta)|\\Psi\\rangle$ in the Z (computational) basis is equivalent to a measurement of $|\\Psi\\rangle$ in the $\\cos(\\theta/2) Z - \\sin(\\theta/2) X$ basis. In most physical implementations of quantum devices, direct measurement along more than 1 axis is not possible, but the above is very cost-effective to implement.\n", "\n", "Note that in the below, we have to make not one, but two calls to generate the rotation gate. The first call fixes the angle, whilst the second fixes which qubits the gate acts upon. Under the hood, this gate is decomposed into the native primitive gates used in Google's Xmon hardware.\n", "\n", "(We will not have time to go into the details of hardware-specific circuit optimization. However, you should realise that this is a big feature of NISQ-era research --- textbook quantum algorithms are rarely executed as specified in real quantum hardware, and optimizing circuits for a given physical implementation can improve results by orders of magnitude or more.)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:14:41.107859Z", "start_time": "2020-02-21T16:14:41.075026Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───H───@───Ry(theta)───M('M')───\n", " │ │\n", "1: ───────X───────────────M────────\n" ] } ], "source": [ "from sympy import Symbol\n", "from cirq import ry\n", "theta = Symbol('theta')\n", "\n", "circuit = Circuit()\n", "circuit.append(H(qubits[0]))\n", "circuit.append(CNOT(qubits[0],qubits[1]))\n", "\n", "# The parametrized magic\n", "rotation = ry(theta)\n", "circuit.append(rotation(qubits[0]))\n", "\n", "circuit.append(measure(*qubits, key='M'))\n", "print(circuit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fixing parameters\n", "\n", "We cannot simulate the current circuit, as theta is undefined." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:15:23.475137Z", "start_time": "2020-02-21T16:15:23.431047Z" }, "scrolled": true }, "outputs": [ { "ename": "ValueError", "evalue": "Circuit contains ops whose symbols were not specified in parameter sweep. Ops: [cirq.ry(sympy.Symbol('theta')).on(cirq.LineQubit(0))]", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msimulator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcircuit\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrepetitions\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/.conda/envs/optvqe/lib/python3.7/site-packages/cirq/work/sampler.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, program, param_resolver, repetitions)\u001b[0m\n\u001b[1;32m 48\u001b[0m \"\"\"\n\u001b[1;32m 49\u001b[0m return self.run_sweep(program, study.ParamResolver(param_resolver),\n\u001b[0;32m---> 50\u001b[0;31m repetitions)[0]\n\u001b[0m\u001b[1;32m 51\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 52\u001b[0m def sample(\n", "\u001b[0;32m~/.conda/envs/optvqe/lib/python3.7/site-packages/cirq/sim/simulator.py\u001b[0m in \u001b[0;36mrun_sweep\u001b[0;34m(self, program, params, repetitions)\u001b[0m\n\u001b[1;32m 85\u001b[0m measurements = self._run(circuit=program,\n\u001b[1;32m 86\u001b[0m \u001b[0mparam_resolver\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mparam_resolver\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 87\u001b[0;31m repetitions=repetitions)\n\u001b[0m\u001b[1;32m 88\u001b[0m trial_results.append(\n\u001b[1;32m 89\u001b[0m study.TrialResult.from_single_parameter_set(\n", "\u001b[0;32m~/.conda/envs/optvqe/lib/python3.7/site-packages/cirq/sim/sparse_simulator.py\u001b[0m in \u001b[0;36m_run\u001b[0;34m(self, circuit, param_resolver, repetitions)\u001b[0m\n\u001b[1;32m 161\u001b[0m \u001b[0mparam_resolver\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mparam_resolver\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mstudy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mParamResolver\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 162\u001b[0m \u001b[0mresolved_circuit\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mprotocols\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresolve_parameters\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcircuit\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparam_resolver\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 163\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_check_all_resolved\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresolved_circuit\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 164\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mmeasure_or_mixture\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.conda/envs/optvqe/lib/python3.7/site-packages/cirq/sim/sparse_simulator.py\u001b[0m in \u001b[0;36m_check_all_resolved\u001b[0;34m(self, circuit)\u001b[0m\n\u001b[1;32m 375\u001b[0m raise ValueError(\n\u001b[1;32m 376\u001b[0m \u001b[0;34m'Circuit contains ops whose symbols were not specified in '\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 377\u001b[0;31m 'parameter sweep. Ops: {}'.format(unresolved))\n\u001b[0m\u001b[1;32m 378\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 379\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: Circuit contains ops whose symbols were not specified in parameter sweep. Ops: [cirq.ry(sympy.Symbol('theta')).on(cirq.LineQubit(0))]" ] } ], "source": [ "simulator.run(circuit, repetitions=100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The simplest way to specify the angle of the gate at runtime is to first use a cirq.ParamResolver, which generates a circuit we can simulate." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:15:27.296671Z", "start_time": "2020-02-21T16:15:27.270857Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───H───@───Ry(0.5π)───M('M')───\n", " │ │\n", "1: ───────X──────────────M────────\n", "Counter({1: 31, 2: 24, 0: 23, 3: 22})\n" ] } ], "source": [ "from cirq import ParamResolver, resolve_parameters\n", "from numpy import pi\n", "resolver = ParamResolver({'theta': pi/2})\n", "resolved_circuit = resolve_parameters(circuit, resolver)\n", "print(resolved_circuit)\n", "result = simulator.run(resolved_circuit, repetitions=100)\n", "print(result.histogram(key='M'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With theta set to $\\pi/2$, we are measuring our Bell state in two uncorrelated bases, and we expect the results to be similarly uncorrelated.\n", "\n", "To make a completely convincing proof, let us study the correlation between our measurements as we rotate $\\theta$. This allows us to introduce two concepts - fold functions, and sweeps.\n", "\n", "## Fold functions\n", "\n", "A fold function is a function that takes measurement results from individual runs as input. Fold functions may be added as optional arguments to Result.histogram and Result.multi_measurement_histogram, in which case the output of the fold function is added to the histogram instead of the measurement output.\n", "\n", "Fold functions must take as input one or many arrays of individual qubit measurements (depending on whether histogram or multi_measurement_histogram is used).\n", "\n", "Let us write a fold function to measure the correlation between the output of qubit 0 and qubit 1." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:15:33.306649Z", "start_time": "2020-02-21T16:15:33.291766Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Counter({0: 55, 1: 45})\n" ] } ], "source": [ "def correlation_function(measurement):\n", " # The following returns 1 when measurement[0] == measurement[1]\n", " return 1 - measurement[0] ^ measurement[1]\n", "print(result.histogram(key='M', fold_func=correlation_function))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sweeps\n", "\n", "A sweep is simply an iteration over a set of parameters (in the same way that one would run a for loop in classical code). This may be implemented via cirq's Linspace class, which creates an equally spaced grid of parameter values for resolution in the simulator.run_sweep function." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:23:02.905078Z", "start_time": "2020-02-21T16:22:51.893060Z" }, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqYAAAGtCAYAAADEVLbBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdd1xV5R/A8c8Dl42gCKKAA7fkwq3lXvkztTK3pqk5ytK01HKlNiw1M81My1E5KrWlRrlyTxTDLW4REFygyLr3+f1x8Qa5rglekO/79Tov7nmecw7fAxf48pxnKK01QgghhBBC2JqdrQMQQgghhBACJDEVQgghhBA5hCSmQgghhBAiR5DEVAghhBBC5AiSmAohhBBCiBzBYOsAHgVvb29dokQJW4chhBBCCJHnhYaGxmmtfe5UlycS0xIlSrBnzx5bhyGEEEIIkecppc7crU4e5QshhBBCiBxBElMhhBBCCJEjSGIqhBBCCCFyBElMhRBCCCFEjiCJqRBCCCGEyBHyxKh8IXIKk8nE+fPnuXHjhq1DEULkIQ4ODhQqVAgPDw9bhyLEPUliKsQjFBcXh1KKcuXKYWcnDyyEENlPa83NmzeJjIwEkORU5Gjyl1GIR+jq1av4+vpKUiqEeGSUUri6uuLv78/FixdtHY4Q9yR/HYV4hIxGIw4ODrYOQwiRB7m4uJCammrrMIS4J0lMhXjElFK2DkEIkQfJ7x6RG0hiKoQQQgghcgRJTIUQQgghRI7wyBJTpdQ8pdRFpdSBDGVeSqk1Sqnj6R8LpJcrpdRnSqkIpdTfSqlqGc7pmX78caVUz0cVvxDC9kqUKMGUKVOy/Lrvvvsuvr6+KKVYsGBBll9fCCGEdR5li+kC4Ol/lY0E1mmtywDr0vcBWgFl0rd+wBdgTmSBcUBtoBYw7lYyK4TIHr169UIphVIKg8FAsWLFGDhwIFeuXLF1aCilWLZs2UNd48CBA4wfP57Zs2cTFRVFp06dsii6hzN48GBq1KiBs7MzJUqUuOMx4eHhNGzYEBcXF/z9/ZkwYQJa60zHLF++nKCgIJycnAgKCuKnn37KVK+15t1338XPzw8XFxcaNWrEwYMHs+u2xH+UXf+UCZHTPLLEVGu9Cbj8r+J2wML01wuBZzOUf6PNdgD5lVJFgJbAGq31Za31FWANtye7NnUxIYkTxw9z8thBIk6eIOHaZaKv3uRiQpKtQxPiP2vWrBlRUVGcPn2ar776it9++41XXnnF1mFliYiICACeffZZChcujIuLy23HpKSkPOqwMJlM9OzZkxdffPGO9fHx8TRv3hxfX192797N9OnTmTx5Mp988onlmO3bt9OpUye6detGWFgY3bp1o0OHDuzcudNyzMcff8zUqVOZMWMGu3fvplChQjRv3pyEhIRsv8ecwGQyYTQabR2GEFkuJc1EfFLmWRiirt3keEwCsVcTiIw8x4UzxzkaFc+xmBz08661fmQbUAI4kGH/aobX6tY+sBJ4KkPdOqAG8CYwOkP5GODN+33e6tWr60flo98P6z1jqms9zsOy3Rjro0PGNNWNp2zQ9T5cp0d+MElHhK7VOilBa631zZQ0bTKZdGJy2iOLU9jGoUOHbB3CA+vZs6du3bp1prKhQ4dqLy+vTGVXr17VL7/8svbx8dHu7u66QYMGevfu3Znqu3fvrn18fLSTk5MODAzU06ZNs9QD+scff8x0zeLFi+vJkyffcb948eIasGzFixfXWmt99uxZ3bZtW12gQAHt4uKiy5Urp5csWXLHexs3blyma5h/Jf5zz5MmTdL+/v7ax8dHa6315cuX9Ysvvqjz58+vnZ2dddOmTfWBAwcs15s/f752c3PTq1ev1uXKldMuLi66TZs2+urVq/rHH3/UpUuX1h4eHrp79+46MTHRqq//5MmTLfeW0axZs3S+fPkyXWfixInaz89Pm0wmrbXWHTt21M2aNct0XtOmTXXnzp211lqbTCZduHBh/d5771nqExMTtbu7u549e/ZdY8r49fH19dUeHh56xIgR2mg06nHjxmkfHx/t6+urJ02alOm8+71H4uLidOfOnbW/v792dnbWQUFBet68eZmusXHjRl27dm3t5uamPTw8dM2aNXV4eLjW+p+vf0YbNmzQgI6Njc10zKpVq/QTTzyh7e3tLefPmzdPV6hQQTs5OekyZcroTz75RBuNRsu1AD1r1izdtm1b7eLiosuUKaPXr1+vz507p1u0aKFdXV11lSpVdGhoaKYYtm7dqhs0aKBdXFy0n5+fHjBggL527ZqlvmHDhnrgwIH67bff1gULFtQ+Pj562LBhls/dsGHDO75P7/czdSe58XeQsE7U1Zv617BIfTMlTYefv6qbTF6nG4z8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gIAAAgICAPjuu++oWbOm5bwOHToQGRmZ6XOtWrWKcuXK4ezsTIMGDVi6dClKKU6fPm05Ztu2bTRs2BBXV1f8/f0ZOHAg8fHx9713IURmx2MSeHvF33zx03rOTmnAi/Z/Uladp3zhfLYOLdextllsCjBdax0MJGco/wN4MsujEtmqdCF3Tk9qjb+vD71Th7PKWAuvrRMYbL8cgPNXEm0cYR4zv/Xt2670KYNTEu9cv2+Ruf7GpTvXHzB/L7l2/va6LNawYUPeeustevTowZUrVzhy5AhDhw5lxowZlCxZ0nLcokWLMJlMbN++nS+//JI5c+bw6aefWupfeuklNm7cyOLFizlw4AA9e/akTZs27N+/H4ALFy7w1FNPoZRizZo17N27l1dffRWj0cibb75Jx44dadasGVFRUURFRVGvXj0SExNp3Lgxzs7ObNy4ke3bt1OkSBGaNWtGYqL5ff7DDz8wevRoxo8fz969eylXrhyffPLJfe/bzc2NefPmcfjwYWbNmsXSpUt5/33z/+lly5alZs2aLFq0KNM5ixYtomPHjjg4OBAVFUWDBg2oWLEiu3btYu3atVy/fp127dplStg3btzI33//TUhICOvWrQPMSfz48ePZv38/K1euJC4uji5duljOOXv2LM8//zytW7dm//79vP766wwfPjxTLOHh4bRo0YK2bduyf/9+VqxYQVhYGL1797bq+y5EXnU8JoFP1hxDpz99/CjkCM2nbWL37u08H/YSniTQPeVt8gdWY1Hf2jaONhfSWt93A+KBkumvEzK8LgEkWXMNW27Vq1fX4nYvfr1TFx+xUgeO+FX/9VF7fXxMeV1hxDK9dNcZW4f22Dp06NDthfP+d/u2c465LvnGnev3fmeuvx535/rwZeb6q+dur3tAPXv21Pb29trNzS3TNnz4cMsxKSkpukaNGvq5557TwcHBumPHjpmu0bBhQ12mTBltMpksZRMnTtT+/v5aa60jIiK0UkqfOZP5vdeuXTs9cOBArbXW77zzji5WrJhOTk6+a5ytW7fOVPb111/r0qVLZ/q8aWlp2svLS3///fdaa63r1q2r+/btm+m8pk2b6uLFi1vz5bH44osvdKlSpSz706dP18WKFbN87jNnzmillN66davWWusxY8boJk2aZLrG5cuXNaB37txpuSdvb2+dlJR0z899+PBhDehz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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from cirq import Linspace\n", "sweep = Linspace(key='theta', start=0, stop=2*pi, length=1000)\n", "results = simulator.run_sweep(circuit, params=sweep, repetitions=1000) # Note that we pass the unresolved circuit!\n", "\n", "#Extract correlations using the fold function\n", "correlations = [result.histogram(key='M', fold_func=correlation_function)[1] for result in results]\n", "\n", "# Let's plot the results\n", "from matplotlib import pyplot as plt\n", "from numpy import linspace, cos\n", "%matplotlib inline\n", "\n", "plt.figure(figsize=(11,7))\n", "x_values = linspace(0,2*pi,1000)\n", "plt.plot(x_values, correlations, label='Results from 1000 measurements')\n", "plt.xlabel('Angle between measurement bases', fontsize=14)\n", "plt.ylabel('Number of correlated measurements observed', fontsize=14)\n", "plt.plot(x_values, 500 * (cos(x_values) + 1), '--', label='Expected average')\n", "plt.legend(fontsize=14)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that the resulting curve has quite some sampling noise, but it follows the expected value.\n", "\n", "**Exercise 4:** extend the above experiment to demonstrate that if qubit 0 is rotated by $R_y(\\theta_0)$ and qubit 1 is rotated by $R_y(\\theta_1)$ prior to measurement, the correlation between measurements is independent of $\\theta_0+\\theta_1$." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:45:45.161424Z", "start_time": "2020-02-21T16:45:45.136054Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───H───@───Ry(theta0)───M('M')───\n", " │ │\n", "1: ───────X───Ry(theta1)───M────────\n" ] } ], "source": [ "from sympy import Symbol\n", "from cirq import ry\n", "thetas = [Symbol('theta0'), Symbol('theta1')]\n", "circuit = Circuit()\n", "circuit.append(H(qubits[0]))\n", "circuit.append(CNOT(qubits[0],qubits[1]))\n", "\n", "# The parametrized magic\n", "rotation = ry(theta)\n", "circuit.append(ry(thetas[0]).on(qubits[0]))\n", "circuit.append(ry(thetas[1]).on(qubits[1]))\n", "\n", "circuit.append(measure(*qubits, key='M'))\n", "print(circuit)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:50:14.911421Z", "start_time": "2020-02-21T16:49:43.734884Z" } }, "outputs": [], "source": [ "from cirq import Linspace\n", "sweep = (Linspace(key='theta0', start=0, stop=2*pi, length=100)* \n", " Linspace(key='theta1', start=-1*pi, stop=1*pi, length=100))\n", "results = simulator.run_sweep(circuit, params=sweep, repetitions=100) # Note that we pass the unresolved circuit!\n", "\n", "#Extract correlations using the fold function\n", "correlations = [result.histogram(key='M', fold_func=correlation_function)[1] for result in results]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Let's make a 2D plot" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T16:50:34.566283Z", "start_time": "2020-02-21T16:50:34.202234Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "No handles with labels found to put in legend.\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Let's plot the results\n", "from matplotlib import pyplot as plt\n", "from numpy import linspace, cos\n", "import numpy\n", "%matplotlib inline\n", "\n", "plt.figure(figsize=(11,7))\n", "x_values = linspace(0,2*pi,100)\n", "plt.imshow(numpy.array(correlations).reshape(100, 100), label='Results from 100 measurements')\n", "plt.xlabel('Theta 0', fontsize=14)\n", "plt.ylabel('Theta 1', fontsize=14)\n", "plt.legend(fontsize=14)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Quantum teleportation\n", "One of the most famous quantum effects is that of teleportation, where the state from one qubit may be transmitted to the state of another qubit non-locally. Details of this may be found on Wikipedia, or in Nielsen and Chuang.\n", "\n", "To begin, we need to prepare a Bell state on two qubits, and prepare a state to be teleported.\n", "\n", "**Exercise 5:** Create a three-qubit circuit on a linear array that performs an arbitrary $R_y(\\theta)$ rotation on qubit 0, and that prepares a Bell state on qubits 1 and 2." ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T15:59:21.138093Z", "start_time": "2020-02-21T15:59:21.025Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───Ry(theta)───────\n", "\n", "1: ───H───────────@───\n", " │\n", "2: ───────────────X───\n" ] } ], "source": [ "qubits = [LineQubit(i) for i in range(3)]\n", "theta = Symbol('theta')\n", "circuit = Circuit()\n", "circuit.append(ry(theta).on(qubits[0]))\n", "\n", "circuit.append(H(qubits[1]))\n", "circuit.append(CNOT(qubits[1],qubits[2]))\n", "\n", "print(circuit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The teleportation circuit requires entangling qubit 0 and 1 via a CNOT gate, then reading qubit 0 in the X basis and qubit 1 in the Z basis.\n", "\n", "**Exercise 6:** Add the above circuitry to your quantum circuit (this requires four operations total)." ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T15:59:21.139924Z", "start_time": "2020-02-21T15:59:21.033Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───Ry(theta)───────@───H───\n", " │\n", "1: ───H───────────@───X───────\n", " │\n", "2: ───────────────X───────────\n" ] } ], "source": [ "### Insert your code here!\n", "circuit.append(CNOT(qubits[0], qubits[1]))\n", "circuit.append(H(qubits[0]))\n", "#circuit.append(measure(*qubits[0:2], key='M'))\n", "\n", "print(circuit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The final part of the teleportation circuit requires performing single qubit rotations on qubit 2, depending on the output of the two measurements. To implement this, we need to use controlled gates - gates that are implemented or not depending on the result of prior measurements. These are called using the Gate.controlled construction.\n", "\n", "(Note that these gates are controlled by the post-measurement state of the qubits, and not the measurement result. In your circuit these should be the same, but be careful!)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T15:59:21.141789Z", "start_time": "2020-02-21T15:59:21.039Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───Ry(theta)───────@───H───@───\n", " │ │\n", "1: ───H───────────@───X───@───┼───\n", " │ │ │\n", "2: ───────────────X───────X───@───\n" ] } ], "source": [ "from cirq import X, Z\n", "controlledX = X.controlled(1)\n", "controlledZ = Z.controlled(1)\n", "circuit.append(controlledX(qubits[1],qubits[2]))\n", "circuit.append(controlledZ(qubits[0],qubits[2]))\n", "print(circuit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To test the teleportation, let us check the result of measuring qubit 2 in the Z basis as we change the prepared state by altering the angle $\\theta$.\n", "\n", "**Exercise 7:** Add a measurement of qubit 2 in the Z basis, and plot the result of these measurements as you sweep over $\\theta$. (Note that you do not need to write a fold function to extract the histogram results.)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "ExecuteTime": { "end_time": "2020-02-21T15:59:21.143535Z", "start_time": "2020-02-21T15:59:21.045Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: ───Ry(theta)───────@───H───@─────────────\n", " │ │\n", "1: ───H───────────@───X───@───┼─────────────\n", " │ │ │\n", "2: ───────────────X───────X───@───M('M2')───\n" ] } ], "source": [ "### Insert your code here!\n", "circuit.append(measure(qubits[2], key='M2'))\n", "print(circuit)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "sweep = Linspace(key='theta', start=0, stop=2*pi, length=100)\n", "results = simulator.run_sweep(circuit, params=sweep, repetitions=1000)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "count0 = []\n", "count1 = []\n", "for result in results:\n", " count0 += [result.histogram(key='M2')[0]]\n", " count1 += [result.histogram(key='M2')[1]]" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(11,7))\n", "x_values = linspace(0,2*pi,100)\n", "plt.plot(x_values, count0, label='Number of 0 output')\n", "plt.plot(x_values, count1, label='Number of 1 output')\n", "plt.xlabel('Angle', fontsize=14)\n", "plt.ylabel('Counts', fontsize=14)\n", "plt.legend(fontsize=14, frameon=False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.7.3" }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }