diff --git a/examples/advanced_circuits_algorithms/Randomness/Randomness_Generation.ipynb b/examples/advanced_circuits_algorithms/Randomness/Randomness_Generation.ipynb index 471e81e3..6c876ba1 100644 --- a/examples/advanced_circuits_algorithms/Randomness/Randomness_Generation.ipynb +++ b/examples/advanced_circuits_algorithms/Randomness/Randomness_Generation.ipynb @@ -89,8 +89,7 @@ "device = LocalSimulator()\n", "\n", "# magic word for producing visualizations in notebook\n", - "%matplotlib inline\n", - "\n" + "%matplotlib inline" ] }, { diff --git a/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb b/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb index da493676..94bd7eeb 100644 --- a/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb +++ b/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb @@ -1,556 +1,563 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Allocating Qubits on QPU Devices" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This notebook demonstrates how you can specify explicitly which qubits to use when you run a quantum circuit on QPU devices from Rigetti.\n", - "\n", - "When you submit a circuit for execution on a QPU, Amazon Braket performs a series of compilation steps: it maps the _abstract qubits_ in your circuit to _physical qubits_ in the device; it synthesizes gates into the native gate set of the device; it optimizes the circuit to reduce the number of gates; and finally, it translates the gates into executable pulses.\n", - "\n", - "This section shows how the first step, called qubit allocation, works for the Rigetti Ankaa-2 device." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# general imports\n", - "from braket.aws import AwsDevice\n", - "from braket.circuits import Circuit\n", - "from braket.devices import Devices\n", - "import numpy as np\n", - "import random" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "## Automatic qubit allocation\n", - "\n", - "Qubit allocation for Rigetti devices on Amazon Braket utilizes [the Quil Compilers](https://pyquil-docs.rigetti.com/en/latest/compiler.html#the-quil-compiler)'s _rewiring_ strategies. By default, when you submit a circuit on Amazon Braket to a Rigetti device, the circuit is rewired according to the [PARTIAL](https://pyquil-docs.rigetti.com/en/latest/compiler.html#partial) rewiring strategy. Specifically, the compiler starts with an empty mapping from logical to physical qubits. Taking into account the latest calibration data of the device, the compiler fills in the mapping with the goal, sequentially, to maximize the overall fidelity of the circuit.\n", - "\n", - "The example that follows shows how to create a GHZ state on qubits that are not physically connected. After the quantum task is completed, you can obtain a list of the actual gates executed on the device, by viewing the result metadata.\n", - "\n", - "First, instantiate the Rigetti Ankaa-2 device and retrieve its connectivity graph, which shows the qubits that are directly connected on the chip." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "the connectivity of Ankaa-2 is: {'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" - ] - } - ], - "source": [ - "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "\n", - "connectivity_graph = device.properties.paradigm.connectivity.connectivityGraph\n", - "print(f\"the connectivity of {device.name} is: {connectivity_graph}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "Next, create a GHZ circuit with three qubits 0, 2, 4, and run it on the Ankaa 2 device. Notice that none of these qubits are connected on the Ankaa 2 connectivity graph." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │\n", - " ┌───┐ \n", - "q0 : ─┤ H ├───●─────●───\n", - " └───┘ │ │ \n", - " ┌─┴─┐ │ \n", - "q2 : ───────┤ X ├───┼───\n", - " └───┘ │ \n", - " ┌─┴─┐ \n", - "q4 : ─────────────┤ X ├─\n", - " └───┘ \n", - "T : │ 0 │ 1 │ 2 │\n" - ] - } - ], - "source": [ - "# create a GHZ state with non-neighboring qubits\n", - "circuit = Circuit()\n", - "circuit.h(0).cnot(0,2).cnot(0,4)\n", - "print(circuit)\n", - "\n", - "rigetti_rewiring = device.run(circuit, shots=10)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Status of quantum task: QUEUED\n" - ] - } - ], - "source": [ - "print(\"Status of quantum task:\", rigetti_rewiring.state())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "To verify the final qubit allocation, retrieve the compiled program that was executed:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Measurement counts: Counter({'111': 6, '000': 3, '101': 1})\n", - "The compiled circuit is:\n", - " PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[3]\n", - "PRAGMA PRESERVE_BLOCK\n", - "RX(1.5707963267948966) 5\n", - "RZ(3.141592653589793) 5\n", - "ISWAP 5 12\n", - "RZ(1.5707963267948966) 5\n", - "RX(1.5707963267948966) 5\n", - "RZ(4.71238898038469) 5\n", - "ISWAP 5 12\n", - "RZ(1.5707963267948966) 5\n", - "RZ(3.141592653589793) 12\n", - "ISWAP 5 6\n", - "RX(1.5707963267948966) 12\n", - "RZ(1.5707963267948966) 5\n", - "RX(1.5707963267948966) 5\n", - "RZ(4.71238898038469) 5\n", - "ISWAP 5 6\n", - "RZ(3.141592653589793) 6\n", - "RX(1.5707963267948966) 6\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 12 ro[1]\n", - "MEASURE 5 ro[0]\n", - "MEASURE 6 ro[2]\n" - ] - } - ], - "source": [ - "result = rigetti_rewiring.result()\n", - "counts = result.measurement_counts\n", - "print(\"Measurement counts:\", counts)\n", - "print(\"The compiled circuit is:\\n\", result.additional_metadata.rigettiMetadata.compiledProgram)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "Notice that the PARTIAL rewiring was applied. The qubits 0, 2, 4 in the original circuit were mapped to three other qubits in the Rigetti device, and the gates were compiled into native gates." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## User-defined qubit allocation" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In Amazon Braket, you can choose to prescribe a qubit mapping manually, and prevent further rewiring for Rigetti devices. To enable manual mapping, set `disable_qubit_rewiring=True` when submitting the quantum task to run.\n", - "\n", - "If all the gates in the circuit satisfy the topological constraints of the device, Amazon Braket maps abstract qubit $i$ in the circuit to the physical qubit $i$ in the device, and maps qubit pair $(i, j)$ to the connection $(i, j)$ in the device. On the other hand, Amazon Braket raises an exception if a specified qubit or qubit pair do not exist in the device connectivity graph." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │\n", - " ┌──────────┐ \n", - "q0 : ─┤ Rz(1.57) ├───●───\n", - " └──────────┘ │ \n", - " ┌─┴─┐ \n", - "q1 : ──────────────┤ X ├─\n", - " └───┘ \n", - " ┌───┐ \n", - "q7 : ────┤ X ├───────────\n", - " └───┘ \n", - "T : │ 0 │ 1 │\n" - ] - } - ], - "source": [ - "# create a random state with neighboring qubits\n", - "q1=random.choice(list(connectivity_graph))\n", - "q2=int(connectivity_graph[q1][0])\n", - "q1=int(q1)\n", - "\n", - "circuit = Circuit()\n", - "circuit.rz(0,np.pi/2).cnot(q1,q2).x(7)\n", - "print(circuit)\n", - "rigetti_task = device.run(circuit, shots=10, disable_qubit_rewiring=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Status of quantum task: QUEUED\n" - ] - } - ], - "source": [ - "print(\"Status of quantum task:\", rigetti_task.state())" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Measurement counts: Counter({'001': 7, '000': 2, '011': 1})\n", - "The compiled circuit is:\n", - " PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[3]\n", - "PRAGMA PRESERVE_BLOCK\n", - "RX(1.5707963267948966) 0\n", - "RX(1.5707963267948966) 7\n", - "RZ(4.71238898038469) 0\n", - "RX(1.5707963267948966) 7\n", - "ISWAP 0 1\n", - "RZ(3.141592653589793) 1\n", - "RX(1.5707963267948966) 1\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 7 ro[2]\n", - "MEASURE 0 ro[0]\n", - "MEASURE 1 ro[1]\n" - ] - } - ], - "source": [ - "result = rigetti_task.result()\n", - "counts = result.measurement_counts\n", - "print(\"Measurement counts:\", counts)\n", - "print(\"The compiled circuit is:\\n\", result.additional_metadata.rigettiMetadata.compiledProgram)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "The qubits in the original circuit followed a one-to-one mapping to the physical qubits in the device. Other compilation steps, such as gate synthesis and circuit optimization, are still performed. These steps allow the circuit to run successfully and improve the overall fidelity." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Using the qubits with the highest two-qubit gate fidelity\n", - "\n", - "Additionally, the device properties include calibration data, which you can use to find the qubits and qubit pairs with the highest fidelities for particular gates.\n", - "\n", - "The following function finds the qubit pair that has the highest two-qubit fidelity of an input gate, which can be any of the gates native to the Rigetti device. First, you can access the native gates as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['RX', 'RZ', 'CZ', 'ISWAP']" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "native_gates = device.properties.paradigm.nativeGateSet\n", - "gates_uppercase = [gate.upper() for gate in native_gates]\n", - "gates_uppercase" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [], - "source": [ - "def find_qubit_pair(gate):\n", - " \"Function to find the qubit pair that has the highest gate fidelity of a particular gate\"\n", - " \n", - " # check whether the input gate is a string\n", - " if not isinstance(gate, str):\n", - " raise ValueError('The input gate must be a string type.') \n", - " \n", - " # check whether the input gate is a native gate\n", - " gate_list = gates_uppercase\n", - " if gate not in gate_list:\n", - " raise ValueError(f'The input gate must be one of {gates_uppercase}.')\n", - " \n", - " # load all calibration data from device.properties\n", - " calibration_2Q = device.properties.provider.specs['2Q']\n", - " highest_fidelity = 0\n", - "\n", - " # iterate through all calibration data to find the highest fidelity\n", - " for pair in calibration_2Q.keys():\n", - " # if the particular gate type is supported by the qubit pair\n", - " if ('f'+ gate) in calibration_2Q[pair].keys(): \n", - " if calibration_2Q[pair]['f'+ gate] > highest_fidelity: \n", - " # update the highest_fidelity and the best_pair\n", - " highest_fidelity = calibration_2Q[pair]['f'+ gate]\n", - " best_pair = pair\n", - "\n", - " # generate the two qubits as integers \n", - " q1 = best_pair[0]\n", - " i = 1\n", - " while best_pair[i] != '-':\n", - " q1 += best_pair[i]\n", - " i += 1\n", - "\n", - " q1 = int(q1)\n", - " q2 = int(best_pair[i+1:])\n", - " \n", - " return q1, q2, highest_fidelity" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "The example in the following code applies a native two-qubit gate on the qubit pair that has the highest fidelity of that gate. " - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The highest fidelity for ISWAP gate is: 0.99312484820244\n", - "And the corresponding qubit pair is: qubit 73 and qubit 74\n", - "T : │ 0 │\n", - " \n", - "q73 : ───●───\n", - " │ \n", - " ┌─┴─┐ \n", - "q74 : ─┤ Z ├─\n", - " └───┘ \n", - "T : │ 0 │\n" - ] - } - ], - "source": [ - "# the gate must be a native gate\n", - "gate = 'ISWAP'\n", - "# find the qubit pair with the highest gate fidelity\n", - "q1, q2, highest_fidelity = find_qubit_pair(gate)\n", - "print('The highest fidelity for '+gate+' gate is:', highest_fidelity)\n", - "print(f'And the corresponding qubit pair is: qubit {q1} and qubit {q2}')\n", - "\n", - "# create a circuit with the gate applied to the discovered qubit pair.\n", - "# note that CPHASE in Rigetti corresponds to cphaseshift in Braket\n", - "circuit = Circuit()\n", - "circuit.cz(q1,q2)\n", - "print(circuit)\n", - "rigetti_task = device.run(circuit, shots=1000, disable_qubit_rewiring=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Status of quantum task: QUEUED\n" - ] - } - ], - "source": [ - "print(\"Status of quantum task:\", rigetti_task.state())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The qubits in the original circuit followed a one-to-one mapping to the physical qubits in the device. Since only native gates were used, the actual gates executed are the same as the gates in the original circuit." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "
\n", - "Note: The IonQ device does not support manual allocation. For circuits submitted to the IonQ device, qubits are allocated automatically.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Quantum Task Summary\n", - "{<_Rigetti.Ankaa2: 'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2'>: {'shots': 1020, 'tasks': {'COMPLETED': 2, 'QUEUED': 1}}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 1.82 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "braket", - "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.11" - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Allocating Qubits on QPU Devices" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "\n", + "t = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This notebook demonstrates how you can specify explicitly which qubits to use when you run a quantum circuit on QPU devices from Rigetti.\n", + "\n", + "When you submit a circuit for execution on a QPU, Amazon Braket performs a series of compilation steps: it maps the _abstract qubits_ in your circuit to _physical qubits_ in the device; it synthesizes gates into the native gate set of the device; it optimizes the circuit to reduce the number of gates; and finally, it translates the gates into executable pulses.\n", + "\n", + "This section shows how the first step, called qubit allocation, works for the Rigetti Ankaa-2 device." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# general imports\n", + "import random\n", + "\n", + "import numpy as np\n", + "\n", + "from braket.aws import AwsDevice\n", + "from braket.circuits import Circuit\n", + "from braket.devices import Devices" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## Automatic qubit allocation\n", + "\n", + "Qubit allocation for Rigetti devices on Amazon Braket utilizes [the Quil Compilers](https://pyquil-docs.rigetti.com/en/latest/compiler.html#the-quil-compiler)'s _rewiring_ strategies. By default, when you submit a circuit on Amazon Braket to a Rigetti device, the circuit is rewired according to the [PARTIAL](https://pyquil-docs.rigetti.com/en/latest/compiler.html#partial) rewiring strategy. Specifically, the compiler starts with an empty mapping from logical to physical qubits. Taking into account the latest calibration data of the device, the compiler fills in the mapping with the goal, sequentially, to maximize the overall fidelity of the circuit.\n", + "\n", + "The example that follows shows how to create a GHZ state on qubits that are not physically connected. After the quantum task is completed, you can obtain a list of the actual gates executed on the device, by viewing the result metadata.\n", + "\n", + "First, instantiate the Rigetti Ankaa-2 device and retrieve its connectivity graph, which shows the qubits that are directly connected on the chip." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the connectivity of Ankaa-2 is: {'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" + ] + } + ], + "source": [ + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "connectivity_graph = device.properties.paradigm.connectivity.connectivityGraph\n", + "print(f\"the connectivity of {device.name} is: {connectivity_graph}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Next, create a GHZ circuit with three qubits 0, 2, 4, and run it on the Ankaa 2 device. Notice that none of these qubits are connected on the Ankaa 2 connectivity graph." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌───┐ \n", + "q0 : ─┤ H ├───●─────●───\n", + " └───┘ │ │ \n", + " ┌─┴─┐ │ \n", + "q2 : ───────┤ X ├───┼───\n", + " └───┘ │ \n", + " ┌─┴─┐ \n", + "q4 : ─────────────┤ X ├─\n", + " └───┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "# create a GHZ state with non-neighboring qubits\n", + "circuit = Circuit()\n", + "circuit.h(0).cnot(0, 2).cnot(0, 4)\n", + "print(circuit)\n", + "\n", + "rigetti_rewiring = device.run(circuit, shots=10)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Status of quantum task: QUEUED\n" + ] + } + ], + "source": [ + "print(\"Status of quantum task:\", rigetti_rewiring.state())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "To verify the final qubit allocation, retrieve the compiled program that was executed:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Measurement counts: Counter({'111': 6, '000': 3, '101': 1})\n", + "The compiled circuit is:\n", + " PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[3]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(1.5707963267948966) 5\n", + "RZ(3.141592653589793) 5\n", + "ISWAP 5 12\n", + "RZ(1.5707963267948966) 5\n", + "RX(1.5707963267948966) 5\n", + "RZ(4.71238898038469) 5\n", + "ISWAP 5 12\n", + "RZ(1.5707963267948966) 5\n", + "RZ(3.141592653589793) 12\n", + "ISWAP 5 6\n", + "RX(1.5707963267948966) 12\n", + "RZ(1.5707963267948966) 5\n", + "RX(1.5707963267948966) 5\n", + "RZ(4.71238898038469) 5\n", + "ISWAP 5 6\n", + "RZ(3.141592653589793) 6\n", + "RX(1.5707963267948966) 6\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 12 ro[1]\n", + "MEASURE 5 ro[0]\n", + "MEASURE 6 ro[2]\n" + ] + } + ], + "source": [ + "result = rigetti_rewiring.result()\n", + "counts = result.measurement_counts\n", + "print(\"Measurement counts:\", counts)\n", + "print(\"The compiled circuit is:\\n\", result.additional_metadata.rigettiMetadata.compiledProgram)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Notice that the PARTIAL rewiring was applied. The qubits 0, 2, 4 in the original circuit were mapped to three other qubits in the Rigetti device, and the gates were compiled into native gates." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## User-defined qubit allocation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Amazon Braket, you can choose to prescribe a qubit mapping manually, and prevent further rewiring for Rigetti devices. To enable manual mapping, set `disable_qubit_rewiring=True` when submitting the quantum task to run.\n", + "\n", + "If all the gates in the circuit satisfy the topological constraints of the device, Amazon Braket maps abstract qubit $i$ in the circuit to the physical qubit $i$ in the device, and maps qubit pair $(i, j)$ to the connection $(i, j)$ in the device. On the other hand, Amazon Braket raises an exception if a specified qubit or qubit pair do not exist in the device connectivity graph." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │\n", + " ┌──────────┐ \n", + "q0 : ─┤ Rz(1.57) ├───●───\n", + " └──────────┘ │ \n", + " ┌─┴─┐ \n", + "q1 : ──────────────┤ X ├─\n", + " └───┘ \n", + " ┌───┐ \n", + "q7 : ────┤ X ├───────────\n", + " └───┘ \n", + "T : │ 0 │ 1 │\n" + ] + } + ], + "source": [ + "# create a random state with neighboring qubits\n", + "q1 = random.choice(list(connectivity_graph))\n", + "q2 = int(connectivity_graph[q1][0])\n", + "q1 = int(q1)\n", + "\n", + "circuit = Circuit()\n", + "circuit.rz(0, np.pi / 2).cnot(q1, q2).x(7)\n", + "print(circuit)\n", + "rigetti_task = device.run(circuit, shots=10, disable_qubit_rewiring=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Status of quantum task: QUEUED\n" + ] + } + ], + "source": [ + "print(\"Status of quantum task:\", rigetti_task.state())" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Measurement counts: Counter({'001': 7, '000': 2, '011': 1})\n", + "The compiled circuit is:\n", + " PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[3]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(1.5707963267948966) 0\n", + "RX(1.5707963267948966) 7\n", + "RZ(4.71238898038469) 0\n", + "RX(1.5707963267948966) 7\n", + "ISWAP 0 1\n", + "RZ(3.141592653589793) 1\n", + "RX(1.5707963267948966) 1\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 7 ro[2]\n", + "MEASURE 0 ro[0]\n", + "MEASURE 1 ro[1]\n" + ] + } + ], + "source": [ + "result = rigetti_task.result()\n", + "counts = result.measurement_counts\n", + "print(\"Measurement counts:\", counts)\n", + "print(\"The compiled circuit is:\\n\", result.additional_metadata.rigettiMetadata.compiledProgram)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "The qubits in the original circuit followed a one-to-one mapping to the physical qubits in the device. Other compilation steps, such as gate synthesis and circuit optimization, are still performed. These steps allow the circuit to run successfully and improve the overall fidelity." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Using the qubits with the highest two-qubit gate fidelity\n", + "\n", + "Additionally, the device properties include calibration data, which you can use to find the qubits and qubit pairs with the highest fidelities for particular gates.\n", + "\n", + "The following function finds the qubit pair that has the highest two-qubit fidelity of an input gate, which can be any of the gates native to the Rigetti device. First, you can access the native gates as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['RX', 'RZ', 'CZ', 'ISWAP']" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "native_gates = device.properties.paradigm.nativeGateSet\n", + "gates_uppercase = [gate.upper() for gate in native_gates]\n", + "gates_uppercase" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "def find_qubit_pair(gate):\n", + " \"Function to find the qubit pair that has the highest gate fidelity of a particular gate\"\n", + "\n", + " # check whether the input gate is a string\n", + " if not isinstance(gate, str):\n", + " raise ValueError(\"The input gate must be a string type.\")\n", + "\n", + " # check whether the input gate is a native gate\n", + " gate_list = gates_uppercase\n", + " if gate not in gate_list:\n", + " raise ValueError(f\"The input gate must be one of {gates_uppercase}.\")\n", + "\n", + " # load all calibration data from device.properties\n", + " calibration_2Q = device.properties.provider.specs[\"2Q\"]\n", + " highest_fidelity = 0\n", + "\n", + " # iterate through all calibration data to find the highest fidelity\n", + " for pair in calibration_2Q.keys():\n", + " # if the particular gate type is supported by the qubit pair\n", + " if (\"f\" + gate) in calibration_2Q[pair].keys():\n", + " if calibration_2Q[pair][\"f\" + gate] > highest_fidelity:\n", + " # update the highest_fidelity and the best_pair\n", + " highest_fidelity = calibration_2Q[pair][\"f\" + gate]\n", + " best_pair = pair\n", + "\n", + " # generate the two qubits as integers\n", + " q1 = best_pair[0]\n", + " i = 1\n", + " while best_pair[i] != \"-\":\n", + " q1 += best_pair[i]\n", + " i += 1\n", + "\n", + " q1 = int(q1)\n", + " q2 = int(best_pair[i + 1 :])\n", + "\n", + " return q1, q2, highest_fidelity" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "The example in the following code applies a native two-qubit gate on the qubit pair that has the highest fidelity of that gate. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The highest fidelity for ISWAP gate is: 0.99312484820244\n", + "And the corresponding qubit pair is: qubit 73 and qubit 74\n", + "T : │ 0 │\n", + " \n", + "q73 : ───●───\n", + " │ \n", + " ┌─┴─┐ \n", + "q74 : ─┤ Z ├─\n", + " └───┘ \n", + "T : │ 0 │\n" + ] + } + ], + "source": [ + "# the gate must be a native gate\n", + "gate = \"ISWAP\"\n", + "# find the qubit pair with the highest gate fidelity\n", + "q1, q2, highest_fidelity = find_qubit_pair(gate)\n", + "print(\"The highest fidelity for \" + gate + \" gate is:\", highest_fidelity)\n", + "print(f\"And the corresponding qubit pair is: qubit {q1} and qubit {q2}\")\n", + "\n", + "# create a circuit with the gate applied to the discovered qubit pair.\n", + "# note that CPHASE in Rigetti corresponds to cphaseshift in Braket\n", + "circuit = Circuit()\n", + "circuit.cz(q1, q2)\n", + "print(circuit)\n", + "rigetti_task = device.run(circuit, shots=1000, disable_qubit_rewiring=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Status of quantum task: QUEUED\n" + ] + } + ], + "source": [ + "print(\"Status of quantum task:\", rigetti_task.state())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The qubits in the original circuit followed a one-to-one mapping to the physical qubits in the device. Since only native gates were used, the actual gates executed are the same as the gates in the original circuit." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "
\n", + "Note: The IonQ device does not support manual allocation. For circuits submitted to the IonQ device, qubits are allocated automatically.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum Task Summary\n", + "{<_Rigetti.Ankaa2: 'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2'>: {'shots': 1020, 'tasks': {'COMPLETED': 2, 'QUEUED': 1}}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 1.82 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(\n", + " f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\"\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "braket", + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb b/examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb index 45dd39fb..d41d727b 100644 --- a/examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb +++ b/examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb @@ -1,1904 +1,1905 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Getting Devices and Checking Device Properties\n", - "\n", - "This tutorial demonstrates how to use the `get_devices()` method to search and instantiate devices available on Amazon Braket. It also shows how to obtain access to properties for simulator and QPU devices." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:22.928626Z", - "start_time": "2023-08-29T21:51:20.846031Z" - } - }, - "outputs": [], - "source": [ - "# general imports\n", - "import json\n", - "from braket.aws import AwsDevice\n", - "from braket.devices import Devices, LocalSimulator" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Using get_devices\n", - "You can get a device, including the on-demand simulators and the QPUs, by calling the `get_devices()` method. Search for devices with one or more of the following filtering criteria:\n", - "* device arn \n", - "* name \n", - "* type \n", - "* status \n", - "* provider_name. \n", - "\n", - "The following cells give examples for each of the cases." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by type" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:23.791309Z", - "start_time": "2023-08-29T21:51:22.939296Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", - " Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", - " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1)]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# to get the on-demand simulators\n", - "AwsDevice.get_devices(types=['SIMULATOR'])" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", - " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", - " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", - " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet)]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# to get the list of QPUs\n", - "AwsDevice.get_devices(types=['QPU'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by ARN\n", - "For every type of device available in Amazon Braket, you can find the associated ARN in the Amazon Braket [Developer Guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html). You also can view the device ARN on the `Devices` section in the Amazon Braket console." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:40.189738Z", - "start_time": "2023-08-29T21:51:38.108942Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1)]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# for example, the following ARN refers to the IonQ device.\n", - "AwsDevice.get_devices(arns=['arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by name" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:44.199001Z", - "start_time": "2023-08-29T21:51:40.203505Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2)]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# for example, the following name refers to a Rigetti Ankaa system.\n", - "AwsDevice.get_devices(names=['Ankaa-2'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by status" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:49.133297Z", - "start_time": "2023-08-29T21:51:44.215934Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", - " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", - " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", - " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet),\n", - " Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", - " Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", - " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1)]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# retrieve all devices that are currently online\n", - "AwsDevice.get_devices(statuses=['ONLINE'])" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:52.891651Z", - "start_time": "2023-08-29T21:51:49.147757Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2)]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# retrieve all devices that are currently offline\n", - "AwsDevice.get_devices(statuses=['OFFLINE'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by provider_name" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:56.454044Z", - "start_time": "2023-08-29T21:51:52.891938Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1)]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# for example, the following ARN retrieves the IonQ device.\n", - "AwsDevice.get_devices(provider_names=['IonQ'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Retrieve devices in order" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:10.758716Z", - "start_time": "2023-08-29T21:51:56.382501Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", - " Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", - " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1),\n", - " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet),\n", - " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", - " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", - " Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2)]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# retrieve the list of devices, ordered by provider name\n", - "AwsDevice.get_devices(order_by='provider_name')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device with multiple criteria" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:15.233392Z", - "start_time": "2023-08-29T21:52:10.769127Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", - " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", - " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", - " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet)]" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# multiple criteria can be applied\n", - "AwsDevice.get_devices(types=['QPU'],statuses=['ONLINE'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting a device directly\n", - "You can specify a device directly, with the device ARN. These ARNs can be specified from each device's entry in the `Devices` enum:" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:17.486681Z", - "start_time": "2023-08-29T21:52:15.244209Z" - } - }, - "outputs": [], - "source": [ - "# specify a device directly by device ARN\n", - "# Rigetti\n", - "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "# IonQ\n", - "device = AwsDevice(Devices.IonQ.Aria1)\n", - "# IQM\n", - "device = AwsDevice(Devices.IQM.Garnet)\n", - "# the on-demand simulator SV1\n", - "device = AwsDevice(Devices.Amazon.SV1)\n", - "# the on-demand simulator TN1\n", - "device = AwsDevice(Devices.Amazon.TN1)\n", - "# the local simulator\n", - "device = LocalSimulator()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Properties of devices\n", - "\n", - "You can check properties of a device with the `device.properties` call. The following examples show some useful properties of each device." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:17.759631Z", - "start_time": "2023-08-29T21:52:17.502344Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The supported operations of SV1 are ['ccnot', 'cnot', 'cphaseshift', 'cphaseshift00', 'cphaseshift01', 'cphaseshift10', 'cswap', 'cy', 'cz', 'ecr', 'h', 'i', 'iswap', 'pswap', 'phaseshift', 'rx', 'ry', 'rz', 's', 'si', 'swap', 't', 'ti', 'unitary', 'v', 'vi', 'x', 'xx', 'xy', 'y', 'yy', 'z', 'zz']\n", - "\n", - "The supported result types are [ResultType(name='Sample', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=1, maxShots=100000), ResultType(name='Expectation', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=0, maxShots=100000), ResultType(name='Variance', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=0, maxShots=100000), ResultType(name='Probability', observables=None, minShots=1, maxShots=100000), ResultType(name='Amplitude', observables=None, minShots=0, maxShots=0)]\n", - "\n", - "The maximum number of qubits supported by this device is 34\n", - "The shots range of this device is (0, 100000)\n", - "The price of running quantum tasks on this device: price=0.075 unit='minute'\n" - ] - } - ], - "source": [ - "# the on-demand simulator SV1\n", - "device = AwsDevice(Devices.Amazon.SV1)\n", - "\n", - "support_gates = device.properties.action['braket.ir.jaqcd.program'].supportedOperations\n", - "support_result_types = device.properties.action['braket.ir.jaqcd.program'].supportedResultTypes\n", - "qubit_count = device.properties.paradigm.qubitCount\n", - "shots_range = device.properties.service.shotsRange\n", - "device_cost = device.properties.service.deviceCost\n", - "\n", - "print(f'The supported operations of {device.name} are {support_gates}\\n')\n", - "print(f'The supported result types are {support_result_types}\\n')\n", - "print('The maximum number of qubits supported by this device is', qubit_count)\n", - "print('The shots range of this device is', shots_range)\n", - "print('The price of running quantum tasks on this device:', device_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For the IonQ and Rigetti devices, you can get information about the properties shown previously. You also can get information about the availability windows and the device calibration data." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:19.588547Z", - "start_time": "2023-08-29T21:52:17.773910Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The availability windows for Ankaa-2:\n", - "[DeviceExecutionWindow(executionDay=, windowStartHour=datetime.time(0, 0), windowEndHour=datetime.time(23, 59))]\n", - "\n", - "The connectivity graph of the qubits for this device:\n", - " fullyConnected=False connectivityGraph={'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n", - "\n", - "Calibration data:\n", - " {\n", - " \"1Q\": {\n", - " \"0\": {\n", - " \"T1\": 9.188738589920766e-06,\n", - " \"T2\": 1.5115358086466058e-05,\n", - " \"f1QRB\": 0.9989751997430271,\n", - " \"f1QRB_std_err\": 2.0679831486331732e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9977906923503519,\n", - " \"f1Q_simultaneous_RB_std_err\": 5.022804153387717e-05,\n", - " \"fRO\": 0.9279999999999999\n", - " },\n", - " \"1\": {\n", - " \"T1\": 1.1424822873905215e-05,\n", - " \"T2\": 7.81925508978389e-06,\n", - " \"f1QRB\": 0.9986392103526047,\n", - " \"f1QRB_std_err\": 2.5837382143438492e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9953277301386305,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00042743732391299096,\n", - " \"fRO\": 0.945\n", - " },\n", - " \"10\": {\n", - " \"T1\": 1.4397388097206513e-05,\n", - " \"T2\": 1.339262710713176e-05,\n", - " \"f1QRB\": 0.9983666919759847,\n", - " \"f1QRB_std_err\": 0.0002540204792082052,\n", - " \"f1Q_simultaneous_RB\": 0.9949091215921125,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0008697771710166471,\n", - " \"fRO\": 0.921\n", - " },\n", - " \"11\": {\n", - " \"T1\": 1.3586183291642084e-05,\n", - " \"T2\": 8.375930706648994e-06,\n", - " \"f1QRB\": 0.9987291309192002,\n", - " \"f1QRB_std_err\": 3.472614079514786e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9729235723436281,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.002137921614257448,\n", - " \"fRO\": 0.8560000000000001\n", - " },\n", - " \"12\": {\n", - " \"T1\": 1.4839379784194732e-05,\n", - " \"T2\": 1.818202231054693e-05,\n", - " \"f1QRB\": 0.998776996620199,\n", - " \"f1QRB_std_err\": 4.4974028122863406e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9979066727008618,\n", - " \"f1Q_simultaneous_RB_std_err\": 5.178760285397647e-05,\n", - " \"fRO\": 0.975\n", - " },\n", - " \"13\": {\n", - " \"T1\": 1.5012868688046168e-05,\n", - " \"T2\": 6.238808590084043e-06,\n", - " \"f1QRB\": 0.997924906562737,\n", - " \"f1QRB_std_err\": 9.068247000218935e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9960819770811921,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00020470342371224092,\n", - " \"fRO\": 0.9319999999999999\n", - " },\n", - " \"14\": {\n", - " \"T1\": 9.241177624502927e-06,\n", - " \"T2\": 1.2479145836656001e-05,\n", - " \"f1QRB\": 0.9989037419145974,\n", - " \"f1QRB_std_err\": 7.483443152934302e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9899718004895154,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0004595459103652275,\n", - " \"fRO\": 0.9410000000000001\n", - " },\n", - " \"15\": {\n", - " \"T1\": 1.3607903689853045e-05,\n", - " \"T2\": 1.2713607419342696e-05,\n", - " \"f1QRB\": 0.9983943409536015,\n", - " \"f1QRB_std_err\": 4.027027495615709e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9929483241808174,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00023770765814441926,\n", - " \"fRO\": 0.945\n", - " },\n", - " \"16\": {\n", - " \"T1\": 1.88513673725692e-05,\n", - " \"T2\": 4.7270850455358685e-06,\n", - " \"f1QRB\": 0.9987853652052536,\n", - " \"f1QRB_std_err\": 3.375389696164912e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9833505453505913,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0009000282675945473,\n", - " \"fRO\": 0.845\n", - " },\n", - " \"17\": {\n", - " \"T1\": 6.727376139504448e-06,\n", - " \"T2\": 1.3290167565629393e-05,\n", - " \"f1QRB\": 0.9988148862501292,\n", - " \"f1QRB_std_err\": 4.965553483148904e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9971513895552646,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00011975972016416049,\n", - " \"fRO\": 0.871\n", - " },\n", - " \"18\": {\n", - " \"T1\": 1.3370961985133656e-05,\n", - " \"T2\": 1.4781911797622444e-05,\n", - " \"f1QRB\": 0.9988395481906874,\n", - " \"f1QRB_std_err\": 3.334202920860159e-05,\n", - " \"f1Q_simultaneous_RB\": 0.991212188518014,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005735243624384439,\n", - " \"fRO\": 0.9450000000000001\n", - " },\n", - " \"19\": {\n", - " \"T1\": 1.3694445091389104e-05,\n", - " \"T2\": 1.8948746412036046e-05,\n", - " \"f1QRB\": 0.9989032737033892,\n", - " \"f1QRB_std_err\": 2.1809754472271395e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9377408142450181,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.022945728139192902,\n", - " \"fRO\": 0.86\n", - " },\n", - " \"2\": {\n", - " \"T1\": 1.2858591189370053e-05,\n", - " \"T2\": 1.6878980942888143e-05,\n", - " \"f1QRB\": 0.9984345619163735,\n", - " \"f1QRB_std_err\": 9.08541980198589e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9894961138887621,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0010389843019420724,\n", - " \"fRO\": 0.9079999999999999\n", - " },\n", - " \"20\": {\n", - " \"T1\": 1.4033755270253051e-05,\n", - " \"T2\": 2.417434951047098e-05,\n", - " \"f1QRB\": 0.9984097828044537,\n", - " \"f1QRB_std_err\": 0.0001003650197355637,\n", - " \"f1Q_simultaneous_RB\": 0.9972607664140928,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002625968643302963,\n", - " \"fRO\": 0.956\n", - " },\n", - " \"21\": {\n", - " \"T1\": 1.2585205427234064e-05,\n", - " \"T2\": 2.092706172954416e-05,\n", - " \"f1QRB\": 0.9987920931253695,\n", - " \"f1QRB_std_err\": 2.75729899097585e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9972438852563055,\n", - " \"f1Q_simultaneous_RB_std_err\": 4.7833914374202874e-05,\n", - " \"fRO\": 0.964\n", - " },\n", - " \"22\": {\n", - " \"T1\": 1.3156398816510328e-05,\n", - " \"T2\": 9.055428316830254e-06,\n", - " \"f1QRB\": 0.9987088311152464,\n", - " \"f1QRB_std_err\": 2.9284210923276044e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9882440316368954,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00217791143691248,\n", - " \"fRO\": 0.926\n", - " },\n", - " \"23\": {\n", - " \"T1\": 1.2842440379946409e-05,\n", - " \"T2\": 8.215052109680317e-06,\n", - " \"f1QRB\": 0.9974901751854006,\n", - " \"f1QRB_std_err\": 0.0001631397379850662,\n", - " \"f1Q_simultaneous_RB\": 0.9865011235636009,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0010189758801580672,\n", - " \"fRO\": 0.956\n", - " },\n", - " \"24\": {\n", - " \"T1\": 1.9346009082358398e-05,\n", - " \"T2\": 1.1937386114398276e-05,\n", - " \"f1QRB\": 0.9983253042496835,\n", - " \"f1QRB_std_err\": 8.067632036104494e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9950712793653935,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002141642699176358,\n", - " \"fRO\": 0.979\n", - " },\n", - " \"25\": {\n", - " \"T1\": 1.1785048788788791e-05,\n", - " \"T2\": 1.4754448154974761e-05,\n", - " \"f1QRB\": 0.9979269962576733,\n", - " \"f1QRB_std_err\": 6.060664140314965e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9940890082252032,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0007016219504682814,\n", - " \"fRO\": 0.966\n", - " },\n", - " \"26\": {\n", - " \"T1\": 1.9757994068998704e-05,\n", - " \"T2\": 1.1786900530053712e-05,\n", - " \"f1QRB\": 0.9988929815534089,\n", - " \"f1QRB_std_err\": 2.8473648925082652e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9892190315759715,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0018571214358147484,\n", - " \"fRO\": 0.97\n", - " },\n", - " \"27\": {\n", - " \"T1\": 1.0772657302764382e-05,\n", - " \"T2\": 9.225720435722181e-06,\n", - " \"f1QRB\": 0.9982554695288404,\n", - " \"f1QRB_std_err\": 4.91454475921194e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9959353976666019,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00016001458516624184,\n", - " \"fRO\": 0.9139999999999999\n", - " },\n", - " \"28\": {\n", - " \"T1\": 9.981191636291515e-06,\n", - " \"T2\": 5.688781747165514e-06,\n", - " \"f1QRB\": 0.9983841943846401,\n", - " \"f1QRB_std_err\": 3.876665371947724e-05,\n", - " \"f1Q_simultaneous_RB\": 0.995992435403062,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00028985280637909165,\n", - " \"fRO\": 0.9410000000000001\n", - " },\n", - " \"29\": {\n", - " \"T1\": 1.1204638867006936e-05,\n", - " \"T2\": 1.652115287314364e-05,\n", - " \"f1QRB\": 0.9988150922713561,\n", - " \"f1QRB_std_err\": 8.275662897495279e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9952130715828645,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00034718794705519267,\n", - " \"fRO\": 0.925\n", - " },\n", - " \"3\": {\n", - " \"T1\": 1.8719464515731677e-05,\n", - " \"T2\": 1.4586748354157626e-05,\n", - " \"f1QRB\": 0.9989002998216094,\n", - " \"f1QRB_std_err\": 4.057304777251857e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9971535609092096,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002838481061337756,\n", - " \"fRO\": 0.9239999999999999\n", - " },\n", - " \"30\": {\n", - " \"T1\": 1.244220399426232e-05,\n", - " \"T2\": 6.309696990610663e-06,\n", - " \"f1QRB\": 0.9984319024200233,\n", - " \"f1QRB_std_err\": 2.951110700225705e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9919021348796022,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0006326939371417978,\n", - " \"fRO\": 0.971\n", - " },\n", - " \"31\": {\n", - " \"T1\": 1.3062804950546854e-05,\n", - " \"T2\": 1.400102486517304e-05,\n", - " \"f1QRB\": 0.998674284285232,\n", - " \"f1QRB_std_err\": 4.043660607731187e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9916620995172601,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002275290208907156,\n", - " \"fRO\": 0.948\n", - " },\n", - " \"32\": {\n", - " \"T1\": 1.4563700515623286e-05,\n", - " \"T2\": 1.3020747686044575e-05,\n", - " \"f1QRB\": 0.9987025319481753,\n", - " \"f1QRB_std_err\": 4.946986179999276e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9964784937971644,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00014781010102640516,\n", - " \"fRO\": 0.959\n", - " },\n", - " \"33\": {\n", - " \"T1\": 9.642732018105618e-06,\n", - " \"T2\": 1.3634615127933523e-05,\n", - " \"f1QRB\": 0.9980203558684193,\n", - " \"f1QRB_std_err\": 2.9295348076164842e-05,\n", - " \"f1Q_simultaneous_RB\": 0.983196638552863,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.002055539485119557,\n", - " \"fRO\": 0.918\n", - " },\n", - " \"34\": {\n", - " \"T1\": 1.713988970837948e-05,\n", - " \"T2\": 2.198751603734416e-05,\n", - " \"f1QRB\": 0.9990015818488835,\n", - " \"f1QRB_std_err\": 3.0424905769125453e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9813599244580338,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.004669744757842596,\n", - " \"fRO\": 0.968\n", - " },\n", - " \"35\": {\n", - " \"T1\": 1.4643912131398986e-05,\n", - " \"T2\": 3.1995577640178207e-06,\n", - " \"f1QRB\": 0.9981762911688464,\n", - " \"f1QRB_std_err\": 6.418526794908951e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9900369543687392,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005557840471862918,\n", - " \"fRO\": 0.94\n", - " },\n", - " \"36\": {\n", - " \"T1\": 1.1051624768642374e-05,\n", - " \"T2\": 1.400670235227901e-05,\n", - " \"f1QRB\": 0.9983832731371838,\n", - " \"f1QRB_std_err\": 4.427599186346774e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9923702291289735,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.000734496046659809,\n", - " \"fRO\": 0.925\n", - " },\n", - " \"37\": {\n", - " \"T1\": 9.952535549320594e-06,\n", - " \"T2\": 9.089917827707173e-06,\n", - " \"f1QRB\": 0.9982104621121981,\n", - " \"f1QRB_std_err\": 5.9621009368908024e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9928609905289468,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002770065858464925,\n", - " \"fRO\": 0.97\n", - " },\n", - " \"38\": {\n", - " \"T1\": 1.4542547472158691e-05,\n", - " \"T2\": 4.9119555657954954e-06,\n", - " \"f1QRB\": 0.9983391239777049,\n", - " \"f1QRB_std_err\": 5.5489399743889144e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9927274464426054,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00034490346748517424,\n", - " \"fRO\": 0.94\n", - " },\n", - " \"39\": {\n", - " \"T1\": 1.5813082724142702e-06,\n", - " \"f1QRB\": 0.9837979672096584,\n", - " \"f1QRB_std_err\": 0.0015886479371489913,\n", - " \"f1Q_simultaneous_RB\": 0.9800825196376993,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0019705352672016725,\n", - " \"fRO\": 0.948\n", - " },\n", - " \"4\": {\n", - " \"T1\": 1.221600720686062e-05,\n", - " \"T2\": 5.032176434386599e-06,\n", - " \"f1QRB\": 0.9981697192213356,\n", - " \"f1QRB_std_err\": 5.148091906526168e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9955769056038452,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002443674943745968,\n", - " \"fRO\": 0.85\n", - " },\n", - " \"40\": {\n", - " \"T1\": 1.3836774470224874e-05,\n", - " \"T2\": 8.820018932957046e-06,\n", - " \"f1QRB\": 0.9985359309310786,\n", - " \"f1QRB_std_err\": 0.00010011566667630272,\n", - " \"f1Q_simultaneous_RB\": 0.991993880228863,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0011854776333122688,\n", - " \"fRO\": 0.868\n", - " },\n", - " \"41\": {\n", - " \"T1\": 1.2013952104481512e-05,\n", - " \"T2\": 1.9147440617148604e-05,\n", - " \"f1QRB\": 0.9988626781522412,\n", - " \"f1QRB_std_err\": 3.519955021416773e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9976416856190857,\n", - " \"f1Q_simultaneous_RB_std_err\": 7.139971507238868e-05,\n", - " \"fRO\": 0.98\n", - " },\n", - " \"42\": {\n", - " \"T1\": 1.1897315657421982e-05,\n", - " \"T2\": 6.433810612334841e-06,\n", - " \"f1QRB\": 0.9987401398855629,\n", - " \"f1QRB_std_err\": 2.4842910954783737e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9886404187567864,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.000865545671861028,\n", - " \"fRO\": 0.9199999999999999\n", - " },\n", - " \"43\": {\n", - " \"T1\": 1.175387778291488e-05,\n", - " \"T2\": 1.802576931646561e-05,\n", - " \"f1QRB\": 0.998980656920372,\n", - " \"f1QRB_std_err\": 3.047618557903109e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9966245346548614,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00012825235793464645,\n", - " \"fRO\": 0.897\n", - " },\n", - " \"44\": {\n", - " \"T1\": 1.1317533527705256e-05,\n", - " \"T2\": 7.025124023453061e-06,\n", - " \"f1QRB\": 0.9984936994107011,\n", - " \"f1QRB_std_err\": 1.9566171677975698e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9895156725495968,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0013520876714959414,\n", - " \"fRO\": 0.9430000000000001\n", - " },\n", - " \"45\": {\n", - " \"T1\": 1.3916136806546354e-05,\n", - " \"T2\": 8.54200445611926e-06,\n", - " \"f1QRB\": 0.9981938832438657,\n", - " \"f1QRB_std_err\": 7.720752371573168e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9951756210242256,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0001656578200493323,\n", - " \"fRO\": 0.883\n", - " },\n", - " \"46\": {\n", - " \"T1\": 1.6800993490267442e-05,\n", - " \"T2\": 1.390596693008661e-05,\n", - " \"f1QRB\": 0.9989904172217673,\n", - " \"f1QRB_std_err\": 0.00020792543430694119,\n", - " \"f1Q_simultaneous_RB\": 0.9740486054627526,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.003949225214890666,\n", - " \"fRO\": 0.935\n", - " },\n", - " \"47\": {\n", - " \"T1\": 2.308141076017859e-05,\n", - " \"T2\": 1.2889928165515491e-05,\n", - " \"f1QRB\": 0.9989701426764845,\n", - " \"f1QRB_std_err\": 3.549452729438895e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9936809932934392,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005194840701065176,\n", - " \"fRO\": 0.966\n", - " },\n", - " \"48\": {\n", - " \"T1\": 2.4482424062851024e-05,\n", - " \"T2\": 1.968317056642545e-05,\n", - " \"f1QRB\": 0.998901164295319,\n", - " \"f1QRB_std_err\": 1.8909296638901778e-05,\n", - " \"f1Q_simultaneous_RB\": 0.997621217085471,\n", - " \"f1Q_simultaneous_RB_std_err\": 7.677949592921175e-05,\n", - " \"fRO\": 0.968\n", - " },\n", - " \"49\": {\n", - " \"T1\": 1.0015289971656016e-05,\n", - " \"T2\": 1.7014007307228258e-05,\n", - " \"f1QRB\": 0.9984258277322864,\n", - " \"f1QRB_std_err\": 5.47736816118378e-05,\n", - " \"f1Q_simultaneous_RB\": 0.995728017290028,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00015382936372201333,\n", - " \"fRO\": 0.908\n", - " },\n", - " \"5\": {\n", - " \"T1\": 1.3004498440941119e-05,\n", - " \"T2\": 1.6383805633386163e-05,\n", - " \"f1QRB\": 0.9986470862124049,\n", - " \"f1QRB_std_err\": 3.652268864366153e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9929592980797504,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00040364203755640396,\n", - " \"fRO\": 0.973\n", - " },\n", - " \"50\": {\n", - " \"T1\": 1.3464075894863434e-05,\n", - " \"T2\": 5.574754214725209e-06,\n", - " \"f1QRB\": 0.998431790229616,\n", - " \"f1QRB_std_err\": 6.748661568443685e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9959289209104987,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00014670291611745554,\n", - " \"fRO\": 0.9410000000000001\n", - " },\n", - " \"51\": {\n", - " \"T1\": 6.707631008093091e-06,\n", - " \"T2\": 1.558251977239244e-05,\n", - " \"f1QRB\": 0.9988574376159899,\n", - " \"f1QRB_std_err\": 2.2201834762021872e-05,\n", - " \"f1Q_simultaneous_RB\": 0.996977835871332,\n", - " \"f1Q_simultaneous_RB_std_err\": 5.7777036449914484e-05,\n", - " \"fRO\": 0.974\n", - " },\n", - " \"52\": {\n", - " \"T1\": 1.0876444082164132e-05,\n", - " \"T2\": 8.302581019140548e-06,\n", - " \"f1QRB\": 0.99839829160568,\n", - " \"f1QRB_std_err\": 3.717861285133706e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9933032810947588,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.000529988652814212,\n", - " \"fRO\": 0.959\n", - " },\n", - " \"53\": {\n", - " \"T1\": 1.3108836298338454e-05,\n", - " \"T2\": 1.0337667528829016e-05,\n", - " \"f1QRB\": 0.9984238159933861,\n", - " \"f1QRB_std_err\": 5.2899593808349486e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9954968598641998,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0003350853484652073,\n", - " \"fRO\": 0.9179999999999999\n", - " },\n", - " \"54\": {\n", - " \"T1\": 1.2661827615430663e-05,\n", - " \"T2\": 1.4628180000985567e-05,\n", - " \"f1QRB\": 0.9984776311382394,\n", - " \"f1QRB_std_err\": 4.138291986479403e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9897788402240421,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0015090359441196236,\n", - " \"fRO\": 0.944\n", - " },\n", - " \"55\": {\n", - " \"T1\": 6.350408716879262e-06,\n", - " \"T2\": 5.401443542130627e-06,\n", - " \"f1QRB\": 0.9976392604241605,\n", - " \"f1QRB_std_err\": 4.848970175188756e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9953757916042162,\n", - " \"f1Q_simultaneous_RB_std_err\": 4.183999712958921e-05,\n", - " \"fRO\": 0.98\n", - " },\n", - " \"56\": {\n", - " \"T1\": 2.067563472320421e-05,\n", - " \"T2\": 1.0673230508596336e-05,\n", - " \"f1QRB\": 0.9971488473112687,\n", - " \"f1QRB_std_err\": 0.00015874611974747805,\n", - " \"f1Q_simultaneous_RB\": 0.9936475546766723,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00019979052355938962,\n", - " \"fRO\": 0.9339999999999999\n", - " },\n", - " \"57\": {\n", - " \"T1\": 1.3158675098459701e-05,\n", - " \"T2\": 1.737248082358324e-05,\n", - " \"f1QRB\": 0.9980657064974754,\n", - " \"f1QRB_std_err\": 4.2934019506785746e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9816962799151328,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0014092574130662233,\n", - " \"fRO\": 0.9099999999999999\n", - " },\n", - " \"58\": {\n", - " \"T1\": 2.877245453838103e-05,\n", - " \"T2\": 1.7015583307912096e-05,\n", - " \"f1QRB\": 0.9986684576929438,\n", - " \"f1QRB_std_err\": 3.1730303092790445e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9975652149478694,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00032303779596305114,\n", - " \"fRO\": 0.946\n", - " },\n", - " \"59\": {\n", - " \"T1\": 1.160848612530693e-05,\n", - " \"T2\": 5.767198803832716e-06,\n", - " \"f1QRB\": 0.998377983141542,\n", - " \"f1QRB_std_err\": 4.5643609775957636e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9676348487178844,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.004328527980352748,\n", - " \"fRO\": 0.873\n", - " },\n", - " \"6\": {\n", - " \"T1\": 1.8239370061508387e-05,\n", - " \"T2\": 5.5417359798717045e-06,\n", - " \"f1QRB\": 0.9979075823351948,\n", - " \"f1QRB_std_err\": 0.00015227406343373901,\n", - " \"f1Q_simultaneous_RB\": 0.9974405105945053,\n", - " \"f1Q_simultaneous_RB_std_err\": 6.156481629598492e-05,\n", - " \"fRO\": 0.963\n", - " },\n", - " \"60\": {\n", - " \"T1\": 8.927064763984261e-06,\n", - " \"T2\": 9.50878568524798e-06,\n", - " \"f1QRB\": 0.9979692265193538,\n", - " \"f1QRB_std_err\": 7.168583097486353e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9851982972890478,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0008258052575669145,\n", - " \"fRO\": 0.969\n", - " },\n", - " \"61\": {\n", - " \"T1\": 1.2053050762532225e-05,\n", - " \"T2\": 1.0969753526041124e-05,\n", - " \"f1QRB\": 0.9984267839080629,\n", - " \"f1QRB_std_err\": 4.9647881711067385e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9755784741860619,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.005164330252092108,\n", - " \"fRO\": 0.881\n", - " },\n", - " \"62\": {\n", - " \"T1\": 1.7808351268249727e-05,\n", - " \"T2\": 2.0935454437796016e-05,\n", - " \"f1QRB\": 0.9988293622267578,\n", - " \"f1QRB_std_err\": 3.1724238532503364e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9952212272657633,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0001335378001105945,\n", - " \"fRO\": 0.944\n", - " },\n", - " \"63\": {\n", - " \"T1\": 1.9533544910252338e-05,\n", - " \"T2\": 8.225690384500153e-06,\n", - " \"f1QRB\": 0.9990818104537923,\n", - " \"f1QRB_std_err\": 2.591163591836797e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9976971801778179,\n", - " \"f1Q_simultaneous_RB_std_err\": 6.06654368005454e-05,\n", - " \"fRO\": 0.965\n", - " },\n", - " \"64\": {\n", - " \"T1\": 5.3259203473510294e-06,\n", - " \"T2\": 8.466173528335672e-06,\n", - " \"f1QRB\": 0.9984190186400348,\n", - " \"f1QRB_std_err\": 6.448407276294968e-05,\n", - " \"f1Q_simultaneous_RB\": 0.993011458055223,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0003924719541656447,\n", - " \"fRO\": 0.967\n", - " },\n", - " \"65\": {\n", - " \"T1\": 1.6258689130380103e-05,\n", - " \"T2\": 2.13610227524408e-05,\n", - " \"f1QRB\": 0.9989444357536232,\n", - " \"f1QRB_std_err\": 3.225989961221664e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9915636857510693,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0009472909244109095,\n", - " \"fRO\": 0.957\n", - " },\n", - " \"66\": {\n", - " \"T1\": 9.392627467562096e-06,\n", - " \"T2\": 8.92037605247448e-06,\n", - " \"f1QRB\": 0.9971650906144066,\n", - " \"f1QRB_std_err\": 0.0002669885055081551,\n", - " \"f1Q_simultaneous_RB\": 0.9632084176103134,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.004999298462372134,\n", - " \"fRO\": 0.786\n", - " },\n", - " \"67\": {\n", - " \"T1\": 1.0798303446079845e-05,\n", - " \"T2\": 1.442063080948124e-05,\n", - " \"f1QRB\": 0.9973961036972676,\n", - " \"f1QRB_std_err\": 0.00015345056365693833,\n", - " \"f1Q_simultaneous_RB\": 0.9807334968408162,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.002467546876349839,\n", - " \"fRO\": 0.871\n", - " },\n", - " \"68\": {\n", - " \"T1\": 1.528570986098691e-05,\n", - " \"T2\": 1.8660128795817277e-05,\n", - " \"f1QRB\": 0.9986868558246939,\n", - " \"f1QRB_std_err\": 5.381485644969931e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9757941434467859,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.006272810344326621,\n", - " \"fRO\": 0.9470000000000001\n", - " },\n", - " \"69\": {\n", - " \"T1\": 1.1718733631190332e-05,\n", - " \"T2\": 1.2067305674627332e-05,\n", - " \"f1QRB\": 0.9983299165088875,\n", - " \"f1QRB_std_err\": 4.875324178348875e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9959091496878513,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00016641915211360384,\n", - " \"fRO\": 0.9570000000000001\n", - " },\n", - " \"7\": {\n", - " \"T1\": 1.2203293820996904e-05,\n", - " \"T2\": 1.1632142317843116e-05,\n", - " \"f1QRB\": 0.998594898155075,\n", - " \"f1QRB_std_err\": 4.437384879873306e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9920859423780137,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0001805274048861091,\n", - " \"fRO\": 0.8979999999999999\n", - " },\n", - " \"70\": {\n", - " \"T1\": 1.23265203941526e-05,\n", - " \"T2\": 1.4719675933248264e-05,\n", - " \"f1QRB\": 0.9957792734843232,\n", - " \"f1QRB_std_err\": 0.00011750342197300224,\n", - " \"f1Q_simultaneous_RB\": 0.9970195422483246,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00016257128630305394,\n", - " \"fRO\": 0.976\n", - " },\n", - " \"71\": {\n", - " \"T1\": 1.583166332685028e-05,\n", - " \"T2\": 1.0856584979564591e-05,\n", - " \"f1QRB\": 0.9988470538918773,\n", - " \"f1QRB_std_err\": 6.0616375932213985e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9944350325795311,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00022116553019116896,\n", - " \"fRO\": 0.935\n", - " },\n", - " \"72\": {\n", - " \"T1\": 1.397358025395872e-05,\n", - " \"T2\": 1.8038754185674848e-05,\n", - " \"f1QRB\": 0.998568335008464,\n", - " \"f1QRB_std_err\": 6.054024131315892e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9849382823361392,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0013193296910071872,\n", - " \"fRO\": 0.974\n", - " },\n", - " \"73\": {\n", - " \"T1\": 1.1814906860408034e-05,\n", - " \"T2\": 8.825378096259247e-06,\n", - " \"f1QRB\": 0.9986812770773348,\n", - " \"f1QRB_std_err\": 4.031007930552348e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9873569114178359,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0009465125255858361,\n", - " \"fRO\": 0.957\n", - " },\n", - " \"74\": {\n", - " \"T1\": 1.8084856207509896e-05,\n", - " \"fRO\": 0.755\n", - " },\n", - " \"75\": {\n", - " \"T1\": 1.4599833718085063e-05,\n", - " \"T2\": 1.1762851405305077e-05,\n", - " \"f1QRB\": 0.998681824839147,\n", - " \"f1QRB_std_err\": 5.203226380860018e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9966864148141727,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0001278973109537322,\n", - " \"fRO\": 0.925\n", - " },\n", - " \"76\": {\n", - " \"T1\": 1.2786019802371923e-05,\n", - " \"T2\": 1.3142506452619197e-05,\n", - " \"f1QRB\": 0.9984067210095231,\n", - " \"f1QRB_std_err\": 5.331170411991985e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9942480052610472,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005965011211577004,\n", - " \"fRO\": 0.964\n", - " },\n", - " \"77\": {\n", - " \"T1\": 3.079908884466668e-06,\n", - " \"T2\": 2.801177738273383e-06,\n", - " \"f1QRB\": 0.9945030681325627,\n", - " \"f1QRB_std_err\": 0.0001248838776475144,\n", - " \"f1Q_simultaneous_RB\": 0.9804732182715379,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0012486362086174888,\n", - " \"fRO\": 0.87\n", - " },\n", - " \"78\": {\n", - " \"T1\": 1.1244811327974159e-05,\n", - " \"T2\": 3.875097528754643e-06,\n", - " \"f1QRB\": 0.9983398650728867,\n", - " \"f1QRB_std_err\": 7.633315759862269e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9967692098406119,\n", - " \"f1Q_simultaneous_RB_std_err\": 7.424979279055196e-05,\n", - " \"fRO\": 0.903\n", - " },\n", - " \"79\": {\n", - " \"T1\": 5.6610288866255496e-06,\n", - " \"T2\": 8.629153961885565e-06,\n", - " \"f1QRB\": 0.9974617497608826,\n", - " \"f1QRB_std_err\": 2.781955255112645e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9958201350429458,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00013111493060712456,\n", - " \"fRO\": 0.948\n", - " },\n", - " \"8\": {\n", - " \"T1\": 1.1407003611118413e-05,\n", - " \"T2\": 1.2309370432467166e-05,\n", - " \"f1QRB\": 0.9987758357419216,\n", - " \"f1QRB_std_err\": 4.789620643962214e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9884117906966723,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.000709450806904051,\n", - " \"fRO\": 0.9490000000000001\n", - " },\n", - " \"80\": {\n", - " \"T1\": 5.978238576247811e-06,\n", - " \"T2\": 7.791064949482855e-06,\n", - " \"f1QRB\": 0.9975287511006907,\n", - " \"f1QRB_std_err\": 9.601258779724653e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9957053001975825,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00011365614144994835,\n", - " \"fRO\": 0.966\n", - " },\n", - " \"81\": {\n", - " \"T1\": 3.4310599698402173e-06,\n", - " \"T2\": 4.538643667345167e-06,\n", - " \"f1QRB\": 0.9701806785928798,\n", - " \"f1QRB_std_err\": 0.003063576918154014,\n", - " \"f1Q_simultaneous_RB\": 0.9645298408956499,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0035177577054300957,\n", - " \"fRO\": 0.881\n", - " },\n", - " \"82\": {\n", - " \"T1\": 1.1019548872967793e-05,\n", - " \"T2\": 1.3065749102731945e-05,\n", - " \"f1QRB\": 0.9984547839403882,\n", - " \"f1QRB_std_err\": 3.675749841499251e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9968747556504615,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00012065576365671228,\n", - " \"fRO\": 0.963\n", - " },\n", - " \"83\": {\n", - " \"T1\": 1.090475453998459e-05,\n", - " \"T2\": 1.5393165671024967e-05,\n", - " \"f1QRB\": 0.9985743375675988,\n", - " \"f1QRB_std_err\": 4.7535691835826344e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9941849216547207,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0006464784829884674,\n", - " \"fRO\": 0.972\n", - " },\n", - " \"9\": {\n", - " \"T1\": 9.785771028586126e-06,\n", - " \"T2\": 1.4090887380268008e-05,\n", - " \"f1QRB\": 0.9985960431813231,\n", - " \"f1QRB_std_err\": 4.30889189756182e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9847208740742583,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.001365107107806661,\n", - " \"fRO\": 0.945\n", - " }\n", - " },\n", - " \"2Q\": {\n", - " \"0-1\": {\n", - " \"fISWAP\": 0.9791302135165144,\n", - " \"fISWAP_std_err\": 0.00356371284654979\n", - " },\n", - " \"0-7\": {\n", - " \"fISWAP\": 0.9735136820907221,\n", - " \"fISWAP_std_err\": 0.005528756208824819\n", - " },\n", - " \"1-2\": {\n", - " \"fISWAP\": 0.9826670815072358,\n", - " \"fISWAP_std_err\": 0.004545721578955407\n", - " },\n", - " \"1-8\": {\n", - " \"fISWAP\": 0.9871636453178825,\n", - " \"fISWAP_std_err\": 0.0015318956008649608\n", - " },\n", - " \"10-11\": {\n", - " \"fISWAP\": 0.9608092769094925,\n", - " \"fISWAP_std_err\": 0.006832379421744852\n", - " },\n", - " \"10-17\": {\n", - " \"fISWAP\": 0.9175335256563664,\n", - " \"fISWAP_std_err\": 0.014230349601250074\n", - " },\n", - " \"11-12\": {\n", - " \"fISWAP\": 0.9653965261238255,\n", - " \"fISWAP_std_err\": 0.004074194576367181\n", - " },\n", - " \"11-18\": {\n", - " \"fISWAP\": 0.9827028393277744,\n", - " \"fISWAP_std_err\": 0.00719682143391899\n", - " },\n", - " \"12-13\": {\n", - " \"fISWAP\": 0.9860621874682959,\n", - " \"fISWAP_std_err\": 0.0016004359788634186\n", - " },\n", - " \"12-19\": {\n", - " \"fISWAP\": 0.9826169461521911,\n", - " \"fISWAP_std_err\": 0.0024860949331014254\n", - " },\n", - " \"13-20\": {\n", - " \"fISWAP\": 0.8992886975557597,\n", - " \"fISWAP_std_err\": 0.009522823050077288\n", - " },\n", - " \"14-15\": {\n", - " \"fISWAP\": 0.9176834388222596,\n", - " \"fISWAP_std_err\": 0.018092341455944\n", - " },\n", - " \"14-21\": {\n", - " \"fISWAP\": 0.9694771126842667,\n", - " \"fISWAP_std_err\": 0.003332132287104312\n", - " },\n", - " \"15-22\": {\n", - " \"fISWAP\": 0.9592408936940807,\n", - " \"fISWAP_std_err\": 0.006077022692492429\n", - " },\n", - " \"16-17\": {\n", - " \"fISWAP\": 0.9812012158724508,\n", - " \"fISWAP_std_err\": 0.004048459654837136\n", - " },\n", - " \"16-23\": {\n", - " \"fISWAP\": 0.5,\n", - " \"fISWAP_std_err\": 1.0\n", - " },\n", - " \"17-18\": {\n", - " \"fISWAP\": 0.9637999630059566,\n", - " \"fISWAP_std_err\": 0.007420641423514777\n", - " },\n", - " \"17-24\": {\n", - " \"fISWAP\": 0.9615095487981369,\n", - " \"fISWAP_std_err\": 0.0038152493178914048\n", - " },\n", - " \"18-19\": {\n", - " \"fISWAP\": 0.9624441046403442,\n", - " \"fISWAP_std_err\": 0.005903445677963392\n", - " },\n", - " \"18-25\": {\n", - " \"fISWAP\": 0.9640020475890487,\n", - " \"fISWAP_std_err\": 0.005958170516256149\n", - " },\n", - " \"19-20\": {\n", - " \"fISWAP\": 0.9753775134174749,\n", - " \"fISWAP_std_err\": 0.0030206413985383934\n", - " },\n", - " \"19-26\": {\n", - " \"fISWAP\": 0.9738883062816561,\n", - " \"fISWAP_std_err\": 0.0028133311282072795\n", - " },\n", - " \"2-3\": {\n", - " \"fISWAP\": 0.9761701890350708,\n", - " \"fISWAP_std_err\": 0.003984418130874122\n", - " },\n", - " \"2-9\": {\n", - " \"fISWAP\": 0.9878078152606788,\n", - " \"fISWAP_std_err\": 0.001604514158154127\n", - " },\n", - " \"20-27\": {\n", - " \"fISWAP\": 0.972527548688719,\n", - " \"fISWAP_std_err\": 0.005177397542386951\n", - " },\n", - " \"21-22\": {\n", - " \"fISWAP\": 0.9861867762396699,\n", - " \"fISWAP_std_err\": 0.0049924774137807245\n", - " },\n", - " \"21-28\": {\n", - " \"fISWAP\": 0.9875653043190505,\n", - " \"fISWAP_std_err\": 0.0020140206155346146\n", - " },\n", - " \"22-23\": {\n", - " \"fCZ\": 0.8131204267839887,\n", - " \"fCZ_std_err\": 0.023753498043183205,\n", - " \"fISWAP\": 0.9623701423788883,\n", - " \"fISWAP_std_err\": 0.00921488479505151\n", - " },\n", - " \"22-29\": {\n", - " \"fCZ\": 0.9553762383380866,\n", - " \"fCZ_std_err\": 0.008598180865132431,\n", - " \"fISWAP\": 0.9805701902071962,\n", - " \"fISWAP_std_err\": 0.0021701820410876095\n", - " },\n", - " \"23-24\": {\n", - " \"fCZ\": 0.9451155859277102,\n", - " \"fCZ_std_err\": 0.010411710027468532,\n", - " \"fISWAP\": 0.9768005265055224,\n", - " \"fISWAP_std_err\": 0.007770529050118395\n", - " },\n", - " \"23-30\": {\n", - " \"fCZ\": 0.9243983539104479,\n", - " \"fCZ_std_err\": 0.01802145417629321,\n", - " \"fISWAP\": 0.902738673879681,\n", - " \"fISWAP_std_err\": 0.006818833985233317\n", - " },\n", - " \"24-25\": {\n", - " \"fISWAP\": 0.9628007312892574,\n", - " \"fISWAP_std_err\": 0.003733949142578766\n", - " },\n", - " \"24-31\": {\n", - " \"fCZ\": 0.9896366048500892,\n", - " \"fCZ_std_err\": 0.00416104817282723,\n", - " \"fISWAP\": 0.9848767370537788,\n", - " \"fISWAP_std_err\": 0.0019422978529865585\n", - " },\n", - " \"25-26\": {\n", - " \"fISWAP\": 0.9683010306523239,\n", - " \"fISWAP_std_err\": 0.006305001630825598\n", - " },\n", - " \"25-32\": {\n", - " \"fISWAP\": 0.972785202975738,\n", - " \"fISWAP_std_err\": 0.004114423288032952\n", - " },\n", - " \"26-33\": {\n", - " \"fISWAP\": 0.9378890801422842,\n", - " \"fISWAP_std_err\": 0.010579261945524422\n", - " },\n", - " \"27-34\": {\n", - " \"fISWAP\": 0.9716219949788273,\n", - " \"fISWAP_std_err\": 0.003575681758071341\n", - " },\n", - " \"28-29\": {\n", - " \"fISWAP\": 0.9788494799023928,\n", - " \"fISWAP_std_err\": 0.0024364897527115585\n", - " },\n", - " \"28-35\": {\n", - " \"fISWAP\": 0.9639919058547002,\n", - " \"fISWAP_std_err\": 0.005405937189237481\n", - " },\n", - " \"29-30\": {\n", - " \"fCZ\": 0.9454242154413506,\n", - " \"fCZ_std_err\": 0.016219616156322496,\n", - " \"fISWAP\": 0.9778419678547438,\n", - " \"fISWAP_std_err\": 0.0016218686403212568\n", - " },\n", - " \"29-36\": {\n", - " \"fCZ\": 0.9835938239986446,\n", - " \"fCZ_std_err\": 0.003179043982604907,\n", - " \"fISWAP\": 0.9810825021956864,\n", - " \"fISWAP_std_err\": 0.004467142809673723\n", - " },\n", - " \"3-10\": {\n", - " \"fISWAP\": 0.9226230525066166,\n", - " \"fISWAP_std_err\": 0.008862475076832018\n", - " },\n", - " \"3-4\": {\n", - " \"fISWAP\": 0.9506201610747482,\n", - " \"fISWAP_std_err\": 0.006391161335644611\n", - " },\n", - " \"30-31\": {\n", - " \"fCZ\": 0.9782743632580108,\n", - " \"fCZ_std_err\": 0.003166566866056771,\n", - " \"fISWAP\": 0.9263920544692568,\n", - " \"fISWAP_std_err\": 0.012427788613003463\n", - " },\n", - " \"30-37\": {\n", - " \"fCZ\": 0.9381541716478992,\n", - " \"fCZ_std_err\": 0.011268263014875242,\n", - " \"fISWAP\": 0.988775694984386,\n", - " \"fISWAP_std_err\": 0.002369041711260937\n", - " },\n", - " \"31-32\": {\n", - " \"fCZ\": 0.97272030660307,\n", - " \"fCZ_std_err\": 0.0024880579085394304,\n", - " \"fISWAP\": 0.9777788392342968,\n", - " \"fISWAP_std_err\": 0.0028554362838577162\n", - " },\n", - " \"31-38\": {\n", - " \"fCZ\": 0.923589367568092,\n", - " \"fCZ_std_err\": 0.021497651582702258,\n", - " \"fISWAP\": 0.972427206095531,\n", - " \"fISWAP_std_err\": 0.002652465123841745\n", - " },\n", - " \"32-33\": {\n", - " \"fCZ\": 0.95823427800913,\n", - " \"fCZ_std_err\": 0.00446983618513398,\n", - " \"fISWAP\": 0.9794392126964651,\n", - " \"fISWAP_std_err\": 0.003170561763187578\n", - " },\n", - " \"32-39\": {\n", - " \"fCZ\": 0.9676193940962202,\n", - " \"fCZ_std_err\": 0.012180955656225673,\n", - " \"fISWAP\": 0.9471116565923102,\n", - " \"fISWAP_std_err\": 0.009485438714608638\n", - " },\n", - " \"33-34\": {\n", - " \"fISWAP\": 0.9791790005234218,\n", - " \"fISWAP_std_err\": 0.00434310763839065\n", - " },\n", - " \"33-40\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.9836773772871124,\n", - " \"fISWAP_std_err\": 0.002413077893821505\n", - " },\n", - " \"34-41\": {\n", - " \"fISWAP\": 0.981208304769087,\n", - " \"fISWAP_std_err\": 0.0035818793671928296\n", - " },\n", - " \"35-36\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.9363437120389613,\n", - " \"fISWAP_std_err\": 0.008771122408902885\n", - " },\n", - " \"35-42\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.963098994577651,\n", - " \"fISWAP_std_err\": 0.0065455200479871065\n", - " },\n", - " \"36-37\": {\n", - " \"fCZ\": 0.9859932126721338,\n", - " \"fCZ_std_err\": 0.002265311115309427,\n", - " \"fISWAP\": 0.9393376252029916,\n", - " \"fISWAP_std_err\": 0.01064729584032537\n", - " },\n", - " \"36-43\": {\n", - " \"fCZ\": 0.9834422568445816,\n", - " \"fCZ_std_err\": 0.002149164215421339,\n", - " \"fISWAP\": 0.9819326300244948,\n", - " \"fISWAP_std_err\": 0.0028825293231968755\n", - " },\n", - " \"37-38\": {\n", - " \"fCZ\": 0.9730964409560557,\n", - " \"fCZ_std_err\": 0.007166947898501174,\n", - " \"fISWAP\": 0.8732615841593578,\n", - " \"fISWAP_std_err\": 0.008164821791420175\n", - " },\n", - " \"37-44\": {\n", - " \"fCZ\": 0.9898899788690768,\n", - " \"fCZ_std_err\": 0.0026127128645217013,\n", - " \"fISWAP\": 0.95157000198181,\n", - " \"fISWAP_std_err\": 0.005210452797842842\n", - " },\n", - " \"38-39\": {\n", - " \"fCZ\": 0.9152105518588706,\n", - " \"fCZ_std_err\": 0.018250356740116366,\n", - " \"fISWAP\": 0.9342088023346795,\n", - " \"fISWAP_std_err\": 0.006850634509083431\n", - " },\n", - " \"38-45\": {\n", - " \"fCZ\": 0.9345038340266254,\n", - " \"fCZ_std_err\": 0.014340313680079155,\n", - " \"fISWAP\": 0.8829262365164003,\n", - " \"fISWAP_std_err\": 0.016002126804853644\n", - " },\n", - " \"39-40\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.9067660927446799,\n", - " \"fISWAP_std_err\": 0.007506787004908315\n", - " },\n", - " \"39-46\": {\n", - " \"fCZ\": 0.9117021474358413,\n", - " \"fCZ_std_err\": 0.019598451429119576,\n", - " \"fISWAP\": 0.9380858079746697,\n", - " \"fISWAP_std_err\": 0.00302266999144198\n", - " },\n", - " \"4-11\": {\n", - " \"fISWAP\": 0.9818165214983766,\n", - " \"fISWAP_std_err\": 0.0028171535523083178\n", - " },\n", - " \"4-5\": {\n", - " \"fISWAP\": 0.9799723111363947,\n", - " \"fISWAP_std_err\": 0.0023228402056086565\n", - " },\n", - " \"40-41\": {\n", - " \"fISWAP\": 0.8810830889606438,\n", - " \"fISWAP_std_err\": 0.04657399521192064\n", - " },\n", - " \"40-47\": {\n", - " \"fISWAP\": 0.9631231044654014,\n", - " \"fISWAP_std_err\": 0.004048391808971318\n", - " },\n", - " \"41-48\": {\n", - " \"fISWAP\": 0.9790577712837368,\n", - " \"fISWAP_std_err\": 0.001782511729009955\n", - " },\n", - " \"42-43\": {\n", - " \"fCZ\": 0.9573836076319032,\n", - " \"fCZ_std_err\": 0.008312305696217399,\n", - " \"fISWAP\": 0.9856361593139336,\n", - " \"fISWAP_std_err\": 0.004423360979212322\n", - " },\n", - " \"42-49\": {\n", - " \"fISWAP\": 0.8912119775523908,\n", - " \"fISWAP_std_err\": 0.014181359136284818\n", - " },\n", - " \"43-44\": {\n", - " \"fCZ\": 0.976542427162598,\n", - " \"fCZ_std_err\": 0.0073970381416081105,\n", - " \"fISWAP\": 0.9651377004532156,\n", - " \"fISWAP_std_err\": 0.003567681556245753\n", - " },\n", - " \"43-50\": {\n", - " \"fCZ\": 0.9461298002947109,\n", - " \"fCZ_std_err\": 0.008430971440763647,\n", - " \"fISWAP\": 0.9766269919766303,\n", - " \"fISWAP_std_err\": 0.0019014707924626996\n", - " },\n", - " \"44-45\": {\n", - " \"fCZ\": 0.9755393457707263,\n", - " \"fCZ_std_err\": 0.003943884052236176,\n", - " \"fISWAP\": 0.9730495165822873,\n", - " \"fISWAP_std_err\": 0.004666122346062878\n", - " },\n", - " \"44-51\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.9579158089888303,\n", - " \"fISWAP_std_err\": 0.00695025451475838\n", - " },\n", - " \"45-46\": {\n", - " \"fCZ\": 0.9020966657305378,\n", - " \"fCZ_std_err\": 0.010842377367803063,\n", - " \"fISWAP\": 0.9839885698033055,\n", - " \"fISWAP_std_err\": 0.004785820142357263\n", - " },\n", - " \"45-52\": {\n", - " \"fCZ\": 0.9725016196879306,\n", - " \"fCZ_std_err\": 0.007004848395879452\n", - " },\n", - " \"46-47\": {\n", - " \"fISWAP\": 0.9768021087796416,\n", - " \"fISWAP_std_err\": 0.0092205674491176\n", - " },\n", - " \"46-53\": {\n", - " \"fCZ\": 0.9451739077282588,\n", - " \"fCZ_std_err\": 0.017124814756913513,\n", - " \"fISWAP\": 0.9757117047730299,\n", - " \"fISWAP_std_err\": 0.008682815084255831\n", - " },\n", - " \"47-48\": {\n", - " \"fISWAP\": 0.9550423464162892,\n", - " \"fISWAP_std_err\": 0.004984347718887333\n", - " },\n", - " \"47-54\": {\n", - " \"fISWAP\": 0.9613622679806231,\n", - " \"fISWAP_std_err\": 0.007458633706902614\n", - " },\n", - " \"48-55\": {\n", - " \"fISWAP\": 0.9627634980192908,\n", - " \"fISWAP_std_err\": 0.008282465401507198\n", - " },\n", - " \"49-56\": {\n", - " \"fISWAP\": 0.9883432051303519,\n", - " \"fISWAP_std_err\": 0.002531660644875566\n", - " },\n", - " \"5-12\": {\n", - " \"fISWAP\": 0.9893583872207398,\n", - " \"fISWAP_std_err\": 0.0014257446945732488\n", - " },\n", - " \"5-6\": {\n", - " \"fISWAP\": 0.9901198194537191,\n", - " \"fISWAP_std_err\": 0.0023940060470740735\n", - " },\n", - " \"50-51\": {\n", - " \"fCZ\": 0.9577213983869439,\n", - " \"fCZ_std_err\": 0.00860739284378715,\n", - " \"fISWAP\": 0.970702338038483,\n", - " \"fISWAP_std_err\": 0.006287196902663408\n", - " },\n", - " \"50-57\": {\n", - " \"fISWAP\": 0.9181143945211716,\n", - " \"fISWAP_std_err\": 0.010709223168729637\n", - " },\n", - " \"51-52\": {\n", - " \"fCZ\": 0.9491564067962153,\n", - " \"fCZ_std_err\": 0.010884026886345,\n", - " \"fISWAP\": 0.9746589779529199,\n", - " \"fISWAP_std_err\": 0.0061848268982777855\n", - " },\n", - " \"51-58\": {\n", - " \"fISWAP\": 0.8403915403637805,\n", - " \"fISWAP_std_err\": 0.012742536208155807\n", - " },\n", - " \"52-53\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0\n", - " },\n", - " \"52-59\": {\n", - " \"fISWAP\": 0.9203207891426108,\n", - " \"fISWAP_std_err\": 0.019828596480304012\n", - " },\n", - " \"53-54\": {\n", - " \"fISWAP\": 0.9674717937208283,\n", - " \"fISWAP_std_err\": 0.0070984952256322245\n", - " },\n", - " \"54-55\": {\n", - " \"fISWAP\": 0.9241017064675299,\n", - " \"fISWAP_std_err\": 0.00579950375625575\n", - " },\n", - " \"54-61\": {\n", - " \"fISWAP\": 0.9844278693209709,\n", - " \"fISWAP_std_err\": 0.002946157403567885\n", - " },\n", - " \"55-62\": {\n", - " \"fISWAP\": 0.9518052675566455,\n", - " \"fISWAP_std_err\": 0.017777481156444015\n", - " },\n", - " \"56-57\": {\n", - " \"fISWAP\": 0.9856449237323003,\n", - " \"fISWAP_std_err\": 0.002348867430248925\n", - " },\n", - " \"56-63\": {\n", - " \"fISWAP\": 0.9360365974523757,\n", - " \"fISWAP_std_err\": 0.007315167371921507\n", - " },\n", - " \"57-58\": {\n", - " \"fISWAP\": 0.9733255282434983,\n", - " \"fISWAP_std_err\": 0.005805794216418861\n", - " },\n", - " \"57-64\": {\n", - " \"fISWAP\": 0.9700771134591953,\n", - " \"fISWAP_std_err\": 0.006807274914590517\n", - " },\n", - " \"58-59\": {\n", - " \"fISWAP\": 0.9720131861793257,\n", - " \"fISWAP_std_err\": 0.004869639197985184\n", - " },\n", - " \"58-65\": {\n", - " \"fISWAP\": 0.9520302367809772,\n", - " \"fISWAP_std_err\": 0.002479609587737865\n", - " },\n", - " \"59-60\": {\n", - " \"fISWAP\": 0.918121625533733,\n", - " \"fISWAP_std_err\": 0.0163296351605996\n", - " },\n", - " \"59-66\": {\n", - " \"fISWAP\": 0.962176761183821,\n", - " \"fISWAP_std_err\": 0.00293839714499654\n", - " },\n", - " \"6-13\": {\n", - " \"fISWAP\": 0.8350661549230961,\n", - " \"fISWAP_std_err\": 0.018642688812400166\n", - " },\n", - " \"61-62\": {\n", - " \"fISWAP\": 0.9605561884323802,\n", - " \"fISWAP_std_err\": 0.006578316080404304\n", - " },\n", - " \"61-68\": {\n", - " \"fISWAP\": 0.9669918432562913,\n", - " \"fISWAP_std_err\": 0.015121182843608215\n", - " },\n", - " \"62-69\": {\n", - " \"fISWAP\": 0.9814606775419943,\n", - " \"fISWAP_std_err\": 0.0036291564038816206\n", - " },\n", - " \"63-64\": {\n", - " \"fISWAP\": 0.9317990152425788,\n", - " \"fISWAP_std_err\": 0.0176307336668283\n", - " },\n", - " \"63-70\": {\n", - " \"fISWAP\": 0.975625564360936,\n", - " \"fISWAP_std_err\": 0.003896686974752096\n", - " },\n", - " \"64-65\": {\n", - " \"fISWAP\": 0.9679627656238718,\n", - " \"fISWAP_std_err\": 0.0063148296587278475\n", - " },\n", - " \"64-71\": {\n", - " \"fISWAP\": 0.9812035287003874,\n", - " \"fISWAP_std_err\": 0.0036838583297461288\n", - " },\n", - " \"65-66\": {\n", - " \"fISWAP\": 0.9561822123332422,\n", - " \"fISWAP_std_err\": 0.013048407432204236\n", - " },\n", - " \"65-72\": {\n", - " \"fISWAP\": 0.9560707484727107,\n", - " \"fISWAP_std_err\": 0.005119745898548705\n", - " },\n", - " \"66-67\": {\n", - " \"fISWAP\": 0.9048855427128404,\n", - " \"fISWAP_std_err\": 0.013224190178390091\n", - " },\n", - " \"67-68\": {\n", - " \"fISWAP\": 0.9735960543140385,\n", - " \"fISWAP_std_err\": 0.0022440091941664407\n", - " },\n", - " \"67-74\": {\n", - " \"fISWAP\": 0.5,\n", - " \"fISWAP_std_err\": 1.0\n", - " },\n", - " \"68-69\": {\n", - " \"fISWAP\": 0.8100065680392248,\n", - " \"fISWAP_std_err\": 0.06160381859949534\n", - " },\n", - " \"68-75\": {\n", - " \"fISWAP\": 0.9771469178058805,\n", - " \"fISWAP_std_err\": 0.0036298556761483374\n", - " },\n", - " \"69-76\": {\n", - " \"fISWAP\": 0.978963039803022,\n", - " \"fISWAP_std_err\": 0.004310528860614046\n", - " },\n", - " \"7-14\": {\n", - " \"fISWAP\": 0.9566739767031378,\n", - " \"fISWAP_std_err\": 0.012848358579714343\n", - " },\n", - " \"7-8\": {\n", - " \"fISWAP\": 0.9462017648325303,\n", - " \"fISWAP_std_err\": 0.020565841789161106\n", - " },\n", - " \"70-71\": {\n", - " \"fISWAP\": 0.9330614359890608,\n", - " \"fISWAP_std_err\": 0.012520387327788164\n", - " },\n", - " \"70-77\": {\n", - " \"fISWAP\": 0.9837859911880815,\n", - " \"fISWAP_std_err\": 0.0029161913777237193\n", - " },\n", - " \"71-72\": {\n", - " \"fISWAP\": 0.984763755465565,\n", - " \"fISWAP_std_err\": 0.002610649297196644\n", - " },\n", - " \"71-78\": {\n", - " \"fISWAP\": 0.9653037924768116,\n", - " \"fISWAP_std_err\": 0.005032380504562097\n", - " },\n", - " \"72-73\": {\n", - " \"fISWAP\": 0.9732560996989097,\n", - " \"fISWAP_std_err\": 0.002990176011335505\n", - " },\n", - " \"72-79\": {\n", - " \"fISWAP\": 0.9805028887008518,\n", - " \"fISWAP_std_err\": 0.0062179564542838486\n", - " },\n", - " \"73-74\": {\n", - " \"fISWAP\": 0.99312484820244,\n", - " \"fISWAP_std_err\": 0.0026141000472861115\n", - " },\n", - " \"73-80\": {\n", - " \"fISWAP\": 0.9860014674970105,\n", - " \"fISWAP_std_err\": 0.0021649690118058468\n", - " },\n", - " \"74-75\": {\n", - " \"fISWAP\": 0.9476395264300612,\n", - " \"fISWAP_std_err\": 0.0038919330556492614\n", - " },\n", - " \"74-81\": {\n", - " \"fISWAP\": 0.989010587659255,\n", - " \"fISWAP_std_err\": 0.003530918345271284\n", - " },\n", - " \"75-76\": {\n", - " \"fISWAP\": 0.9930268416475938,\n", - " \"fISWAP_std_err\": 0.002047839750711906\n", - " },\n", - " \"75-82\": {\n", - " \"fISWAP\": 0.975003261919278,\n", - " \"fISWAP_std_err\": 0.0033278095773716203\n", - " },\n", - " \"76-83\": {\n", - " \"fISWAP\": 0.978975407953992,\n", - " \"fISWAP_std_err\": 0.004240495156991981\n", - " },\n", - " \"77-78\": {\n", - " \"fISWAP\": 0.9466536450196962,\n", - " \"fISWAP_std_err\": 0.006045840719028088\n", - " },\n", - " \"78-79\": {\n", - " \"fISWAP\": 0.9151932765694304,\n", - " \"fISWAP_std_err\": 0.01246194931606675\n", - " },\n", - " \"79-80\": {\n", - " \"fISWAP\": 0.9608392414159426,\n", - " \"fISWAP_std_err\": 0.008322314755361252\n", - " },\n", - " \"8-15\": {\n", - " \"fISWAP\": 0.9555008835352836,\n", - " \"fISWAP_std_err\": 0.005294697346314612\n", - " },\n", - " \"8-9\": {\n", - " \"fISWAP\": 0.9853092684673772,\n", - " \"fISWAP_std_err\": 0.0029406075385905754\n", - " },\n", - " \"80-81\": {\n", - " \"fISWAP\": 0.9786280670433216,\n", - " \"fISWAP_std_err\": 0.0037847640547627997\n", - " },\n", - " \"81-82\": {\n", - " \"fISWAP\": 0.9847373102108626,\n", - " \"fISWAP_std_err\": 0.005616898527090091\n", - " },\n", - " \"82-83\": {\n", - " \"fISWAP\": 0.9476158528124492,\n", - " \"fISWAP_std_err\": 0.011421722288560053\n", - " },\n", - " \"9-10\": {\n", - " \"fISWAP\": 0.9778464831306,\n", - " \"fISWAP_std_err\": 0.0016229102326154002\n", - " },\n", - " \"9-16\": {\n", - " \"fISWAP\": 0.9241311731108792,\n", - " \"fISWAP_std_err\": 0.007007555394104928\n", - " }\n", - " }\n", - "}\n" - ] - } - ], - "source": [ - "# the IonQ device\n", - "device = AwsDevice(Devices.IonQ.Aria1)\n", - "\n", - "# IQM\n", - "device = AwsDevice(Devices.IQM.Garnet)\n", - "\n", - "# the Rigetti device\n", - "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "\n", - "execution_windows = device.properties.service.executionWindows\n", - "connectivity_graph = device.properties.paradigm.connectivity\n", - "calibration = device.properties.provider.specs\n", - "\n", - "print(f'The availability windows for {device.name}:\\n{execution_windows}\\n')\n", - "print(f'The connectivity graph of the qubits for this device:\\n {connectivity_graph}\\n')\n", - "print('Calibration data:\\n', json.dumps(calibration,sort_keys=True,indent=2))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Each device has more properties to explore. To learn more, view the [Amazon Braket schemas documentation](https://amazon-braket-schemas-python.readthedocs.io/en/latest/_apidoc/braket.device_schema.html)." - ] - } - ], - "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.10.10" - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Getting Devices and Checking Device Properties\n", + "\n", + "This tutorial demonstrates how to use the `get_devices()` method to search and instantiate devices available on Amazon Braket. It also shows how to obtain access to properties for simulator and QPU devices." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:22.928626Z", + "start_time": "2023-08-29T21:51:20.846031Z" + } + }, + "outputs": [], + "source": [ + "# general imports\n", + "import json\n", + "\n", + "from braket.aws import AwsDevice\n", + "from braket.devices import Devices, LocalSimulator" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using get_devices\n", + "You can get a device, including the on-demand simulators and the QPUs, by calling the `get_devices()` method. Search for devices with one or more of the following filtering criteria:\n", + "* device arn \n", + "* name \n", + "* type \n", + "* status \n", + "* provider_name. \n", + "\n", + "The following cells give examples for each of the cases." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by type" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:23.791309Z", + "start_time": "2023-08-29T21:51:22.939296Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", + " Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", + " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1)]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# to get the on-demand simulators\n", + "AwsDevice.get_devices(types=[\"SIMULATOR\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", + " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", + " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", + " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet)]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# to get the list of QPUs\n", + "AwsDevice.get_devices(types=[\"QPU\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by ARN\n", + "For every type of device available in Amazon Braket, you can find the associated ARN in the Amazon Braket [Developer Guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html). You also can view the device ARN on the `Devices` section in the Amazon Braket console." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:40.189738Z", + "start_time": "2023-08-29T21:51:38.108942Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1)]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for example, the following ARN refers to the IonQ device.\n", + "AwsDevice.get_devices(arns=[\"arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by name" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:44.199001Z", + "start_time": "2023-08-29T21:51:40.203505Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2)]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for example, the following name refers to a Rigetti Ankaa system.\n", + "AwsDevice.get_devices(names=[\"Ankaa-2\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by status" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:49.133297Z", + "start_time": "2023-08-29T21:51:44.215934Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", + " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", + " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", + " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet),\n", + " Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", + " Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", + " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1)]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# retrieve all devices that are currently online\n", + "AwsDevice.get_devices(statuses=[\"ONLINE\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:52.891651Z", + "start_time": "2023-08-29T21:51:49.147757Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2)]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# retrieve all devices that are currently offline\n", + "AwsDevice.get_devices(statuses=[\"OFFLINE\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by provider_name" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:56.454044Z", + "start_time": "2023-08-29T21:51:52.891938Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1)]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for example, the following ARN retrieves the IonQ device.\n", + "AwsDevice.get_devices(provider_names=[\"IonQ\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Retrieve devices in order" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:10.758716Z", + "start_time": "2023-08-29T21:51:56.382501Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", + " Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", + " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1),\n", + " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet),\n", + " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", + " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", + " Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2)]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# retrieve the list of devices, ordered by provider name\n", + "AwsDevice.get_devices(order_by=\"provider_name\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device with multiple criteria" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:15.233392Z", + "start_time": "2023-08-29T21:52:10.769127Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", + " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", + " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", + " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet)]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# multiple criteria can be applied\n", + "AwsDevice.get_devices(types=[\"QPU\"], statuses=[\"ONLINE\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting a device directly\n", + "You can specify a device directly, with the device ARN. These ARNs can be specified from each device's entry in the `Devices` enum:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:17.486681Z", + "start_time": "2023-08-29T21:52:15.244209Z" + } + }, + "outputs": [], + "source": [ + "# specify a device directly by device ARN\n", + "# Rigetti\n", + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "# IonQ\n", + "device = AwsDevice(Devices.IonQ.Aria1)\n", + "# IQM\n", + "device = AwsDevice(Devices.IQM.Garnet)\n", + "# the on-demand simulator SV1\n", + "device = AwsDevice(Devices.Amazon.SV1)\n", + "# the on-demand simulator TN1\n", + "device = AwsDevice(Devices.Amazon.TN1)\n", + "# the local simulator\n", + "device = LocalSimulator()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Properties of devices\n", + "\n", + "You can check properties of a device with the `device.properties` call. The following examples show some useful properties of each device." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:17.759631Z", + "start_time": "2023-08-29T21:52:17.502344Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The supported operations of SV1 are ['ccnot', 'cnot', 'cphaseshift', 'cphaseshift00', 'cphaseshift01', 'cphaseshift10', 'cswap', 'cy', 'cz', 'ecr', 'h', 'i', 'iswap', 'pswap', 'phaseshift', 'rx', 'ry', 'rz', 's', 'si', 'swap', 't', 'ti', 'unitary', 'v', 'vi', 'x', 'xx', 'xy', 'y', 'yy', 'z', 'zz']\n", + "\n", + "The supported result types are [ResultType(name='Sample', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=1, maxShots=100000), ResultType(name='Expectation', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=0, maxShots=100000), ResultType(name='Variance', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=0, maxShots=100000), ResultType(name='Probability', observables=None, minShots=1, maxShots=100000), ResultType(name='Amplitude', observables=None, minShots=0, maxShots=0)]\n", + "\n", + "The maximum number of qubits supported by this device is 34\n", + "The shots range of this device is (0, 100000)\n", + "The price of running quantum tasks on this device: price=0.075 unit='minute'\n" + ] + } + ], + "source": [ + "# the on-demand simulator SV1\n", + "device = AwsDevice(Devices.Amazon.SV1)\n", + "\n", + "support_gates = device.properties.action[\"braket.ir.jaqcd.program\"].supportedOperations\n", + "support_result_types = device.properties.action[\"braket.ir.jaqcd.program\"].supportedResultTypes\n", + "qubit_count = device.properties.paradigm.qubitCount\n", + "shots_range = device.properties.service.shotsRange\n", + "device_cost = device.properties.service.deviceCost\n", + "\n", + "print(f\"The supported operations of {device.name} are {support_gates}\\n\")\n", + "print(f\"The supported result types are {support_result_types}\\n\")\n", + "print(\"The maximum number of qubits supported by this device is\", qubit_count)\n", + "print(\"The shots range of this device is\", shots_range)\n", + "print(\"The price of running quantum tasks on this device:\", device_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the IonQ and Rigetti devices, you can get information about the properties shown previously. You also can get information about the availability windows and the device calibration data." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:19.588547Z", + "start_time": "2023-08-29T21:52:17.773910Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The availability windows for Ankaa-2:\n", + "[DeviceExecutionWindow(executionDay=, windowStartHour=datetime.time(0, 0), windowEndHour=datetime.time(23, 59))]\n", + "\n", + "The connectivity graph of the qubits for this device:\n", + " fullyConnected=False connectivityGraph={'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n", + "\n", + "Calibration data:\n", + " {\n", + " \"1Q\": {\n", + " \"0\": {\n", + " \"T1\": 9.188738589920766e-06,\n", + " \"T2\": 1.5115358086466058e-05,\n", + " \"f1QRB\": 0.9989751997430271,\n", + " \"f1QRB_std_err\": 2.0679831486331732e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9977906923503519,\n", + " \"f1Q_simultaneous_RB_std_err\": 5.022804153387717e-05,\n", + " \"fRO\": 0.9279999999999999\n", + " },\n", + " \"1\": {\n", + " \"T1\": 1.1424822873905215e-05,\n", + " \"T2\": 7.81925508978389e-06,\n", + " \"f1QRB\": 0.9986392103526047,\n", + " \"f1QRB_std_err\": 2.5837382143438492e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9953277301386305,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00042743732391299096,\n", + " \"fRO\": 0.945\n", + " },\n", + " \"10\": {\n", + " \"T1\": 1.4397388097206513e-05,\n", + " \"T2\": 1.339262710713176e-05,\n", + " \"f1QRB\": 0.9983666919759847,\n", + " \"f1QRB_std_err\": 0.0002540204792082052,\n", + " \"f1Q_simultaneous_RB\": 0.9949091215921125,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0008697771710166471,\n", + " \"fRO\": 0.921\n", + " },\n", + " \"11\": {\n", + " \"T1\": 1.3586183291642084e-05,\n", + " \"T2\": 8.375930706648994e-06,\n", + " \"f1QRB\": 0.9987291309192002,\n", + " \"f1QRB_std_err\": 3.472614079514786e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9729235723436281,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.002137921614257448,\n", + " \"fRO\": 0.8560000000000001\n", + " },\n", + " \"12\": {\n", + " \"T1\": 1.4839379784194732e-05,\n", + " \"T2\": 1.818202231054693e-05,\n", + " \"f1QRB\": 0.998776996620199,\n", + " \"f1QRB_std_err\": 4.4974028122863406e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9979066727008618,\n", + " \"f1Q_simultaneous_RB_std_err\": 5.178760285397647e-05,\n", + " \"fRO\": 0.975\n", + " },\n", + " \"13\": {\n", + " \"T1\": 1.5012868688046168e-05,\n", + " \"T2\": 6.238808590084043e-06,\n", + " \"f1QRB\": 0.997924906562737,\n", + " \"f1QRB_std_err\": 9.068247000218935e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9960819770811921,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00020470342371224092,\n", + " \"fRO\": 0.9319999999999999\n", + " },\n", + " \"14\": {\n", + " \"T1\": 9.241177624502927e-06,\n", + " \"T2\": 1.2479145836656001e-05,\n", + " \"f1QRB\": 0.9989037419145974,\n", + " \"f1QRB_std_err\": 7.483443152934302e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9899718004895154,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0004595459103652275,\n", + " \"fRO\": 0.9410000000000001\n", + " },\n", + " \"15\": {\n", + " \"T1\": 1.3607903689853045e-05,\n", + " \"T2\": 1.2713607419342696e-05,\n", + " \"f1QRB\": 0.9983943409536015,\n", + " \"f1QRB_std_err\": 4.027027495615709e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9929483241808174,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00023770765814441926,\n", + " \"fRO\": 0.945\n", + " },\n", + " \"16\": {\n", + " \"T1\": 1.88513673725692e-05,\n", + " \"T2\": 4.7270850455358685e-06,\n", + " \"f1QRB\": 0.9987853652052536,\n", + " \"f1QRB_std_err\": 3.375389696164912e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9833505453505913,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0009000282675945473,\n", + " \"fRO\": 0.845\n", + " },\n", + " \"17\": {\n", + " \"T1\": 6.727376139504448e-06,\n", + " \"T2\": 1.3290167565629393e-05,\n", + " \"f1QRB\": 0.9988148862501292,\n", + " \"f1QRB_std_err\": 4.965553483148904e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9971513895552646,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00011975972016416049,\n", + " \"fRO\": 0.871\n", + " },\n", + " \"18\": {\n", + " \"T1\": 1.3370961985133656e-05,\n", + " \"T2\": 1.4781911797622444e-05,\n", + " \"f1QRB\": 0.9988395481906874,\n", + " \"f1QRB_std_err\": 3.334202920860159e-05,\n", + " \"f1Q_simultaneous_RB\": 0.991212188518014,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0005735243624384439,\n", + " \"fRO\": 0.9450000000000001\n", + " },\n", + " \"19\": {\n", + " \"T1\": 1.3694445091389104e-05,\n", + " \"T2\": 1.8948746412036046e-05,\n", + " \"f1QRB\": 0.9989032737033892,\n", + " \"f1QRB_std_err\": 2.1809754472271395e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9377408142450181,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.022945728139192902,\n", + " \"fRO\": 0.86\n", + " },\n", + " \"2\": {\n", + " \"T1\": 1.2858591189370053e-05,\n", + " \"T2\": 1.6878980942888143e-05,\n", + " \"f1QRB\": 0.9984345619163735,\n", + " \"f1QRB_std_err\": 9.08541980198589e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9894961138887621,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0010389843019420724,\n", + " \"fRO\": 0.9079999999999999\n", + " },\n", + " \"20\": {\n", + " \"T1\": 1.4033755270253051e-05,\n", + " \"T2\": 2.417434951047098e-05,\n", + " \"f1QRB\": 0.9984097828044537,\n", + " \"f1QRB_std_err\": 0.0001003650197355637,\n", + " \"f1Q_simultaneous_RB\": 0.9972607664140928,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002625968643302963,\n", + " \"fRO\": 0.956\n", + " },\n", + " \"21\": {\n", + " \"T1\": 1.2585205427234064e-05,\n", + " \"T2\": 2.092706172954416e-05,\n", + " \"f1QRB\": 0.9987920931253695,\n", + " \"f1QRB_std_err\": 2.75729899097585e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9972438852563055,\n", + " \"f1Q_simultaneous_RB_std_err\": 4.7833914374202874e-05,\n", + " \"fRO\": 0.964\n", + " },\n", + " \"22\": {\n", + " \"T1\": 1.3156398816510328e-05,\n", + " \"T2\": 9.055428316830254e-06,\n", + " \"f1QRB\": 0.9987088311152464,\n", + " \"f1QRB_std_err\": 2.9284210923276044e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9882440316368954,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00217791143691248,\n", + " \"fRO\": 0.926\n", + " },\n", + " \"23\": {\n", + " \"T1\": 1.2842440379946409e-05,\n", + " \"T2\": 8.215052109680317e-06,\n", + " \"f1QRB\": 0.9974901751854006,\n", + " \"f1QRB_std_err\": 0.0001631397379850662,\n", + " \"f1Q_simultaneous_RB\": 0.9865011235636009,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0010189758801580672,\n", + " \"fRO\": 0.956\n", + " },\n", + " \"24\": {\n", + " \"T1\": 1.9346009082358398e-05,\n", + " \"T2\": 1.1937386114398276e-05,\n", + " \"f1QRB\": 0.9983253042496835,\n", + " \"f1QRB_std_err\": 8.067632036104494e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9950712793653935,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002141642699176358,\n", + " \"fRO\": 0.979\n", + " },\n", + " \"25\": {\n", + " \"T1\": 1.1785048788788791e-05,\n", + " \"T2\": 1.4754448154974761e-05,\n", + " \"f1QRB\": 0.9979269962576733,\n", + " \"f1QRB_std_err\": 6.060664140314965e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9940890082252032,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0007016219504682814,\n", + " \"fRO\": 0.966\n", + " },\n", + " \"26\": {\n", + " \"T1\": 1.9757994068998704e-05,\n", + " \"T2\": 1.1786900530053712e-05,\n", + " \"f1QRB\": 0.9988929815534089,\n", + " \"f1QRB_std_err\": 2.8473648925082652e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9892190315759715,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0018571214358147484,\n", + " \"fRO\": 0.97\n", + " },\n", + " \"27\": {\n", + " \"T1\": 1.0772657302764382e-05,\n", + " \"T2\": 9.225720435722181e-06,\n", + " \"f1QRB\": 0.9982554695288404,\n", + " \"f1QRB_std_err\": 4.91454475921194e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9959353976666019,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00016001458516624184,\n", + " \"fRO\": 0.9139999999999999\n", + " },\n", + " \"28\": {\n", + " \"T1\": 9.981191636291515e-06,\n", + " \"T2\": 5.688781747165514e-06,\n", + " \"f1QRB\": 0.9983841943846401,\n", + " \"f1QRB_std_err\": 3.876665371947724e-05,\n", + " \"f1Q_simultaneous_RB\": 0.995992435403062,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00028985280637909165,\n", + " \"fRO\": 0.9410000000000001\n", + " },\n", + " \"29\": {\n", + " \"T1\": 1.1204638867006936e-05,\n", + " \"T2\": 1.652115287314364e-05,\n", + " \"f1QRB\": 0.9988150922713561,\n", + " \"f1QRB_std_err\": 8.275662897495279e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9952130715828645,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00034718794705519267,\n", + " \"fRO\": 0.925\n", + " },\n", + " \"3\": {\n", + " \"T1\": 1.8719464515731677e-05,\n", + " \"T2\": 1.4586748354157626e-05,\n", + " \"f1QRB\": 0.9989002998216094,\n", + " \"f1QRB_std_err\": 4.057304777251857e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9971535609092096,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002838481061337756,\n", + " \"fRO\": 0.9239999999999999\n", + " },\n", + " \"30\": {\n", + " \"T1\": 1.244220399426232e-05,\n", + " \"T2\": 6.309696990610663e-06,\n", + " \"f1QRB\": 0.9984319024200233,\n", + " \"f1QRB_std_err\": 2.951110700225705e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9919021348796022,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0006326939371417978,\n", + " \"fRO\": 0.971\n", + " },\n", + " \"31\": {\n", + " \"T1\": 1.3062804950546854e-05,\n", + " \"T2\": 1.400102486517304e-05,\n", + " \"f1QRB\": 0.998674284285232,\n", + " \"f1QRB_std_err\": 4.043660607731187e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9916620995172601,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002275290208907156,\n", + " \"fRO\": 0.948\n", + " },\n", + " \"32\": {\n", + " \"T1\": 1.4563700515623286e-05,\n", + " \"T2\": 1.3020747686044575e-05,\n", + " \"f1QRB\": 0.9987025319481753,\n", + " \"f1QRB_std_err\": 4.946986179999276e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9964784937971644,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00014781010102640516,\n", + " \"fRO\": 0.959\n", + " },\n", + " \"33\": {\n", + " \"T1\": 9.642732018105618e-06,\n", + " \"T2\": 1.3634615127933523e-05,\n", + " \"f1QRB\": 0.9980203558684193,\n", + " \"f1QRB_std_err\": 2.9295348076164842e-05,\n", + " \"f1Q_simultaneous_RB\": 0.983196638552863,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.002055539485119557,\n", + " \"fRO\": 0.918\n", + " },\n", + " \"34\": {\n", + " \"T1\": 1.713988970837948e-05,\n", + " \"T2\": 2.198751603734416e-05,\n", + " \"f1QRB\": 0.9990015818488835,\n", + " \"f1QRB_std_err\": 3.0424905769125453e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9813599244580338,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.004669744757842596,\n", + " \"fRO\": 0.968\n", + " },\n", + " \"35\": {\n", + " \"T1\": 1.4643912131398986e-05,\n", + " \"T2\": 3.1995577640178207e-06,\n", + " \"f1QRB\": 0.9981762911688464,\n", + " \"f1QRB_std_err\": 6.418526794908951e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9900369543687392,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0005557840471862918,\n", + " \"fRO\": 0.94\n", + " },\n", + " \"36\": {\n", + " \"T1\": 1.1051624768642374e-05,\n", + " \"T2\": 1.400670235227901e-05,\n", + " \"f1QRB\": 0.9983832731371838,\n", + " \"f1QRB_std_err\": 4.427599186346774e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9923702291289735,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.000734496046659809,\n", + " \"fRO\": 0.925\n", + " },\n", + " \"37\": {\n", + " \"T1\": 9.952535549320594e-06,\n", + " \"T2\": 9.089917827707173e-06,\n", + " \"f1QRB\": 0.9982104621121981,\n", + " \"f1QRB_std_err\": 5.9621009368908024e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9928609905289468,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002770065858464925,\n", + " \"fRO\": 0.97\n", + " },\n", + " \"38\": {\n", + " \"T1\": 1.4542547472158691e-05,\n", + " \"T2\": 4.9119555657954954e-06,\n", + " \"f1QRB\": 0.9983391239777049,\n", + " \"f1QRB_std_err\": 5.5489399743889144e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9927274464426054,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00034490346748517424,\n", + " \"fRO\": 0.94\n", + " },\n", + " \"39\": {\n", + " \"T1\": 1.5813082724142702e-06,\n", + " \"f1QRB\": 0.9837979672096584,\n", + " \"f1QRB_std_err\": 0.0015886479371489913,\n", + " \"f1Q_simultaneous_RB\": 0.9800825196376993,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0019705352672016725,\n", + " \"fRO\": 0.948\n", + " },\n", + " \"4\": {\n", + " \"T1\": 1.221600720686062e-05,\n", + " \"T2\": 5.032176434386599e-06,\n", + " \"f1QRB\": 0.9981697192213356,\n", + " \"f1QRB_std_err\": 5.148091906526168e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9955769056038452,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002443674943745968,\n", + " \"fRO\": 0.85\n", + " },\n", + " \"40\": {\n", + " \"T1\": 1.3836774470224874e-05,\n", + " \"T2\": 8.820018932957046e-06,\n", + " \"f1QRB\": 0.9985359309310786,\n", + " \"f1QRB_std_err\": 0.00010011566667630272,\n", + " \"f1Q_simultaneous_RB\": 0.991993880228863,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0011854776333122688,\n", + " \"fRO\": 0.868\n", + " },\n", + " \"41\": {\n", + " \"T1\": 1.2013952104481512e-05,\n", + " \"T2\": 1.9147440617148604e-05,\n", + " \"f1QRB\": 0.9988626781522412,\n", + " \"f1QRB_std_err\": 3.519955021416773e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9976416856190857,\n", + " \"f1Q_simultaneous_RB_std_err\": 7.139971507238868e-05,\n", + " \"fRO\": 0.98\n", + " },\n", + " \"42\": {\n", + " \"T1\": 1.1897315657421982e-05,\n", + " \"T2\": 6.433810612334841e-06,\n", + " \"f1QRB\": 0.9987401398855629,\n", + " \"f1QRB_std_err\": 2.4842910954783737e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9886404187567864,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.000865545671861028,\n", + " \"fRO\": 0.9199999999999999\n", + " },\n", + " \"43\": {\n", + " \"T1\": 1.175387778291488e-05,\n", + " \"T2\": 1.802576931646561e-05,\n", + " \"f1QRB\": 0.998980656920372,\n", + " \"f1QRB_std_err\": 3.047618557903109e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9966245346548614,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00012825235793464645,\n", + " \"fRO\": 0.897\n", + " },\n", + " \"44\": {\n", + " \"T1\": 1.1317533527705256e-05,\n", + " \"T2\": 7.025124023453061e-06,\n", + " \"f1QRB\": 0.9984936994107011,\n", + " \"f1QRB_std_err\": 1.9566171677975698e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9895156725495968,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0013520876714959414,\n", + " \"fRO\": 0.9430000000000001\n", + " },\n", + " \"45\": {\n", + " \"T1\": 1.3916136806546354e-05,\n", + " \"T2\": 8.54200445611926e-06,\n", + " \"f1QRB\": 0.9981938832438657,\n", + " \"f1QRB_std_err\": 7.720752371573168e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9951756210242256,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0001656578200493323,\n", + " \"fRO\": 0.883\n", + " },\n", + " \"46\": {\n", + " \"T1\": 1.6800993490267442e-05,\n", + " \"T2\": 1.390596693008661e-05,\n", + " \"f1QRB\": 0.9989904172217673,\n", + " \"f1QRB_std_err\": 0.00020792543430694119,\n", + " \"f1Q_simultaneous_RB\": 0.9740486054627526,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.003949225214890666,\n", + " \"fRO\": 0.935\n", + " },\n", + " \"47\": {\n", + " \"T1\": 2.308141076017859e-05,\n", + " \"T2\": 1.2889928165515491e-05,\n", + " \"f1QRB\": 0.9989701426764845,\n", + " \"f1QRB_std_err\": 3.549452729438895e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9936809932934392,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0005194840701065176,\n", + " \"fRO\": 0.966\n", + " },\n", + " \"48\": {\n", + " \"T1\": 2.4482424062851024e-05,\n", + " \"T2\": 1.968317056642545e-05,\n", + " \"f1QRB\": 0.998901164295319,\n", + " \"f1QRB_std_err\": 1.8909296638901778e-05,\n", + " \"f1Q_simultaneous_RB\": 0.997621217085471,\n", + " \"f1Q_simultaneous_RB_std_err\": 7.677949592921175e-05,\n", + " \"fRO\": 0.968\n", + " },\n", + " \"49\": {\n", + " \"T1\": 1.0015289971656016e-05,\n", + " \"T2\": 1.7014007307228258e-05,\n", + " \"f1QRB\": 0.9984258277322864,\n", + " \"f1QRB_std_err\": 5.47736816118378e-05,\n", + " \"f1Q_simultaneous_RB\": 0.995728017290028,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00015382936372201333,\n", + " \"fRO\": 0.908\n", + " },\n", + " \"5\": {\n", + " \"T1\": 1.3004498440941119e-05,\n", + " \"T2\": 1.6383805633386163e-05,\n", + " \"f1QRB\": 0.9986470862124049,\n", + " \"f1QRB_std_err\": 3.652268864366153e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9929592980797504,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00040364203755640396,\n", + " \"fRO\": 0.973\n", + " },\n", + " \"50\": {\n", + " \"T1\": 1.3464075894863434e-05,\n", + " \"T2\": 5.574754214725209e-06,\n", + " \"f1QRB\": 0.998431790229616,\n", + " \"f1QRB_std_err\": 6.748661568443685e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9959289209104987,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00014670291611745554,\n", + " \"fRO\": 0.9410000000000001\n", + " },\n", + " \"51\": {\n", + " \"T1\": 6.707631008093091e-06,\n", + " \"T2\": 1.558251977239244e-05,\n", + " \"f1QRB\": 0.9988574376159899,\n", + " \"f1QRB_std_err\": 2.2201834762021872e-05,\n", + " \"f1Q_simultaneous_RB\": 0.996977835871332,\n", + " \"f1Q_simultaneous_RB_std_err\": 5.7777036449914484e-05,\n", + " \"fRO\": 0.974\n", + " },\n", + " \"52\": {\n", + " \"T1\": 1.0876444082164132e-05,\n", + " \"T2\": 8.302581019140548e-06,\n", + " \"f1QRB\": 0.99839829160568,\n", + " \"f1QRB_std_err\": 3.717861285133706e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9933032810947588,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.000529988652814212,\n", + " \"fRO\": 0.959\n", + " },\n", + " \"53\": {\n", + " \"T1\": 1.3108836298338454e-05,\n", + " \"T2\": 1.0337667528829016e-05,\n", + " \"f1QRB\": 0.9984238159933861,\n", + " \"f1QRB_std_err\": 5.2899593808349486e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9954968598641998,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0003350853484652073,\n", + " \"fRO\": 0.9179999999999999\n", + " },\n", + " \"54\": {\n", + " \"T1\": 1.2661827615430663e-05,\n", + " \"T2\": 1.4628180000985567e-05,\n", + " \"f1QRB\": 0.9984776311382394,\n", + " \"f1QRB_std_err\": 4.138291986479403e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9897788402240421,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0015090359441196236,\n", + " \"fRO\": 0.944\n", + " },\n", + " \"55\": {\n", + " \"T1\": 6.350408716879262e-06,\n", + " \"T2\": 5.401443542130627e-06,\n", + " \"f1QRB\": 0.9976392604241605,\n", + " \"f1QRB_std_err\": 4.848970175188756e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9953757916042162,\n", + " \"f1Q_simultaneous_RB_std_err\": 4.183999712958921e-05,\n", + " \"fRO\": 0.98\n", + " },\n", + " \"56\": {\n", + " \"T1\": 2.067563472320421e-05,\n", + " \"T2\": 1.0673230508596336e-05,\n", + " \"f1QRB\": 0.9971488473112687,\n", + " \"f1QRB_std_err\": 0.00015874611974747805,\n", + " \"f1Q_simultaneous_RB\": 0.9936475546766723,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00019979052355938962,\n", + " \"fRO\": 0.9339999999999999\n", + " },\n", + " \"57\": {\n", + " \"T1\": 1.3158675098459701e-05,\n", + " \"T2\": 1.737248082358324e-05,\n", + " \"f1QRB\": 0.9980657064974754,\n", + " \"f1QRB_std_err\": 4.2934019506785746e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9816962799151328,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0014092574130662233,\n", + " \"fRO\": 0.9099999999999999\n", + " },\n", + " \"58\": {\n", + " \"T1\": 2.877245453838103e-05,\n", + " \"T2\": 1.7015583307912096e-05,\n", + " \"f1QRB\": 0.9986684576929438,\n", + " \"f1QRB_std_err\": 3.1730303092790445e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9975652149478694,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00032303779596305114,\n", + " \"fRO\": 0.946\n", + " },\n", + " \"59\": {\n", + " \"T1\": 1.160848612530693e-05,\n", + " \"T2\": 5.767198803832716e-06,\n", + " \"f1QRB\": 0.998377983141542,\n", + " \"f1QRB_std_err\": 4.5643609775957636e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9676348487178844,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.004328527980352748,\n", + " \"fRO\": 0.873\n", + " },\n", + " \"6\": {\n", + " \"T1\": 1.8239370061508387e-05,\n", + " \"T2\": 5.5417359798717045e-06,\n", + " \"f1QRB\": 0.9979075823351948,\n", + " \"f1QRB_std_err\": 0.00015227406343373901,\n", + " \"f1Q_simultaneous_RB\": 0.9974405105945053,\n", + " \"f1Q_simultaneous_RB_std_err\": 6.156481629598492e-05,\n", + " \"fRO\": 0.963\n", + " },\n", + " \"60\": {\n", + " \"T1\": 8.927064763984261e-06,\n", + " \"T2\": 9.50878568524798e-06,\n", + " \"f1QRB\": 0.9979692265193538,\n", + " \"f1QRB_std_err\": 7.168583097486353e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9851982972890478,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0008258052575669145,\n", + " \"fRO\": 0.969\n", + " },\n", + " \"61\": {\n", + " \"T1\": 1.2053050762532225e-05,\n", + " \"T2\": 1.0969753526041124e-05,\n", + " \"f1QRB\": 0.9984267839080629,\n", + " \"f1QRB_std_err\": 4.9647881711067385e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9755784741860619,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.005164330252092108,\n", + " \"fRO\": 0.881\n", + " },\n", + " \"62\": {\n", + " \"T1\": 1.7808351268249727e-05,\n", + " \"T2\": 2.0935454437796016e-05,\n", + " \"f1QRB\": 0.9988293622267578,\n", + " \"f1QRB_std_err\": 3.1724238532503364e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9952212272657633,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0001335378001105945,\n", + " \"fRO\": 0.944\n", + " },\n", + " \"63\": {\n", + " \"T1\": 1.9533544910252338e-05,\n", + " \"T2\": 8.225690384500153e-06,\n", + " \"f1QRB\": 0.9990818104537923,\n", + " \"f1QRB_std_err\": 2.591163591836797e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9976971801778179,\n", + " \"f1Q_simultaneous_RB_std_err\": 6.06654368005454e-05,\n", + " \"fRO\": 0.965\n", + " },\n", + " \"64\": {\n", + " \"T1\": 5.3259203473510294e-06,\n", + " \"T2\": 8.466173528335672e-06,\n", + " \"f1QRB\": 0.9984190186400348,\n", + " \"f1QRB_std_err\": 6.448407276294968e-05,\n", + " \"f1Q_simultaneous_RB\": 0.993011458055223,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0003924719541656447,\n", + " \"fRO\": 0.967\n", + " },\n", + " \"65\": {\n", + " \"T1\": 1.6258689130380103e-05,\n", + " \"T2\": 2.13610227524408e-05,\n", + " \"f1QRB\": 0.9989444357536232,\n", + " \"f1QRB_std_err\": 3.225989961221664e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9915636857510693,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0009472909244109095,\n", + " \"fRO\": 0.957\n", + " },\n", + " \"66\": {\n", + " \"T1\": 9.392627467562096e-06,\n", + " \"T2\": 8.92037605247448e-06,\n", + " \"f1QRB\": 0.9971650906144066,\n", + " \"f1QRB_std_err\": 0.0002669885055081551,\n", + " \"f1Q_simultaneous_RB\": 0.9632084176103134,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.004999298462372134,\n", + " \"fRO\": 0.786\n", + " },\n", + " \"67\": {\n", + " \"T1\": 1.0798303446079845e-05,\n", + " \"T2\": 1.442063080948124e-05,\n", + " \"f1QRB\": 0.9973961036972676,\n", + " \"f1QRB_std_err\": 0.00015345056365693833,\n", + " \"f1Q_simultaneous_RB\": 0.9807334968408162,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.002467546876349839,\n", + " \"fRO\": 0.871\n", + " },\n", + " \"68\": {\n", + " \"T1\": 1.528570986098691e-05,\n", + " \"T2\": 1.8660128795817277e-05,\n", + " \"f1QRB\": 0.9986868558246939,\n", + " \"f1QRB_std_err\": 5.381485644969931e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9757941434467859,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.006272810344326621,\n", + " \"fRO\": 0.9470000000000001\n", + " },\n", + " \"69\": {\n", + " \"T1\": 1.1718733631190332e-05,\n", + " \"T2\": 1.2067305674627332e-05,\n", + " \"f1QRB\": 0.9983299165088875,\n", + " \"f1QRB_std_err\": 4.875324178348875e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9959091496878513,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00016641915211360384,\n", + " \"fRO\": 0.9570000000000001\n", + " },\n", + " \"7\": {\n", + " \"T1\": 1.2203293820996904e-05,\n", + " \"T2\": 1.1632142317843116e-05,\n", + " \"f1QRB\": 0.998594898155075,\n", + " \"f1QRB_std_err\": 4.437384879873306e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9920859423780137,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0001805274048861091,\n", + " \"fRO\": 0.8979999999999999\n", + " },\n", + " \"70\": {\n", + " \"T1\": 1.23265203941526e-05,\n", + " \"T2\": 1.4719675933248264e-05,\n", + " \"f1QRB\": 0.9957792734843232,\n", + " \"f1QRB_std_err\": 0.00011750342197300224,\n", + " \"f1Q_simultaneous_RB\": 0.9970195422483246,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00016257128630305394,\n", + " \"fRO\": 0.976\n", + " },\n", + " \"71\": {\n", + " \"T1\": 1.583166332685028e-05,\n", + " \"T2\": 1.0856584979564591e-05,\n", + " \"f1QRB\": 0.9988470538918773,\n", + " \"f1QRB_std_err\": 6.0616375932213985e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9944350325795311,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00022116553019116896,\n", + " \"fRO\": 0.935\n", + " },\n", + " \"72\": {\n", + " \"T1\": 1.397358025395872e-05,\n", + " \"T2\": 1.8038754185674848e-05,\n", + " \"f1QRB\": 0.998568335008464,\n", + " \"f1QRB_std_err\": 6.054024131315892e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9849382823361392,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0013193296910071872,\n", + " \"fRO\": 0.974\n", + " },\n", + " \"73\": {\n", + " \"T1\": 1.1814906860408034e-05,\n", + " \"T2\": 8.825378096259247e-06,\n", + " \"f1QRB\": 0.9986812770773348,\n", + " \"f1QRB_std_err\": 4.031007930552348e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9873569114178359,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0009465125255858361,\n", + " \"fRO\": 0.957\n", + " },\n", + " \"74\": {\n", + " \"T1\": 1.8084856207509896e-05,\n", + " \"fRO\": 0.755\n", + " },\n", + " \"75\": {\n", + " \"T1\": 1.4599833718085063e-05,\n", + " \"T2\": 1.1762851405305077e-05,\n", + " \"f1QRB\": 0.998681824839147,\n", + " \"f1QRB_std_err\": 5.203226380860018e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9966864148141727,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0001278973109537322,\n", + " \"fRO\": 0.925\n", + " },\n", + " \"76\": {\n", + " \"T1\": 1.2786019802371923e-05,\n", + " \"T2\": 1.3142506452619197e-05,\n", + " \"f1QRB\": 0.9984067210095231,\n", + " \"f1QRB_std_err\": 5.331170411991985e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9942480052610472,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0005965011211577004,\n", + " \"fRO\": 0.964\n", + " },\n", + " \"77\": {\n", + " \"T1\": 3.079908884466668e-06,\n", + " \"T2\": 2.801177738273383e-06,\n", + " \"f1QRB\": 0.9945030681325627,\n", + " \"f1QRB_std_err\": 0.0001248838776475144,\n", + " \"f1Q_simultaneous_RB\": 0.9804732182715379,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0012486362086174888,\n", + " \"fRO\": 0.87\n", + " },\n", + " \"78\": {\n", + " \"T1\": 1.1244811327974159e-05,\n", + " \"T2\": 3.875097528754643e-06,\n", + " \"f1QRB\": 0.9983398650728867,\n", + " \"f1QRB_std_err\": 7.633315759862269e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9967692098406119,\n", + " \"f1Q_simultaneous_RB_std_err\": 7.424979279055196e-05,\n", + " \"fRO\": 0.903\n", + " },\n", + " \"79\": {\n", + " \"T1\": 5.6610288866255496e-06,\n", + " \"T2\": 8.629153961885565e-06,\n", + " \"f1QRB\": 0.9974617497608826,\n", + " \"f1QRB_std_err\": 2.781955255112645e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9958201350429458,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00013111493060712456,\n", + " \"fRO\": 0.948\n", + " },\n", + " \"8\": {\n", + " \"T1\": 1.1407003611118413e-05,\n", + " \"T2\": 1.2309370432467166e-05,\n", + " \"f1QRB\": 0.9987758357419216,\n", + " \"f1QRB_std_err\": 4.789620643962214e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9884117906966723,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.000709450806904051,\n", + " \"fRO\": 0.9490000000000001\n", + " },\n", + " \"80\": {\n", + " \"T1\": 5.978238576247811e-06,\n", + " \"T2\": 7.791064949482855e-06,\n", + " \"f1QRB\": 0.9975287511006907,\n", + " \"f1QRB_std_err\": 9.601258779724653e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9957053001975825,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00011365614144994835,\n", + " \"fRO\": 0.966\n", + " },\n", + " \"81\": {\n", + " \"T1\": 3.4310599698402173e-06,\n", + " \"T2\": 4.538643667345167e-06,\n", + " \"f1QRB\": 0.9701806785928798,\n", + " \"f1QRB_std_err\": 0.003063576918154014,\n", + " \"f1Q_simultaneous_RB\": 0.9645298408956499,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0035177577054300957,\n", + " \"fRO\": 0.881\n", + " },\n", + " \"82\": {\n", + " \"T1\": 1.1019548872967793e-05,\n", + " \"T2\": 1.3065749102731945e-05,\n", + " \"f1QRB\": 0.9984547839403882,\n", + " \"f1QRB_std_err\": 3.675749841499251e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9968747556504615,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00012065576365671228,\n", + " \"fRO\": 0.963\n", + " },\n", + " \"83\": {\n", + " \"T1\": 1.090475453998459e-05,\n", + " \"T2\": 1.5393165671024967e-05,\n", + " \"f1QRB\": 0.9985743375675988,\n", + " \"f1QRB_std_err\": 4.7535691835826344e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9941849216547207,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0006464784829884674,\n", + " \"fRO\": 0.972\n", + " },\n", + " \"9\": {\n", + " \"T1\": 9.785771028586126e-06,\n", + " \"T2\": 1.4090887380268008e-05,\n", + " \"f1QRB\": 0.9985960431813231,\n", + " \"f1QRB_std_err\": 4.30889189756182e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9847208740742583,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.001365107107806661,\n", + " \"fRO\": 0.945\n", + " }\n", + " },\n", + " \"2Q\": {\n", + " \"0-1\": {\n", + " \"fISWAP\": 0.9791302135165144,\n", + " \"fISWAP_std_err\": 0.00356371284654979\n", + " },\n", + " \"0-7\": {\n", + " \"fISWAP\": 0.9735136820907221,\n", + " \"fISWAP_std_err\": 0.005528756208824819\n", + " },\n", + " \"1-2\": {\n", + " \"fISWAP\": 0.9826670815072358,\n", + " \"fISWAP_std_err\": 0.004545721578955407\n", + " },\n", + " \"1-8\": {\n", + " \"fISWAP\": 0.9871636453178825,\n", + " \"fISWAP_std_err\": 0.0015318956008649608\n", + " },\n", + " \"10-11\": {\n", + " \"fISWAP\": 0.9608092769094925,\n", + " \"fISWAP_std_err\": 0.006832379421744852\n", + " },\n", + " \"10-17\": {\n", + " \"fISWAP\": 0.9175335256563664,\n", + " \"fISWAP_std_err\": 0.014230349601250074\n", + " },\n", + " \"11-12\": {\n", + " \"fISWAP\": 0.9653965261238255,\n", + " \"fISWAP_std_err\": 0.004074194576367181\n", + " },\n", + " \"11-18\": {\n", + " \"fISWAP\": 0.9827028393277744,\n", + " \"fISWAP_std_err\": 0.00719682143391899\n", + " },\n", + " \"12-13\": {\n", + " \"fISWAP\": 0.9860621874682959,\n", + " \"fISWAP_std_err\": 0.0016004359788634186\n", + " },\n", + " \"12-19\": {\n", + " \"fISWAP\": 0.9826169461521911,\n", + " \"fISWAP_std_err\": 0.0024860949331014254\n", + " },\n", + " \"13-20\": {\n", + " \"fISWAP\": 0.8992886975557597,\n", + " \"fISWAP_std_err\": 0.009522823050077288\n", + " },\n", + " \"14-15\": {\n", + " \"fISWAP\": 0.9176834388222596,\n", + " \"fISWAP_std_err\": 0.018092341455944\n", + " },\n", + " \"14-21\": {\n", + " \"fISWAP\": 0.9694771126842667,\n", + " \"fISWAP_std_err\": 0.003332132287104312\n", + " },\n", + " \"15-22\": {\n", + " \"fISWAP\": 0.9592408936940807,\n", + " \"fISWAP_std_err\": 0.006077022692492429\n", + " },\n", + " \"16-17\": {\n", + " \"fISWAP\": 0.9812012158724508,\n", + " \"fISWAP_std_err\": 0.004048459654837136\n", + " },\n", + " \"16-23\": {\n", + " \"fISWAP\": 0.5,\n", + " \"fISWAP_std_err\": 1.0\n", + " },\n", + " \"17-18\": {\n", + " \"fISWAP\": 0.9637999630059566,\n", + " \"fISWAP_std_err\": 0.007420641423514777\n", + " },\n", + " \"17-24\": {\n", + " \"fISWAP\": 0.9615095487981369,\n", + " \"fISWAP_std_err\": 0.0038152493178914048\n", + " },\n", + " \"18-19\": {\n", + " \"fISWAP\": 0.9624441046403442,\n", + " \"fISWAP_std_err\": 0.005903445677963392\n", + " },\n", + " \"18-25\": {\n", + " \"fISWAP\": 0.9640020475890487,\n", + " \"fISWAP_std_err\": 0.005958170516256149\n", + " },\n", + " \"19-20\": {\n", + " \"fISWAP\": 0.9753775134174749,\n", + " \"fISWAP_std_err\": 0.0030206413985383934\n", + " },\n", + " \"19-26\": {\n", + " \"fISWAP\": 0.9738883062816561,\n", + " \"fISWAP_std_err\": 0.0028133311282072795\n", + " },\n", + " \"2-3\": {\n", + " \"fISWAP\": 0.9761701890350708,\n", + " \"fISWAP_std_err\": 0.003984418130874122\n", + " },\n", + " \"2-9\": {\n", + " \"fISWAP\": 0.9878078152606788,\n", + " \"fISWAP_std_err\": 0.001604514158154127\n", + " },\n", + " \"20-27\": {\n", + " \"fISWAP\": 0.972527548688719,\n", + " \"fISWAP_std_err\": 0.005177397542386951\n", + " },\n", + " \"21-22\": {\n", + " \"fISWAP\": 0.9861867762396699,\n", + " \"fISWAP_std_err\": 0.0049924774137807245\n", + " },\n", + " \"21-28\": {\n", + " \"fISWAP\": 0.9875653043190505,\n", + " \"fISWAP_std_err\": 0.0020140206155346146\n", + " },\n", + " \"22-23\": {\n", + " \"fCZ\": 0.8131204267839887,\n", + " \"fCZ_std_err\": 0.023753498043183205,\n", + " \"fISWAP\": 0.9623701423788883,\n", + " \"fISWAP_std_err\": 0.00921488479505151\n", + " },\n", + " \"22-29\": {\n", + " \"fCZ\": 0.9553762383380866,\n", + " \"fCZ_std_err\": 0.008598180865132431,\n", + " \"fISWAP\": 0.9805701902071962,\n", + " \"fISWAP_std_err\": 0.0021701820410876095\n", + " },\n", + " \"23-24\": {\n", + " \"fCZ\": 0.9451155859277102,\n", + " \"fCZ_std_err\": 0.010411710027468532,\n", + " \"fISWAP\": 0.9768005265055224,\n", + " \"fISWAP_std_err\": 0.007770529050118395\n", + " },\n", + " \"23-30\": {\n", + " \"fCZ\": 0.9243983539104479,\n", + " \"fCZ_std_err\": 0.01802145417629321,\n", + " \"fISWAP\": 0.902738673879681,\n", + " \"fISWAP_std_err\": 0.006818833985233317\n", + " },\n", + " \"24-25\": {\n", + " \"fISWAP\": 0.9628007312892574,\n", + " \"fISWAP_std_err\": 0.003733949142578766\n", + " },\n", + " \"24-31\": {\n", + " \"fCZ\": 0.9896366048500892,\n", + " \"fCZ_std_err\": 0.00416104817282723,\n", + " \"fISWAP\": 0.9848767370537788,\n", + " \"fISWAP_std_err\": 0.0019422978529865585\n", + " },\n", + " \"25-26\": {\n", + " \"fISWAP\": 0.9683010306523239,\n", + " \"fISWAP_std_err\": 0.006305001630825598\n", + " },\n", + " \"25-32\": {\n", + " \"fISWAP\": 0.972785202975738,\n", + " \"fISWAP_std_err\": 0.004114423288032952\n", + " },\n", + " \"26-33\": {\n", + " \"fISWAP\": 0.9378890801422842,\n", + " \"fISWAP_std_err\": 0.010579261945524422\n", + " },\n", + " \"27-34\": {\n", + " \"fISWAP\": 0.9716219949788273,\n", + " \"fISWAP_std_err\": 0.003575681758071341\n", + " },\n", + " \"28-29\": {\n", + " \"fISWAP\": 0.9788494799023928,\n", + " \"fISWAP_std_err\": 0.0024364897527115585\n", + " },\n", + " \"28-35\": {\n", + " \"fISWAP\": 0.9639919058547002,\n", + " \"fISWAP_std_err\": 0.005405937189237481\n", + " },\n", + " \"29-30\": {\n", + " \"fCZ\": 0.9454242154413506,\n", + " \"fCZ_std_err\": 0.016219616156322496,\n", + " \"fISWAP\": 0.9778419678547438,\n", + " \"fISWAP_std_err\": 0.0016218686403212568\n", + " },\n", + " \"29-36\": {\n", + " \"fCZ\": 0.9835938239986446,\n", + " \"fCZ_std_err\": 0.003179043982604907,\n", + " \"fISWAP\": 0.9810825021956864,\n", + " \"fISWAP_std_err\": 0.004467142809673723\n", + " },\n", + " \"3-10\": {\n", + " \"fISWAP\": 0.9226230525066166,\n", + " \"fISWAP_std_err\": 0.008862475076832018\n", + " },\n", + " \"3-4\": {\n", + " \"fISWAP\": 0.9506201610747482,\n", + " \"fISWAP_std_err\": 0.006391161335644611\n", + " },\n", + " \"30-31\": {\n", + " \"fCZ\": 0.9782743632580108,\n", + " \"fCZ_std_err\": 0.003166566866056771,\n", + " \"fISWAP\": 0.9263920544692568,\n", + " \"fISWAP_std_err\": 0.012427788613003463\n", + " },\n", + " \"30-37\": {\n", + " \"fCZ\": 0.9381541716478992,\n", + " \"fCZ_std_err\": 0.011268263014875242,\n", + " \"fISWAP\": 0.988775694984386,\n", + " \"fISWAP_std_err\": 0.002369041711260937\n", + " },\n", + " \"31-32\": {\n", + " \"fCZ\": 0.97272030660307,\n", + " \"fCZ_std_err\": 0.0024880579085394304,\n", + " \"fISWAP\": 0.9777788392342968,\n", + " \"fISWAP_std_err\": 0.0028554362838577162\n", + " },\n", + " \"31-38\": {\n", + " \"fCZ\": 0.923589367568092,\n", + " \"fCZ_std_err\": 0.021497651582702258,\n", + " \"fISWAP\": 0.972427206095531,\n", + " \"fISWAP_std_err\": 0.002652465123841745\n", + " },\n", + " \"32-33\": {\n", + " \"fCZ\": 0.95823427800913,\n", + " \"fCZ_std_err\": 0.00446983618513398,\n", + " \"fISWAP\": 0.9794392126964651,\n", + " \"fISWAP_std_err\": 0.003170561763187578\n", + " },\n", + " \"32-39\": {\n", + " \"fCZ\": 0.9676193940962202,\n", + " \"fCZ_std_err\": 0.012180955656225673,\n", + " \"fISWAP\": 0.9471116565923102,\n", + " \"fISWAP_std_err\": 0.009485438714608638\n", + " },\n", + " \"33-34\": {\n", + " \"fISWAP\": 0.9791790005234218,\n", + " \"fISWAP_std_err\": 0.00434310763839065\n", + " },\n", + " \"33-40\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.9836773772871124,\n", + " \"fISWAP_std_err\": 0.002413077893821505\n", + " },\n", + " \"34-41\": {\n", + " \"fISWAP\": 0.981208304769087,\n", + " \"fISWAP_std_err\": 0.0035818793671928296\n", + " },\n", + " \"35-36\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.9363437120389613,\n", + " \"fISWAP_std_err\": 0.008771122408902885\n", + " },\n", + " \"35-42\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.963098994577651,\n", + " \"fISWAP_std_err\": 0.0065455200479871065\n", + " },\n", + " \"36-37\": {\n", + " \"fCZ\": 0.9859932126721338,\n", + " \"fCZ_std_err\": 0.002265311115309427,\n", + " \"fISWAP\": 0.9393376252029916,\n", + " \"fISWAP_std_err\": 0.01064729584032537\n", + " },\n", + " \"36-43\": {\n", + " \"fCZ\": 0.9834422568445816,\n", + " \"fCZ_std_err\": 0.002149164215421339,\n", + " \"fISWAP\": 0.9819326300244948,\n", + " \"fISWAP_std_err\": 0.0028825293231968755\n", + " },\n", + " \"37-38\": {\n", + " \"fCZ\": 0.9730964409560557,\n", + " \"fCZ_std_err\": 0.007166947898501174,\n", + " \"fISWAP\": 0.8732615841593578,\n", + " \"fISWAP_std_err\": 0.008164821791420175\n", + " },\n", + " \"37-44\": {\n", + " \"fCZ\": 0.9898899788690768,\n", + " \"fCZ_std_err\": 0.0026127128645217013,\n", + " \"fISWAP\": 0.95157000198181,\n", + " \"fISWAP_std_err\": 0.005210452797842842\n", + " },\n", + " \"38-39\": {\n", + " \"fCZ\": 0.9152105518588706,\n", + " \"fCZ_std_err\": 0.018250356740116366,\n", + " \"fISWAP\": 0.9342088023346795,\n", + " \"fISWAP_std_err\": 0.006850634509083431\n", + " },\n", + " \"38-45\": {\n", + " \"fCZ\": 0.9345038340266254,\n", + " \"fCZ_std_err\": 0.014340313680079155,\n", + " \"fISWAP\": 0.8829262365164003,\n", + " \"fISWAP_std_err\": 0.016002126804853644\n", + " },\n", + " \"39-40\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.9067660927446799,\n", + " \"fISWAP_std_err\": 0.007506787004908315\n", + " },\n", + " \"39-46\": {\n", + " \"fCZ\": 0.9117021474358413,\n", + " \"fCZ_std_err\": 0.019598451429119576,\n", + " \"fISWAP\": 0.9380858079746697,\n", + " \"fISWAP_std_err\": 0.00302266999144198\n", + " },\n", + " \"4-11\": {\n", + " \"fISWAP\": 0.9818165214983766,\n", + " \"fISWAP_std_err\": 0.0028171535523083178\n", + " },\n", + " \"4-5\": {\n", + " \"fISWAP\": 0.9799723111363947,\n", + " \"fISWAP_std_err\": 0.0023228402056086565\n", + " },\n", + " \"40-41\": {\n", + " \"fISWAP\": 0.8810830889606438,\n", + " \"fISWAP_std_err\": 0.04657399521192064\n", + " },\n", + " \"40-47\": {\n", + " \"fISWAP\": 0.9631231044654014,\n", + " \"fISWAP_std_err\": 0.004048391808971318\n", + " },\n", + " \"41-48\": {\n", + " \"fISWAP\": 0.9790577712837368,\n", + " \"fISWAP_std_err\": 0.001782511729009955\n", + " },\n", + " \"42-43\": {\n", + " \"fCZ\": 0.9573836076319032,\n", + " \"fCZ_std_err\": 0.008312305696217399,\n", + " \"fISWAP\": 0.9856361593139336,\n", + " \"fISWAP_std_err\": 0.004423360979212322\n", + " },\n", + " \"42-49\": {\n", + " \"fISWAP\": 0.8912119775523908,\n", + " \"fISWAP_std_err\": 0.014181359136284818\n", + " },\n", + " \"43-44\": {\n", + " \"fCZ\": 0.976542427162598,\n", + " \"fCZ_std_err\": 0.0073970381416081105,\n", + " \"fISWAP\": 0.9651377004532156,\n", + " \"fISWAP_std_err\": 0.003567681556245753\n", + " },\n", + " \"43-50\": {\n", + " \"fCZ\": 0.9461298002947109,\n", + " \"fCZ_std_err\": 0.008430971440763647,\n", + " \"fISWAP\": 0.9766269919766303,\n", + " \"fISWAP_std_err\": 0.0019014707924626996\n", + " },\n", + " \"44-45\": {\n", + " \"fCZ\": 0.9755393457707263,\n", + " \"fCZ_std_err\": 0.003943884052236176,\n", + " \"fISWAP\": 0.9730495165822873,\n", + " \"fISWAP_std_err\": 0.004666122346062878\n", + " },\n", + " \"44-51\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.9579158089888303,\n", + " \"fISWAP_std_err\": 0.00695025451475838\n", + " },\n", + " \"45-46\": {\n", + " \"fCZ\": 0.9020966657305378,\n", + " \"fCZ_std_err\": 0.010842377367803063,\n", + " \"fISWAP\": 0.9839885698033055,\n", + " \"fISWAP_std_err\": 0.004785820142357263\n", + " },\n", + " \"45-52\": {\n", + " \"fCZ\": 0.9725016196879306,\n", + " \"fCZ_std_err\": 0.007004848395879452\n", + " },\n", + " \"46-47\": {\n", + " \"fISWAP\": 0.9768021087796416,\n", + " \"fISWAP_std_err\": 0.0092205674491176\n", + " },\n", + " \"46-53\": {\n", + " \"fCZ\": 0.9451739077282588,\n", + " \"fCZ_std_err\": 0.017124814756913513,\n", + " \"fISWAP\": 0.9757117047730299,\n", + " \"fISWAP_std_err\": 0.008682815084255831\n", + " },\n", + " \"47-48\": {\n", + " \"fISWAP\": 0.9550423464162892,\n", + " \"fISWAP_std_err\": 0.004984347718887333\n", + " },\n", + " \"47-54\": {\n", + " \"fISWAP\": 0.9613622679806231,\n", + " \"fISWAP_std_err\": 0.007458633706902614\n", + " },\n", + " \"48-55\": {\n", + " \"fISWAP\": 0.9627634980192908,\n", + " \"fISWAP_std_err\": 0.008282465401507198\n", + " },\n", + " \"49-56\": {\n", + " \"fISWAP\": 0.9883432051303519,\n", + " \"fISWAP_std_err\": 0.002531660644875566\n", + " },\n", + " \"5-12\": {\n", + " \"fISWAP\": 0.9893583872207398,\n", + " \"fISWAP_std_err\": 0.0014257446945732488\n", + " },\n", + " \"5-6\": {\n", + " \"fISWAP\": 0.9901198194537191,\n", + " \"fISWAP_std_err\": 0.0023940060470740735\n", + " },\n", + " \"50-51\": {\n", + " \"fCZ\": 0.9577213983869439,\n", + " \"fCZ_std_err\": 0.00860739284378715,\n", + " \"fISWAP\": 0.970702338038483,\n", + " \"fISWAP_std_err\": 0.006287196902663408\n", + " },\n", + " \"50-57\": {\n", + " \"fISWAP\": 0.9181143945211716,\n", + " \"fISWAP_std_err\": 0.010709223168729637\n", + " },\n", + " \"51-52\": {\n", + " \"fCZ\": 0.9491564067962153,\n", + " \"fCZ_std_err\": 0.010884026886345,\n", + " \"fISWAP\": 0.9746589779529199,\n", + " \"fISWAP_std_err\": 0.0061848268982777855\n", + " },\n", + " \"51-58\": {\n", + " \"fISWAP\": 0.8403915403637805,\n", + " \"fISWAP_std_err\": 0.012742536208155807\n", + " },\n", + " \"52-53\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0\n", + " },\n", + " \"52-59\": {\n", + " \"fISWAP\": 0.9203207891426108,\n", + " \"fISWAP_std_err\": 0.019828596480304012\n", + " },\n", + " \"53-54\": {\n", + " \"fISWAP\": 0.9674717937208283,\n", + " \"fISWAP_std_err\": 0.0070984952256322245\n", + " },\n", + " \"54-55\": {\n", + " \"fISWAP\": 0.9241017064675299,\n", + " \"fISWAP_std_err\": 0.00579950375625575\n", + " },\n", + " \"54-61\": {\n", + " \"fISWAP\": 0.9844278693209709,\n", + " \"fISWAP_std_err\": 0.002946157403567885\n", + " },\n", + " \"55-62\": {\n", + " \"fISWAP\": 0.9518052675566455,\n", + " \"fISWAP_std_err\": 0.017777481156444015\n", + " },\n", + " \"56-57\": {\n", + " \"fISWAP\": 0.9856449237323003,\n", + " \"fISWAP_std_err\": 0.002348867430248925\n", + " },\n", + " \"56-63\": {\n", + " \"fISWAP\": 0.9360365974523757,\n", + " \"fISWAP_std_err\": 0.007315167371921507\n", + " },\n", + " \"57-58\": {\n", + " \"fISWAP\": 0.9733255282434983,\n", + " \"fISWAP_std_err\": 0.005805794216418861\n", + " },\n", + " \"57-64\": {\n", + " \"fISWAP\": 0.9700771134591953,\n", + " \"fISWAP_std_err\": 0.006807274914590517\n", + " },\n", + " \"58-59\": {\n", + " \"fISWAP\": 0.9720131861793257,\n", + " \"fISWAP_std_err\": 0.004869639197985184\n", + " },\n", + " \"58-65\": {\n", + " \"fISWAP\": 0.9520302367809772,\n", + " \"fISWAP_std_err\": 0.002479609587737865\n", + " },\n", + " \"59-60\": {\n", + " \"fISWAP\": 0.918121625533733,\n", + " \"fISWAP_std_err\": 0.0163296351605996\n", + " },\n", + " \"59-66\": {\n", + " \"fISWAP\": 0.962176761183821,\n", + " \"fISWAP_std_err\": 0.00293839714499654\n", + " },\n", + " \"6-13\": {\n", + " \"fISWAP\": 0.8350661549230961,\n", + " \"fISWAP_std_err\": 0.018642688812400166\n", + " },\n", + " \"61-62\": {\n", + " \"fISWAP\": 0.9605561884323802,\n", + " \"fISWAP_std_err\": 0.006578316080404304\n", + " },\n", + " \"61-68\": {\n", + " \"fISWAP\": 0.9669918432562913,\n", + " \"fISWAP_std_err\": 0.015121182843608215\n", + " },\n", + " \"62-69\": {\n", + " \"fISWAP\": 0.9814606775419943,\n", + " \"fISWAP_std_err\": 0.0036291564038816206\n", + " },\n", + " \"63-64\": {\n", + " \"fISWAP\": 0.9317990152425788,\n", + " \"fISWAP_std_err\": 0.0176307336668283\n", + " },\n", + " \"63-70\": {\n", + " \"fISWAP\": 0.975625564360936,\n", + " \"fISWAP_std_err\": 0.003896686974752096\n", + " },\n", + " \"64-65\": {\n", + " \"fISWAP\": 0.9679627656238718,\n", + " \"fISWAP_std_err\": 0.0063148296587278475\n", + " },\n", + " \"64-71\": {\n", + " \"fISWAP\": 0.9812035287003874,\n", + " \"fISWAP_std_err\": 0.0036838583297461288\n", + " },\n", + " \"65-66\": {\n", + " \"fISWAP\": 0.9561822123332422,\n", + " \"fISWAP_std_err\": 0.013048407432204236\n", + " },\n", + " \"65-72\": {\n", + " \"fISWAP\": 0.9560707484727107,\n", + " \"fISWAP_std_err\": 0.005119745898548705\n", + " },\n", + " \"66-67\": {\n", + " \"fISWAP\": 0.9048855427128404,\n", + " \"fISWAP_std_err\": 0.013224190178390091\n", + " },\n", + " \"67-68\": {\n", + " \"fISWAP\": 0.9735960543140385,\n", + " \"fISWAP_std_err\": 0.0022440091941664407\n", + " },\n", + " \"67-74\": {\n", + " \"fISWAP\": 0.5,\n", + " \"fISWAP_std_err\": 1.0\n", + " },\n", + " \"68-69\": {\n", + " \"fISWAP\": 0.8100065680392248,\n", + " \"fISWAP_std_err\": 0.06160381859949534\n", + " },\n", + " \"68-75\": {\n", + " \"fISWAP\": 0.9771469178058805,\n", + " \"fISWAP_std_err\": 0.0036298556761483374\n", + " },\n", + " \"69-76\": {\n", + " \"fISWAP\": 0.978963039803022,\n", + " \"fISWAP_std_err\": 0.004310528860614046\n", + " },\n", + " \"7-14\": {\n", + " \"fISWAP\": 0.9566739767031378,\n", + " \"fISWAP_std_err\": 0.012848358579714343\n", + " },\n", + " \"7-8\": {\n", + " \"fISWAP\": 0.9462017648325303,\n", + " \"fISWAP_std_err\": 0.020565841789161106\n", + " },\n", + " \"70-71\": {\n", + " \"fISWAP\": 0.9330614359890608,\n", + " \"fISWAP_std_err\": 0.012520387327788164\n", + " },\n", + " \"70-77\": {\n", + " \"fISWAP\": 0.9837859911880815,\n", + " \"fISWAP_std_err\": 0.0029161913777237193\n", + " },\n", + " \"71-72\": {\n", + " \"fISWAP\": 0.984763755465565,\n", + " \"fISWAP_std_err\": 0.002610649297196644\n", + " },\n", + " \"71-78\": {\n", + " \"fISWAP\": 0.9653037924768116,\n", + " \"fISWAP_std_err\": 0.005032380504562097\n", + " },\n", + " \"72-73\": {\n", + " \"fISWAP\": 0.9732560996989097,\n", + " \"fISWAP_std_err\": 0.002990176011335505\n", + " },\n", + " \"72-79\": {\n", + " \"fISWAP\": 0.9805028887008518,\n", + " \"fISWAP_std_err\": 0.0062179564542838486\n", + " },\n", + " \"73-74\": {\n", + " \"fISWAP\": 0.99312484820244,\n", + " \"fISWAP_std_err\": 0.0026141000472861115\n", + " },\n", + " \"73-80\": {\n", + " \"fISWAP\": 0.9860014674970105,\n", + " \"fISWAP_std_err\": 0.0021649690118058468\n", + " },\n", + " \"74-75\": {\n", + " \"fISWAP\": 0.9476395264300612,\n", + " \"fISWAP_std_err\": 0.0038919330556492614\n", + " },\n", + " \"74-81\": {\n", + " \"fISWAP\": 0.989010587659255,\n", + " \"fISWAP_std_err\": 0.003530918345271284\n", + " },\n", + " \"75-76\": {\n", + " \"fISWAP\": 0.9930268416475938,\n", + " \"fISWAP_std_err\": 0.002047839750711906\n", + " },\n", + " \"75-82\": {\n", + " \"fISWAP\": 0.975003261919278,\n", + " \"fISWAP_std_err\": 0.0033278095773716203\n", + " },\n", + " \"76-83\": {\n", + " \"fISWAP\": 0.978975407953992,\n", + " \"fISWAP_std_err\": 0.004240495156991981\n", + " },\n", + " \"77-78\": {\n", + " \"fISWAP\": 0.9466536450196962,\n", + " \"fISWAP_std_err\": 0.006045840719028088\n", + " },\n", + " \"78-79\": {\n", + " \"fISWAP\": 0.9151932765694304,\n", + " \"fISWAP_std_err\": 0.01246194931606675\n", + " },\n", + " \"79-80\": {\n", + " \"fISWAP\": 0.9608392414159426,\n", + " \"fISWAP_std_err\": 0.008322314755361252\n", + " },\n", + " \"8-15\": {\n", + " \"fISWAP\": 0.9555008835352836,\n", + " \"fISWAP_std_err\": 0.005294697346314612\n", + " },\n", + " \"8-9\": {\n", + " \"fISWAP\": 0.9853092684673772,\n", + " \"fISWAP_std_err\": 0.0029406075385905754\n", + " },\n", + " \"80-81\": {\n", + " \"fISWAP\": 0.9786280670433216,\n", + " \"fISWAP_std_err\": 0.0037847640547627997\n", + " },\n", + " \"81-82\": {\n", + " \"fISWAP\": 0.9847373102108626,\n", + " \"fISWAP_std_err\": 0.005616898527090091\n", + " },\n", + " \"82-83\": {\n", + " \"fISWAP\": 0.9476158528124492,\n", + " \"fISWAP_std_err\": 0.011421722288560053\n", + " },\n", + " \"9-10\": {\n", + " \"fISWAP\": 0.9778464831306,\n", + " \"fISWAP_std_err\": 0.0016229102326154002\n", + " },\n", + " \"9-16\": {\n", + " \"fISWAP\": 0.9241311731108792,\n", + " \"fISWAP_std_err\": 0.007007555394104928\n", + " }\n", + " }\n", + "}\n" + ] + } + ], + "source": [ + "# the IonQ device\n", + "device = AwsDevice(Devices.IonQ.Aria1)\n", + "\n", + "# IQM\n", + "device = AwsDevice(Devices.IQM.Garnet)\n", + "\n", + "# the Rigetti device\n", + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "execution_windows = device.properties.service.executionWindows\n", + "connectivity_graph = device.properties.paradigm.connectivity\n", + "calibration = device.properties.provider.specs\n", + "\n", + "print(f\"The availability windows for {device.name}:\\n{execution_windows}\\n\")\n", + "print(f\"The connectivity graph of the qubits for this device:\\n {connectivity_graph}\\n\")\n", + "print(\"Calibration data:\\n\", json.dumps(calibration, sort_keys=True, indent=2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each device has more properties to explore. To learn more, view the [Amazon Braket schemas documentation](https://amazon-braket-schemas-python.readthedocs.io/en/latest/_apidoc/braket.device_schema.html)." + ] + } + ], + "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.10.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb b/examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb index a315cba6..de0e5081 100644 --- a/examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb +++ b/examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb @@ -1,1769 +1,1784 @@ { - "cells": [ - { - "cell_type": "markdown", - "id": "80787a2d092c6fe2", - "metadata": {}, - "source": [ - "# Getting Started with OpenQASM on Braket" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "f30932accbfc8959", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:29.377972Z", - "start_time": "2023-12-04T04:03:29.350550Z" - } - }, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "id": "a2b23cf2abc23663", - "metadata": {}, - "source": [ - "OpenQASM is a popular human-readable and hardware-agnostic quantum circuit description language. It is open-source and has been actively maintained by a [Technical Steering Committee](https://medium.com/qiskit/introducing-a-technical-steering-committee-for-openqasm3-f9db808108e1) formed by IBM, Amazon, Microsoft and the University of Innsbruck. Amazon Braket now supports OpenQASM 3.0 as an *Intermediate Representation* (IR) in addition to the in-house *JSON-Based AWS Quantum Circuit Description* ([JAQCD](https://github.com/amazon-braket/amazon-braket-schemas-python/tree/main/src/braket/ir/jaqcd)). In this notebook, we demonstrate how to submit OpenQASM quantum tasks to various devices on Braket and introduce some OpenQASM features available on Braket." - ] - }, - { - "cell_type": "markdown", - "id": "ee898521529c0469", - "metadata": {}, - "source": [ - "## Create and submit an OpenQASM quantum task\n", - "\n", - "Submitting a quantum task with OpenQASM is just as simple as using JAQCD. You can use the Amazon Braket Python SDK, Boto3, or the AWS CLI to submit OpenQASM 3.0 quantum tasks to an Amazon Braket device. We will go over each method in this section.\n", - "\n", - "\n", - "### A Bell state\n", - "\n", - "We will start with by preparing a [Bell state](https://en.wikipedia.org/wiki/Bell_state) in OpenQASM:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "ca2bc5f0a29e6dd6", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:31.815079Z", - "start_time": "2023-12-04T04:03:31.796365Z" - } - }, - "outputs": [], - "source": [ - "bell_qasm = \"\"\"\n", - "OPENQASM 3;\n", - "\n", - "qubit[2] q;\n", - "bit[2] c;\n", - "\n", - "h q[0];\n", - "cnot q[0], q[1];\n", - "\n", - "c = measure q;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "d9b588c2b02979f6", - "metadata": {}, - "source": [ - "Compare this to the same Bell state written in JAQCD:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "a378dc21e3ede3d0", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:32.662932Z", - "start_time": "2023-12-04T04:03:32.608503Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\n", - " \"braketSchemaHeader\": {\n", - " \"name\": \"braket.ir.jaqcd.program\",\n", - " \"version\": \"1\"\n", - " },\n", - " \"instructions\": [\n", - " {\n", - " \"target\": 0,\n", - " \"type\": \"h\"\n", - " },\n", - " {\n", - " \"control\": 0,\n", - " \"target\": 1,\n", - " \"type\": \"cnot\"\n", - " }\n", - " ],\n", - " \"results\": null,\n", - " \"basis_rotation_instructions\": null\n", - "}\n" - ] - } - ], - "source": [ - "from braket.ir.jaqcd import CNot, H, Program\n", - "\n", - "program = Program(instructions=[H(target=0), CNot(control=0, target=1)])\n", - "print(program.json(indent=2))" - ] - }, - { - "cell_type": "markdown", - "id": "b8f68befdae02c0", - "metadata": {}, - "source": [ - "Immediately, we can see a difference: In OpenQASM, users define their own qubit registers, and thus the syntax is closer to what quantum algorithm researchers are used to; on the other hand, in JAQCD, qubits are indexed by integers and the convention is closer to that of hardware providers. Also, JAQCD has result types and basis rotation instructions embedded in the language while OpenQASM doesn't support them inherently (but later we will show how to use the `pragma` syntax to support them in OpenQASM)." - ] - }, - { - "cell_type": "markdown", - "id": "a92df8c76a81db2c", - "metadata": {}, - "source": [ - "\n", - "### Use the Python SDK to create OpenQASM 3.0 quantum tasks\n", - "\n", - "Most Braket users might want to use the Braket Python SDK to submit OpenQASM quantum tasks. To submit our Bell state program in the Python SDK, we first choose the quantum device that we want to run our program on. In this example, we will use the SV1 state-vector simulator for demonstration." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "8b433a601a62b11d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:38.321971Z", - "start_time": "2023-12-04T04:03:36.978785Z" - } - }, - "outputs": [], - "source": [ - "from braket.aws import AwsDevice\n", - "from braket.devices import Devices\n", - "sv1 = AwsDevice(Devices.Amazon.SV1)" - ] - }, - { - "cell_type": "markdown", - "id": "d46340ec242cfc8b", - "metadata": {}, - "source": [ - "To submit the OpenQASM quantum task, we initialize an `OpenQASMProgram` object using the Bell state program text string `bell_qasm` we defined above and send it to the SV1 simulator." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1e81325c5357195d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:41.134199Z", - "start_time": "2023-12-04T04:03:39.866510Z" - }, - "scrolled": false - }, - "outputs": [], - "source": [ - "from braket.ir.openqasm import Program as OpenQASMProgram\n", - "\n", - "bell_program = OpenQASMProgram(source=bell_qasm)\n", - "bell_task = sv1.run(\n", - " bell_program, \n", - " shots=100, \n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "ba9729ce6ab2bf91", - "metadata": {}, - "source": [ - "### Submit OpenQASM 3.0 programs using the AWS Command Line Interface\n", - "\n", - "Alternatively, if you like the command line experience or you are not a Python user, you can also choose to use the [AWS Command Line Interface (CLI)](https://aws.amazon.com/cli/) to submit our Bell state program. Before doing that we have to make sure we have [AWS CLI installed](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). The following code saves the `bell_qasm` string to a file named `bell.qasm`:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "61362f489016dd1f", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.407834Z", - "start_time": "2023-11-21T08:32:41.403524Z" - } - }, - "outputs": [], - "source": [ - "with open(\"bell.qasm\", \"w\") as f:\n", - " f.write(bell_qasm)" - ] - }, - { - "cell_type": "markdown", - "id": "5c4be932b51fd2ac", - "metadata": {}, - "source": [ - "Then we can use the command below to submit the quantum task via AWS CLI. Remember to replace the placeholder \\\"amazon-braket-my-bucket\\\" with your own bucket name.\n", - " \n", - " aws braket create-quantum-task \\\n", - " --region \"us-west-1\" \\\n", - " --device-arn \"arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2\" \\\n", - " --shots 100 \\\n", - " --action '{\n", - " \"braketSchemaHeader\": {\n", - " \"name\": \"braket.ir.openqasm.program\", \n", - " \"version\": \"1\"\n", - " },\n", - " \"source\": $(cat bell.qasm)\n", - " }'" - ] - }, - { - "cell_type": "markdown", - "id": "68222e9240c91d58", - "metadata": { - "collapsed": false - }, - "source": [ - "## Convert OpenQASM 3.0 programs to circuits\n", - "\n", - "You can convert OpenQASM programs into Braket `Circuit` objects if you want to programmatically change your program." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "96417df481e2f5d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.420933Z", - "start_time": "2023-11-21T08:32:41.407658Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │\n", - " ┌───┐ ┌───┐ \n", - "q0 : ─┤ H ├───●───┤ M ├─\n", - " └───┘ │ └───┘ \n", - " ┌─┴─┐ ┌───┐ \n", - "q1 : ───────┤ X ├─┤ M ├─\n", - " └───┘ └───┘ \n", - "T : │ 0 │ 1 │ 2 │\n" - ] - } - ], - "source": [ - "from braket.circuits import Circuit\n", - "print(Circuit.from_ir(bell_qasm))" - ] - }, - { - "cell_type": "markdown", - "id": "4fec44c2bb4680df", - "metadata": {}, - "source": [ - "## Figure out what OpenQASM features are supported on each device\n", - "\n", - "Different devices on Braket support different subsets of OpenQASM features. To see what are the supported OpenQASM features on each device, we can simply check the device capability for OpenQASM actions. As an example, we can take a look at the `action` field in the device capability of SV1 simulator:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "78a5c9f03581cea4", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.425542Z", - "start_time": "2023-11-21T08:32:41.422663Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['ccnot',\n", - " 'cnot',\n", - " 'cphaseshift',\n", - " 'cphaseshift00',\n", - " 'cphaseshift01',\n", - " 'cphaseshift10',\n", - " 'cswap',\n", - " 'cy',\n", - " 'cz',\n", - " 'ecr',\n", - " 'h',\n", - " 'i',\n", - " 'iswap',\n", - " 'pswap',\n", - " 'phaseshift',\n", - " 'rx',\n", - " 'ry',\n", - " 'rz',\n", - " 's',\n", - " 'si',\n", - " 'swap',\n", - " 't',\n", - " 'ti',\n", - " 'v',\n", - " 'vi',\n", - " 'x',\n", - " 'xx',\n", - " 'xy',\n", - " 'y',\n", - " 'yy',\n", - " 'z',\n", - " 'zz',\n", - " 'gpi',\n", - " 'gpi2',\n", - " 'ms']" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# supportedOperations\n", - "sv1.properties.action['braket.ir.openqasm.program'].supportedOperations" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "85fbc40dc254813e", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.463833Z", - "start_time": "2023-11-21T08:32:41.425725Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['braket_unitary_matrix',\n", - " 'braket_basis_rotation',\n", - " 'braket_result_type_sample',\n", - " 'braket_result_type_expectation',\n", - " 'braket_result_type_variance',\n", - " 'braket_result_type_probability',\n", - " 'braket_result_type_amplitude',\n", - " 'braket_result_type_adjoint_gradient']" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# supportedPragmas\n", - "sv1.properties.action['braket.ir.openqasm.program'].supportedPragmas" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "1fa721d9960f5412", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.464559Z", - "start_time": "2023-11-21T08:32:41.429030Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['braket_result_type_state_vector',\n", - " 'braket_result_type_density_matrix',\n", - " 'braket_noise_amplitude_damping',\n", - " 'braket_noise_bit_flip',\n", - " 'braket_noise_depolarizing',\n", - " 'braket_noise_kraus',\n", - " 'braket_noise_pauli_channel',\n", - " 'braket_noise_generalized_amplitude_damping',\n", - " 'braket_noise_phase_flip',\n", - " 'braket_noise_phase_damping',\n", - " 'braket_noise_two_qubit_dephasing',\n", - " 'braket_noise_two_qubit_depolarizing']" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# forbiddenPragmas\n", - "sv1.properties.action['braket.ir.openqasm.program'].forbiddenPragmas" - ] - }, - { - "cell_type": "markdown", - "id": "8190bb8089c7db3f", - "metadata": {}, - "source": [ - "The SV1 OpenQASM `action` field lists supported/forbidden OpenQASM features on the device, including `supportedPragmas`, `forbiddenPragmas`, `maximumQubitArrays`, `maximumClassicalArrays`, `requiresAllQubitsMeasurement`, `supportedResultTypes`, etc. The names are self-evident, but readers are encouraged to visit the [Amazon Braket developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-using.html) for full information of what these fields mean." - ] - }, - { - "cell_type": "markdown", - "id": "ee537a4601e4c244", - "metadata": {}, - "source": [ - "# OpenQASM features on Braket\n", - "\n", - "Braket supports many useful OpenQASM features, either through the OpenQASM program syntax or Braket-specific pragmas. We will walk through some of these features in this section.\n", - "\n", - "## Simulating Noise with OpenQASM\n", - "\n", - "With the fully on-demand, high-performance, density-matrix simulator [DM1](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-dm1), you can easily investigate the effects of realistic noise on your quantum programs. Now, we show how to use OpenQASM programs to leverage the circuit-level noise simulation capability of DM1.\n", - "\n", - "To simulate noise, we have to be able to specify different noise channels. Although syntax for noise channels is not available in the OpenQASM language, Braket uses the `pragma` statement to extend OpenQASM for defining noise channels. Here is an example of an OpenQASM program that prepares a noisy 3-qubit [GHZ state](https://en.wikipedia.org/wiki/Greenberger%E2%80%93Horne%E2%80%93Zeilinger_state):" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "4d8a62cfc51a18b", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.464621Z", - "start_time": "2023-11-21T08:32:41.431447Z" - } - }, - "outputs": [], - "source": [ - "noisy_ghz3_program = \"\"\"\n", - "// noisy_ghz3.qasm\n", - "// Prepare a 3 noisy qubit GHZ state\n", - "OPENQASM 3;\n", - "\n", - "qubit[3] q;\n", - "bit[3] c;\n", - "\n", - "h q[0];\n", - "#pragma braket noise depolarizing(0.1) q[0]\n", - "cnot q[0], q[1];\n", - "#pragma braket noise depolarizing(0.1) q[0]\n", - "#pragma braket noise depolarizing(0.1) q[1]\n", - "cnot q[1], q[2];\n", - "#pragma braket noise depolarizing(0.1) q[0]\n", - "#pragma braket noise depolarizing(0.1) q[1]\n", - "\n", - "c = measure q;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "3a988726bb4c39e8", - "metadata": {}, - "source": [ - "In the example above, we inserted the depolarizing noise channel with probability of 0.1 after each gate in the circuit. The `noisy_ghz3_program` is equivalent to the following program in the Braket SDK:" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "647e3717ccbba672", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.464801Z", - "start_time": "2023-11-21T08:32:41.434396Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Circuit('instructions': [Instruction('operator': H('qubit_count': 1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': CNot('qubit_count': 2), 'target': QubitSet([Qubit(0), Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': CNot('qubit_count': 2), 'target': QubitSet([Qubit(1), Qubit(2)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(2)]), 'control': QubitSet([]), 'control_state': (), 'power': 1)])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from braket.circuits import Circuit, noises\n", - "\n", - "noisy_ghz3_circ = Circuit().h(0).cnot(0, 1).cnot(1, 2)\n", - "noise = noises.Depolarizing(probability=0.1)\n", - "noisy_ghz3_circ.apply_gate_noise(noise)" - ] - }, - { - "cell_type": "markdown", - "id": "1db047fbac6a26bb", - "metadata": {}, - "source": [ - "To see if `noisy_ghz3_program` and `noisy_ghz3_circ` are indeed the same, we can run both circuits and compare the results:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "4c57de26c172aa5", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:42.963722Z", - "start_time": "2023-11-21T08:32:41.441098Z" - } - }, - "outputs": [], - "source": [ - "dm1 = AwsDevice(Devices.Amazon.DM1)\n", - "\n", - "noisy_ghz3_circ_task = dm1.run(noisy_ghz3_circ, shots = 10)\n", - "noisy_ghz3_program_task = dm1.run(OpenQASMProgram(source=noisy_ghz3_program), shots = 10)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "75984e0e95dc4afb", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:45.959888Z", - "start_time": "2023-11-21T08:32:42.975561Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sdk measurement results: Counter({'111': 4, '000': 3, '101': 2, '100': 1})\n", - "openqasm measurement results: Counter({'111': 3, '000': 3, '100': 2, '011': 1, '010': 1})\n" - ] - } - ], - "source": [ - "sdk_result = noisy_ghz3_circ_task.result()\n", - "openqasm_result = noisy_ghz3_program_task.result()\n", - "sdk_measurement = sdk_result.measurement_counts\n", - "openqasm_measurement = openqasm_result.measurement_counts\n", - "print('sdk measurement results:', sdk_measurement)\n", - "print('openqasm measurement results:', openqasm_measurement)" - ] - }, - { - "cell_type": "markdown", - "id": "f2720672ca96b104", - "metadata": {}, - "source": [ - "As expected, the measurement counts of the two are very close.\n", - "\n", - "In addition to depolarizing noises, we can simulate more complicated noise types with Braket, e.g., `pauli_channel`, `amplitude_damping`, etc. Check the [Amazon Braket developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-using.html) for a complete list of noise channels supported on Braket. Here we give another example of general noise channels defined by the Kraus representation." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "f3231a7767d20640", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:45.971122Z", - "start_time": "2023-11-21T08:32:45.960859Z" - } - }, - "outputs": [], - "source": [ - "noisy_program_with_kraus_operators = \"\"\"\n", - "// noisy_program_with_kraus_operators\n", - "OPENQASM 3;\n", - "\n", - "qubit[2] q;\n", - "bit[2] c;\n", - "\n", - "h q[0];\n", - "#pragma braket noise kraus([[0.9486833, 0], [0, 0.9486833]], [[0, 0.31622777], [0.31622777, 0]]) q[0]\n", - "cnot q[0], q[1];\n", - "\n", - "c = measure q;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "ebac8bbb6d45341d", - "metadata": {}, - "source": [ - "We inserted a single qubit noise channel defined by two 2x2 complex Kraus operators in the example above on qubit `q[0]`. Braket will validate if the Kraus operators indeed form a Completely-Positive and Trace-Preserving (CPTP) map." - ] - }, - { - "cell_type": "markdown", - "id": "ffa5e09c2ceab140", - "metadata": { - "collapsed": false - }, - "source": [ - "The `from_ir` method supports noise operations, including general Kraus operators." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "69c7ae1c396ac705", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:46.004276Z", - "start_time": "2023-11-21T08:32:45.977541Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "noisy_ghz3_program:\n", - "T : │ 0 │ 1 │ 2 │ 3 │\n", - " ┌───┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───┐ \n", - "q0 : ─┤ H ├─┤ DEPO(0.1) ├───●───┤ DEPO(0.1) ├─┤ DEPO(0.1) ├─────────────────────┤ M ├─\n", - " └───┘ └───────────┘ │ └───────────┘ └───────────┘ └───┘ \n", - " ┌─┴─┐ ┌───────────┐ ┌───────────┐ ┌───┐ \n", - "q1 : ─────────────────────┤ X ├─┤ DEPO(0.1) ├─────────────────●───┤ DEPO(0.1) ├─┤ M ├─\n", - " └───┘ └───────────┘ │ └───────────┘ └───┘ \n", - " ┌─┴─┐ ┌───┐ \n", - "q2 : ───────────────────────────────────────────────────────┤ X ├───────────────┤ M ├─\n", - " └───┘ └───┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │\n", - "\n", - "noisy_program_with_kraus_operators:\n", - "T : │ 0 │ 1 │ 2 │\n", - " ┌───┐ ┌────┐ ┌───┐ \n", - "q0 : ─┤ H ├─┤ KR ├───●───┤ M ├─\n", - " └───┘ └────┘ │ └───┘ \n", - " ┌─┴─┐ ┌───┐ \n", - "q1 : ──────────────┤ X ├─┤ M ├─\n", - " └───┘ └───┘ \n", - "T : │ 0 │ 1 │ 2 │\n", - "\n", - "Kraus operators:\n" - ] - }, - { - "data": { - "text/plain": [ - "[array([[0.9486833+0.j, 0. +0.j],\n", - " [0. +0.j, 0.9486833+0.j]]),\n", - " array([[0. +0.j, 0.31622777+0.j],\n", - " [0.31622777+0.j, 0. +0.j]])]" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "print(\"noisy_ghz3_program:\")\n", - "print(Circuit.from_ir(noisy_ghz3_program))\n", - "print()\n", - "print(\"noisy_program_with_kraus_operators:\")\n", - "circuit_kraus = Circuit.from_ir(noisy_program_with_kraus_operators)\n", - "print(circuit_kraus)\n", - "print()\n", - "print(\"Kraus operators:\")\n", - "circuit_kraus.instructions[1].operator.to_matrix()" - ] - }, - { - "cell_type": "markdown", - "id": "a6b1ce4e1900550", - "metadata": {}, - "source": [ - "## Submitting parametrized quantum tasks with OpenQASM\n", - "\n", - "The on-demand [SV1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-sv1) and [DM1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-dm1) support submitting OpenQASM programs with free parameters. You can set the value of the parameter when you submit the quantum task, like so:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "71245a134d32fa26", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:46.007177Z", - "start_time": "2023-11-21T08:32:46.003030Z" - } - }, - "outputs": [], - "source": [ - "parameter_qasm = \"\"\"\n", - "OPENQASM 3.0;\n", - "input float alpha;\n", - "\n", - "bit[2] b;\n", - "qubit[2] q;\n", - "\n", - "h q[0];\n", - "h q[1];\n", - "rx(alpha) q[0];\n", - "rx(alpha) q[1];\n", - "b[0] = measure q[0];\n", - "b[1] = measure q[1];\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "bec130ddc2409db5", - "metadata": {}, - "source": [ - "The `input float alpha` line indicates that we have an input parameter of type `float` named `alpha`. We can specify a value for `alpha` when we submit the quantum task using the optional `inputs` argument to `run`. `input` should be a `dict` of `string`-`float` pairs." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "b831353ac6cfab2a", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:48.743543Z", - "start_time": "2023-11-21T08:32:46.007096Z" - }, - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'11': 4, '01': 3, '00': 2, '10': 1})\n" - ] - } - ], - "source": [ - "input_dict = {'alpha': 0.1}\n", - "param_sv1_task = sv1.run(OpenQASMProgram(source=parameter_qasm), shots = 10, inputs=input_dict)\n", - "param_sv1_result = param_sv1_task.result()\n", - "print(param_sv1_result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "id": "eb90a29d1debc7b4", - "metadata": {}, - "source": [ - "Similarly, we can specify values for parametrized noise operations:" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "94f2688b3380c621", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:48.746739Z", - "start_time": "2023-11-21T08:32:48.743876Z" - } - }, - "outputs": [], - "source": [ - "parameter_noise_qasm = \"\"\"\n", - "OPENQASM 3.0;\n", - "input float beta;\n", - "input float alpha;\n", - "bit[2] b;\n", - "qubit[2] q;\n", - "h q[0];\n", - "h q[1];\n", - "rx(alpha) q[0];\n", - "rx(alpha) q[1];\n", - "#pragma braket noise bit_flip(beta) q[0]\n", - "b[0] = measure q[0];\n", - "b[1] = measure q[1];\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "101d366dca84ddb2", - "metadata": {}, - "source": [ - "We can see there are now two `input` lines, one for each free parameter." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "a0aa8a773b16dc22", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:51.579287Z", - "start_time": "2023-11-21T08:32:48.747668Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'01': 3, '11': 3, '10': 3, '00': 1})\n" - ] - } - ], - "source": [ - "noise_input_dict = {'alpha': 0.1, 'beta': 0.2}\n", - "param_dm1_task = dm1.run(OpenQASMProgram(source=parameter_qasm), shots = 10, inputs=noise_input_dict)\n", - "param_dm1_result = param_dm1_task.result()\n", - "print(param_dm1_result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "id": "7e60112ddc974a94", - "metadata": {}, - "source": [ - "## Simulating arbitrary unitaries with OpenQASM\n", - "\n", - "The on-demand [SV1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-sv1) allows us to simulate arbitrary unitary gates in a circuit. With OpenQASM, we can use the `unitary` pramga to insert these arbitrary unitary gates: " - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "ffc32efec9315f0", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:51.589214Z", - "start_time": "2023-11-21T08:32:51.579008Z" - } - }, - "outputs": [], - "source": [ - "program_with_unitary = \"\"\"\n", - "// noisy_program_with_kraus_operators\n", - "OPENQASM 3;\n", - "\n", - "qubit q;\n", - "bit c;\n", - "\n", - "#pragma braket unitary([[0, -1im], [1im, 0]]) q\n", - "c = measure q;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "8c190474a6e28563", - "metadata": {}, - "source": [ - "The `1im` in the `unitary` pragma is the OpenQASM notation of the imaginary number $i$, thus, we were simply using the pragma to perform a Pauli Y gate. We can check it by submitting the above program to SV1." - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "6d687471d81b2367", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:54.390589Z", - "start_time": "2023-11-21T08:32:51.586164Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'1': 10})\n" - ] - } - ], - "source": [ - "unitary_task = sv1.run(OpenQASMProgram(source=program_with_unitary), shots = 10)\n", - "unitary_result = unitary_task.result()\n", - "print(unitary_result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "id": "76f2897ec744dafb", - "metadata": {}, - "source": [ - "As expected, the Pauli Y gate flipped the initial 0 state to the 1 state." - ] - }, - { - "cell_type": "markdown", - "id": "111ead44155005a8", - "metadata": { - "collapsed": false - }, - "source": [ - "`from_ir` will reconstruct the unitary:" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "7b631be4b6785b90", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:54.403015Z", - "start_time": "2023-11-21T08:32:54.398210Z" - }, - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0.+0.j, 0.-1.j],\n", - " [0.+1.j, 0.+0.j]])" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Circuit.from_ir(program_with_unitary).instructions[0].operator.to_matrix()" - ] - }, - { - "cell_type": "markdown", - "id": "ce9caf39", - "metadata": {}, - "source": [ - "## Measuring specific qubits with OpenQASM\n", - "\n", - "The Local State Vector Simulator and Local Density Matrix Simulator support submitting OpenQASM programs where a subset of the circuit's qubits can be measured, which is often called partial measurement. For example, you can create a two-qubit circuit and only measure the first qubit like so:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "d33a0cb6", - "metadata": {}, - "outputs": [], - "source": [ - "partial_measure_qasm = \"\"\"\n", - "OPENQASM 3.0;\n", - "bit[1] b;\n", - "qubit[2] q;\n", - "h q[0];\n", - "cnot q[0], q[1];\n", - "b[0] = measure q[0];\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "81247da3", - "metadata": {}, - "source": [ - "We can see that there are two qubits, `q[0]` and `q[1]` but we are only measuring qubit 0 here: `b[0] = measure q[0]`.\n", - "\n", - "Now we can run this on the local state vector simulator" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "d747fcb4", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'1': 7, '0': 3})\n", - "Measured qubits: [0]\n" - ] - } - ], - "source": [ - "from braket.devices import LocalSimulator\n", - "\n", - "local_sim = LocalSimulator()\n", - "partial_measure_local_sim_task = local_sim.run(OpenQASMProgram(source=partial_measure_qasm), shots = 10)\n", - "partial_measure_local_sim_result = partial_measure_local_sim_task.result()\n", - "print(partial_measure_local_sim_result.measurement_counts)\n", - "print(\"Measured qubits: \", partial_measure_local_sim_result.measured_qubits)" - ] - }, - { - "cell_type": "markdown", - "id": "923c3cd7", - "metadata": {}, - "source": [ - "As expected, only the targeted qubits were measured. \n", - "\n", - "The OpenQASM program `partial_measure_qasm` is equivalent to the following `Circuit`:" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "5b4e6ae6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'0': 5, '1': 5})\n", - "Measured qubits: [0]\n" - ] - } - ], - "source": [ - "partial_measure = Circuit().h(0).cnot(0, 1).measure(0)\n", - "partial_measure_task = local_sim.run(partial_measure, shots=10)\n", - "partial_measure_result = partial_measure_task.result()\n", - "print(partial_measure_result.measurement_counts)\n", - "print(\"Measured qubits: \", partial_measure_result.measured_qubits)" - ] - }, - { - "cell_type": "markdown", - "id": "49b97636", - "metadata": {}, - "source": [ - "We can check whether a device supports partial measurement by inspecting the `requiresAllQubitsMeasurement` field in its action properties; if it is `False`, then partial measurement is supported." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "74a715eb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "AwsDevice(Devices.Rigetti.Ankaa2).properties.action['braket.ir.openqasm.program'].requiresAllQubitsMeasurement" - ] - }, - { - "cell_type": "markdown", - "id": "a6a94ac1", - "metadata": {}, - "source": [ - "Here, `requiresAllQubitsMeasurement` is `False`, which indicates that not all qubits must be measured." - ] - }, - { - "cell_type": "markdown", - "id": "8996e0c59741a66f", - "metadata": {}, - "source": [ - "## Qubit Rewiring with OpenQASM\n", - "\n", - "Amazon Braket supports the [physical qubit notation within OpenQASM](https://openqasm.com/language/types.html#physical-qubits) on Rigetti devices. When using physical qubits, you have to ensure that the qubits are indeed connected on the selected device. Alternatively, if qubit registers are used instead, the `PARTIAL` rewiring strategy is enabled by default on Rigetti devices. The following example shows how to use physical qubit notation in an OpenQASM program:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "144cc3e458a21b2d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:54.410178Z", - "start_time": "2023-11-21T08:32:54.402877Z" - } - }, - "outputs": [], - "source": [ - "ghz_program_with_physical_qubits = \"\"\"\n", - "// Prepare a GHZ state\n", - "OPENQASM 3;\n", - "\n", - "bit[3] ro;\n", - "h $0;\n", - "cnot $0, $1;\n", - "cnot $1, $2;\n", - "ro[0] = measure $0;\n", - "ro[1] = measure $1;\n", - "ro[2] = measure $2;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "3f01e6dc44e0e226", - "metadata": {}, - "source": [ - "We can run the above program on the Rigetti Ankaa-2 device," - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "768b980b78c4d451", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:55.489511Z", - "start_time": "2023-11-21T08:32:54.414005Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Measured qubits: [0, 1, 2]\n" - ] - } - ], - "source": [ - "# choose the quantum device\n", - "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "\n", - "ghz_program_with_physical_qubits_task = rigetti.run(OpenQASMProgram(source=ghz_program_with_physical_qubits), shots = 10)\n", - "measured_qubits = ghz_program_with_physical_qubits_task.result().measured_qubits\n", - "print(\"Measured qubits:\", measured_qubits)" - ] - }, - { - "cell_type": "markdown", - "id": "5a5597dc7843d541", - "metadata": {}, - "source": [ - "As we can see, physical qubits 0, 1 and 2 are indeed being used and measured." - ] - }, - { - "cell_type": "markdown", - "id": "25cb2ccc4337dc1e", - "metadata": {}, - "source": [ - "
\n", - " Note: This section and the next verbatim box section uses the Rigetti Ankaa-2 device. When you run this notebook, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "9c30ec68828b17ff", - "metadata": {}, - "source": [ - "## Verbatim Compilation with OpenQASM\n", - "\n", - "In [a previous example notebook](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Verbatim_Compilation.ipynb), we talked about verbatim compilation on Braket to gain more precise control on Rigetti devices. With OpenQASM3.0, we can use the `box` syntax together with the `verbatim` pragma to perform verbatim compilation. Here is an example:" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "a69ab8a7a04aa190", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:55.492060Z", - "start_time": "2023-11-21T08:32:55.489240Z" - } - }, - "outputs": [], - "source": [ - "program_with_verbatim_box = \"\"\"\n", - "OPENQASM 3;\n", - "\n", - "bit[2] ro;\n", - "#pragma braket verbatim\n", - "box{\n", - " rx(3.141592653589793) $0;\n", - " rx(3.141592653589793) $0;\n", - " iswap $0, $1;\n", - "}\n", - "ro[0] = measure $0;\n", - "ro[1] = measure $1;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "d503dc700f00f7b7", - "metadata": {}, - "source": [ - "To program with verbatim boxes, we need to make sure that\n", - "- we are using native gates supported by Rigetti devices. Native gates can be found using the following script:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "a1cb1cb78d32b7b1", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:55.496864Z", - "start_time": "2023-11-21T08:32:55.493060Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The native gates for the Ankaa-2 device are:\n", - "rx\n", - "rz\n", - "cz\n", - "iswap\n" - ] - } - ], - "source": [ - "print(\"The native gates for the\", rigetti.name, \"device are:\")\n", - "for gate in rigetti.properties.paradigm.nativeGateSet:\n", - " print(gate)" - ] - }, - { - "cell_type": "markdown", - "id": "1d24104e29717209", - "metadata": {}, - "source": [ - "- we use the physical qubit notation.\n", - "- qubit operands are indeed connected on the physical device. Recall that the device qubit connectivity can be found using the following commands:" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "f6a7ffff1914fd03", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:56.296409Z", - "start_time": "2023-11-21T08:32:55.495523Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import networkx as nx\n", - "# access and visualize the device topology\n", - "print(rigetti.properties.paradigm.connectivity.connectivityGraph)\n", - "nx.draw_kamada_kawai(rigetti.topology_graph, with_labels=True, font_color=\"white\")" - ] - }, - { - "cell_type": "markdown", - "id": "9fa09f83a0747394", - "metadata": {}, - "source": [ - "Now we can submit a quantum task of the above program with verbatim box." - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "b5e7c89c1c9f8879", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:56.299544Z", - "start_time": "2023-11-21T08:32:56.297194Z" - }, - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[2]\n", - "PRAGMA PRESERVE_BLOCK\n", - "RX(3.141592653589793) 0\n", - "RX(3.141592653589793) 0\n", - "ISWAP 0 1\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 0 ro[0]\n", - "MEASURE 1 ro[1]\n" - ] - } - ], - "source": [ - "verbatim_task = rigetti.run(OpenQASMProgram(source=program_with_verbatim_box), shots = 10)\n", - "verbatim_result = verbatim_task.result()\n", - "meta = verbatim_result.additional_metadata.rigettiMetadata\n", - "print(meta.compiledProgram)" - ] - }, - { - "cell_type": "markdown", - "id": "bcd27bc239db889d", - "metadata": {}, - "source": [ - "As shown above, the two consecutive `rx` $\\pi$-rotation gates did not get optimized and we confirm that our program was indeed executed verbatim." - ] - }, - { - "cell_type": "markdown", - "id": "b4768a96f7b1b3b6", - "metadata": {}, - "source": [ - "## Requesting Result Types with OpenQASM\n", - "\n", - "Braket provides [a rich library of result types](https://docs.aws.amazon.com/braket/latest/developerguide/braket-result-types.html) for circuit executions. With OpenQASM, requesting different result types for our quantum tasks is easier than ever using the `result` pragma. Next, we give an example of requesting result types for our Bell state program submitted to SV1. Before doing that, let's see what result types are supported on SV1:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "b17d21060cda7fa7", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:56.304110Z", - "start_time": "2023-11-21T08:32:56.300283Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "name='Sample' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=1 maxShots=100000\n", - "name='Expectation' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=0 maxShots=100000\n", - "name='Variance' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=0 maxShots=100000\n", - "name='Probability' observables=None minShots=1 maxShots=100000\n", - "name='Amplitude' observables=None minShots=0 maxShots=0\n", - "name='AdjointGradient' observables=['x', 'y', 'z', 'h', 'i'] minShots=0 maxShots=0\n" - ] - } - ], - "source": [ - "# print the result types supported by SV1\n", - "for iter in sv1.properties.action['braket.ir.openqasm.program'].supportedResultTypes:\n", - " print(iter)" - ] - }, - { - "cell_type": "markdown", - "id": "bbc02495939691c9", - "metadata": {}, - "source": [ - "With knowing the supported result types on SV1, we choose to request the `Expectation` of $X \\otimes Z$ observable on `q[0]` and `q[1]` and the `Amplitude` result type for a `shots=0` quantum task of our bell program:" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "6e3b521b7356b4bd", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:56.305634Z", - "start_time": "2023-11-21T08:32:56.302835Z" - } - }, - "outputs": [], - "source": [ - "bell_with_result_type = \"\"\"\n", - "OPENQASM 3;\n", - "\n", - "qubit[2] q;\n", - "\n", - "#pragma braket result expectation x(q[0]) @ z(q[1])\n", - "#pragma braket result amplitude \"00\", \"11\"\n", - "h q[0];\n", - "cnot q[0], q[1];\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "6435b34ab2525039", - "metadata": {}, - "source": [ - "The location of the `result` pragma is very flexible as long as it's after the qubit register definition (if you use physical qubits, you can put `result` pragmas anywhere after the program header).\n", - "\n", - "We can submit the above program and receive the results for our requested result types." - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "a42b0ebc71b59136", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:59.113501Z", - "start_time": "2023-11-21T08:32:56.306452Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.0, {'00': (0.7071067811865475+0j), '11': (0.7071067811865475+0j)}]\n" - ] - } - ], - "source": [ - "bell_result_types_task = sv1.run(OpenQASMProgram(source=bell_with_result_type), shots = 0)\n", - "bell_result = bell_result_types_task.result()\n", - "values = bell_result.values\n", - "print(values)" - ] - }, - { - "cell_type": "markdown", - "id": "38675f5678613895", - "metadata": {}, - "source": [ - "At last, we want to remind our Braket OpenQASM users that there are two requirements when requesting result types:\n", - "1. For `shots=0` quantum tasks, requesting non-simultaneously measurable result types is allowed, but for `shots>0` quantum tasks, it is not allowed. For example, we can write the following OpenQASM program in a `shots=0` quantum task but not in a `shots>0` quantum task, since the two result types are not simultaneously measurable:" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "45277f89209faec7", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:59.115339Z", - "start_time": "2023-11-21T08:32:59.112696Z" - } - }, - "outputs": [], - "source": [ - "program_with_non_simultaneously_measurable_result_types = \"\"\"\n", - "OPENQASM 3;\n", - "\n", - "qubit[2] q;\n", - "\n", - "h q[0];\n", - "cnot q[0], q[1];\n", - "\n", - "#pragma braket result expectation x(q[0]) @ z(q[1])\n", - "#pragma braket result expectation hermitian([[0, -1im], [1im, 0]]) q[0]\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "a9af8819fba31a90", - "metadata": {}, - "source": [ - "2. Do not use measurement instructions and request result types in the same OpenQASM program, otherwise a validation error will be raised. Since measurement instructions are basically equivalent to `#pragma braket result sample z(qubit)`, we encourage users to adapt a consistent style of requesting result types in the same program." - ] - }, - { - "cell_type": "markdown", - "id": "db79ad324a5f6478", - "metadata": { - "collapsed": false - }, - "source": [ - "Circuits constructed with `from_ir` will have the correct result types:" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "f3c438da3a351153", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:59.127212Z", - "start_time": "2023-11-21T08:32:59.124909Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "bell_with_result_type:\n", - "T : │ 0 │ 1 │ Result Types │\n", - " ┌───┐ ┌──────────────────┐ \n", - "q0 : ─┤ H ├───●───┤ Expectation(X@Z) ├─\n", - " └───┘ │ └────────┬─────────┘ \n", - " ┌─┴─┐ ┌────────┴─────────┐ \n", - "q1 : ───────┤ X ├─┤ Expectation(X@Z) ├─\n", - " └───┘ └──────────────────┘ \n", - "T : │ 0 │ 1 │ Result Types │\n", - "\n", - "Additional result types: Amplitude(00,11)\n" - ] - } - ], - "source": [ - "print(\"bell_with_result_type:\")\n", - "print(Circuit.from_ir(bell_with_result_type))" - ] - }, - { - "cell_type": "markdown", - "id": "c371de3097c0598a", - "metadata": { - "collapsed": false - }, - "source": [ - "## Advanced OpenQASM features\n", - "\n", - "OpenQASM has features beyond what is natively supported by the `Circuit` class. You can run OpenQASM tasks directly on the Local Simulator or use Circuit.from_ir to convert an OpenQASM program to a Circuit object, which is supported by all circuit-based Braket devices. The following OpenQASM program is a GHZ state written with classical control flow and subroutines:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "5acb72003cd0a0f5", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:04:08.355878Z", - "start_time": "2023-12-04T04:04:08.353679Z" - }, - "collapsed": false - }, - "outputs": [], - "source": [ - "ghz_with_advanced_features = \"\"\"\n", - "OPENQASM 3.0;\n", - "\n", - "def ghz(int[32] n) {\n", - " h q[0];\n", - " for int i in [0:n - 1] {\n", - " cnot q[i], q[i + 1];\n", - " }\n", - "}\n", - "\n", - "int[32] n = 5;\n", - "bit[n + 1] c;\n", - "qubit[n + 1] q;\n", - "\n", - "ghz(n);\n", - "\n", - "c = measure q;\n", - "\"\"\"\n", - "qasm_program = OpenQASMProgram(source=ghz_with_advanced_features)" - ] - }, - { - "cell_type": "markdown", - "id": "f5d32bd10c64543", - "metadata": { - "collapsed": false - }, - "source": [ - "The local simulator supports these features:" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "c82bee530da348f6", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:04:13.932270Z", - "start_time": "2023-12-04T04:04:13.863203Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "This program uses OpenQASM language features that may not be supported on QPUs or on-demand simulators.\n" - ] - }, - { - "data": { - "text/plain": [ - "Counter({'000000': 505, '111111': 495})" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from braket.devices import LocalSimulator\n", - "LocalSimulator().run(qasm_program, shots=1000).result().measurement_counts" - ] - }, - { - "cell_type": "markdown", - "id": "96fca192b4f51797", - "metadata": { - "collapsed": false - }, - "source": [ - "but SV1 does not. However, `from_ir` will \"unroll\" the subroutine and loop to create a `Circuit` object that _can_ run on SV1:" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "b0886dfc74978bfa", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:04:19.974386Z", - "start_time": "2023-12-04T04:04:16.705969Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "This program uses OpenQASM language features that may not be supported on QPUs or on-demand simulators.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │\n", - " ┌───┐ ┌───┐ \n", - "q0 : ─┤ H ├───●───────────────────────────┤ M ├─\n", - " └───┘ │ └───┘ \n", - " ┌─┴─┐ ┌───┐ \n", - "q1 : ───────┤ X ├───●─────────────────────┤ M ├─\n", - " └───┘ │ └───┘ \n", - " ┌─┴─┐ ┌───┐ \n", - "q2 : ─────────────┤ X ├───●───────────────┤ M ├─\n", - " └───┘ │ └───┘ \n", - " ┌─┴─┐ ┌───┐ \n", - "q3 : ───────────────────┤ X ├───●─────────┤ M ├─\n", - " └───┘ │ └───┘ \n", - " ┌─┴─┐ ┌───┐ \n", - "q4 : ─────────────────────────┤ X ├───●───┤ M ├─\n", - " └───┘ │ └───┘ \n", - " ┌─┴─┐ ┌───┐ \n", - "q5 : ───────────────────────────────┤ X ├─┤ M ├─\n", - " └───┘ └───┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │\n", - "Counter({'000000': 500, '111111': 500})\n" - ] - } - ], - "source": [ - "circuit = Circuit.from_ir(qasm_program)\n", - "print(circuit)\n", - "print(sv1.run(circuit, shots=1000).result().measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "id": "a329fa3df47ffee4", - "metadata": { - "collapsed": false - }, - "source": [ - "For an in-depth exploration of advanced OpenQASM features, see [Simulating Advanced OpenQASM Programs with the Local Simulator](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Simulating_Advanced_OpenQASM_Programs_with_the_Local_Simulator.ipynb)." - ] - }, - { - "cell_type": "markdown", - "id": "9e4c7a48a2b83ce1", - "metadata": {}, - "source": [ - "# Conclusion\n", - "\n", - "In this notebook, you learned how to submit OpenQASM quantum tasks and use OpenQASM features on Braket. Hope you enjoyed it! You can find more information about OpenQASM3.0 in its [live specification](https://openqasm.com/), and you can learn more about OpenQASM support on Braket in the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/latest/developerguide/)." - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "3f5bc3dfad520f14", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:59.624204Z", - "start_time": "2023-11-21T08:32:59.127772Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Quantum Task Summary\n", - "{<_Amazon.SV1: 'arn:aws:braket:::device/quantum-simulator/amazon/sv1'>: {'shots': 1120, 'tasks': {'CREATED': 1, 'COMPLETED': 4}, 'execution_duration': datetime.timedelta(microseconds=104000), 'billed_execution_duration': datetime.timedelta(seconds=12)}, <_Amazon.DM1: 'arn:aws:braket:::device/quantum-simulator/amazon/dm1'>: {'shots': 30, 'tasks': {'COMPLETED': 3}, 'execution_duration': datetime.timedelta(microseconds=39000), 'billed_execution_duration': datetime.timedelta(seconds=9)}, <_Rigetti.Ankaa2: 'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2'>: {'shots': 20, 'tasks': {'COMPLETED': 2}}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 0.64 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\")" - ] - } - ], - "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.9.6" - } + "cells": [ + { + "cell_type": "markdown", + "id": "80787a2d092c6fe2", + "metadata": {}, + "source": [ + "# Getting Started with OpenQASM on Braket" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f30932accbfc8959", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:29.377972Z", + "start_time": "2023-12-04T04:03:29.350550Z" + } + }, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "\n", + "t = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "id": "a2b23cf2abc23663", + "metadata": {}, + "source": [ + "OpenQASM is a popular human-readable and hardware-agnostic quantum circuit description language. It is open-source and has been actively maintained by a [Technical Steering Committee](https://medium.com/qiskit/introducing-a-technical-steering-committee-for-openqasm3-f9db808108e1) formed by IBM, Amazon, Microsoft and the University of Innsbruck. Amazon Braket now supports OpenQASM 3.0 as an *Intermediate Representation* (IR) in addition to the in-house *JSON-Based AWS Quantum Circuit Description* ([JAQCD](https://github.com/amazon-braket/amazon-braket-schemas-python/tree/main/src/braket/ir/jaqcd)). In this notebook, we demonstrate how to submit OpenQASM quantum tasks to various devices on Braket and introduce some OpenQASM features available on Braket." + ] + }, + { + "cell_type": "markdown", + "id": "ee898521529c0469", + "metadata": {}, + "source": [ + "## Create and submit an OpenQASM quantum task\n", + "\n", + "Submitting a quantum task with OpenQASM is just as simple as using JAQCD. You can use the Amazon Braket Python SDK, Boto3, or the AWS CLI to submit OpenQASM 3.0 quantum tasks to an Amazon Braket device. We will go over each method in this section.\n", + "\n", + "\n", + "### A Bell state\n", + "\n", + "We will start with by preparing a [Bell state](https://en.wikipedia.org/wiki/Bell_state) in OpenQASM:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ca2bc5f0a29e6dd6", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:31.815079Z", + "start_time": "2023-12-04T04:03:31.796365Z" + } + }, + "outputs": [], + "source": [ + "bell_qasm = \"\"\"\n", + "OPENQASM 3;\n", + "\n", + "qubit[2] q;\n", + "bit[2] c;\n", + "\n", + "h q[0];\n", + "cnot q[0], q[1];\n", + "\n", + "c = measure q;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "d9b588c2b02979f6", + "metadata": {}, + "source": [ + "Compare this to the same Bell state written in JAQCD:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a378dc21e3ede3d0", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:32.662932Z", + "start_time": "2023-12-04T04:03:32.608503Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + " \"braketSchemaHeader\": {\n", + " \"name\": \"braket.ir.jaqcd.program\",\n", + " \"version\": \"1\"\n", + " },\n", + " \"instructions\": [\n", + " {\n", + " \"target\": 0,\n", + " \"type\": \"h\"\n", + " },\n", + " {\n", + " \"control\": 0,\n", + " \"target\": 1,\n", + " \"type\": \"cnot\"\n", + " }\n", + " ],\n", + " \"results\": null,\n", + " \"basis_rotation_instructions\": null\n", + "}\n" + ] + } + ], + "source": [ + "from braket.ir.jaqcd import CNot, H, Program\n", + "\n", + "program = Program(instructions=[H(target=0), CNot(control=0, target=1)])\n", + "print(program.json(indent=2))" + ] + }, + { + "cell_type": "markdown", + "id": "b8f68befdae02c0", + "metadata": {}, + "source": [ + "Immediately, we can see a difference: In OpenQASM, users define their own qubit registers, and thus the syntax is closer to what quantum algorithm researchers are used to; on the other hand, in JAQCD, qubits are indexed by integers and the convention is closer to that of hardware providers. Also, JAQCD has result types and basis rotation instructions embedded in the language while OpenQASM doesn't support them inherently (but later we will show how to use the `pragma` syntax to support them in OpenQASM)." + ] + }, + { + "cell_type": "markdown", + "id": "a92df8c76a81db2c", + "metadata": {}, + "source": [ + "\n", + "### Use the Python SDK to create OpenQASM 3.0 quantum tasks\n", + "\n", + "Most Braket users might want to use the Braket Python SDK to submit OpenQASM quantum tasks. To submit our Bell state program in the Python SDK, we first choose the quantum device that we want to run our program on. In this example, we will use the SV1 state-vector simulator for demonstration." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8b433a601a62b11d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:38.321971Z", + "start_time": "2023-12-04T04:03:36.978785Z" + } + }, + "outputs": [], + "source": [ + "from braket.aws import AwsDevice\n", + "from braket.devices import Devices\n", + "\n", + "sv1 = AwsDevice(Devices.Amazon.SV1)" + ] + }, + { + "cell_type": "markdown", + "id": "d46340ec242cfc8b", + "metadata": {}, + "source": [ + "To submit the OpenQASM quantum task, we initialize an `OpenQASMProgram` object using the Bell state program text string `bell_qasm` we defined above and send it to the SV1 simulator." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1e81325c5357195d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:41.134199Z", + "start_time": "2023-12-04T04:03:39.866510Z" }, - "nbformat": 4, - "nbformat_minor": 5 + "scrolled": false + }, + "outputs": [], + "source": [ + "from braket.ir.openqasm import Program as OpenQASMProgram\n", + "\n", + "bell_program = OpenQASMProgram(source=bell_qasm)\n", + "bell_task = sv1.run(\n", + " bell_program,\n", + " shots=100,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "ba9729ce6ab2bf91", + "metadata": {}, + "source": [ + "### Submit OpenQASM 3.0 programs using the AWS Command Line Interface\n", + "\n", + "Alternatively, if you like the command line experience or you are not a Python user, you can also choose to use the [AWS Command Line Interface (CLI)](https://aws.amazon.com/cli/) to submit our Bell state program. Before doing that we have to make sure we have [AWS CLI installed](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). The following code saves the `bell_qasm` string to a file named `bell.qasm`:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "61362f489016dd1f", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.407834Z", + "start_time": "2023-11-21T08:32:41.403524Z" + } + }, + "outputs": [], + "source": [ + "with open(\"bell.qasm\", \"w\") as f:\n", + " f.write(bell_qasm)" + ] + }, + { + "cell_type": "markdown", + "id": "5c4be932b51fd2ac", + "metadata": {}, + "source": [ + "Then we can use the command below to submit the quantum task via AWS CLI. Remember to replace the placeholder \\\"amazon-braket-my-bucket\\\" with your own bucket name.\n", + " \n", + " aws braket create-quantum-task \\\n", + " --region \"us-west-1\" \\\n", + " --device-arn \"arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2\" \\\n", + " --shots 100 \\\n", + " --action '{\n", + " \"braketSchemaHeader\": {\n", + " \"name\": \"braket.ir.openqasm.program\", \n", + " \"version\": \"1\"\n", + " },\n", + " \"source\": $(cat bell.qasm)\n", + " }'" + ] + }, + { + "cell_type": "markdown", + "id": "68222e9240c91d58", + "metadata": { + "collapsed": false + }, + "source": [ + "## Convert OpenQASM 3.0 programs to circuits\n", + "\n", + "You can convert OpenQASM programs into Braket `Circuit` objects if you want to programmatically change your program." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "96417df481e2f5d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.420933Z", + "start_time": "2023-11-21T08:32:41.407658Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌───┐ ┌───┐ \n", + "q0 : ─┤ H ├───●───┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q1 : ───────┤ X ├─┤ M ├─\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "from braket.circuits import Circuit\n", + "\n", + "print(Circuit.from_ir(bell_qasm))" + ] + }, + { + "cell_type": "markdown", + "id": "4fec44c2bb4680df", + "metadata": {}, + "source": [ + "## Figure out what OpenQASM features are supported on each device\n", + "\n", + "Different devices on Braket support different subsets of OpenQASM features. To see what are the supported OpenQASM features on each device, we can simply check the device capability for OpenQASM actions. As an example, we can take a look at the `action` field in the device capability of SV1 simulator:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "78a5c9f03581cea4", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.425542Z", + "start_time": "2023-11-21T08:32:41.422663Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['ccnot',\n", + " 'cnot',\n", + " 'cphaseshift',\n", + " 'cphaseshift00',\n", + " 'cphaseshift01',\n", + " 'cphaseshift10',\n", + " 'cswap',\n", + " 'cy',\n", + " 'cz',\n", + " 'ecr',\n", + " 'h',\n", + " 'i',\n", + " 'iswap',\n", + " 'pswap',\n", + " 'phaseshift',\n", + " 'rx',\n", + " 'ry',\n", + " 'rz',\n", + " 's',\n", + " 'si',\n", + " 'swap',\n", + " 't',\n", + " 'ti',\n", + " 'v',\n", + " 'vi',\n", + " 'x',\n", + " 'xx',\n", + " 'xy',\n", + " 'y',\n", + " 'yy',\n", + " 'z',\n", + " 'zz',\n", + " 'gpi',\n", + " 'gpi2',\n", + " 'ms']" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# supportedOperations\n", + "sv1.properties.action[\"braket.ir.openqasm.program\"].supportedOperations" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "85fbc40dc254813e", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.463833Z", + "start_time": "2023-11-21T08:32:41.425725Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['braket_unitary_matrix',\n", + " 'braket_basis_rotation',\n", + " 'braket_result_type_sample',\n", + " 'braket_result_type_expectation',\n", + " 'braket_result_type_variance',\n", + " 'braket_result_type_probability',\n", + " 'braket_result_type_amplitude',\n", + " 'braket_result_type_adjoint_gradient']" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# supportedPragmas\n", + "sv1.properties.action[\"braket.ir.openqasm.program\"].supportedPragmas" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "1fa721d9960f5412", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.464559Z", + "start_time": "2023-11-21T08:32:41.429030Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['braket_result_type_state_vector',\n", + " 'braket_result_type_density_matrix',\n", + " 'braket_noise_amplitude_damping',\n", + " 'braket_noise_bit_flip',\n", + " 'braket_noise_depolarizing',\n", + " 'braket_noise_kraus',\n", + " 'braket_noise_pauli_channel',\n", + " 'braket_noise_generalized_amplitude_damping',\n", + " 'braket_noise_phase_flip',\n", + " 'braket_noise_phase_damping',\n", + " 'braket_noise_two_qubit_dephasing',\n", + " 'braket_noise_two_qubit_depolarizing']" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# forbiddenPragmas\n", + "sv1.properties.action[\"braket.ir.openqasm.program\"].forbiddenPragmas" + ] + }, + { + "cell_type": "markdown", + "id": "8190bb8089c7db3f", + "metadata": {}, + "source": [ + "The SV1 OpenQASM `action` field lists supported/forbidden OpenQASM features on the device, including `supportedPragmas`, `forbiddenPragmas`, `maximumQubitArrays`, `maximumClassicalArrays`, `requiresAllQubitsMeasurement`, `supportedResultTypes`, etc. The names are self-evident, but readers are encouraged to visit the [Amazon Braket developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-using.html) for full information of what these fields mean." + ] + }, + { + "cell_type": "markdown", + "id": "ee537a4601e4c244", + "metadata": {}, + "source": [ + "# OpenQASM features on Braket\n", + "\n", + "Braket supports many useful OpenQASM features, either through the OpenQASM program syntax or Braket-specific pragmas. We will walk through some of these features in this section.\n", + "\n", + "## Simulating Noise with OpenQASM\n", + "\n", + "With the fully on-demand, high-performance, density-matrix simulator [DM1](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-dm1), you can easily investigate the effects of realistic noise on your quantum programs. Now, we show how to use OpenQASM programs to leverage the circuit-level noise simulation capability of DM1.\n", + "\n", + "To simulate noise, we have to be able to specify different noise channels. Although syntax for noise channels is not available in the OpenQASM language, Braket uses the `pragma` statement to extend OpenQASM for defining noise channels. Here is an example of an OpenQASM program that prepares a noisy 3-qubit [GHZ state](https://en.wikipedia.org/wiki/Greenberger%E2%80%93Horne%E2%80%93Zeilinger_state):" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "4d8a62cfc51a18b", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.464621Z", + "start_time": "2023-11-21T08:32:41.431447Z" + } + }, + "outputs": [], + "source": [ + "noisy_ghz3_program = \"\"\"\n", + "// noisy_ghz3.qasm\n", + "// Prepare a 3 noisy qubit GHZ state\n", + "OPENQASM 3;\n", + "\n", + "qubit[3] q;\n", + "bit[3] c;\n", + "\n", + "h q[0];\n", + "#pragma braket noise depolarizing(0.1) q[0]\n", + "cnot q[0], q[1];\n", + "#pragma braket noise depolarizing(0.1) q[0]\n", + "#pragma braket noise depolarizing(0.1) q[1]\n", + "cnot q[1], q[2];\n", + "#pragma braket noise depolarizing(0.1) q[0]\n", + "#pragma braket noise depolarizing(0.1) q[1]\n", + "\n", + "c = measure q;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "3a988726bb4c39e8", + "metadata": {}, + "source": [ + "In the example above, we inserted the depolarizing noise channel with probability of 0.1 after each gate in the circuit. The `noisy_ghz3_program` is equivalent to the following program in the Braket SDK:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "647e3717ccbba672", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.464801Z", + "start_time": "2023-11-21T08:32:41.434396Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Circuit('instructions': [Instruction('operator': H('qubit_count': 1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': CNot('qubit_count': 2), 'target': QubitSet([Qubit(0), Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': CNot('qubit_count': 2), 'target': QubitSet([Qubit(1), Qubit(2)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(2)]), 'control': QubitSet([]), 'control_state': (), 'power': 1)])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from braket.circuits import Circuit, noises\n", + "\n", + "noisy_ghz3_circ = Circuit().h(0).cnot(0, 1).cnot(1, 2)\n", + "noise = noises.Depolarizing(probability=0.1)\n", + "noisy_ghz3_circ.apply_gate_noise(noise)" + ] + }, + { + "cell_type": "markdown", + "id": "1db047fbac6a26bb", + "metadata": {}, + "source": [ + "To see if `noisy_ghz3_program` and `noisy_ghz3_circ` are indeed the same, we can run both circuits and compare the results:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "4c57de26c172aa5", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:42.963722Z", + "start_time": "2023-11-21T08:32:41.441098Z" + } + }, + "outputs": [], + "source": [ + "dm1 = AwsDevice(Devices.Amazon.DM1)\n", + "\n", + "noisy_ghz3_circ_task = dm1.run(noisy_ghz3_circ, shots=10)\n", + "noisy_ghz3_program_task = dm1.run(OpenQASMProgram(source=noisy_ghz3_program), shots=10)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "75984e0e95dc4afb", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:45.959888Z", + "start_time": "2023-11-21T08:32:42.975561Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sdk measurement results: Counter({'111': 4, '000': 3, '101': 2, '100': 1})\n", + "openqasm measurement results: Counter({'111': 3, '000': 3, '100': 2, '011': 1, '010': 1})\n" + ] + } + ], + "source": [ + "sdk_result = noisy_ghz3_circ_task.result()\n", + "openqasm_result = noisy_ghz3_program_task.result()\n", + "sdk_measurement = sdk_result.measurement_counts\n", + "openqasm_measurement = openqasm_result.measurement_counts\n", + "print(\"sdk measurement results:\", sdk_measurement)\n", + "print(\"openqasm measurement results:\", openqasm_measurement)" + ] + }, + { + "cell_type": "markdown", + "id": "f2720672ca96b104", + "metadata": {}, + "source": [ + "As expected, the measurement counts of the two are very close.\n", + "\n", + "In addition to depolarizing noises, we can simulate more complicated noise types with Braket, e.g., `pauli_channel`, `amplitude_damping`, etc. Check the [Amazon Braket developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-using.html) for a complete list of noise channels supported on Braket. Here we give another example of general noise channels defined by the Kraus representation." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "f3231a7767d20640", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:45.971122Z", + "start_time": "2023-11-21T08:32:45.960859Z" + } + }, + "outputs": [], + "source": [ + "noisy_program_with_kraus_operators = \"\"\"\n", + "// noisy_program_with_kraus_operators\n", + "OPENQASM 3;\n", + "\n", + "qubit[2] q;\n", + "bit[2] c;\n", + "\n", + "h q[0];\n", + "#pragma braket noise kraus([[0.9486833, 0], [0, 0.9486833]], [[0, 0.31622777], [0.31622777, 0]]) q[0]\n", + "cnot q[0], q[1];\n", + "\n", + "c = measure q;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "ebac8bbb6d45341d", + "metadata": {}, + "source": [ + "We inserted a single qubit noise channel defined by two 2x2 complex Kraus operators in the example above on qubit `q[0]`. Braket will validate if the Kraus operators indeed form a Completely-Positive and Trace-Preserving (CPTP) map." + ] + }, + { + "cell_type": "markdown", + "id": "ffa5e09c2ceab140", + "metadata": { + "collapsed": false + }, + "source": [ + "The `from_ir` method supports noise operations, including general Kraus operators." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "69c7ae1c396ac705", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:46.004276Z", + "start_time": "2023-11-21T08:32:45.977541Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "noisy_ghz3_program:\n", + "T : │ 0 │ 1 │ 2 │ 3 │\n", + " ┌───┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───┐ \n", + "q0 : ─┤ H ├─┤ DEPO(0.1) ├───●───┤ DEPO(0.1) ├─┤ DEPO(0.1) ├─────────────────────┤ M ├─\n", + " └───┘ └───────────┘ │ └───────────┘ └───────────┘ └───┘ \n", + " ┌─┴─┐ ┌───────────┐ ┌───────────┐ ┌───┐ \n", + "q1 : ─────────────────────┤ X ├─┤ DEPO(0.1) ├─────────────────●───┤ DEPO(0.1) ├─┤ M ├─\n", + " └───┘ └───────────┘ │ └───────────┘ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q2 : ───────────────────────────────────────────────────────┤ X ├───────────────┤ M ├─\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │\n", + "\n", + "noisy_program_with_kraus_operators:\n", + "T : │ 0 │ 1 │ 2 │\n", + " ┌───┐ ┌────┐ ┌───┐ \n", + "q0 : ─┤ H ├─┤ KR ├───●───┤ M ├─\n", + " └───┘ └────┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q1 : ──────────────┤ X ├─┤ M ├─\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │\n", + "\n", + "Kraus operators:\n" + ] + }, + { + "data": { + "text/plain": [ + "[array([[0.9486833+0.j, 0. +0.j],\n", + " [0. +0.j, 0.9486833+0.j]]),\n", + " array([[0. +0.j, 0.31622777+0.j],\n", + " [0.31622777+0.j, 0. +0.j]])]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"noisy_ghz3_program:\")\n", + "print(Circuit.from_ir(noisy_ghz3_program))\n", + "print()\n", + "print(\"noisy_program_with_kraus_operators:\")\n", + "circuit_kraus = Circuit.from_ir(noisy_program_with_kraus_operators)\n", + "print(circuit_kraus)\n", + "print()\n", + "print(\"Kraus operators:\")\n", + "circuit_kraus.instructions[1].operator.to_matrix()" + ] + }, + { + "cell_type": "markdown", + "id": "a6b1ce4e1900550", + "metadata": {}, + "source": [ + "## Submitting parametrized quantum tasks with OpenQASM\n", + "\n", + "The on-demand [SV1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-sv1) and [DM1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-dm1) support submitting OpenQASM programs with free parameters. You can set the value of the parameter when you submit the quantum task, like so:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "71245a134d32fa26", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:46.007177Z", + "start_time": "2023-11-21T08:32:46.003030Z" + } + }, + "outputs": [], + "source": [ + "parameter_qasm = \"\"\"\n", + "OPENQASM 3.0;\n", + "input float alpha;\n", + "\n", + "bit[2] b;\n", + "qubit[2] q;\n", + "\n", + "h q[0];\n", + "h q[1];\n", + "rx(alpha) q[0];\n", + "rx(alpha) q[1];\n", + "b[0] = measure q[0];\n", + "b[1] = measure q[1];\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "bec130ddc2409db5", + "metadata": {}, + "source": [ + "The `input float alpha` line indicates that we have an input parameter of type `float` named `alpha`. We can specify a value for `alpha` when we submit the quantum task using the optional `inputs` argument to `run`. `input` should be a `dict` of `string`-`float` pairs." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "b831353ac6cfab2a", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:48.743543Z", + "start_time": "2023-11-21T08:32:46.007096Z" + }, + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'11': 4, '01': 3, '00': 2, '10': 1})\n" + ] + } + ], + "source": [ + "input_dict = {\"alpha\": 0.1}\n", + "param_sv1_task = sv1.run(OpenQASMProgram(source=parameter_qasm), shots=10, inputs=input_dict)\n", + "param_sv1_result = param_sv1_task.result()\n", + "print(param_sv1_result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "id": "eb90a29d1debc7b4", + "metadata": {}, + "source": [ + "Similarly, we can specify values for parametrized noise operations:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "94f2688b3380c621", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:48.746739Z", + "start_time": "2023-11-21T08:32:48.743876Z" + } + }, + "outputs": [], + "source": [ + "parameter_noise_qasm = \"\"\"\n", + "OPENQASM 3.0;\n", + "input float beta;\n", + "input float alpha;\n", + "bit[2] b;\n", + "qubit[2] q;\n", + "h q[0];\n", + "h q[1];\n", + "rx(alpha) q[0];\n", + "rx(alpha) q[1];\n", + "#pragma braket noise bit_flip(beta) q[0]\n", + "b[0] = measure q[0];\n", + "b[1] = measure q[1];\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "101d366dca84ddb2", + "metadata": {}, + "source": [ + "We can see there are now two `input` lines, one for each free parameter." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "a0aa8a773b16dc22", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:51.579287Z", + "start_time": "2023-11-21T08:32:48.747668Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'01': 3, '11': 3, '10': 3, '00': 1})\n" + ] + } + ], + "source": [ + "noise_input_dict = {\"alpha\": 0.1, \"beta\": 0.2}\n", + "param_dm1_task = dm1.run(OpenQASMProgram(source=parameter_qasm), shots=10, inputs=noise_input_dict)\n", + "param_dm1_result = param_dm1_task.result()\n", + "print(param_dm1_result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "id": "7e60112ddc974a94", + "metadata": {}, + "source": [ + "## Simulating arbitrary unitaries with OpenQASM\n", + "\n", + "The on-demand [SV1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-sv1) allows us to simulate arbitrary unitary gates in a circuit. With OpenQASM, we can use the `unitary` pramga to insert these arbitrary unitary gates: " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "ffc32efec9315f0", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:51.589214Z", + "start_time": "2023-11-21T08:32:51.579008Z" + } + }, + "outputs": [], + "source": [ + "program_with_unitary = \"\"\"\n", + "// noisy_program_with_kraus_operators\n", + "OPENQASM 3;\n", + "\n", + "qubit q;\n", + "bit c;\n", + "\n", + "#pragma braket unitary([[0, -1im], [1im, 0]]) q\n", + "c = measure q;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "8c190474a6e28563", + "metadata": {}, + "source": [ + "The `1im` in the `unitary` pragma is the OpenQASM notation of the imaginary number $i$, thus, we were simply using the pragma to perform a Pauli Y gate. We can check it by submitting the above program to SV1." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "6d687471d81b2367", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:54.390589Z", + "start_time": "2023-11-21T08:32:51.586164Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'1': 10})\n" + ] + } + ], + "source": [ + "unitary_task = sv1.run(OpenQASMProgram(source=program_with_unitary), shots=10)\n", + "unitary_result = unitary_task.result()\n", + "print(unitary_result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "id": "76f2897ec744dafb", + "metadata": {}, + "source": [ + "As expected, the Pauli Y gate flipped the initial 0 state to the 1 state." + ] + }, + { + "cell_type": "markdown", + "id": "111ead44155005a8", + "metadata": { + "collapsed": false + }, + "source": [ + "`from_ir` will reconstruct the unitary:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "7b631be4b6785b90", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:54.403015Z", + "start_time": "2023-11-21T08:32:54.398210Z" + }, + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.+0.j, 0.-1.j],\n", + " [0.+1.j, 0.+0.j]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Circuit.from_ir(program_with_unitary).instructions[0].operator.to_matrix()" + ] + }, + { + "cell_type": "markdown", + "id": "ce9caf39", + "metadata": {}, + "source": [ + "## Measuring specific qubits with OpenQASM\n", + "\n", + "The Local State Vector Simulator and Local Density Matrix Simulator support submitting OpenQASM programs where a subset of the circuit's qubits can be measured, which is often called partial measurement. For example, you can create a two-qubit circuit and only measure the first qubit like so:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "d33a0cb6", + "metadata": {}, + "outputs": [], + "source": [ + "partial_measure_qasm = \"\"\"\n", + "OPENQASM 3.0;\n", + "bit[1] b;\n", + "qubit[2] q;\n", + "h q[0];\n", + "cnot q[0], q[1];\n", + "b[0] = measure q[0];\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "81247da3", + "metadata": {}, + "source": [ + "We can see that there are two qubits, `q[0]` and `q[1]` but we are only measuring qubit 0 here: `b[0] = measure q[0]`.\n", + "\n", + "Now we can run this on the local state vector simulator" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "d747fcb4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'1': 7, '0': 3})\n", + "Measured qubits: [0]\n" + ] + } + ], + "source": [ + "from braket.devices import LocalSimulator\n", + "\n", + "local_sim = LocalSimulator()\n", + "partial_measure_local_sim_task = local_sim.run(\n", + " OpenQASMProgram(source=partial_measure_qasm), shots=10\n", + ")\n", + "partial_measure_local_sim_result = partial_measure_local_sim_task.result()\n", + "print(partial_measure_local_sim_result.measurement_counts)\n", + "print(\"Measured qubits: \", partial_measure_local_sim_result.measured_qubits)" + ] + }, + { + "cell_type": "markdown", + "id": "923c3cd7", + "metadata": {}, + "source": [ + "As expected, only the targeted qubits were measured. \n", + "\n", + "The OpenQASM program `partial_measure_qasm` is equivalent to the following `Circuit`:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "5b4e6ae6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'0': 5, '1': 5})\n", + "Measured qubits: [0]\n" + ] + } + ], + "source": [ + "partial_measure = Circuit().h(0).cnot(0, 1).measure(0)\n", + "partial_measure_task = local_sim.run(partial_measure, shots=10)\n", + "partial_measure_result = partial_measure_task.result()\n", + "print(partial_measure_result.measurement_counts)\n", + "print(\"Measured qubits: \", partial_measure_result.measured_qubits)" + ] + }, + { + "cell_type": "markdown", + "id": "49b97636", + "metadata": {}, + "source": [ + "We can check whether a device supports partial measurement by inspecting the `requiresAllQubitsMeasurement` field in its action properties; if it is `False`, then partial measurement is supported." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "74a715eb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AwsDevice(Devices.Rigetti.Ankaa2).properties.action[\n", + " \"braket.ir.openqasm.program\"\n", + "].requiresAllQubitsMeasurement" + ] + }, + { + "cell_type": "markdown", + "id": "a6a94ac1", + "metadata": {}, + "source": [ + "Here, `requiresAllQubitsMeasurement` is `False`, which indicates that not all qubits must be measured." + ] + }, + { + "cell_type": "markdown", + "id": "8996e0c59741a66f", + "metadata": {}, + "source": [ + "## Qubit Rewiring with OpenQASM\n", + "\n", + "Amazon Braket supports the [physical qubit notation within OpenQASM](https://openqasm.com/language/types.html#physical-qubits) on Rigetti devices. When using physical qubits, you have to ensure that the qubits are indeed connected on the selected device. Alternatively, if qubit registers are used instead, the `PARTIAL` rewiring strategy is enabled by default on Rigetti devices. The following example shows how to use physical qubit notation in an OpenQASM program:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "144cc3e458a21b2d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:54.410178Z", + "start_time": "2023-11-21T08:32:54.402877Z" + } + }, + "outputs": [], + "source": [ + "ghz_program_with_physical_qubits = \"\"\"\n", + "// Prepare a GHZ state\n", + "OPENQASM 3;\n", + "\n", + "bit[3] ro;\n", + "h $0;\n", + "cnot $0, $1;\n", + "cnot $1, $2;\n", + "ro[0] = measure $0;\n", + "ro[1] = measure $1;\n", + "ro[2] = measure $2;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "3f01e6dc44e0e226", + "metadata": {}, + "source": [ + "We can run the above program on the Rigetti Ankaa-2 device," + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "768b980b78c4d451", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:55.489511Z", + "start_time": "2023-11-21T08:32:54.414005Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Measured qubits: [0, 1, 2]\n" + ] + } + ], + "source": [ + "# choose the quantum device\n", + "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "ghz_program_with_physical_qubits_task = rigetti.run(\n", + " OpenQASMProgram(source=ghz_program_with_physical_qubits), shots=10\n", + ")\n", + "measured_qubits = ghz_program_with_physical_qubits_task.result().measured_qubits\n", + "print(\"Measured qubits:\", measured_qubits)" + ] + }, + { + "cell_type": "markdown", + "id": "5a5597dc7843d541", + "metadata": {}, + "source": [ + "As we can see, physical qubits 0, 1 and 2 are indeed being used and measured." + ] + }, + { + "cell_type": "markdown", + "id": "25cb2ccc4337dc1e", + "metadata": {}, + "source": [ + "
\n", + " Note: This section and the next verbatim box section uses the Rigetti Ankaa-2 device. When you run this notebook, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "9c30ec68828b17ff", + "metadata": {}, + "source": [ + "## Verbatim Compilation with OpenQASM\n", + "\n", + "In [a previous example notebook](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Verbatim_Compilation.ipynb), we talked about verbatim compilation on Braket to gain more precise control on Rigetti devices. With OpenQASM3.0, we can use the `box` syntax together with the `verbatim` pragma to perform verbatim compilation. Here is an example:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "a69ab8a7a04aa190", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:55.492060Z", + "start_time": "2023-11-21T08:32:55.489240Z" + } + }, + "outputs": [], + "source": [ + "program_with_verbatim_box = \"\"\"\n", + "OPENQASM 3;\n", + "\n", + "bit[2] ro;\n", + "#pragma braket verbatim\n", + "box{\n", + " rx(3.141592653589793) $0;\n", + " rx(3.141592653589793) $0;\n", + " iswap $0, $1;\n", + "}\n", + "ro[0] = measure $0;\n", + "ro[1] = measure $1;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "d503dc700f00f7b7", + "metadata": {}, + "source": [ + "To program with verbatim boxes, we need to make sure that\n", + "- we are using native gates supported by Rigetti devices. Native gates can be found using the following script:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "a1cb1cb78d32b7b1", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:55.496864Z", + "start_time": "2023-11-21T08:32:55.493060Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The native gates for the Ankaa-2 device are:\n", + "rx\n", + "rz\n", + "cz\n", + "iswap\n" + ] + } + ], + "source": [ + "print(\"The native gates for the\", rigetti.name, \"device are:\")\n", + "for gate in rigetti.properties.paradigm.nativeGateSet:\n", + " print(gate)" + ] + }, + { + "cell_type": "markdown", + "id": "1d24104e29717209", + "metadata": {}, + "source": [ + "- we use the physical qubit notation.\n", + "- qubit operands are indeed connected on the physical device. Recall that the device qubit connectivity can be found using the following commands:" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "f6a7ffff1914fd03", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:56.296409Z", + "start_time": "2023-11-21T08:32:55.495523Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import networkx as nx\n", + "\n", + "# access and visualize the device topology\n", + "print(rigetti.properties.paradigm.connectivity.connectivityGraph)\n", + "nx.draw_kamada_kawai(rigetti.topology_graph, with_labels=True, font_color=\"white\")" + ] + }, + { + "cell_type": "markdown", + "id": "9fa09f83a0747394", + "metadata": {}, + "source": [ + "Now we can submit a quantum task of the above program with verbatim box." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "b5e7c89c1c9f8879", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:56.299544Z", + "start_time": "2023-11-21T08:32:56.297194Z" + }, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[2]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(3.141592653589793) 0\n", + "RX(3.141592653589793) 0\n", + "ISWAP 0 1\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 0 ro[0]\n", + "MEASURE 1 ro[1]\n" + ] + } + ], + "source": [ + "verbatim_task = rigetti.run(OpenQASMProgram(source=program_with_verbatim_box), shots=10)\n", + "verbatim_result = verbatim_task.result()\n", + "meta = verbatim_result.additional_metadata.rigettiMetadata\n", + "print(meta.compiledProgram)" + ] + }, + { + "cell_type": "markdown", + "id": "bcd27bc239db889d", + "metadata": {}, + "source": [ + "As shown above, the two consecutive `rx` $\\pi$-rotation gates did not get optimized and we confirm that our program was indeed executed verbatim." + ] + }, + { + "cell_type": "markdown", + "id": "b4768a96f7b1b3b6", + "metadata": {}, + "source": [ + "## Requesting Result Types with OpenQASM\n", + "\n", + "Braket provides [a rich library of result types](https://docs.aws.amazon.com/braket/latest/developerguide/braket-result-types.html) for circuit executions. With OpenQASM, requesting different result types for our quantum tasks is easier than ever using the `result` pragma. Next, we give an example of requesting result types for our Bell state program submitted to SV1. Before doing that, let's see what result types are supported on SV1:" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "b17d21060cda7fa7", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:56.304110Z", + "start_time": "2023-11-21T08:32:56.300283Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "name='Sample' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=1 maxShots=100000\n", + "name='Expectation' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=0 maxShots=100000\n", + "name='Variance' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=0 maxShots=100000\n", + "name='Probability' observables=None minShots=1 maxShots=100000\n", + "name='Amplitude' observables=None minShots=0 maxShots=0\n", + "name='AdjointGradient' observables=['x', 'y', 'z', 'h', 'i'] minShots=0 maxShots=0\n" + ] + } + ], + "source": [ + "# print the result types supported by SV1\n", + "for iter in sv1.properties.action[\"braket.ir.openqasm.program\"].supportedResultTypes:\n", + " print(iter)" + ] + }, + { + "cell_type": "markdown", + "id": "bbc02495939691c9", + "metadata": {}, + "source": [ + "With knowing the supported result types on SV1, we choose to request the `Expectation` of $X \\otimes Z$ observable on `q[0]` and `q[1]` and the `Amplitude` result type for a `shots=0` quantum task of our bell program:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "6e3b521b7356b4bd", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:56.305634Z", + "start_time": "2023-11-21T08:32:56.302835Z" + } + }, + "outputs": [], + "source": [ + "bell_with_result_type = \"\"\"\n", + "OPENQASM 3;\n", + "\n", + "qubit[2] q;\n", + "\n", + "#pragma braket result expectation x(q[0]) @ z(q[1])\n", + "#pragma braket result amplitude \"00\", \"11\"\n", + "h q[0];\n", + "cnot q[0], q[1];\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "6435b34ab2525039", + "metadata": {}, + "source": [ + "The location of the `result` pragma is very flexible as long as it's after the qubit register definition (if you use physical qubits, you can put `result` pragmas anywhere after the program header).\n", + "\n", + "We can submit the above program and receive the results for our requested result types." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "a42b0ebc71b59136", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:59.113501Z", + "start_time": "2023-11-21T08:32:56.306452Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.0, {'00': (0.7071067811865475+0j), '11': (0.7071067811865475+0j)}]\n" + ] + } + ], + "source": [ + "bell_result_types_task = sv1.run(OpenQASMProgram(source=bell_with_result_type), shots=0)\n", + "bell_result = bell_result_types_task.result()\n", + "values = bell_result.values\n", + "print(values)" + ] + }, + { + "cell_type": "markdown", + "id": "38675f5678613895", + "metadata": {}, + "source": [ + "At last, we want to remind our Braket OpenQASM users that there are two requirements when requesting result types:\n", + "1. For `shots=0` quantum tasks, requesting non-simultaneously measurable result types is allowed, but for `shots>0` quantum tasks, it is not allowed. For example, we can write the following OpenQASM program in a `shots=0` quantum task but not in a `shots>0` quantum task, since the two result types are not simultaneously measurable:" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "45277f89209faec7", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:59.115339Z", + "start_time": "2023-11-21T08:32:59.112696Z" + } + }, + "outputs": [], + "source": [ + "program_with_non_simultaneously_measurable_result_types = \"\"\"\n", + "OPENQASM 3;\n", + "\n", + "qubit[2] q;\n", + "\n", + "h q[0];\n", + "cnot q[0], q[1];\n", + "\n", + "#pragma braket result expectation x(q[0]) @ z(q[1])\n", + "#pragma braket result expectation hermitian([[0, -1im], [1im, 0]]) q[0]\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "a9af8819fba31a90", + "metadata": {}, + "source": [ + "2. Do not use measurement instructions and request result types in the same OpenQASM program, otherwise a validation error will be raised. Since measurement instructions are basically equivalent to `#pragma braket result sample z(qubit)`, we encourage users to adapt a consistent style of requesting result types in the same program." + ] + }, + { + "cell_type": "markdown", + "id": "db79ad324a5f6478", + "metadata": { + "collapsed": false + }, + "source": [ + "Circuits constructed with `from_ir` will have the correct result types:" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "f3c438da3a351153", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:59.127212Z", + "start_time": "2023-11-21T08:32:59.124909Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "bell_with_result_type:\n", + "T : │ 0 │ 1 │ Result Types │\n", + " ┌───┐ ┌──────────────────┐ \n", + "q0 : ─┤ H ├───●───┤ Expectation(X@Z) ├─\n", + " └───┘ │ └────────┬─────────┘ \n", + " ┌─┴─┐ ┌────────┴─────────┐ \n", + "q1 : ───────┤ X ├─┤ Expectation(X@Z) ├─\n", + " └───┘ └──────────────────┘ \n", + "T : │ 0 │ 1 │ Result Types │\n", + "\n", + "Additional result types: Amplitude(00,11)\n" + ] + } + ], + "source": [ + "print(\"bell_with_result_type:\")\n", + "print(Circuit.from_ir(bell_with_result_type))" + ] + }, + { + "cell_type": "markdown", + "id": "c371de3097c0598a", + "metadata": { + "collapsed": false + }, + "source": [ + "## Advanced OpenQASM features\n", + "\n", + "OpenQASM has features beyond what is natively supported by the `Circuit` class. You can run OpenQASM tasks directly on the Local Simulator or use Circuit.from_ir to convert an OpenQASM program to a Circuit object, which is supported by all circuit-based Braket devices. The following OpenQASM program is a GHZ state written with classical control flow and subroutines:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "5acb72003cd0a0f5", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:04:08.355878Z", + "start_time": "2023-12-04T04:04:08.353679Z" + }, + "collapsed": false + }, + "outputs": [], + "source": [ + "ghz_with_advanced_features = \"\"\"\n", + "OPENQASM 3.0;\n", + "\n", + "def ghz(int[32] n) {\n", + " h q[0];\n", + " for int i in [0:n - 1] {\n", + " cnot q[i], q[i + 1];\n", + " }\n", + "}\n", + "\n", + "int[32] n = 5;\n", + "bit[n + 1] c;\n", + "qubit[n + 1] q;\n", + "\n", + "ghz(n);\n", + "\n", + "c = measure q;\n", + "\"\"\"\n", + "qasm_program = OpenQASMProgram(source=ghz_with_advanced_features)" + ] + }, + { + "cell_type": "markdown", + "id": "f5d32bd10c64543", + "metadata": { + "collapsed": false + }, + "source": [ + "The local simulator supports these features:" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "c82bee530da348f6", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:04:13.932270Z", + "start_time": "2023-12-04T04:04:13.863203Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "This program uses OpenQASM language features that may not be supported on QPUs or on-demand simulators.\n" + ] + }, + { + "data": { + "text/plain": [ + "Counter({'000000': 505, '111111': 495})" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from braket.devices import LocalSimulator\n", + "\n", + "LocalSimulator().run(qasm_program, shots=1000).result().measurement_counts" + ] + }, + { + "cell_type": "markdown", + "id": "96fca192b4f51797", + "metadata": { + "collapsed": false + }, + "source": [ + "but SV1 does not. However, `from_ir` will \"unroll\" the subroutine and loop to create a `Circuit` object that _can_ run on SV1:" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "b0886dfc74978bfa", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:04:19.974386Z", + "start_time": "2023-12-04T04:04:16.705969Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "This program uses OpenQASM language features that may not be supported on QPUs or on-demand simulators.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │\n", + " ┌───┐ ┌───┐ \n", + "q0 : ─┤ H ├───●───────────────────────────┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q1 : ───────┤ X ├───●─────────────────────┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q2 : ─────────────┤ X ├───●───────────────┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q3 : ───────────────────┤ X ├───●─────────┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q4 : ─────────────────────────┤ X ├───●───┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q5 : ───────────────────────────────┤ X ├─┤ M ├─\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │\n", + "Counter({'000000': 500, '111111': 500})\n" + ] + } + ], + "source": [ + "circuit = Circuit.from_ir(qasm_program)\n", + "print(circuit)\n", + "print(sv1.run(circuit, shots=1000).result().measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "id": "a329fa3df47ffee4", + "metadata": { + "collapsed": false + }, + "source": [ + "For an in-depth exploration of advanced OpenQASM features, see [Simulating Advanced OpenQASM Programs with the Local Simulator](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Simulating_Advanced_OpenQASM_Programs_with_the_Local_Simulator.ipynb)." + ] + }, + { + "cell_type": "markdown", + "id": "9e4c7a48a2b83ce1", + "metadata": {}, + "source": [ + "# Conclusion\n", + "\n", + "In this notebook, you learned how to submit OpenQASM quantum tasks and use OpenQASM features on Braket. Hope you enjoyed it! You can find more information about OpenQASM3.0 in its [live specification](https://openqasm.com/), and you can learn more about OpenQASM support on Braket in the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/latest/developerguide/)." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "3f5bc3dfad520f14", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:59.624204Z", + "start_time": "2023-11-21T08:32:59.127772Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum Task Summary\n", + "{<_Amazon.SV1: 'arn:aws:braket:::device/quantum-simulator/amazon/sv1'>: {'shots': 1120, 'tasks': {'CREATED': 1, 'COMPLETED': 4}, 'execution_duration': datetime.timedelta(microseconds=104000), 'billed_execution_duration': datetime.timedelta(seconds=12)}, <_Amazon.DM1: 'arn:aws:braket:::device/quantum-simulator/amazon/dm1'>: {'shots': 30, 'tasks': {'COMPLETED': 3}, 'execution_duration': datetime.timedelta(microseconds=39000), 'billed_execution_duration': datetime.timedelta(seconds=9)}, <_Rigetti.Ankaa2: 'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2'>: {'shots': 20, 'tasks': {'COMPLETED': 2}}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 0.64 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(\n", + " f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\"\n", + ")" + ] + } + ], + "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.9.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb b/examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb index 5b00a60a..fb7dba42 100644 --- a/examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb +++ b/examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb @@ -1,997 +1,992 @@ { - "cells": [ - { - "cell_type": "markdown", - "id": "74154c03-d48f-4f41-867b-5e30254ce31a", - "metadata": {}, - "source": [ - "# Noise models on Rigetti\n", - "\n", - "This notebook shows how to construct a noise model from device calibration data for Rigetti Ankaa-2. We compare the measurement outcomes of circuits run on a noisy simulator with the same circuits run on quantum processing units (QPUs), to show that simulating circuits with noise models more closely mimics QPUs.\n", - "\n", - "**Before you begin**: We recommend being familiar with [Noise models on Amazon Braket.](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Noise_models/Noise_models_on_Amazon_Braket.ipynb)\n", - "Additionally, users should be familiar with [Running quantum circuits on QPU devices](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/getting_started/2_Running_quantum_circuits_on_QPU_devices/2_Running_quantum_circuits_on_QPU_devices.ipynb). \n", - "\n", - "### Table of Contents\n", - "\n", - "- Noise model for Rigetti\n", - " - Loading device calibration data\n", - " - Comparing noisy simulator results to QPU results\n", - " - Smaller noise models compared to QPU results" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "e5e15fcd-55a2-4168-acc6-a38100f94511", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "from braket.aws import AwsDevice\n", - "from braket.circuits import Circuit, Gate, Observable\n", - "from braket.circuits.noise_model import GateCriteria, NoiseModel, ObservableCriteria\n", - "from braket.circuits.noises import AmplitudeDamping, BitFlip, Depolarizing, PhaseDamping, TwoQubitDepolarizing\n", - "from braket.devices import Devices, LocalSimulator" - ] - }, - { - "cell_type": "markdown", - "id": "d4da3e37-e93c-4273-98bc-d67b26b8c822", - "metadata": {}, - "source": [ - "Braket provides access to hardware providers' reported calibration data. \n", - "This can be used to construct noise models to approximate the behavior of the QPU when running circuits on a noisy simulator.\n", - "In this tutorial, we focus on local noise models with no crosstalk interactions. Real devices can have crosstalk and unexpected effects that can further degrade the results.\n", - "\n", - "The Ankaa-2 calibration data is available on the Braket devices page. Under qubit specs, the calibration data include the qubit index, with corresponding values for the $T_1$, $T_2$, fidelity from randomized benchmarking (fRB), fidelity from simultaneous randomized benchmarking (fsRB), and readout fidelity (fRO).\n", - "Under \"edge specs\", the data includes the RB fidelity for two qubit gates for each connected edge in the device topology." - ] - }, - { - "cell_type": "markdown", - "id": "38001b96-faf7-49f0-b5a5-2d52820fcfc9", - "metadata": {}, - "source": [ - "**One-qubit calibration data (Qubit specs)**\n", - "
\n", - "\n", - "\n", - "**Two-qubit calibration data (Edge specs)**\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "276d680f-887d-4929-bcaa-e276a6303496", - "metadata": {}, - "source": [ - "We can programmatically access all the calibration data with the Braket SDK. First we load the AwsDevice using the ARN for Rigetti Ankaa-2." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "a55ea9d5-05f3-4da5-a305-a391e914d012", - "metadata": {}, - "outputs": [], - "source": [ - "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "66d8f3bf", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "a8a42ae1-51ac-4bf1-bd6a-81ffd982b5f8", - "metadata": {}, - "source": [ - "The properties dictionary contains one- and two-qubit calibration data. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "153b5b63-8205-4a7e-bb18-0305ef428f36", - "metadata": {}, - "outputs": [], - "source": [ - "one_qubit_data = rigetti.properties.standardized.oneQubitProperties\n", - "two_qubit_data = rigetti.properties.standardized.twoQubitProperties" - ] - }, - { - "cell_type": "markdown", - "id": "661cca17-01fa-40be-bd3e-741bacc74ce4", - "metadata": {}, - "source": [ - "For Ankaa-2, we can get all qubit indices with `one_qubit_data.keys()` or with `rigetti.topology_graph.nodes`.\n", - "\n", - "The keys of the two qubit dictionary are the connected qubit pairs separated by a hyphen. \n", - "For example, if qubit 0 and 1 are connected the key is \"0-1\".\n", - "\n", - "\n", - "#### One-qubit noise \n", - "\n", - "Let's look at the one qubit calibration data for qubit 0." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "8d4ecc35-f4dc-49d8-b6ff-adaee560ac4b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "OneQubitProperties(T1=CoherenceTime(value=8.645474408067754e-06, standardError=None, unit='S'), T2=CoherenceTime(value=1.2710111632672265e-05, standardError=None, unit='S'), oneQubitFidelity=[Fidelity1Q(fidelityType=FidelityType(name='RANDOMIZED_BENCHMARKING', description=None), fidelity=0.998913376867117, standardError=2.7016428586132974e-05), Fidelity1Q(fidelityType=FidelityType(name='SIMULTANEOUS_RANDOMIZED_BENCHMARKING', description=None), fidelity=0.9975435377199546, standardError=0.00015343141167926104), Fidelity1Q(fidelityType=FidelityType(name='READOUT', description=None), fidelity=0.9219999999999999, standardError=None)])" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "one_qubit_data[\"0\"]" - ] - }, - { - "cell_type": "markdown", - "id": "4b676762-e642-4a98-89e3-86d79367071a", - "metadata": {}, - "source": [ - "For each qubit, there are various metrics of the quality:\n", - "\n", - "- **T1**: Thermal relaxation time is related to the time it takes for the excited state, |1⟩, to decay into the ground state, |0⟩. The probability of remaining in the excited state is $p(|1⟩)\\sim e^{-t/T_1}$\n", - "\n", - "- **T2**: The dephasing time, is the decay constant for the scale for a |+⟩ state to decohere into the completely mixed state. $p(|+⟩)\\sim e^{-t/T_2}$ \n", - "\n", - "- **Fidelity (RB)**: Single-qubit randomized benchmarking fidelities. RB fidelity quantifies the average gate fidelity where the average is over all Clifford gates. RB describes an *effective* noise model with gate-independent depolarizing noise on each Clifford gate.\n", - "\n", - "- **Fidelity (sRB)**: Single-qubit simultaneous randomized benchmarking fidelities. These are extracted by running single-qubit RB on all qubits simultaneously. Note that we expect the sRB fidelity to be lower than standard RB fidelity due to non-local crosstalk type noise on the device. \n", - "\n", - "- **Readout fidelity**: Single-qubit readout fidelities describes the probability of a bit flip error before readout in the computational basis. The readout fidelity is related to the probability of correctly measuring the ground state and excited states respectively, e.g. $f_{RO} =\\frac{p(0|0)+p(1|1)}{2}$" - ] - }, - { - "cell_type": "markdown", - "id": "296708a3-771e-42b4-9ba8-f3db1a02970b", - "metadata": {}, - "source": [ - "Now that we know how to extract and use the calibration data, we can build a simple noise model. For every qubit we will add:\n", - "- amplitude dampening noise with probability $p= 1-e^{-t/T_1}$ for every gate\n", - "- phase dampening noise with probability $p= 0.5(1-e^{-t/T_2})$ for every gate\n", - "- depolarizing noise with probability $p=1-f_{sRB}$ (from simultaneous RB fidelity) for every gate\n", - "- readout bit flip noise with probability $p=1-f_{RO}$ to measurements \n", - "\n", - "Technically, the sRB fidelity already includes effects from $T_1$/$T_2$, however to be explicit we add these as separate terms. In a sense, this model might overestimate the noise on the QPU. " - ] - }, - { - "cell_type": "markdown", - "id": "5769f2f4-de1c-4b47-9e4e-fd8d39b9e975", - "metadata": {}, - "source": [ - "To create the noise model, we iterate over all qubits keys in `one_qubit_data`" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "7442cd27", - "metadata": {}, - "outputs": [], - "source": [ - "noise_model = NoiseModel()\n", - "\n", - "# Readout Noise Model\n", - "for q, data in rigetti.properties.standardized.oneQubitProperties.items():\n", - " try:\n", - " readout_error = 1 - data.oneQubitFidelity[2].fidelity # readout\n", - " noise_model.add_noise(BitFlip(readout_error), ObservableCriteria(qubits=int(q)))\n", - " \n", - " depolarizing_rate = 1 - data.oneQubitFidelity[1].fidelity # SIMULTANEOUS_RANDOMIZED_BENCHMARKING\n", - " noise_model.add_noise(Depolarizing(probability=depolarizing_rate), GateCriteria(qubits=q))\n", - " except:\n", - " pass" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "9d20d24c-17e2-4bba-b317-fb2d156bedb0", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of terms in noise model is: 167\n", - "Number of parameters in noise model is: 167\n" - ] - } - ], - "source": [ - "num_params = sum(len(item.noise.parameters) for item in noise_model.instructions)\n", - "print(f\"Number of terms in noise model is: {len(noise_model.instructions)}\")\n", - "print(f\"Number of parameters in noise model is: {num_params}\")" - ] - }, - { - "cell_type": "markdown", - "id": "790c62f7-776a-4e4c-9405-7b7a14eee5b0", - "metadata": {}, - "source": [ - "#### Two-qubit noise \n", - "Next we consider adding two-qubit noise to the model. \n", - "\n", - "Let's first look at the data provided in the Ankaa-2 device calibration data. On the first connect, \"0-1\", the properties are:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "626cbe56-3649-48eb-a2a1-f669eb790b47", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "TwoQubitProperties(twoQubitGateFidelity=[GateFidelity2Q(direction=None, gateName='ISWAP', fidelity=0.9773180863130815, standardError=0.00408287380553746, fidelityType=FidelityType(name='INTERLEAVED_RANDOMIZED_BENCHMARKING', description=None))])" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "two_qubit_data[\"0-1\"]" - ] - }, - { - "cell_type": "markdown", - "id": "4bcd3be4-a6e4-4cf3-841e-1a451e01803a", - "metadata": {}, - "source": [ - "Here, we see the fidelity per gate (ISWAP or CZ) and the associated standard error. \n", - "\n", - "Next we loop over the entries in the `two_qubit_data` dictionary and add two-qubit depolarizing noise to the model. Notice that Ankaa-2 has symmetric connections (\"0-1\" and \"1-0\") so we need to add noise in both directions." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "80f57550-6549-46b6-9a6d-ff7f0f03e90d", - "metadata": {}, - "outputs": [], - "source": [ - "# Two-qubit noise\n", - "for pair, data in two_qubit_data.items(): # iterate over qubit connections\n", - "\n", - " # parse strings \"0-1\" to integers [0, 1]\n", - " q0, q1 = (int(s) for s in pair.split(\"-\"))\n", - " try:\n", - " if data.twoQubitGateFidelity[0].gateName == \"ISWAP\":\n", - " phase_rate = 1 - data.twoQubitGateFidelity[0].fidelity\n", - " noise_model.add_noise(\n", - " TwoQubitDepolarizing(phase_rate),\n", - " GateCriteria(\n", - " Gate.ISwap, [(q0, q1), (q1, q0)]\n", - " ), # symmetric connections\n", - " )\n", - " except:\n", - " pass" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "82376d08-84bc-4249-9c8d-d7aacdb73113", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of terms in noise model is: 274\n", - "Number of parameters in noise model is: 274\n" - ] - } - ], - "source": [ - "num_params = sum(len(item.noise.parameters) for item in noise_model.instructions)\n", - "print(f\"Number of terms in noise model is: {len(noise_model.instructions)}\")\n", - "print(f\"Number of parameters in noise model is: {num_params}\")" - ] - }, - { - "cell_type": "markdown", - "id": "5913a8a2-a9de-4e32-a35d-c48191891b1f", - "metadata": {}, - "source": [ - "### Compare circuits run on device vs simulator with a noise model\n", - "\n", - "Let's just look at the first 5 qubits. Note that to ensure the noise model applied T1 and T2 noise during the time between gate, we manually add identity gates to each moment." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "6fabbd05-b480-43c6-b43a-d396d81bd687", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │\n", - " ┌──────────┐ ┌──────────┐ ┌───────┐ \n", - "q0 : ─┤ Rx(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─\n", - " └──────────┘ └──────────┘ └───┬───┘ \n", - " ┌──────────┐ ┌──────────┐ ┌───┴───┐ \n", - "q1 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─\n", - " └──────────┘ └──────────┘ └───────┘ \n", - " ┌──────────┐ ┌──────────┐ \n", - "q2 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├───────────\n", - " └──────────┘ └──────────┘ \n", - "T : │ 0 │ 1 │ 2 │\n" - ] - } - ], - "source": [ - "np.random.seed(42)\n", - "\n", - "circ = Circuit().rx(0, 0.5).rz(1, 0.5).rz(2, 0.5).rx(0, np.pi).rx(1, np.pi).rx(2, np.pi).iswap(0, 1)\n", - "print(circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "e2af07ed-33de-4709-9e7c-5e3c3caaa751", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │\n", - " ┌──────────┐ ┌──────────┐ ┌───────┐ ┌─────────────┐ \n", - "q0 : ─┤ Rx(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─┤ DEPO(0.023) ├─\n", - " └──────────┘ └──────────┘ └───┬───┘ └──────┬──────┘ \n", - " ┌──────────┐ ┌──────────┐ ┌───┴───┐ ┌──────┴──────┐ \n", - "q1 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─┤ DEPO(0.023) ├─\n", - " └──────────┘ └──────────┘ └───────┘ └─────────────┘ \n", - " ┌──────────┐ ┌──────────┐ \n", - "q2 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├───────────────────────────\n", - " └──────────┘ └──────────┘ \n", - "T : │ 0 │ 1 │ 2 │\n" - ] - } - ], - "source": [ - "noisy_circ = noise_model.apply(circ)\n", - "\n", - "print(noisy_circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "9304dcf1-a1e8-4e41-a6b5-769841f4eefe", - "metadata": {}, - "outputs": [], - "source": [ - "simulator = LocalSimulator() # noise free simulator\n", - "task = simulator.run(circ, shots=10_000)\n", - "free_probs = task.result().measurement_probabilities" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "0e1d9cfe-03d6-406b-b4ab-89166a907681", - "metadata": {}, - "outputs": [], - "source": [ - "noisy_simulator = LocalSimulator(\"braket_dm\")\n", - "noisy_task = noisy_simulator.run(noisy_circ, shots=10_000)\n", - "noisy_probs = noisy_task.result().measurement_probabilities" - ] - }, - { - "cell_type": "markdown", - "id": "b3f370bd-a8b3-4d5b-a724-da549fc4c81f", - "metadata": {}, - "source": [ - "
\n", - "Note: The below section runs tasks on the Rigetti Ankaa-2 device. When you run this notebook, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console.\n", - "
\n", - "\n", - "
\n", - "Note: Running the circuit below will result in charges on your AWS account.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "c8f4664a-0527-46fb-87f2-2a0c85f0bd79", - "metadata": {}, - "outputs": [], - "source": [ - "rigetti_task = rigetti.run(circ, shots=10_000, disable_qubit_rewiring=True)\n", - "rigetti_result = rigetti_task.result()\n", - "rigetti_probs = rigetti_result.measurement_probabilities" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "1676a45c-5ef8-49cc-b227-69f69fa2004a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Ankaa-2noisy_simfree_sim
1100.1866NaNNaN
0110.09960.0061NaN
0010.05280.0055NaN
1110.45550.92140.9384
1010.12540.06700.0616
0100.0229NaNNaN
1000.0443NaNNaN
0000.0129NaNNaN
\n", - "
" - ], - "text/plain": [ - " Ankaa-2 noisy_sim free_sim\n", - "110 0.1866 NaN NaN\n", - "011 0.0996 0.0061 NaN\n", - "001 0.0528 0.0055 NaN\n", - "111 0.4555 0.9214 0.9384\n", - "101 0.1254 0.0670 0.0616\n", - "010 0.0229 NaN NaN\n", - "100 0.0443 NaN NaN\n", - "000 0.0129 NaN NaN" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "free_sim = pd.DataFrame.from_dict(free_probs, orient=\"index\").rename(\n", - " columns={0: \"free_sim\"}\n", - ")\n", - "noisy_sim = pd.DataFrame.from_dict(noisy_probs, orient=\"index\").rename(\n", - " columns={0: \"noisy_sim\"}\n", - ")\n", - "Ankaa = pd.DataFrame.from_dict(rigetti_probs, orient=\"index\").rename(\n", - " columns={0: \"Ankaa-2\"}\n", - ")\n", - "df = Ankaa.join(noisy_sim).join(free_sim)\n", - "df" - ] - }, - { - "cell_type": "markdown", - "id": "472e6850-2603-4174-bf92-b04eb0c38c2f", - "metadata": {}, - "source": [ - "We can compute the fidelity between the free simulation and Rigetti, as well as the noisy simulation and Rigetti. " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "5b7d1740-cb46-433e-8c2b-7e8b7c10fb4e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Total fidelity between Ankaa-2 and noise-free simulator is 0.7416798056649024\n", - "\n", - "Total fidelity between Ankaa-2 and noisy simulator is 0.7811919904651835\n" - ] - } - ], - "source": [ - "def fidelity(p, q):\n", - " return np.sum(np.sqrt(p * q))\n", - "\n", - "\n", - "f_free_Ankaa = fidelity(df[\"free_sim\"], df[\"Ankaa-2\"])\n", - "f_noisy_Ankaa = fidelity(df[\"noisy_sim\"], df[\"Ankaa-2\"])\n", - "\n", - "print(f\"\\nTotal fidelity between Ankaa-2 and noise-free simulator is {f_free_Ankaa}\")\n", - "print(f\"\\nTotal fidelity between Ankaa-2 and noisy simulator is {f_noisy_Ankaa}\")" - ] - }, - { - "cell_type": "markdown", - "id": "fd4d88b7-015e-445b-ba26-1bdbc6a2bd16", - "metadata": {}, - "source": [ - "To better visualize, we can also plot the output probability distributions from each circuit:" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "9329ed72-2f30-4383-b48f-0d50e1a5dd11", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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/f31zjvv3PeYdbfp06cre/bsatCggV566SVNnz49RZ3k48SIESM0YcIE6/+Bzz33nP7888/7LmPHjh3y8/NTzZo1deXKFUlp/79rypQpql27tvz9/eXq6qoSJUro66+/TtO65cqVyyZQJ3vxxRclKcUxAUDG40w18B+wYMECFSpUSFWqVElT/U6dOmnq1Kl66aWX9O6772rTpk0aOnSo9uzZo59//tmm7sGDB9W6dWu98cYbeu211zRixAg1atRI48eP1/vvv69u3bpJkoYOHaoWLVpo3759Nmcvb926pXr16qlSpUoaPny4lixZosjISCUmJmrQoEHWemPGjFHjxo316quvKiEhQTNnztTLL7+shQsXqkGDBjZ9WrFihX788Uf16NFDuXLluu/APy1atFDBggU1dOhQbdu2Td9++638/f01bNgwa5127drpxx9/VJs2bVSpUiWtXr06xXLv59NPP5WTk5N69+6t2NhYDR8+XK+++qo2bdpkrRMdHa327dvrueee09ChQxUTE6MxY8Zo3bp12r59u3x9fe22vXv3bjVs2FBlypTRoEGD5OrqqoMHD9qE16SkJDVu3Fhr167V66+/ruLFi2vnzp36/PPPtX///nvej1m8eHF99913euedd5QvXz69++67kiQ/Pz9rWBg8eLBcXFzUu3dvxcfHy8XFRStWrFD9+vUVEhKiyMhIOTk5Wb88/vHHH6pQoYIkKSYmRpUqVbIGNz8/Py1evFgdO3ZUXFzcPQdES8u6p+bWrVuqX7++atSooeHDh2v69Onq0aOHPD099cEHH+jVV19Vs2bNNH78eLVt21aVK1dWwYIF79vu/cTFxenbb79Vq1at1LlzZ12+fFmTJk1SeHi4Nm/erLJly8rPz09ff/21unbtqhdffFHNmjWTJJUpU0aS9Pvvv6t+/foqVKiQoqKidP36dY0dO1ZVq1bVtm3bUrzvX375ZRUpUkRDhgxJ8aNVWq1du1Zz585Vt27dlC1bNn3xxRdq3ry5jh8/rpw5c0q6vT+qV68ub29v9enTR1mzZtU333yjmjVravXq1anez5qQkKDw8HDFx8erZ8+eCgwM1MmTJ7Vw4UJdunRJPj4+atOmjTp37qxdu3apVKlS1nn//PNP7d+/Xx9++GGqfT9z5ozq1q0rPz8/9evXT76+vjp69Kjmzp2bpnVv2bKlihcvrk8//VSLFi3Sxx9/rBw5cuibb75R7dq1NWzYME2fPl29e/fWc889pxo1aqRjy6YuLce+7777Tp06dVKFChX0+uuvS5IKFy4sKf37o1u3bvLz89OAAQN09erVdPc3OjpaXl5e6tWrl7y8vLRixQoNGDBAcXFx+uyzz2zqXrx4UfXq1VOzZs3UokULzZkzR3379lXp0qVVv359Sbd/0KxTp46OHz+uN998U3ny5NF3332nFStWpKtf06dPV7NmzeTi4qJWrVrp66+/1p9//qnnnnsuRd0ZM2bo8uXLeuONN2SxWDR8+HA1a9ZMhw8fTvUWkj///FPh4eEqX768fvnlF7m7u0tK+/9dX3/9tUqWLKnGjRsrS5YsWrBggbp166akpCR17949Xeua7PTp05Juh24AD5kBIFOLjY01JBlNmjRJU/0dO3YYkoxOnTrZlPfu3duQZKxYscJaFhQUZEgy1q9fby1bunSpIclwd3c3jh07Zi3/5ptvDEnGypUrrWURERGGJKNnz57WsqSkJKNBgwaGi4uLcfbsWWv5tWvXbPqTkJBglCpVyqhdu7ZNuSTDycnJ2L17d4p1k2RERkZa/46MjDQkGR06dLCp9+KLLxo5c+a0/r1161ZDkvH222/b1GvXrl2KNu1ZuXKlIckoXry4ER8fby0fM2aMIcnYuXOndZ38/f2NUqVKGdevX7fWW7hwoSHJGDBgQIq+J/v8888NSTbb7G7fffed4eTkZPzxxx825ePHjzckGevWrbvnehjG7X3eoEEDu+tXqFAhm/2UlJRkFClSxAgPDzeSkpKs5deuXTMKFixoPP/889ayjh07Grlz5zbOnTtn0/Yrr7xi+Pj4pNj/d0rLuh85csSQZEyZMsValvz+GzJkiLXs4sWLhru7u2GxWIyZM2day/fu3Zvq++duU6ZMMSQZR44csZaFhoYaoaGh1r8TExNt3gvJyw4ICLB5P549ezbV91jZsmUNf39/4/z589ayv/76y3BycjLatm2bop+tWrWyu23SSpLh4uJiHDx40GZ5koyxY8day5o2bWq4uLgYhw4dspadOnXKyJYtm1GjRg1rWfL7JvmYsH37dkOSMXv27FT7cOnSJcPNzc3o27evTfmbb75peHp6GleuXEl13p9//tmQZPz555/3XU97+/n111+3liUmJhr58uUzLBaL8emn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M4Fp1bRpUwUHB2vgwIEKCgqyDsJ1dzCfPXu2li1bpoYNG6pbt26Ki4uTJMXHx6tevXpatWqVypYtq44dO+rmzZtatGiRmjRporFjx9qcTUxv/fRKDtBt27bVc889p0KFCunHH3/UmDFj5OXlZXee+fPna9GiRWrUqJGqVKmiNWvWaNq0aTp06NB9Q+Lly5fVtGlTrVy5UiNHjlSvXr0kSRcuXNDbb7+t6tWr64UXXlD27Nl1+PBhzZ8/X4sXL9aaNWv03HPPWdvZs2ePBgwYoFq1aunFF1+Up6en9u7dqxkzZmjRokXatm2bgoKCTG+XjLBq1SpJUt26dVNMCw8PV3R0tFavXm36iofo6GjdunVLbdu2VdasWe3Wef/993X8+HEtXLhQFovF1HKS286Shf+iAADA449vLMBDVLNmTdWsWVPR0dGSlOoltffStGlTNW3aVAMHDlRwcHCqbSxZskRLly5VWFiYTfmgQYO0atUqffTRRxo4cKA16Fy+fFm1a9fWu+++q2bNmilPnjym6qfH+fPn9csvv6hYsWLWwPraa69p0KBBmjVrlvXM9d0WLFigVatWWe8HvnXrlsLCwrRq1Spt3LhRlSpVsjtfTEyM6tevr127dmnatGl67bXXrNOyZ8+u48ePK2/evDbz7N69W5UqVdL777+v3377zVpevHhx/fvvv8qRI4dN/ZUrVyosLEwff/yxJk6cmKbtMHr0aF26dClNdaXb74GyZcvet96BAwfk5eVldwC7IkWKWOuYYRiGJk+eLCn1S7/XrFmjMWPGaNSoUSpcuLCp5Rw/fly///67cufOrdKlS5tqAwAA4FEiVAOZRJMmTVIE6qSkJH399dcqXLiwTUCWpGzZsmnAgAFq3Lix5s6dqx49eqS7fnp99913SkhIUJs2baxlbdu21aBBgzRp0qRUQ3Xr1q1tBthydnZWRESEVq1apT///NNuqD506JDCw8P177//av78+apXr57NdFdX1xSBWpJKliypWrVqaenSpbp586b1rOmdl1PfqVatWipZsqR+//33+2+A/2/06NE6duxYmusHBwenKVTHxsbK39/f7jRvb29rHTNWr16tQ4cOqVq1anr66adTTL969arat2+vypUrq2fPnqaWcfPmTbVp00bx8fEaNmzYfUcYBwAAeBwQqoFMokKFCinK9u3bp4sXLypPnjwaOHBgiulnz56VJO3du9dU/fSaNGmSLBaLzRnjwoULq0qVKlq/fr327Nmj4sWLp5gvJCQkRVm+fPkkye4Z371796pq1apKTEzUihUrVLFiRbv92bFjh4YPH661a9fq9OnTunnzps30c+fOKXfu3Na/V61apdGjR2vTpk06d+6cEhMTrdPSMwjd0aNH01z3cZF82X5qP3z07t3bes/1/QZCsycpKUnt2rXTmjVr1LlzZ5sfXgAAAB5nhGogkwgICEhRduHCBUm3L2nevXt3qvNevXrVVP302LRpk3bt2qVatWqpQIECNtPatm2r9evXa/LkyXafW518lvVOyffb3rp1K8W0/fv36+LFi6pSpYpKlSpltz/r169X7dq1Jd2+B7lIkSLy8vKSxWLRvHnz9Ndffyk+Pt5af/bs2WrZsqW8vLwUHh6u4OBgeXh4WAdSS8+Z54fFx8cn1TPRyffYp3bG/V5iY2P1008/ydvbWy1atEgxfdWqVRo/frw+++wzFS1aNN3tJyUlqUOHDpoxY4Zee+01jR8/Pt1tAAAAOAqhGsgk7A0KlRxGmzdvrjlz5ty3jfTWT4/kM50rV65MdQCradOmaciQIakOgpVWjRs3VsGCBRUVFaUXXnhBv/76qzw9PW3qfPLJJ4qPj9cff/yhatWq2UzbuHGj/vrrL5uyqKgoubm5aevWrdb7k5PNnDkzXf17WPdUFylSRBs2bNDp06dT3FedfC/13X1Pi+nTp+v69etq27atPDw8UkzfsWOHJOm9996z+8zxffv2yWKxyMfHJ8V6JyUlqX379po2bZpatWql6OhoU2e6AQAAHIVQDWRixYsXl7e3t7Zs2WJzf3BG1U+rq1evaubMmfLw8FCrVq3s1vnzzz/1999/a+HChXrxxRcfeJmRkZFydnbWRx99pPr16+vXX3+1GV380KFDypEjR4pAfe3aNW3bti1Fe4cOHVLJkiVThNJ///1Xhw8fTlffHtY91aGhodqwYYOWLVumtm3b2kxbunSptU56Jf8gktoAZaVKlUr1svBJkybJx8dHL730UopAfmegbtmypb777jvuowYAAE8cQjWQiWXJkkVdu3bVsGHD1Lt3b40YMSJFUN61a5f8/f3l7++f7vppNXv2bF2+fFlt27bVt99+a7fOsmXLFB4erkmTJmVIqJakDz/8UE5OTvrggw9U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KQK1JD399NP64osvVLNmzUffMZgSHx+vrl27qnTp0nanHzt2TAMHDnzEvYJZpUqVUsWKFdW1a1e703fs2MEXgSeMr6+vLBZLqtMNw7jndDxe+CEzc2nYsKFef/11TZo0SeXKlbOZtn37dnXt2lWNGjVyUO9gBj+UZB41a9ZU7969NX36dOXKlctm2rlz59S3b18yiwjVDuPq6nrPMyeXL1+Wq6vrI+wRHkTZsmWVP39+RURE2J3+119/EaqfIFWrVtW+fftSnZ4tWzbu1XzCZMuWTR988IEqVqxod/qBAwf0xhtvPOJewSx+yMxcxo0bp9atWyskJETZs2e33vp25swZXbp0SeHh4Ro3bpyDe4n04IeSzGP8+PF64YUXlDt3bpUuXdrmltWdO3eqRIkSWrhwoYN76XiEagdp2bKlIiIi9Pnnn6tOnTry9vaWdPsSxeXLl6tXr15q1aqVg3uJtGrQoIEuXbqU6vQcOXIwANITZMyYMfecXrhwYa1cufIR9QYZIfk++dDQULvTfX19xRAjTw5+yMxcsmfPrsWLF2vv3r12B28tVqyYg3uI9OKHkswjf/78+uuvv7R06VJt3LjR+vmsUKGChgwZorp16/7nR/6WGKjMYeLj4/X2229r8uTJSkxMtF4ik5CQoCxZsqhjx476/PPPOVsNABlg4sSJun79ut58802702NiYjR+/HhFRkY+4p7BjCFDhujmzZup7q8TJ05owIABmjJlyiPuGYA77dmzxyaI8UMJMitCtYPFxcVp69atNgebkJAQ65lrAI7DI+8AwPF45B3gePa+E1WpUkXPPfecg3v2eCBUA48AXwieLDzyDgAeHzwi7cmUkJCgefPm2Q1iTZo0uedAZnh88J0obQjVj6mYmBh98803GjBggKO7ggzAF4Iny0svvaRTp05pypQpqT7yLk+ePDzyLhPhmPvk4Qt75nG/R979/fffCg0N5f/QJ8jBgwcVHh6uU6dOqWLFijZBbNOmTcqXL58WL16sp556ysE9xf3wnShtCNWPKULYk4UvBJlLtmzZtGbNmhQjlibbunWratasybONMxGOuU8WvrBnLk5OTml65B2fzyfH888/L09PT02bNi3FLY1xcXFq27atrl+/rqVLlzqoh0grvhOlDaN/O8jff/99z+n3epwPHj88Azdz4ZF3mQ/H3Mwl+XFa27dvT/ULe/fu3fnC/oTgkXeZz7p167R582a7YwR5e3tr8ODBqe5vPF74TpQ2hGoHKVu2rCwWi91HuCSXE8KeHHwhyFx45F3mwzE3c+ELe+bCI+8yH19fXx09elSlSpWyO/3o0aPy9fV9tJ2CKXwnShtCtYPkyJFDw4cPV506dexO3717txo1avSIewWz+EKQuYwaNUpJSUl65ZVXUn3k3YgRIxzcS6QHx9zMhS/smUvr1q117dq1VKcHBgbyuLsnTKdOndS2bVt99NFHqlOnjs0tGsuXL9fHH3+snj17OriXSAu+E6UNodpBQkJCdOrUKQUFBdmdfunSJULYE4QvBJmLq6urvv76aw0bNoxH3mUSHHMzF76wZy6dO3e+5/SAgAD+D33CDBo0SJ6envrss8/07rvvWq8EMgxDgYGB6tu3r/r06ePgXiIt+E6UNgxU5iA///yzrl69qtdee83u9IsXL2r+/PmKiIh4xD0DIEnnzp3T5MmT7Y4s3K5dO/n5+Tm4h0gPjrmZz7BhwzRmzBidPn06xRf2t99+my/sTxiOuZnXkSNHbPZpwYIFHdwjpBefz/sjVAMZhANO5vHnn38qPDxcHh4eCgsLS3EW7Nq1a1q6dKnKly/v4J4C4Av7k49j7n/PiRMnFBkZqcmTJzu6K7gPPp9pQ6h+THGwebJwwMlcKlWqpGeeeUbjx49PMXiVYRjq0qWL/v77b23YsMFBPURG45ibubA/nywcc/97eIzhk4PPZ9oQqh9THGyeLBxwMhd3d3dt375dxYoVszt97969KleunK5fv/6Ie4aHhWNu5sL+fLJwzM185s+ff8/phw8f1rvvvstn9AnA5zNtGKjMQdJysMGT46+//lJ0dLTdR/JYLBa98847KleunAN6BjMCAwO1efPmVP8D2bx5s/VqBDwZOOZmLuzPzIVjbubTtGnTVB9jmIzHGD4Z+HymDaHaQTjYZC4ccDKX3r176/XXX9fWrVvtjiw8ceJEHh/xhOGYm7mwPzMXjrmZT+7cufXVV1+pSZMmdqfv2LFDISEhj7hXMIPPZ9oQqh2Eg03mwgEnc+nevbty5cqlzz//XF999ZX18jRnZ2eFhIQoOjpaLVq0cHAvkR4cczMX9mfmwjE38wkJCdHWrVtT/Yze70cxPD74fKYN91Q7SOPGjVW2bFkNGjTI7vS//vpL5cqVU1JS0iPuGcyaNWuWPv/8c23dujXFAadXr14ccJ5QN2/e1Llz5yRJuXLlUtasWR3cI5jBMTdzYX9mXhxzM4c//vhDV69eVb169exOv3r1qrZs2aLQ0NBH3DM8CD6fqSNUOwgHm8yLAw7w+OGYm7mwPwEAjxNCNQAAAAAAJjk5ugMAAAAAADypCNUAAAAAAJhEqAYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEz6fzSHt11n6r/FAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "%matplotlib inline\n", - "\n", - "df.plot.bar(\n", - " title=\"Comparing noise-free simulator, noisy simulator, and Ankaa-2\",\n", - " figsize=(12, 6),\n", - ")\n", - "\n", - "text = f\"f_free_Ankaa = {f_free_Ankaa:.3f} \\nf_noise_model_Ankaa = {f_noisy_Ankaa:.3f}\"\n", - "plt.text(1, 0.5, text, fontsize=14)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "aa8ffab8-e062-4c33-9c9d-4a312cd76b63", - "metadata": {}, - "source": [ - "We confirm that the simulator with a noise model is closer to the distribution produced by Ankaa-2." - ] - }, - { - "cell_type": "markdown", - "id": "c4571a5e-2f8d-4767-b28e-a527d2490830", - "metadata": {}, - "source": [ - "### Smaller, reduced noise models\n", - "\n", - "The full Rigetti Ankaa-2 noise model contains due to non-uniform qubit noise. We can obtain simpler, smaller noise models by coarse graining the model above.\n", - "\n", - "Here, we consider taking the average over all qubits for the $T_1$, $T_2$, depolarizing, and readout depolarizing rates. This is a substantially smaller noise model, but may be less accurate. \n", - "\n", - "We use the `from_filter` function to extract all instructions with amplitude dampening noise in the model. We then compute the mean of the error probabilities. " - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "eac8479f-4b29-42d8-a15a-ba10aae82d3f", - "metadata": {}, - "outputs": [], - "source": [ - "avg_depo = np.mean(\n", - " [\n", - " n.noise.parameters\n", - " for n in noise_model.from_filter(noise=Depolarizing).instructions\n", - " ]\n", - ")\n", - "avg_readout = np.mean(\n", - " [n.noise.parameters for n in noise_model.from_filter(noise=BitFlip).instructions]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "d1a64cae-226c-45d2-9af3-4b5b7a36c7a4", - "metadata": {}, - "source": [ - "Now we construct a new noise model with the mean values above:" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "e49eb24c-5f24-4084-9d4c-c2e7e82fc259", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Gate Noise:\n", - " Depolarizing(0.010099107504894678), GateCriteria(None, None)\n", - "Readout Noise:\n", - " BitFlip(0.06397619047619048), ObservableCriteria(None, None)\n" - ] - } - ], - "source": [ - "simple_noise_model = NoiseModel()\n", - "simple_noise_model.add_noise(Depolarizing(avg_depo), GateCriteria())\n", - "simple_noise_model.add_noise(BitFlip(avg_readout), ObservableCriteria())\n", - "\n", - "print(simple_noise_model)" - ] - }, - { - "cell_type": "markdown", - "id": "b44bbbd1-fb65-4b8f-8dfa-0ea5aa7979b2", - "metadata": {}, - "source": [ - "We can see the resultant circuits contain qubit-independent noise:" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "c83e96f6-54b0-445b-bcdd-8a7a16691b62", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │\n", - " ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐ ┌───────┐ ┌────────────┐ \n", - "q0 : ─┤ Rx(0.50) ├─┤ DEPO(0.01) ├─┤ Rx(3.14) ├─┤ DEPO(0.01) ├─┤ ISWAP ├─┤ DEPO(0.01) ├─\n", - " └──────────┘ └────────────┘ └──────────┘ └────────────┘ └───┬───┘ └────────────┘ \n", - " ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐ ┌───┴───┐ ┌────────────┐ \n", - "q1 : ─┤ Rz(0.50) ├─┤ DEPO(0.01) ├─┤ Rx(3.14) ├─┤ DEPO(0.01) ├─┤ ISWAP ├─┤ DEPO(0.01) ├─\n", - " └──────────┘ └────────────┘ └──────────┘ └────────────┘ └───────┘ └────────────┘ \n", - " ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐ \n", - "q2 : ─┤ Rz(0.50) ├─┤ DEPO(0.01) ├─┤ Rx(3.14) ├─┤ DEPO(0.01) ├──────────────────────────\n", - " └──────────┘ └────────────┘ └──────────┘ └────────────┘ \n", - "T : │ 0 │ 1 │ 2 │\n" - ] - } - ], - "source": [ - "simple_noisy_circ = simple_noise_model.apply(circ)\n", - "print(simple_noisy_circ)" - ] - }, - { - "cell_type": "markdown", - "id": "e2c20b79-cbf2-4897-80b3-452c78d56a03", - "metadata": {}, - "source": [ - "We run the circuit on a noisy simulator below" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "a1bb19e8-6824-4a50-b9fb-ae06c14359b6", - "metadata": {}, - "outputs": [], - "source": [ - "simple_noisy_task = noisy_simulator.run(simple_noisy_circ, shots=100_000)\n", - "simple_noisy_probs = simple_noisy_task.result().measurement_probabilities" - ] - }, - { - "cell_type": "markdown", - "id": "76418e5c-be5b-4b3a-8916-c0f56f003cd7", - "metadata": {}, - "source": [ - "and add it to the previous dataframe" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "b4d27a95-612d-4dea-9f6a-98d4525b0a70", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Ankaa-2noisy_simfree_simsimple_noisy_sim
1100.1866NaNNaN0.01230
0110.09960.0061NaN0.01795
0010.05280.0055NaN0.00156
1110.45550.92140.93840.89030
1010.12540.06700.06160.07659
0100.0229NaNNaN0.00019
1000.0443NaNNaN0.00108
0000.0129NaNNaN0.00003
\n", - "
" - ], - "text/plain": [ - " Ankaa-2 noisy_sim free_sim simple_noisy_sim\n", - "110 0.1866 NaN NaN 0.01230\n", - "011 0.0996 0.0061 NaN 0.01795\n", - "001 0.0528 0.0055 NaN 0.00156\n", - "111 0.4555 0.9214 0.9384 0.89030\n", - "101 0.1254 0.0670 0.0616 0.07659\n", - "010 0.0229 NaN NaN 0.00019\n", - "100 0.0443 NaN NaN 0.00108\n", - "000 0.0129 NaN NaN 0.00003" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "simple_noisy_sim = pd.DataFrame.from_dict(simple_noisy_probs, orient=\"index\").rename(\n", - " columns={0: \"simple_noisy_sim\"}\n", - ")\n", - "df = df.join(simple_noisy_sim)\n", - "df" - ] - }, - { - "cell_type": "markdown", - "id": "b1699bc2-712f-4a99-b9d6-0a0920114a13", - "metadata": {}, - "source": [ - "We compute the fidelity between the simple noise model and the QPU:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "d7710e0b-29ac-4968-aa00-e23cb8b32269", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Total fidelity between Ankaa-2 and full noise model is: 0.7811919904651835\n", - "\n", - "Total fidelity between Ankaa-2 and simple noise model is: 0.8437069124308016\n", - "\n", - "Total fidelity between Ankaa-2 and noise-free is: 0.7416798056649024\n" - ] - } - ], - "source": [ - "f_simple = fidelity(df[\"simple_noisy_sim\"], df[\"Ankaa-2\"])\n", - "\n", - "print(f\"\\nTotal fidelity between Ankaa-2 and full noise model is: {f_noisy_Ankaa}\")\n", - "print(f\"\\nTotal fidelity between Ankaa-2 and simple noise model is: {f_simple}\")\n", - "print(f\"\\nTotal fidelity between Ankaa-2 and noise-free is: {f_free_Ankaa}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "e36e19d0-664a-4cb4-a2e3-0061cd60a6c1", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9UAAAIcCAYAAAD42o3XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB7xUlEQVR4nO3dd3xO5//H8fedyF5GCCESI7W3UrREpaJ21ShKzNq0qlSHWbP4Wi2tmi2lVdSoVRVtUbNqa42gRYySECPI+f3hl7vuZh8ho6/n45FH5ZzrnPM55+S+e7/vc53rWAzDMAQAAAAAAFLNLr0LAAAAAAAgsyJUAwAAAABgEqEaAAAAAACTCNUAAAAAAJhEqAYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEwiVAMAMjyLxaJhw4aldxkJmjdvniwWi8LDw9Nl+xn52GRkYWFhslgsCgsLS5ftd+jQQe7u7umybQBA2iJUA0AmcOLECXXr1k2FCxeWs7OzPD09VaNGDU2ZMkW3bt1K7/KQCR0+fFjDhg1Lty8DMqOPP/5YFotFVatWTe9S0tTNmzf10UcfqW7dusqXL588PDxUoUIFzZgxQ/fv30/v8gAgw8uW3gUAAJK2Zs0atWjRQk5OTmrfvr1Kly6tmJgY/fzzz3rrrbd06NAhffrpp+ld5mN169YtZcuWMf+X1a5dO73yyitycnJK71JS5fDhwxo+fLiCgoIUEBCQ3uVkCgsXLlRAQIB27typ48ePq2jRouldUpo4efKk+vTpozp16qh///7y9PTU+vXr1bNnT/3yyy+aP39+epcIABlaxvyEAgCQJJ06dUqvvPKK/P399cMPPyhfvnzWeb169dLx48e1Zs2adKzw8YmNjVVMTIycnZ3l7Oyc3uUkyt7eXvb29uldRoZx8+ZNubq6pncZae7UqVPatm2bli1bpm7dumnhwoUaOnRoepeVJvLmzasDBw6oVKlS1mndunVTp06dNHfuXL3//vtZ5gsEAHgc6P4NABnY+PHjdePGDc2ePdsmUMcpWrSo+vXrZ/393r17GjlypIoUKSInJycFBATonXfe0Z07d2yWCwgIUMOGDRUWFqbKlSvLxcVFZcqUsd5fumzZMpUpU0bOzs6qVKmSfv31V5vl4+4HPXnypEJCQuTm5iZfX1+NGDFChmHYtJ0wYYKqV6+uXLlyycXFRZUqVdLSpUvj7YvFYlHv3r21cOFClSpVSk5OTlq3bp113sP3DQ8bNkwWi0XHjx9Xhw4dlD17dnl5ealjx466efOmzXpv3bqlvn37ytvbWx4eHmrcuLH++uuvFN+LPG3aNJUqVUqurq7KkSOHKleurEWLFlnnJ3RP9aMe36CgIAUFBcWrpUOHDsleVT59+rR69uypYsWKycXFRbly5VKLFi1s6ps3b55atGghSapdu7YsFku8+4s//vhj63nw9fVVr169dO3atXh1li5dWnv27FHNmjXl6uqqd955R5K0e/duhYSEyNvbWy4uLipUqJA6deqUZO2S9O2336pBgwby9fWVk5OTihQpopEjR8brhhy37cOHD6t27dpydXVV/vz5NX78+Hjr/PPPP9W0aVO5ubkpT548euONN+K9JpKzcOFC5ciRQw0aNFDz5s21cOHCeG3Cw8NlsVg0YcIEffrpp9bX4dNPP61du3Ylu419+/Ypd+7cCgoK0o0bNySl/PUzd+5cPf/888qTJ4+cnJxUsmRJzZgxI0X75u3tbROo47z00kuSpCNHjqRoPQDwX8WVagDIwFatWqXChQurevXqKWrfpUsXzZ8/X82bN9ebb76pHTt2aMyYMTpy5IiWL19u0/b48eNq06aNunXrpldffVUTJkxQo0aNNHPmTL3zzjvq2bOnJGnMmDFq2bKljh07Jju7f76LvX//vurVq6dnnnlG48eP17p16zR06FDdu3dPI0aMsLabMmWKGjdurLZt2yomJkaLFy9WixYttHr1ajVo0MCmph9++EFfffWVevfuLW9v72QDZMuWLVWoUCGNGTNGe/fu1WeffaY8efJo3Lhx1jYdOnTQV199pXbt2umZZ57Rli1b4m03MbNmzVLfvn3VvHlz9evXT7dv39b+/fu1Y8cOtWnTJsllH/X4mrVr1y5t27ZNr7zyigoUKKDw8HDNmDFDQUFBOnz4sFxdXVWzZk317dtXU6dO1TvvvKMSJUpIkvW/w4YN0/DhwxUcHKwePXro2LFjmjFjhnbt2qWtW7fKwcHBur0rV67oxRdf1CuvvKJXX31VPj4+unjxourWravcuXPr7bffVvbs2RUeHq5ly5YlW/+8efPk7u6u/v37y93dXT/88IOGDBmiqKgoffjhhzZtr169qnr16qlZs2Zq2bKlli5dqkGDBqlMmTJ68cUXJT34UqVOnTo6c+aM+vbtK19fX33++ef64YcfUnVcFy5cqGbNmsnR0VGtW7e2Ho+nn346XttFixbp+vXr6tatmywWi8aPH69mzZrp5MmTNsfuYbt27VJISIgqV66sb7/9Vi4uLpJS/vqZMWOGSpUqpcaNGytbtmxatWqVevbsqdjYWPXq1StV+xrnwoULkh6EbgBAEgwAQIYUGRlpSDKaNGmSovb79u0zJBldunSxmT5gwABDkvHDDz9Yp/n7+xuSjG3btlmnrV+/3pBkuLi4GKdPn7ZO/+STTwxJxubNm63TQkNDDUlGnz59rNNiY2ONBg0aGI6OjsalS5es02/evGlTT0xMjFG6dGnj+eeft5kuybCzszMOHToUb98kGUOHDrX+PnToUEOS0alTJ5t2L730kpErVy7r73v27DEkGa+//rpNuw4dOsRbZ0KaNGlilCpVKsk2c+fONSQZp06dsk571ONbq1Yto1atWvG2FRoaavj7+9tM+/d+/Pt4G4ZhbN++3ZBkLFiwwDrt66+/jrddwzCMixcvGo6OjkbdunWN+/fvW6dPnz7dkGTMmTPHpk5JxsyZM23WsXz5ckOSsWvXrni1JCeh+rt162a4uroat2/fjrfth/fpzp07Rt68eY2XX37ZOm3y5MmGJOOrr76yTouOjjaKFi2a4P4nZPfu3YYkY+PGjYZhPPhbL1CggNGvXz+bdqdOnTIkGbly5TL+/vtv6/Rvv/3WkGSsWrXKOi00NNRwc3MzDMMwfv75Z8PT09No0KCBzT4mdDwSe/0kdNxCQkKMwoULJ7t/Cblz545RsmRJo1ChQsbdu3dNrQMA/ivo/g0AGVRUVJQkycPDI0Xtv/vuO0lS//79baa/+eabkhTv3uuSJUuqWrVq1t/jRjR+/vnnVbBgwXjTT548GW+bvXv3tv47rvt2TEyMvv/+e+v0uCtu0oMri5GRkXruuee0d+/eeOurVauWSpYsmcye/qN79+42vz/33HO6cuWK9djFdR+Puyocp0+fPilaf/bs2fXnn3+mqOvuv6XF8TXj4eN99+5dXblyRUWLFlX27NkTPOb/9v333ysmJkavv/66zZXzrl27ytPTM97fkZOTkzp27GgzLXv27JKk1atX6+7du6brv379ui5fvqznnntON2/e1NGjR23auru769VXX7X+7ujoqCpVqtgcy++++0758uVT8+bNrdNcXV312muvpbimhQsXysfHR7Vr15b04G+9VatWWrx4cYKjY7dq1Uo5cuSw/v7cc89JSvgcb968WSEhIapTp46WLVsWb8C7lL5+Hm4XGRmpy5cvq1atWjp58qQiIyNTvK9xevfurcOHD2v69OkZdpBAAMgoCNUAkEF5enpKehAsUuL06dOys7OLN6BQ3rx5lT17dp0+fdpm+sPBTpK8vLwkSX5+fglOv3r1qs10Ozs7FS5c2GbaU089JUk29++uXr1azzzzjJydnZUzZ07lzp1bM2bMSPCDfqFChZLbzST3IS7IxNUad0z+vd6UDro0aNAgubu7q0qVKgoMDFSvXr20detWU7Wl9viadevWLQ0ZMkR+fn5ycnKSt7e3cufOrWvXrqUoXMX9nRQrVsxmuqOjowoXLhzv7yh//vxydHS0mVarVi29/PLLGj58uLy9vdWkSRPNnTs3RfcxHzp0SC+99JK8vLzk6emp3LlzW4Pzv+svUKCALBaLzbQcOXLYHMvTp0+raNGi8dr9e/8Sc//+fS1evFi1a9fWqVOndPz4cR0/flxVq1ZVRESENm3aFG+Z5P4u49y+fVsNGjRQhQoV9NVXX8U7jlLKXz9bt25VcHCw3NzclD17duXOndt6f3tc28jISF24cMH68/fffye4zx9++KFmzZqlkSNHqn79+ik6TgDwX0aoBoAMytPTU76+vjp48GCqlvt3eEhMYiNWJzbd+NcAZCnx008/qXHjxnJ2dtbHH3+s7777Ths3blSbNm0SXN/DV9tSIi1rTUiJEiV07NgxLV68WM8++6y++eYbPfvssyka9flRjm9i5zAlzwzu06ePRo0apZYtW+qrr77Shg0btHHjRuXKlUuxsbHJLp9aCZ0zi8WipUuXavv27erdu7f++usvderUSZUqVbIOwJWQa9euqVatWvrtt980YsQIrVq1Shs3brTeI//v+h/3+Zce3Od//vx5LV68WIGBgdafli1bSlKCA5altC4nJyc1aNBAO3bssPaqeFhKXz8nTpxQnTp1dPnyZU2aNElr1qzRxo0b9cYbb0j657j169dP+fLls/40a9Ys3jbnzZunQYMGqXv37nrvvfdSeJQA4L+N/jwAkIE1bNhQn376qbZv327TlTgh/v7+io2N1R9//GEd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+vXrtWnTpnjrcXBw0NGjR1O0jwn59/mV/jmPic27f/++IiIilD9/fkVFRenkyZMqUaKE9Xg9rHbt2po1a5b27dundu3aKSoqSqdOnVLJkiWVN2/eeO2fe+65ePsZdwx27NihEydOxFvm9u3bunz5si5fvpxst/vEGEM9U9y2TKH0GXhu9uzZ6tmzp3r16qXevXsrb968Onr0qAYPHqxGjRrpo48+Us+ePa3tu3TpIgcHB02dOjVF61+yZIm++uorLViwIMFzAwAA0g6hGsgEpkyZokKFCmnu3Ln64IMP9MEHH8jZ2VktW7bUxIkTUxw+PD3jh41s2bIlOl16MFLxv3l7e8cLrZKs9yond6/n33//LUlauHBhku3MPvonqf25f/+fe2HjroQ/fI/1w+ICaXJXzFN6fuL2e9SoUanco5RJar9Tco5Tezzi/pvYvboJrSfuGCQ3aFZ0dLTpUP042Ls+uBJ9/9b9BOffiH0w3cM++Q5gR48eVffu3dWoUSNNmjTJOr1ixYpavny5nnrqKb399tvq1KmTnJ2dNX/+fK1du1Zff/11io7J33//rV69eqlBgwZq165dSnYPAAA8AkI1kAlky5ZNAwYM0IABA3Tu3Dlt2bJFc+fO1YIFC3ThwgWtX7/+idZz+fJlxcbGxgvWERERkpTsc7LjAt6qVavUsGHDx1NkCsTVEVf3v124cMGmXWJSen7i1hMVFSUPD4+02o00k9rjEfffixcvJtg+ofXELXPgwAGVLl360QpOxLCw2yluG7EvQjmezSHH3EkPDmfnZKds2bPp7qW7MmKNePNPxzz4YsLfIflB5jZu3Kh79+6pdu3a8ea5urqqSpUqWr58uY4fP67SpUtbe1Q8PEDcw9avXy+LxaJy5cpp3759OnPmjK5cuaI1a9bEG6k+TtwXJL/++muCvRgAAEDKEaqBTMbX11etW7dWq1atVKxYMX3//fe6detWqruCP4p79+5p+/btqlGjhs30n376SZLi3Sf9b1WrVpUkbd++PV1DdVydYWFhGjhwoM286Oho7d69Wy4uLipWrFiK15nU+alatar27t2rX375RS+88EKa7kta8PT0VOHChXX8+HH99ddfyp8/v838uMeDxYUwT09PFSpUSMePH9eFCxfidTOO+3t4WNWqVbVs2TJt3779sYXq4VuSv0f6H5fkVtwt2VAt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G6c333xTZcuWVcuWLeXm5qZVq1bp2LFjatKkiV599dUk17Fv3z41a9ZMVapUUcmSJZU3b1799ddfWrFihezs7PTGG29Y23br1k2//PKL5s+fr61btyo4OFi+vr6KiIjQ0aNHtWPHDi1atEgBAQGPec8TN2PGDD377LPq2rWrVq1apZIlS+rQoUNauXKlcufOrRkzZti0/+ijj1SjRg21b99eK1assD6neteuXdYRqx9Wr149vf/++xo5cqSKFi2qevXqyd/fX1euXNHx48f1008/6YMPPlCJEiWe5G6nyMCBA/Xtt99q3Lhx+vXXX1WxYkXt3btXGzZs0NNPP219vnqcnTt3qnbt2qpVq1a8AdukB1/efPHFF3J0dFT79u0T3W6BAgU0aNAgjR49Wk8//bReeukl+fv7Kzw8XCtWrFBMTIymTp0a71aFh78QOn/+/INpK25Zp739rKOKe9un/kAAAACYQKgGsqj+/furaNGimjRpkr744gvFxMToqaee0sSJE9W3b994o2D/W+XKlTVo0CCFhYVpzZo1unbtmvLmzavg4GC99dZbNl16LRaL5s2bp/r162vWrFlavXq1bty4oTx58igwMFATJkxQcHDw497lJBUrVky7d+/W8OHDtW7dOq1Zs0a5c+dWx44dNXTo0Hj3npcuXVpbt27VoEGDtG7dOq1fv17PPvustm7dqgkTJsQL1ZI0YsQI1axZU1OnTtWmTZt07do15cqVS4UKFdKwYcPiPZ4ro3Bzc9OWLVusg9Jt3rxZ+fLl05tvvqmhQ4cm+Fi1pKxYsUJXrlxRy5YtlStXriTbjho1SmXLltUnn3yi9evX6/r16/Ly8lLt2rXVr18/vfjii/GWmT9/fvxpv/0zMF2H8g4q7p2qkgEAAEyzGJngGS1RUVHy8vJSZGRkigZXAgD8hwxL/cjkccoUMjcA2ldj7pneZomj5m8DAAAAT05Kcyj3VAMAAAAAYBKhGgAAAAAAk7inGkgH165d0+TJk1PUNiWPRcos9u3bpxUrViTbLiAgINnRyQEAAICMgFANpINr166l+JnDWS1Up2S/a9WqRagGAABApkD3byAdBAQEpOmzhjOLDh06pGifE3pMEwAAAJAREaoBAAAAADCJUA0AAAAAgEmEagAAAAAATCJUAwAAAABgEqEaAAAAAACTCNUAAAAAAJhEqAYA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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "df.plot.bar(title=\"Comparing simulators and Ankaa-2\", figsize=(12, 6))\n", - "text = f\"f_free = {f_free_Ankaa:.3f} \\nf_simple_noise_model = {f_simple:.3f} \\nf_noise_model = {f_noisy_Ankaa:.3f}\"\n", - "plt.text(1, 0.5, text, fontsize=14)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "6da72e22-a594-41e7-a4e2-cb82cfe0726a", - "metadata": {}, - "source": [ - "We see that compared to the full noise model, the simple model is less accurate, however, it is still a significant improvement over the noise-free case and has far fewer parameters in the model. " - ] - }, - { - "cell_type": "markdown", - "id": "b2c6b2ba-cb54-43f6-9a89-e29066b5192a", - "metadata": {}, - "source": [ - "## Summary\n", - "\n", - "In this notebook, we showed how to construct a noise model for Rigetti Ankaa-2 based only on the available calibration data.\n", - "We used a coarse assumption of gate-independent single-qubit depolarizing noise and gate-dependant two-qubit noise. Our qubit-dependent model could be improved in many ways. We could add gate-dependence noise, or change the depolarizing channel to Pauli channels. " - ] - }, - { - "cell_type": "markdown", - "id": "98989c13", - "metadata": {}, - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "braket", - "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.10" - }, - "toc-autonumbering": false, - "toc-showcode": false, - "toc-showmarkdowntxt": false, - "toc-showtags": true - }, - "nbformat": 4, - "nbformat_minor": 5 + "cells": [ + { + "cell_type": "markdown", + "id": "74154c03-d48f-4f41-867b-5e30254ce31a", + "metadata": {}, + "source": [ + "# Noise models on Rigetti\n", + "\n", + "This notebook shows how to construct a noise model from device calibration data for Rigetti Ankaa-2. We compare the measurement outcomes of circuits run on a noisy simulator with the same circuits run on quantum processing units (QPUs), to show that simulating circuits with noise models more closely mimics QPUs.\n", + "\n", + "**Before you begin**: We recommend being familiar with [Noise models on Amazon Braket.](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Noise_models/Noise_models_on_Amazon_Braket.ipynb)\n", + "Additionally, users should be familiar with [Running quantum circuits on QPU devices](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/getting_started/2_Running_quantum_circuits_on_QPU_devices/2_Running_quantum_circuits_on_QPU_devices.ipynb). \n", + "\n", + "### Table of Contents\n", + "\n", + "- Noise model for Rigetti\n", + " - Loading device calibration data\n", + " - Comparing noisy simulator results to QPU results\n", + " - Smaller noise models compared to QPU results" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e5e15fcd-55a2-4168-acc6-a38100f94511", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "from braket.aws import AwsDevice\n", + "from braket.circuits import Circuit, Gate\n", + "from braket.circuits.noise_model import GateCriteria, NoiseModel, ObservableCriteria\n", + "from braket.circuits.noises import (\n", + " BitFlip,\n", + " Depolarizing,\n", + " TwoQubitDepolarizing,\n", + ")\n", + "from braket.devices import Devices, LocalSimulator" + ] + }, + { + "cell_type": "markdown", + "id": "d4da3e37-e93c-4273-98bc-d67b26b8c822", + "metadata": {}, + "source": [ + "Braket provides access to hardware providers' reported calibration data. \n", + "This can be used to construct noise models to approximate the behavior of the QPU when running circuits on a noisy simulator.\n", + "In this tutorial, we focus on local noise models with no crosstalk interactions. Real devices can have crosstalk and unexpected effects that can further degrade the results.\n", + "\n", + "The Ankaa-2 calibration data is available on the Braket devices page. Under qubit specs, the calibration data include the qubit index, with corresponding values for the $T_1$, $T_2$, fidelity from randomized benchmarking (fRB), fidelity from simultaneous randomized benchmarking (fsRB), and readout fidelity (fRO).\n", + "Under \"edge specs\", the data includes the RB fidelity for two qubit gates for each connected edge in the device topology." + ] + }, + { + "cell_type": "markdown", + "id": "38001b96-faf7-49f0-b5a5-2d52820fcfc9", + "metadata": {}, + "source": [ + "**One-qubit calibration data (Qubit specs)**\n", + "
\n", + "\n", + "\n", + "**Two-qubit calibration data (Edge specs)**\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "276d680f-887d-4929-bcaa-e276a6303496", + "metadata": {}, + "source": [ + "We can programmatically access all the calibration data with the Braket SDK. First we load the AwsDevice using the ARN for Rigetti Ankaa-2." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a55ea9d5-05f3-4da5-a305-a391e914d012", + "metadata": {}, + "outputs": [], + "source": [ + "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "66d8f3bf", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "a8a42ae1-51ac-4bf1-bd6a-81ffd982b5f8", + "metadata": {}, + "source": [ + "The properties dictionary contains one- and two-qubit calibration data. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "153b5b63-8205-4a7e-bb18-0305ef428f36", + "metadata": {}, + "outputs": [], + "source": [ + "one_qubit_data = rigetti.properties.standardized.oneQubitProperties\n", + "two_qubit_data = rigetti.properties.standardized.twoQubitProperties" + ] + }, + { + "cell_type": "markdown", + "id": "661cca17-01fa-40be-bd3e-741bacc74ce4", + "metadata": {}, + "source": [ + "For Ankaa-2, we can get all qubit indices with `one_qubit_data.keys()` or with `rigetti.topology_graph.nodes`.\n", + "\n", + "The keys of the two qubit dictionary are the connected qubit pairs separated by a hyphen. \n", + "For example, if qubit 0 and 1 are connected the key is \"0-1\".\n", + "\n", + "\n", + "#### One-qubit noise \n", + "\n", + "Let's look at the one qubit calibration data for qubit 0." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8d4ecc35-f4dc-49d8-b6ff-adaee560ac4b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "OneQubitProperties(T1=CoherenceTime(value=8.645474408067754e-06, standardError=None, unit='S'), T2=CoherenceTime(value=1.2710111632672265e-05, standardError=None, unit='S'), oneQubitFidelity=[Fidelity1Q(fidelityType=FidelityType(name='RANDOMIZED_BENCHMARKING', description=None), fidelity=0.998913376867117, standardError=2.7016428586132974e-05), Fidelity1Q(fidelityType=FidelityType(name='SIMULTANEOUS_RANDOMIZED_BENCHMARKING', description=None), fidelity=0.9975435377199546, standardError=0.00015343141167926104), Fidelity1Q(fidelityType=FidelityType(name='READOUT', description=None), fidelity=0.9219999999999999, standardError=None)])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "one_qubit_data[\"0\"]" + ] + }, + { + "cell_type": "markdown", + "id": "4b676762-e642-4a98-89e3-86d79367071a", + "metadata": {}, + "source": [ + "For each qubit, there are various metrics of the quality:\n", + "\n", + "- **T1**: Thermal relaxation time is related to the time it takes for the excited state, |1⟩, to decay into the ground state, |0⟩. The probability of remaining in the excited state is $p(|1⟩)\\sim e^{-t/T_1}$\n", + "\n", + "- **T2**: The dephasing time, is the decay constant for the scale for a |+⟩ state to decohere into the completely mixed state. $p(|+⟩)\\sim e^{-t/T_2}$ \n", + "\n", + "- **Fidelity (RB)**: Single-qubit randomized benchmarking fidelities. RB fidelity quantifies the average gate fidelity where the average is over all Clifford gates. RB describes an *effective* noise model with gate-independent depolarizing noise on each Clifford gate.\n", + "\n", + "- **Fidelity (sRB)**: Single-qubit simultaneous randomized benchmarking fidelities. These are extracted by running single-qubit RB on all qubits simultaneously. Note that we expect the sRB fidelity to be lower than standard RB fidelity due to non-local crosstalk type noise on the device. \n", + "\n", + "- **Readout fidelity**: Single-qubit readout fidelities describes the probability of a bit flip error before readout in the computational basis. The readout fidelity is related to the probability of correctly measuring the ground state and excited states respectively, e.g. $f_{RO} =\\frac{p(0|0)+p(1|1)}{2}$" + ] + }, + { + "cell_type": "markdown", + "id": "296708a3-771e-42b4-9ba8-f3db1a02970b", + "metadata": {}, + "source": [ + "Now that we know how to extract and use the calibration data, we can build a simple noise model. For every qubit we will add:\n", + "- amplitude dampening noise with probability $p= 1-e^{-t/T_1}$ for every gate\n", + "- phase dampening noise with probability $p= 0.5(1-e^{-t/T_2})$ for every gate\n", + "- depolarizing noise with probability $p=1-f_{sRB}$ (from simultaneous RB fidelity) for every gate\n", + "- readout bit flip noise with probability $p=1-f_{RO}$ to measurements \n", + "\n", + "Technically, the sRB fidelity already includes effects from $T_1$/$T_2$, however to be explicit we add these as separate terms. In a sense, this model might overestimate the noise on the QPU. " + ] + }, + { + "cell_type": "markdown", + "id": "5769f2f4-de1c-4b47-9e4e-fd8d39b9e975", + "metadata": {}, + "source": [ + "To create the noise model, we iterate over all qubits keys in `one_qubit_data`" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7442cd27", + "metadata": {}, + "outputs": [], + "source": [ + "noise_model = NoiseModel()\n", + "\n", + "# Readout Noise Model\n", + "for q, data in rigetti.properties.standardized.oneQubitProperties.items():\n", + " try:\n", + " readout_error = 1 - data.oneQubitFidelity[2].fidelity # readout\n", + " noise_model.add_noise(BitFlip(readout_error), ObservableCriteria(qubits=int(q)))\n", + "\n", + " depolarizing_rate = (\n", + " 1 - data.oneQubitFidelity[1].fidelity\n", + " ) # SIMULTANEOUS_RANDOMIZED_BENCHMARKING\n", + " noise_model.add_noise(Depolarizing(probability=depolarizing_rate), GateCriteria(qubits=q))\n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9d20d24c-17e2-4bba-b317-fb2d156bedb0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of terms in noise model is: 167\n", + "Number of parameters in noise model is: 167\n" + ] + } + ], + "source": [ + "num_params = sum(len(item.noise.parameters) for item in noise_model.instructions)\n", + "print(f\"Number of terms in noise model is: {len(noise_model.instructions)}\")\n", + "print(f\"Number of parameters in noise model is: {num_params}\")" + ] + }, + { + "cell_type": "markdown", + "id": "790c62f7-776a-4e4c-9405-7b7a14eee5b0", + "metadata": {}, + "source": [ + "#### Two-qubit noise \n", + "Next we consider adding two-qubit noise to the model. \n", + "\n", + "Let's first look at the data provided in the Ankaa-2 device calibration data. On the first connect, \"0-1\", the properties are:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "626cbe56-3649-48eb-a2a1-f669eb790b47", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "TwoQubitProperties(twoQubitGateFidelity=[GateFidelity2Q(direction=None, gateName='ISWAP', fidelity=0.9773180863130815, standardError=0.00408287380553746, fidelityType=FidelityType(name='INTERLEAVED_RANDOMIZED_BENCHMARKING', description=None))])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "two_qubit_data[\"0-1\"]" + ] + }, + { + "cell_type": "markdown", + "id": "4bcd3be4-a6e4-4cf3-841e-1a451e01803a", + "metadata": {}, + "source": [ + "Here, we see the fidelity per gate (ISWAP or CZ) and the associated standard error. \n", + "\n", + "Next we loop over the entries in the `two_qubit_data` dictionary and add two-qubit depolarizing noise to the model. Notice that Ankaa-2 has symmetric connections (\"0-1\" and \"1-0\") so we need to add noise in both directions." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "80f57550-6549-46b6-9a6d-ff7f0f03e90d", + "metadata": {}, + "outputs": [], + "source": [ + "# Two-qubit noise\n", + "for pair, data in two_qubit_data.items(): # iterate over qubit connections\n", + " # parse strings \"0-1\" to integers [0, 1]\n", + " q0, q1 = (int(s) for s in pair.split(\"-\"))\n", + " try:\n", + " if data.twoQubitGateFidelity[0].gateName == \"ISWAP\":\n", + " phase_rate = 1 - data.twoQubitGateFidelity[0].fidelity\n", + " noise_model.add_noise(\n", + " TwoQubitDepolarizing(phase_rate),\n", + " GateCriteria(Gate.ISwap, [(q0, q1), (q1, q0)]), # symmetric connections\n", + " )\n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "82376d08-84bc-4249-9c8d-d7aacdb73113", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of terms in noise model is: 274\n", + "Number of parameters in noise model is: 274\n" + ] + } + ], + "source": [ + "num_params = sum(len(item.noise.parameters) for item in noise_model.instructions)\n", + "print(f\"Number of terms in noise model is: {len(noise_model.instructions)}\")\n", + "print(f\"Number of parameters in noise model is: {num_params}\")" + ] + }, + { + "cell_type": "markdown", + "id": "5913a8a2-a9de-4e32-a35d-c48191891b1f", + "metadata": {}, + "source": [ + "### Compare circuits run on device vs simulator with a noise model\n", + "\n", + "Let's just look at the first 5 qubits. Note that to ensure the noise model applied T1 and T2 noise during the time between gate, we manually add identity gates to each moment." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "6fabbd05-b480-43c6-b43a-d396d81bd687", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌──────────┐ ┌──────────┐ ┌───────┐ \n", + "q0 : ─┤ Rx(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─\n", + " └──────────┘ └──────────┘ └───┬───┘ \n", + " ┌──────────┐ ┌──────────┐ ┌───┴───┐ \n", + "q1 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─\n", + " └──────────┘ └──────────┘ └───────┘ \n", + " ┌──────────┐ ┌──────────┐ \n", + "q2 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├───────────\n", + " └──────────┘ └──────────┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "np.random.seed(42)\n", + "\n", + "circ = Circuit().rx(0, 0.5).rz(1, 0.5).rz(2, 0.5).rx(0, np.pi).rx(1, np.pi).rx(2, np.pi).iswap(0, 1)\n", + "print(circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "e2af07ed-33de-4709-9e7c-5e3c3caaa751", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌──────────┐ ┌──────────┐ ┌───────┐ ┌─────────────┐ \n", + "q0 : ─┤ Rx(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─┤ DEPO(0.023) ├─\n", + " └──────────┘ └──────────┘ └───┬───┘ └──────┬──────┘ \n", + " ┌──────────┐ ┌──────────┐ ┌───┴───┐ ┌──────┴──────┐ \n", + "q1 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─┤ DEPO(0.023) ├─\n", + " └──────────┘ └──────────┘ └───────┘ └─────────────┘ \n", + " ┌──────────┐ ┌──────────┐ \n", + "q2 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├───────────────────────────\n", + " └──────────┘ └──────────┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "noisy_circ = noise_model.apply(circ)\n", + "\n", + "print(noisy_circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "9304dcf1-a1e8-4e41-a6b5-769841f4eefe", + "metadata": {}, + "outputs": [], + "source": [ + "simulator = LocalSimulator() # noise free simulator\n", + "task = simulator.run(circ, shots=10_000)\n", + "free_probs = task.result().measurement_probabilities" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0e1d9cfe-03d6-406b-b4ab-89166a907681", + "metadata": {}, + "outputs": [], + "source": [ + "noisy_simulator = LocalSimulator(\"braket_dm\")\n", + "noisy_task = noisy_simulator.run(noisy_circ, shots=10_000)\n", + "noisy_probs = noisy_task.result().measurement_probabilities" + ] + }, + { + "cell_type": "markdown", + "id": "b3f370bd-a8b3-4d5b-a724-da549fc4c81f", + "metadata": {}, + "source": [ + "
\n", + "Note: The below section runs tasks on the Rigetti Ankaa-2 device. When you run this notebook, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console.\n", + "
\n", + "\n", + "
\n", + "Note: Running the circuit below will result in charges on your AWS account.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "c8f4664a-0527-46fb-87f2-2a0c85f0bd79", + "metadata": {}, + "outputs": [], + "source": [ + "rigetti_task = rigetti.run(circ, shots=10_000, disable_qubit_rewiring=True)\n", + "rigetti_result = rigetti_task.result()\n", + "rigetti_probs = rigetti_result.measurement_probabilities" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "1676a45c-5ef8-49cc-b227-69f69fa2004a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Ankaa-2noisy_simfree_sim
1100.1866NaNNaN
0110.09960.0061NaN
0010.05280.0055NaN
1110.45550.92140.9384
1010.12540.06700.0616
0100.0229NaNNaN
1000.0443NaNNaN
0000.0129NaNNaN
\n", + "
" + ], + "text/plain": [ + " Ankaa-2 noisy_sim free_sim\n", + "110 0.1866 NaN NaN\n", + "011 0.0996 0.0061 NaN\n", + "001 0.0528 0.0055 NaN\n", + "111 0.4555 0.9214 0.9384\n", + "101 0.1254 0.0670 0.0616\n", + "010 0.0229 NaN NaN\n", + "100 0.0443 NaN NaN\n", + "000 0.0129 NaN NaN" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "free_sim = pd.DataFrame.from_dict(free_probs, orient=\"index\").rename(columns={0: \"free_sim\"})\n", + "noisy_sim = pd.DataFrame.from_dict(noisy_probs, orient=\"index\").rename(columns={0: \"noisy_sim\"})\n", + "Ankaa = pd.DataFrame.from_dict(rigetti_probs, orient=\"index\").rename(columns={0: \"Ankaa-2\"})\n", + "df = Ankaa.join(noisy_sim).join(free_sim)\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "472e6850-2603-4174-bf92-b04eb0c38c2f", + "metadata": {}, + "source": [ + "We can compute the fidelity between the free simulation and Rigetti, as well as the noisy simulation and Rigetti. " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "5b7d1740-cb46-433e-8c2b-7e8b7c10fb4e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Total fidelity between Ankaa-2 and noise-free simulator is 0.7416798056649024\n", + "\n", + "Total fidelity between Ankaa-2 and noisy simulator is 0.7811919904651835\n" + ] + } + ], + "source": [ + "def fidelity(p, q):\n", + " return np.sum(np.sqrt(p * q))\n", + "\n", + "\n", + "f_free_Ankaa = fidelity(df[\"free_sim\"], df[\"Ankaa-2\"])\n", + "f_noisy_Ankaa = fidelity(df[\"noisy_sim\"], df[\"Ankaa-2\"])\n", + "\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and noise-free simulator is {f_free_Ankaa}\")\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and noisy simulator is {f_noisy_Ankaa}\")" + ] + }, + { + "cell_type": "markdown", + "id": "fd4d88b7-015e-445b-ba26-1bdbc6a2bd16", + "metadata": {}, + "source": [ + "To better visualize, we can also plot the output probability distributions from each circuit:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "9329ed72-2f30-4383-b48f-0d50e1a5dd11", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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/f31zjvv3PeYdbfp06cre/bsatCggV566SVNnz49RZ3k48SIESM0YcIE6/+Bzz33nP7888/7LmPHjh3y8/NTzZo1deXKFUlp/79rypQpql27tvz9/eXq6qoSJUro66+/TtO65cqVyyZQJ3vxxRclKcUxAUDG40w18B+wYMECFSpUSFWqVElT/U6dOmnq1Kl66aWX9O6772rTpk0aOnSo9uzZo59//tmm7sGDB9W6dWu98cYbeu211zRixAg1atRI48eP1/vvv69u3bpJkoYOHaoWLVpo3759Nmcvb926pXr16qlSpUoaPny4lixZosjISCUmJmrQoEHWemPGjFHjxo316quvKiEhQTNnztTLL7+shQsXqkGDBjZ9WrFihX788Uf16NFDuXLluu/APy1atFDBggU1dOhQbdu2Td9++638/f01bNgwa5127drpxx9/VJs2bVSpUiWtXr06xXLv59NPP5WTk5N69+6t2NhYDR8+XK+++qo2bdpkrRMdHa327dvrueee09ChQxUTE6MxY8Zo3bp12r59u3x9fe22vXv3bjVs2FBlypTRoEGD5OrqqoMHD9qE16SkJDVu3Fhr167V66+/ruLFi2vnzp36/PPPtX///nvej1m8eHF99913euedd5QvXz69++67kiQ/Pz9rWBg8eLBcXFzUu3dvxcfHy8XFRStWrFD9+vUVEhKiyMhIOTk5Wb88/vHHH6pQoYIkKSYmRpUqVbIGNz8/Py1evFgdO3ZUXFzcPQdES8u6p+bWrVuqX7++atSooeHDh2v69Onq0aOHPD099cEHH+jVV19Vs2bNNH78eLVt21aVK1dWwYIF79vu/cTFxenbb79Vq1at1LlzZ12+fFmTJk1SeHi4Nm/erLJly8rPz09ff/21unbtqhdffFHNmjWTJJUpU0aS9Pvvv6t+/foqVKiQoqKidP36dY0dO1ZVq1bVtm3bUrzvX375ZRUpUkRDhgxJ8aNVWq1du1Zz585Vt27dlC1bNn3xxRdq3ry5jh8/rpw5c0q6vT+qV68ub29v9enTR1mzZtU333yjmjVravXq1anez5qQkKDw8HDFx8erZ8+eCgwM1MmTJ7Vw4UJdunRJPj4+atOmjTp37qxdu3apVKlS1nn//PNP7d+/Xx9++GGqfT9z5ozq1q0rPz8/9evXT76+vjp69Kjmzp2bpnVv2bKlihcvrk8//VSLFi3Sxx9/rBw5cuibb75R7dq1NWzYME2fPl29e/fWc889pxo1aqRjy6YuLce+7777Tp06dVKFChX0+uuvS5IKFy4sKf37o1u3bvLz89OAAQN09erVdPc3OjpaXl5e6tWrl7y8vLRixQoNGDBAcXFx+uyzz2zqXrx4UfXq1VOzZs3UokULzZkzR3379lXp0qVVv359Sbd/0KxTp46OHz+uN998U3ny5NF3332nFStWpKtf06dPV7NmzeTi4qJWrVrp66+/1p9//qnnnnsuRd0ZM2bo8uXLeuONN2SxWDR8+HA1a9ZMhw8fTvUWkj///FPh4eEqX768fvnlF7m7u0tK+/9dX3/9tUqWLKnGjRsrS5YsWrBggbp166akpCR17949Xeua7PTp05Juh24AD5kBIFOLjY01JBlNmjRJU/0dO3YYkoxOnTrZlPfu3duQZKxYscJaFhQUZEgy1q9fby1bunSpIclwd3c3jh07Zi3/5ptvDEnGypUrrWURERGGJKNnz57WsqSkJKNBgwaGi4uLcfbsWWv5tWvXbPqTkJBglCpVyqhdu7ZNuSTDycnJ2L17d4p1k2RERkZa/46MjDQkGR06dLCp9+KLLxo5c+a0/r1161ZDkvH222/b1GvXrl2KNu1ZuXKlIckoXry4ER8fby0fM2aMIcnYuXOndZ38/f2NUqVKGdevX7fWW7hwoSHJGDBgQIq+J/v8888NSTbb7G7fffed4eTkZPzxxx825ePHjzckGevWrbvnehjG7X3eoEEDu+tXqFAhm/2UlJRkFClSxAgPDzeSkpKs5deuXTMKFixoPP/889ayjh07Grlz5zbOnTtn0/Yrr7xi+Pj4pNj/d0rLuh85csSQZEyZMsValvz+GzJkiLXs4sWLhru7u2GxWIyZM2day/fu3Zvq++duU6ZMMSQZR44csZaFhoYaoaGh1r8TExNt3gvJyw4ICLB5P549ezbV91jZsmUNf39/4/z589ayv/76y3BycjLatm2bop+tWrWyu23SSpLh4uJiHDx40GZ5koyxY8day5o2bWq4uLgYhw4dspadOnXKyJYtm1GjRg1rWfL7JvmYsH37dkOSMXv27FT7cOnSJcPNzc3o27evTfmbb75peHp6GleuXEl13p9//tmQZPz555/3XU97+/n111+3liUmJhr58uUzLBaL8emn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M4Fp1bRpUwUHB2vgwIEKCgqyDsJ1dzCfPXu2li1bpoYNG6pbt26Ki4uTJMXHx6tevXpatWqVypYtq44dO+rmzZtatGiRmjRporFjx9qcTUxv/fRKDtBt27bVc889p0KFCunHH3/UmDFj5OXlZXee+fPna9GiRWrUqJGqVKmiNWvWaNq0aTp06NB9Q+Lly5fVtGlTrVy5UiNHjlSvXr0kSRcuXNDbb7+t6tWr64UXXlD27Nl1+PBhzZ8/X4sXL9aaNWv03HPPWdvZs2ePBgwYoFq1aunFF1+Up6en9u7dqxkzZmjRokXatm2bgoKCTG+XjLBq1SpJUt26dVNMCw8PV3R0tFavXm36iofo6GjdunVLbdu2VdasWe3Wef/993X8+HEtXLhQFovF1HKS286Shf+iAADA449vLMBDVLNmTdWsWVPR0dGSlOoltffStGlTNW3aVAMHDlRwcHCqbSxZskRLly5VWFiYTfmgQYO0atUqffTRRxo4cKA16Fy+fFm1a9fWu+++q2bNmilPnjym6qfH+fPn9csvv6hYsWLWwPraa69p0KBBmjVrlvXM9d0WLFigVatWWe8HvnXrlsLCwrRq1Spt3LhRlSpVsjtfTEyM6tevr127dmnatGl67bXXrNOyZ8+u48ePK2/evDbz7N69W5UqVdL777+v3377zVpevHhx/fvvv8qRI4dN/ZUrVyosLEwff/yxJk6cmKbtMHr0aF26dClNdaXb74GyZcvet96BAwfk5eVldwC7IkWKWOuYYRiGJk+eLCn1S7/XrFmjMWPGaNSoUSpcuLCp5Rw/fly///67cufOrdKlS5tqAwAA4FEiVAOZRJMmTVIE6qSkJH399dcqXLiwTUCWpGzZsmnAgAFq3Lix5s6dqx49eqS7fnp99913SkhIUJs2baxlbdu21aBBgzRp0qRUQ3Xr1q1tBthydnZWRESEVq1apT///NNuqD506JDCw8P177//av78+apXr57NdFdX1xSBWpJKliypWrVqaenSpbp586b1rOmdl1PfqVatWipZsqR+//33+2+A/2/06NE6duxYmusHBwenKVTHxsbK39/f7jRvb29rHTNWr16tQ4cOqVq1anr66adTTL969arat2+vypUrq2fPnqaWcfPmTbVp00bx8fEaNmzYfUcYBwAAeBwQqoFMokKFCinK9u3bp4sXLypPnjwaOHBgiulnz56VJO3du9dU/fSaNGmSLBaLzRnjwoULq0qVKlq/fr327Nmj4sWLp5gvJCQkRVm+fPkkye4Z371796pq1apKTEzUihUrVLFiRbv92bFjh4YPH661a9fq9OnTunnzps30c+fOKXfu3Na/V61apdGjR2vTpk06d+6cEhMTrdPSMwjd0aNH01z3cZF82X5qP3z07t3bes/1/QZCsycpKUnt2rXTmjVr1LlzZ5sfXgAAAB5nhGogkwgICEhRduHCBUm3L2nevXt3qvNevXrVVP302LRpk3bt2qVatWqpQIECNtPatm2r9evXa/LkyXafW518lvVOyffb3rp1K8W0/fv36+LFi6pSpYpKlSpltz/r169X7dq1Jd2+B7lIkSLy8vKSxWLRvHnz9Ndffyk+Pt5af/bs2WrZsqW8vLwUHh6u4OBgeXh4WAdSS8+Z54fFx8cn1TPRyffYp3bG/V5iY2P1008/ydvbWy1atEgxfdWqVRo/frw+++wzFS1aNN3tJyUlqUOHDpoxY4Zee+01jR8/Pt1tAAAAOAqhGsgk7A0KlRxGmzdvrjlz5ty3jfTWT4/kM50rV65MdQCradOmaciQIakOgpVWjRs3VsGCBRUVFaUXXnhBv/76qzw9PW3qfPLJJ4qPj9cff/yhatWq2UzbuHGj/vrrL5uyqKgoubm5aevWrdb7k5PNnDkzXf17WPdUFylSRBs2bNDp06dT3FedfC/13X1Pi+nTp+v69etq27atPDw8UkzfsWOHJOm9996z+8zxffv2yWKxyMfHJ8V6JyUlqX379po2bZpatWql6OhoU2e6AQAAHIVQDWRixYsXl7e3t7Zs2WJzf3BG1U+rq1evaubMmfLw8FCrVq3s1vnzzz/1999/a+HChXrxxRcfeJmRkZFydnbWRx99pPr16+vXX3+1GV380KFDypEjR4pAfe3aNW3bti1Fe4cOHVLJkiVThNJ///1Xhw8fTlffHtY91aGhodqwYYOWLVumtm3b2kxbunSptU56Jf8gktoAZaVKlUr1svBJkybJx8dHL730UopAfmegbtmypb777jvuowYAAE8cQjWQiWXJkkVdu3bVsGHD1Lt3b40YMSJFUN61a5f8/f3l7++f7vppNXv2bF2+fFlt27bVt99+a7fOsmXLFB4erkmTJmVIqJakDz/8UE5OTvrggw9U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KQK1JD399NP64osvVLNmzUffMZgSHx+vrl27qnTp0nanHzt2TAMHDnzEvYJZpUqVUsWKFdW1a1e703fs2MEXgSeMr6+vLBZLqtMNw7jndDxe+CEzc2nYsKFef/11TZo0SeXKlbOZtn37dnXt2lWNGjVyUO9gBj+UZB41a9ZU7969NX36dOXKlctm2rlz59S3b18yiwjVDuPq6nrPMyeXL1+Wq6vrI+wRHkTZsmWVP39+RURE2J3+119/EaqfIFWrVtW+fftSnZ4tWzbu1XzCZMuWTR988IEqVqxod/qBAwf0xhtvPOJewSx+yMxcxo0bp9atWyskJETZs2e33vp25swZXbp0SeHh4Ro3bpyDe4n04IeSzGP8+PF64YUXlDt3bpUuXdrmltWdO3eqRIkSWrhwoYN76XiEagdp2bKlIiIi9Pnnn6tOnTry9vaWdPsSxeXLl6tXr15q1aqVg3uJtGrQoIEuXbqU6vQcOXIwANITZMyYMfecXrhwYa1cufIR9QYZIfk++dDQULvTfX19xRAjTw5+yMxcsmfPrsWLF2vv3r12B28tVqyYg3uI9OKHkswjf/78+uuvv7R06VJt3LjR+vmsUKGChgwZorp16/7nR/6WGKjMYeLj4/X2229r8uTJSkxMtF4ik5CQoCxZsqhjx476/PPPOVsNABlg4sSJun79ut58802702NiYjR+/HhFRkY+4p7BjCFDhujmzZup7q8TJ05owIABmjJlyiPuGYA77dmzxyaI8UMJMitCtYPFxcVp69atNgebkJAQ65lrAI7DI+8AwPF45B3gePa+E1WpUkXPPfecg3v2eCBUA48AXwieLDzyDgAeHzwi7cmUkJCgefPm2Q1iTZo0uedAZnh88J0obQjVj6mYmBh98803GjBggKO7ggzAF4Iny0svvaRTp05pypQpqT7yLk+ePDzyLhPhmPvk4Qt75nG/R979/fffCg0N5f/QJ8jBgwcVHh6uU6dOqWLFijZBbNOmTcqXL58WL16sp556ysE9xf3wnShtCNWPKULYk4UvBJlLtmzZtGbNmhQjlibbunWratasybONMxGOuU8WvrBnLk5OTml65B2fzyfH888/L09PT02bNi3FLY1xcXFq27atrl+/rqVLlzqoh0grvhOlDaN/O8jff/99z+n3epwPHj88Azdz4ZF3mQ/H3Mwl+XFa27dvT/ULe/fu3fnC/oTgkXeZz7p167R582a7YwR5e3tr8ODBqe5vPF74TpQ2hGoHKVu2rCwWi91HuCSXE8KeHHwhyFx45F3mwzE3c+ELe+bCI+8yH19fXx09elSlSpWyO/3o0aPy9fV9tJ2CKXwnShtCtYPkyJFDw4cPV506dexO3717txo1avSIewWz+EKQuYwaNUpJSUl65ZVXUn3k3YgRIxzcS6QHx9zMhS/smUvr1q117dq1VKcHBgbyuLsnTKdOndS2bVt99NFHqlOnjs0tGsuXL9fHH3+snj17OriXSAu+E6UNodpBQkJCdOrUKQUFBdmdfunSJULYE4QvBJmLq6urvv76aw0bNoxH3mUSHHMzF76wZy6dO3e+5/SAgAD+D33CDBo0SJ6envrss8/07rvvWq8EMgxDgYGB6tu3r/r06ePgXiIt+E6UNgxU5iA///yzrl69qtdee83u9IsXL2r+/PmKiIh4xD0DIEnnzp3T5MmT7Y4s3K5dO/n5+Tm4h0gPjrmZz7BhwzRmzBidPn06xRf2t99+my/sTxiOuZnXkSNHbPZpwYIFHdwjpBefz/sjVAMZhANO5vHnn38qPDxcHh4eCgsLS3EW7Nq1a1q6dKnKly/v4J4C4Av7k49j7n/PiRMnFBkZqcmTJzu6K7gPPp9pQ6h+THGwebJwwMlcKlWqpGeeeUbjx49PMXiVYRjq0qWL/v77b23YsMFBPURG45ibubA/nywcc/97eIzhk4PPZ9oQqh9THGyeLBxwMhd3d3dt375dxYoVszt97969KleunK5fv/6Ie4aHhWNu5sL+fLJwzM185s+ff8/phw8f1rvvvstn9AnA5zNtGKjMQdJysMGT46+//lJ0dLTdR/JYLBa98847KleunAN6BjMCAwO1efPmVP8D2bx5s/VqBDwZOOZmLuzPzIVjbubTtGnTVB9jmIzHGD4Z+HymDaHaQTjYZC4ccDKX3r176/XXX9fWrVvtjiw8ceJEHh/xhOGYm7mwPzMXjrmZT+7cufXVV1+pSZMmdqfv2LFDISEhj7hXMIPPZ9oQqh2Eg03mwgEnc+nevbty5cqlzz//XF999ZX18jRnZ2eFhIQoOjpaLVq0cHAvkR4cczMX9mfmwjE38wkJCdHWrVtT/Yze70cxPD74fKYN91Q7SOPGjVW2bFkNGjTI7vS//vpL5cqVU1JS0iPuGcyaNWuWPv/8c23dujXFAadXr14ccJ5QN2/e1Llz5yRJuXLlUtasWR3cI5jBMTdzYX9mXhxzM4c//vhDV69eVb169exOv3r1qrZs2aLQ0NBH3DM8CD6fqSNUOwgHm8yLAw7w+OGYm7mwPwEAjxNCNQAAAAAAJjk5ugMAAAAAADypCNUAAAAAAJhEqAYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEz6fzSHt11n6r/FAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "%matplotlib inline\n", + "\n", + "df.plot.bar(\n", + " title=\"Comparing noise-free simulator, noisy simulator, and Ankaa-2\",\n", + " figsize=(12, 6),\n", + ")\n", + "\n", + "text = f\"f_free_Ankaa = {f_free_Ankaa:.3f} \\nf_noise_model_Ankaa = {f_noisy_Ankaa:.3f}\"\n", + "plt.text(1, 0.5, text, fontsize=14)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "aa8ffab8-e062-4c33-9c9d-4a312cd76b63", + "metadata": {}, + "source": [ + "We confirm that the simulator with a noise model is closer to the distribution produced by Ankaa-2." + ] + }, + { + "cell_type": "markdown", + "id": "c4571a5e-2f8d-4767-b28e-a527d2490830", + "metadata": {}, + "source": [ + "### Smaller, reduced noise models\n", + "\n", + "The full Rigetti Ankaa-2 noise model contains due to non-uniform qubit noise. We can obtain simpler, smaller noise models by coarse graining the model above.\n", + "\n", + "Here, we consider taking the average over all qubits for the $T_1$, $T_2$, depolarizing, and readout depolarizing rates. This is a substantially smaller noise model, but may be less accurate. \n", + "\n", + "We use the `from_filter` function to extract all instructions with amplitude dampening noise in the model. We then compute the mean of the error probabilities. " + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "eac8479f-4b29-42d8-a15a-ba10aae82d3f", + "metadata": {}, + "outputs": [], + "source": [ + "avg_depo = np.mean(\n", + " [n.noise.parameters for n in noise_model.from_filter(noise=Depolarizing).instructions]\n", + ")\n", + "avg_readout = np.mean(\n", + " [n.noise.parameters for n in noise_model.from_filter(noise=BitFlip).instructions]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d1a64cae-226c-45d2-9af3-4b5b7a36c7a4", + "metadata": {}, + "source": [ + "Now we construct a new noise model with the mean values above:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "e49eb24c-5f24-4084-9d4c-c2e7e82fc259", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Gate Noise:\n", + " Depolarizing(0.010099107504894678), GateCriteria(None, None)\n", + "Readout Noise:\n", + " BitFlip(0.06397619047619048), ObservableCriteria(None, None)\n" + ] + } + ], + "source": [ + "simple_noise_model = NoiseModel()\n", + "simple_noise_model.add_noise(Depolarizing(avg_depo), GateCriteria())\n", + "simple_noise_model.add_noise(BitFlip(avg_readout), ObservableCriteria())\n", + "\n", + "print(simple_noise_model)" + ] + }, + { + "cell_type": "markdown", + "id": "b44bbbd1-fb65-4b8f-8dfa-0ea5aa7979b2", + "metadata": {}, + "source": [ + "We can see the resultant circuits contain qubit-independent noise:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c83e96f6-54b0-445b-bcdd-8a7a16691b62", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐ ┌───────┐ ┌────────────┐ \n", + "q0 : ─┤ Rx(0.50) ├─┤ DEPO(0.01) ├─┤ Rx(3.14) ├─┤ DEPO(0.01) ├─┤ ISWAP ├─┤ DEPO(0.01) ├─\n", + " └──────────┘ └────────────┘ └──────────┘ └────────────┘ └───┬───┘ └────────────┘ \n", + " ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐ ┌───┴───┐ ┌────────────┐ \n", + "q1 : ─┤ Rz(0.50) ├─┤ DEPO(0.01) ├─┤ Rx(3.14) ├─┤ DEPO(0.01) ├─┤ ISWAP ├─┤ DEPO(0.01) ├─\n", + " └──────────┘ └────────────┘ └──────────┘ └────────────┘ └───────┘ └────────────┘ \n", + " ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐ \n", + "q2 : ─┤ Rz(0.50) ├─┤ DEPO(0.01) ├─┤ Rx(3.14) ├─┤ DEPO(0.01) ├──────────────────────────\n", + " └──────────┘ └────────────┘ └──────────┘ └────────────┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "simple_noisy_circ = simple_noise_model.apply(circ)\n", + "print(simple_noisy_circ)" + ] + }, + { + "cell_type": "markdown", + "id": "e2c20b79-cbf2-4897-80b3-452c78d56a03", + "metadata": {}, + "source": [ + "We run the circuit on a noisy simulator below" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "a1bb19e8-6824-4a50-b9fb-ae06c14359b6", + "metadata": {}, + "outputs": [], + "source": [ + "simple_noisy_task = noisy_simulator.run(simple_noisy_circ, shots=100_000)\n", + "simple_noisy_probs = simple_noisy_task.result().measurement_probabilities" + ] + }, + { + "cell_type": "markdown", + "id": "76418e5c-be5b-4b3a-8916-c0f56f003cd7", + "metadata": {}, + "source": [ + "and add it to the previous dataframe" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "b4d27a95-612d-4dea-9f6a-98d4525b0a70", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Ankaa-2noisy_simfree_simsimple_noisy_sim
1100.1866NaNNaN0.01230
0110.09960.0061NaN0.01795
0010.05280.0055NaN0.00156
1110.45550.92140.93840.89030
1010.12540.06700.06160.07659
0100.0229NaNNaN0.00019
1000.0443NaNNaN0.00108
0000.0129NaNNaN0.00003
\n", + "
" + ], + "text/plain": [ + " Ankaa-2 noisy_sim free_sim simple_noisy_sim\n", + "110 0.1866 NaN NaN 0.01230\n", + "011 0.0996 0.0061 NaN 0.01795\n", + "001 0.0528 0.0055 NaN 0.00156\n", + "111 0.4555 0.9214 0.9384 0.89030\n", + "101 0.1254 0.0670 0.0616 0.07659\n", + "010 0.0229 NaN NaN 0.00019\n", + "100 0.0443 NaN NaN 0.00108\n", + "000 0.0129 NaN NaN 0.00003" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "simple_noisy_sim = pd.DataFrame.from_dict(simple_noisy_probs, orient=\"index\").rename(\n", + " columns={0: \"simple_noisy_sim\"}\n", + ")\n", + "df = df.join(simple_noisy_sim)\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "b1699bc2-712f-4a99-b9d6-0a0920114a13", + "metadata": {}, + "source": [ + "We compute the fidelity between the simple noise model and the QPU:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "d7710e0b-29ac-4968-aa00-e23cb8b32269", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Total fidelity between Ankaa-2 and full noise model is: 0.7811919904651835\n", + "\n", + "Total fidelity between Ankaa-2 and simple noise model is: 0.8437069124308016\n", + "\n", + "Total fidelity between Ankaa-2 and noise-free is: 0.7416798056649024\n" + ] + } + ], + "source": [ + "f_simple = fidelity(df[\"simple_noisy_sim\"], df[\"Ankaa-2\"])\n", + "\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and full noise model is: {f_noisy_Ankaa}\")\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and simple noise model is: {f_simple}\")\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and noise-free is: {f_free_Ankaa}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "e36e19d0-664a-4cb4-a2e3-0061cd60a6c1", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9UAAAIcCAYAAAD42o3XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB7xUlEQVR4nO3dd3xO5//H8fedyF5GCCESI7W3UrREpaJ21ShKzNq0qlSHWbP4Wi2tmi2lVdSoVRVtUbNqa42gRYySECPI+f3hl7vuZh8ho6/n45FH5ZzrnPM55+S+e7/vc53rWAzDMAQAAAAAAFLNLr0LAAAAAAAgsyJUAwAAAABgEqEaAAAAAACTCNUAAAAAAJhEqAYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEwiVAMAMjyLxaJhw4aldxkJmjdvniwWi8LDw9Nl+xn52GRkYWFhslgsCgsLS5ftd+jQQe7u7umybQBA2iJUA0AmcOLECXXr1k2FCxeWs7OzPD09VaNGDU2ZMkW3bt1K7/KQCR0+fFjDhg1Lty8DMqOPP/5YFotFVatWTe9S0tTNmzf10UcfqW7dusqXL588PDxUoUIFzZgxQ/fv30/v8gAgw8uW3gUAAJK2Zs0atWjRQk5OTmrfvr1Kly6tmJgY/fzzz3rrrbd06NAhffrpp+ld5mN169YtZcuWMf+X1a5dO73yyitycnJK71JS5fDhwxo+fLiCgoIUEBCQ3uVkCgsXLlRAQIB27typ48ePq2jRouldUpo4efKk+vTpozp16qh///7y9PTU+vXr1bNnT/3yyy+aP39+epcIABlaxvyEAgCQJJ06dUqvvPKK/P399cMPPyhfvnzWeb169dLx48e1Zs2adKzw8YmNjVVMTIycnZ3l7Oyc3uUkyt7eXvb29uldRoZx8+ZNubq6pncZae7UqVPatm2bli1bpm7dumnhwoUaOnRoepeVJvLmzasDBw6oVKlS1mndunVTp06dNHfuXL3//vtZ5gsEAHgc6P4NABnY+PHjdePGDc2ePdsmUMcpWrSo+vXrZ/393r17GjlypIoUKSInJycFBATonXfe0Z07d2yWCwgIUMOGDRUWFqbKlSvLxcVFZcqUsd5fumzZMpUpU0bOzs6qVKmSfv31V5vl4+4HPXnypEJCQuTm5iZfX1+NGDFChmHYtJ0wYYKqV6+uXLlyycXFRZUqVdLSpUvj7YvFYlHv3r21cOFClSpVSk5OTlq3bp113sP3DQ8bNkwWi0XHjx9Xhw4dlD17dnl5ealjx466efOmzXpv3bqlvn37ytvbWx4eHmrcuLH++uuvFN+LPG3aNJUqVUqurq7KkSOHKleurEWLFlnnJ3RP9aMe36CgIAUFBcWrpUOHDsleVT59+rR69uypYsWKycXFRbly5VKLFi1s6ps3b55atGghSapdu7YsFku8+4s//vhj63nw9fVVr169dO3atXh1li5dWnv27FHNmjXl6uqqd955R5K0e/duhYSEyNvbWy4uLipUqJA6deqUZO2S9O2336pBgwby9fWVk5OTihQpopEjR8brhhy37cOHD6t27dpydXVV/vz5NX78+Hjr/PPPP9W0aVO5ubkpT548euONN+K9JpKzcOFC5ciRQw0aNFDz5s21cOHCeG3Cw8NlsVg0YcIEffrpp9bX4dNPP61du3Ylu419+/Ypd+7cCgoK0o0bNySl/PUzd+5cPf/888qTJ4+cnJxUsmRJzZgxI0X75u3tbROo47z00kuSpCNHjqRoPQDwX8WVagDIwFatWqXChQurevXqKWrfpUsXzZ8/X82bN9ebb76pHTt2aMyYMTpy5IiWL19u0/b48eNq06aNunXrpldffVUTJkxQo0aNNHPmTL3zzjvq2bOnJGnMmDFq2bKljh07Jju7f76LvX//vurVq6dnnnlG48eP17p16zR06FDdu3dPI0aMsLabMmWKGjdurLZt2yomJkaLFy9WixYttHr1ajVo0MCmph9++EFfffWVevfuLW9v72QDZMuWLVWoUCGNGTNGe/fu1WeffaY8efJo3Lhx1jYdOnTQV199pXbt2umZZ57Rli1b4m03MbNmzVLfvn3VvHlz9evXT7dv39b+/fu1Y8cOtWnTJsllH/X4mrVr1y5t27ZNr7zyigoUKKDw8HDNmDFDQUFBOnz4sFxdXVWzZk317dtXU6dO1TvvvKMSJUpIkvW/w4YN0/DhwxUcHKwePXro2LFjmjFjhnbt2qWtW7fKwcHBur0rV67oxRdf1CuvvKJXX31VPj4+unjxourWravcuXPr7bffVvbs2RUeHq5ly5YlW/+8efPk7u6u/v37y93dXT/88IOGDBmiqKgoffjhhzZtr169qnr16qlZs2Zq2bKlli5dqkGDBqlMmTJ68cUXJT34UqVOnTo6c+aM+vbtK19fX33++ef64YcfUnVcFy5cqGbNmsnR0VGtW7e2Ho+nn346XttFixbp+vXr6tatmywWi8aPH69mzZrp5MmTNsfuYbt27VJISIgqV66sb7/9Vi4uLpJS/vqZMWOGSpUqpcaNGytbtmxatWqVevbsqdjYWPXq1StV+xrnwoULkh6EbgBAEgwAQIYUGRlpSDKaNGmSovb79u0zJBldunSxmT5gwABDkvHDDz9Yp/n7+xuSjG3btlmnrV+/3pBkuLi4GKdPn7ZO/+STTwxJxubNm63TQkNDDUlGnz59rNNiY2ONBg0aGI6OjsalS5es02/evGlTT0xMjFG6dGnj+eeft5kuybCzszMOHToUb98kGUOHDrX+PnToUEOS0alTJ5t2L730kpErVy7r73v27DEkGa+//rpNuw4dOsRbZ0KaNGlilCpVKsk2c+fONSQZp06dsk571ONbq1Yto1atWvG2FRoaavj7+9tM+/d+/Pt4G4ZhbN++3ZBkLFiwwDrt66+/jrddwzCMixcvGo6OjkbdunWN+/fvW6dPnz7dkGTMmTPHpk5JxsyZM23WsXz5ckOSsWvXrni1JCeh+rt162a4uroat2/fjrfth/fpzp07Rt68eY2XX37ZOm3y5MmGJOOrr76yTouOjjaKFi2a4P4nZPfu3YYkY+PGjYZhPPhbL1CggNGvXz+bdqdOnTIkGbly5TL+/vtv6/Rvv/3WkGSsWrXKOi00NNRwc3MzDMMwfv75Z8PT09No0KCBzT4mdDwSe/0kdNxCQkKMwoULJ7t/Cblz545RsmRJo1ChQsbdu3dNrQMA/ivo/g0AGVRUVJQkycPDI0Xtv/vuO0lS//79baa/+eabkhTv3uuSJUuqWrVq1t/jRjR+/vnnVbBgwXjTT548GW+bvXv3tv47rvt2TEyMvv/+e+v0uCtu0oMri5GRkXruuee0d+/eeOurVauWSpYsmcye/qN79+42vz/33HO6cuWK9djFdR+Puyocp0+fPilaf/bs2fXnn3+mqOvuv6XF8TXj4eN99+5dXblyRUWLFlX27NkTPOb/9v333ysmJkavv/66zZXzrl27ytPTM97fkZOTkzp27GgzLXv27JKk1atX6+7du6brv379ui5fvqznnntON2/e1NGjR23auru769VXX7X+7ujoqCpVqtgcy++++0758uVT8+bNrdNcXV312muvpbimhQsXysfHR7Vr15b04G+9VatWWrx4cYKjY7dq1Uo5cuSw/v7cc89JSvgcb968WSEhIapTp46WLVsWb8C7lL5+Hm4XGRmpy5cvq1atWjp58qQiIyNTvK9xevfurcOHD2v69OkZdpBAAMgoCNUAkEF5enpKehAsUuL06dOys7OLN6BQ3rx5lT17dp0+fdpm+sPBTpK8vLwkSX5+fglOv3r1qs10Ozs7FS5c2GbaU089JUk29++uXr1azzzzjJydnZUzZ07lzp1bM2bMSPCDfqFChZLbzST3IS7IxNUad0z+vd6UDro0aNAgubu7q0qVKgoMDFSvXr20detWU7Wl9viadevWLQ0ZMkR+fn5ycnKSt7e3cufOrWvXrqUoXMX9nRQrVsxmuqOjowoXLhzv7yh//vxydHS0mVarVi29/PLLGj58uLy9vdWkSRPNnTs3RfcxHzp0SC+99JK8vLzk6emp3LlzW4Pzv+svUKCALBaLzbQcOXLYHMvTp0+raNGi8dr9e/8Sc//+fS1evFi1a9fWqVOndPz4cR0/flxVq1ZVRESENm3aFG+Z5P4u49y+fVsNGjRQhQoV9NVXX8U7jlLKXz9bt25VcHCw3NzclD17duXOndt6f3tc28jISF24cMH68/fffye4zx9++KFmzZqlkSNHqn79+ik6TgDwX0aoBoAMytPTU76+vjp48GCqlvt3eEhMYiNWJzbd+NcAZCnx008/qXHjxnJ2dtbHH3+s7777Ths3blSbNm0SXN/DV9tSIi1rTUiJEiV07NgxLV68WM8++6y++eYbPfvssyka9flRjm9i5zAlzwzu06ePRo0apZYtW+qrr77Shg0btHHjRuXKlUuxsbHJLp9aCZ0zi8WipUuXavv27erdu7f++usvderUSZUqVbIOwJWQa9euqVatWvrtt980YsQIrVq1Shs3brTeI//v+h/3+Zce3Od//vx5LV68WIGBgdafli1bSlKCA5altC4nJyc1aNBAO3bssPaqeFhKXz8nTpxQnTp1dPnyZU2aNElr1qzRxo0b9cYbb0j657j169dP+fLls/40a9Ys3jbnzZunQYMGqXv37nrvvfdSeJQA4L+N/jwAkIE1bNhQn376qbZv327TlTgh/v7+io2N1R9//GEd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+vXrtWnTpnjrcXBw0NGjR1O0jwn59/mV/jmPic27f/++IiIilD9/fkVFRenkyZMqUaKE9Xg9rHbt2po1a5b27dundu3aKSoqSqdOnVLJkiWVN2/eeO2fe+65ePsZdwx27NihEydOxFvm9u3bunz5si5fvpxst/vEGEM9U9y2TKH0GXhu9uzZ6tmzp3r16qXevXsrb968Onr0qAYPHqxGjRrpo48+Us+ePa3tu3TpIgcHB02dOjVF61+yZIm++uorLViwIMFzAwAA0g6hGsgEpkyZokKFCmnu3Ln64IMP9MEHH8jZ2VktW7bUxIkTUxw+PD3jh41s2bIlOl16MFLxv3l7e8cLrZKs9yond6/n33//LUlauHBhku3MPvonqf25f/+fe2HjroQ/fI/1w+ICaXJXzFN6fuL2e9SoUanco5RJar9Tco5Tezzi/pvYvboJrSfuGCQ3aFZ0dLTpUP042Ls+uBJ9/9b9BOffiH0w3cM++Q5gR48eVffu3dWoUSNNmjTJOr1ixYpavny5nnrqKb399tvq1KmTnJ2dNX/+fK1du1Zff/11io7J33//rV69eqlBgwZq165dSnYPAAA8AkI1kAlky5ZNAwYM0IABA3Tu3Dlt2bJFc+fO1YIFC3ThwgWtX7/+idZz+fJlxcbGxgvWERERkpTsc7LjAt6qVavUsGHDx1NkCsTVEVf3v124cMGmXWJSen7i1hMVFSUPD4+02o00k9rjEfffixcvJtg+ofXELXPgwAGVLl360QpOxLCw2yluG7EvQjmezSHH3EkPDmfnZKds2bPp7qW7MmKNePNPxzz4YsLfIflB5jZu3Kh79+6pdu3a8ea5urqqSpUqWr58uY4fP67SpUtbe1Q8PEDcw9avXy+LxaJy5cpp3759OnPmjK5cuaI1a9bEG6k+TtwXJL/++muCvRgAAEDKEaqBTMbX11etW7dWq1atVKxYMX3//fe6detWqruCP4p79+5p+/btqlGjhs30n376SZLi3Sf9b1WrVpUkbd++PV1DdVydYWFhGjhwoM286Oho7d69Wy4uLipWrFiK15nU+alatar27t2rX375RS+88EKa7kta8PT0VOHChXX8+HH99ddfyp8/v838uMeDxYUwT09PFSpUSMePH9eFCxfidTOO+3t4WNWqVbVs2TJt3779sYXq4VuSv0f6H5fkVtwt2VAt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G6c333xTZcuWVcuWLeXm5qZVq1bp2LFjatKkiV599dUk17Fv3z41a9ZMVapUUcmSJZU3b1799ddfWrFihezs7PTGG29Y23br1k2//PKL5s+fr61btyo4OFi+vr6KiIjQ0aNHtWPHDi1atEgBAQGPec8TN2PGDD377LPq2rWrVq1apZIlS+rQoUNauXKlcufOrRkzZti0/+ijj1SjRg21b99eK1assD6neteuXdYRqx9Wr149vf/++xo5cqSKFi2qevXqyd/fX1euXNHx48f1008/6YMPPlCJEiWe5G6nyMCBA/Xtt99q3Lhx+vXXX1WxYkXt3btXGzZs0NNPP219vnqcnTt3qnbt2qpVq1a8AdukB1/efPHFF3J0dFT79u0T3W6BAgU0aNAgjR49Wk8//bReeukl+fv7Kzw8XCtWrFBMTIymTp0a71aFh78QOn/+/INpK25Zp739rKOKe9un/kAAAACYQKgGsqj+/furaNGimjRpkr744gvFxMToqaee0sSJE9W3b994o2D/W+XKlTVo0CCFhYVpzZo1unbtmvLmzavg4GC99dZbNl16LRaL5s2bp/r162vWrFlavXq1bty4oTx58igwMFATJkxQcHDw497lJBUrVky7d+/W8OHDtW7dOq1Zs0a5c+dWx44dNXTo0Hj3npcuXVpbt27VoEGDtG7dOq1fv17PPvustm7dqgkTJsQL1ZI0YsQI1axZU1OnTtWmTZt07do15cqVS4UKFdKwYcPiPZ4ro3Bzc9OWLVusg9Jt3rxZ+fLl05tvvqmhQ4cm+Fi1pKxYsUJXrlxRy5YtlStXriTbjho1SmXLltUnn3yi9evX6/r16/Ly8lLt2rXVr18/vfjii/GWmT9/fvxpv/0zMF2H8g4q7p2qkgEAAEyzGJngGS1RUVHy8vJSZGRkigZXAgD8hwxL/cjkccoUMjcA2ldj7pneZomj5m8DAAAAT05Kcyj3VAMAAAAAYBKhGgAAAAAAk7inGkgH165d0+TJk1PUNiWPRcos9u3bpxUrViTbLiAgINnRyQEAAICMgFANpINr166l+JnDWS1Up2S/a9WqRagGAABApkD3byAdBAQEpOmzhjOLDh06pGifE3pMEwAAAJAREaoBAAAAADCJUA0AAAAAgEmEagAAAAAATCJUAwAAAABgEqEaAAAAAACTCNUAAAAAAJhEqAYA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.plot.bar(title=\"Comparing simulators and Ankaa-2\", figsize=(12, 6))\n", + "text = f\"f_free = {f_free_Ankaa:.3f} \\nf_simple_noise_model = {f_simple:.3f} \\nf_noise_model = {f_noisy_Ankaa:.3f}\"\n", + "plt.text(1, 0.5, text, fontsize=14)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "6da72e22-a594-41e7-a4e2-cb82cfe0726a", + "metadata": {}, + "source": [ + "We see that compared to the full noise model, the simple model is less accurate, however, it is still a significant improvement over the noise-free case and has far fewer parameters in the model. " + ] + }, + { + "cell_type": "markdown", + "id": "b2c6b2ba-cb54-43f6-9a89-e29066b5192a", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "In this notebook, we showed how to construct a noise model for Rigetti Ankaa-2 based only on the available calibration data.\n", + "We used a coarse assumption of gate-independent single-qubit depolarizing noise and gate-dependant two-qubit noise. Our qubit-dependent model could be improved in many ways. We could add gate-dependence noise, or change the depolarizing channel to Pauli channels. " + ] + }, + { + "cell_type": "markdown", + "id": "98989c13", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "braket", + "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.10" + }, + "toc-autonumbering": false, + "toc-showcode": false, + "toc-showmarkdowntxt": false, + "toc-showtags": true + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/examples/braket_features/Verbatim_Compilation.ipynb b/examples/braket_features/Verbatim_Compilation.ipynb index 0ef75f7b..c46259df 100644 --- a/examples/braket_features/Verbatim_Compilation.ipynb +++ b/examples/braket_features/Verbatim_Compilation.ipynb @@ -1,948 +1,973 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Verbatim compilation" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Usually, when you run a circuit on a QPU, behind the scenes, Amazon Braket will do a series of compilation steps to optimize your circuit and map the abstract circuit to the physical qubits on the QPU. However, in many situations, such as for error mitigation or benchmarking experiments, researchers require full control of the qubits and the gates that are being applied. In a [previous notebook](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb), we showed you how to manually allocate the qubits of your circuit, i.e., how you can exactly define which logical qubit maps to which physical qubit. In this notebook, you will learn how to use _verbatim compilation_ to run your circuits exactly as defined without any modification during the compilation process.\n", - "\n", - "### Table of contents:\n", - "\n", - "* [Recap: Running circuits on Amazon Braket](#Recap)\n", - "* [Using verbatim compilation to run circuits without further compilation](#Verbatim)\n", - "* [Programming verbatim circuits onto the Rigetti device](#Rigetti)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Recap: Running circuits on Amazon Braket " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us begin with importing the usual dependencies. Verbatim compilation is supported by all Rigetti devices, and we will use the Ankaa-2 device for this demonstration." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# general imports\n", - "from braket.aws import AwsDevice\n", - "from braket.circuits import Circuit\n", - "from braket.devices import Devices\n", - "from math import pi\n", - "import networkx as nx\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When you run a circuit on Amazon Braket, different compilation and optimization steps occur before the circuit is executed on the selected QPU. First, the gates of your circuit are decomposed into the _native gates_ of the QPU. Let's first remember what the native gates of the Ankaa-2 device are:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The native gates for the Ankaa-2 device are:\n", - "rx\n", - "rz\n", - "cz\n", - "iswap\n" - ] - } - ], - "source": [ - "# set up the Rigetti Ankaa-2 device\n", - "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "\n", - "# list the native gate set\n", - "print(\"The native gates for the\", device.name, \"device are:\")\n", - "for gate in device.properties.paradigm.nativeGateSet:\n", - " print(gate)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If we create a circuit with gates that are not part of that list, the gates will automatically be decomposed into a gate set that can be executed on the device." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │\n", - " ┌───┐ \n", - "q0 : ─┤ H ├───●───\n", - " └───┘ │ \n", - " ┌─┴─┐ \n", - "q1 : ───────┤ X ├─\n", - " └───┘ \n", - "T : │ 0 │ 1 │\n", - "Counter({'00': 482, '11': 423, '10': 54, '01': 41})\n" - ] - } - ], - "source": [ - "bell = Circuit().h(0).cnot(0,1)\n", - "print(bell)\n", - "result = device.run(bell, shots=1000).result()\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's have a look at the circuit that was actually executed. " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[2]\n", - "PRAGMA PRESERVE_BLOCK\n", - "RX(1.5707963267948966) 76\n", - "RZ(3.141592653589793) 76\n", - "ISWAP 76 75\n", - "RZ(1.5707963267948966) 76\n", - "RX(1.5707963267948966) 76\n", - "RZ(4.71238898038469) 76\n", - "ISWAP 76 75\n", - "RZ(3.141592653589793) 75\n", - "RX(1.5707963267948966) 75\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 76 ro[0]\n", - "MEASURE 75 ro[1]\n" - ] - } - ], - "source": [ - "meta = result.additional_metadata.rigettiMetadata\n", - "print(meta.compiledProgram)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As you can see, the original gates, `h` and `cnot`, were decomposed into the native `rz`, `rx`, and `iswap`. You will also note that the abstract qubit indices 0 and 1 (which were chosen as an example) were remapped to qubits that actually exist on the device, in this case, 5 and 6, respectively. At the time when you run this notebook, you might see a different remapping, as the compiler takes into account the latest calibration of the device and tries to map to the qubits that yield the best results. \n", - "\n", - "The compiler further performs circuit optimizations to minimize the number of operations, e.g., by removing redundant gates. Let's have a look at a single-qubit circuit containing two subsequent `x` gates:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "identity = Circuit().x(0).x(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Of course, if you do the math, two consecutive `x` gates just cancel each other out, and we are left with an empty circuit after compilation." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[1]\n", - "PRAGMA PRESERVE_BLOCK\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 0 ro[0]\n", - "Counter({'0': 918, '1': 82})\n" - ] - } - ], - "source": [ - "result = device.run(identity, shots=1000).result()\n", - "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", - "print(compiled_program)\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Using verbatim compilation to run circuits without further compilation " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In some cases, however, you may need to run circuits exactly as defined, without any further modifications by the compiler. For instance, if you want to benchmark device performance you may want to control exactly which gates are executed on the hardware. Similarly, [certain error mitigation protocols](https://arxiv.org/pdf/2005.10921.pdf) require insertion of additional, redundant operations that would normally be removed by the compiler but are essential for the protocol to work. To prevent circuits (or parts of circuits) from further compiler optimizations, you can use the `add_verbatim_box` function in the Amazon Braket SDK." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - " Note: add_verbatim_box is currently supported on Rigetti, IonQ, and IQM devices.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When you define a (sub-)circuit in a verbatim box, you need to make sure that everything inside the verbatim box can be executed on the device _exactly_ as you defined it. This means that\n", - "1. The circuit can only use qubit indices that exist on the device\n", - "2. All gates of the circuit have to be part of the native gate set of the device\n", - "3. All multi-qubit gates have to be between qubits that are connected according to the connectivity graph of the device " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting started with a minimal example\n", - "Let's have a look at the simple example from before of an identify circuit. " - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "identity = Circuit().rx(0,pi).rx(0,pi)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here, we have chosen the Rigetti-native `rx` gate, which is identical to `x` if we choose the angle to be $\\pi$. Next, we wrap this circuit in a verbatim box to prevent the compiler from collapsing the two gates. You can see the circuit diagram indicates the start and end of the verbatim box." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │\n", - " ┌──────────┐ ┌──────────┐ \n", - "q0 : ───StartVerbatim───┤ Rx(3.14) ├─┤ Rx(3.14) ├───EndVerbatim───\n", - " └──────────┘ └──────────┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │\n" - ] - } - ], - "source": [ - "circ = Circuit().add_verbatim_box(identity)\n", - "print(circ)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When we run the circuit, both gates will be executed on the device." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - " Note: To run a circuit that contains a verbatim box the disable_qubit_rewiring flag must be set to True \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[1]\n", - "PRAGMA PRESERVE_BLOCK\n", - "RX(3.141592653589793) 0\n", - "RX(3.141592653589793) 0\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 0 ro[0]\n", - "Counter({'0': 909, '1': 91})\n" - ] - } - ], - "source": [ - "result = device.run(circ, shots=1000, disable_qubit_rewiring=True).result()\n", - "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", - "print(compiled_program)\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Programming verbatim circuits onto the Rigetti device " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we have mentioned above, to build circuits with multi-qubit gates, you need to take into consideration the connectivity graph of the device. When a circuit contains a verbatim box, automatic qubit rewiring has to be disables, and you have manually allocate the qubits on the device that you want to use for your circuit.\n", - "You can access the connectivity graph on the [device detail page](https://console.aws.amazon.com/braket/home?region=us-west-1#/devices/arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2) in the Amazon Braket Console, or by using the code below." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# set up the Rigetti Ankaa-2 device\n", - "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "\n", - "# access and visualize the device topology\n", - "# note that device topology can change day-to-day based on edge fidelity data\n", - "print(rigetti.properties.paradigm.connectivity.connectivityGraph)\n", - "nx.draw_kamada_kawai(rigetti.topology_graph, with_labels=True, font_color=\"white\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the connectivity graph, you can see that qubits 11, 10, and 17 are connected in a line, and with the code in the next cell you can access their respective 2-qubit gate fidelities to make sure you have selected a high-quality qubit subset. " - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'fISWAP': 0.9608092769094925, 'fISWAP_std_err': 0.006832379421744852}\n", - "{'fISWAP': 0.9175335256563664, 'fISWAP_std_err': 0.014230349601250074}\n" - ] - } - ], - "source": [ - "print(rigetti.properties.provider.specs[\"2Q\"][\"10-11\"])\n", - "print(rigetti.properties.provider.specs[\"2Q\"][\"10-17\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - " Note: At the time when you run this notebook the fidelity numbers may be different as QPU devices are periodically recalibrated\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After selecting the qubits and validating their gate fidelities, you can now construct a circuit and run it. " - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │\n", - " ┌───────┐ ┌───────┐ ┌──────────┐ ┌───────┐ \n", - "q10 : ───StartVerbatim───┤ ISWAP ├─┤ ISWAP ├─┤ Rx(3.14) ├─┤ ISWAP ├───EndVerbatim───\n", - " ║ └───┬───┘ └───┬───┘ └──────────┘ └───┬───┘ ║ \n", - " ║ ┌───┴───┐ │ ┌───┴───┐ ║ \n", - "q11 : ─────────║─────────┤ ISWAP ├─────┼──────────────────┤ ISWAP ├────────║────────\n", - " ║ └───────┘ │ └───────┘ ║ \n", - " ║ ┌───┴───┐ ║ \n", - "q17 : ─────────╨───────────────────┤ ISWAP ├───────────────────────────────╨────────\n", - " └───────┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │\n" - ] - } - ], - "source": [ - "circ = Circuit().iswap(10, 11).iswap(10, 17).rx(10, pi).iswap(10, 11)\n", - "verbatim_circ = Circuit().add_verbatim_box(circ)\n", - "print(verbatim_circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[3]\n", - "PRAGMA PRESERVE_BLOCK\n", - "ISWAP 10 11\n", - "ISWAP 10 17\n", - "RX(3.141592653589793) 10\n", - "ISWAP 10 11\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 10 ro[0]\n", - "MEASURE 11 ro[1]\n", - "MEASURE 17 ro[2]\n", - "Counter({'010': 632, '011': 105, '000': 103, '110': 61, '100': 47, '111': 24, '101': 14, '001': 14})\n" - ] - } - ], - "source": [ - "result = rigetti.run(verbatim_circ, shots=1000, disable_qubit_rewiring=True).result()\n", - "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", - "print(compiled_program)\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As expected, the program is faithfully executed exactly as it was defined." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Defining verbatim subcircuits " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In some situations, you might only be interested in executing parts of your circuits verbatim, and have the compiler nativize and optimize the rest. The next example demonstrates how to do this. Let's get started by defining the subcircuit we want to execute verbatim." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "verbatim_subcirc = Circuit().rx(10,pi).rx(10,pi)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, define the part of the circuit you want to compiler to process, so you don't have to worry about nativizing gates. " - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "subcirc1 = Circuit().cnot(10,11).cnot(10,17)\n", - "subcirc2 = Circuit().cnot(10,17).cnot(10,11)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, put everything together" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │\n", - " ┌──────────┐ ┌──────────┐ \n", - "q10 : ───●─────●─────StartVerbatim───┤ Rx(3.14) ├─┤ Rx(3.14) ├───EndVerbatim─────●─────●───\n", - " │ │ ║ └──────────┘ └──────────┘ ║ │ │ \n", - " ┌─┴─┐ │ ║ ║ │ ┌─┴─┐ \n", - "q11 : ─┤ X ├───┼───────────║──────────────────────────────────────────║──────────┼───┤ X ├─\n", - " └───┘ │ ║ ║ │ └───┘ \n", - " ┌─┴─┐ ║ ║ ┌─┴─┐ \n", - "q17 : ───────┤ X ├─────────╨──────────────────────────────────────────╨────────┤ X ├───────\n", - " └───┘ └───┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │\n" - ] - } - ], - "source": [ - "circ = subcirc1.add_verbatim_box(verbatim_subcirc).add_circuit(subcirc2)\n", - "print(circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[3]\n", - "PRAGMA PRESERVE_BLOCK\n", - "RX(1.5707963267948966) 10\n", - "RZ(4.71238898038469) 10\n", - "ISWAP 10 11\n", - "RZ(1.5707963267948966) 10\n", - "RZ(3.141592653589793) 11\n", - "ISWAP 10 17\n", - "RX(1.5707963267948966) 11\n", - "RZ(1.5707963267948966) 10\n", - "RX(1.5707963267948966) 10\n", - "RZ(4.71238898038469) 10\n", - "ISWAP 10 17\n", - "RX(3.141592653589793) 10\n", - "RX(3.141592653589793) 10\n", - "RZ(3.141592653589793) 17\n", - "RZ(1.5707963267948966) 10\n", - "RX(1.5707963267948966) 17\n", - "ISWAP 10 17\n", - "RZ(1.5707963267948966) 10\n", - "RX(1.5707963267948966) 10\n", - "RZ(4.71238898038469) 10\n", - "ISWAP 10 17\n", - "RZ(1.5707963267948966) 10\n", - "RZ(3.141592653589793) 17\n", - "ISWAP 10 11\n", - "RX(1.5707963267948966) 17\n", - "RZ(1.5707963267948966) 10\n", - "RX(1.5707963267948966) 10\n", - "RZ(4.71238898038469) 10\n", - "ISWAP 10 11\n", - "RZ(3.141592653589793) 11\n", - "RX(1.5707963267948966) 11\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 17 ro[2]\n", - "MEASURE 10 ro[0]\n", - "MEASURE 11 ro[1]\n", - "Counter({'000': 507, '001': 213, '010': 92, '011': 56, '100': 42, '111': 35, '101': 30, '110': 25})\n" - ] - } - ], - "source": [ - "result = rigetti.run(circ, shots=1000, disable_qubit_rewiring=True).result()\n", - "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", - "print(compiled_program)\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Inspecting the compiled program, you can see that the `cnot` gates were nativized, however, the two `rx` gates in the middle of the circuit remain unaltered, and were not removed by the compiler. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Programming verbatim circuits onto the IonQ device" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IonQ also supports verbatim compilation. Because qubits in the IonQ device have all-to-all connection, there is no restriction in qubit connectivity; all qubit pairs are available for 2-qubit gates. Because there is no circuit optimization or gate decomposition in verbatim compilation, all gates in the circuit must be native gates. Let's look at IonQ's native gate set." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The native gates for the Aria 1 device are:\n", - "GPI\n", - "GPI2\n", - "MS\n" - ] - } - ], - "source": [ - "# set up the IonQ Aria 1 device\n", - "ionq_device = AwsDevice(Devices.IonQ.Aria1)\n", - "\n", - "# list the native gate set\n", - "print(\"The native gates for the\", ionq_device.name, \"device are:\")\n", - "for gate in ionq_device.properties.paradigm.nativeGateSet:\n", - " print(gate)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In `device.property`, you can see `fullyConnected=True`, showing that qubits are fully connected. This manifests as the device having a complete topology graph." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fullyConnected=True connectivityGraph={}\n" - ] - }, - { - "data": { - "image/png": "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wZYtWxiEeCfv603PoendkpOTWcO5PNM0Dc8995wEMhRFQdu2bREWFsbepXnz5nGoVP+92NhY9O3bF5s3b8bVq1cNnsbytMz179j48eMlT6OZ6aUu4+PjTTlGCXR6U7u0bNmSUz8+/PDDCvvF7LgEABYvXgygTDHqmWeekb47f/58nn/at2+PTz75RBrXzZs3l4owHA4HOnTogAMHDqBVq1YQwri5K89OnjyJ6dOnS6k5+latWjXs2rVL6tuDBw/y3GSz2XwWJ3755ZdSSB/w8DWS182br9HMLl686NPbrB8HZp5NusawsDBMnDiRaYjot5mZmcjPz8f27ds5dE0bxWrVqvE1UK43paecOHECQpRxD1NKEs1xQpTJUHr39bhx40zXF4vFgqFDh2LXrl0oKipiAGiz2bgQjaiFXnzRU4DapEkTrFixArVr15buX///586dYx32hIQE3HHHHdyfdB1mle23qukdHlV241YFKCthKz8489s9k7N3IrDZgN8UCq2obdq0CaWlpdi+fTsGDRqE6tWrGwBg/fr1MW3aNK7M1b+oVLH95ptvltsfJFFHE1NlgUhubi5WrFjBYXQhZEAJeKppSVvaOwH++vXrBh1aITy5UKdOncKGDRuk/vVFTEuFRN4ARl/5uGLFCqn60jvs5A0e9CoblLckhExcfvr0adx7771o0KCBacWszWbDsGHDDJWXYWFh/P2KqmmBsgXD6XSiqKgIy5YtMyTNJyYm8mLkrWOsaRo2bNiA+vXr8/hRFAVxcXHo2bMn7rzzTrRt25b/Rp7YqKgovk4aExTmupFxTBybLpeL1Tz0Ou3e33e73Rg7dixWrFiBjRs3Ys+ePTh27BguXryIkpISbNu2DTk5Obww0fUEBwezR9Nut3Mf0SaEyJ+tViuCg4PL9QrrKWaioqKwdOlSSe9ZT8KtKAoeeeSRSnk9qejK6XSy55vM+3patmzJ8oH5+fmwWq1wu9037P1TVRVNmzaFzWbjIiQhPIUUZnblyhUuKqJGuaiUixsREQG32y3l8FILDAz0eS36FAVfzAXvvPMORwl8zV3Xrl1jxgq3223Y5J09e1baEHvnLr766qucl6mqKrp27SpJNV67dk2iqKI2atQo9uRTrroQnpDxxYsXsXHjRkydOhXt27cvd23w/huxXJB38K677uJr0TSNPbeUlx4SEoLA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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# access and visualize the device topology\n", - "print(ionq_device.properties.paradigm.connectivity)\n", - "nx.draw_kamada_kawai(ionq_device.topology_graph, with_labels=True, font_color=\"white\", arrows=True, arrowsize=30)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "With this information, you can write a circuit to run verbatim on an IonQ device. IonQ currently only supports verbatim compilation for the entire circuit, so every instruction in the circuit will need to be enclosed in a verbatim box. In other words, you cannot have any gates outside of the verbatim box. As well, note that IonQ native gates cannot be used outside of a verbatim box. To learn more about IonQ native gates and the best practice of using them, see the [Amazon Braket Developer Guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html?tag=local002-20#braket-qpu-partner-ionq) and [IonQ's documentation page](https://ionq.com/docs/getting-started-with-native-gates). " - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │\n", - " ┌───────────┐ ┌──────────────────────┐ \n", - "q0 : ───StartVerbatim───┤ GPi(3.14) ├─┤ MS(0.10, 0.20, 0.30) ├───EndVerbatim───\n", - " ║ └───────────┘ └──────────┬───────────┘ ║ \n", - " ║ ┌──────────┴───────────┐ ║ \n", - "q1 : ─────────╨───────────────────────┤ MS(0.10, 0.20, 0.30) ├────────╨────────\n", - " └──────────────────────┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │\n" - ] - } - ], - "source": [ - "circ = Circuit().gpi(0,pi).ms(0, 1, 0.1, 0.2, 0.3)\n", - "verbatim_circ = Circuit().add_verbatim_box(circ)\n", - "print(verbatim_circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'10': 10})\n" - ] - } - ], - "source": [ - "task = ionq_device.run(verbatim_circ, shots=10)\n", - "print(task.result().measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Programming verbatim circuits onto the IQM device" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The native gates of IQM Garnet are PRx and CZ. Use these gates in verbatim circuits when submiting to IQM Garnet. " - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The native gates for the Garnet device are:\n", - "cz\n", - "prx\n" - ] - } - ], - "source": [ - "# set up the IQM Garnet device\n", - "iqm_device = AwsDevice(Devices.IQM.Garnet)\n", - "\n", - "# list the native gate set\n", - "print(\"The native gates for the\", iqm_device.name, \"device are:\")\n", - "for gate in iqm_device.properties.paradigm.nativeGateSet:\n", - " print(gate)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The native gates need to be programmed on the physical edegs of the device. Let's take a look at the topology of IQM Garnet, shown in the figure below. The topology is a square lattice. The edges are bi-directional where a two-qubit gate can apply on (i,j) and (j,i) where i and j are indices of two qubits. " - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fullyConnected=False connectivityGraph={'1': ['2', '4'], '10': ['11', '15', '5', '9'], '11': ['12', '16', '6'], '12': ['17', '7'], '13': ['14', '8'], '14': ['15', '18', '9'], '15': ['16', '19'], '16': ['17', '20'], '18': ['19'], '19': ['20'], '2': ['5'], '3': ['4', '8'], '4': ['5', '9'], '5': ['6'], '6': ['7'], '8': ['9']}\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# access and visualize the device topology\n", - "print(iqm_device.properties.paradigm.connectivity)\n", - "\n", - "nx.draw_networkx(\n", - " iqm_device.topology_graph,\n", - " pos={\n", - " 1: (-1,2), 2: (0,2),\n", - " 3: (-2,1), 4: (-1,1), 5: (0,1), 6: (1,1), 7: (2,1),\n", - " 8: (-2,0), 9: (-1,0), 10: (0,0), 11: (1,0), 12: (2,0),\n", - " 13: (-2,-1), 14: (-1,-1), 15: (0,-1), 16: (1,-1), 17: (2,-1),\n", - " 18: (-1,-2), 19: (0,-2), 20: (1,-2),\n", - " },\n", - " arrows=False,\n", - " with_labels=True,\n", - " font_color=\"white\", \n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let's compose a verbatim circuit to IQM Garnet. The circuit below creates a Bell state. With verbatim compilation, you have control in preparing a quantum state. There is no gate optimization and you can experiment with different ways to create the quantum state." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │\n", - " ┌──────────────┐ \n", - "q1 : ───StartVerbatim───┤ PRx(1.57, 0) ├───●───────────────────────EndVerbatim───\n", - " ║ └──────────────┘ │ ║ \n", - " ║ ┌──────────────┐ ┌─┴─┐ ┌───────────────┐ ║ \n", - "q2 : ─────────╨─────────┤ PRx(1.57, 0) ├─┤ Z ├─┤ PRx(-1.57, 0) ├────────╨────────\n", - " └──────────────┘ └───┘ └───────────────┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │\n" - ] - } - ], - "source": [ - "circ = Circuit().prx(1, pi/2, 0).prx(2, pi/2, 0).cz(1,2).prx(2, -pi*0.5, 0)\n", - "verbatim_circ = Circuit().add_verbatim_box(circ)\n", - "print(verbatim_circ)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Conclusion \n", - "This notebook introduced the basic functionality of verbatim compilation of Amazon Braket, that allows you to run circuits or subcircuits to be executed exactly as defined without any compiler modifications. You can find further information in the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/). " - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Quantum Task Summary\n", - "{<_Rigetti.Ankaa2: 'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2'>: {'shots': 5000, 'tasks': {'COMPLETED': 5}}, <_IonQ.Aria1: 'arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1'>: {'shots': 10, 'tasks': {'COMPLETED': 1}}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 6.600 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.3f} USD\")" - ] - } - ], - "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.10.10" - }, - "vscode": { - "interpreter": { - "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" - } - } + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Verbatim compilation" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "\n", + "t = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Usually, when you run a circuit on a QPU, behind the scenes, Amazon Braket will do a series of compilation steps to optimize your circuit and map the abstract circuit to the physical qubits on the QPU. However, in many situations, such as for error mitigation or benchmarking experiments, researchers require full control of the qubits and the gates that are being applied. In a [previous notebook](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb), we showed you how to manually allocate the qubits of your circuit, i.e., how you can exactly define which logical qubit maps to which physical qubit. In this notebook, you will learn how to use _verbatim compilation_ to run your circuits exactly as defined without any modification during the compilation process.\n", + "\n", + "### Table of contents:\n", + "\n", + "* [Recap: Running circuits on Amazon Braket](#Recap)\n", + "* [Using verbatim compilation to run circuits without further compilation](#Verbatim)\n", + "* [Programming verbatim circuits onto the Rigetti device](#Rigetti)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Recap: Running circuits on Amazon Braket " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us begin with importing the usual dependencies. Verbatim compilation is supported by all Rigetti devices, and we will use the Ankaa-2 device for this demonstration." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# general imports\n", + "from math import pi\n", + "\n", + "import networkx as nx\n", + "\n", + "from braket.aws import AwsDevice\n", + "from braket.circuits import Circuit\n", + "from braket.devices import Devices\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When you run a circuit on Amazon Braket, different compilation and optimization steps occur before the circuit is executed on the selected QPU. First, the gates of your circuit are decomposed into the _native gates_ of the QPU. Let's first remember what the native gates of the Ankaa-2 device are:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The native gates for the Ankaa-2 device are:\n", + "rx\n", + "rz\n", + "cz\n", + "iswap\n" + ] + } + ], + "source": [ + "# set up the Rigetti Ankaa-2 device\n", + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "# list the native gate set\n", + "print(\"The native gates for the\", device.name, \"device are:\")\n", + "for gate in device.properties.paradigm.nativeGateSet:\n", + " print(gate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we create a circuit with gates that are not part of that list, the gates will automatically be decomposed into a gate set that can be executed on the device." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │\n", + " ┌───┐ \n", + "q0 : ─┤ H ├───●───\n", + " └───┘ │ \n", + " ┌─┴─┐ \n", + "q1 : ───────┤ X ├─\n", + " └───┘ \n", + "T : │ 0 │ 1 │\n", + "Counter({'00': 482, '11': 423, '10': 54, '01': 41})\n" + ] + } + ], + "source": [ + "bell = Circuit().h(0).cnot(0, 1)\n", + "print(bell)\n", + "result = device.run(bell, shots=1000).result()\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's have a look at the circuit that was actually executed. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[2]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(1.5707963267948966) 76\n", + "RZ(3.141592653589793) 76\n", + "ISWAP 76 75\n", + "RZ(1.5707963267948966) 76\n", + "RX(1.5707963267948966) 76\n", + "RZ(4.71238898038469) 76\n", + "ISWAP 76 75\n", + "RZ(3.141592653589793) 75\n", + "RX(1.5707963267948966) 75\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 76 ro[0]\n", + "MEASURE 75 ro[1]\n" + ] + } + ], + "source": [ + "meta = result.additional_metadata.rigettiMetadata\n", + "print(meta.compiledProgram)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see, the original gates, `h` and `cnot`, were decomposed into the native `rz`, `rx`, and `iswap`. You will also note that the abstract qubit indices 0 and 1 (which were chosen as an example) were remapped to qubits that actually exist on the device, in this case, 5 and 6, respectively. At the time when you run this notebook, you might see a different remapping, as the compiler takes into account the latest calibration of the device and tries to map to the qubits that yield the best results. \n", + "\n", + "The compiler further performs circuit optimizations to minimize the number of operations, e.g., by removing redundant gates. Let's have a look at a single-qubit circuit containing two subsequent `x` gates:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "identity = Circuit().x(0).x(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Of course, if you do the math, two consecutive `x` gates just cancel each other out, and we are left with an empty circuit after compilation." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[1]\n", + "PRAGMA PRESERVE_BLOCK\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 0 ro[0]\n", + "Counter({'0': 918, '1': 82})\n" + ] + } + ], + "source": [ + "result = device.run(identity, shots=1000).result()\n", + "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", + "print(compiled_program)\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using verbatim compilation to run circuits without further compilation " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In some cases, however, you may need to run circuits exactly as defined, without any further modifications by the compiler. For instance, if you want to benchmark device performance you may want to control exactly which gates are executed on the hardware. Similarly, [certain error mitigation protocols](https://arxiv.org/pdf/2005.10921.pdf) require insertion of additional, redundant operations that would normally be removed by the compiler but are essential for the protocol to work. To prevent circuits (or parts of circuits) from further compiler optimizations, you can use the `add_verbatim_box` function in the Amazon Braket SDK." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Note: add_verbatim_box is currently supported on Rigetti, IonQ, and IQM devices.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When you define a (sub-)circuit in a verbatim box, you need to make sure that everything inside the verbatim box can be executed on the device _exactly_ as you defined it. This means that\n", + "1. The circuit can only use qubit indices that exist on the device\n", + "2. All gates of the circuit have to be part of the native gate set of the device\n", + "3. All multi-qubit gates have to be between qubits that are connected according to the connectivity graph of the device " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting started with a minimal example\n", + "Let's have a look at the simple example from before of an identify circuit. " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "identity = Circuit().rx(0, pi).rx(0, pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here, we have chosen the Rigetti-native `rx` gate, which is identical to `x` if we choose the angle to be $\\pi$. Next, we wrap this circuit in a verbatim box to prevent the compiler from collapsing the two gates. You can see the circuit diagram indicates the start and end of the verbatim box." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │\n", + " ┌──────────┐ ┌──────────┐ \n", + "q0 : ───StartVerbatim───┤ Rx(3.14) ├─┤ Rx(3.14) ├───EndVerbatim───\n", + " └──────────┘ └──────────┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │\n" + ] + } + ], + "source": [ + "circ = Circuit().add_verbatim_box(identity)\n", + "print(circ)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When we run the circuit, both gates will be executed on the device." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Note: To run a circuit that contains a verbatim box the disable_qubit_rewiring flag must be set to True \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[1]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(3.141592653589793) 0\n", + "RX(3.141592653589793) 0\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 0 ro[0]\n", + "Counter({'0': 909, '1': 91})\n" + ] + } + ], + "source": [ + "result = device.run(circ, shots=1000, disable_qubit_rewiring=True).result()\n", + "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", + "print(compiled_program)\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Programming verbatim circuits onto the Rigetti device " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we have mentioned above, to build circuits with multi-qubit gates, you need to take into consideration the connectivity graph of the device. When a circuit contains a verbatim box, automatic qubit rewiring has to be disables, and you have manually allocate the qubits on the device that you want to use for your circuit.\n", + "You can access the connectivity graph on the [device detail page](https://console.aws.amazon.com/braket/home?region=us-west-1#/devices/arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2) in the Amazon Braket Console, or by using the code below." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" + ] }, - "nbformat": 4, - "nbformat_minor": 4 + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# set up the Rigetti Ankaa-2 device\n", + "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "# access and visualize the device topology\n", + "# note that device topology can change day-to-day based on edge fidelity data\n", + "print(rigetti.properties.paradigm.connectivity.connectivityGraph)\n", + "nx.draw_kamada_kawai(rigetti.topology_graph, with_labels=True, font_color=\"white\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the connectivity graph, you can see that qubits 11, 10, and 17 are connected in a line, and with the code in the next cell you can access their respective 2-qubit gate fidelities to make sure you have selected a high-quality qubit subset. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'fISWAP': 0.9608092769094925, 'fISWAP_std_err': 0.006832379421744852}\n", + "{'fISWAP': 0.9175335256563664, 'fISWAP_std_err': 0.014230349601250074}\n" + ] + } + ], + "source": [ + "print(rigetti.properties.provider.specs[\"2Q\"][\"10-11\"])\n", + "print(rigetti.properties.provider.specs[\"2Q\"][\"10-17\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Note: At the time when you run this notebook the fidelity numbers may be different as QPU devices are periodically recalibrated\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After selecting the qubits and validating their gate fidelities, you can now construct a circuit and run it. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │\n", + " ┌───────┐ ┌───────┐ ┌──────────┐ ┌───────┐ \n", + "q10 : ───StartVerbatim───┤ ISWAP ├─┤ ISWAP ├─┤ Rx(3.14) ├─┤ ISWAP ├───EndVerbatim───\n", + " ║ └───┬───┘ └───┬───┘ └──────────┘ └───┬───┘ ║ \n", + " ║ ┌───┴───┐ │ ┌───┴───┐ ║ \n", + "q11 : ─────────║─────────┤ ISWAP ├─────┼──────────────────┤ ISWAP ├────────║────────\n", + " ║ └───────┘ │ └───────┘ ║ \n", + " ║ ┌───┴───┐ ║ \n", + "q17 : ─────────╨───────────────────┤ ISWAP ├───────────────────────────────╨────────\n", + " └───────┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │\n" + ] + } + ], + "source": [ + "circ = Circuit().iswap(10, 11).iswap(10, 17).rx(10, pi).iswap(10, 11)\n", + "verbatim_circ = Circuit().add_verbatim_box(circ)\n", + "print(verbatim_circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[3]\n", + "PRAGMA PRESERVE_BLOCK\n", + "ISWAP 10 11\n", + "ISWAP 10 17\n", + "RX(3.141592653589793) 10\n", + "ISWAP 10 11\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 10 ro[0]\n", + "MEASURE 11 ro[1]\n", + "MEASURE 17 ro[2]\n", + "Counter({'010': 632, '011': 105, '000': 103, '110': 61, '100': 47, '111': 24, '101': 14, '001': 14})\n" + ] + } + ], + "source": [ + "result = rigetti.run(verbatim_circ, shots=1000, disable_qubit_rewiring=True).result()\n", + "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", + "print(compiled_program)\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, the program is faithfully executed exactly as it was defined." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Defining verbatim subcircuits " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In some situations, you might only be interested in executing parts of your circuits verbatim, and have the compiler nativize and optimize the rest. The next example demonstrates how to do this. Let's get started by defining the subcircuit we want to execute verbatim." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "verbatim_subcirc = Circuit().rx(10, pi).rx(10, pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, define the part of the circuit you want to compiler to process, so you don't have to worry about nativizing gates. " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "subcirc1 = Circuit().cnot(10, 11).cnot(10, 17)\n", + "subcirc2 = Circuit().cnot(10, 17).cnot(10, 11)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, put everything together" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │\n", + " ┌──────────┐ ┌──────────┐ \n", + "q10 : ───●─────●─────StartVerbatim───┤ Rx(3.14) ├─┤ Rx(3.14) ├───EndVerbatim─────●─────●───\n", + " │ │ ║ └──────────┘ └──────────┘ ║ │ │ \n", + " ┌─┴─┐ │ ║ ║ │ ┌─┴─┐ \n", + "q11 : ─┤ X ├───┼───────────║──────────────────────────────────────────║──────────┼───┤ X ├─\n", + " └───┘ │ ║ ║ │ └───┘ \n", + " ┌─┴─┐ ║ ║ ┌─┴─┐ \n", + "q17 : ───────┤ X ├─────────╨──────────────────────────────────────────╨────────┤ X ├───────\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │\n" + ] + } + ], + "source": [ + "circ = subcirc1.add_verbatim_box(verbatim_subcirc).add_circuit(subcirc2)\n", + "print(circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[3]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(1.5707963267948966) 10\n", + "RZ(4.71238898038469) 10\n", + "ISWAP 10 11\n", + "RZ(1.5707963267948966) 10\n", + "RZ(3.141592653589793) 11\n", + "ISWAP 10 17\n", + "RX(1.5707963267948966) 11\n", + "RZ(1.5707963267948966) 10\n", + "RX(1.5707963267948966) 10\n", + "RZ(4.71238898038469) 10\n", + "ISWAP 10 17\n", + "RX(3.141592653589793) 10\n", + "RX(3.141592653589793) 10\n", + "RZ(3.141592653589793) 17\n", + "RZ(1.5707963267948966) 10\n", + "RX(1.5707963267948966) 17\n", + "ISWAP 10 17\n", + "RZ(1.5707963267948966) 10\n", + "RX(1.5707963267948966) 10\n", + "RZ(4.71238898038469) 10\n", + "ISWAP 10 17\n", + "RZ(1.5707963267948966) 10\n", + "RZ(3.141592653589793) 17\n", + "ISWAP 10 11\n", + "RX(1.5707963267948966) 17\n", + "RZ(1.5707963267948966) 10\n", + "RX(1.5707963267948966) 10\n", + "RZ(4.71238898038469) 10\n", + "ISWAP 10 11\n", + "RZ(3.141592653589793) 11\n", + "RX(1.5707963267948966) 11\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 17 ro[2]\n", + "MEASURE 10 ro[0]\n", + "MEASURE 11 ro[1]\n", + "Counter({'000': 507, '001': 213, '010': 92, '011': 56, '100': 42, '111': 35, '101': 30, '110': 25})\n" + ] + } + ], + "source": [ + "result = rigetti.run(circ, shots=1000, disable_qubit_rewiring=True).result()\n", + "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", + "print(compiled_program)\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Inspecting the compiled program, you can see that the `cnot` gates were nativized, however, the two `rx` gates in the middle of the circuit remain unaltered, and were not removed by the compiler. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Programming verbatim circuits onto the IonQ device" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IonQ also supports verbatim compilation. Because qubits in the IonQ device have all-to-all connection, there is no restriction in qubit connectivity; all qubit pairs are available for 2-qubit gates. Because there is no circuit optimization or gate decomposition in verbatim compilation, all gates in the circuit must be native gates. Let's look at IonQ's native gate set." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The native gates for the Aria 1 device are:\n", + "GPI\n", + "GPI2\n", + "MS\n" + ] + } + ], + "source": [ + "# set up the IonQ Aria 1 device\n", + "ionq_device = AwsDevice(Devices.IonQ.Aria1)\n", + "\n", + "# list the native gate set\n", + "print(\"The native gates for the\", ionq_device.name, \"device are:\")\n", + "for gate in ionq_device.properties.paradigm.nativeGateSet:\n", + " print(gate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In `device.property`, you can see `fullyConnected=True`, showing that qubits are fully connected. This manifests as the device having a complete topology graph." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fullyConnected=True connectivityGraph={}\n" + ] + }, + { + "data": { + "image/png": "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wZYtWxiEeCfv603PoendkpOTWcO5PNM0Dc8995wEMhRFQdu2bREWFsbepXnz5nGoVP+92NhY9O3bF5s3b8bVq1cNnsbytMz179j48eMlT6OZ6aUu4+PjTTlGCXR6U7u0bNmSUz8+/PDDCvvF7LgEABYvXgygTDHqmWeekb47f/58nn/at2+PTz75RBrXzZs3l4owHA4HOnTogAMHDqBVq1YQwri5K89OnjyJ6dOnS6k5+latWjXs2rVL6tuDBw/y3GSz2XwWJ3755ZdSSB/w8DWS182br9HMLl686NPbrB8HZp5NusawsDBMnDiRaYjot5mZmcjPz8f27ds5dE0bxWrVqvE1UK43paecOHECQpRxD1NKEs1xQpTJUHr39bhx40zXF4vFgqFDh2LXrl0oKipiAGiz2bgQjaiFXnzRU4DapEkTrFixArVr15buX///586dYx32hIQE3HHHHdyfdB1mle23qukdHlV241YFKCthKz8489s9k7N3IrDZgN8UCq2obdq0CaWlpdi+fTsGDRqE6tWrGwBg/fr1MW3aNK7M1b+oVLH95ptvltsfJFFHE1NlgUhubi5WrFjBYXQhZEAJeKppSVvaOwH++vXrBh1aITy5UKdOncKGDRuk/vVFTEuFRN4ARl/5uGLFCqn60jvs5A0e9CoblLckhExcfvr0adx7771o0KCBacWszWbDsGHDDJWXYWFh/P2KqmmBsgXD6XSiqKgIy5YtMyTNJyYm8mLkrWOsaRo2bNiA+vXr8/hRFAVxcXHo2bMn7rzzTrRt25b/Rp7YqKgovk4aExTmupFxTBybLpeL1Tz0Ou3e33e73Rg7dixWrFiBjRs3Ys+ePTh27BguXryIkpISbNu2DTk5Obww0fUEBwezR9Nut3Mf0SaEyJ+tViuCg4PL9QrrKWaioqKwdOlSSe9ZT8KtKAoeeeSRSnk9qejK6XSy55vM+3patmzJ8oH5+fmwWq1wu9037P1TVRVNmzaFzWbjIiQhPIUUZnblyhUuKqJGuaiUixsREQG32y3l8FILDAz0eS36FAVfzAXvvPMORwl8zV3Xrl1jxgq3223Y5J09e1baEHvnLr766qucl6mqKrp27SpJNV67dk2iqKI2atQo9uRTrroQnpDxxYsXsXHjRkydOhXt27cvd23w/huxXJB38K677uJr0TSNPbeUlx4SEoLA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# access and visualize the device topology\n", + "print(ionq_device.properties.paradigm.connectivity)\n", + "nx.draw_kamada_kawai(\n", + " ionq_device.topology_graph, with_labels=True, font_color=\"white\", arrows=True, arrowsize=30\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With this information, you can write a circuit to run verbatim on an IonQ device. IonQ currently only supports verbatim compilation for the entire circuit, so every instruction in the circuit will need to be enclosed in a verbatim box. In other words, you cannot have any gates outside of the verbatim box. As well, note that IonQ native gates cannot be used outside of a verbatim box. To learn more about IonQ native gates and the best practice of using them, see the [Amazon Braket Developer Guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html?tag=local002-20#braket-qpu-partner-ionq) and [IonQ's documentation page](https://ionq.com/docs/getting-started-with-native-gates). " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │\n", + " ┌───────────┐ ┌──────────────────────┐ \n", + "q0 : ───StartVerbatim───┤ GPi(3.14) ├─┤ MS(0.10, 0.20, 0.30) ├───EndVerbatim───\n", + " ║ └───────────┘ └──────────┬───────────┘ ║ \n", + " ║ ┌──────────┴───────────┐ ║ \n", + "q1 : ─────────╨───────────────────────┤ MS(0.10, 0.20, 0.30) ├────────╨────────\n", + " └──────────────────────┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │\n" + ] + } + ], + "source": [ + "circ = Circuit().gpi(0, pi).ms(0, 1, 0.1, 0.2, 0.3)\n", + "verbatim_circ = Circuit().add_verbatim_box(circ)\n", + "print(verbatim_circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'10': 10})\n" + ] + } + ], + "source": [ + "task = ionq_device.run(verbatim_circ, shots=10)\n", + "print(task.result().measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Programming verbatim circuits onto the IQM device" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The native gates of IQM Garnet are PRx and CZ. Use these gates in verbatim circuits when submiting to IQM Garnet. " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The native gates for the Garnet device are:\n", + "cz\n", + "prx\n" + ] + } + ], + "source": [ + "# set up the IQM Garnet device\n", + "iqm_device = AwsDevice(Devices.IQM.Garnet)\n", + "\n", + "# list the native gate set\n", + "print(\"The native gates for the\", iqm_device.name, \"device are:\")\n", + "for gate in iqm_device.properties.paradigm.nativeGateSet:\n", + " print(gate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The native gates need to be programmed on the physical edegs of the device. Let's take a look at the topology of IQM Garnet, shown in the figure below. The topology is a square lattice. The edges are bi-directional where a two-qubit gate can apply on (i,j) and (j,i) where i and j are indices of two qubits. " + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fullyConnected=False connectivityGraph={'1': ['2', '4'], '10': ['11', '15', '5', '9'], '11': ['12', '16', '6'], '12': ['17', '7'], '13': ['14', '8'], '14': ['15', '18', '9'], '15': ['16', '19'], '16': ['17', '20'], '18': ['19'], '19': ['20'], '2': ['5'], '3': ['4', '8'], '4': ['5', '9'], '5': ['6'], '6': ['7'], '8': ['9']}\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGFCAYAAABg2vAPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA2FUlEQVR4nO3deWDU9YH//9ccmYTcJCQQSMIVEjUGEEVQAY0Uj2pRqv60yup+rWsvdltX7Lbsti5sS3er7R61l70VlLa2tEhbBRUrolAERQQkAQITDCQkIckkIcdk5vdHSEjINRfwmbyfj39a5nPMO77ymc8rn2tsfr/fLwAAYCz7hR4AAAC4sCgDAAAYjjIAAIDhKAMAABiOMgAAgOEoAwAAGI4yAACA4ZyBzOTz+VRRUaGkpCTZbLZzPSYAABABfr9fHo9HY8eOld0+8N//AZWBiooK5eTkRGxwAADg/CkvL1d2dvaA0wMqA0lJSd0rS05OjszIAADAOdXQ0KCcnJzu/fhAAioDXacGkpOTKQMAAESZoU7xcwEhAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMMAABgOMoAAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMMAABgOMoAAACGowwAAGA4ygAAAIajDAAAYDjnhR4AzNDU6tXhmia1eX1yOe2akJ6ghFh+/S40cgEgUQZwDpVWerR6m1ub9lfJXdssf49pNkm5afEqLsjUfbNyNWV00oUapnHIBcDZbH6/3z/UTA0NDUpJSVF9fb2Sk5PPx7gQxcprm7Vs7W5tPlAth92mDt/Av2Jd0+fmjdLKRUXKSYs/jyM1C7kA5gl0/00ZQESt2e7W4+v2yOvzD7qzOZvDbpPTbtPyhYW6Z2buORyhmcgFMFOg+29OEyBintpUqic3lIS0bMfpndRXfr9b1Y2tWlI8JcKjMxe5ABgKdxMgItZsd4e8wznbkxtK9Ovt7oisy3TkAiAQHBlA2Mprm/X4uj39Tot3OfSZeZM0PSdV07JTlRrv0tLf7tILO48Ous6vr9ujqyeP4lx1GAbLZWp2iu6Yka2rJqUre+QInWxu17vuk/rOxhKVVTcNuE5yAYYnjgwgbMvW7pZ3gPPQafEufXF+viZnJGrfMU/A6/T6/Fq2dnekhmikwXL57LzJurlwjLYcrNbyF/fq+b+5NWtimtYvmaP80YkDrpNcgOGJIwMIS2mlR5sPVA84vcrTqpnffEUnGltVNC5FLy6ZE9B6O3x+bT5QrQNVHuVlcntbsIbK5advlumLv35X7R1nysL69yv08hfn6XPX5umR37zX73LkAgxPHBlAWFZvc8thtw04va3DpxONrSGt22G3adVWzlGHYqhcdrpP9ioCknS4plklVY3Kyxz4yIBELsBwRBlAWDbtrwrqVrVgdPj82lRSdU7WPdyFmsuoRJdONrUNOg+5AMMPZQAha2z1yl3bfE7fw13TrKZW7zl9j+Em1Fxunz5OWSkj9OL7FUPOSy7A8MI1AwjZkZomnZtjAmf4Jb20ZYcmpsac43caPsrq2oPOZXJGglbcVqgdR07qd0Pc6SF15nK4pkmFY1NCGiMAa6EMIGRtXt95eZ97F9+vtmORuVfeBK6sfGU98N2A589IjNXPH5gpT4tXn1u9Q4GeXThf+QM49ygDCJnLeX7OMj236hmODAShrK5dj24c+E6CnpJinfrl/5up5BExuuvHb6vKE/jFnucrfwDnHmUAIZuQniCbdE5PFdgk3XTN5XytbhAKWr1auvHlIXOJddr10weu0MRRCVr8s206UNUY8HvY1Jk/gOGBao+QJcQ6lXuOn0SXmx5PEQhSILnYbdJTn7pMM3JH6vPP7dROd11Q70EuwPDC1oywFBdk6tltRwa9je3+q8YrOS5Go5PjJEnzL87UmJTO//+rtw7LM8BV6Q67TcX5mZEftAGGyuXfbrlECy4Zo417K5U6wqXbp4/rNf0P73004LrJBRh+KAMIy32zcvXLtw8POs/Dcycpe+SZv1RvvjRLN1+aJUn6w7sfDVgGOnx+LZ7N1+aGYqhcLsnq/CrTBZeM1oJLRveZPlgZIBdg+KEMICxTRidpbt4ovXWoZsC/Qud8e1PQ63XYbbp6UjqPvA3RULnc85OtIa2XXIDhiWsGELaVi4rkHOTRt6Fw2m1auagoous0DbkACBRlAGHLSYvX8oWFEV3nioWFfE1umMgFQKAoA4iIe2bmaukN+RFZ12M3FOjumZyTjgRyARAIrhlAxCwpnqJRibF6fN0eeX3+oL4ox2G3yWm3acXCQnY4EUYuAIZi8/v9Q34yNDQ0KCUlRfX19UpOTj4f40IUK69t1rK1u7X5QLUcdtugO5+u6XPzRmnloiIOQZ9D5AKYJ9D9N2UA50xppUert7m1qaRK7prmXk/Es6nzwTXF+ZlaPDuXq9PPI3IBzEEZgKU0tXr10pYdunfx/Xpu1TM8YtgiyAUY3gLdf3MBIc6LhFinJqbGqO1YiSamxrDDsQhyASBRBgAAMB5lAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMJzzQg8gkppavTpc06Q2r08up10T0hOUEDusfsSo1dTqVVldu1xZ+Sqra1dBq5dsLIBcrInPMusartnY/H6/f6iZGhoalJKSovr6eiUnJ5+PcQWstNKj1dvc2rS/Su7aZvX8YWySctPiVVyQqftm5WrK6KQLNUwjkY01kYs1kYt1RXM2ge6/o7YMlNc2a9na3dp8oFoOu00dvoF/jK7pc/NGaeWiIuWkxZ/HkZqHbKyJXKyJXKxrOGQzrMvAmu1uPb5uj7w+/6DhnM1ht8lpt2n5wkLdMzP3HI7QXGRjTeRiTeRiXcMlm2FbBp7aVKonN5SEvZ6lN+RrSfGUCIwIXcjGmsjFmsjFuoZTNoHuv6Pqqoc12939BjQlM1Ff+li+isalKCMxVqfaO1Ra5dHTbxzSqx9W9buuJzeUKCMxVndboLkNBwNlc7YvXJenx24s0P7jHt34v2/0Ow/ZRM5AucyemKY1D1/V7zKLfrBF75bX9XmdXCJnqO2lcGyyvjQ/XzMnjFSs0yF3bbOe3+7WL9863GdecomsgbJ58s6puvPynAGXm/WtV1TZ0Np7mSjKJmrKQHltsx5ft6ffaeNGjlBirEO/23lUlQ0tGhHj0E2XjtHPHpipr/7+fT2/vbzf5b6+bo+unjzKMud2otVg2fQ0JjlOXyierKZW75Dzkk34AsnlF1vKtOtofa/XDtc0DTg/uYRvqFzmThmln95/hfZWNOh7rx1QU5tX49PiNSY5bsBlyCUyBsvmub+59eaBml6v2WzSN2+/VEdPnupTBLpESzZRUwaWrd0t7wDnbV7ff0Kv7z/R67VfvX1Y65fM0UNzJg1YBrw+v5at3a1nPz0r4uM1yWDZ9PSvH79Y77rr5LDbNDLeNei8ZBO+QHL52+Fa/eWD4wGvk1zCN1guibFOffeuadr04Ql97rkdGvokbidyiYzBstnprtNOd12v164YP1LxLqf+8N5HA64zWrKJiocOlVZ6tPlAdVAXcfj8UkV9i5JHDNx3Onx+bT5QrQNVnkgM00iBZnPlhDTdfOkYrVi/N6D1kk14gtlmElwOOey2gNZLLuEZKpfbpo1VRlKcntiwX36/NCLGIVsA0ZBL+ELZz9w2fZx8Pr/WvVcx4DzRkk1UlIHV29wBfViNiHFoZHyMctPi9elrJuq6/AxtOVgz6DIOu02rtrojNVTjBJKN3SYtX1ioX79Trv2VgW8QZBO6QLeZJ+6cpj3Lb9L+FTfp+Ydmq2hcypDLkEvohsrlmrxRamhp15jkWL36z9dq34qb9MHjN+obt12qWOfgH9fkEp5At5kuTrtNtxRlaYf7pI7WnRp03mjIJirKwKb9VQG1tX+75WK9+7Ub9MZjxVr28Yv18t5Kff2PHwy6TIfPr00l/V9kiKEFks19s8ZrXOoIfWdjcFfnkk3ohsqlrcOvP+8+puUv7tFDz2zXdzaWqGBMkn77matUmDX4HUPkErqhcpk4KkFOu00/uf8KvVF6Qp9ZtUO/2VGuxbPH64k7pw66bnIJT6D7mS7z8jOUluDSHwc5RdAlGrKx/DUDja1euWubA5r351vK9OfdxzQ6OU63TM2Sw2aTa4g2LUnummY18RjWoAWSTWp8jP55Qb7+77VS1Ta1Bf0eZBO8QHLZ6T6pzz93svvfr+yr0p8/OKaX/mmevnxTgR74xfZBlyeX4AWSS7zLoXiXU6u2HtHyFztPqb2857hcDrvumzVe391YosM1A6+DXEITzH6my23TxqrN69P63ccCmt/q2VhzVD0cqWlSoF3t4IkmHTzReSX079/9SM88eKV+ev9M3f6DLYMu55f00pYdmpgaE95gDVNW1z5kNksXFKiuuV2/evtwSO9BNsELJJf+HKlp1sZ9x3Vj4RjZbZ3X3QyEXIIXSC4t7T5J0rpdvc9B//G9Ct03a7xm5I4ctAyQS2iC3WbiXQ4tuGS03ig9obrm9oCW8avzTp3CsUOfirsQLF8G2ry+kJf9y+5j+tYnp2rSqAQdqh74dilJunfx/Wo7Fv5DJkziyspX1gPfHXD6hPR4ferKXK1Yv1ejk87cFhXrtMvpsCk7dYQ8rV7Vnxp8YyKb4AyVy2Aq6loU6+z867RxiFtAySU4geRS6WlRwZgkVTf2vk2tpqnz3ykjht7Jk0vwgt1mbrhkjOJdzoBOEfQUzv7sXLN8GQjkMP9A4mIckqSkuKF/zOdWPUObDlJZXbse3Vg94PQxyXFynH4s5/KFhX2mv/kv1+vnW8qGvMOAbIIzVC6DyU2LV0t7h5rahn4WBLkEJ5BcPvioXvOmZGh0clyvP2AyT5fpmgBOtZFL8ILdZm6fPlaNrV5t3FcZ1PuEsz871yxfBiakJ8gmDXoIJz3B1Wcjcdpt+uSMbJ1q61BpVeOg72GTdNM1l1v2XI5VFbR6tXTjywNms7/So4effafP648uKFBCrEMr1u/VkUEOeUpkE4qhcpGktARXn2s4Lh6TpI9dPFp/Laka8v52cgleILn86f1j+vx1ebp7Zo7ePnTmTqh7ZuaovcOnrYcGvzuKXEITSDZd0hJcuiZvlNbtqug+rRMImzr3Z1Zl+d+YhFinctPidWSQiztWLipSYqxTfztcq+P1LcpIitXt08cpLzNR//GnvWpu6xj0PXLT49l4QjBUNieb27Vhb9/m/OA1EyW5+p12NrIJXiDbzFOfukwt7T7tOHJSNU2tmpKZqE9dmauW9g7950v7h3wPcgleILnsOdagX28v190zc+S027S1rFazJ6bp1qlj9f1NB1Tl6f8pd13IJTSBZNPl1qlZinHYgz5FYPVsrHvMoofigsxB7/9c/36FfH6/Fs/K1Tduv1QPzZmoY/Wn9NAz2/WzN8sGXbfDblNxfmakh2yMobIJB9mEbqhcNuytVFpCjB6aO1H/cdulunXqWL2057g+8f03dfDE4EfSyCV0gWwv//qH3frvV0o0PSdVX7/lEhWOTdGK9Xv0xIbBSxq5hCfQz7Lbp4/TCU+r3jwQ+GmFaMgmKr61sLTSowX/0/+X2kTCK4/MU15m0jlb/3BGNtZELtZELtY1XLMJdP8dFUcGpoxO0ty8URH/C9Rht2lu3ig2njCQjTWRizWRi3WZnk1UlAGp87oAZ4RDctptWrmoKKLrNBHZWBO5WBO5WJfJ2URNGchJi+/39rRwrFhYaPmvlYwGZGNN5GJN5GJdJmcTNWVAku6ZmaulN+RHZF2P3VCgu2fmRmRdIBurIhdrIhfrMjWbqLiA8Gxrtrv1+Lo98vr8QX2xhMNuk9Nu04qFhVETULQhG2siF2siF+saLtkEuv+OyjIgSeW1zVq2drc2H6iWw24bNKyu6XPzRmnloqKoOGQTzcjGmsjFmsjFuoZDNsO+DHQprfRo9Ta3NpVUyV3T3OsJUjZ1PuihOD9Ti2fnWv5qzuGGbKyJXKyJXKwrmrMJeP/tD0B9fb1fkr++vj6Q2S+YxpZ2/wuvbvW7svL9L7y61d/Y0n6hh4TTyMaayMWayMW6oi2bQPffUXUB4VASYp2amBqjtmMlmpgaY+lHP5qGbKyJXKyJXKxruGYzrMoAAAAIHmUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAw1EGAAAwHGUAAADDUQYAADAcZQAAAMNRBgAAMBxlAAAAww2rMtDU6lVZXbtcWfkqq2tXU6v3Qg8Jp5GNNZGLNZGLdQ3XbGx+v98/1EwNDQ1KSUlRfX29kpOTz8e4AlZa6dHqbW5t2l8ld22zev4wNkm5afEqLsjUfbNyNWV00oUappHIxprIxZrIxbqiOZtA999RWwbKa5u1bO1ubT5QLYfdpg7fwD9G1/S5eaO0clGRctLiz+NIzUM21kQu1kQu1jUcshnWZWDNdrceX7dHXp9/0HDO5rDb5LTbtHxhoe6ZmXsOR2gusrEmcrEmcrGu4ZLNsC0DT20q1ZMbSsJez9Ib8rWkeEoERoQuZGNN5GJN5GJdwymbQPffUXUB4Zrt7ogEJElPbijRr7e7I7IukI1VkYs1kYt1mZpN1BwZKK9t1sf++69q9fr6nT4hPV6PLijQFRNGKnWESxV1p/THXR/p6c2H1NLe/zKxTrteeeRay5zbiVaDZXPp2GQ9dmOBZuSOlM1m0073Sf3nXz7U3mMNg66TbMLXlYvDbtNn5k3S9JxUTctOVWq8S0t/u0sv7DzaZ5nJGYn6+q0X64rxaWrv8Om1/VX6xp/2qbapTRK5RELP7SXe5Qgom2nZKbrz8hxNz0nVRWOSFOOwa8JX/9Q9nVwiI5htxmaT7rgsWzcWjlHh2GSlxseovPaUXny/Qj/ZfKj78/BCZzPsjgwsW7tb3gHO22SlxOmPX5ijy3JT9czbR7Ri/R7tdJ/UPy8o0PfuuWzAdXp9fi1bu/tcDdkYA2VTODZZL3z2auWkxet/Xy3V/71aqonpCVrz8GxNGpUw6DrJJnxduaTFu/TF+fmanJGofcc8A84/JjlOv3l4tsanJ+iJDfv19OZDur4gU6sevFIxDpskcomEnttLoNkUF2Tq7ity5Pf75a5t7jOdXCIjmG1mRIxDT941TemJLq3e5taK9Xu162idHvlYvn7591d2zxct2Tgv9AACUVrp0eYD1QNOX3TZOKWMiNGdP3pLpVWNkqTnt5fLbrfpjhnZSo5zqqGl772gHT6/Nh+o1oEqj/IyrXU7SLQYLJtHFxSopb1Dn/zhW6prbpckrX3vI2169Do9dmOBPrd654DrJZvw9MylytOqmd98RScaW1U0LkUvLpnT7zJfKM5TvMupTzz1pirqWyRJu8rrtPqh2bpzRrae315OLmE6e3sJNJtV247oh389qFavT8sXFmpyRmKv6eQSvmC3mfYOnz75w7e0032y+7U128t19GSz/nlBga6ZnK4tB2uiJpuoODKweptbDrttwOlJsZ2dprqxtdfrVQ0t6vD51d4x+O0gq7ZGxzkdKxosm5kTRurNA9XdRUCSTnhata2sRtdflKl4l2PQdZNN6Hrm0tbh04mzto3+3FQ4Rq9+WNldBCRpy8EaHTzRqFumju1+jVxCd/b2Emg21Y1tA54i7UIu4Ql2m2nv8PcqAl1e3lMpSb12/NGQTVSUgU37qwa9tWNrWa0k6dt3TNUlWcnKSonTrUVZum/2eP3yrTKdau8YcNkOn1+bSqoiPmZTDJaNy2nv9wPsVFuHYp0OFQzxcA6yCd1Q28zZRifHKiMpVrs/qu8zbdfROhWOPXOukVxCF2wuwSCX8EQqm4ykWEnSyea27teiIRvLnyZobPX2e46sp7+WnNCTG/brC9flacElY7pf/95rpfrOxqGvCnXXNKup1auEWMv/57CUobI5dKJJ03NSZbdJXdtYjMOm6TmpkqTRyXFDvgfZBC+QbeZsmUmdWVR5+v41VNXQqpHxLrkcdrV1dJY7cgleKLkEi1xCE8lsPjNvkhpa2vX6/t47f6tnY81R9XCkpkmBdLWjJ0/pb4dr9JcPjutkc7uuL8jUF67L04nGVj3z9pFBl/VLemnLDk1MjYnImE1RVtc+aDarth7RNxcV6dt3TNWP3jgku036x+Ip3TueuJjBTxNIZBOKoXLpT1xM50HCtn6O5HQd3YmLOVMGyCV4oeQSLHIJTaSy+fx1kzV3Sob+7Q+7+1yn5pd0uKZJhWNTIvBOkWf5MtDfh9PZPjE1S99aVKTi77yu4w2d5ztf3nNcdpv0lZsu0rpdFb3OW/fn3sX3q+1YZO4tNYUrK19ZD3x3wOmr/+ZWVuoIPTx3ku68PEdS5yHnH79xUP94/RQ1twX2BR9kE5yhculP1+23LmffM4exp187+xZdcglOKLmEglyCF4lsbi3K0tIFBVqz3a1V2/q/PiCQ/dmFYvky0N+H09kWzx6vPRX13UWgyyv7KnXXFTkqzErWloM1g67juVXP0KaDVFbXrkc3DnyXhyQ9uWG/nn7joPJHJ8nT4tX+So8eu6FAknSouimg9yGb4ASSy9mqPJ3bTubp8509ZSbH6mRzW/dRgS7kEpxQcgkFuQQv3Gzm5I3Sd/6/aXptf5X+9Q8fDDhfIPuzC8XyZWBCeoJs0qCHcEYlxqrhVN+//J0Oe6//HYhN0k3XXG7ZczlWVdDq1dKNLw95eK2hxat3jpy56vaavFGqqDulgycah3wPsgleoLn0VNnQqurTt1GdbVp2qvZW9H5IFLkEL5RcgkUuoQknm+k5qfrx4su1+2i9vvDczgEvQrSpc39mVdatKaclxDqVO8STm8qqm3TJ2GRNPOtBNgunjVWHz699QzztLjc9no0nBIFkc7Zbi7I0PSdVP99SpqGffUk2oQglF0l66YPjmn/RaGWlnLmw8+rJ6Zqckag/7z7Wa15yCV6ouQSDXEITajaTMxL18wdm6ujJU3rwV9sHvf3T6tlYd2Q9FBdk6tltRwZsXE+/cUjX5WfoNw9fpWe2HtbJ5nbNvyhTxQWZev5v7n6vkO7isNtUnJ95roY+7A2WzZUT0vRP86doc+kJnWxu12U5qbrr8my9vr9Kv3jr8JDrJpvQnZ3L/VeNV3JcTPcdHPMvztSY0zv9X711WJ5Wr77/+gF9vChLz//DbP1iy2EluBx6eN4k7TvWoN/uOPMYVnIJXX/bSyDZjEsdoUWXjZMkTT199GZJcZ4k6aO6U1r77kfkEqZgtxmf369nHrxSKSNi9PQbB3X9RaN7rc9d26Sd7jpJ0bHNRMV3E5RWerTgf94YdJ5p2Sn60sfyVZiVrNR4l8pPNut3O4/qx28cGvLe0VcemWfpJ0NZ2WDZ5KbF6xu3XarCsclKjHWq/OQp/W7nUf30zUODPgiqJ7IJzdm5vPnlYmWP7P8vnzn/9ZqO1p2SJE3JTNTXbrlEV0wYqfYOv177sErf/PNeVTe29VqGXELT3/YSSDazJ6ZpzcNX9TvP1kM1uucnWyWRSziC3WYk6c1/uX7A9b2wo1xLX3i/+98XKpth9xXGf/ezbXrrUE1EH9jhsNt09aR0PfvpWRFbp4nIxprIxZrIxbqGYzbD7ouKVi4qknOQRxKHwmm3aeWiooiu00RkY03kYk3kYl0mZxM1ZSAnLV7LFxZGdJ0rFhbylZ8RQDbWRC7WRC7WZXI2UVMGJOmemblaekN+RNb12A0FuntmbkTWBbKxKnKxJnKxLlOziZprBnpas92tx9ftkdfnD+rcjsNuk9Nu04qFhVETULQhG2siF2siF+saLtkMuwsIz1Ze26xla3dr84FqOey2QcPqmj43b5RWLiqKikM20YxsrIlcrIlcrGs4ZDPsy0CX0kqPVm9za1NJldw1zb2eIGVT54MeivMztXh2LrfcnGdkY03kYk3kYl3RnE3A+29/AOrr6/2S/PX19YHMfsE0trT7X3h1q9+Vle9/4dWt/saW9gs9JJxGNtZELtZELtYVbdkEuv+OqgsIh5IQ69TE1Bi1HSvRxNQYSz/60TRkY03kYk3kYl3DNZthVQYAAEDwKAMAABiOMgAAgOEoAwAAGI4yAACA4SgDAAAYjjIAAIDhKAMAABiOMgAAgOEoAwAAGI4yAACA4SgDAAAYjjIAAIDhKAMAABiOMgAAgOEoAwAAGI4yAACA4SgDAAAYjjIAAIDhKAMAABiOMgAAgOEoAwAAGI4yAACA4SgDAAAYjjIAAIDhKAMAABiOMgAAgOEoAwAAGI4yAACA4SgDAAAYjjIAAIDhKAMAABiOMgAAgOEoAwAAGI4yAACA4SgDAAAYjjIAAIDhKAMAABiOMgAAgOEoAwAAGI4yAACA4SgDAAAYjjIAAIDhKAMAABiOMgAAgOEoAwAAGI4yAACA4SgDAAAYjjIAAIDhhlUZaGr1qqyuXa6sfJXVtaup1Xuhh4TTyMaayMWayMW6hms2Nr/f7x9qpoaGBqWkpKi+vl7JycnnY1wBK630aPU2tzbtr5K7tlk9fxibpNy0eBUXZOq+WbmaMjrpQg3TSGRjTeRiTeRiXdGcTaD776gtA+W1zVq2drc2H6iWw25Th2/gH6Nr+ty8UVq5qEg5afHncaTmIRtrIhdrIhfrGg7ZDOsysGa7W4+v2yOvzz9oOGdz2G1y2m1avrBQ98zMPYcjNBfZWBO5WBO5WNdwyWbYloGnNpXqyQ0lYa9n6Q35WlI8JQIjQheysSZysSZysa7hlE2g+2/neRxT2NZsd+sHrx/UIx+bouk5qZqWnarUeJeW/naXXth5tNe898zM0aLp4zQpI1HJI5yqamjV1kM1+t9XS3W07pSe3FCijMRY3W2B5jYcBJNNT067TX/5p7maMjpJ3/zzPv1k8yGyiaBgcnnyzqm68/KcPus4WNWo+f/9V3KJoDXb3XpyQ4niXQ59Zt6kgLYZm02678pc3XtlriZlJOpUe4f2HWvQf6zfSy4RFMw2c/hbtwy4ns2lJ/R3P/9b1GQTNWWgvLZZj6/bo4zEWH1xfr6OnmzWvmMeXTU5vd/5C8emqPxkszbuq1T9qXblpMXrUzNzdP1Fmbr5/zarytOqr6/bo6snj7LMuZ1oFWw2PT1w9QSNTR3R53WyCV8oubS2d+hffr+712uelvbu/08u4evKRZLS4l0BZ/PEHVN12/Rx+v3Oj/Srt48o3uVQ4dhkpSfGkkuEBLvNfOnX7/V5bWp2ih68ZqI2l1ZLip5tJmrKwLK1u+X1+VXladXMb76iE42tKhqXoheXzOl3/q/98YM+r23Yc1zr/3Gu7piRrR/+9aC8Pr+Wrd2tZz8961wPf1gLNpsu6QkuffH6KfrRGwf16IKCXtPIJnyh5OL1+fWH9z4adDq5hKcrF0kBZ3NLUZbuvDxHn3n2Hb28t7LPdIfdRi4REOw209+2MntSmnw+v9btqpAUPdtMVDxnoLTSo80HqtXh86utw6cTja0hredo3SlJUnJcZwfq8Pm1+UC1DlR5IjZW04STzb/cdJEOVTdq7bt9NyiyCU84udhtUmJs/38nkEt4euYiKeBsHpozUe+Vn9TLeytls0kjYhy9ppNL+CKxn3E57Lr50ixtK6vV8YYWSdGTTVSUgdXb3HLYbSEtmxofo/QEl4rGpeiJO6ZJkrYcrOme7rDbtGqrOyLjNFGo2UzLTtEdM7K1Yv1eaYBLWMkmdKHmMiLGoQ/+/UZ98O836r2vLdCKhYWKd/Xe8ZBL6ELJJTHWqWnZqdp1tF6P3VCg3Y/fqH0rbtIbjxXrlqKs7vnIJTzh7Ge6FBdkKGVETJ8jBtGQTVScJti0vyqoWzt62vaV+Yo93aJrm9r0+Lo9evNAdff0Dp9fm0qq9O8qjMhYTRNqNssXFmr9+xXa6a5Tdj/XDEhkE45QcqnytOrHbxzUBxUNstuka/MzdP9VE3RxVrLu+cnW7vWRS+hCyWV8Wrzsdps+MXWsOnw+/edf9qmhxasHr5mg791zmRpbvfpryQlyCVM4+5kut00fp9b2Dv3lg2O9Xo+GbCxfBhpbvXLXNoe8/N//crtinXZNzkzUounj+vyVI0nummY1tXqVMMChUfQv1GzuujxbBaOT9bnVO4ecl2yCF2ou3355f69/v/j+MR2qbtKXb7xIH790jF58/8wHHLkEL9Rc4mM7P7PSEly6/Qdb9F55nSTplX2V2vxYsZYU5+mvJSckkUuowt3PSJ1HcK6/KFOb9p9QQ0vfRxRbPRtrjqqHIzVNAx1FDsjbhzpPCbxeckIb91Zqw5fmqanNq2fePtI9j1/SS1t2aGJqTHiDNUxZXXvQ2STGOvXlGwv09OaDOlbfMuT8ZBO8UHIZyM/eLNOjCwp0Td6oXmWAXIIXai4t7T5Jkru2ubsISFJzW4de/bBKt08f1/30O3IJTSS2mZsvHaO4GMeAF+D6JR2uaVLh2JQw3+ncsHwZaPP6IrYud22z9lQ06Pbp43qVAUm6d/H9ajsW/kMmTOLKylfWA98Napl/mDtJMQ67Xnz/WPfpgTEpcZKklBExyk4doUpPi9o7zmyaZBOcUHIZSKvXp5PNbUod4eozjVyCE2oulacvRKvu54K2msZWuZx2xcc45Dn9hTnkErxIbDO3TR+nhlPteu3DqgHnieT+LNIsXwZczshe4xgXY5fL0Xedz616hjYdpLK6dj26sXroGXsYlxqn1HiXXnnk2j7TlhTnaUlxnj7+f5u191hD9+tkE5xQchlIgsuhtHiXapv67ojIJTih5lLlaVVVQ4tGJ8f1mZaZHKeW9g41tp05LE0uwQt3m8lIitVVk9L1wo6jausYeIcf6f1ZJFm+DExIT5BNA15w3i+H3aYEl6PPeZtp2SkqGJ2kP56+/7OLTdJN11xu2XM5VlXQ6tXSjS8Hlc0v3jqsDWfdJ52e4NK3PjlVv32nXBv3Vaq8x7k7sgleKLnEOu1y2m1qauvo9fo/Xj9Fdrut+5x0F3IJXii5dFm/+5gevGai5uSN6r4AemR8jBZcMlpvHaxR10PlySU04WQjSQunjpXDbhv0GR02de7PrMryvzEJsU7lpsXrSI8dxP1XjVdyXEx3U55/cWb3oeZfvXVYNpv09lfma/37x1RS5dGptg4VjEnSXZdny9Pq1fdeK+31Hrnp8Ww8IQglmz0VDdpT0dBrPV2nC0qqGvsUBbIJXii5pIyI0Z/+aa7W7arQwRONkqR5UzJ0/UWZen1/lTbsI5dw9ZeLNHQ2nlavfvD6Ad1SlKUf3jdDP3uzTJ4Wr+6dlasYu11PvPxh97rIJTShbDNdp2Uk6bbpY3W8vkVby2o0EKtnY92R9VBckKlntx3pvu3j4bmTlD3yzKMdb740Szdf2nm/7R/e/UiVnhb9+p1yXTUpXTcXjVGc06EqT4vW7arQU68d6H74kNR5FKE4P/P8/kDDSLDZ9NyAhkI2oQs2l4aWdr36YaXm5I3SHTPGyWGz6XBNs7790od6evMh9fw6M3IJ3dm5SIFtM9WNbbrzR2/pXz9+iR6cM1Exdrt2uk/qkd+8p33HOx9mQy7hCfWzbNKoBE3NTtVPztpOeoqGbKLiWwtLKz1a8D9vnLP1v/LIPOVlJp2z9Q9nZGNN5GJN5GJdwzWbQPff1r2aoYcpo5M0N29U2E+HOpvDbtPcvFFsPGEgG2siF2siF+syPZuoKAOStHJRkZwRDslpt2nloqKIrtNEZGNN5GJN5GJdJmcTNWUgJy1eyxdG9lGOKxYWWv5rJaMB2VgTuVgTuViXydlETRmQpHtm5mrpDfkRWddjNxTo7pm5EVkXyMaqyMWayMW6TM0mKi4gPNua7W49vm6PvD5/UF8s4bDb5LTbtGJhYdQEFG3IxprIxZrIxbqGSzaB7r+jsgxIUnlts5at3a3NB6q7n8s9kK7pc/NGaeWioqg4ZBPNyMaayMWayMW6hkM2w74MdCmt9Gj1Nrc2lVTJXdPc6wlSNnU+6KE4P1OLZ+da/mrO4YZsrIlcrIlcrCuaszGmDPTU1OrV4ZomtXl9cjntmpCeYOknPpmkqdWrl7bs0L2L79dzq57hkakWQS7WRC7WFW37mUD339b9CUKQEOu07NdDmi4h1qmJqTFqO1aiiakxlt54TEIu1kQu1jVc9zNRdTcBAACIPMoAAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMMAABgOMoAAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMMAABgOMoAAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMMAABgOMoAAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMMAABgOMoAAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMMAABgOMoAAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMMAABgOMoAAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMMAABgOMoAAACGowwAAGA4ygAAAIajDAAAYDjKAAAAhqMM4LxoavWqrK5drqx8ldW1q6nVe6GHBJGLVZELzjeb3+/3DzVTQ0ODUlJSVF9fr+Tk5PMxLgwDpZUerd7m1qb9VXLXNqvnL5pNUm5avIoLMnXfrFxNGZ10oYZpHHKxJnLBuRDo/psygIgrr23WsrW7tflAtRx2mzp8A/+KdU2fmzdKKxcVKSct/jyO1CzkYk3kgnOJMoALYs12tx5ft0den3/QD7WzOew2Oe02LV9YqHtm5p7DEZqJXKyJXHCuBbr/dp7HMWGYe2pTqZ7cUBLSsh2nPwy/8vvdqm5s1ZLiKREenbnIxZrIBVbCBYSIiDXb3SF/sJ3tyQ0l+vV2d0TWZTpysSZygdVwmgBhK69t1sf++69y2G36zLxJmp6TqmnZqUqNd2npb3fphZ1H+yxzS1GWHpozUZMzEtXh96vkuEc/euOQNu2vkiTFOu165ZFrOScahlByuf+q8bp/9gTlpI3QyaZ2rd9doe9sKNGp9g5J5BIJXbkUjEnSHTOyddWkdGWPHKGTze16131S39lYorLqpl7LTM5I1NdvvVhXjE9Te4dPr+2v0jf+tE+1TW2SyAUDC3T/zZEBhG3Z2t3y+vxKi3fpi/PzNTkjUfuOeQac/4GrJuj7985QbXOb/uulD/W910qVFOfUL/5+pm4sHCNJ8vr8WrZ29/n6EYalYHP5yk0XacXCS7W/0qMVL+7VX/Yc0wNXTdCPF1/ePQ+5hK8rl8/Om6ybC8doy8FqLX9xr57/m1uzJqZp/ZI5yh+d2D3/mOQ4/ebh2RqfnqAnNuzX05sP6fqCTK168ErFOGySyAXh45oBhKW00qPNB6olSVWeVs385is60diqonEpenHJnH6XeeDq8XqvvE6f/tU73a/95p2j2vrV+bpzxji9vOe4Onx+bT5QrQNVHuVlchtVsILNJSMpVp+eM1G/23lUj/52V/frZdVNWrHwUs2/KFOvflhFLmHqmctP3yzTF3/9rto7zhycXf9+hV7+4jx97to8PfKb9yRJXyjOU7zLqU889aYq6lskSbvK67T6odm6c0a2nt9eTi4IG0cGEJbV29xy2Dv/Omnr8OlEY+uQyyTFOlXT1Hu+xlavmlu9amn3db/msNu0aivnQkMRbC4zckcqxmHXi+9X9Hr9xV2d//7EtLHdr5FL6HrmstN9slcRkKTDNc0qqWpUXuaZIwM3FY7Rqx9WdhcBSdpysEYHTzTqlqnkgsigDCAsm/ZXBXVLlCRtPVSra6dk6IGrJig7dYQmZyRoxcJCJcXF6BdvlXXP1+Hza1NJVaSHbIRgc4l1dn4UtPYoY5K6rxUoGpvS/Rq5hC6QXEYlunTy9LUAo5NjlZEUq90f1feZb9fROhWOPXMOmFwQDk4TIGSNrV65a5uDXu7fX9yjkQkuLV9YqOULCyVJNY2tuu9nW7XTXddrXndNs5pavUqI5Vc1UKHkcvBEoyTp8vEj9fahmu7Xr5yQJkkanRLXa35yCV4gudw+fZyyUkbouxs77zTITOr8717l6Xtkp6qhVSPjXXI57Grr6Cxx5IJQ8RuDkB2paVJwxwQ6nWrv0KETjTpef0qvflilxFinHrxmon503+W66+m3daTmzAemX9JLW3ZoYmpMxMY93JXVtQedy56KBr3rPqnPXjtZlQ0tevtgjfIyE/WN2y9Vm9enOGfvg4jkEryhcpmckaAVtxVqx5GT+t3pOz3iYjr/u7d5fX3mbz39WlzMmTLgl3S4pkmFPY7kAIGgDCBk/X1ABeIH986Q1+fXQ8+cuYBww95Kvb70Oj12Q4GWPP9ur/nvXXy/2o5F5p5sE7iy8pX1wHeDXu6zq3foqU/N0BN3TpMkeTt8+umbZZo9KU2TRiX2mZ9cgjNYLhmJsfr5AzPlafHqc6t3qOtMQtc1NC5n3zO6Xad2Ws46tRPqdgmzUQYQsv4+oIaSM3KErivI1Fd+/36v1+tPteudw7W6fPzIPss8t+oZ/gINQlldux7dWB30cpUNrbrrx29rQnq8MpJidbi6WScaW7Xtq/N16Kz73iVyCdZAuSTFOvXL/zdTySNidNeP3+51SqDK03nRYGZSbJ/lMpNjdbK5rfuoQJdQtkuAMoCQTUhPkE0K6pB0xukPNYfN1mea02GX0977dZukm665nHOgQSho9WrpxpdDOoUjdV7Rfvj0qZq8zESNTo7TCzt6P6CIXILXXy6xTrt++sAVmjgqQYt/tk0Hqhp7LVPZ0Krq07eEnm1adqr2VjT0es2mzu0SCBYVEiFLiHUqN8gnnh2uaVaHz69be9wSJXU+WGXmhDTtOevDLTc9nh1OkELJpT82m/TVmy9Sc5tXq7cd6TWNXIJ3di52m/TUpy7TjNyR+vxzO/tcPNvlpQ+Oa/5Fo5XV4yLOqyena3JGov68+1iveckFoeK3BmEpLsjUs9uOdN8udf9V45UcF6PRyZ0fXPMvztSY0x9iv3rrsGqb2vSbd8r1qStz9dxDs/TSnuNKdDm1ePZ4xTnt+sHrB7vX7bDbVJyfef5/qGEg2Fw8rV49fuslinXatfdYg5wOu26bNlbTslP16Au7et3jTi6h65nLv91yiRZcMkYb91YqdYRLt08f12veP7z3kSTp+68f0MeLsvT8P8zWL7YcVoLLoYfnTdK+Yw36bY8jNuSCcPDdBAhLaaVHC/7nje5/v/nlYmWP7P+v0jn/9ZqO1p2Sw27TfbNydfcVORp/+pDm+0fr9L3XDvS6rU2SXnlkHk9UC0Eoudw5I1sPXjNB49MT5PP7tetovb6/qW8mErmEqmcua/5htmZPSh9w3glf/VP3/5+Smaiv3XKJrpgwUu0dfr32YZW++ee9qm5s67UMueBsge6/KQMI29/9bJveOlQT9MOHBuOw23T1pHQ9++lZEVunacjFmsgF5xNfVITzZuWioj4X/oXLabdp5aKiiK7TNORiTeQCK6IMIGw5afHdTxKMlBULC/k61jCRizWRC6yIMoCIuGdmrpbekB+RdT12Q4HunpkbkXWZjlysiVxgNdxNgIhZUjxFoxJj9fi6PfL6/EGdE3XYbXLabVqxsJAPtggjF2siF1gJFxAi4sprm7Vs7W5tPlAth9026Idc1/S5eaO0clERhzrPIXKxJnLBucTdBLjgSis9Wr3NrU0lVXLXNPd68ppNnQ9IKc7P1OLZudwOdR6RizWRC84FygAspanVq8M1TWrz+uRy2jUhPYEnpVkAuVgTuSBSAt1/89uF8yIh1snXqloQuVgTueB8424CAAAMRxkAAMBwlAEAAAxHGQAAwHCUAQAADEcZAADAcJQBAAAMRxkAAMBwlAEAAAxHGQAAwHCUAQAADEcZAADAcJQBAAAMRxkAAMBwlAEAAAxHGQAAwHDOQGby+/2SpIaGhnM6GAAAEDld++2u/fhAAioDHo9HkpSTkxPmsAAAwPnm8XiUkpIy4HSbf6i6IMnn86miokJJSUmy2WwRHSAAADg3/H6/PB6Pxo4dK7t94CsDAioDAABg+OICQgAADEcZAADAcJQBAAAMRxkAAMBwlAEAAAxHGQAAwHCUAQAADPf/A21jArTSrQIWAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# access and visualize the device topology\n", + "print(iqm_device.properties.paradigm.connectivity)\n", + "\n", + "nx.draw_networkx(\n", + " iqm_device.topology_graph,\n", + " pos={\n", + " 1: (-1, 2),\n", + " 2: (0, 2),\n", + " 3: (-2, 1),\n", + " 4: (-1, 1),\n", + " 5: (0, 1),\n", + " 6: (1, 1),\n", + " 7: (2, 1),\n", + " 8: (-2, 0),\n", + " 9: (-1, 0),\n", + " 10: (0, 0),\n", + " 11: (1, 0),\n", + " 12: (2, 0),\n", + " 13: (-2, -1),\n", + " 14: (-1, -1),\n", + " 15: (0, -1),\n", + " 16: (1, -1),\n", + " 17: (2, -1),\n", + " 18: (-1, -2),\n", + " 19: (0, -2),\n", + " 20: (1, -2),\n", + " },\n", + " arrows=False,\n", + " with_labels=True,\n", + " font_color=\"white\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let's compose a verbatim circuit to IQM Garnet. The circuit below creates a Bell state. With verbatim compilation, you have control in preparing a quantum state. There is no gate optimization and you can experiment with different ways to create the quantum state." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │\n", + " ┌──────────────┐ \n", + "q1 : ───StartVerbatim───┤ PRx(1.57, 0) ├───●───────────────────────EndVerbatim───\n", + " ║ └──────────────┘ │ ║ \n", + " ║ ┌──────────────┐ ┌─┴─┐ ┌───────────────┐ ║ \n", + "q2 : ─────────╨─────────┤ PRx(1.57, 0) ├─┤ Z ├─┤ PRx(-1.57, 0) ├────────╨────────\n", + " └──────────────┘ └───┘ └───────────────┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │\n" + ] + } + ], + "source": [ + "circ = Circuit().prx(1, pi / 2, 0).prx(2, pi / 2, 0).cz(1, 2).prx(2, -pi * 0.5, 0)\n", + "verbatim_circ = Circuit().add_verbatim_box(circ)\n", + "print(verbatim_circ)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion \n", + "This notebook introduced the basic functionality of verbatim compilation of Amazon Braket, that allows you to run circuits or subcircuits to be executed exactly as defined without any compiler modifications. You can find further information in the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/). " + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum Task Summary\n", + "{<_Rigetti.Ankaa2: 'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2'>: {'shots': 5000, 'tasks': {'COMPLETED': 5}}, <_IonQ.Aria1: 'arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1'>: {'shots': 10, 'tasks': {'COMPLETED': 1}}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 6.600 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(\n", + " f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.3f} USD\"\n", + ")" + ] + } + ], + "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.10.10" + }, + "vscode": { + "interpreter": { + "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb b/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb index 4aa2d985..317abb9e 100644 --- a/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb +++ b/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb @@ -1,644 +1,643 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Creating your first Hybrid Job\n", - "\n", - "\n", - "This tutorial provides an introduction to running hybrid quantum-classical algorithms using\n", - "PennyLane on Amazon Braket . With Amazon Braket, you gain access to both real quantum devices and\n", - "scalable classical compute, enabling you to push the boundaries of your algorithm.\n", - "\n", - "In this tutorial, we'll walk through how to create your first hybrid quantum-classical algorithms on AWS.\n", - "With a single line of code, we'll see how to scale from PennyLane simulators on your laptop to running full-scale experiments on AWS that leverage both powerful classical compute and quantum devices.\n", - "You'll gain understanding of the hybrid jobs queue, including QPU priority queuing, and learn how to scale classical resources for resource-intensive tasks. \n", - "We hope these tools will empower you to start experimenting today with hybrid quantum algorithms!\n", - "\n", - "\n", - "\n", - "## Amazon Braket Hybrid Jobs\n", - "\n", - "Amazon Braket Hybrid Jobs offers a way for you to run hybrid quantum-classical algorithms that\n", - "require both classical resources and quantum processing units (QPUs). Hybrid Jobs is designed to\n", - "spin up the requested classical compute, run your algorithm, and release the instances after\n", - "completion so you only pay for what you use. This workflow is ideal for long-running iterative\n", - "algorithms involving both classical and quantum resources. Simply package up your code into a single\n", - "function, create a hybrid job with a single line of code, and Braket will schedule it to run as soon\n", - "as possible without interruption.\n", - "\n", - "Hybrid jobs have a separate queue from quantum tasks, so once your algorithm starts running, it will\n", - "not be interrupted by variations in the quantum task queue. This helps your long-running algorithms\n", - "run efficiently and predictably. Any quantum tasks created from a running hybrid job will be run\n", - "before any other quantum tasks in the queue. This is particularly beneficial for iterative hybrid\n", - "algorithms where subsequent tasks depend on the outcomes of prior quantum tasks. Examples of such\n", - "algorithms include the Quantum Approximate Optimization Algorithm (QAOA), Variational Quantum\n", - "Eigensolver (VQE), or Quantum Machine Learning (QML). You can also monitor your algorithm's progress in near-real\n", - "time, enabling you to keep track of costs, budget, or custom metrics such as training loss or\n", - "expectation values.\n", - "\n", - "Importantly, on specific QPUs, running your algorithm in Hybrid Jobs benefits from [parametric compilation](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-parametric-compilation.html). \n", - "This reduces the overhead associated with the computationally expensive compilation step by compiling a circuit only once and not for every iteration in your hybrid algorithm. \n", - "This reduces the total runtime for many variational algorithms by up to 10x.\n", - "For long-running hybrid jobs, Braket automatically uses the updated calibration data from the hardware provider when compiling your circuit to ensure the highest quality results.\n", - "\n", - "## Getting started with PennyLane\n", - "\n", - "\n", - "Let’s setup an algorithm that makes use of both classical and quantum resources. We adapt the [PennyLane qubit rotation tutorial](https://pennylane.ai/qml/demos/tutorial_qubit_rotation).\n", - "\n", - "First, we define a quantum simulator to run the algorithm on. In this example, we will use the Braket local simulator before moving onto a QPU." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import pennylane as qml\n", - "from pennylane import numpy as np\n", - "\n", - "device = qml.device(\"braket.local.qubit\", wires=1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we define a circuit with two rotation gates and measure the expectation value in the $Z$-basis" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "@qml.qnode(device)\n", - "def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=0)\n", - " return qml.expval(qml.PauliZ(0))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we create a classical-quantum loop that uses gradient descent to minimize the expectation value.\n", - "\n", - "We add the ``log_metric`` function from Braket to record the training progress (see [metrics\n", - "documentation](https://amazon-braket-sdk-python.readthedocs.io/en/stable/_apidoc/braket.jobs.metrics.html)).\n", - "When running on AWS, ``log_metric`` records the metrics in [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/), which is accessible\n", - "through the Braket console page or the Braket SDK. When running locally on your laptop,\n", - "``log_metric`` prints the iteration numbers.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.jobs.metrics import log_metric\n", - "\n", - "\n", - "def qubit_rotation(num_steps=10, stepsize=0.5):\n", - " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", - " params = np.array([0.5, 0.75])\n", - "\n", - " for i in range(num_steps):\n", - " # update the circuit parameters\n", - " params = opt.step(circuit, params)\n", - " expval = circuit(params)\n", - "\n", - " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", - "\n", - " return params" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To run the entire algorithm, we call the `qubit_rotation`` function to see that it runs correctly." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Metrics - timestamp=1700084056.91118; expval=0.38894534132396147; iteration_number=0;\n", - "Metrics - timestamp=1700084056.9852457; expval=0.12290715413453956; iteration_number=1;\n", - "Metrics - timestamp=1700084057.0590365; expval=-0.09181374013482171; iteration_number=2;\n", - "Metrics - timestamp=1700084057.128326; expval=-0.2936094099948542; iteration_number=3;\n", - "Metrics - timestamp=1700084057.1863492; expval=-0.5344079938678078; iteration_number=4;\n" - ] - }, - { - "data": { - "text/plain": [ - "tensor([0.67679672, 2.32609342], requires_grad=True)" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qubit_rotation(5, stepsize=0.5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Great! We see the expectation value change with each iteration number and the final parameters were returned as a list. Now, instead of running on our laptop, let’s submit this same function to be run on AWS." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running as a hybrid job\n", - "\n", - "You can execute long-running algorithms asynchronously with Amazon Braket Hybrid Jobs, \n", - "which fully manages the classical infrastructure so you can focus on the algorithm. For example, you\n", - "can train a larger circuit, or increase the number of iterations. Note that each hybrid job has\n", - "at least a one minute startup time since it creates a containerized environment on Amazon EC2. So\n", - "for very short workloads, such as a single circuit or a batch of circuits, it may suffice for you to\n", - "use quantum tasks.\n", - "\n", - "We now show how you can go from running your local Python function to running it as a hybrid job.\n", - "\n", - "
\n", - " Note: Only Python 3.10 is supported by default. For other versions, you may use hybrid job scripts, or specify a custom container image from Amazon Elastic Container Registry (ECR) (see \n", - "containers documentation).\n", - "
\n", - "\n", - "\n", - "The first step to creating a hybrid job is to annotate which function you want to run with the\n", - "`@hybrid_job` decorator. Then you create the job by invoking the function as you would for normal\n", - "Python functions. However, the decorated function returns the hybrid job handle rather than the\n", - "result of the function. To retrieve the results after it has been completed, use `job.result()`.\n", - "\n", - "For algorithms that do not need priority queueing or scheduling for on-demand QPUs, you may specify the device as `local:/` or simply `None`. For example, when using a simulator that runs on the same classical host alongside the rest of your algorithm, such as the PennyLane Lightning CPU/GPU simulators, you may set `device=\"local:pennylane/lightning.qubit\"`. \n", - "\n", - "\n", - "The required device argument in the `@hybrid_job` decorator specifies the QPU that the hybrid job\n", - "will have priority access to.\n", - "The device string you give is accessible in the hybrid job instance as the environment variable ``\"AMZN_BRAKET_DEVICE_ARN\"``.\n", - "In the following code, we annotate the `qubit_rotation` function from above.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.jobs import hybrid_job, save_job_result\n", - "\n", - "\n", - "@hybrid_job(device=\"local:braket/default\")\n", - "def qubit_rotation_hybrid_job(num_steps=1, stepsize=0.5):\n", - " device = qml.device(\"braket.local.qubit\", wires=1)\n", - "\n", - " @qml.qnode(device)\n", - " def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=0)\n", - " return qml.expval(qml.PauliZ(0))\n", - "\n", - " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", - " params = np.array([0.5, 0.75])\n", - "\n", - " for i in range(num_steps):\n", - " # update the circuit parameters\n", - " params = opt.step(circuit, params)\n", - " expval = circuit(params)\n", - "\n", - " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", - "\n", - " return params" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we create a hybrid job by calling the function as usual. This returns an `AwsQuantumJob` object that contains the device ARN, region, and job name." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:318845237731:job/qubit-rotation-hybrid-job-1700084057462')\n" - ] - } - ], - "source": [ - "job = qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5)\n", - "print(job)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The hybrid job automatically captures the function arguments as [hyperparameters](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-hyperparameters.html).\n", - "In this case, we set `num_steps = 10` and `stepsize = 0.5` as the hyperparameters." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can check the status with:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'QUEUED'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "job.state()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once the hybrid job starts, it will change the status to `RUNNING`. We can also check the hybrid job status in the Braket console.\n", - "\n", - "We can monitor the metrics in near-real time in the [Braket console page](https://console.aws.amazon.com/braket/) as shown below. \n", - "\n", - "![Training to minimize an expectation value.](console_figures/expval.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After the hybrid job completes, we can get the results with `job.result()`. For this example, it should take approximately 2 minutes." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'result': tensor([0.03642036, 3.10081929], requires_grad=True)}" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "job.result()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Any objects in the return statement are automatically captured by Braket. Note that the objects returned by the function must be a tuple with each element being serializable as text. \n", - "\n", - "Additionally, we can plot the metrics recording during the algorithm. Below we show the expectation value decreases with each iteration as expected." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'timestamp': [1700084189.268808, 1700084189.3246114, 1700084189.3840628, 1700084189.1557567, 1700084189.2123241, 1700084188.8748374, 1700084188.9313, 1700084188.9881024, 1700084189.0439024, 1700084189.099711], 'expval': [-0.9771543186187628, -0.9940804663947356, -0.9985062848699056, -0.7715298984378987, -0.9193547392516985, 0.38894534132396147, 0.12290715413453956, -0.09181374013482171, -0.2936094099948542, -0.5344079938678078], 'iteration_number': [7.0, 8.0, 9.0, 5.0, 6.0, 0.0, 1.0, 2.0, 3.0, 4.0]}\n" - ] - } - ], - "source": [ - "# May need to wait a bit before metrics show up\n", - "# If metrics aren't there, try again after 5 seconds\n", - "import time\n", - "\n", - "time.sleep(10)\n", - "print(job.metrics())" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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5ntMnz592LlzJ7Nnz2bz5s10796de+65hw0bNpRQahHxStHdof0sCKruuj2oBrT9Epo8DzYf+P0z+KEZHF1hTU4R8YwFFbdv307Dhg1Zs2YNsbGxAMybN4+uXbty4MABoqKicj2uQoUKvPfee9x///3ObZUrV+aVV15hwIABBXpvLagoIkXmyP5rFtlhc0xQeHvzjBHAsZ/N65Kl7zGvZN/oWWg8Cuy+1mYWKSPK1IKKiYmJhIaGOksQQHx8PHa7nVWrVuV5XJs2bZgxYwbHjx/H4XDwxRdfcObMGTp16pTnMWfPniUtLc3lJiJSJHYfiOwEMb3Mn+dLEECV66DrRoi531x7aMvz8FMHOLXborAi3skjilBycjIREREu23x9fQkLCyM5OTnP47788kvOnTtH5cqV8ff35+GHH+abb76hXr16eR6TkJBASEiI8xYdHe22zyEi4qJcMLT5D7T5DMqFwLFEmNsc9nxqdTIRr2FpERoxYgQ2my3f244dO4r8+qNGjeLEiRP89NNPrF27luHDh3PPPfeweXNeq77CyJEjSU1Ndd72799f5PcXESmQmF7QdROEt4Osk5B4vwZSi5QQS8cIHT16lD/++CPfferUqcOnn37K448/zp9//uncnpWVRUBAADNnzuTOO+/McVxSUhL16tVjy5YtNGrUyLk9Pj6eevXqMXny5AJl1BghESkxjizYmgBbxoKRDeVjzCvah7e1OpmIxyno329LR+WFh4cTHh5+yf1at27NiRMnWLduHS1atABg4cKFOBwOWrVqlesxGRkZANjtrie9fHx8cDgcl5lcRKQY2H2hySioGg8re5sDqX/qAI1GQeNnNZBapBh4xBihBg0acNNNN/HQQw+xevVqVqxYwaBBg7j33nudM8YOHjxI/fr1Wb16NQD169enXr16PPzww6xevZqkpCTeeOMN5s+fT7du3Sz8NCIilxDe+qKB1GP/Gki9x+pkImWORxQhgOnTp1O/fn3i4uLo2rUr7dq144MPPnA+f+7cOXbu3Ok8E1SuXDnmzp1LeHg4t912G02bNuU///kP06ZNo2vXrlZ9DBGRgnEZSB3810DqZhpILeJmHrGOkJU0RkhELHdqLyT+48LCi7Xug5bvgl+IpbFESrMytY6QiIhXqxADcYsvWpG6uVakFnEDFSEREU9wfiB1/DIoXxvS95rj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BSAlJYVq1S78QlNSUmjevHmex/n7++Pvrysbi4hIKWL3MWdULeuBObYpl7FOLSaUvjNcFytooQtvX2KRLC1C4eHhhIeHF8tr165dm6pVq7JgwQJn8UlLS2PVqlU88sgjxfKeIiIixcbKsU7uUgoLnceMEdq3bx/Hjx9n3759ZGdns3HjRgDq1atHhQoVAKhfvz4JCQnceeed2Gw2hg0bxgsvvMAVV1zhnD4fFRVFt27drPsgIiIiReUpY53yU8oKnccUoeeee45p06Y5H1999dUALFq0iE6dOgGwc+dOUlNTnfs89dRTpKenM3DgQE6cOEG7du2YN2+e1hASERHP5cljnc4rRYXO49YRKmlaR0hERMTzFPTvdy5reIuIiIh4BxUhERER8VoqQiIiIuK1VIRERETEa6kIiYiIiNdSERIRERGvpSIkIiIiXktFSERERLyWipCIiIh4LY+5xIZVzi+8nZaWZnESERERKajzf7cvdQENFaFLOHnyJADR0dEWJxEREZHCOnnyJCEhIXk+r2uNXYLD4eDQoUNUrFgRm83mttdNS0sjOjqa/fv36xpmpYT+TUoX/XuULvr3KF3073FphmFw8uRJoqKisNvzHgmkM0KXYLfbqVGjRrG9fnBwsP6PuJTRv0npon+P0kX/HqWL/j3yl9+ZoPM0WFpERES8loqQiIiIeC0VIYv4+/szevRo/P39rY4if9G/Semif4/SRf8epYv+PdxHg6VFRETEa+mMkIiIiHgtFSERERHxWipCIiIi4rVUhERERMRrqQhZ5J133iEmJoaAgABatWrF6tWrrY7klRISEmjZsiUVK1YkIiKCbt26sXPnTqtjyV9efvllbDYbw4YNszqKVzt48CD/+Mc/qFy5MoGBgTRp0oS1a9daHcsrZWdnM2rUKGrXrk1gYCB169Zl3Lhxl7yeluRNRcgCM2bMYPjw4YwePZr169fTrFkzunTpwpEjR6yO5nWWLFnCo48+ys8//8z8+fM5d+4cN954I+np6VZH83pr1qzh/fffp2nTplZH8Wp//vknbdu2pVy5cvzwww9s27aNN954g0qVKlkdzSu98sorvPfee0yaNInt27fzyiuv8Oqrr/L2229bHc1jafq8BVq1akXLli2ZNGkSYF7PLDo6msGDBzNixAiL03m3o0ePEhERwZIlS+jQoYPVcbzWqVOnuOaaa3j33Xd54YUXaN68ORMmTLA6llcaMWIEK1asYNmyZVZHEeDWW28lMjKSjz76yLntrrvuIjAwkE8//dTCZJ5LZ4RKWGZmJuvWrSM+Pt65zW63Ex8fT2JiooXJBCA1NRWAsLAwi5N4t0cffZRbbrnF5f9PxBqzZ88mNjaWu+++m4iICK6++mqmTJlidSyv1aZNGxYsWMCuXbsA2LRpE8uXL+fmm2+2OJnn0kVXS9ixY8fIzs4mMjLSZXtkZCQ7duywKJWAeWZu2LBhtG3blsaNG1sdx2t98cUXrF+/njVr1lgdRYDdu3fz3nvvMXz4cJ5++mnWrFnDkCFD8PPzo2/fvlbH8zojRowgLS2N+vXr4+PjQ3Z2Ni+++CK9e/e2OprHUhES+cujjz7Kli1bWL58udVRvNb+/fsZOnQo8+fPJyAgwOo4gvkfCLGxsbz00ksAXH311WzZsoXJkyerCFngyy+/ZPr06Xz22Wc0atSIjRs3MmzYMKKiovTvUUQqQiWsSpUq+Pj4kJKS4rI9JSWFqlWrWpRKBg0axJw5c1i6dCk1atSwOo7XWrduHUeOHOGaa65xbsvOzmbp0qVMmjSJs2fP4uPjY2FC71OtWjUaNmzosq1BgwZ89dVXFiXybk8++SQjRozg3nvvBaBJkyb8/vvvJCQkqAgVkcYIlTA/Pz9atGjBggULnNscDgcLFiygdevWFibzToZhMGjQIL755hsWLlxI7dq1rY7k1eLi4ti8eTMbN2503mJjY+nduzcbN25UCbJA27ZtcywpsWvXLmrVqmVRIu+WkZGB3e76p9vHxweHw2FRIs+nM0IWGD58OH379iU2NpZrr72WCRMmkJ6eTr9+/ayO5nUeffRRPvvsM7777jsqVqxIcnIyACEhIQQGBlqczvtUrFgxx/is8uXLU7lyZY3bsshjjz1GmzZteOmll7jnnntYvXo1H3zwAR988IHV0bzSbbfdxosvvkjNmjVp1KgRGzZs4M033+TBBx+0OprH0vR5i0yaNInXXnuN5ORkmjdvzltvvUWrVq2sjuV1bDZbrts//vhjHnjggZINI7nq1KmTps9bbM6cOYwcOZJff/2V2rVrM3z4cB566CGrY3mlkydPMmrUKL755huOHDlCVFQUvXr14rnnnsPPz8/qeB5JRUhERES8lsYIiYiIiNdSERIRERGvpSIkIiIiXktFSERERLyWipCIiIh4LRUhERER8VoqQiIiIuK1VIREJFedOnVi2LBhVsfIwWaz8e2331odo9iMGTOG5s2bWx1DxGuoCIlIrr7++mvGjRvnfBwTE1OiqzvnVQgOHz7MzTffXGI5RKRs07XGRCRXYWFhxfK6mZmZl3UpgKpVq7oxjfc4d+4c5cqVszqGSKmjM0Iikqu/fzXWqVMnfv/9dx577DFsNpvLNdqWL19O+/btCQwMJDo6miFDhpCenu58PiYmhnHjxtGnTx+Cg4MZOHAgAP/617+48sorCQoKok6dOowaNYpz584BMHXqVMaOHcumTZuc7zd16lQg51djmzdvpnPnzgQGBlK5cmUGDhzIqVOnnM8/8MADdOvWjddff51q1apRuXJlHn30Ued75eb82ahPPvmEmJgYQkJCuPfeezl58qTL57r4DFnz5s0ZM2aM87HNZuP999/n1ltvJSgoiAYNGpCYmMhvv/1Gp06dKF++PG3atCEpKSlHhvfff5/o6GiCgoK45557SE1NdXn+ww8/pEGDBgQEBFC/fn3effdd53N79+7FZrMxY8YMOnbsSEBAANOnT8/z84p4MxUhEbmkr7/+mho1avD8889z+PBhDh8+DEBSUhI33XQTd911F7/88gszZsxg+fLlDBo0yOX4119/nWbNmrFhwwZGjRoFmFeanzp1Ktu2bWPixIlMmTKF8ePHA9CzZ08ef/xxGjVq5Hy/nj175siVnp5Oly5dqFSpEmvWrGHmzJn89NNPOd5/0aJFJCUlsWjRIqZNm8bUqVOdxSovSUlJfPvtt8yZM4c5c+awZMkSXn755UL/7s6XwI0bN1K/fn3uu+8+Hn74YUaOHMnatWsxDCNH3t9++40vv/yS//73v8ybN48NGzbwz3/+0/n89OnTee6553jxxRfZvn07L730EqNGjWLatGkurzNixAiGDh3K9u3b6dKlS6Gzi3gFQ0QkFx07djSGDh3qfFyrVi1j/PjxLvv079/fGDhwoMu2ZcuWGXa73Th9+rTzuG7dul3y/V577TWjRYsWzsejR482mjVrlmM/wPjmm28MwzCMDz74wKhUqZJx6tQp5/Pff/+9YbfbjeTkZMMwDKNv375GrVq1jKysLOc+d999t9GzZ888s4wePdoICgoy0tLSnNuefPJJo1WrVs7Huf0+mjVrZowePdol67PPPut8nJiYaADGRx995Nz2+eefGwEBAS7v7ePjYxw4cMC57YcffjDsdrtx+PBhwzAMo27dusZnn33m8t7jxo0zWrdubRiGYezZs8cAjAkTJuT5GUXEpDFCIlJkmzZt4pdffnH52sUwDBwOB3v27KFBgwYAxMbG5jh2xowZvPXWWyQlJXHq1CmysrIIDg4u1Ptv376dZs2aUb58eee2tm3b4nA42LlzJ5GRkQA0atQIHx8f5z7VqlVj8+bN+b52TEwMFStWdDnmyJEjhcoH0LRpU+f983maNGnisu3MmTOkpaU5P3/NmjWpXr26c5/WrVs7P1PFihVJSkqif//+PPTQQ859srKyCAkJcXnv3H7vIuJKRUhEiuzUqVM8/PDDDBkyJMdzNWvWdN7/e1EBSExMpHfv3owdO5YuXboQEhLCF198wRtvvFEsOS8eJGyz2XA4HJd1jN1uxzAMl31yG3f099c5P7Yqt22XynPe+fFPU6ZMoVWrVi7P/b3sQc7fu4jkpCIkIgXi5+dHdna2y7ZrrrmGbdu2Ua9evUK91sqVK6lVqxbPPPOMc9vvv/9+yfe7WIMGDZg6dSrp6enOP/orVqzAbrdz1VVXFSpTYYWHhzvHSgGkpaWxZ88et7z2vn37OHToEFFRUQD8/PPPzs8UGRlJVFQUu3fvpnfv3m55PxFvpsHSIlIgMTExLF26lIMHD3Ls2DHAnPm1cuVKBg0axMaNG/n111/57rvvcgz+vdgVV1zBvn37+OKLL0hKSuKtt97im2++yfF+e/bsYePGjRw7doyzZ8/meJ3evXsTEBBA37592bJlC4sWLWLw4MHcf//9zq+hikvnzp355JNPWLZsGZs3b6Zv3745zsgU1fnPtGnTJpYtW8aQIUO45557nEsHjB07loSEBN566y127drF5s2b+fjjj3nzzTfd8v4i3kRFSEQK5Pnnn2fv3r3UrVuX8PBwwBz/smTJEnbt2kX79u25+uqree6555xnMvJy++2389hjjzFo0CCaN2/OypUrnbPJzrvrrru46aabuP766wkPD+fzzz/P8TpBQUH873//4/jx47Rs2ZIePXoQFxfHpEmT3PfB8zBy5Eg6duzIrbfeyi233EK3bt2oW7euW167Xr16dO/ena5du3LjjTfStGlTl+nxAwYM4MMPP+Tjjz+mSZMmdOzYkalTp1K7dm23vL+IN7EZF3/JLSIiIuIldEZIREREvJaKkIiIiHgtFSERERHxWipCIiIi4rVUhERERMRrqQiJiIiI11IREhEREa+lIiQiIiJeS0VIREREvJaKkIiIiHgtFSERERHxWipCIiIi4rX+H0HDQ1UntDG8AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "\n", - "df = pd.DataFrame(job.metrics())\n", - "df.sort_values(by=[\"iteration_number\"], inplace=True)\n", - "\n", - "plt.plot(df[\"iteration_number\"], df[\"expval\"], \"-o\", color=\"orange\")\n", - "plt.xlabel(\"iteration number\")\n", - "plt.ylabel(\"expectation value\")\n", - "plt.title(\"Simulator results\")\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running on a QPU with priority\n", - "\n", - "The next step is to see how well the qubit rotation works on a real QPU. We\n", - "create a hybrid job with the Rigetti device as the priority QPU. We also increase the number of\n", - "steps to 10.\n", - "\n", - "Using hybrid jobs for iterative algorithms is very beneficial because you retain priority access to the\n", - "target QPU. So once your quantum tasks are created in the hybrid job, they run ahead of other tasks\n", - "waiting in the *quantum task queue*. This means your\n", - "algorithm will not be interrupted by other quantum tasks, so it will run more efficiently and\n", - "predictably. Quantum tasks submitted as part of a hybrid job have priority, and are aggregated in the *priority task queue*.\n", - "\n", - "Hybrid jobs have their own *hybrid jobs queue* so that only a single\n", - "hybrid job can run on a QPU at a time. Each QPU has its own hybrid jobs queue. Note that this is a different queue from the quantum tasks. For a single quantum circuit, or a batch of circuit, it’s\n", - "recommended to create quantum tasks instead of hybrid jobs. For more information on quantum tasks and hybrid jobs queue see the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/latest/developerguide/braket-task-when.html).\n", - "\n", - "To get QPU priority, you must ensure that the device ARN used within the function matches that\n", - "specified in the decorator. For convenience, you can use the helper function ``get_device_arn()`` to\n", - "automatically capture the device ARN declared in ``@hybrid_job``.\n", - "\n", - "
\n", - " Note: Only hybrid jobs running on AWS receive priority. Hybrid jobs running locally, or with a mismatched device ARN do not get priority task queueing. \n", - "
\n", - "\n", - "In the previous example, we declared the local simulator outside the decorated function scope.\n", - "However, for AWS devices such as QPUs or on-demand simulators, the device must be declared within the function scope. \n", - "\n", - "
\n", - " Note: AWS devices must be declared within the body of the decorated function.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.devices import Devices\n", - "\n", - "\n", - "device_arn = Devices.Rigetti.Ankaa2\n", - "\n", - "\n", - "@hybrid_job(device=device_arn) # set priority QPU\n", - "def qpu_qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5):\n", - " # AWS devices must be declared within the decorated function.\n", - " device = qml.device(\n", - " \"braket.aws.qubit\",\n", - " device_arn=device_arn.value, # Make sure the device ARN matches the hybrid job device ARN\n", - " wires=2,\n", - " shots=1_000,\n", - " )\n", - "\n", - " @qml.qnode(device)\n", - " def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=0)\n", - " return qml.expval(qml.PauliZ(0))\n", - "\n", - " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", - " params = np.array([0.5, 0.75])\n", - "\n", - " for i in range(num_steps):\n", - " # update the circuit parameters\n", - " params = opt.step(circuit, params)\n", - " expval = circuit(params)\n", - "\n", - " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", - "\n", - " return params" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To get a sense of how long we will wait before the hybrid job runs, we can check the hybrid job\n", - "queue depth with `AwsDevice(device_arn).queue_depth().jobs`. We can also check if the device is\n", - "currently available with `AwsDevice(device_arn).is_available()`.\n", - "\n", - "You can check the queue depth on the devices page of the [Amazon Braket Console](https://console.aws.amazon.com/braket/home). Below, we show the devices page for Rigetti Ankaa-2.\n", - "\n", - "![Rigetti Ankaa-2 showing the queue depths.](console_figures/queue_viz.png)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "When there are no other hybrid jobs in the queue ahead of you, and the device is available, the hybrid job will start running.\n", - "\n", - "
\n", - " Note: Running the following cell will only run once the QPU is available. This may take a long time and will result in usage fees charged to your AWS account. Only run the cell if you are comfortable with the potential wait-time and costs. We recommend monitoring the Billing & Cost Management Dashboard on the AWS console.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:318845237731:job/qpu-qubit-rotation-hybrid-job-1700084458165')\n" - ] - } - ], - "source": [ - "qpu_job = qpu_qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5)\n", - "print(qpu_job)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we wait for the algorithm to complete and download the result. " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'result': tensor([0.0205, 3.1065], requires_grad=True)}" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qpu_job.result()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we plot the expectation value per iteration number below. We see that on a real QPU, the data is not as smooth as the simulator, but the minimum still is detected correctly!" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'timestamp': [1700084730.969484, 1700084698.0504165, 1700084679.9848497, 1700084664.1287766, 1700084648.2972944, 1700084632.2871127, 1700084616.684862], 'expval': [-0.972, -0.784, -0.548, -0.36, -0.07, 0.11, 0.388], 'iteration_number': [7.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0]}\n" - ] - } - ], - "source": [ - "# May need to wait a bit before metrics show up\n", - "# If metrics aren't there, try again after 5 seconds\n", - "import time\n", - "\n", - "time.sleep(10)\n", - "print(qpu_job.metrics())" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "df = pd.DataFrame(qpu_job.metrics())\n", - "df.sort_values(by=[\"iteration_number\"], inplace=True)\n", - "\n", - "plt.plot(df[\"iteration_number\"], df[\"expval\"], \"-o\", color=\"teal\")\n", - "plt.xlabel(\"iteration number\")\n", - "plt.ylabel(\"expectation value\")\n", - "plt.title(\"QPU results\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - " Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. \n", - " Estimated charges shown may differ from your actual charges. \n", - " Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2)\n", - " Estimated cost to run this example is $39 USD.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Conclusion\n", - "\n", - "In this tutorial, we showed how to migrate from local Python functions to running algorithms on simulators and QPUs on Amazon Braket.\n", - "We adapted the simple example of rotating a qubit using gradient descent, running this on both a\n", - "local simulator and a real QPU. \n", - "Using Amazon Braket Hybrid Jobs allowed us to run algorithms asynchronously, scale classical compute using AWS, and obtain priority access to the selected QPU for the duration of our algorithm." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "conda_braket", - "language": "python", - "name": "conda_braket" - }, - "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.13" - } + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Creating your first Hybrid Job\n", + "\n", + "\n", + "This tutorial provides an introduction to running hybrid quantum-classical algorithms using\n", + "PennyLane on Amazon Braket . With Amazon Braket, you gain access to both real quantum devices and\n", + "scalable classical compute, enabling you to push the boundaries of your algorithm.\n", + "\n", + "In this tutorial, we'll walk through how to create your first hybrid quantum-classical algorithms on AWS.\n", + "With a single line of code, we'll see how to scale from PennyLane simulators on your laptop to running full-scale experiments on AWS that leverage both powerful classical compute and quantum devices.\n", + "You'll gain understanding of the hybrid jobs queue, including QPU priority queuing, and learn how to scale classical resources for resource-intensive tasks. \n", + "We hope these tools will empower you to start experimenting today with hybrid quantum algorithms!\n", + "\n", + "\n", + "\n", + "## Amazon Braket Hybrid Jobs\n", + "\n", + "Amazon Braket Hybrid Jobs offers a way for you to run hybrid quantum-classical algorithms that\n", + "require both classical resources and quantum processing units (QPUs). Hybrid Jobs is designed to\n", + "spin up the requested classical compute, run your algorithm, and release the instances after\n", + "completion so you only pay for what you use. This workflow is ideal for long-running iterative\n", + "algorithms involving both classical and quantum resources. Simply package up your code into a single\n", + "function, create a hybrid job with a single line of code, and Braket will schedule it to run as soon\n", + "as possible without interruption.\n", + "\n", + "Hybrid jobs have a separate queue from quantum tasks, so once your algorithm starts running, it will\n", + "not be interrupted by variations in the quantum task queue. This helps your long-running algorithms\n", + "run efficiently and predictably. Any quantum tasks created from a running hybrid job will be run\n", + "before any other quantum tasks in the queue. This is particularly beneficial for iterative hybrid\n", + "algorithms where subsequent tasks depend on the outcomes of prior quantum tasks. Examples of such\n", + "algorithms include the Quantum Approximate Optimization Algorithm (QAOA), Variational Quantum\n", + "Eigensolver (VQE), or Quantum Machine Learning (QML). You can also monitor your algorithm's progress in near-real\n", + "time, enabling you to keep track of costs, budget, or custom metrics such as training loss or\n", + "expectation values.\n", + "\n", + "Importantly, on specific QPUs, running your algorithm in Hybrid Jobs benefits from [parametric compilation](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-parametric-compilation.html). \n", + "This reduces the overhead associated with the computationally expensive compilation step by compiling a circuit only once and not for every iteration in your hybrid algorithm. \n", + "This reduces the total runtime for many variational algorithms by up to 10x.\n", + "For long-running hybrid jobs, Braket automatically uses the updated calibration data from the hardware provider when compiling your circuit to ensure the highest quality results.\n", + "\n", + "## Getting started with PennyLane\n", + "\n", + "\n", + "Let’s setup an algorithm that makes use of both classical and quantum resources. We adapt the [PennyLane qubit rotation tutorial](https://pennylane.ai/qml/demos/tutorial_qubit_rotation).\n", + "\n", + "First, we define a quantum simulator to run the algorithm on. In this example, we will use the Braket local simulator before moving onto a QPU." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pennylane as qml\n", + "from pennylane import numpy as np\n", + "\n", + "device = qml.device(\"braket.local.qubit\", wires=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we define a circuit with two rotation gates and measure the expectation value in the $Z$-basis" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "@qml.qnode(device)\n", + "def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=0)\n", + " return qml.expval(qml.PauliZ(0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we create a classical-quantum loop that uses gradient descent to minimize the expectation value.\n", + "\n", + "We add the ``log_metric`` function from Braket to record the training progress (see [metrics\n", + "documentation](https://amazon-braket-sdk-python.readthedocs.io/en/stable/_apidoc/braket.jobs.metrics.html)).\n", + "When running on AWS, ``log_metric`` records the metrics in [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/), which is accessible\n", + "through the Braket console page or the Braket SDK. When running locally on your laptop,\n", + "``log_metric`` prints the iteration numbers.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.jobs.metrics import log_metric\n", + "\n", + "\n", + "def qubit_rotation(num_steps=10, stepsize=0.5):\n", + " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", + " params = np.array([0.5, 0.75])\n", + "\n", + " for i in range(num_steps):\n", + " # update the circuit parameters\n", + " params = opt.step(circuit, params)\n", + " expval = circuit(params)\n", + "\n", + " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", + "\n", + " return params" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To run the entire algorithm, we call the `qubit_rotation`` function to see that it runs correctly." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Metrics - timestamp=1700084056.91118; expval=0.38894534132396147; iteration_number=0;\n", + "Metrics - timestamp=1700084056.9852457; expval=0.12290715413453956; iteration_number=1;\n", + "Metrics - timestamp=1700084057.0590365; expval=-0.09181374013482171; iteration_number=2;\n", + "Metrics - timestamp=1700084057.128326; expval=-0.2936094099948542; iteration_number=3;\n", + "Metrics - timestamp=1700084057.1863492; expval=-0.5344079938678078; iteration_number=4;\n" + ] }, - "nbformat": 4, - "nbformat_minor": 4 + { + "data": { + "text/plain": [ + "tensor([0.67679672, 2.32609342], requires_grad=True)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qubit_rotation(5, stepsize=0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Great! We see the expectation value change with each iteration number and the final parameters were returned as a list. Now, instead of running on our laptop, let’s submit this same function to be run on AWS." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running as a hybrid job\n", + "\n", + "You can execute long-running algorithms asynchronously with Amazon Braket Hybrid Jobs, \n", + "which fully manages the classical infrastructure so you can focus on the algorithm. For example, you\n", + "can train a larger circuit, or increase the number of iterations. Note that each hybrid job has\n", + "at least a one minute startup time since it creates a containerized environment on Amazon EC2. So\n", + "for very short workloads, such as a single circuit or a batch of circuits, it may suffice for you to\n", + "use quantum tasks.\n", + "\n", + "We now show how you can go from running your local Python function to running it as a hybrid job.\n", + "\n", + "
\n", + " Note: Only Python 3.10 is supported by default. For other versions, you may use hybrid job scripts, or specify a custom container image from Amazon Elastic Container Registry (ECR) (see \n", + "containers documentation).\n", + "
\n", + "\n", + "\n", + "The first step to creating a hybrid job is to annotate which function you want to run with the\n", + "`@hybrid_job` decorator. Then you create the job by invoking the function as you would for normal\n", + "Python functions. However, the decorated function returns the hybrid job handle rather than the\n", + "result of the function. To retrieve the results after it has been completed, use `job.result()`.\n", + "\n", + "For algorithms that do not need priority queueing or scheduling for on-demand QPUs, you may specify the device as `local:/` or simply `None`. For example, when using a simulator that runs on the same classical host alongside the rest of your algorithm, such as the PennyLane Lightning CPU/GPU simulators, you may set `device=\"local:pennylane/lightning.qubit\"`. \n", + "\n", + "\n", + "The required device argument in the `@hybrid_job` decorator specifies the QPU that the hybrid job\n", + "will have priority access to.\n", + "The device string you give is accessible in the hybrid job instance as the environment variable ``\"AMZN_BRAKET_DEVICE_ARN\"``.\n", + "In the following code, we annotate the `qubit_rotation` function from above.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.jobs import hybrid_job\n", + "\n", + "\n", + "@hybrid_job(device=\"local:braket/default\")\n", + "def qubit_rotation_hybrid_job(num_steps=1, stepsize=0.5):\n", + " device = qml.device(\"braket.local.qubit\", wires=1)\n", + "\n", + " @qml.qnode(device)\n", + " def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=0)\n", + " return qml.expval(qml.PauliZ(0))\n", + "\n", + " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", + " params = np.array([0.5, 0.75])\n", + "\n", + " for i in range(num_steps):\n", + " # update the circuit parameters\n", + " params = opt.step(circuit, params)\n", + " expval = circuit(params)\n", + "\n", + " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", + "\n", + " return params" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we create a hybrid job by calling the function as usual. This returns an `AwsQuantumJob` object that contains the device ARN, region, and job name." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:318845237731:job/qubit-rotation-hybrid-job-1700084057462')\n" + ] + } + ], + "source": [ + "job = qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5)\n", + "print(job)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The hybrid job automatically captures the function arguments as [hyperparameters](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-hyperparameters.html).\n", + "In this case, we set `num_steps = 10` and `stepsize = 0.5` as the hyperparameters." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can check the status with:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'QUEUED'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job.state()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once the hybrid job starts, it will change the status to `RUNNING`. We can also check the hybrid job status in the Braket console.\n", + "\n", + "We can monitor the metrics in near-real time in the [Braket console page](https://console.aws.amazon.com/braket/) as shown below. \n", + "\n", + "![Training to minimize an expectation value.](console_figures/expval.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After the hybrid job completes, we can get the results with `job.result()`. For this example, it should take approximately 2 minutes." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'result': tensor([0.03642036, 3.10081929], requires_grad=True)}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job.result()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Any objects in the return statement are automatically captured by Braket. Note that the objects returned by the function must be a tuple with each element being serializable as text. \n", + "\n", + "Additionally, we can plot the metrics recording during the algorithm. Below we show the expectation value decreases with each iteration as expected." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'timestamp': [1700084189.268808, 1700084189.3246114, 1700084189.3840628, 1700084189.1557567, 1700084189.2123241, 1700084188.8748374, 1700084188.9313, 1700084188.9881024, 1700084189.0439024, 1700084189.099711], 'expval': [-0.9771543186187628, -0.9940804663947356, -0.9985062848699056, -0.7715298984378987, -0.9193547392516985, 0.38894534132396147, 0.12290715413453956, -0.09181374013482171, -0.2936094099948542, -0.5344079938678078], 'iteration_number': [7.0, 8.0, 9.0, 5.0, 6.0, 0.0, 1.0, 2.0, 3.0, 4.0]}\n" + ] + } + ], + "source": [ + "# May need to wait a bit before metrics show up\n", + "# If metrics aren't there, try again after 5 seconds\n", + "import time\n", + "\n", + "time.sleep(10)\n", + "print(job.metrics())" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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5ntMnz592LlzJ7Nnz2bz5s10796de+65hw0bNpRQahHxStHdof0sCKruuj2oBrT9Epo8DzYf+P0z+KEZHF1hTU4R8YwFFbdv307Dhg1Zs2YNsbGxAMybN4+uXbty4MABoqKicj2uQoUKvPfee9x///3ObZUrV+aVV15hwIABBXpvLagoIkXmyP5rFtlhc0xQeHvzjBHAsZ/N65Kl7zGvZN/oWWg8Cuy+1mYWKSPK1IKKiYmJhIaGOksQQHx8PHa7nVWrVuV5XJs2bZgxYwbHjx/H4XDwxRdfcObMGTp16pTnMWfPniUtLc3lJiJSJHYfiOwEMb3Mn+dLEECV66DrRoi531x7aMvz8FMHOLXborAi3skjilBycjIREREu23x9fQkLCyM5OTnP47788kvOnTtH5cqV8ff35+GHH+abb76hXr16eR6TkJBASEiI8xYdHe22zyEi4qJcMLT5D7T5DMqFwLFEmNsc9nxqdTIRr2FpERoxYgQ2my3f244dO4r8+qNGjeLEiRP89NNPrF27luHDh3PPPfeweXNeq77CyJEjSU1Ndd72799f5PcXESmQmF7QdROEt4Osk5B4vwZSi5QQS8cIHT16lD/++CPfferUqcOnn37K448/zp9//uncnpWVRUBAADNnzuTOO+/McVxSUhL16tVjy5YtNGrUyLk9Pj6eevXqMXny5AJl1BghESkxjizYmgBbxoKRDeVjzCvah7e1OpmIxyno329LR+WFh4cTHh5+yf1at27NiRMnWLduHS1atABg4cKFOBwOWrVqlesxGRkZANjtrie9fHx8cDgcl5lcRKQY2H2hySioGg8re5sDqX/qAI1GQeNnNZBapBh4xBihBg0acNNNN/HQQw+xevVqVqxYwaBBg7j33nudM8YOHjxI/fr1Wb16NQD169enXr16PPzww6xevZqkpCTeeOMN5s+fT7du3Sz8NCIilxDe+qKB1GP/Gki9x+pkImWORxQhgOnTp1O/fn3i4uLo2rUr7dq144MPPnA+f+7cOXbu3Ok8E1SuXDnmzp1LeHg4t912G02bNuU///kP06ZNo2vXrlZ9DBGRgnEZSB3810DqZhpILeJmHrGOkJU0RkhELHdqLyT+48LCi7Xug5bvgl+IpbFESrMytY6QiIhXqxADcYsvWpG6uVakFnEDFSEREU9wfiB1/DIoXxvS95rj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BSAlJYVq1S78QlNSUmjevHmex/n7++Pvrysbi4hIKWL3MWdULeuBObYpl7FOLSaUvjNcFytooQtvX2KRLC1C4eHhhIeHF8tr165dm6pVq7JgwQJn8UlLS2PVqlU88sgjxfKeIiIixcbKsU7uUgoLnceMEdq3bx/Hjx9n3759ZGdns3HjRgDq1atHhQoVAKhfvz4JCQnceeed2Gw2hg0bxgsvvMAVV1zhnD4fFRVFt27drPsgIiIiReUpY53yU8oKnccUoeeee45p06Y5H1999dUALFq0iE6dOgGwc+dOUlNTnfs89dRTpKenM3DgQE6cOEG7du2YN2+e1hASERHP5cljnc4rRYXO49YRKmlaR0hERMTzFPTvdy5reIuIiIh4BxUhERER8VoqQiIiIuK1VIRERETEa6kIiYiIiNdSERIRERGvpSIkIiIiXktFSERERLyWipCIiIh4LY+5xIZVzi+8nZaWZnESERERKajzf7cvdQENFaFLOHnyJADR0dEWJxEREZHCOnnyJCEhIXk+r2uNXYLD4eDQoUNUrFgRm83mttdNS0sjOjqa/fv36xpmpYT+TUoX/XuULvr3KF3073FphmFw8uRJoqKisNvzHgmkM0KXYLfbqVGjRrG9fnBwsP6PuJTRv0npon+P0kX/HqWL/j3yl9+ZoPM0WFpERES8loqQiIiIeC0VIYv4+/szevRo/P39rY4if9G/Semif4/SRf8epYv+PdxHg6VFRETEa+mMkIiIiHgtFSERERHxWipCIiIi4rVUhERERMRrqQhZ5J133iEmJoaAgABatWrF6tWrrY7klRISEmjZsiUVK1YkIiKCbt26sXPnTqtjyV9efvllbDYbw4YNszqKVzt48CD/+Mc/qFy5MoGBgTRp0oS1a9daHcsrZWdnM2rUKGrXrk1gYCB169Zl3Lhxl7yeluRNRcgCM2bMYPjw4YwePZr169fTrFkzunTpwpEjR6yO5nWWLFnCo48+ys8//8z8+fM5d+4cN954I+np6VZH83pr1qzh/fffp2nTplZH8Wp//vknbdu2pVy5cvzwww9s27aNN954g0qVKlkdzSu98sorvPfee0yaNInt27fzyiuv8Oqrr/L2229bHc1jafq8BVq1akXLli2ZNGkSYF7PLDo6msGDBzNixAiL03m3o0ePEhERwZIlS+jQoYPVcbzWqVOnuOaaa3j33Xd54YUXaN68ORMmTLA6llcaMWIEK1asYNmyZVZHEeDWW28lMjKSjz76yLntrrvuIjAwkE8//dTCZJ5LZ4RKWGZmJuvWrSM+Pt65zW63Ex8fT2JiooXJBCA1NRWAsLAwi5N4t0cffZRbbrnF5f9PxBqzZ88mNjaWu+++m4iICK6++mqmTJlidSyv1aZNGxYsWMCuXbsA2LRpE8uXL+fmm2+2OJnn0kVXS9ixY8fIzs4mMjLSZXtkZCQ7duywKJWAeWZu2LBhtG3blsaNG1sdx2t98cUXrF+/njVr1lgdRYDdu3fz3nvvMXz4cJ5++mnWrFnDkCFD8PPzo2/fvlbH8zojRowgLS2N+vXr4+PjQ3Z2Ni+++CK9e/e2OprHUhES+cujjz7Kli1bWL58udVRvNb+/fsZOnQo8+fPJyAgwOo4gvkfCLGxsbz00ksAXH311WzZsoXJkyerCFngyy+/ZPr06Xz22Wc0atSIjRs3MmzYMKKiovTvUUQqQiWsSpUq+Pj4kJKS4rI9JSWFqlWrWpRKBg0axJw5c1i6dCk1atSwOo7XWrduHUeOHOGaa65xbsvOzmbp0qVMmjSJs2fP4uPjY2FC71OtWjUaNmzosq1BgwZ89dVXFiXybk8++SQjRozg3nvvBaBJkyb8/vvvJCQkqAgVkcYIlTA/Pz9atGjBggULnNscDgcLFiygdevWFibzToZhMGjQIL755hsWLlxI7dq1rY7k1eLi4ti8eTMbN2503mJjY+nduzcbN25UCbJA27ZtcywpsWvXLmrVqmVRIu+WkZGB3e76p9vHxweHw2FRIs+nM0IWGD58OH379iU2NpZrr72WCRMmkJ6eTr9+/ayO5nUeffRRPvvsM7777jsqVqxIcnIyACEhIQQGBlqczvtUrFgxx/is8uXLU7lyZY3bsshjjz1GmzZteOmll7jnnntYvXo1H3zwAR988IHV0bzSbbfdxosvvkjNmjVp1KgRGzZs4M033+TBBx+0OprH0vR5i0yaNInXXnuN5ORkmjdvzltvvUWrVq2sjuV1bDZbrts//vhjHnjggZINI7nq1KmTps9bbM6cOYwcOZJff/2V2rVrM3z4cB566CGrY3mlkydPMmrUKL755huOHDlCVFQUvXr14rnnnsPPz8/qeB5JRUhERES8lsYIiYiIiNdSERIRERGvpSIkIiIiXktFSERERLyWipCIiIh4LRUhERER8VoqQiIiIuK1VIREJFedOnVi2LBhVsfIwWaz8e2331odo9iMGTOG5s2bWx1DxGuoCIlIrr7++mvGjRvnfBwTE1OiqzvnVQgOHz7MzTffXGI5RKRs07XGRCRXYWFhxfK6mZmZl3UpgKpVq7oxjfc4d+4c5cqVszqGSKmjM0Iikqu/fzXWqVMnfv/9dx577DFsNpvLNdqWL19O+/btCQwMJDo6miFDhpCenu58PiYmhnHjxtGnTx+Cg4MZOHAgAP/617+48sorCQoKok6dOowaNYpz584BMHXqVMaOHcumTZuc7zd16lQg51djmzdvpnPnzgQGBlK5cmUGDhzIqVOnnM8/8MADdOvWjddff51q1apRuXJlHn30Ued75eb82ahPPvmEmJgYQkJCuPfeezl58qTL57r4DFnz5s0ZM2aM87HNZuP999/n1ltvJSgoiAYNGpCYmMhvv/1Gp06dKF++PG3atCEpKSlHhvfff5/o6GiCgoK45557SE1NdXn+ww8/pEGDBgQEBFC/fn3effdd53N79+7FZrMxY8YMOnbsSEBAANOnT8/z84p4MxUhEbmkr7/+mho1avD8889z+PBhDh8+DEBSUhI33XQTd911F7/88gszZsxg+fLlDBo0yOX4119/nWbNmrFhwwZGjRoFmFeanzp1Ktu2bWPixIlMmTKF8ePHA9CzZ08ef/xxGjVq5Hy/nj175siVnp5Oly5dqFSpEmvWrGHmzJn89NNPOd5/0aJFJCUlsWjRIqZNm8bUqVOdxSovSUlJfPvtt8yZM4c5c+awZMkSXn755UL/7s6XwI0bN1K/fn3uu+8+Hn74YUaOHMnatWsxDCNH3t9++40vv/yS//73v8ybN48NGzbwz3/+0/n89OnTee6553jxxRfZvn07L730EqNGjWLatGkurzNixAiGDh3K9u3b6dKlS6Gzi3gFQ0QkFx07djSGDh3qfFyrVi1j/PjxLvv079/fGDhwoMu2ZcuWGXa73Th9+rTzuG7dul3y/V577TWjRYsWzsejR482mjVrlmM/wPjmm28MwzCMDz74wKhUqZJx6tQp5/Pff/+9YbfbjeTkZMMwDKNv375GrVq1jKysLOc+d999t9GzZ888s4wePdoICgoy0tLSnNuefPJJo1WrVs7Huf0+mjVrZowePdol67PPPut8nJiYaADGRx995Nz2+eefGwEBAS7v7ePjYxw4cMC57YcffjDsdrtx+PBhwzAMo27dusZnn33m8t7jxo0zWrdubRiGYezZs8cAjAkTJuT5GUXEpDFCIlJkmzZt4pdffnH52sUwDBwOB3v27KFBgwYAxMbG5jh2xowZvPXWWyQlJXHq1CmysrIIDg4u1Ptv376dZs2aUb58eee2tm3b4nA42LlzJ5GRkQA0atQIHx8f5z7VqlVj8+bN+b52TEwMFStWdDnmyJEjhcoH0LRpU+f983maNGnisu3MmTOkpaU5P3/NmjWpXr26c5/WrVs7P1PFihVJSkqif//+PPTQQ859srKyCAkJcXnv3H7vIuJKRUhEiuzUqVM8/PDDDBkyJMdzNWvWdN7/e1EBSExMpHfv3owdO5YuXboQEhLCF198wRtvvFEsOS8eJGyz2XA4HJd1jN1uxzAMl31yG3f099c5P7Yqt22XynPe+fFPU6ZMoVWrVi7P/b3sQc7fu4jkpCIkIgXi5+dHdna2y7ZrrrmGbdu2Ua9evUK91sqVK6lVqxbPPPOMc9vvv/9+yfe7WIMGDZg6dSrp6enOP/orVqzAbrdz1VVXFSpTYYWHhzvHSgGkpaWxZ88et7z2vn37OHToEFFRUQD8/PPPzs8UGRlJVFQUu3fvpnfv3m55PxFvpsHSIlIgMTExLF26lIMHD3Ls2DHAnPm1cuVKBg0axMaNG/n111/57rvvcgz+vdgVV1zBvn37+OKLL0hKSuKtt97im2++yfF+e/bsYePGjRw7doyzZ8/meJ3evXsTEBBA37592bJlC4sWLWLw4MHcf//9zq+hikvnzp355JNPWLZsGZs3b6Zv3745zsgU1fnPtGnTJpYtW8aQIUO45557nEsHjB07loSEBN566y127drF5s2b+fjjj3nzzTfd8v4i3kRFSEQK5Pnnn2fv3r3UrVuX8PBwwBz/smTJEnbt2kX79u25+uqree6555xnMvJy++2389hjjzFo0CCaN2/OypUrnbPJzrvrrru46aabuP766wkPD+fzzz/P8TpBQUH873//4/jx47Rs2ZIePXoQFxfHpEmT3PfB8zBy5Eg6duzIrbfeyi233EK3bt2oW7euW167Xr16dO/ena5du3LjjTfStGlTl+nxAwYM4MMPP+Tjjz+mSZMmdOzYkalTp1K7dm23vL+IN7EZF3/JLSIiIuIldEZIREREvJaKkIiIiHgtFSERERHxWipCIiIi4rVUhERERMRrqQiJiIiI11IREhEREa+lIiQiIiJeS0VIREREvJaKkIiIiHgtFSERERHxWipCIiIi4rX+H0HDQ1UntDG8AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "df = pd.DataFrame(job.metrics())\n", + "df.sort_values(by=[\"iteration_number\"], inplace=True)\n", + "\n", + "plt.plot(df[\"iteration_number\"], df[\"expval\"], \"-o\", color=\"orange\")\n", + "plt.xlabel(\"iteration number\")\n", + "plt.ylabel(\"expectation value\")\n", + "plt.title(\"Simulator results\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running on a QPU with priority\n", + "\n", + "The next step is to see how well the qubit rotation works on a real QPU. We\n", + "create a hybrid job with the Rigetti device as the priority QPU. We also increase the number of\n", + "steps to 10.\n", + "\n", + "Using hybrid jobs for iterative algorithms is very beneficial because you retain priority access to the\n", + "target QPU. So once your quantum tasks are created in the hybrid job, they run ahead of other tasks\n", + "waiting in the *quantum task queue*. This means your\n", + "algorithm will not be interrupted by other quantum tasks, so it will run more efficiently and\n", + "predictably. Quantum tasks submitted as part of a hybrid job have priority, and are aggregated in the *priority task queue*.\n", + "\n", + "Hybrid jobs have their own *hybrid jobs queue* so that only a single\n", + "hybrid job can run on a QPU at a time. Each QPU has its own hybrid jobs queue. Note that this is a different queue from the quantum tasks. For a single quantum circuit, or a batch of circuit, it’s\n", + "recommended to create quantum tasks instead of hybrid jobs. For more information on quantum tasks and hybrid jobs queue see the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/latest/developerguide/braket-task-when.html).\n", + "\n", + "To get QPU priority, you must ensure that the device ARN used within the function matches that\n", + "specified in the decorator. For convenience, you can use the helper function ``get_device_arn()`` to\n", + "automatically capture the device ARN declared in ``@hybrid_job``.\n", + "\n", + "
\n", + " Note: Only hybrid jobs running on AWS receive priority. Hybrid jobs running locally, or with a mismatched device ARN do not get priority task queueing. \n", + "
\n", + "\n", + "In the previous example, we declared the local simulator outside the decorated function scope.\n", + "However, for AWS devices such as QPUs or on-demand simulators, the device must be declared within the function scope. \n", + "\n", + "
\n", + " Note: AWS devices must be declared within the body of the decorated function.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.devices import Devices\n", + "\n", + "device_arn = Devices.Rigetti.Ankaa2\n", + "\n", + "\n", + "@hybrid_job(device=device_arn) # set priority QPU\n", + "def qpu_qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5):\n", + " # AWS devices must be declared within the decorated function.\n", + " device = qml.device(\n", + " \"braket.aws.qubit\",\n", + " device_arn=device_arn.value, # Make sure the device ARN matches the hybrid job device ARN\n", + " wires=2,\n", + " shots=1_000,\n", + " )\n", + "\n", + " @qml.qnode(device)\n", + " def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=0)\n", + " return qml.expval(qml.PauliZ(0))\n", + "\n", + " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", + " params = np.array([0.5, 0.75])\n", + "\n", + " for i in range(num_steps):\n", + " # update the circuit parameters\n", + " params = opt.step(circuit, params)\n", + " expval = circuit(params)\n", + "\n", + " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", + "\n", + " return params" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To get a sense of how long we will wait before the hybrid job runs, we can check the hybrid job\n", + "queue depth with `AwsDevice(device_arn).queue_depth().jobs`. We can also check if the device is\n", + "currently available with `AwsDevice(device_arn).is_available()`.\n", + "\n", + "You can check the queue depth on the devices page of the [Amazon Braket Console](https://console.aws.amazon.com/braket/home). Below, we show the devices page for Rigetti Ankaa-2.\n", + "\n", + "![Rigetti Ankaa-2 showing the queue depths.](console_figures/queue_viz.png)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "When there are no other hybrid jobs in the queue ahead of you, and the device is available, the hybrid job will start running.\n", + "\n", + "
\n", + " Note: Running the following cell will only run once the QPU is available. This may take a long time and will result in usage fees charged to your AWS account. Only run the cell if you are comfortable with the potential wait-time and costs. We recommend monitoring the Billing & Cost Management Dashboard on the AWS console.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:318845237731:job/qpu-qubit-rotation-hybrid-job-1700084458165')\n" + ] + } + ], + "source": [ + "qpu_job = qpu_qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5)\n", + "print(qpu_job)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we wait for the algorithm to complete and download the result. " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'result': tensor([0.0205, 3.1065], requires_grad=True)}" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qpu_job.result()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we plot the expectation value per iteration number below. We see that on a real QPU, the data is not as smooth as the simulator, but the minimum still is detected correctly!" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'timestamp': [1700084730.969484, 1700084698.0504165, 1700084679.9848497, 1700084664.1287766, 1700084648.2972944, 1700084632.2871127, 1700084616.684862], 'expval': [-0.972, -0.784, -0.548, -0.36, -0.07, 0.11, 0.388], 'iteration_number': [7.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0]}\n" + ] + } + ], + "source": [ + "# May need to wait a bit before metrics show up\n", + "# If metrics aren't there, try again after 5 seconds\n", + "import time\n", + "\n", + "time.sleep(10)\n", + "print(qpu_job.metrics())" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.DataFrame(qpu_job.metrics())\n", + "df.sort_values(by=[\"iteration_number\"], inplace=True)\n", + "\n", + "plt.plot(df[\"iteration_number\"], df[\"expval\"], \"-o\", color=\"teal\")\n", + "plt.xlabel(\"iteration number\")\n", + "plt.ylabel(\"expectation value\")\n", + "plt.title(\"QPU results\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. \n", + " Estimated charges shown may differ from your actual charges. \n", + " Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2)\n", + " Estimated cost to run this example is $39 USD.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion\n", + "\n", + "In this tutorial, we showed how to migrate from local Python functions to running algorithms on simulators and QPUs on Amazon Braket.\n", + "We adapted the simple example of rotating a qubit using gradient descent, running this on both a\n", + "local simulator and a real QPU. \n", + "Using Amazon Braket Hybrid Jobs allowed us to run algorithms asynchronously, scale classical compute using AWS, and obtain priority access to the selected QPU for the duration of our algorithm." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "conda_braket", + "language": "python", + "name": "conda_braket" + }, + "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.13" + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb b/examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb index 908f97da..8878536f 100644 --- a/examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb +++ b/examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb @@ -1,602 +1,610 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Getting started with Amazon Braket Hybrid Jobs\n", - "\n", - "This tutorial shows how to run your first Amazon Braket Hybrid Job. To get started, we consider small circuits with only one qubit and one gate.\n", - "\n", - "\n", - "## Learning outcomes\n", - "* Get setup to run your first hybrid job\n", - "* Write an algorithm script to run on Braket Hybrid Jobs\n", - "* Understand how to run scripts or functions\n", - "* Create a hybrid job on Braket simulators or QPUs\n", - "* Monitoring the hybrid job state\n", - "* Save results from a hybrid job\n", - "* Using a specific AWS session\n", - "* Running hybrid jobs with priority on QPUs\n", - "* Use local hybrid jobs to quickly test and debug scripts\n", - "* Create a Braket Hybrid Job using the Braket console" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting setup to run Braket Hybrid Jobs\n", - "\n", - "When you use Amazon Braket Hybrid Jobs for the first time, you need to create an IAM role with the right [permissions](https://docs.aws.amazon.com/braket/latest/developerguide/braket-manage-access.html#about-amazonbraketjobsexecution). This role allows your hybrid job to perform actions on your behalf while it is executing your algorithm, for instance, access S3 to return the results of your hybrid job. To create the role or check if you already have one please visit the Permissions tab from the left menu of the Braket Console.\n", - "\n", - "## Writing an algorithm script\n", - "\n", - "To create a Braket Hybrid Job, you first need a Python script to run. In this example, it's contained in `algorithm_script.py`. The script is printed in the code cell below for convenience. \n", - "\n", - "As shown, each of the circuits has only one $X$ rotation gate with a random angle. The circuit is repeated five times with different random rotations. Note that the algorithm script does not specify the backend Amazon Braket device ARN explicitly. Instead, it is provided through environment variables such as `os.environ[\"AMZN_BRAKET_DEVICE_ARN\"]` that are passed to the algorithm script when creating the hybrid job. " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "#### This block is a copy of the algorithm script.\n", - "\n", - "```python\n", - "\n", - "import os\n", - "import numpy as np\n", - "\n", - "from braket.aws import AwsDevice\n", - "from braket.circuits import Circuit\n", - "from braket.jobs import save_job_result\n", - "from braket.tracking import Tracker\n", - "\n", - "t = Tracker().start()\n", - "\n", - "print(\"Test hybrid job started!\")\n", - "\n", - "# Use the device declared in the creation script\n", - "device = AwsDevice(os.environ[\"AMZN_BRAKET_DEVICE_ARN\"])\n", - "\n", - "counts_list = []\n", - "angle_list = []\n", - "for _ in range(5):\n", - " angle = np.pi * np.random.randn()\n", - " random_circuit = Circuit().rx(0, angle)\n", - "\n", - " task = device.run(random_circuit, shots=100)\n", - " counts = task.result().measurement_counts\n", - "\n", - " angle_list.append(angle)\n", - " counts_list.append(counts)\n", - " print(counts)\n", - "\n", - "# Save the variables of interest so that we can access later\n", - "save_job_result({\"counts\": counts_list, \"angle\": angle_list, \"estimated cost\": t.qpu_tasks_cost() + t.simulator_tasks_cost()})\n", - "\n", - "print(\"Test hybrid job completed!\")\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating your first hybrid job\n", - "\n", - "Once the script is finalized, you can create a Braket Hybrid Job with `AwsQuantumJob`. When the hybrid job is created, Amazon Braket starts the hybrid job instance (based on EC2) and spins up a Docker container to run your algorithm script. Other configurations can be specified via keyword arguments. See the [developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/what-is-braket.html) and other example notebooks to learn more about how to customize your jobs\n", - "\n", - "This example uses the following inputs for `AwsQuantumJob`:\n", - "- device: The ARN of the Braket simulator or QPU to use in the hybrid job. It will be passed as an environment variable to the algorithm script. \n", - "- source_module: The path to a file or a Python module that contains your algorithm script. It will be uploaded to the container for running the Braket Hybrid Job.\n", - "- wait_until_complete (optional): If True, the function call will wait until the Braket Hybrid Job is completed and will additionally print logs to the local console. Otherwise, it will run asynchronously. The default is False." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.aws import AwsDevice, AwsQuantumJob\n", - "from braket.devices import Devices" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Initializing Braket Job: arn:aws:braket:::job/\n", - "...............................................\n", - "\u001b[34m2021-11-10 20:55:24,467 sagemaker-training-toolkit INFO Invoking user script\u001b[0m\n", - "\u001b[34mTraining Env:\u001b[0m\n", - "\u001b[34m{\n", - " \"additional_framework_parameters\": {},\n", - " \"channel_input_dirs\": {},\n", - " \"current_host\": \"algo-1\",\n", - " \"framework_module\": null,\n", - " \"hosts\": [\n", - " \"algo-1\"\n", - " ],\n", - " \"hyperparameters\": {},\n", - " \"input_config_dir\": \"/opt/ml/input/config\",\n", - " \"input_data_config\": {},\n", - " \"input_dir\": \"/opt/ml/input\",\n", - " \"is_master\": true,\n", - " \"job_name\": \"BraketJob--\",\n", - " \"log_level\": 20,\n", - " \"master_hostname\": \"algo-1\",\n", - " \"model_dir\": \"/opt/ml/model\",\n", - " \"module_dir\": \"/opt/ml/code\",\n", - " \"module_name\": \"braket_container\",\n", - " \"network_interface_name\": \"eth0\",\n", - " \"num_cpus\": 2,\n", - " \"num_gpus\": 0,\n", - " \"output_data_dir\": \"/opt/ml/output/data\",\n", - " \"output_dir\": \"/opt/ml/output\",\n", - " \"output_intermediate_dir\": \"/opt/ml/output/intermediate\",\n", - " \"resource_config\": {\n", - " \"current_host\": \"algo-1\",\n", - " \"hosts\": [\n", - " \"algo-1\"\n", - " ],\n", - " \"network_interface_name\": \"eth0\"\n", - " },\n", - " \"user_entry_point\": \"braket_container.py\"\u001b[0m\n", - "...............................................\n", - "...............................................\n", - "\u001b[34mRunning Code As Subprocess\u001b[0m\n", - "\u001b[34mTest job started!!!!!\u001b[0m\n", - "\u001b[34mCounter({'0': 88, '1': 12})\u001b[0m\n", - "\u001b[34mCounter({'1': 58, '0': 42})\u001b[0m\n", - "\u001b[34mCounter({'1': 54, '0': 46})\u001b[0m\n", - "\u001b[34mCounter({'0': 100})\u001b[0m\n", - "\u001b[34mCounter({'0': 100})\u001b[0m\n", - "\u001b[34mTest job completed!!!!!\u001b[0m\n", - "\u001b[34mCode Run Finished\u001b[0m\n", - "\u001b[34m2021-11-10 20:55:58,953 sagemaker-training-toolkit INFO Reporting training SUCCESS\u001b[0m\n" - ] - } - ], - "source": [ - "# This cell should take about 5 mins\n", - "job = AwsQuantumJob.create(\n", - " device=Devices.Amazon.SV1,\n", - " source_module=\"algorithm_script.py\",\n", - " wait_until_complete=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this example, the algorithm is defined by a single file, so the `source_module` is `algorithm_script.py`. Depending on your application, there are other options for setting the source module. For example, if you wish to only execute a part of `algorithm_script.py` at the start of a Braket Hybrid Job, you can package that part to be a `starting_function()`. Then assign the function as the entry point by adding the `entry_point` input argument." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "source_module = \"algorithm_script.py\"\n", - "entry_point = \"algorithm_script:starting_function\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If your algorithm script requires other dependencies, you can put them all in one folder, say the `algorithm_folder`. The input arguments would then be" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "source_module = \"algorithm_folder\"\n", - "entry_point = \"algorithm_folder.algorithm_script:starting_function\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Checking hybrid job state and loading results\n", - "\n", - "The status of a Braket Job can be checked by calling `job.state()`. The state will be one of \"QUEUED\", \"RUNNING\", \"FAILED\", \"COMPLETED\", \"CANCELLING\", or \"CANCELLED\". " - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'COMPLETED'" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "job.state()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once completed, the result can be retrieved using `job.result()`. Logs and metadata are also accessible via `job.logs()` and `job.metadata()`. If you lose the reference to the hybrid job object, you can always reinstantiate it using your hybrid job ARN as `job=AwsQuantumJob(\"your-job-arn\")`. The ARN of a hybrid job can be found in the Amazon Braket Console. By default the ARN of a hybrid job will be \"`arn:aws:braket:::job/`\". " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "counts: [{'1': 12, '0': 88}, {'0': 42, '1': 58}, {'0': 46, '1': 54}, {'0': 100}, {'0': 100}]\n", - "angles: [-0.6634809825751307, 1.8729107298836103, -1.8816578492668359, -0.04308463076559567, 0.03224990551866221]\n" - ] - } - ], - "source": [ - "results = job.result() # will return once job.state() = \"COMPLETED\", should be 6 minutes\n", - "print(\"counts: \", results[\"counts\"])\n", - "print(\"angles: \", results[\"angles\"])" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# print(job.logs()) # uncomment to print logs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also download the result to a local directory." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "job.download_result() # download hybrid job result to local directory" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Task Summary\n", - "{'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 500, 'tasks': {'COMPLETED': 5}, 'execution_duration': 0.081, 'billed_execution_duration': 15.0}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run tasks in this job: 0.01875 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(job.result()['task summary'])\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run quantum tasks in this hybrid job: {job.result()['estimated cost']} USD\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Increase performance by running hybrid jobs on QPUs\n", - "\n", - "With Braket Hybrid Jobs, you can run hybrid algorithms on all QPUs available through Amazon Braket. When you select a QPU as your device, your hybrid job will have priority access for the duration of your hybrid job. Quantum tasks created as part of your hybrid job will be executed ahead of other tasks in the device queue. This reduces the risk of certain tasks being delayed or drifting calibrations on the device. To secure priority on a device your job needs to wait for the device to complete running or already queued jobs. Before submitting the job on a device, you can check the queue depth for the hybrid jobs. To check the number of hybrid jobs queued on the device call `device.queue_depth().jobs`." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'2'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Select the device on which you will be submitting your hybrid job.\n", - "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "device.queue_depth().jobs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can seamlessly swap the SV1 simulator for a QPU by changing the device argument in `AwsQuantumJob.create()`. For instance, the code below will create a hybrid job with priority access on the Rigetti Ankaa-2 device:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# qpu_job = AwsQuantumJob.create(\n", - "# device=Devices.Rigetti.Ankaa2,\n", - "# source_module=\"algorithm_script.py\",\n", - "# wait_until_complete=False,\n", - "# )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can check the position of your hybrid job in the queue by calling job.queue_position().queue_position. The queue position is only returned when the job is in \"QUEUED\" state, else None is returned. You can also check why the queue position value is not returned by calling calling `job.queue_position().message`. Here, `job` is the variable to which you assign your job creation. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'3'" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# qpu_job.queue_position().queue_position" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When you create the hybrid job, Amazon Braket will wait for the QPU to become available before initializing the hybrid job. Note that the Braket Hybrid Job will automatically select the AWS region where the device is available. As mentioned earlier, the specified device is provided to the hybrid job in the environment variable `AMZN_BRAKET_DEVICE_ARN`; the script `algorithm_script.py` uses this variable to choose the Braket device to use.\n", - "\n", - "In variational algorithms, there are usually optimization processes that update parameters of a fixed parametrized circuit. When executing such algorithms on a supported QPU with Hybrid Jobs, parametric compilation can improve the performance of the hybrid jobs. All you need to do is to submit the parametrized circuit using free parameters in the algorithm script. Braket will compile the circuit once and manage the compiled circuit of the Hybrid Job. There is no recompilation for subsequent parameter updates to the same circuit, resulting in faster runtimes. An example of algorithm script that uses a parametrized circuit is in `algorithm_script_parametrized_circuit.py`. Use this algorithm script in the place of `algorithm_script.py` and submit a hybrid job to a supported Braket QPU to use parametric compilation. See the Amazon Braket developer guide to learn more about [the usage of free parameters](https://docs.aws.amazon.com/braket/latest/developerguide/braket-constructing-circuit.html#braket-gates) and [parametric compilation with Hybrid Jobs](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs.html)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## AWS Sessions\n", - "\n", - "You can customize the default location where Braket Hybrid Jobs saves and loads results in Amazon S3 by providing the AWS session information. The name of the S3 bucket needs to start with \"amazon-braket-\", and it must be in the same region as the hybrid job being created." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.aws import AwsSession\n", - "\n", - "# Set Amazon S3 bucket\n", - "aws_session = AwsSession(default_bucket=\"amazon-braket-bucket-name\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To create a Braket Hybrid Job with this S3 bucket, pass `aws_session` as an argument to ` AwsQuantumJob.create()`:\n", - "\n", - "```python\n", - "job = AwsQuantumJob.create(\n", - " device=Devices.Amazon.SV1,\n", - " source_module=\"algorithm_script.py\",\n", - " aws_session=aws_session # using specific S3 bucket\n", - ")\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Debugging with local Braket Hybrid Jobs\n", - "\n", - "For faster testing and debugging of your code, you can run a hybrid job locally in your own environment. This feature requires Docker to be installed in your local environment. Amazon Braket notebooks have Docker pre-installed, so you can test local hybrid jobs in hosted notebooks instantly. To install Docker in your local environment, follow these [instructions](https://docs.docker.com/get-docker/). When a local hybrid job is created for the first time, it will take longer because it needs to build the container. The subsequent runs will be faster. Note that local hybrid jobs will not be visible in the Amazon Braket Console.\n", - "\n", - "To run a hybrid job in local mode, make sure the Docker daemon is running, and then simply create a `LocalQuantumJob` instead of an `AwsQuantumJob`. Local hybrid jobs always run synchronously and display the logs." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Using the short-lived AWS credentials found in session. They might expire while running.\n", - "Boto3 Version: 1.18.33\n", - "Beginning Setup\n", - "Completed 50.5 KiB/50.5 KiB (72.5 KiB/s) with 1 file(s) remaining\n", - "...............................................\n", - "...............................................\n", - "Running Code As Subprocess\n", - "Test job started!!!!!\n", - "Counter({'0': 79, '1': 21})\n", - "Counter({'0': 84, '1': 16})\n", - "Counter({'0': 91, '1': 9})\n", - "Counter({'0': 85, '1': 15})\n", - "Counter({'1': 94, '0': 6})\n", - "Test job completed!!!!!\n", - "Code Run Finished\n" - ] - } - ], - "source": [ - "from braket.jobs.local.local_job import LocalQuantumJob\n", - "\n", - "# This cell should take about 2 min\n", - "job = LocalQuantumJob.create(\n", - " device=Devices.Amazon.SV1,\n", - " source_module=\"algorithm_script.py\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Task Summary\n", - "{'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 500, 'tasks': {'COMPLETED': 5}, 'execution_duration': 0.046, 'billed_execution_duration': 15.0}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run tasks in this job: 0.01875 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(job.result()['task summary'])\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run quantum tasks in this hybrid job: {job.result()['estimated cost']} USD\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating a Braket Hybrid Job from the Braket console\n", - "\n", - "Besides creating a Braket Hybrid Job programmatically using `AwsQuantumJob.create`, there is also an option to create a hybrid job in the Braket console. Follow [this link](https://us-west-2.console.aws.amazon.com/braket/home#/job/create) to the \\\"Create hybrid job\\\" page. First, we need to give our new hybrid job the algorithm script. The script can be uploaded directly from your computer in the console or selected from files that are uploaded to S3. Here you also have the option to provide input data and parameters to your algorithm. After the algorithm is specified, you have the option to skip directly to the review and create page.\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, you can choose a name for your hybrid job or use the default name. You also have the option to change the default execution role and the default S3 location for uploads.\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Third, select a container environment for your job. The default \"PennyLane\" container is enough for the example in this notebook. For information about using other pre-built or custom containers, see the [Pennylane](../2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb) and the [BYOC](../3_Bring_your_own_container/bring_your_own_container.ipynb) example notebooks. \n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You may also select a Braket on-demand simulator or QPU for your job and configure the execution settings. You also have the option to customize the default locations for checkpoints and output data. We dive deeper into these advanced use cases in other [example notebooks](../2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb).\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After finishing all the settings, you can review your selections before submitting your hybrid job. You can now create the hybrid job by clicking the \\\"Create hybrid job\\\" button or return to any earlier step to make edits. We can now view the progress in the Braket console.\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Summary\n", - "\n", - "In this tutorial, we have created our first Braket Job with a simple batch of five circuits using the Amazon Braket SDK and, as an alternative, from the Braket console. We learned how to change the Amazon S3 folder and the AWS region for a job, and how to save results, and how to retrieve queue depth for a device, and queue position for the hybrid job. We learned how to seamlessly change the device to run on simulators or QPUs. We used local mode to quickly test code. Finally, we created the same job using the Braket console." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "conda_braket", - "language": "python", - "name": "conda_braket" - }, - "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" - }, - "vscode": { - "interpreter": { - "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Getting started with Amazon Braket Hybrid Jobs\n", + "\n", + "This tutorial shows how to run your first Amazon Braket Hybrid Job. To get started, we consider small circuits with only one qubit and one gate.\n", + "\n", + "\n", + "## Learning outcomes\n", + "* Get setup to run your first hybrid job\n", + "* Write an algorithm script to run on Braket Hybrid Jobs\n", + "* Understand how to run scripts or functions\n", + "* Create a hybrid job on Braket simulators or QPUs\n", + "* Monitoring the hybrid job state\n", + "* Save results from a hybrid job\n", + "* Using a specific AWS session\n", + "* Running hybrid jobs with priority on QPUs\n", + "* Use local hybrid jobs to quickly test and debug scripts\n", + "* Create a Braket Hybrid Job using the Braket console" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting setup to run Braket Hybrid Jobs\n", + "\n", + "When you use Amazon Braket Hybrid Jobs for the first time, you need to create an IAM role with the right [permissions](https://docs.aws.amazon.com/braket/latest/developerguide/braket-manage-access.html#about-amazonbraketjobsexecution). This role allows your hybrid job to perform actions on your behalf while it is executing your algorithm, for instance, access S3 to return the results of your hybrid job. To create the role or check if you already have one please visit the Permissions tab from the left menu of the Braket Console.\n", + "\n", + "## Writing an algorithm script\n", + "\n", + "To create a Braket Hybrid Job, you first need a Python script to run. In this example, it's contained in `algorithm_script.py`. The script is printed in the code cell below for convenience. \n", + "\n", + "As shown, each of the circuits has only one $X$ rotation gate with a random angle. The circuit is repeated five times with different random rotations. Note that the algorithm script does not specify the backend Amazon Braket device ARN explicitly. Instead, it is provided through environment variables such as `os.environ[\"AMZN_BRAKET_DEVICE_ARN\"]` that are passed to the algorithm script when creating the hybrid job. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "#### This block is a copy of the algorithm script.\n", + "\n", + "```python\n", + "\n", + "import os\n", + "import numpy as np\n", + "\n", + "from braket.aws import AwsDevice\n", + "from braket.circuits import Circuit\n", + "from braket.jobs import save_job_result\n", + "from braket.tracking import Tracker\n", + "\n", + "t = Tracker().start()\n", + "\n", + "print(\"Test hybrid job started!\")\n", + "\n", + "# Use the device declared in the creation script\n", + "device = AwsDevice(os.environ[\"AMZN_BRAKET_DEVICE_ARN\"])\n", + "\n", + "counts_list = []\n", + "angle_list = []\n", + "for _ in range(5):\n", + " angle = np.pi * np.random.randn()\n", + " random_circuit = Circuit().rx(0, angle)\n", + "\n", + " task = device.run(random_circuit, shots=100)\n", + " counts = task.result().measurement_counts\n", + "\n", + " angle_list.append(angle)\n", + " counts_list.append(counts)\n", + " print(counts)\n", + "\n", + "# Save the variables of interest so that we can access later\n", + "save_job_result({\"counts\": counts_list, \"angle\": angle_list, \"estimated cost\": t.qpu_tasks_cost() + t.simulator_tasks_cost()})\n", + "\n", + "print(\"Test hybrid job completed!\")\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating your first hybrid job\n", + "\n", + "Once the script is finalized, you can create a Braket Hybrid Job with `AwsQuantumJob`. When the hybrid job is created, Amazon Braket starts the hybrid job instance (based on EC2) and spins up a Docker container to run your algorithm script. Other configurations can be specified via keyword arguments. See the [developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/what-is-braket.html) and other example notebooks to learn more about how to customize your jobs\n", + "\n", + "This example uses the following inputs for `AwsQuantumJob`:\n", + "- device: The ARN of the Braket simulator or QPU to use in the hybrid job. It will be passed as an environment variable to the algorithm script. \n", + "- source_module: The path to a file or a Python module that contains your algorithm script. It will be uploaded to the container for running the Braket Hybrid Job.\n", + "- wait_until_complete (optional): If True, the function call will wait until the Braket Hybrid Job is completed and will additionally print logs to the local console. Otherwise, it will run asynchronously. The default is False." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.aws import AwsDevice, AwsQuantumJob\n", + "from braket.devices import Devices" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initializing Braket Job: arn:aws:braket:::job/\n", + "...............................................\n", + "\u001b[34m2021-11-10 20:55:24,467 sagemaker-training-toolkit INFO Invoking user script\u001b[0m\n", + "\u001b[34mTraining Env:\u001b[0m\n", + "\u001b[34m{\n", + " \"additional_framework_parameters\": {},\n", + " \"channel_input_dirs\": {},\n", + " \"current_host\": \"algo-1\",\n", + " \"framework_module\": null,\n", + " \"hosts\": [\n", + " \"algo-1\"\n", + " ],\n", + " \"hyperparameters\": {},\n", + " \"input_config_dir\": \"/opt/ml/input/config\",\n", + " \"input_data_config\": {},\n", + " \"input_dir\": \"/opt/ml/input\",\n", + " \"is_master\": true,\n", + " \"job_name\": \"BraketJob--\",\n", + " \"log_level\": 20,\n", + " \"master_hostname\": \"algo-1\",\n", + " \"model_dir\": \"/opt/ml/model\",\n", + " \"module_dir\": \"/opt/ml/code\",\n", + " \"module_name\": \"braket_container\",\n", + " \"network_interface_name\": \"eth0\",\n", + " \"num_cpus\": 2,\n", + " \"num_gpus\": 0,\n", + " \"output_data_dir\": \"/opt/ml/output/data\",\n", + " \"output_dir\": \"/opt/ml/output\",\n", + " \"output_intermediate_dir\": \"/opt/ml/output/intermediate\",\n", + " \"resource_config\": {\n", + " \"current_host\": \"algo-1\",\n", + " \"hosts\": [\n", + " \"algo-1\"\n", + " ],\n", + " \"network_interface_name\": \"eth0\"\n", + " },\n", + " \"user_entry_point\": \"braket_container.py\"\u001b[0m\n", + "...............................................\n", + "...............................................\n", + "\u001b[34mRunning Code As Subprocess\u001b[0m\n", + "\u001b[34mTest job started!!!!!\u001b[0m\n", + "\u001b[34mCounter({'0': 88, '1': 12})\u001b[0m\n", + "\u001b[34mCounter({'1': 58, '0': 42})\u001b[0m\n", + "\u001b[34mCounter({'1': 54, '0': 46})\u001b[0m\n", + "\u001b[34mCounter({'0': 100})\u001b[0m\n", + "\u001b[34mCounter({'0': 100})\u001b[0m\n", + "\u001b[34mTest job completed!!!!!\u001b[0m\n", + "\u001b[34mCode Run Finished\u001b[0m\n", + "\u001b[34m2021-11-10 20:55:58,953 sagemaker-training-toolkit INFO Reporting training SUCCESS\u001b[0m\n" + ] + } + ], + "source": [ + "# This cell should take about 5 mins\n", + "job = AwsQuantumJob.create(\n", + " device=Devices.Amazon.SV1,\n", + " source_module=\"algorithm_script.py\",\n", + " wait_until_complete=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example, the algorithm is defined by a single file, so the `source_module` is `algorithm_script.py`. Depending on your application, there are other options for setting the source module. For example, if you wish to only execute a part of `algorithm_script.py` at the start of a Braket Hybrid Job, you can package that part to be a `starting_function()`. Then assign the function as the entry point by adding the `entry_point` input argument." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "source_module = \"algorithm_script.py\"\n", + "entry_point = \"algorithm_script:starting_function\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If your algorithm script requires other dependencies, you can put them all in one folder, say the `algorithm_folder`. The input arguments would then be" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "source_module = \"algorithm_folder\"\n", + "entry_point = \"algorithm_folder.algorithm_script:starting_function\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Checking hybrid job state and loading results\n", + "\n", + "The status of a Braket Job can be checked by calling `job.state()`. The state will be one of \"QUEUED\", \"RUNNING\", \"FAILED\", \"COMPLETED\", \"CANCELLING\", or \"CANCELLED\". " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'COMPLETED'" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job.state()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once completed, the result can be retrieved using `job.result()`. Logs and metadata are also accessible via `job.logs()` and `job.metadata()`. If you lose the reference to the hybrid job object, you can always reinstantiate it using your hybrid job ARN as `job=AwsQuantumJob(\"your-job-arn\")`. The ARN of a hybrid job can be found in the Amazon Braket Console. By default the ARN of a hybrid job will be \"`arn:aws:braket:::job/`\". " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "counts: [{'1': 12, '0': 88}, {'0': 42, '1': 58}, {'0': 46, '1': 54}, {'0': 100}, {'0': 100}]\n", + "angles: [-0.6634809825751307, 1.8729107298836103, -1.8816578492668359, -0.04308463076559567, 0.03224990551866221]\n" + ] + } + ], + "source": [ + "results = job.result() # will return once job.state() = \"COMPLETED\", should be 6 minutes\n", + "print(\"counts: \", results[\"counts\"])\n", + "print(\"angles: \", results[\"angles\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# print(job.logs()) # uncomment to print logs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also download the result to a local directory." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "job.download_result() # download hybrid job result to local directory" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Task Summary\n", + "{'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 500, 'tasks': {'COMPLETED': 5}, 'execution_duration': 0.081, 'billed_execution_duration': 15.0}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run tasks in this job: 0.01875 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(job.result()[\"task summary\"])\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(\n", + " f\"Estimated cost to run quantum tasks in this hybrid job: {job.result()['estimated cost']} USD\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Increase performance by running hybrid jobs on QPUs\n", + "\n", + "With Braket Hybrid Jobs, you can run hybrid algorithms on all QPUs available through Amazon Braket. When you select a QPU as your device, your hybrid job will have priority access for the duration of your hybrid job. Quantum tasks created as part of your hybrid job will be executed ahead of other tasks in the device queue. This reduces the risk of certain tasks being delayed or drifting calibrations on the device. To secure priority on a device your job needs to wait for the device to complete running or already queued jobs. Before submitting the job on a device, you can check the queue depth for the hybrid jobs. To check the number of hybrid jobs queued on the device call `device.queue_depth().jobs`." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'2'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Select the device on which you will be submitting your hybrid job.\n", + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "device.queue_depth().jobs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can seamlessly swap the SV1 simulator for a QPU by changing the device argument in `AwsQuantumJob.create()`. For instance, the code below will create a hybrid job with priority access on the Rigetti Ankaa-2 device:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# qpu_job = AwsQuantumJob.create(\n", + "# device=Devices.Rigetti.Ankaa2,\n", + "# source_module=\"algorithm_script.py\",\n", + "# wait_until_complete=False,\n", + "# )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can check the position of your hybrid job in the queue by calling job.queue_position().queue_position. The queue position is only returned when the job is in \"QUEUED\" state, else None is returned. You can also check why the queue position value is not returned by calling calling `job.queue_position().message`. Here, `job` is the variable to which you assign your job creation. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'3'" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# qpu_job.queue_position().queue_position" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When you create the hybrid job, Amazon Braket will wait for the QPU to become available before initializing the hybrid job. Note that the Braket Hybrid Job will automatically select the AWS region where the device is available. As mentioned earlier, the specified device is provided to the hybrid job in the environment variable `AMZN_BRAKET_DEVICE_ARN`; the script `algorithm_script.py` uses this variable to choose the Braket device to use.\n", + "\n", + "In variational algorithms, there are usually optimization processes that update parameters of a fixed parametrized circuit. When executing such algorithms on a supported QPU with Hybrid Jobs, parametric compilation can improve the performance of the hybrid jobs. All you need to do is to submit the parametrized circuit using free parameters in the algorithm script. Braket will compile the circuit once and manage the compiled circuit of the Hybrid Job. There is no recompilation for subsequent parameter updates to the same circuit, resulting in faster runtimes. An example of algorithm script that uses a parametrized circuit is in `algorithm_script_parametrized_circuit.py`. Use this algorithm script in the place of `algorithm_script.py` and submit a hybrid job to a supported Braket QPU to use parametric compilation. See the Amazon Braket developer guide to learn more about [the usage of free parameters](https://docs.aws.amazon.com/braket/latest/developerguide/braket-constructing-circuit.html#braket-gates) and [parametric compilation with Hybrid Jobs](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## AWS Sessions\n", + "\n", + "You can customize the default location where Braket Hybrid Jobs saves and loads results in Amazon S3 by providing the AWS session information. The name of the S3 bucket needs to start with \"amazon-braket-\", and it must be in the same region as the hybrid job being created." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.aws import AwsSession\n", + "\n", + "# Set Amazon S3 bucket\n", + "aws_session = AwsSession(default_bucket=\"amazon-braket-bucket-name\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To create a Braket Hybrid Job with this S3 bucket, pass `aws_session` as an argument to ` AwsQuantumJob.create()`:\n", + "\n", + "```python\n", + "job = AwsQuantumJob.create(\n", + " device=Devices.Amazon.SV1,\n", + " source_module=\"algorithm_script.py\",\n", + " aws_session=aws_session # using specific S3 bucket\n", + ")\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Debugging with local Braket Hybrid Jobs\n", + "\n", + "For faster testing and debugging of your code, you can run a hybrid job locally in your own environment. This feature requires Docker to be installed in your local environment. Amazon Braket notebooks have Docker pre-installed, so you can test local hybrid jobs in hosted notebooks instantly. To install Docker in your local environment, follow these [instructions](https://docs.docker.com/get-docker/). When a local hybrid job is created for the first time, it will take longer because it needs to build the container. The subsequent runs will be faster. Note that local hybrid jobs will not be visible in the Amazon Braket Console.\n", + "\n", + "To run a hybrid job in local mode, make sure the Docker daemon is running, and then simply create a `LocalQuantumJob` instead of an `AwsQuantumJob`. Local hybrid jobs always run synchronously and display the logs." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using the short-lived AWS credentials found in session. They might expire while running.\n", + "Boto3 Version: 1.18.33\n", + "Beginning Setup\n", + "Completed 50.5 KiB/50.5 KiB (72.5 KiB/s) with 1 file(s) remaining\n", + "...............................................\n", + "...............................................\n", + "Running Code As Subprocess\n", + "Test job started!!!!!\n", + "Counter({'0': 79, '1': 21})\n", + "Counter({'0': 84, '1': 16})\n", + "Counter({'0': 91, '1': 9})\n", + "Counter({'0': 85, '1': 15})\n", + "Counter({'1': 94, '0': 6})\n", + "Test job completed!!!!!\n", + "Code Run Finished\n" + ] + } + ], + "source": [ + "from braket.jobs.local.local_job import LocalQuantumJob\n", + "\n", + "# This cell should take about 2 min\n", + "job = LocalQuantumJob.create(\n", + " device=Devices.Amazon.SV1,\n", + " source_module=\"algorithm_script.py\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Task Summary\n", + "{'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 500, 'tasks': {'COMPLETED': 5}, 'execution_duration': 0.046, 'billed_execution_duration': 15.0}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run tasks in this job: 0.01875 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(job.result()[\"task summary\"])\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(\n", + " f\"Estimated cost to run quantum tasks in this hybrid job: {job.result()['estimated cost']} USD\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating a Braket Hybrid Job from the Braket console\n", + "\n", + "Besides creating a Braket Hybrid Job programmatically using `AwsQuantumJob.create`, there is also an option to create a hybrid job in the Braket console. Follow [this link](https://us-west-2.console.aws.amazon.com/braket/home#/job/create) to the \\\"Create hybrid job\\\" page. First, we need to give our new hybrid job the algorithm script. The script can be uploaded directly from your computer in the console or selected from files that are uploaded to S3. Here you also have the option to provide input data and parameters to your algorithm. After the algorithm is specified, you have the option to skip directly to the review and create page.\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, you can choose a name for your hybrid job or use the default name. You also have the option to change the default execution role and the default S3 location for uploads.\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Third, select a container environment for your job. The default \"PennyLane\" container is enough for the example in this notebook. For information about using other pre-built or custom containers, see the [Pennylane](../2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb) and the [BYOC](../3_Bring_your_own_container/bring_your_own_container.ipynb) example notebooks. \n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You may also select a Braket on-demand simulator or QPU for your job and configure the execution settings. You also have the option to customize the default locations for checkpoints and output data. We dive deeper into these advanced use cases in other [example notebooks](../2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb).\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After finishing all the settings, you can review your selections before submitting your hybrid job. You can now create the hybrid job by clicking the \\\"Create hybrid job\\\" button or return to any earlier step to make edits. We can now view the progress in the Braket console.\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "In this tutorial, we have created our first Braket Job with a simple batch of five circuits using the Amazon Braket SDK and, as an alternative, from the Braket console. We learned how to change the Amazon S3 folder and the AWS region for a job, and how to save results, and how to retrieve queue depth for a device, and queue position for the hybrid job. We learned how to seamlessly change the device to run on simulators or QPUs. We used local mode to quickly test code. Finally, we created the same job using the Braket console." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "conda_braket", + "language": "python", + "name": "conda_braket" + }, + "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" + }, + "vscode": { + "interpreter": { + "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb b/examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb index 65e6e3b4..b50000ba 100644 --- a/examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb +++ b/examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb @@ -1,1121 +1,1139 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# QUANTUM APPROXIMATE OPTIMIZATION ALGORITHM (QAOA)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this tutorial we show how to (approximately) solve binary combinatorial optimization problems, using the __Quantum Approximate Optimization Algorithm (QAOA)__, as introduced in Ref.[1]. \n", - "The QAOA algorithm belongs to the class of __hybrid quantum algorithms__ (leveraging both classical as well as quantum compute), that are widely believed to be the working horse for the current __NISQ (noisy intermediate-scale quantum) era__.\n", - "In this NISQ era QAOA is also an emerging approach for benchmarking quantum devices and is a prime candidate for demonstrating a practical quantum speed-up on near-term NISQ device [1,4]. \n", - "To validate our approach we benchmark our results with exact results as obtained from classical QUBO solvers. \n", - "\n", - "We provide a step-by-step walkthrough explaining the QAOA quantum algorithm and show how to build the corresponding parametrized quantum circuit ansatz using the ```Braket``` SDK, with simple modular building blocks (that can be re-used for other purposes). \n", - "We use open-source off-the-shelf ```scipy``` optimizers for classical numerical optimization. \n", - "While we demonstrate our proof-of-concept approach using classical simulators for circuit execution, our code could in principle be run on actual quantum hardware by simply changing the definition of the ```device``` object (provided that the gate set used in the ansatz is supported by the device, as is the case here for IonQ; for Rigetti we need to apply one more extra trick as shown below). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## BACKGROUND: HYBRID QUANTUM ALGORITHMS" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Quantum computers hold the promise to outperform even the most-powerful classical computers on a range of computational problems in (for example) optimization, chemistry, material science and cryptography.\n", - "The canonical set of quantum algorithms (such as Shor's or Grover's quantum algorithms), however, comes with hardware requirements (such as a large number of quantum gates) that are currently not available with state-of-the-art technology. \n", - "Specifically, these algorithms are typically believed to be feasible only with fault-tolerance as provided by quantum error correction. \n", - "In the current __noisy intermediate-scale (NISQ) era__, near-term quantum computers do not have a large enough number of physical qubits for the implementation of error correction protocols, making this canonical set of quantum algorithms unsuitable for near-term devices. Against this background, the near-term focus has widely shifted to the class of __hybrid quantum algorithms__ that do not require quantum error correction. \n", - "In these hybrid quantum algorithms, the noisy __near-term quantum computers are used as co-processors__ only, within a larger classical optimization loop, as sketched in the schematic figure below. \n", - "Here, the undesired effects of noise are suppressed by deliberately limiting the quantum circuits on the quantum processing unit (QPU) to short bursts of the calculation, and the need for long coherence times (as required for the standard set of quantum algorithms) is traded for a classical overhead due to (possibly many) measurement repetitions and (essentially error-free) classical processing. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "__Variational Quantum Algorithms__: Specifically, variational quantum algorithms such as the Quantum Approximate Optimization Algorithm (QAOA) [1] belong to this emerging class of hybrid quantum algorithms. \n", - "These are widely believed to be promising candidates for the demonstration of a __quantum advantage__, already with near-term (NISQ) devices in areas such as quantum chemistry [2], condensed matter simulations [3], and discrete optimization tasks [4].\n", - "\n", - "__Variational Quantum Computing vs. Deep Learning__: The working principle of variational quantum computing is very much reminiscent of training deep neural networks: \n", - "when you train a neural network, you have an objective function that you want to minimize, typically characterized by the error on your training set. \n", - "To minimize that error, typically you start out with an initial guess for the weights in your network. \n", - "The coprocessor, in that case a GPU, takes these weights which define the exact operation to execute and the output of the neural network is computed. \n", - "This output is then used to calculate the value of your objective function, which in turn is used by the CPU to make an educated guess to update the weights and the cycle continues. \n", - "Variational quantum algorithms, a specific form of hybrid algorithms, work in the very same way, using parametrized quantum circuits rather than parametrized neural networks and replacing the GPU with a QPU. \n", - "Here, you start with an initial guess for the parameters that define your circuit, have the QPU execute that circuit, perform measurements to calculate an objective function, pass this value (together with the current values of the parameters) back to the CPU and have this *classical* CPU update the parameters based on that information. \n", - "\n", - "Of course, coordinating that workflow for quantum computers is much more challenging than in the previous case. Quantum computers are located in specialized laboratory facilities, are typically single threaded, and have special latency requirements. \n", - "This is exactly the undifferentiated heavy-lifting that Amazon Braket handles for us, such that we can focus on our scientific problem. \n", - "For the sake of this introductory tutorial, we simply use a classical circuit simulator (that mimic the behavior of a quantum machine) as the device to execute our quantum circuits.\n", - "Within Amazon Braket, the workflow, however, is exactly the same. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## BACKGROUND: QUADRATIC BINARY OPTIMIZATION PROBLEMS" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "__Combinatorial optimization__: \n", - "Combinatorial optimization problems are ubiquitous across many areas of science and application areas. \n", - "Applications can be found (for example) in logistics, scheduling, planning, and portfolio optimization.\n", - "In a nutshell combinatorial optimization problems are problems involving a large number of yes/no decisions with each set of decisions yielding a corresponding objective function value, like a cost or profit value. \n", - "Because of the combinatorial explosion of the solution space with the number of variables, finding good solutions is a daunting task and extremely difficult. \n", - "\n", - "__QUBO problems__: The QUBO ([Quadratic Unconstrained Binary Optimization](https://en.wikipedia.org/wiki/Quadratic_unconstrained_binary_optimization)) model unifies a rich variety of NP-hard combinatorial optimization problems: \n", - "Famous examples include Quadratic Assignment Problems, Capital Budgeting Problems, Task Allocation Problems and Maximum-Cut Problems. \n", - "For more details we refer to the excellent review and tutorial on QUBO problems presented in Ref.[5].\n", - "\n", - "__Maximum Cut__: Among the class of QUBO problems, Maximum Cut (MaxCut) is paradigm combinatorial optimization problem. \n", - "Given a graph $G=(V,E)$ with vertex set $V$ and edge set $E$, we seek partition of $V$ into two subsets with maximum cut. \n", - "In short, we have to color every node either blue or red and we score a point whenever an edge connects two nodes with different colors. \n", - "We then would like to find the solution with the highest score. \n", - "Applications thereof can be found in, for example, (i) clustering for marketing purposes (segment your customer base into different clusters for targeted marketing) or (ii) portfolio optimization in finance (vertex corresponds to asset, with color referring to sell or buy decisions. \n", - "Again, the problem in this specific graph coloring problem is that there are $2^𝑁$ possible solutions for $N$ nodes (an exponential explosion in possibilities), making it impossible to enumerate all possible candidates for relevant system sizes. \n", - "\n", - "__Ising Hamiltonian__: Importantly, there is a fundamental correspondence between QUBO problems and Ising problems in physics. \n", - "Specifically, we can encode the Maximum Cut problem as a __minimization problem__ of an Ising Hamiltonian, where the (classical) cost function reads \n", - "\n", - "$$H_{C}=\\sum_{i>j} J_{i,j} z_{i} z_{j},$$\n", - "\n", - "with Ising variables $z_{i}=-1,1$ and the Ising matrix $J$ encoding the weights of the edges. \n", - "For the sake of this discussion, we ignore potential linear terms and constant offsets (that do not affect the optimal solution $z$ anyway). \n", - "In short, the cost Hamiltonian $H_{C}$ assigns a number to every bitstring $z=(z_{1},z_{2},\\dots)$, and we would like to find the lowest number possible. \n", - "This will be the optimal assignment and solution to our problem. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## BACKGROUND: THE QUANTUM APPROXIMATE OPTIMIZATION ALGORITHM" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this tutorial we will try to solve for the optimal _classical_ bitstring $z$ using the Quantum Approximate Optimization Algorithm (QAOA). \n", - "To this end, we first promote the classical spin variables $z_{i}=-1,1$ to quantum-mechanical variables $\\sigma_{i}^{z}$ (with the Pauli matrix $\\sigma_{i}^{z}$ representing the observable corresponding to spin along the $z$ coordinate axis in three-dimensional Euclidean space $\\mathbb{R}^{3}$). \n", - "This leads to the following quantum mechanical cost Hamiltonian encoding the optimization problem\n", - "\n", - "$$\\hat{H}_{C}=\\sum_{i>j} J_{i,j} \\sigma_{i}^{z} \\sigma_{j}^{z},$$\n", - "\n", - "which can be written as a matrix of size $(2^{N}, 2^{N})$ with diagonal elements only corresponding to all possible classical values for the cost function $H_{C}$. \n", - "The ground state of $\\hat{H}_{C}$ corresponds to the optimal solution of the classical combinatorial problem.\n", - "\n", - "__QAOA ansatz__: Finding this ground state is generically hard. \n", - "To approximate this groundstate, QAOA prepares a parametrized ansatz state (corresponding to a parameterized gate sequence), whose parameters are iteratively updated by a classical optimizer in a closed loop. \n", - "Specifically, QAOA involves a specific ansatz wavefunction parametrized by a parameter family $(\\vec{\\beta}, \\vec{\\gamma})$, embedded into a larger classical optimization loop to find the optimal values for these parameters. \n", - "As shown in Ref.[1], good approximate solutions to the problem class considered here can be found by preparing the variational state \n", - "\n", - "$$|\\gamma, \\beta \\rangle = U_{x}(\\beta_{p})U_{zz}(\\gamma_{p}) \\cdots U_{x}(\\beta_{1})U_{zz}(\\gamma_{1}) |s\\rangle$$\n", - "\n", - "with single qubit rotations induced by $U_{x}(\\beta) = \\exp(-i\\beta \\sum_{i}\\sigma_{i}^{x})$, \n", - "and interactions described by $U_{zz}(\\gamma) = \\exp(-i\\gamma H_{C})$,\n", - "starting initially from a product of $\\sigma^{x}$ eigenstates, i.e.,\n", - "$|s\\rangle =|-,-,\\dots\\rangle$, with $|-\\rangle = (|0\\rangle -|1\\rangle )/\\sqrt{2}$. \n", - "The family of states $|\\gamma, \\beta \\rangle$ is prepared by alternating single-qubit operations $U_{x}(\\beta_{p})$ with targeted spin-spin interactions generated by the cost Hamiltonian $H_{C}$. \n", - "The depth $p$ can be interpreted as a hyperparameter. \n", - "For $p$ layers of QAOA blocks, there are $2p$ classical parameters to optimize over, \n", - "since each layer $k$ is characterized by just two variational parameters, $\\gamma_{k}$ and $\\beta_{k}$. \n", - "The preparation step outlined above is followed by a measurement in the computational basis, giving a classical string $z$, with which one can evaluate the objective function $H_{C}$ of the underlying combinatorial problem at hand. \n", - "Taking several measurements shots one can build the expectation value $E(\\beta, \\gamma) = \\langle H_{C} \\rangle$ that we report as the objective function to the classical minimizer (while other choices could be possible as well). \n", - "Repeating this procedure will provide an optimized string $z$, with the quality of the result improving as the depth of the quantum circuit $\\sim 2p$ is increased [1]. \n", - "In fact, in principle (in the absence of noise and other imperfections), QAOA can reach the global optimum of any cost function in the limit $p \\rightarrow \\infty$ [1], approaching the adiabatic protocol. \n", - "Thus, in theory the computational power of QAOA increases with $p$, but in practice the number of layers that can be executed without errors on NISQ devices is limited due noise and imperfections. \n", - "\n", - "__Optimization__: Since we are primarily interested in solving the classical optimization problem, within this routine it is sufficient to keep track of the best classical bitstring. \n", - "This means that the wavefunction prepared by the quantum circuit $|\\gamma, \\beta \\rangle$ has to have some overlap with the optimal solution $|z^{*} \\rangle$ that we can read out as bitstring $z^{*}$ in the measurement shots. \n", - "To this end, in principle (i.e., without any training), we could just sample from a completely uniform state that is prepared in a superposition of all computational basis states, as prepared by applying Hadamard gates to all qubits: $|\\mathrm{uniform}\\rangle = 1/\\sqrt{2^{N}}\\sum_{i}|z_{i}\\rangle$. \n", - "In that case (assuming a single optimal solution) the success probability per shot amounts to $p_{\\mathrm{success}}=1/2^{N}$. \n", - "We can then amplify our success chances by just taking many measurement shots. \n", - "For large systems, however, this approach is not scalable as we would need to take an exponentially increasing number of measurements. \n", - "That is why we train our circuits, update the parameters, with the goal to increase our success chances to find the optimal bitstring. \n", - "We can quantify our success chances as follows [6]. \n", - "For a given wavefunction $|\\gamma, \\beta \\rangle$ the probability to find the optimal solution in a single shot is given by \n", - "\n", - "$$ p_{\\mathrm{success}}(\\gamma, \\beta) = |\\langle z^{*}|\\gamma, \\beta \\rangle |^{2},$$\n", - "\n", - "where $z^{*}$ denotes the optimal bitstring. \n", - "If we perform $M$ repeated measurements, the overall probability $P$ for observing this solution at least once is given by \n", - "\n", - "$$ P = 1 - (1-p_{\\mathrm{success}}(\\gamma, \\beta))^{M}, $$ \n", - "\n", - "since the term $(1-p_{\\mathrm{success}}(\\gamma, \\beta))^{M}$ gives the probability of _not_ obtaining $z^{*}$ in repeated $M$ trials. \n", - "Therefore, to have an overall success chance up to $\\epsilon$ close to 100%, i.e., $P \\geq 1-\\epsilon$, the number of required shots has to be \n", - "\n", - "$$ M \\geq \\frac{\\log(\\epsilon)}{\\log(1-p_{\\mathrm{success}}(\\gamma, \\beta))}.$$\n", - "\n", - "Let us illustrate this results as follows: \n", - "If we do not know anything and just resort to a uniform superposition $|\\mathrm{uniform}\\rangle$, for a small system with $N=10$ qubits we can find the optimal solutions with 80% success probability by taking at least $\\sim 1650$ shots. \n", - "For just $N=20$ qubits, however, this number amounts to $\\sim 1.7 \\times 10^{6}$, making this naive approach unfeasible. \n", - "Conversely, if we can train the quantum circuit to obtain $p_{\\mathrm{success}}(\\gamma, \\beta) \\sim 0.1$, we only need $\\sim 15$ shots to have $P\\geq 80\\%$. \n", - "Below we will track and illustrate the best classical optimum as our algorithm proceeds towards a local or (ideally) global optimum. \n", - "\n", - "__Objective function__: Finally, some more details on the definition of the cost function are in order. \n", - "Following the standard approach [1, 4], QAOA tries to minimize the expectation value $\\langle \\hat{H}_{C} \\rangle$, but does _not_ explicitly maximize the success probability [6]. \n", - "However, a low expectation value for $\\langle \\hat{H}_{C} \\rangle$ does not necessarily translate to a high success probability $p_{\\mathrm{success}}(\\gamma, \\beta)$, as can be understood from the following example:\n", - "Consider (for example) a variational state that is a linear combination of low energy excited eigenstates of the cost Hamiltonian $\\hat{H}_{C}$ other than the ground state $|z^{*}\\rangle$. \n", - "By definition, this state will have a relatively low expectation value $\\langle \\hat{H}_{C} \\rangle$ while the success probability is zero (as this low energy state does not have any overlap with the ground state). \n", - "Similarly, a variational state that is a linear combination of the ground state with very high energy eigenstates could have a high success probability $p_{\\mathrm{success}}(\\gamma, \\beta)$, while (at the same time) reporting a high cost value to the classical optimizer.\n", - "To address this issue, alternative methods for the optimization of the variational parameters have recently been proposed. \n", - "While for simplicity we follow the majority of the literature and take $\\langle \\hat{H}_{C} \\rangle$ as cost value that we report to the classical optimizer, here we do mention a potential alternative for future research: \n", - "One approach is to use the Gibbs objective function, defined as $\\mathrm{cost}=-\\mathrm{log} \\langle \\exp(-\\eta \\hat{H}_{C})\\rangle$, with the hyperparameter $\\eta>0$ [7]. \n", - "As compared to the simple expectation value $\\langle \\hat{H}_{C} \\rangle$, this definition of the cost value shows stronger rewards for low energy states, thereby increasing the success probability. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## IMPORTS and SETUP" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For classical benchmarking we will be using the python library ```pyqubo```, as used in our helper script ```utils_classical```. If not already present in your virtual environment, you can install this library simply with ```pip install pyqubo```. Similarly, as ```seaborn``` are not expected to be present in the virtual environment by default, we will install them via ```pip install seaborn```. Note the ```-q``` to suppress install updates from ```pip```." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# If these have already been installed, this cell can be commented out.\n", - "!pip install pyqubo -q\n", - "!pip install seaborn -q" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# general imports\n", - "import numpy as np\n", - "from scipy.optimize import minimize\n", - "import matplotlib.pyplot as plt\n", - "import networkx as nx\n", - "import seaborn as sns\n", - "import time\n", - "from datetime import datetime\n", - "import pickle\n", - "import random\n", - "\n", - "# magic line for producing visualizations in notebook\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# fix random seed for reproducibility\n", - "seed = 42\n", - "np.random.seed(seed)\n", - "random.seed(a=seed)\n", - "\n", - "# switch to trigger writing training results to disk\n", - "store_results = False\n", - "# switch to trigger printing results of each optimization cycle\n", - "verbose = False" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# AWS imports: Import Braket SDK modules\n", - "from braket.circuits import FreeParameter\n", - "from braket.devices import LocalSimulator" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "from utils_classical import plot_colored_graph, plot_colored_graph_simple, solve_classical_ising\n", - "# auto reload external files, so that we can edit the external .py file and immediately see the changes here\n", - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Set up device: Local Simulator\n", - "device = LocalSimulator()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "## example code for other backends\n", - "# from braket.aws import AwsDevice\n", - "# from braket.devices import Devices\n", - "## choose the on-demand simulator to run your circuit\n", - "# device = AwsDevice(Devices.Amazon.SV1)\n", - "## choose the Rigetti device to run your circuit\n", - "# device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "## choose the Ionq device to run your circuit\n", - "# device = AwsDevice(Devices.IonQ.Aria1)\n", - "## choose the IQM device to run your circuit\n", - "# device = AwsDevice(Devices.IQM.Garnet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## PROBLEM SETUP" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We consider a graph coloring problem.\n", - "Given a graph $G=(V,E)$, made of a set vertices (also called nodes) $V$ and edges $E$, our goal is to color each node red or blue, then score a point for each node that is next to a node of different color. \n", - "We strive to find the optimal coloring that scores the largest number of points.\n", - "To this end, we will address the dual problem of finding the minimum energy of the corresponding Ising Hamiltonian. \n", - "To get started, we first use the open-source ```networkx``` library to visualize the problem graph. \n", - "Feel free to play with the parameters $n$ (for the number of nodes) and $m$ (for the number of edges) below to consider other graphs of your choice. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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wR/9zLzhh4iIiMia2HShBIDpof3x2jhvk1zrb+N8MC2UayeJiIiI/pNEEARzn1JoEXaml+Pt+Hzo9EKzNus4SCVwlEqwfII/yyQRERHR77CbQgkAF6rrsPi7XCSXXoODVHLXYnn765Ge7oibHMDX3ERERER/wK4K5W0lFTewXVWO48W/oLyqDv/5L0CC34aWj/buiZkj+nM3NxEREdGfsMtC+Z80DTqUVWmg1enR3lGKgW6deAIOERERUTPYfaEkIiIiotax+V3eRERERGReLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQq/x/6+tCJfDntYQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# setup Erdos Renyi graph\n", - "n = 10 # number of nodes/vertices\n", - "m = 20 # number of edges\n", - "\n", - "# define graph object\n", - "G = nx.gnm_random_graph(n, m, seed=seed)\n", - "# positions for all nodes\n", - "pos = nx.spring_layout(G)\n", - "\n", - "# choose random weights\n", - "for (u, v) in G.edges():\n", - " G.edges[u,v]['weight'] = random.uniform(0, 1)\n", - "\n", - "# draw graph\n", - "nx.draw(G, pos)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "# set Ising matrix \n", - "Jfull = nx.to_numpy_array(G)\n", - "\n", - "# get off-diagonal upper triangular matrix\n", - "J = np.triu(Jfull, k=1).astype(np.float64)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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KF9e/dwfW+Lh6maPZiF1tZqprAzh91rs4TtwtLfAl/2bwMXBEldupWLg+D1IzXh2ybWKq02x//55VbXDWw3dMWDsLl2UXKKdx+/DsZIEX3VrCGc7C1y5l47w6YeQmvUsS2UnK5UV9cdpTxE+7SAm9G2M2JgPkJD+FKt2X8NPf15R9olefQqjuvnh2/CmcLKVIDE9FxsO3MSPWwzw5dUGubz55kQKDWdwR44cQU5ODt5/X/2NyTk5OTh58iRatVJ/+ePV1C9bGx4fCCcLIMQ8HfcfeX03A7E9tAWEMz4+sKzeW9dFaE3u/V+RVbBf12Voja1ZKIT0e632e8t1XYTW3Ng3ELU+/lXXZWjNrXW6/Xug9rtLtX7MGwcHaf2Y2qbxSmGLFq9+75q1tXUZJ4REREREpCv6c/MSERERkT4wzqvHxvp6RiIiIiIqiiuFREREREUZ6YMmnBQSERERFWWk32jCy8dERERExJVCIiIiIhXGuVDIlUIiIiIi4kohERERkSo+aEJEREREvHxMREREREaLK4VERERERSiM9JU0nBQSERERFWWk9xTy8jERERERcaWQiIiISIVxLhRypZCIiIiIAJFCoVDouggiIiIifeH90WqtH/PmH/21fkxt07PLx9d1XYCW+EA4WQAh5imQn9V1EVpjJg6AcMZHeL/XTiTv1HURWhPo0h7CGR/h/V4TXh4d4oMmRERERKQvFi5cCE9PT1hYWCAoKAgnTpwose8777wDkUhUbGvfvn2pz8dJIREREVFRonLYNLRx40ZEREQgKioKp0+fhr+/P8LCwpCUlKS2/5YtW/D48WPldvHiRZiYmKB79+6lPicnhURERER6Zs6cORg0aBDCw8NRr149LFmyBFZWVlixYoXa/o6OjnB3d1du+/btg5WVFSeFRERERGUmEml/00B+fj5OnTqF0NBQZZtYLEZoaCji4+NLdYzly5ejV69esLa2LvV59exBEyIiIiIdK4evuZNKpZBKpSptEokEEomkWN+UlBTIZDK4ubmptLu5ueHq1auvPdeJEydw8eJFLF++XKMauVJIREREVM5iYmJgZ2enssXExJTLuZYvX46GDRsiMDBQo/24UkhERERUVDksmUVGRiIiIkKlTd0qIQA4OzvDxMQEiYmJKu2JiYlwd3d/5XlycnKwYcMGfPvttxrXyJVCIiIionIm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SFkA5tFnQsoCCDOP7iy6vFfrxxxar22p++bn58PKygqbNm1Cp06dlO39+/dHRkYGtm/f/sr9FQoFDhw4gI8++gjbtm3De++9V6rzavzdx/b29pg2bRqmTZum6a5ERERERkkqlRZ700pJt9OlpKRAJpPBzc1Npd3NzQ1Xr14t8RyZmZnw8PCAVCqFiYkJFi1aVOoJIWAEL68mIiIi0kR5vJKmIt68UqlSJZw9exb//vsvvv/+e0RERODQoUOl3l/jlUIiIiIi0kxkZCQiIiJU2kp66NbZ2RkmJiZITExUaU9MTIS7u3uJ5xCLxcoHfgMCAnDlyhXExMQUu9+wxP1L1YuIiIjISJTHK2kkEglsbW1VtpImhebm5mjSpAni4uKUbXK5HHFxcQgODi51DrlcrtGXg3ClkIiIiKgIffhauoiICPTv3x9NmzZFYGAg5s2bh5ycHOXTyP369YOHh4fyEnRMTAyaNm2KWrVqQSqVIjY2FmvWrMHixYtLfU5OComIiIj0TM+ePZGcnIzJkycjISEBAQEB2L17t/Lhk/v370MsfnHBNycnB0OHDsWDBw9gaWkJX19frF27Fj179iz1OTV+JU35Esrj9EJ8NQDz6C8h5RFSFoB59JmQsgDCzKM7K6/v0foxw31K965AXeJKIREREVER+vDyal3ggyZERERExJVCIiIioqK4UkhERERERosrhURERERFmIj06BncCsRJIREREVERxnoZ1VhzExEREVERXCkkIiIiKoIPmhARERGR0dKzbzQhIiIi0q1Nd3Zr/ZjdvN7X+jG1Tc8uHwvlK3qE+HVDzKO/hJRHSFkA5tFnPqju/z9dF6E1989NhOd3e3VdhtbcndRWp+c31qePefmYiIiIiPRtpZCIiIhIt/igCREREREZLa4UEhERERVhrCuFnBQSERERFWGsk0JePiYiIiIirhQSERERFWXClUIiIiIiMlZcKSQiIiIqQmykL6/mpJCIiIioCGO9jGqsuYmIiIioCK4UEhERERXBV9IQERERkdEympXCdet2YvnyLUhOToevrxcmTfoCfn4+ui6rzISUR0hZAObRd0LKI6QsgGHk6dezCb7oHwwXZxtcuZ6IydP24NzFRyX2H/hxID7p0QQe7rZIy8hF7L4rmD7/AKT5MgBAYOPqGDygGRrWrQw310r47KvfsPfg9QrJ0rdp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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# plot Ising matrix\n", - "plt.figure(1, figsize=[7, 5])\n", - "sns.heatmap(J, annot=True, linewidths=.5, cmap=\"YlGnBu\", annot_kws = {'alpha': 1})\n", - "plt.title('Ising distance matrix');\n", - "plt.tight_layout();" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## IMPLEMENTATION OF QAOA WITH BRAKET " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this section we load a set of useful helper functions that we will explain in detail below. \n", - "Specifically in ```utils_qaoa.py``` we provide simple building blocks for the core modules of our QAOA algorithm, that is (i) a function called ```circuit``` that defines the parametrized ansatz, (ii) a function called ```objective_function``` that takes a list of variational parameters as input, and returns the cost associated with those parameters and finally (iii) a function ```train``` to run the entire QAOA algorithm for given ansatz. \n", - "This way we can solve the problem in a clean and modular approach.\n", - "Here, we show in markdown the definition of the parametrized QAOA circuit. \n", - "For more details, see the corresponding file ```utils_qaoa.py```. " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The autoreload extension is already loaded. To reload it, use:\n", - " %reload_ext autoreload\n" - ] - } - ], - "source": [ - "from utils_qaoa import circuit, train \n", - "# auto reload external files, so that we can edit the external .py file and immediately see the changes here\n", - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "```python\n", - "# function to implement evolution with driver Hamiltonian\n", - "def driver(beta, n_qubits):\n", - " \"\"\"\n", - " Returns circuit for driver Hamiltonian U(Hb, beta)\n", - " \"\"\"\n", - " # instantiate circuit object\n", - " circ = Circuit()\n", - " \n", - " for qubit in range(n_qubits):\n", - " gate = Circuit().rx(qubit, 2*beta)\n", - " circ.add(gate)\n", - " \n", - " return circ\n", - "\n", - "\n", - "# helper function for evolution with cost Hamiltonian\n", - "def cost_circuit(gamma, n_qubits, ising):\n", - " \"\"\"\n", - " returns circuit for evolution with cost Hamiltonian\n", - " \"\"\"\n", - " # instantiate circuit object\n", - " circ = Circuit()\n", - "\n", - " # get all non-zero entries (edges) from Ising matrix \n", - " idx = ising.nonzero()\n", - " edges = list(zip(idx[0], idx[1]))\n", - " \n", - " for qubit_pair in edges:\n", - " # get interaction strength\n", - " int_strength = ising[qubit_pair[0], qubit_pair[1]]\n", - " # for Rigetti we decompose ZZ using CNOT gates\n", - " if 'Ankaa' in device.name:\n", - " gate = ZZgate(qubit_pair[0], qubit_pair[1], gamma*int_strength)\n", - " circ.add(gate)\n", - " # classical simulators and IonQ support ZZ gate\n", - " else:\n", - " gate = Circuit().zz(qubit_pair[0], qubit_pair[1], angle=2*gamma*int_strength)\n", - " circ.add(gate)\n", - "\n", - " return circ\n", - "\n", - "\n", - "# function to build the QAOA circuit with depth p\n", - "def circuit(params, n_qubits, ising):\n", - " \"\"\"\n", - " function to return full QAOA circuit\n", - " \"\"\"\n", - "\n", - " # initialize qaoa circuit with first Hadamard layer: for minimization start in |->\n", - " circ = Circuit()\n", - " X_on_all = Circuit().x(range(0, n_qubits))\n", - " circ.add(X_on_all)\n", - " H_on_all = Circuit().h(range(0, n_qubits))\n", - " circ.add(H_on_all)\n", - "\n", - " # setup two parameter families\n", - " circuit_length = int(len(params) / 2)\n", - " gammas = params[:circuit_length]\n", - " betas = params[circuit_length:]\n", - "\n", - " # add circuit layers\n", - " for mm in range(circuit_length):\n", - " circ.add(cost_circuit(gammas[mm], n_qubits, ising))\n", - " circ.add(driver(betas[mm], n_qubits))\n", - "\n", - " return circ\n", - "\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## VISUALIZATION OF THE QAOA ANSATZ" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first visualize our parametrized QAOA ansatz for a small number of qubits and fixed (i.e., not optimized) parameters. \n", - "For convenience, the parameters are displayed in the circuit (up to a factor of $2$ we have added in our ansatz definition). \n", - "First we prepare the state $|0,0,\\dots\\rangle \\rightarrow |-,-,\\dots\\rangle$, with the superposition state $|-\\rangle = (|0\\rangle -|1\\rangle )/\\sqrt{2}$. \n", - "Following the discussion above, we choose to start out with this state as it is the minimal energy state of the simple driver Hamiltonian $H_{B}$. \n", - "This state preparation is followed by one layer of the QAOA ansatz, consisting of evolution with the cost Hamiltonian by $\\exp(-i\\gamma H_{C})= \\prod_{j,l}\\exp(-i\\gamma J_{j,l}\\sigma_{j}^{z}\\sigma_{l}^{z}) = \\prod_{j,l} ZZ_{j,l}(2\\gamma J_{j,l})$, followed by the single-qubit driving term, $\\exp(-i\\beta H_{B})= \\prod_{j} \\exp(-i\\beta \\sigma_{j}^{x})= \\prod_{j} R_{j}^{(x)}(2\\beta)$.\n", - "Note that the circuit definition depends on the ```device``` object, as the implementation of the ZZ gate depends on the specific gate set supported by the device. " - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Printing test circuit:\n", - "T : |0|1| 2 | 3 |\n", - " \n", - "q0 : -X-H-ZZ(2*gamma)-Rx(2*beta)-\n", - " | \n", - "q1 : -X-H-ZZ(2*gamma)-Rx(2*beta)-\n", - "\n", - "T : |0|1| 2 | 3 |\n", - "\n", - "Unassigned parameters: [beta, gamma].\n" - ] - } - ], - "source": [ - "# create parameters\n", - "gammas = [FreeParameter('gamma')]\n", - "betas = [FreeParameter('beta')]\n", - "params = gammas + betas\n", - "\n", - "# for demonstration purposes use small Ising matrix\n", - "J_sub = np.array([[0, 1], [0, 0]])\n", - "N = J_sub.shape[0]\n", - "\n", - "# get circuit ansatz\n", - "my_simple_circuit = circuit(params, device, N, J_sub)\n", - "\n", - "# print test ansatz circuit\n", - "print('Printing test circuit:')\n", - "print(my_simple_circuit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We see that our ansatz produces the expected result for shallow QAOA with $p=1$. \n", - "We run one more sanity check for $p=2$ below. " - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Printing test circuit:\n", - "T : |0|1| 2 | 3 | 4 | 5 |\n", - " \n", - "q0 : -X-H-ZZ(2*gamma_1)-Rx(2*beta_1)-ZZ(2*gamma_2)-Rx(2*beta_2)-\n", - " | | \n", - "q1 : -X-H-ZZ(2*gamma_1)-Rx(2*beta_1)-ZZ(2*gamma_2)-Rx(2*beta_2)-\n", - "\n", - "T : |0|1| 2 | 3 | 4 | 5 |\n", - "\n", - "Unassigned parameters: [beta_1, beta_2, gamma_1, gamma_2].\n" - ] - } - ], - "source": [ - "# set number of qubits and fix parameters\n", - "gammas = [FreeParameter('gamma_1'), FreeParameter('gamma_2')]\n", - "betas = [FreeParameter('beta_1'), FreeParameter('beta_2')]\n", - "params = gammas + betas\n", - "\n", - "# for demonstration purposes use small Ising matrix\n", - "J_sub = np.array([[0, 1], [0, 0]])\n", - "N = J_sub.shape[0]\n", - "\n", - "# get circuit ansatz\n", - "my_simple_circuit = circuit(params, device, N, J_sub)\n", - "\n", - "# print test ansatz circuit\n", - "print('Printing test circuit:')\n", - "print(my_simple_circuit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## QAOA SIMULATION ON LOCAL SCHROEDINGER SIMULATOR" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now all set to run some QAOA simulation experiments. \n", - "First of all, you can play and experiment yourself with the number of qubits $N$. \n", - "Secondly, you may also experiment with the classical optimizer. \n", - "Since we are using an off-the-shelf, black-box ```scipy``` minimizer (as described in more detail [here](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html)), you can simply swap between different optimizers by setting the ```OPT_METHOD``` parameter below. \n", - "Some popular options readily available within this library include *Nelder-Mead*, *BFGS* and *COBYLA*. \n", - "As a precautionary warning, note that the classical optimization step may get stuck in a local optimum, rather than finding the global minimum for our parametrized QAOA ansatz wavefunction. \n", - "To address this issue, we may run several optimization loops, starting from different random parameter seeds. \n", - "While this brute-force approach does not provide any guarantee to find the global optimum, from a pragmatic point of view at least it does increase the odds of finding an acceptable solution, at the expense of potentially having to run many more circuits on the simulator or QPU, respectively.\n", - "Finally, the optimization loop may require the execution of many individual quantum tasks (i.e., single circuit executions for fixed parameters). \n", - "For example, when choosing the classical [Powell](https://docs.scipy.org/doc/scipy/reference/optimize.minimize-powell.html#optimize-minimize-powell) optimizer for the graph considered here, we find $\\sim 270$ cycles in the for loop. \n", - "For the local simulator device chosen here by default this is not an issue, but if you run this algorithm on any QPU you may want to adjust the ```maxfev``` parameter to control the maximum allowed number function evaluations (compare comment in the next code block below)." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "##################################################################################\n", - "# set up hyperparameters\n", - "##################################################################################\n", - "\n", - "# User-defined hypers\n", - "DEPTH = 3 # circuit depth for QAOA\n", - "SHOTS = 1000 # number measurements to make on circuit\n", - "OPT_METHOD = 'COBYLA' # SLSQP, COBYLA, Nelder-Mead, BFGS, Powell, ...\n", - "\n", - "# set up the problem\n", - "n_qubits = J.shape[0]\n", - "\n", - "# initialize reference solution (simple guess)\n", - "bitstring_init = -1 * np.ones([n_qubits])\n", - "energy_init = np.dot(bitstring_init, np.dot(J, bitstring_init))\n", - "\n", - "# set tracker to keep track of results\n", - "tracker = {\n", - " 'count': 1, # Elapsed optimization steps\n", - " 'optimal_energy': energy_init, # Global optimal energy\n", - " 'opt_energies': [], # Optimal energy at each step\n", - " 'global_energies': [], # Global optimal energy at each step\n", - " 'optimal_bitstring': bitstring_init, # Global optimal bitstring\n", - " 'opt_bitstrings': [], # Optimal bitstring at each step\n", - " 'costs': [], # Cost (average energy) at each step\n", - " 'res': None, # Quantum result object\n", - " 'params': [] # Track parameters\n", - "}\n", - "\n", - "# set options for classical optimization\n", - "options = {'disp': True, 'maxiter': 50}" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Circuit depth hyperparameter: 3\n", - "Problem size: 10\n", - "Starting the training.\n", - "====================================================================\n", - "OPTIMIZATION for circuit depth p=3\n", - "Param \"verbose\" set to False. Will not print intermediate steps.\n", - "====================================================================\n", - "Final average energy (cost):\n", - " Return from subroutine COBYLA because the MAXFUN limit has been reached.\n", - " -0.586455292294228\n", - "Final angles: [5.78684986 4.70523429 6.47840919 0.25681156 1.2539245 2.7942261 ]\n", - "Training complete.\n", - "Code execution time [sec]: 6.3666791915893555\n", - "Optimal energy: -6.486032631497276\n", - "Optimal classical bitstring: [-1 1 -1 -1 1 -1 1 1 -1 -1]\n", - "\n", - " NFVALS = 50 F =-5.864553E-01 MAXCV = 0.000000E+00\n", - " X = 5.786850E+00 4.705234E+00 6.478409E+00 2.568116E-01 1.253925E+00\n", - " 2.794226E+00\n" - ] - } - ], - "source": [ - "##################################################################################\n", - "# run QAOA optimization on graph \n", - "##################################################################################\n", - "\n", - "print('Circuit depth hyperparameter:', DEPTH)\n", - "print('Problem size:', n_qubits)\n", - "\n", - "# kick off training\n", - "start = time.time()\n", - "result_energy, result_angle, tracker = train(\n", - " device = device, options=options, p=DEPTH, ising=J, n_qubits=n_qubits, n_shots=SHOTS, \n", - " opt_method=OPT_METHOD, tracker=tracker, verbose=verbose)\n", - "end = time.time()\n", - "\n", - "# print execution time\n", - "print('Code execution time [sec]:', end - start)\n", - "\n", - "# print optimized results\n", - "print('Optimal energy:', tracker['optimal_energy'])\n", - "print('Optimal classical bitstring:', tracker['optimal_bitstring'])\n", - "\n", - "##################################################################################\n", - "# Compute output and dump to pickle\n", - "##################################################################################\n", - "\n", - "if store_results:\n", - " out = {'p': DEPTH, 'N': n_qubits,\n", - " 'ENERGY_OPTIMAL': tracker['optimal_energy'], 'BITSTRING': tracker['optimal_bitstring'],\n", - " 'result_energy': result_energy, 'result_angle': result_angle}\n", - "\n", - " # store results: dump output to pickle with timestamp in filename\n", - " time_now = datetime.strftime(datetime.now(), '%Y%m%d%H%M%S')\n", - " results_file = 'results-'+time_now+'.pkl'\n", - " print(f'Writing results to file: {results_file}')\n", - " pickle.dump(out, open(results_file, \"wb\"))\n", - " \n", - " # you can load results as follows\n", - " # out = pickle.load(open(results_file, \"rb\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## POSTPROCESSING AND COMPARISON OF OUR QAOA RESULTS WITH CLASSICAL RESULTS" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this section we visualize the results we have found with QAOA. \n", - "Specifically, we display the results found for the variational parameters $\\beta$ and $\\gamma$ for every layer in our QAOA ansatz. \n", - "Moreover, we show the solution to our graph coloring problem with every node colored either red or blue (recall that there are just two colors since we solve a _binary_ optimization problem).\n", - "Finally, we compare these results to results found classically using the open-source ```pyqubo``` package. \n", - "Ideally, the two results should agree with each other but this is not necessarily the case for several reasons: \n", - "First of all, for the original small toy problem we have set up there are several degenerate classical solutions with the same optimal quality. \n", - "The classical and the QAOA approach may find solutions with different coloring configurations but the same quality (that is energy). \n", - "Secondly, with QAOA we are not guaranteed to find the optimal solutions. \n", - "Specifically, the deeper the circuit, the harder the classical optimization problem, and we may get stuck in a local rather than global optimum. \n", - "One brute-force approach is then to just re-run QAOA with different random initial seeds for the parameters $(\\beta, \\gamma)$." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimization on graph with n=10 vertices, m=20 edges, optimized with COBYLA and 1000 shots per call; seed=42.\n" - ] - }, - { - "data": { - "image/png": "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KDAwUH/84x/18MMPa9y4cS4vsiYyDEMFRSWeLgMAAI8LqF1LFovFY+d3OgzVrVvXMU4oLCxMx44dU9u2bSVJZ8+edW11NVhBUYliXl7n6TIAAPC4b/54n+r43dQwZpdw+sxdu3bVF198odtuu03333+/pkyZov3792vFihXq2rWrO2oEAABwm0pNuvhLx48fV35+vjp06KCLFy9qypQp+vLLL9WqVSvNmzdPkZGR7qrVI9w16SK3yQAAuMIdt8mc+f12OgyZDTNQAwDgfZz5/Xb6abKdO3dqx44d16zfsWOHvv76a2cPBwAA4FFOh6EJEyYoMzPzmvVZWVmaMGGCS4oqz5o1axQXF6eAgADZbDYNGjSowvajR4+WxWIps/Tv39+tNQIAAO/i9ADqb7755rqTK3bu3FnffPONS4q6nuXLl2vMmDGaNWuWevfureLiYh04cOCG+/Xv31+LFi1yfLZarW6rEQAAeB+nw5DVatUPP/yg6OjoMuuzs7Pl6+uex+KKi4s1ceJEpaamKiEhwbE+JibmhvtarVY1adKk0ucqLCxUYWGh43NeXp5zxQIAAK/i9G2yfv36KSkpSbm5uY51P/30k1588UXde++9Li3uqvT0dGVlZcnHx0edO3dWWFiYBgwYUKkrQ5s3b1ajRo3UunVrjRs3TufOnauwfUpKioKDgx1LRESEq74GAACohpx+miwrK0t33323zp07p86dO0uS9uzZo8aNG2vDhg1uCQ9Lly7VyJEj1bx5c82bN09RUVGaO3eu1q9fryNHjqh+/frl7lenTh21aNFCx44d04svvqjAwEBt27ZNtWrVuu4+17syFBERwdNkAAB4Ebc/Wn/x4kW9//772rt3rwICAtShQweNHDlStWvXduo4iYmJmj17doVtDh06pPT0dD322GN666239Pvf/17SldDSrFkzvfLKK3rqqacqdb7jx4/rV7/6lT777DP16dOnUvvwaD0AAN7Hmd/vmxrkU7duXUcouRVTpkzR6NGjK2wTHR2t7OxsSWXHCFmtVkVHRysjI6PS54uOjlbDhg119OjRSochAABQs1UqDK1atUoDBgxQ7dq1tWrVqgrbPvTQQ5U+eWhoqEJDQ2/YLjY2VlarVXa7XT169JAkFRUV6eTJk07NeP3999/r3LlzCgsLq/Q+AACgZqvUbTIfHx/l5OSoUaNG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jh3ria8AAACqIa+YZ8iTmGcIAADvU+PmGQIAAHAXwhAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1X08XUN0ZhiFJysvL83AlAACgsq7+bl/9Ha8IYegGLly4IEmKiIjwcCUAAMBZFy5cUHBwcIVtLEZlIpOJlZaW6tSpU6pXr54sFkul9snLy1NERIQyMzMVFBTk5gpBf1ct+rtq0d9Vi/6uWu7sb8MwdOHCBYWHh8vHp+JRQVwZugEfHx81a9bspvYNCgriP6YqRH9XLfq7atHfVYv+rlru6u8bXRG6igHUAADA1AhDAADA1AhDbmC1WpWcnCyr1erpUkyB/q5a9HfVor+rFv1dtapLfzOAGgAAmBpXhgAAgKkRhgAAgKkRhgAAgKkRhgAAgKkRhtxgwYIFioqKkr+/v+Li4vTVV195uqQa4f/9v/+nBx98UOHh4bJYLPr3v/9dZrthGHr55ZcVFhamgIAA9e3bV99++61niq0BUlJS1KVLF9WrV0+NGjXSoEGDZLfby7T5+eefNWHCBDVo0ECBgYEaOnSofvjhBw9V7N3efPNNdejQwTH5XLdu3fTpp586ttPX7vPqq6/KYrFo0qRJjnX0t2vNmDFDFoulzNKmTRvHdk/3N2HIxT788ENNnjxZycnJSk9PV8eOHXXffffp9OnTni7N6128eFEdO3bUggULrrt9zpw5ev3117Vw4ULt2LFDdevW1X333aeff/65iiutGbZs2aIJEyZo+/bt2rBhg4qKitSvXz9dvHjR0ea5557TJ598omXLlmnLli06deqUhgwZ4sGqvVezZs306quvateuXfr666/Vu3dvPfzwwzp48KAk+tpddu7cqbfeeksdOnQos57+dr22bdsqOzvbsXzxxReObR7vbwMudeeddxoTJkxwfC4pKTHCw8ONlJQUD1ZV80gyVq5c6fhcWlpqNGnSxEhNTXWs++mnnwyr1Wp88MEHHqiw5jl9+rQhydiyZYthGFf6t3bt2sayZcscbQ4dOmRIMrZt2+apMmsUm81mvPPOO/S1m1y4cMFo1aqVsWHDBqNnz57GxIkTDcPg37Y7JCcnGx07drzuturQ31wZcqHLly9r165d6tu3r2Odj4+P+vbtq23btnmwsprvxIkTysnJKdP3wcHBiouLo+9dJDc3V5JUv359SdKuXbtUVFRUps/btGmj5s2b0+e3qKSkREuXLtXFixfVrVs3+tpNJkyYoAceeKBMv0r823aXb7/9VuHh4YqOjtZjjz2mjIwMSdWjv3lRqwudPXtWJSUlaty4cZn1jRs31uHDhz1UlTnk5ORI0nX7/uo23LzS0lJNmjRJ3bt3V7t27SRd6XM/Pz+FhISUaUuf37z9+/erW7du+vnnnxUYGKiVK1cqJiZGe/bsoa9dbOnSpUpPT9fOnTuv2ca/bdeLi4vT4sWL1bp1a2VnZ2vmzJn6zW9+owMHDlSL/iYMAbihCRMm6MCBA2Xu8cP1WrdurT179ig3N1cfffSRRo0apS1btni6rBonMzNTEydO1IYNG+Tv7+/pckxhwIABjr87dOiguLg4RUZG6l//+pcCAgI8WNkV3CZzoYYNG6pWrVrXjID/4Ycf1KRJEw9VZQ5X+5e+d72nn35aq1ev1qZNm9SsWTPH+iZNmujy5cv66aefyrSnz2+en5+fWrZsqdjYWKWkpKhjx476y1/+Ql+72K5du3T69Gndfvvt8vX1la+vr7Zs2aLXX39dvr6+aty4Mf3tZiEhIfr1r3+to0ePVot/34QhF/Lz81NsbKw2btzoWFdaWqqNGzeqW7duHqys5mvRooWaNGlSpu/z8vK0Y8cO+v4mGYahp59+WitXrlRaWppatGhRZntsbKxq165dps/tdrsyMjLocxcpLS1VYWEhfe1iffr00f79+7Vnzx7Hcscdd+ixxx5z/E1/u1d+fr6OHTumsLCw6vHvu0qGaZvI0qVLDavVaixevNj45ptvjN///vdGSEiIkZOT4+nSvN6FCxeM3bt3G7t37zYkGfPmzTN2795tfPfdd4ZhGMarr75qhISEGB9//LGxb98+4+GHHzZatGhhFBQUeLhy7zRu3DgjODjY2Lx5s5Gdne1YLl265GgzduxYo3nz5kZaWprx9ddfG926dTO6devmwaq9V2JiorFlyxbjxIkTxr59+4zExETDYrEY69evNwyDvna3Xz5NZhj0t6tNmTLF2Lx5s3HixAlj69atRt++fY2GDRsap0+fNgzD8/1NGHKDN954w2jevLnh5+dn3Hnnncb27ds9XVKNsGnTJkPSNcuoUaMMw7jyeP1LL71kNG7c2LBarUafPn0Mu93u2aK92PX6WpKxaNEiR5uCggJj/Pjxhs1mM+rUqWMMHjzYyM7O9lzRXuyJJ54wIiMjDT8/PyM0NNTo06ePIwgZBn3tbv8dhuhv1xo+fLgRFhZm+Pn5GU2bNjWGDx9uHD161LHd0/1tMQzDqJprUAAAANUPY4YAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAuF1UVJTmz59/S8eYMWOGOnXq5JJ6ynPy5ElZLBbt2bPHredxp5rwHYCqxgzUAFxm8eLFmjRp0jVvnz5z5ozq1q2rOnXq3PSx8/PzVVhYqAYNGtxilVeMHj1aP/30k/7973871pWUlOjMmTNq2LChfH19XXKeqnby5Em1aNFCu3fvdnt4BGoK7/yvHYBXCQ0NveVjBAYGKjAw0AXVlK9WrVpq0qSJW88BoPrhNhkASVJhYaGeffZZNWrUSP7+/urRo4d27tzp2L5582ZZLBatWbNGHTp0kL+/v7p27aoDBw44tj/++OPKzc2VxWKRxWLRjBkzJF17m8xiseitt97SwIEDVadOHd12223atm2bjh49ql69eqlu3bq66667dOzYMcc+/32b7Oo5frlERUVJunKFJyEhQS1atFBAQIBat26tv/zlL2WOtWTJEn388ceOfTdv3nzdW0xbtmzRnXfeKavVqrCwMCUmJqq4uNixvVevXnr22Wc1depU1a9fX02aNHF874q89957atu2reO4Tz/9tCTpiSee0MCBA8u0LSoqUqNGjfTuu+9KkkpLSzVnzhy1bNlSVqtVzZs315///Odyz3XgwAENGDBAgYGBaty4seLj43X27Nkb1giYRpW9EhZAtfbss88a4eHhxn/+8x/j4MGDxqhRowybzWacO3fOMAzD2LRpkyHJuO2224z169cb+/btMwYOHGhERUUZly9fNgoLC4358+cbQUFBRnZ2tpGdnW1cuHDBMAzDiIyMNF577TXHuSQZTZs2NT788EPDbrcbgwYNMqKioozevXsba9euNb755huja9euRv/+/R37JCcnGx07dnR8vnqO7Oxs4+jRo0bLli2N+Ph4wzAM4/Lly8bLL79s7Ny50zh+/Ljxz3/+06hTp47x4YcfGoZhGBcuXDAeeeQRo3///o5jFBYWGidOnDAkGbt37zYMwzC+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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# visualize the optimization process\n", - "cycles = np.arange(1, tracker['count'])\n", - "optim_classical = tracker['global_energies']\n", - "\n", - "# print information\n", - "info = 'Optimization on graph with n={} vertices, m={} edges, optimized with {} and {} shots per call; seed={}.'\n", - "print(info.format(n, m, OPT_METHOD, SHOTS, seed))\n", - "\n", - "plt.plot(cycles, optim_classical)\n", - "plt.xlabel('optimization cycle')\n", - "plt.ylabel('best classical minimum')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal energy found with QAOA: -6.486032631497276\n", - "Optimal bit-string found with QAOA: [-1 1 -1 -1 1 -1 1 1 -1 -1]\n" - ] - } - ], - "source": [ - "# print the optimal energy found with QAOA \n", - "print('Optimal energy found with QAOA:', tracker['optimal_energy'])\n", - "# print the corresponding bitstring\n", - "print('Optimal bit-string found with QAOA:', tracker['optimal_bitstring'])" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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evvttxEdHY333nsPBgYGqvJhw4bhP//5T5cG15YtW7Zg/vz52LJlC6ZMmXLD+pWVlUhLS4OTk5PWYyMiIqLeQeMEaNOmTfjqq6/w6KOPqq36CgwMxNmzZzVqq7KyEklJSUhKSgIApKenIykpSTVpeenSpZg7d66q/ubNmzF37lysW7cOISEhyMvLQ15eHsrKylR1Xn75ZRw4cAAZGRmIi4vD/fffD5lMhtmzZ2v6UomIiKiP0jgBysnJgbe3d6typVKJhoYGjdpKSEjA8OHDVUvYo6KiMHz4cCxbtgwAkJubq7aC66uvvkJjYyOee+45ODk5qT5efPFFVZ3Lly9j9uzZ8PX1xYwZM2BjY4PDhw/Dzs5O05dKREREfZTGq8D8/Pzw999/w8PDQ618x44danvxdMa4cePQ0Rzs6OhotcedOWpj69atGsVARERE/Y/GCdCyZcsQGRmJnJwcKJVK/Pjjjzh37hw2bdqEX3/9VRsxEhEREXUpjYfApk2bhl9++QV79+6FiYkJli1bhjNnzuCXX37BxIkTtREjERERUZe6pX2A+ipN9hEgIiKinkGr+wARERER9XadmgNkZWUFiUTSqQavXr16SwERERERaVunEqDrT2EnIiIi6s06lQBFRkZqOw4iIiKibqPxMvjy8vI2yyUSCeRyudrxGEREREQ9kcYJkKWlZYfzgVxdXTFv3jwsX74cUinnWBMREVHPo3ECFB0djX//+9+YN28egoODAQBHjx5FTEwMXn/9dRQWFmLt2rWQy+V47bXXujxgIiIiolulcQIUExODdevWYcaMGaqyqVOnwt/fH19++SViY2Ph7u6Ot99+mwkQERER9Ugaj1HFxcW1eebX8OHDER8fDwC47bbb1A4xJSIiIupJNE6A3NzcsGHDhlblGzZsgJubGwCguLgYVlZWtx4dERERkRZoPAS2du1aPPzww/j9998xevRoAEBCQgLOnj2LHTt2AACOHTuGmTNndm2kRERERF3kps4CS09Px5dffonz588DAHx9ffH000/D09Ozq+PTCZ4FRkRE1Pto8v7Nw1DbwASIiIio99Hk/VvjITAAKC0txdGjR1FQUAClUql2be7cuTfTJBEREVG30TgB+uWXX/Doo4+isrIS5ubmapsiSiQSJkBERETU42m8Cmzx4sV4/PHHUVlZidLSUpSUlKg+eBI8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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# get results for variational angles\n", - "gamma = result_angle[:DEPTH]\n", - "beta = result_angle[DEPTH:]\n", - "# get array [1, 2, ..., p]\n", - "pa = np.arange(1, DEPTH + 1)\n", - "\n", - "plt.figure(2)\n", - "plt.plot(pa, gamma / np.pi, '-o', label='gamma')\n", - "plt.plot(pa, beta / np.pi, '-s', label='beta')\n", - "plt.xlabel('circuit depth (layer) p')\n", - "plt.ylabel('optimal angles [pi]')\n", - "plt.xticks(pa)\n", - "plt.legend(title='Variational QAOA angles:', loc='upper left')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Minimal energy found with QAOA: -6.486032631497276\n" - ] - }, - { - "data": { - "image/png": "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GdtxiIiI3JBbT4UFf3+EPPvMmI8T/KuNDAJEROS13HplABjcsOjyTx+CoawMkBx71HBYSiXUCQmI2P8X6z0HRERE3sbtwwAwuCNhx/fvhdTW5rxAoFRCCA5GxP6/QDVrlnPOSURE5IHc+jLBNcrISEz58/tQRkWNar+Cv59QCSEkBFP27mEQICIir+cRYQAAVDNnImL/X+CryRl8YRTbCvukLEbE/+2HOi7OSdURERF5Lo+4THA9WZbRv+d9dD/7HOSensH9BIZ7/FChAGQZioAABD/5awSu/kc+RkhERHSVx4WBa+SBAQzs/wi9b70N06lTgy8Kwt83G7JYrCFBNX8+gtashv/990EIDHRRxURERO7JY8PA9Sw6HUx1dTD97TQsOt3gKkBgINQJCfBZkAQhNNTVJRIREbmtCREGiIiIaOR44ZyIiMjLMQwQERF5OYYBIiIiL8cwQERE5OUYBoiIiLwcwwAREZGXYxggIiLycgwDREREXo5hgIiIyMsxDBAREXk5hgEiIiIvxzBARETk5RgGiIiIvBzDABERkZdjGCAiIvJyDANERERejmGAiIjIyzEMEBEReTmGASIiIi/HMEBEROTlGAaIiIi8HMMAERGRl2MYICIi8nIMA0RERF6OYYCIiMjLMQwQERF5uf8Hywao1f4RDfoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# visualize solution\n", - "colorlist = tracker['optimal_bitstring']\n", - "colorlist[colorlist == -1] = 0\n", - "\n", - "# plot_colored_graph(J, N, colorlist, pos)\n", - "plot_colored_graph_simple(G, colorlist, pos)\n", - "print('Minimal energy found with QAOA:', tracker['optimal_energy'])" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Classical solution: {'s0': -1, 's1': 1, 's2': -1, 's3': -1, 's4': 1, 's5': -1, 's6': 1, 's7': 1, 's8': -1, 's9': -1}\n", - "Minimal energy found classically: -6.486032631497276\n" - ] - }, - { - "data": { - "image/png": "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GdtxiIiI3JBbT4UFf3+EPPvMmI8T/KuNDAJEROS13HplABjcsOjyTx+CoawMkBx71HBYSiXUCQmI2P8X6z0HRERE3sbtwwAwuCNhx/fvhdTW5rxAoFRCCA5GxP6/QDVrlnPOSURE5IHc+jLBNcrISEz58/tQRkWNar+Cv59QCSEkBFP27mEQICIir+cRYQAAVDNnImL/X+CryRl8YRTbCvukLEbE/+2HOi7OSdURERF5Lo+4THA9WZbRv+d9dD/7HOSensH9BIZ7/FChAGQZioAABD/5awSu/kc+RkhERHSVx4WBa+SBAQzs/wi9b70N06lTgy8Kwt83G7JYrCFBNX8+gtashv/990EIDHRRxURERO7JY8PA9Sw6HUx1dTD97TQsOt3gKkBgINQJCfBZkAQhNNTVJRIREbmtCREGiIiIaOR44ZyIiMjLMQwQERF5OYYBIiIiL8cwQERE5OUYBoiIiLwcwwAREZGXYxggIiLycgwDREREXo5hgIiIyMsxDBAREXk5hgEiIiIvxzBARETk5RgGiIiIvBzDABERkZdjGCAiIvJyDANERERejmGAiIjIyzEMEBEReTmGASIiIi/HMEBEROTlGAaIiIi8HMMAERGRl2MYICIi8nIMA0RERF6OYYCIiMjLMQwQERF5uf8Hywao1f4RDfoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# validate quantum results with classical algorithm\n", - "solution, energy_min, colors_classical = solve_classical_ising(J, n_qubits, pos)\n", - "# plot classical solution\n", - "plot_colored_graph_simple(G, colors_classical, pos)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Note that QAOA may arrive at a different solution than our classical benchmark code. \n", - "First of all, the classical optimization routine may get stuck in a local rather than global optimum. \n", - "To avoid this, more sophisticated optimization strategies may be employed (as proposed for example in Ref.[4]), going beyond the scope of this introductory notebook tutorial. \n", - "Secondly, even if QAOA arrives at the same classical energy as our classical approach, the coloring may differ since the solution space may be degenerate for the specific example shown here (this means, two different classical bitstrings have the same energy).\n", - "At minimum, you may find an inverted coloring (by swapping red and blue colors), because of the underlying $\\mathbb{Z}_{2}$ symmetry. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## SUMMARY" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this notebook we have gone through an end-to-end demo on QAOA and its implementation on Amazon Braket. \n", - "We have built modular core building blocks that may easily adapted to other problems. \n", - "The QAOA routine is tailored towards solving combinatorial optimization problems such as _Maximum Cut_ [4] and arguably one of the most prominent examples of the emerging class of hybrid, variational algorithms and still very much a field of active research today. \n", - "For example, as we increase the circuit depth of QAOA, the classical optimization step becomes increasingly difficult (because of the curse of dimensionality as well known in classical machine learning) and may easily get stuck in local sub-optimal solutions. \n", - "To address this issue some heuristics have already been developed, for example in Ref.[4], but further improvements will arguably be necessary to fully unlock the potential of this approach. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---\n", - "## REFERENCES" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "[1] E. Farhi, J. Goldstone, and S. Gutmann, \"A Quantum Approximate Optimization Algorithm\", arXiv: 1411.4028 (2014).\n", - "\n", - "[2] Y. Cao, J. Romero, J. P. Olson, M. Degroote, P. D. Johnson, M. Kieferova, I. D. Kivlichan, T. Menke, B. Peropadre, N. P. Sawaya, et al., \"Quantum Chemistry in the Age of Quantum Computing\", Chemical reviews 119, 10856 (2019).\n", - "\n", - "[3] A. Smith, M. Kim, F. Pollmann, and J. Knolle, \"Simulating quantum many-body dynamics on a current digital quantum computer\", npj Quantum Information 5, 1 (2019).\n", - "\n", - "[4] L. Zhou, S.-T. Wang, S. Choi, H. Pichler, and M. D. Lukin, \"Quantum Approximate Optimization Algorithm: Performance, Mechanism,and Implementation on Near-Term Devices\", arXiv: 1812.01041 (2018). \n", - "\n", - "[5] F. Glover, G. Kochenberger, \"A Tutorial on Formulating and Using QUBO Models\", arXiv:1811.11538 (2018).\n", - "\n", - "[6] P. Vikstal, M. Groenkvist, M. Svensson, M. Andersson, G. Johansson, and G. Ferrini, \"Applying the Quantum Approximate Optimization Algorithm to the Tail Assignment Problem\", arXiv:1912.10499 (2019). \n", - "\n", - "[7] L. Li, M. Fan, M. Coram, P. Riley, and S. Leichenauer, \"Quantum optimization with a novel gibbs objective function and ansatz architecture search\", arXiv:1909.07621 (2019). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---\n", - "## APPENDIX" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### APPENDIX: Example for Ising Matrix Syntax" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this appendix we provide a small code example to showcase how we obtain all edges with corresponding weights. " - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ising matrix:\n", - " [[0 1 0]\n", - " [0 0 3]\n", - " [0 0 0]]\n", - "Edges: [(0, 1), (1, 2)]\n", - "Interaction strength: 1\n", - "Interaction strength: 3\n", - "All interactions: [1 3]\n" - ] - } - ], - "source": [ - "# example Ising matrix with edges between qubit 0 and qubit 1 (weight=1) and qubit 1 and qubit 2 (weight=3)\n", - "ising = np.array([[0, 1, 0], [0, 0, 3], [0, 0, 0]])\n", - "print('Ising matrix:\\n', ising)\n", - "\n", - "# get all non-zero entries (edges) from Ising matrix \n", - "idx = ising.nonzero()\n", - "edges = list(zip(idx[0], idx[1]))\n", - "print('Edges:', edges)\n", - "\n", - "# for every edge print interaction strength\n", - "for qubit_pair in edges:\n", - " # get interaction strength\n", - " int_strength = ising[qubit_pair[0], qubit_pair[1]]\n", - " print('Interaction strength:', int_strength)\n", - "\n", - "# get all non-zero entries from Ising, with proper order\n", - "interactions = np.array([ising[q[0], q[1]] for q in edges])\n", - "print('All interactions:', interactions)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Task Summary\n", - "{}\n", - "Estimated cost to run this example with SV1: 0 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print(f\"Estimated cost to run this example with SV1: {t.qpu_tasks_cost() + t.simulator_tasks_cost()} USD\")" - ] - }, - { - "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.10.9" - }, - "vscode": { - "interpreter": { - "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" - } - } + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "\n", + "t = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# QUANTUM APPROXIMATE OPTIMIZATION ALGORITHM (QAOA)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this tutorial we show how to (approximately) solve binary combinatorial optimization problems, using the __Quantum Approximate Optimization Algorithm (QAOA)__, as introduced in Ref.[1]. \n", + "The QAOA algorithm belongs to the class of __hybrid quantum algorithms__ (leveraging both classical as well as quantum compute), that are widely believed to be the working horse for the current __NISQ (noisy intermediate-scale quantum) era__.\n", + "In this NISQ era QAOA is also an emerging approach for benchmarking quantum devices and is a prime candidate for demonstrating a practical quantum speed-up on near-term NISQ device [1,4]. \n", + "To validate our approach we benchmark our results with exact results as obtained from classical QUBO solvers. \n", + "\n", + "We provide a step-by-step walkthrough explaining the QAOA quantum algorithm and show how to build the corresponding parametrized quantum circuit ansatz using the ```Braket``` SDK, with simple modular building blocks (that can be re-used for other purposes). \n", + "We use open-source off-the-shelf ```scipy``` optimizers for classical numerical optimization. \n", + "While we demonstrate our proof-of-concept approach using classical simulators for circuit execution, our code could in principle be run on actual quantum hardware by simply changing the definition of the ```device``` object (provided that the gate set used in the ansatz is supported by the device, as is the case here for IonQ; for Rigetti we need to apply one more extra trick as shown below). " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## BACKGROUND: HYBRID QUANTUM ALGORITHMS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Quantum computers hold the promise to outperform even the most-powerful classical computers on a range of computational problems in (for example) optimization, chemistry, material science and cryptography.\n", + "The canonical set of quantum algorithms (such as Shor's or Grover's quantum algorithms), however, comes with hardware requirements (such as a large number of quantum gates) that are currently not available with state-of-the-art technology. \n", + "Specifically, these algorithms are typically believed to be feasible only with fault-tolerance as provided by quantum error correction. \n", + "In the current __noisy intermediate-scale (NISQ) era__, near-term quantum computers do not have a large enough number of physical qubits for the implementation of error correction protocols, making this canonical set of quantum algorithms unsuitable for near-term devices. Against this background, the near-term focus has widely shifted to the class of __hybrid quantum algorithms__ that do not require quantum error correction. \n", + "In these hybrid quantum algorithms, the noisy __near-term quantum computers are used as co-processors__ only, within a larger classical optimization loop, as sketched in the schematic figure below. \n", + "Here, the undesired effects of noise are suppressed by deliberately limiting the quantum circuits on the quantum processing unit (QPU) to short bursts of the calculation, and the need for long coherence times (as required for the standard set of quantum algorithms) is traded for a classical overhead due to (possibly many) measurement repetitions and (essentially error-free) classical processing. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "__Variational Quantum Algorithms__: Specifically, variational quantum algorithms such as the Quantum Approximate Optimization Algorithm (QAOA) [1] belong to this emerging class of hybrid quantum algorithms. \n", + "These are widely believed to be promising candidates for the demonstration of a __quantum advantage__, already with near-term (NISQ) devices in areas such as quantum chemistry [2], condensed matter simulations [3], and discrete optimization tasks [4].\n", + "\n", + "__Variational Quantum Computing vs. Deep Learning__: The working principle of variational quantum computing is very much reminiscent of training deep neural networks: \n", + "when you train a neural network, you have an objective function that you want to minimize, typically characterized by the error on your training set. \n", + "To minimize that error, typically you start out with an initial guess for the weights in your network. \n", + "The coprocessor, in that case a GPU, takes these weights which define the exact operation to execute and the output of the neural network is computed. \n", + "This output is then used to calculate the value of your objective function, which in turn is used by the CPU to make an educated guess to update the weights and the cycle continues. \n", + "Variational quantum algorithms, a specific form of hybrid algorithms, work in the very same way, using parametrized quantum circuits rather than parametrized neural networks and replacing the GPU with a QPU. \n", + "Here, you start with an initial guess for the parameters that define your circuit, have the QPU execute that circuit, perform measurements to calculate an objective function, pass this value (together with the current values of the parameters) back to the CPU and have this *classical* CPU update the parameters based on that information. \n", + "\n", + "Of course, coordinating that workflow for quantum computers is much more challenging than in the previous case. Quantum computers are located in specialized laboratory facilities, are typically single threaded, and have special latency requirements. \n", + "This is exactly the undifferentiated heavy-lifting that Amazon Braket handles for us, such that we can focus on our scientific problem. \n", + "For the sake of this introductory tutorial, we simply use a classical circuit simulator (that mimic the behavior of a quantum machine) as the device to execute our quantum circuits.\n", + "Within Amazon Braket, the workflow, however, is exactly the same. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## BACKGROUND: QUADRATIC BINARY OPTIMIZATION PROBLEMS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "__Combinatorial optimization__: \n", + "Combinatorial optimization problems are ubiquitous across many areas of science and application areas. \n", + "Applications can be found (for example) in logistics, scheduling, planning, and portfolio optimization.\n", + "In a nutshell combinatorial optimization problems are problems involving a large number of yes/no decisions with each set of decisions yielding a corresponding objective function value, like a cost or profit value. \n", + "Because of the combinatorial explosion of the solution space with the number of variables, finding good solutions is a daunting task and extremely difficult. \n", + "\n", + "__QUBO problems__: The QUBO ([Quadratic Unconstrained Binary Optimization](https://en.wikipedia.org/wiki/Quadratic_unconstrained_binary_optimization)) model unifies a rich variety of NP-hard combinatorial optimization problems: \n", + "Famous examples include Quadratic Assignment Problems, Capital Budgeting Problems, Task Allocation Problems and Maximum-Cut Problems. \n", + "For more details we refer to the excellent review and tutorial on QUBO problems presented in Ref.[5].\n", + "\n", + "__Maximum Cut__: Among the class of QUBO problems, Maximum Cut (MaxCut) is paradigm combinatorial optimization problem. \n", + "Given a graph $G=(V,E)$ with vertex set $V$ and edge set $E$, we seek partition of $V$ into two subsets with maximum cut. \n", + "In short, we have to color every node either blue or red and we score a point whenever an edge connects two nodes with different colors. \n", + "We then would like to find the solution with the highest score. \n", + "Applications thereof can be found in, for example, (i) clustering for marketing purposes (segment your customer base into different clusters for targeted marketing) or (ii) portfolio optimization in finance (vertex corresponds to asset, with color referring to sell or buy decisions. \n", + "Again, the problem in this specific graph coloring problem is that there are $2^𝑁$ possible solutions for $N$ nodes (an exponential explosion in possibilities), making it impossible to enumerate all possible candidates for relevant system sizes. \n", + "\n", + "__Ising Hamiltonian__: Importantly, there is a fundamental correspondence between QUBO problems and Ising problems in physics. \n", + "Specifically, we can encode the Maximum Cut problem as a __minimization problem__ of an Ising Hamiltonian, where the (classical) cost function reads \n", + "\n", + "$$H_{C}=\\sum_{i>j} J_{i,j} z_{i} z_{j},$$\n", + "\n", + "with Ising variables $z_{i}=-1,1$ and the Ising matrix $J$ encoding the weights of the edges. \n", + "For the sake of this discussion, we ignore potential linear terms and constant offsets (that do not affect the optimal solution $z$ anyway). \n", + "In short, the cost Hamiltonian $H_{C}$ assigns a number to every bitstring $z=(z_{1},z_{2},\\dots)$, and we would like to find the lowest number possible. \n", + "This will be the optimal assignment and solution to our problem. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## BACKGROUND: THE QUANTUM APPROXIMATE OPTIMIZATION ALGORITHM" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this tutorial we will try to solve for the optimal _classical_ bitstring $z$ using the Quantum Approximate Optimization Algorithm (QAOA). \n", + "To this end, we first promote the classical spin variables $z_{i}=-1,1$ to quantum-mechanical variables $\\sigma_{i}^{z}$ (with the Pauli matrix $\\sigma_{i}^{z}$ representing the observable corresponding to spin along the $z$ coordinate axis in three-dimensional Euclidean space $\\mathbb{R}^{3}$). \n", + "This leads to the following quantum mechanical cost Hamiltonian encoding the optimization problem\n", + "\n", + "$$\\hat{H}_{C}=\\sum_{i>j} J_{i,j} \\sigma_{i}^{z} \\sigma_{j}^{z},$$\n", + "\n", + "which can be written as a matrix of size $(2^{N}, 2^{N})$ with diagonal elements only corresponding to all possible classical values for the cost function $H_{C}$. \n", + "The ground state of $\\hat{H}_{C}$ corresponds to the optimal solution of the classical combinatorial problem.\n", + "\n", + "__QAOA ansatz__: Finding this ground state is generically hard. \n", + "To approximate this groundstate, QAOA prepares a parametrized ansatz state (corresponding to a parameterized gate sequence), whose parameters are iteratively updated by a classical optimizer in a closed loop. \n", + "Specifically, QAOA involves a specific ansatz wavefunction parametrized by a parameter family $(\\vec{\\beta}, \\vec{\\gamma})$, embedded into a larger classical optimization loop to find the optimal values for these parameters. \n", + "As shown in Ref.[1], good approximate solutions to the problem class considered here can be found by preparing the variational state \n", + "\n", + "$$|\\gamma, \\beta \\rangle = U_{x}(\\beta_{p})U_{zz}(\\gamma_{p}) \\cdots U_{x}(\\beta_{1})U_{zz}(\\gamma_{1}) |s\\rangle$$\n", + "\n", + "with single qubit rotations induced by $U_{x}(\\beta) = \\exp(-i\\beta \\sum_{i}\\sigma_{i}^{x})$, \n", + "and interactions described by $U_{zz}(\\gamma) = \\exp(-i\\gamma H_{C})$,\n", + "starting initially from a product of $\\sigma^{x}$ eigenstates, i.e.,\n", + "$|s\\rangle =|-,-,\\dots\\rangle$, with $|-\\rangle = (|0\\rangle -|1\\rangle )/\\sqrt{2}$. \n", + "The family of states $|\\gamma, \\beta \\rangle$ is prepared by alternating single-qubit operations $U_{x}(\\beta_{p})$ with targeted spin-spin interactions generated by the cost Hamiltonian $H_{C}$. \n", + "The depth $p$ can be interpreted as a hyperparameter. \n", + "For $p$ layers of QAOA blocks, there are $2p$ classical parameters to optimize over, \n", + "since each layer $k$ is characterized by just two variational parameters, $\\gamma_{k}$ and $\\beta_{k}$. \n", + "The preparation step outlined above is followed by a measurement in the computational basis, giving a classical string $z$, with which one can evaluate the objective function $H_{C}$ of the underlying combinatorial problem at hand. \n", + "Taking several measurements shots one can build the expectation value $E(\\beta, \\gamma) = \\langle H_{C} \\rangle$ that we report as the objective function to the classical minimizer (while other choices could be possible as well). \n", + "Repeating this procedure will provide an optimized string $z$, with the quality of the result improving as the depth of the quantum circuit $\\sim 2p$ is increased [1]. \n", + "In fact, in principle (in the absence of noise and other imperfections), QAOA can reach the global optimum of any cost function in the limit $p \\rightarrow \\infty$ [1], approaching the adiabatic protocol. \n", + "Thus, in theory the computational power of QAOA increases with $p$, but in practice the number of layers that can be executed without errors on NISQ devices is limited due noise and imperfections. \n", + "\n", + "__Optimization__: Since we are primarily interested in solving the classical optimization problem, within this routine it is sufficient to keep track of the best classical bitstring. \n", + "This means that the wavefunction prepared by the quantum circuit $|\\gamma, \\beta \\rangle$ has to have some overlap with the optimal solution $|z^{*} \\rangle$ that we can read out as bitstring $z^{*}$ in the measurement shots. \n", + "To this end, in principle (i.e., without any training), we could just sample from a completely uniform state that is prepared in a superposition of all computational basis states, as prepared by applying Hadamard gates to all qubits: $|\\mathrm{uniform}\\rangle = 1/\\sqrt{2^{N}}\\sum_{i}|z_{i}\\rangle$. \n", + "In that case (assuming a single optimal solution) the success probability per shot amounts to $p_{\\mathrm{success}}=1/2^{N}$. \n", + "We can then amplify our success chances by just taking many measurement shots. \n", + "For large systems, however, this approach is not scalable as we would need to take an exponentially increasing number of measurements. \n", + "That is why we train our circuits, update the parameters, with the goal to increase our success chances to find the optimal bitstring. \n", + "We can quantify our success chances as follows [6]. \n", + "For a given wavefunction $|\\gamma, \\beta \\rangle$ the probability to find the optimal solution in a single shot is given by \n", + "\n", + "$$ p_{\\mathrm{success}}(\\gamma, \\beta) = |\\langle z^{*}|\\gamma, \\beta \\rangle |^{2},$$\n", + "\n", + "where $z^{*}$ denotes the optimal bitstring. \n", + "If we perform $M$ repeated measurements, the overall probability $P$ for observing this solution at least once is given by \n", + "\n", + "$$ P = 1 - (1-p_{\\mathrm{success}}(\\gamma, \\beta))^{M}, $$ \n", + "\n", + "since the term $(1-p_{\\mathrm{success}}(\\gamma, \\beta))^{M}$ gives the probability of _not_ obtaining $z^{*}$ in repeated $M$ trials. \n", + "Therefore, to have an overall success chance up to $\\epsilon$ close to 100%, i.e., $P \\geq 1-\\epsilon$, the number of required shots has to be \n", + "\n", + "$$ M \\geq \\frac{\\log(\\epsilon)}{\\log(1-p_{\\mathrm{success}}(\\gamma, \\beta))}.$$\n", + "\n", + "Let us illustrate this results as follows: \n", + "If we do not know anything and just resort to a uniform superposition $|\\mathrm{uniform}\\rangle$, for a small system with $N=10$ qubits we can find the optimal solutions with 80% success probability by taking at least $\\sim 1650$ shots. \n", + "For just $N=20$ qubits, however, this number amounts to $\\sim 1.7 \\times 10^{6}$, making this naive approach unfeasible. \n", + "Conversely, if we can train the quantum circuit to obtain $p_{\\mathrm{success}}(\\gamma, \\beta) \\sim 0.1$, we only need $\\sim 15$ shots to have $P\\geq 80\\%$. \n", + "Below we will track and illustrate the best classical optimum as our algorithm proceeds towards a local or (ideally) global optimum. \n", + "\n", + "__Objective function__: Finally, some more details on the definition of the cost function are in order. \n", + "Following the standard approach [1, 4], QAOA tries to minimize the expectation value $\\langle \\hat{H}_{C} \\rangle$, but does _not_ explicitly maximize the success probability [6]. \n", + "However, a low expectation value for $\\langle \\hat{H}_{C} \\rangle$ does not necessarily translate to a high success probability $p_{\\mathrm{success}}(\\gamma, \\beta)$, as can be understood from the following example:\n", + "Consider (for example) a variational state that is a linear combination of low energy excited eigenstates of the cost Hamiltonian $\\hat{H}_{C}$ other than the ground state $|z^{*}\\rangle$. \n", + "By definition, this state will have a relatively low expectation value $\\langle \\hat{H}_{C} \\rangle$ while the success probability is zero (as this low energy state does not have any overlap with the ground state). \n", + "Similarly, a variational state that is a linear combination of the ground state with very high energy eigenstates could have a high success probability $p_{\\mathrm{success}}(\\gamma, \\beta)$, while (at the same time) reporting a high cost value to the classical optimizer.\n", + "To address this issue, alternative methods for the optimization of the variational parameters have recently been proposed. \n", + "While for simplicity we follow the majority of the literature and take $\\langle \\hat{H}_{C} \\rangle$ as cost value that we report to the classical optimizer, here we do mention a potential alternative for future research: \n", + "One approach is to use the Gibbs objective function, defined as $\\mathrm{cost}=-\\mathrm{log} \\langle \\exp(-\\eta \\hat{H}_{C})\\rangle$, with the hyperparameter $\\eta>0$ [7]. \n", + "As compared to the simple expectation value $\\langle \\hat{H}_{C} \\rangle$, this definition of the cost value shows stronger rewards for low energy states, thereby increasing the success probability. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## IMPORTS and SETUP" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For classical benchmarking we will be using the python library ```pyqubo```, as used in our helper script ```utils_classical```. If not already present in your virtual environment, you can install this library simply with ```pip install pyqubo```. Similarly, as ```seaborn``` are not expected to be present in the virtual environment by default, we will install them via ```pip install seaborn```. Note the ```-q``` to suppress install updates from ```pip```." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# If these have already been installed, this cell can be commented out.\n", + "!pip install pyqubo -q\n", + "!pip install seaborn -q" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# general imports\n", + "import pickle\n", + "import random\n", + "import time\n", + "from datetime import datetime\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import networkx as nx\n", + "import numpy as np\n", + "import seaborn as sns\n", + "\n", + "# magic line for producing visualizations in notebook\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# fix random seed for reproducibility\n", + "seed = 42\n", + "np.random.seed(seed)\n", + "random.seed(a=seed)\n", + "\n", + "# switch to trigger writing training results to disk\n", + "store_results = False\n", + "# switch to trigger printing results of each optimization cycle\n", + "verbose = False" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# AWS imports: Import Braket SDK modules\n", + "from braket.circuits import FreeParameter\n", + "from braket.devices import LocalSimulator" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "from utils_classical import plot_colored_graph_simple, solve_classical_ising\n", + "\n", + "# auto reload external files, so that we can edit the external .py file and immediately see the changes here\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Set up device: Local Simulator\n", + "device = LocalSimulator()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "## example code for other backends\n", + "# from braket.aws import AwsDevice\n", + "# from braket.devices import Devices\n", + "## choose the on-demand simulator to run your circuit\n", + "# device = AwsDevice(Devices.Amazon.SV1)\n", + "## choose the Rigetti device to run your circuit\n", + "# device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "## choose the Ionq device to run your circuit\n", + "# device = AwsDevice(Devices.IonQ.Aria1)\n", + "## choose the IQM device to run your circuit\n", + "# device = AwsDevice(Devices.IQM.Garnet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PROBLEM SETUP" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We consider a graph coloring problem.\n", + "Given a graph $G=(V,E)$, made of a set vertices (also called nodes) $V$ and edges $E$, our goal is to color each node red or blue, then score a point for each node that is next to a node of different color. \n", + "We strive to find the optimal coloring that scores the largest number of points.\n", + "To this end, we will address the dual problem of finding the minimum energy of the corresponding Ising Hamiltonian. \n", + "To get started, we first use the open-source ```networkx``` library to visualize the problem graph. \n", + "Feel free to play with the parameters $n$ (for the number of nodes) and $m$ (for the number of edges) below to consider other graphs of your choice. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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wR/9zLzhh4iIiMia2HShBIDpof3x2jhvk1zrb+N8MC2UayeJiIiI/pNEEARzn1JoEXaml+Pt+Hzo9EKzNus4SCVwlEqwfII/yyQRERHR77CbQgkAF6rrsPi7XCSXXoODVHLXYnn765Ge7oibHMDX3ERERER/wK4K5W0lFTewXVWO48W/oLyqDv/5L0CC34aWj/buiZkj+nM3NxEREdGfsMtC+Z80DTqUVWmg1enR3lGKgW6deAIOERERUTPYfaEkIiIiotax+V3eRERERGReLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQq/x/6+tCJfDntYQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# setup Erdos Renyi graph\n", + "n = 10 # number of nodes/vertices\n", + "m = 20 # number of edges\n", + "\n", + "# define graph object\n", + "G = nx.gnm_random_graph(n, m, seed=seed)\n", + "# positions for all nodes\n", + "pos = nx.spring_layout(G)\n", + "\n", + "# choose random weights\n", + "for u, v in G.edges():\n", + " G.edges[u, v][\"weight\"] = random.uniform(0, 1)\n", + "\n", + "# draw graph\n", + "nx.draw(G, pos)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "# set Ising matrix\n", + "Jfull = nx.to_numpy_array(G)\n", + "\n", + "# get off-diagonal upper triangular matrix\n", + "J = np.triu(Jfull, k=1).astype(np.float64)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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KF9e/dwfW+Lh6maPZiF1tZqprAzh91rs4TtwtLfAl/2bwMXBEldupWLg+D1IzXh2ybWKq02x//55VbXDWw3dMWDsLl2UXKKdx+/DsZIEX3VrCGc7C1y5l47w6YeQmvUsS2UnK5UV9cdpTxE+7SAm9G2M2JgPkJD+FKt2X8NPf15R9olefQqjuvnh2/CmcLKVIDE9FxsO3MSPWwzw5dUGubz55kQKDWdwR44cQU5ODt5/X/2NyTk5OTh58iRatVJ/+ePV1C9bGx4fCCcLIMQ8HfcfeX03A7E9tAWEMz4+sKzeW9dFaE3u/V+RVbBf12Voja1ZKIT0e632e8t1XYTW3Ng3ELU+/lXXZWjNrXW6/Xug9rtLtX7MGwcHaf2Y2qbxSmGLFq9+75q1tXUZJ4REREREpCv6c/MSERERkT4wzqvHxvp6RiIiIiIqiiuFREREREUZ6YMmnBQSERERFWWk32jCy8dERERExJVCIiIiIhXGuVDIlUIiIiIi4kohERERkSo+aEJEREREvHxMREREREaLK4VERERERSiM9JU0nBQSERERFWWk9xTy8jERERERcaWQiIiISIVxLhRypZCIiIiIAJFCoVDouggiIiIifeH90WqtH/PmH/21fkxt07PLx9d1XYCW+EA4WQAh5imQn9V1EVpjJg6AcMZHeL/XTiTv1HURWhPo0h7CGR/h/V4TXh4d4oMmRERERKQvFi5cCE9PT1hYWCAoKAgnTpwose8777wDkUhUbGvfvn2pz8dJIREREVFRonLYNLRx40ZEREQgKioKp0+fhr+/P8LCwpCUlKS2/5YtW/D48WPldvHiRZiYmKB79+6lPicnhURERER6Zs6cORg0aBDCw8NRr149LFmyBFZWVlixYoXa/o6OjnB3d1du+/btg5WVFSeFRERERGUmEml/00B+fj5OnTqF0NBQZZtYLEZoaCji4+NLdYzly5ejV69esLa2LvV59exBEyIiIiIdK4evuZNKpZBKpSptEokEEomkWN+UlBTIZDK4ubmptLu5ueHq1auvPdeJEydw8eJFLF++XKMauVJIREREVM5iYmJgZ2enssXExJTLuZYvX46GDRsiMDBQo/24UkhERERUVDksmUVGRiIiIkKlTd0qIQA4OzvDxMQEiYmJKu2JiYlwd3d/5XlycnKwYcMGfPvttxrXyJVCIiIionIm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SFkA5tFnQsoCCDOP7iy6vFfrxxxar22p++bn58PKygqbNm1Cp06dlO39+/dHRkYGtm/f/sr9FQoFDhw4gI8++gjbtm3De++9V6rzavzdx/b29pg2bRqmTZum6a5ERERERkkqlRZ700pJt9OlpKRAJpPBzc1Npd3NzQ1Xr14t8RyZmZnw8PCAVCqFiYkJFi1aVOoJIWAEL68mIiIi0kR5vJKmIt68UqlSJZw9exb//vsvvv/+e0RERODQoUOl3l/jlUIiIiIi0kxkZCQiIiJU2kp66NbZ2RkmJiZITExUaU9MTIS7u3uJ5xCLxcoHfgMCAnDlyhXExMQUu9+wxP1L1YuIiIjISJTHK2kkEglsbW1VtpImhebm5mjSpAni4uKUbXK5HHFxcQgODi51DrlcrtGXg3ClkIiIiKgIffhauoiICPTv3x9NmzZFYGAg5s2bh5ycHOXTyP369YOHh4fyEnRMTAyaNm2KWrVqQSqVIjY2FmvWrMHixYtLfU5OComIiIj0TM+ePZGcnIzJkycjISEBAQEB2L17t/Lhk/v370MsfnHBNycnB0OHDsWDBw9gaWkJX19frF27Fj179iz1OTV+JU35Esrj9EJ8NQDz6C8h5RFSFoB59JmQsgDCzKM7K6/v0foxw31K965AXeJKIREREVER+vDyal3ggyZERERExJVCIiIioqK4UkhERERERosrhURERERFmIj06BncCsRJIREREVERxnoZ1VhzExEREVERXCkkIiIiKoIPmhARERGR0dKzbzQhIiIi0q1Nd3Zr/ZjdvN7X+jG1Tc8uHwvlK3qE+HVDzKO/hJRHSFkA5tFnPqju/z9dF6E1989NhOd3e3VdhtbcndRWp+c31qePefmYiIiIiPRtpZCIiIhIt/igCREREREZLa4UEhERERVhrCuFnBQSERERFWGsk0JePiYiIiIirhQSERERFWXClUIiIiIiMlZcKSQiIiIqQmykL6/mpJCIiIioCGO9jGqsuYmIiIioCK4UEhERERXBV9IQERERkdEympXCdet2YvnyLUhOToevrxcmTfoCfn4+ui6rzISUR0hZAObRd0LKI6QsgGHk6dezCb7oHwwXZxtcuZ6IydP24NzFRyX2H/hxID7p0QQe7rZIy8hF7L4rmD7/AKT5MgBAYOPqGDygGRrWrQw310r47KvfsPfg9QrJ0rdp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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot Ising matrix\n", + "plt.figure(1, figsize=[7, 5])\n", + "sns.heatmap(J, annot=True, linewidths=0.5, cmap=\"YlGnBu\", annot_kws={\"alpha\": 1})\n", + "plt.title(\"Ising distance matrix\")\n", + "plt.tight_layout();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## IMPLEMENTATION OF QAOA WITH BRAKET " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section we load a set of useful helper functions that we will explain in detail below. \n", + "Specifically in ```utils_qaoa.py``` we provide simple building blocks for the core modules of our QAOA algorithm, that is (i) a function called ```circuit``` that defines the parametrized ansatz, (ii) a function called ```objective_function``` that takes a list of variational parameters as input, and returns the cost associated with those parameters and finally (iii) a function ```train``` to run the entire QAOA algorithm for given ansatz. \n", + "This way we can solve the problem in a clean and modular approach.\n", + "Here, we show in markdown the definition of the parametrized QAOA circuit. \n", + "For more details, see the corresponding file ```utils_qaoa.py```. " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], + "source": [ + "from utils_qaoa import circuit, train\n", + "\n", + "# auto reload external files, so that we can edit the external .py file and immediately see the changes here\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```python\n", + "# function to implement evolution with driver Hamiltonian\n", + "def driver(beta, n_qubits):\n", + " \"\"\"\n", + " Returns circuit for driver Hamiltonian U(Hb, beta)\n", + " \"\"\"\n", + " # instantiate circuit object\n", + " circ = Circuit()\n", + " \n", + " for qubit in range(n_qubits):\n", + " gate = Circuit().rx(qubit, 2*beta)\n", + " circ.add(gate)\n", + " \n", + " return circ\n", + "\n", + "\n", + "# helper function for evolution with cost Hamiltonian\n", + "def cost_circuit(gamma, n_qubits, ising):\n", + " \"\"\"\n", + " returns circuit for evolution with cost Hamiltonian\n", + " \"\"\"\n", + " # instantiate circuit object\n", + " circ = Circuit()\n", + "\n", + " # get all non-zero entries (edges) from Ising matrix \n", + " idx = ising.nonzero()\n", + " edges = list(zip(idx[0], idx[1]))\n", + " \n", + " for qubit_pair in edges:\n", + " # get interaction strength\n", + " int_strength = ising[qubit_pair[0], qubit_pair[1]]\n", + " # for Rigetti we decompose ZZ using CNOT gates\n", + " if 'Ankaa' in device.name:\n", + " gate = ZZgate(qubit_pair[0], qubit_pair[1], gamma*int_strength)\n", + " circ.add(gate)\n", + " # classical simulators and IonQ support ZZ gate\n", + " else:\n", + " gate = Circuit().zz(qubit_pair[0], qubit_pair[1], angle=2*gamma*int_strength)\n", + " circ.add(gate)\n", + "\n", + " return circ\n", + "\n", + "\n", + "# function to build the QAOA circuit with depth p\n", + "def circuit(params, n_qubits, ising):\n", + " \"\"\"\n", + " function to return full QAOA circuit\n", + " \"\"\"\n", + "\n", + " # initialize qaoa circuit with first Hadamard layer: for minimization start in |->\n", + " circ = Circuit()\n", + " X_on_all = Circuit().x(range(0, n_qubits))\n", + " circ.add(X_on_all)\n", + " H_on_all = Circuit().h(range(0, n_qubits))\n", + " circ.add(H_on_all)\n", + "\n", + " # setup two parameter families\n", + " circuit_length = int(len(params) / 2)\n", + " gammas = params[:circuit_length]\n", + " betas = params[circuit_length:]\n", + "\n", + " # add circuit layers\n", + " for mm in range(circuit_length):\n", + " circ.add(cost_circuit(gammas[mm], n_qubits, ising))\n", + " circ.add(driver(betas[mm], n_qubits))\n", + "\n", + " return circ\n", + "\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## VISUALIZATION OF THE QAOA ANSATZ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first visualize our parametrized QAOA ansatz for a small number of qubits and fixed (i.e., not optimized) parameters. \n", + "For convenience, the parameters are displayed in the circuit (up to a factor of $2$ we have added in our ansatz definition). \n", + "First we prepare the state $|0,0,\\dots\\rangle \\rightarrow |-,-,\\dots\\rangle$, with the superposition state $|-\\rangle = (|0\\rangle -|1\\rangle )/\\sqrt{2}$. \n", + "Following the discussion above, we choose to start out with this state as it is the minimal energy state of the simple driver Hamiltonian $H_{B}$. \n", + "This state preparation is followed by one layer of the QAOA ansatz, consisting of evolution with the cost Hamiltonian by $\\exp(-i\\gamma H_{C})= \\prod_{j,l}\\exp(-i\\gamma J_{j,l}\\sigma_{j}^{z}\\sigma_{l}^{z}) = \\prod_{j,l} ZZ_{j,l}(2\\gamma J_{j,l})$, followed by the single-qubit driving term, $\\exp(-i\\beta H_{B})= \\prod_{j} \\exp(-i\\beta \\sigma_{j}^{x})= \\prod_{j} R_{j}^{(x)}(2\\beta)$.\n", + "Note that the circuit definition depends on the ```device``` object, as the implementation of the ZZ gate depends on the specific gate set supported by the device. " + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Printing test circuit:\n", + "T : |0|1| 2 | 3 |\n", + " \n", + "q0 : -X-H-ZZ(2*gamma)-Rx(2*beta)-\n", + " | \n", + "q1 : -X-H-ZZ(2*gamma)-Rx(2*beta)-\n", + "\n", + "T : |0|1| 2 | 3 |\n", + "\n", + "Unassigned parameters: [beta, gamma].\n" + ] + } + ], + "source": [ + "# create parameters\n", + "gammas = [FreeParameter(\"gamma\")]\n", + "betas = [FreeParameter(\"beta\")]\n", + "params = gammas + betas\n", + "\n", + "# for demonstration purposes use small Ising matrix\n", + "J_sub = np.array([[0, 1], [0, 0]])\n", + "N = J_sub.shape[0]\n", + "\n", + "# get circuit ansatz\n", + "my_simple_circuit = circuit(params, device, N, J_sub)\n", + "\n", + "# print test ansatz circuit\n", + "print(\"Printing test circuit:\")\n", + "print(my_simple_circuit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that our ansatz produces the expected result for shallow QAOA with $p=1$. \n", + "We run one more sanity check for $p=2$ below. " + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Printing test circuit:\n", + "T : |0|1| 2 | 3 | 4 | 5 |\n", + " \n", + "q0 : -X-H-ZZ(2*gamma_1)-Rx(2*beta_1)-ZZ(2*gamma_2)-Rx(2*beta_2)-\n", + " | | \n", + "q1 : -X-H-ZZ(2*gamma_1)-Rx(2*beta_1)-ZZ(2*gamma_2)-Rx(2*beta_2)-\n", + "\n", + "T : |0|1| 2 | 3 | 4 | 5 |\n", + "\n", + "Unassigned parameters: [beta_1, beta_2, gamma_1, gamma_2].\n" + ] + } + ], + "source": [ + "# set number of qubits and fix parameters\n", + "gammas = [FreeParameter(\"gamma_1\"), FreeParameter(\"gamma_2\")]\n", + "betas = [FreeParameter(\"beta_1\"), FreeParameter(\"beta_2\")]\n", + "params = gammas + betas\n", + "\n", + "# for demonstration purposes use small Ising matrix\n", + "J_sub = np.array([[0, 1], [0, 0]])\n", + "N = J_sub.shape[0]\n", + "\n", + "# get circuit ansatz\n", + "my_simple_circuit = circuit(params, device, N, J_sub)\n", + "\n", + "# print test ansatz circuit\n", + "print(\"Printing test circuit:\")\n", + "print(my_simple_circuit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## QAOA SIMULATION ON LOCAL SCHROEDINGER SIMULATOR" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now all set to run some QAOA simulation experiments. \n", + "First of all, you can play and experiment yourself with the number of qubits $N$. \n", + "Secondly, you may also experiment with the classical optimizer. \n", + "Since we are using an off-the-shelf, black-box ```scipy``` minimizer (as described in more detail [here](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html)), you can simply swap between different optimizers by setting the ```OPT_METHOD``` parameter below. \n", + "Some popular options readily available within this library include *Nelder-Mead*, *BFGS* and *COBYLA*. \n", + "As a precautionary warning, note that the classical optimization step may get stuck in a local optimum, rather than finding the global minimum for our parametrized QAOA ansatz wavefunction. \n", + "To address this issue, we may run several optimization loops, starting from different random parameter seeds. \n", + "While this brute-force approach does not provide any guarantee to find the global optimum, from a pragmatic point of view at least it does increase the odds of finding an acceptable solution, at the expense of potentially having to run many more circuits on the simulator or QPU, respectively.\n", + "Finally, the optimization loop may require the execution of many individual quantum tasks (i.e., single circuit executions for fixed parameters). \n", + "For example, when choosing the classical [Powell](https://docs.scipy.org/doc/scipy/reference/optimize.minimize-powell.html#optimize-minimize-powell) optimizer for the graph considered here, we find $\\sim 270$ cycles in the for loop. \n", + "For the local simulator device chosen here by default this is not an issue, but if you run this algorithm on any QPU you may want to adjust the ```maxfev``` parameter to control the maximum allowed number function evaluations (compare comment in the next code block below)." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "##################################################################################\n", + "# set up hyperparameters\n", + "##################################################################################\n", + "\n", + "# User-defined hypers\n", + "DEPTH = 3 # circuit depth for QAOA\n", + "SHOTS = 1000 # number measurements to make on circuit\n", + "OPT_METHOD = \"COBYLA\" # SLSQP, COBYLA, Nelder-Mead, BFGS, Powell, ...\n", + "\n", + "# set up the problem\n", + "n_qubits = J.shape[0]\n", + "\n", + "# initialize reference solution (simple guess)\n", + "bitstring_init = -1 * np.ones([n_qubits])\n", + "energy_init = np.dot(bitstring_init, np.dot(J, bitstring_init))\n", + "\n", + "# set tracker to keep track of results\n", + "tracker = {\n", + " \"count\": 1, # Elapsed optimization steps\n", + " \"optimal_energy\": energy_init, # Global optimal energy\n", + " \"opt_energies\": [], # Optimal energy at each step\n", + " \"global_energies\": [], # Global optimal energy at each step\n", + " \"optimal_bitstring\": bitstring_init, # Global optimal bitstring\n", + " \"opt_bitstrings\": [], # Optimal bitstring at each step\n", + " \"costs\": [], # Cost (average energy) at each step\n", + " \"res\": None, # Quantum result object\n", + " \"params\": [], # Track parameters\n", + "}\n", + "\n", + "# set options for classical optimization\n", + "options = {\"disp\": True, \"maxiter\": 50}" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Circuit depth hyperparameter: 3\n", + "Problem size: 10\n", + "Starting the training.\n", + "====================================================================\n", + "OPTIMIZATION for circuit depth p=3\n", + "Param \"verbose\" set to False. Will not print intermediate steps.\n", + "====================================================================\n", + "Final average energy (cost):\n", + " Return from subroutine COBYLA because the MAXFUN limit has been reached.\n", + " -0.586455292294228\n", + "Final angles: [5.78684986 4.70523429 6.47840919 0.25681156 1.2539245 2.7942261 ]\n", + "Training complete.\n", + "Code execution time [sec]: 6.3666791915893555\n", + "Optimal energy: -6.486032631497276\n", + "Optimal classical bitstring: [-1 1 -1 -1 1 -1 1 1 -1 -1]\n", + "\n", + " NFVALS = 50 F =-5.864553E-01 MAXCV = 0.000000E+00\n", + " X = 5.786850E+00 4.705234E+00 6.478409E+00 2.568116E-01 1.253925E+00\n", + " 2.794226E+00\n" + ] + } + ], + "source": [ + "##################################################################################\n", + "# run QAOA optimization on graph\n", + "##################################################################################\n", + "\n", + "print(\"Circuit depth hyperparameter:\", DEPTH)\n", + "print(\"Problem size:\", n_qubits)\n", + "\n", + "# kick off training\n", + "start = time.time()\n", + "result_energy, result_angle, tracker = train(\n", + " device=device,\n", + " options=options,\n", + " p=DEPTH,\n", + " ising=J,\n", + " n_qubits=n_qubits,\n", + " n_shots=SHOTS,\n", + " opt_method=OPT_METHOD,\n", + " tracker=tracker,\n", + " verbose=verbose,\n", + ")\n", + "end = time.time()\n", + "\n", + "# print execution time\n", + "print(\"Code execution time [sec]:\", end - start)\n", + "\n", + "# print optimized results\n", + "print(\"Optimal energy:\", tracker[\"optimal_energy\"])\n", + "print(\"Optimal classical bitstring:\", tracker[\"optimal_bitstring\"])\n", + "\n", + "##################################################################################\n", + "# Compute output and dump to pickle\n", + "##################################################################################\n", + "\n", + "if store_results:\n", + " out = {\n", + " \"p\": DEPTH,\n", + " \"N\": n_qubits,\n", + " \"ENERGY_OPTIMAL\": tracker[\"optimal_energy\"],\n", + " \"BITSTRING\": tracker[\"optimal_bitstring\"],\n", + " \"result_energy\": result_energy,\n", + " \"result_angle\": result_angle,\n", + " }\n", + "\n", + " # store results: dump output to pickle with timestamp in filename\n", + " time_now = datetime.strftime(datetime.now(), \"%Y%m%d%H%M%S\")\n", + " results_file = \"results-\" + time_now + \".pkl\"\n", + " print(f\"Writing results to file: {results_file}\")\n", + " pickle.dump(out, open(results_file, \"wb\"))\n", + "\n", + " # you can load results as follows\n", + " # out = pickle.load(open(results_file, \"rb\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## POSTPROCESSING AND COMPARISON OF OUR QAOA RESULTS WITH CLASSICAL RESULTS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section we visualize the results we have found with QAOA. \n", + "Specifically, we display the results found for the variational parameters $\\beta$ and $\\gamma$ for every layer in our QAOA ansatz. \n", + "Moreover, we show the solution to our graph coloring problem with every node colored either red or blue (recall that there are just two colors since we solve a _binary_ optimization problem).\n", + "Finally, we compare these results to results found classically using the open-source ```pyqubo``` package. \n", + "Ideally, the two results should agree with each other but this is not necessarily the case for several reasons: \n", + "First of all, for the original small toy problem we have set up there are several degenerate classical solutions with the same optimal quality. \n", + "The classical and the QAOA approach may find solutions with different coloring configurations but the same quality (that is energy). \n", + "Secondly, with QAOA we are not guaranteed to find the optimal solutions. \n", + "Specifically, the deeper the circuit, the harder the classical optimization problem, and we may get stuck in a local rather than global optimum. \n", + "One brute-force approach is then to just re-run QAOA with different random initial seeds for the parameters $(\\beta, \\gamma)$." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimization on graph with n=10 vertices, m=20 edges, optimized with COBYLA and 1000 shots per call; seed=42.\n" + ] }, - "nbformat": 4, - "nbformat_minor": 4 + { + "data": { + "image/png": "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KDAwUH/84x/18MMPa9y4cS4vsiYyDEMFRSWeLgMAAI8LqF1LFovFY+d3OgzVrVvXMU4oLCxMx44dU9u2bSVJZ8+edW11NVhBUYliXl7n6TIAAPC4b/54n+r43dQwZpdw+sxdu3bVF198odtuu03333+/pkyZov3792vFihXq2rWrO2oEAABwm0pNuvhLx48fV35+vjp06KCLFy9qypQp+vLLL9WqVSvNmzdPkZGR7qrVI9w16SK3yQAAuMIdt8mc+f12OgyZDTNQAwDgfZz5/Xb6abKdO3dqx44d16zfsWOHvv76a2cPBwAA4FFOh6EJEyYoMzPzmvVZWVmaMGGCS4oqz5o1axQXF6eAgADZbDYNGjSowvajR4+WxWIps/Tv39+tNQIAAO/i9ADqb7755rqTK3bu3FnffPONS4q6nuXLl2vMmDGaNWuWevfureLiYh04cOCG+/Xv31+LFi1yfLZarW6rEQAAeB+nw5DVatUPP/yg6OjoMuuzs7Pl6+uex+KKi4s1ceJEpaamKiEhwbE+JibmhvtarVY1adKk0ucqLCxUYWGh43NeXp5zxQIAAK/i9G2yfv36KSkpSbm5uY51P/30k1588UXde++9Li3uqvT0dGVlZcnHx0edO3dWWFiYBgwYUKkrQ5s3b1ajRo3UunVrjRs3TufOnauwfUpKioKDgx1LRESEq74GAACohpx+miwrK0t33323zp07p86dO0uS9uzZo8aNG2vDhg1uCQ9Lly7VyJEj1bx5c82bN09RUVGaO3eu1q9fryNHjqh+/frl7lenTh21aNFCx44d04svvqjAwEBt27ZNtWrVuu4+17syFBERwdNkAAB4Ebc/Wn/x4kW9//772rt3rwICAtShQweNHDlStWvXduo4iYmJmj17doVtDh06pPT0dD322GN666239Pvf/17SldDSrFkzvfLKK3rqqacqdb7jx4/rV7/6lT777DP16dOnUvvwaD0AAN7Hmd/vmxrkU7duXUcouRVTpkzR6NGjK2wTHR2t7OxsSWXHCFmtVkVHRysjI6PS54uOjlbDhg119OjRSochAABQs1UqDK1atUoDBgxQ7dq1tWrVqgrbPvTQQ5U+eWhoqEJDQ2/YLjY2VlarVXa7XT169JAkFRUV6eTJk07NeP3999/r3LlzCgsLq/Q+AACgZqvUbTIfHx/l5OSoUaNG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jh3ria8AAACqIa+YZ8iTmGcIAADvU+PmGQIAAHAXwhAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1X08XUN0ZhiFJysvL83AlAACgsq7+bl/9Ha8IYegGLly4IEmKiIjwcCUAAMBZFy5cUHBwcIVtLEZlIpOJlZaW6tSpU6pXr54sFkul9snLy1NERIQyMzMVFBTk5gpBf1ct+rtq0d9Vi/6uWu7sb8MwdOHCBYWHh8vHp+JRQVwZugEfHx81a9bspvYNCgriP6YqRH9XLfq7atHfVYv+rlru6u8bXRG6igHUAADA1AhDAADA1AhDbmC1WpWcnCyr1erpUkyB/q5a9HfVor+rFv1dtapLfzOAGgAAmBpXhgAAgKkRhgAAgKkRhgAAgKkRhgAAgKkRhtxgwYIFioqKkr+/v+Li4vTVV195uqQa4f/9v/+nBx98UOHh4bJYLPr3v/9dZrthGHr55ZcVFhamgIAA9e3bV99++61niq0BUlJS1KVLF9WrV0+NGjXSoEGDZLfby7T5+eefNWHCBDVo0ECBgYEaOnSofvjhBw9V7N3efPNNdejQwTH5XLdu3fTpp586ttPX7vPqq6/KYrFo0qRJjnX0t2vNmDFDFoulzNKmTRvHdk/3N2HIxT788ENNnjxZycnJSk9PV8eOHXXffffp9OnTni7N6128eFEdO3bUggULrrt9zpw5ev3117Vw4ULt2LFDdevW1X333aeff/65iiutGbZs2aIJEyZo+/bt2rBhg4qKitSvXz9dvHjR0ea5557TJ598omXLlmnLli06deqUhgwZ4sGqvVezZs306quvateuXfr666/Vu3dvPfzwwzp48KAk+tpddu7cqbfeeksdOnQos57+dr22bdsqOzvbsXzxxReObR7vbwMudeeddxoTJkxwfC4pKTHCw8ONlJQUD1ZV80gyVq5c6fhcWlpqNGnSxEhNTXWs++mnnwyr1Wp88MEHHqiw5jl9+rQhydiyZYthGFf6t3bt2sayZcscbQ4dOmRIMrZt2+apMmsUm81mvPPOO/S1m1y4cMFo1aqVsWHDBqNnz57GxIkTDcPg37Y7JCcnGx07drzuturQ31wZcqHLly9r165d6tu3r2Odj4+P+vbtq23btnmwsprvxIkTysnJKdP3wcHBiouLo+9dJDc3V5JUv359SdKuXbtUVFRUps/btGmj5s2b0+e3qKSkREuXLtXFixfVrVs3+tpNJkyYoAceeKBMv0r823aXb7/9VuHh4YqOjtZjjz2mjIwMSdWjv3lRqwudPXtWJSUlaty4cZn1jRs31uHDhz1UlTnk5ORI0nX7/uo23LzS0lJNmjRJ3bt3V7t27SRd6XM/Pz+FhISUaUuf37z9+/erW7du+vnnnxUYGKiVK1cqJiZGe/bsoa9dbOnSpUpPT9fOnTuv2ca/bdeLi4vT4sWL1bp1a2VnZ2vmzJn6zW9+owMHDlSL/iYMAbihCRMm6MCBA2Xu8cP1WrdurT179ig3N1cfffSRRo0apS1btni6rBonMzNTEydO1IYNG+Tv7+/pckxhwIABjr87dOiguLg4RUZG6l//+pcCAgI8WNkV3CZzoYYNG6pWrVrXjID/4Ycf1KRJEw9VZQ5X+5e+d72nn35aq1ev1qZNm9SsWTPH+iZNmujy5cv66aefyrSnz2+en5+fWrZsqdjYWKWkpKhjx476y1/+Ql+72K5du3T69Gndfvvt8vX1la+vr7Zs2aLXX39dvr6+aty4Mf3tZiEhIfr1r3+to0ePVot/34QhF/Lz81NsbKw2btzoWFdaWqqNGzeqW7duHqys5mvRooWaNGlSpu/z8vK0Y8cO+v4mGYahp59+WitXrlRaWppatGhRZntsbKxq165dps/tdrsyMjLocxcpLS1VYWEhfe1iffr00f79+7Vnzx7Hcscdd+ixxx5z/E1/u1d+fr6OHTumsLCw6vHvu0qGaZvI0qVLDavVaixevNj45ptvjN///vdGSEiIkZOT4+nSvN6FCxeM3bt3G7t37zYkGfPmzTN2795tfPfdd4ZhGMarr75qhISEGB9//LGxb98+4+GHHzZatGhhFBQUeLhy7zRu3DgjODjY2Lx5s5Gdne1YLl265GgzduxYo3nz5kZaWprx9ddfG926dTO6devmwaq9V2JiorFlyxbjxIkTxr59+4zExETDYrEY69evNwyDvna3Xz5NZhj0t6tNmTLF2Lx5s3HixAlj69atRt++fY2GDRsap0+fNgzD8/1NGHKDN954w2jevLnh5+dn3Hnnncb27ds9XVKNsGnTJkPSNcuoUaMMw7jyeP1LL71kNG7c2LBarUafPn0Mu93u2aK92PX6WpKxaNEiR5uCggJj/Pjxhs1mM+rUqWMMHjzYyM7O9lzRXuyJJ54wIiMjDT8/PyM0NNTo06ePIwgZBn3tbv8dhuhv1xo+fLgRFhZm+Pn5GU2bNjWGDx9uHD161LHd0/1tMQzDqJprUAAAANUPY4YAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAuF1UVJTmz59/S8eYMWOGOnXq5JJ6ynPy5ElZLBbt2bPHredxp5rwHYCqxgzUAFxm8eLFmjRp0jVvnz5z5ozq1q2rOnXq3PSx8/PzVVhYqAYNGtxilVeMHj1aP/30k/7973871pWUlOjMmTNq2LChfH19XXKeqnby5Em1aNFCu3fvdnt4BGoK7/yvHYBXCQ0NveVjBAYGKjAw0AXVlK9WrVpq0qSJW88BoPrhNhkASVJhYaGeffZZNWrUSP7+/urRo4d27tzp2L5582ZZLBatWbNGHTp0kL+/v7p27aoDBw44tj/++OPKzc2VxWKRxWLRjBkzJF17m8xiseitt97SwIEDVadOHd12223atm2bjh49ql69eqlu3bq66667dOzYMcc+/32b7Oo5frlERUVJunKFJyEhQS1atFBAQIBat26tv/zlL2WOtWTJEn388ceOfTdv3nzdW0xbtmzRnXfeKavVqrCwMCUmJqq4uNixvVevXnr22Wc1depU1a9fX02aNHF874q89957atu2reO4Tz/9tCTpiSee0MCBA8u0LSoqUqNGjfTuu+9KkkpLSzVnzhy1bNlSVqtVzZs315///Odyz3XgwAENGDBAgYGBaty4seLj43X27Nkb1giYRpW9EhZAtfbss88a4eHhxn/+8x/j4MGDxqhRowybzWacO3fOMAzD2LRpkyHJuO2224z169cb+/btMwYOHGhERUUZly9fNgoLC4358+cbQUFBRnZ2tpGdnW1cuHDBMAzDiIyMNF577TXHuSQZTZs2NT788EPDbrcbgwYNMqKioozevXsba9euNb755huja9euRv/+/R37JCcnGx07dnR8vnqO7Oxs4+jRo0bLli2N+Ph4wzAM4/Lly8bLL79s7Ny50zh+/Ljxz3/+06hTp47x4YcfGoZhGBcuXDAeeeQRo3///o5jFBYWGidOnDAkGbt37zYMwzC+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualize the optimization process\n", + "cycles = np.arange(1, tracker[\"count\"])\n", + "optim_classical = tracker[\"global_energies\"]\n", + "\n", + "# print information\n", + "info = \"Optimization on graph with n={} vertices, m={} edges, optimized with {} and {} shots per call; seed={}.\"\n", + "print(info.format(n, m, OPT_METHOD, SHOTS, seed))\n", + "\n", + "plt.plot(cycles, optim_classical)\n", + "plt.xlabel(\"optimization cycle\")\n", + "plt.ylabel(\"best classical minimum\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimal energy found with QAOA: -6.486032631497276\n", + "Optimal bit-string found with QAOA: [-1 1 -1 -1 1 -1 1 1 -1 -1]\n" + ] + } + ], + "source": [ + "# print the optimal energy found with QAOA\n", + "print(\"Optimal energy found with QAOA:\", tracker[\"optimal_energy\"])\n", + "# print the corresponding bitstring\n", + "print(\"Optimal bit-string found with QAOA:\", tracker[\"optimal_bitstring\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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evvttxEdHY333nsPBgYGqvJhw4bhP//5T5cG15YtW7Zg/vz52LJlC6ZMmXLD+pWVlUhLS4OTk5PWYyMiIqLeQeMEaNOmTfjqq6/w6KOPqq36CgwMxNmzZzVqq7KyEklJSUhKSgIApKenIykpSTVpeenSpZg7d66q/ubNmzF37lysW7cOISEhyMvLQ15eHsrKylR1Xn75ZRw4cAAZGRmIi4vD/fffD5lMhtmzZ2v6UomIiKiP0jgBysnJgbe3d6typVKJhoYGjdpKSEjA8OHDVUvYo6KiMHz4cCxbtgwAkJubq7aC66uvvkJjYyOee+45ODk5qT5efPFFVZ3Lly9j9uzZ8PX1xYwZM2BjY4PDhw/Dzs5O05dKREREfZTGq8D8/Pzw999/w8PDQ618x44danvxdMa4cePQ0Rzs6OhotcedOWpj69atGsVARERE/Y/GCdCyZcsQGRmJnJwcKJVK/Pjjjzh37hw2bdqEX3/9VRsxEhEREXUpjYfApk2bhl9++QV79+6FiYkJli1bhjNnzuCXX37BxIkTtREjERERUZe6pX2A+ipN9hEgIiKinkGr+wARERER9XadmgNkZWUFiUTSqQavXr16SwERERERaVunEqDrT2EnIiIi6s06lQBFRkZqOw4iIiKibqPxMvjy8vI2yyUSCeRyudrxGEREREQ9kcYJkKWlZYfzgVxdXTFv3jwsX74cUinnWBMREVHPo3ECFB0djX//+9+YN28egoODAQBHjx5FTEwMXn/9dRQWFmLt2rWQy+V47bXXujxgIiIiolulcQIUExODdevWYcaMGaqyqVOnwt/fH19++SViY2Ph7u6Ot99+mwkQERER9Ugaj1HFxcW1eebX8OHDER8fDwC47bbb1A4xJSIiIupJNE6A3NzcsGHDhlblGzZsgJubGwCguLgYVlZWtx4dERERkRZoPAS2du1aPPzww/j9998xevRoAEBCQgLOnj2LHTt2AACOHTuGmTNndm2kRERERF3kps4CS09Px5dffonz588DAHx9ffH000/D09Ozq+PTCZ4FRkRE1Pto8v7Nw1DbwASIiIio99Hk/VvjITAAKC0txdGjR1FQUAClUql2be7cuTfTJBEREVG30TgB+uWXX/Doo4+isrIS5ubmapsiSiQSJkBERETU42m8Cmzx4sV4/PHHUVlZidLSUpSUlKg+eBI8ERER9QYaJ0A5OTl44YUXYGxsrI14iIiIiLRO4wQoIiICCQkJ2oiFiIiIqFtoPAdoypQp+Ne//oXU1FT4+/tDX19f7fp9993XZcERERERaYPGy+A7OuFdIpFAoVDcclC6xmXwREREvY9Wl8Ffv+ydiIiIqLfReA4QERERUW93UxshVlVV4cCBA8jKykJ9fb3atRdeeKFLAiMiIiLSFo0ToBMnTuCee+5BdXU1qqqqYG1tjaKiIhgbG8Pe3p4JEBEREfV4Gg+BvfTSS5g6dSpKSkpgZGSEw4cPIzMzEyNHjsTatWu1ESMRERFRl9I4AUpKSsLixYshlUohk8lQV1cHNzc3vPfee3jttde0ESMRERFRl9I4AdLX11cthbe3t0dWVhYAwMLCAtnZ2V0bHREREZEWaDwHaPjw4Th27Bh8fHxw5513YtmyZSgqKsK3336LYcOGaSNGIiIioi6lcQ/QO++8AycnJwDA22+/DSsrKzz77LMoLCzEV1991eUBEhEREXU1jROgUaNGYfz48QDEIbA9e/agvLwciYmJCAwM1KitgwcPYurUqXB2doZEIsGuXbtueM/+/fsxYsQIyOVyeHt7Izo6ulWdzz77DJ6enjA0NERISAiOHj2qUVxERETUt+l0I8SqqioEBgbis88+61T99PR0TJkyBePHj0dSUhIWLVqEJ554An/88YeqzrZt2xAVFYXly5fj+PHjCAwMREREBAoKCrT1MoiIiKiX0fgsMG2RSCTYuXMnpk+f3m6dV155Bbt370ZKSoqqbNasWSgtLcWePXsAACEhIRg9ejQ+/fRTAOLRHW5ubnj++efx6quvttluXV0d6urqVI/Ly8vh5ubGs8CIiIh6EU3OAutVR2HEx8cjPDxcrSwiIgLx8fEAgPr6eiQmJqrVkUqlCA8PV9Vpy+rVq2FhYaH6cHNz084LICIioh6hVyVAeXl5cHBwUCtzcHBAeXk5ampqUFRUBIVC0WadvLy8dttdunQpysrKVB9czk9ERNS33dRZYH2NXC6HXC7XdRhERETUTTqVAH388cedblCbZ4E5OjoiPz9frSw/Px/m5uYwMjKCTCaDTCZrs46jo6PW4iIiIqLepVMJ0IcfftipxiQSiVYToNDQUPz2229qZX/99RdCQ0MBAAYGBhg5ciRiY2NVk6mVSiViY2OxcOFCrcVFREREvUunEqD09HStPHllZSUuXryo9jxJSUmwtraGu7s7li5dipycHGzatAkA8Mwzz+DTTz/FkiVL8Pjjj+N///sfvv/+e+zevVvVRlRUFCIjIzFq1CgEBwdj/fr1qKqqwvz587XyGoiIiKj30ekcoISEBNWmioCYvABAZGQkoqOjkZubqzprDAC8vLywe/duvPTSS/joo4/g6uqK//znP4iIiFDVmTlzJgoLC7Fs2TLk5eUhKCgIe/bsaTUxmoiIiPqvm9oH6PLly/j555+RlZWF+vp6tWsffPBBlwWnK5rsI0BEREQ9gybv3xr3AMXGxuK+++7DgAEDcPbsWQwbNgwZGRkQBAEjRoy46aCJiIiIuovG+wAtXboUL7/8Mk6dOgVDQ0P88MMPyM7Oxp133omHH35YGzESERERdSmNE6AzZ85g7ty5AAA9PT3U1NTA1NQUb775Jt59990uD5CIiIioq2mcAJmYmKjm/Tg5OSEtLU11raioqOsiIyIiItISjecAjRkzBv/88w+GDBmCe+65B4sXL8apU6fw448/YsyYMdqIkYiIiKhLaZwAffDBB6isrAQArFy5EpWVldi2bRt8fHz6xAowIiIi6vtuahl8X8dl8ERERF2oNBuoLm7/urENYOl2y0+j1WXw16qsrIRSqVQrY8JAREREKqXZwKcjgca69uvoyYGFiV2SBHWWxpOg09PTMWXKFJiYmMDCwgJWVlawsrKCpaUlrKystBEjERER9VbVxR0nP4B4vaMeIi3QuAdozpw5EAQB33zzDRwcHCCRSLQRFxEREZHWaJwAJScnIzExEb6+vtqIh4iIiEjrNB4CGz16NLKzs7URCxEREfUltWXA2d26jqJNGvcA/ec//8EzzzyDnJwcDBs2DPr6+mrXAwICuiw4IiIi6mUUjcCl/UDyFuDsr0Bjra4japPGCVBhYSHS0tIwf/58VZlEIoEgCJBIJFAoFF0aIBEREfUC+alA8mbg5HagMq+l3NIDKM3UXVzt0DgBevzxxzF8+HBs2bKFk6CJiIj6s8pCIGUHkLQZyDvZUm5kDfg/BATOBiQS4KtxOguxPRonQJmZmfj555/h7e2tjXiIiIioJ2uoBc7vEYe4LvwFCE0jP1J9YFAEEPQI4D0R0DMQy0uzxX1+brQPkLGN9mO/9ik1veGuu+5CcnIyEyAiIqL+QhCAy8fEpCflB3FyczOXkWJPz7AHAWPr1vdauombHHbDTtCa0DgBmjp1Kl566SWcOnUK/v7+rSZB33fffV0WHBEREelQaRaQvE1MfK6mtZSbuwABM4HAWYBdJ7bFsXTr9gTnRjQ+C0wqbX/lfF+ZBM2zwIiIqN+qqwBSfwKStwIZf7eU6xsDQ+4DgmYDnrcDUpnuYmyHVs8Cu/7sLyIiIurllAog/QCQtAU48wvQWNN0QQJ43S4OcQ25D5Cb6jTMrnRLh6ESERFRL1ZwVhzeOvk9UHGlpdzGW0x6Amb2uKGrrtKpBOjjjz/GU089BUNDQ3z88ccd1n3hhRe6JDAiIiLSgqpicel68hbgyomWckPLlqXrLiPF5et9WKfmAHl5eSEhIQE2Njbw8vJqvzGJBJcuXerSAHWBc4CIiKhPaawDLvwpDnFd+ANQNorlUj3AJ0KczDwoQlyO3ot1+Ryg9PT0Nv9PREREPZQgADnHxd2ZU34AakparjkFifv1DHsQMLHVWYi6pPEcoDfffBMvv/wyjI2N1cpramrw/vvvY9myZV0WHBEREWmo7DJwcpu4iqvofEu5mRMQMEMc4rIforv4egiNl8HLZDLk5ubC3t5erby4uBj29vZcBk9ERNTd6irF1VvJW4D0gwCa3tr1jIAhU8UhrgHjeuTS9a6k1WXwzYeeXi85ORnW1m3sAElERERdT6kU9+lJ3gKk/gw0VLVc87hN3K9nyH2AIf+Qb0unEyArKytIJBJIJBIMGjRILQlSKBSorKzEM888o5UgiYiIqEnRBfHw0ZPfA+WXW8qtBwCBj4jDXFYeuouvl+h0ArR+/XoIgoDHH38cK1euhIWFheqagYEBPD09ERoaqpUgiYiI+rXqq+JE5uQtQE5iS7mhBTD0AXFCs+voPr90vSt1OgGKjIwEIC6JDwsLa3UGGBEREXWhxnrg4l9i0nNuD6BsEMslMsBnYtPS9cmAvqFu4+ylNJ4DdOedd0KhUGDHjh04c+YMAMDPzw/Tpk2Dnh43liYiIrppgiBuTpi8Vdys8NoT1B39xSEu/4cAU/v226BOaf9k03acPn0agwYNQmRkJHbu3ImdO3ciMjISPj4+SElJuakgPvvsM3h6esLQ0BAhISE4evRou3XHjRunmot07ceUKVNUdebNm9fq+qRJk24qNiIiIq0rvwL88yHwf2OAr8cDR78Ukx9TByB0IfDMIeCZf4DQ/8fkp4to3GXzxBNPYOjQoUhISICVlRUAoKSkBPPmzcNTTz2FuLg4jdrbtm0boqKi8MUXXyAkJATr169HREQEzp0712qpPQD8+OOPqK+vVz0uLi5GYGAgHn74YbV6kyZNwsaNG1WP5fLevbslERH1MfVVwNnd4oTmS/vRsnTdEBg8ReztGTAOkHF0RRs0/qwmJSWpJT+AuELs7bffxujRozUO4IMPPsCTTz6J+fPnAwC++OIL7N69G9988w1effXVVvWvX2q/detWGBsbt0qA5HI5HB0dNY6HiIhIa5RKIPOQOMSVuguor2y55h4mzusZOl2c3ExapXECNGjQIOTn52Po0KFq5QUFBfD29taorfr6eiQmJmLp0qWqMqlUivDwcMTHx3eqjQ0bNmDWrFkwMTFRK9+/fz/s7e1hZWWFu+66C2+99RZsbGzabKOurg51dXWqx+Xl5Rq9DiIiog4Vp4mTmZO3AWVZLeVWni2nrlu3f9YmdT2NE6DVq1fjhRdewIoVKzBmzBgAwOHDh/Hmm2/i3XffVUsebrQLY1FRERQKBRwcHNTKHRwccPbs2RvGcvToUaSkpGDDhg1q5ZMmTcIDDzwALy8vpKWl4bXXXsPkyZMRHx8Pmaz1LpirV6/GypUrb/h8REREnVZTAqT8KPb2XL5mbqvcHBh6v5j4uI/h0nUd0fgoDKm0Zd5082aIzU1c+1gikdzwWIwrV67AxcUFcXFxansILVmyBAcOHMCRI0c6vP/pp59GfHw8Tp482WG9S5cuYeDAgdi7dy8mTJjQ6npbPUBubm48CoOIiDSjaAAuxooHkJ77HVA0zVmVSIGBE8TdmX3vAfSNdBtnH6XVozD27dt304Fdz9bWFjKZDPn5+Wrl+fn5N5y/U1VVha1bt+LNN9+84fMMGDAAtra2uHjxYpsJkFwu5yRpIiK6OYIA5J0Ue3pObQeqCluu2Q8Vkx7/hwEzzkvtSW5qH6CuYmBggJEjRyI2NhbTp08HACiVSsTGxmLhwoUd3rt9+3bU1dVhzpw5N3yey5cvo7i4GE5OTl0RNhEREVCRJx5HkbwVKDjdUm5iB/jPECc0OwXoLj7q0E2trSstLcWGDRtUGyEOHToUjz/+uNrxGJ0VFRWFyMhIjBo1CsHBwVi/fj2qqqpUq8Lmzp0LFxcXrF69Wu2+DRs2YPr06a0mNldWVmLlypV48MEH4ejoiLS0NCxZsgTe3t6IiIi4mZdLREQkaqgRl64nbwHS/gcISrFcJgcG3yPO6xl4FyDjaQk9ncYJUEJCAiIiImBkZITg4GAA4lL2t99+G3/++SdGjBihUXszZ85EYWEhli1bhry8PAQFBWHPnj2qidFZWVlq844A4Ny5c/jnn3/w559/tmpPJpPh5MmTiImJQWlpKZydnXH33Xdj1apVHOYiIiLNCQKQFS/u15P6E1B3zUphtxAx6Rk6HTCyarcJ6nk0ngR9++23w9vbG19//bXq6IvGxkY88cQTuHTpEg4ePKiVQLuTJpOoiIioj7p6SVy2nrwFKM1sKbdwF4e3AmcBNgN1Fx+1osn7t8YJkJGREU6cOIHBgwerlaempmLUqFGorq7WPOIehgkQEVE/VVMqblCYvFXs9WlmYAYMnda0dD0MkGp8khR1A62uAjM3N0dWVlarBCg7OxtmZmaaNkdERKRbikZxPk/yFnF+j6JpWxSJVDyKIvAR8WgKA2OdhkldS+MEaObMmViwYAHWrl2LsLAwAMChQ4fwr3/9C7Nnz+7yAImIiLQiL0VMek5+D1QVtJTbDWlZum7urLv4SKs0ToDWrl0LiUSCuXPnorGxEQCgr6+PZ599FmvWrOnyAImIiLpMZYG4V0/SFiD/VEu5sY2Y8ATOBpwCuTtzP6DxHKBm1dXVSEtLAwAMHDgQxsZ9p2uQc4CIiPqQhlrg3G/ivJ6LewGh6ZQCmQEwaJKY9PhM5NL1PkCrc4CaGRsbw9/f/2ZvJyIi0h5BALKPiENcKTuBurKWay6jxCGuoQ8Axta6i5F06qYTICIioh6nJKNl6XpJeku5uSsQOFPs7bH10Vl41HMwASIiot6ttlzcoDB5C5B5qKVc3wTwmyb29njcxqXrpIYJEBER9T5KBXBpnziv58yvQGNN0wUJMOBOsadnyFTAwESnYVLPxQSIiIh6j/zUlqXrlXkt5baDxKQnYAZg4aq7+KjXYAJEREQ9W1WRuHQ9eQuQm9xSbmQN+D8kHknhPIJL10kjTICIiKjnaawDzu8R9+u5+BegFPedg1QfGBTRtHT9bkDPQLdxUq/FBIiIiHoGQQAuJzQtXf8BqC1tueY8Qkx6hj0ImNjoLETqO5gAERGRbpVmAye3ihOaiy+2lJs5i0vXA2YB9oPbv5/oJjABIiKi7ldXAaT+LPb2ZPzdUq5vDAy5T5zX43UHIJXpLkbq05gAERFR91AqgPSDYtJz5hegobrlmuftQNAj4tJ1uZnuYqR+gwkQERFpV+G5lqXr5Tkt5TbeYk9PwEzA0l138VG/xASIiIi6XlWxOJE5eQtw5XhLuaGlOJE5cDbgOopL10lnmAAREVHXaKwHLvwhTmY+/wegbBDLpXqA90TxSIpBkwA9uW7jJAITICIiuhWCIPbwJDUtXa+52nLNKRAIfETs8TG1012MRG1gAkRERJorywFObhN7e4rOtZSbOorHUQTOBhz8dBcf0Q0wASIios6prxJXbyVvAS4dACCI5XpGwJB7xQnNA8Zz6Tr1CkyAiIiofUqluE9P8lYg9SegoarlmsdYsafHbxpgaK67GIluAhMgIiJqreiC2NOTvA0ov9xSbuUlJj2BMwErT52FR3SrmAAREZGo+ipw+kdxQnNOQku53AIYdr84odktmEvXqU9gAkRE1J8pGoALf4m9Pef3AIp6sVwiA7zDxXk9vvcA+oa6jZOoizEBIiLqbwQByE0S5/Wc2g5UF7dcc/RvOnX9IcDMQWchEmkbEyAiov6iPLdl6XrhmZZyE/uWpeuOw3QXH1E3YgJERNSX1VcDZ3cDyZuBS/sBQSmWy+TA4CniAaQDxgMyvh1Q/8LveCKivkapBLLixHk9p38C6itarrmHivN6/KYDRpa6ipBI55gAERH1FcVp4vDWya1AaVZLuaVHy9J16wG6i4+oB5HqOgAA+Oyzz+Dp6QlDQ0OEhITg6NGj7daNjo6GRCJR+zA0VF+dIAgCli1bBicnJxgZGSE8PBwXLlzQ9ssgIup+NaVAwjfAhruBT0YAB98Tkx+5OTBiLjD/d+CFJGD8UiY/RNfQeQ/Qtm3bEBUVhS+++AIhISFYv349IiIicO7cOdjb27d5j7m5Oc6dazl7RnLdnhTvvfcePv74Y8TExMDLywtvvPEGIiIikJqa2ipZIiLqdRQNQNr/gKTNwLnfAUWdWC6RAgPvEnt7Bk8B9I10GydRDyYRBEHQZQAhISEYPXo0Pv30UwCAUqmEm5sbnn/+ebz66qut6kdHR2PRokUoLS1tsz1BEODs7IzFixfj5ZdfBgCUlZXBwcEB0dHRmDVr1g1jKi8vh4WFBcrKymBuzu3diaiHyD3ZtHT9e6CqsKXc3k9MegJmAGaOuouPSMc0ef/WaQ9QfX09EhMTsXTpUlWZVCpFeHg44uPj272vsrISHh4eUCqVGDFiBN555x0MHToUAJCeno68vDyEh4er6ltYWCAkJATx8fFtJkB1dXWoq6tTPS4vL++Kl0dEdOsq8sS9epK3AvkpLeXGtk1L12cBjgHcnZlIQzpNgIqKiqBQKODgoL7ZloODA86ePdvmPb6+vvjmm28QEBCAsrIyrF27FmFhYTh9+jRcXV2Rl5enauP6NpuvXW/16tVYuXJlF7wiIqIu0FDTtHR9K5AWe83SdQPAd7J4JIX3BECmr9s4iXoxnc8B0lRoaChCQ0NVj8PCwjBkyBB8+eWXWLVq1U21uXTpUkRFRakel5eXw83N7ZZjJSLqNEEAsg6L+/Wc3gXUXdMT7RoMBM0Ght4PGFnpLESivkSnCZCtrS1kMhny8/PVyvPz8+Ho2LlxbH19fQwfPhwXL14EANV9+fn5cHJyUmszKCiozTbkcjnkcvlNvAIiolt0Nb1pd+YtQElGS7mFu7hsPXA2YDNQZ+ER9VU6XQZvYGCAkSNHIjY2VlWmVCoRGxur1svTEYVCgVOnTqmSHS8vLzg6Oqq1WV5ejiNHjnS6TSIiraotAxJjgG8mAx8HAftXi8mPgSkQNAeI/BV4MRm463UmP0RaovMhsKioKERGRmLUqFEIDg7G+vXrUVVVhfnz5wMA5s6dCxcXF6xevRoA8Oabb2LMmDHw9vZGaWkp3n//fWRmZuKJJ54AIC6JX7RoEd566y34+PiolsE7Oztj+vTpunqZRNTfKRqBS/vEnp6zu4HG2qYLEmDg+Kal6/cCBsY6DZOov9B5AjRz5kwUFhZi2bJlyMvLQ1BQEPbs2aOaxJyVlQWptKWjqqSkBE8++STy8vJgZWWFkSNHIi4uDn5+fqo6S5YsQVVVFZ566imUlpbitttuw549e7gHEBF1v/zT4n49p7YDldcM99sNblm6bu6su/iI+imd7wPUE3EfICK6JZUFwKkd4oTmvFMt5UbWgP/D4oRmpyAuXSfqYr1mHyAioj6joRY4/zuQtAW4uBcQFGK5VB/wnST29nhPBPQMdBsnEQFgAkREdPMEAcg+2nTq+o/i5OZmLqPETQqHPQgYW+suRiJqExMgIiJNlWS2LF2/eqml3NxVXLoeMAuwG6S7+IjohpgAERF1Rm05cOZncYgr85+Wcn0TwO8+cYjL83ZAqtPdRYiok5gAERG1R6kALu0Xj6Q48wvQWNN0QQJ43SEmPUOmAnJTXUZJRDeBCRAR9X2l2UB1cfvXjW0Ay2uOvyk4Iw5vnfweqMhtKbfxEVdw+c9Qr09EvQ4TICLq20qzgU9HAo117dfRkwML9gKZcWLik5vUcs3IChj2kNjb4zKCS9eJ+ggmQETUt1UXd5z8AOL1r8Zds3RdD/CJEHt7fO4WEyQi6lOYABERAWLy4zxc7OkZ9hBgYqPriIhIi5gAEVEf18nN7h+OAYZO12okRNRzMAEior5F0QjknQSy4sU5PRl/d+4+K0+thkVEPQsTICLq3RpqgMsJLQnP5WNAfaWuoyKiHo4JEBH1LjWlQPYRMdnJigdyjgPKBvU6hhaA2xjAIxQwsQd++n86CZWIei4mQETUs1XkiclOc8KTfxqt5vWYOQHuoYBHmPivvV/LjsxXkro7YiLqBZgAEVHPIQji2VrNyU5mHFCS3rqe9UCxd8c9TPzXyqv9/XmMbcRl7DfaB8iYq76I+hMmQESkO0qF2KPTnOxkxQOV+ddVkgCOwwCPsWLvjnsoYObQ+eewdAMWJmq2EzQR9XlMgIio+zTWAVdOAJmHgMx4cS5PXbl6HZkB4DKyZUjLLVic03MrLN2Y4BCRGiZARKQ9dRVNE5bjxd6dywmA4rqhKAMzMclpHtJyGQnoG+omXiLqN5gAEVHXqSwUE52seLGXJ+8UICjV65jYqU9YdhgGyPiriIi6F3/rENHNEQSgNLOpdydO/Lf4Qut6lh4tyY5HGGDjzQNFiUjnmAARUecolUDh2ZZkJzMOqLjSup69n3rCY+7c/bESEd0AEyAiapuiAchNvmbC8mGgpkS9jlRPPEBUNWE5BDC21k28REQaYAJERKL6KvEYieYhrcsJQEO1eh19Y8B1tJjseIQBLqMAA2PdxEtEdAuYABH1V9VXgazDTUNacWJvj7JRvY6RdVPvTtMKLacAQKavm3iJiLoQEyCi/qLssvqE5cIzreuYuzYlO01DWra+LUdKEBH1IUyAiPoiQQCKLrQkO1lxQGlW63q2g5omLDcdKWHp3v2xEhHpABMgor5A0Qjkn7rm0NDDQHWReh2JTBzCak523EMBE1vdxEtEpGNMgIh6o4YaICexpXcn+yhQX6leR89QnKTs0TSc5ToakJvpJl4ioh6GCRBRb1BTKiY5zROWr5wAFPXqdeQWgPuYlgnLzkHiKedERNQKEyCinqgir+V09Mx4ID8FgKBex9SxJdnxCBU3IJTKdBIuEVFvwwSISNcEAbh6qSXZyYoTH1/PekBTstOU8Fh58UgJIqKbxASIqLspFUBBatNxEofExKcy/7pKEsBxmPqEZTNHnYRLRNQX9YgNPj777DN4enrC0NAQISEhOHr0aLt1v/76a9x+++2wsrKClZUVwsPDW9WfN28eJBKJ2sekSZO0/TKI2tZYJ67K+vsD4LuHgXe9gC9uA37/F5C6S0x+ZAaA2xjgtpeAR3cAr2YCz/wD3PMeMPR+Jj9ERF1M5z1A27ZtQ1RUFL744guEhIRg/fr1iIiIwLlz52Bvb9+q/v79+zF79myEhYXB0NAQ7777Lu6++26cPn0aLi4uqnqTJk3Cxo0bVY/lck4GpW5SV9E0YblpSCsnAWisVa9jYAa4BbfM4XEZCegb6iZeIqJ+SCIIgnDjatoTEhKC0aNH49NPPwUAKJVKuLm54fnnn8err756w/sVCgWsrKzw6aefYu7cuQDEHqDS0lLs2rWrUzHU1dWhrq5O9bi8vBxubm4oKyuDubm55i+K+peqomsmLMcBeacAQaFex9hWfcKygz8g0/nfH0REfUp5eTksLCw69f6t09/A9fX1SExMxNKlS1VlUqkU4eHhiI+P71Qb1dXVaGhogLW1+gnU+/fvh729PaysrHDXXXfhrbfego2NTZttrF69GitXrrz5F0L9hyCIOyo3JztZ8UDR+db1LN0Bj7EtR0rYeHPCMhFRD6LTBKioqAgKhQIODg5q5Q4ODjh79myn2njllVfg7OyM8PBwVdmkSZPwwAMPwMvLC2lpaXjttdcwefJkxMfHQyZrvUx46dKliIqKUj1u7gEiglIJFJ27ZofleKA8p3U9e7+WZMc9FLBwaV2HiIh6jF7dB79mzRps3boV+/fvh6Fhy/yJWbNmqf7v7++PgIAADBw4EPv378eECRNatSOXyzlHiESKBvFU9OZkJyseqClRryPVA5yCWoa03McAxtZtNkdERD2TThMgW1tbyGQy5OerLwHOz8+Ho2PHq17Wrl2LNWvWYO/evQgICOiw7oABA2Bra4uLFy+2mQBRP1ZfDVw+1jKkdfkY0FCtXkffWDxGorl3x3UUYGCim3iJiKhL6DQBMjAwwMiRIxEbG4vp06cDECdBx8bGYuHChe3e99577+Htt9/GH3/8gVGjRt3weS5fvozi4mI4OTl1VejUW1VfFZekN5+SnpsEKBvV6xhZiYlO85CWUyAg09dJuEREpB06HwKLiopCZGQkRo0aheDgYKxfvx5VVVWYP38+AGDu3LlwcXHB6tWrAQDvvvsuli1bhs2bN8PT0xN5eXkAAFNTU5iamqKyshIrV67Egw8+CEdHR6SlpWHJkiXw9vZGRESEzl4n6UhZjvqE5YLU1nXMXVp6dzzCAFtfQNojtsgiIiIt0XkCNHPmTBQWFmLZsmXIy8tDUFAQ9uzZo5oYnZWVBek1b0aff/456uvr8dBDD6m1s3z5cqxYsQIymQwnT55ETEwMSktL4ezsjLvvvhurVq3iPJ++ThCA4ovXTFiOE1dsXc92kPqEZUt3rtAiIupndL4PUE+kyT4CpEOKRiD/VMv5WVmHgapC9ToSKeAY0HR+VlPCY2Krm3iJiEires0+QEQaaagFchJb5u9kHwXqK9TryORNE5ab5vC4BQNyM93ES0REPRYTIOq5asuArCMtCc+V44CiXr2O3AJwD2kZ0nIeDuhxqJOIiDrGBIh6jor8lmQnKw7ISwFw3QitqUPTUFbTkRL2foC09eaWREREHWECRLohCEBJekuykxkHXL3Uup71gJZkxz1UfMwJy0REdIuYAFH3UCqBgtPXJDzxQGXedZUkgMMwMdlpnrBs1vGGmERERDeDCRBpR2M9cOXENROWD4tzeq4lMwCcR7QcKeEWDBhZ6iRcIiLqX5gAUdeoqwQuH23agyceyEkAGmvV6xiYiklO85CWy0hA30g38RIRUb/GBIhuTlVR0w7LTUNauScBQaFex9hWPCjUY6yY8Dj4AzJ+yxERke7x3Yg6pzRLfcJy0fnWdSzdr5mwHAbY+nDCMhER9UhMgKg1QQAKzwGZh1p6ecovt65nN6RpwvJYccKyhUv3x0pERHQTmAARoGgQh7BUe/DEAzVX1etI9QCnoJbeHfcxgLG1TsIlIiK6VUyA+qP6anGScvOhoZcTgIYq9Tr6xoDrqJYhLdfRgIGJbuIlIiLqYkyA+oPqq0D2kaYT0uOBK0mAskG9jqFly3ESHmGAUyAg09dFtERERFrHBKgvKr/SkuxkxgEFqa3rmLs0JTxNQ1p2gwGptPtjJSIi0gEmQL2dIADFaddMWI4DSjNb17PxaUl2PMLEFVtcoUVERP0UE6DeRqkA8k61JDtZ8UBVoXodiRRwDGg5TsI9FDC10028REREPRAToO5Qmg1UF7d/3dgGsHRr+1pDLXDleMuE5eyjQH2Feh2ZvGnCctOQlmswYGjedfETERH1MUyAtK00G/h0JNBY134dPTmwMFFMgmrLxCSnuXcnJxFQ1KvXl5uLy9CbJy07DxfbICIiok5hAqRt1cUdJz+AeH3vcqDoApCfAghK9eumDi3Jjnso4DAUkMq0FzMREVEfxwSop0j5oeX/Vl4ty9HdQwHrAZywTERE1IWYAPUUQx8AhkwVEx5zJ11HQ0RE1KcxAeopxr4IOAfpOgoiIqJ+gTvfERERUb/DBIiIiIj6HSZARERE1O8wAdI2Y5sb79GjJxfrERERUbfgJGhts3QTNzm82Z2giYiIqMsxAeoOlm5McIiIiHoQDoERERFRv8MEiIiIiPodJkBERETU7/SIBOizzz6Dp6cnDA0NERISgqNHj3ZYf/v27Rg8eDAMDQ3h7++P3377Te26IAhYtmwZnJycYGRkhPDwcFy4cEGbL4GIiIh6EZ0nQNu2bUNUVBSWL1+O48ePIzAwEBERESgoKGizflxcHGbPno0FCxbgxIkTmD59OqZPn46UlBRVnffeew8ff/wxvvjiCxw5cgQmJiaIiIhAbW1td70sIiIi6sEkgiAIugwgJCQEo0ePxqeffgoAUCqVcHNzw/PPP49XX321Vf2ZM2eiqqoKv/76q6pszJgxCAoKwhdffAFBEODs7IzFixfj5ZdfBgCUlZXBwcEB0dHRmDVr1g1jKi8vh4WFBcrKymBubt5Fr5SIiIi0SZP3b532ANXX1yMxMRHh4eGqMqlUivDwcMTHx7d5T3x8vFp9AIiIiFDVT09PR15enlodCwsLhISEtNtmXV0dysvL1T6IiIio79JpAlRUVASFQgEHBwe1cgcHB+Tl5bV5T15eXof1m//VpM3Vq1fDwsJC9eHmxj17iIiI+jKdzwHqCZYuXYqysjLVR3Z2tq5DIiIiIi3S6U7Qtra2kMlkyM/PVyvPz8+Ho6Njm/c4Ojp2WL/53/z8fDg5OanVCQoKarNNuVwOubzlvK7maVEcCiMiIuo9mt+3OzO9WacJkIGBAUaOHInY2FhMnz4dgDgJOjY2FgsXLmzzntDQUMTGxmLRokWqsr/++guhoaEAAC8vLzg6OiI2NlaV8JSXl+PIkSN49tlnOxVXRUUFAHAojIiIqBeqqKiAhYVFh3V0fhZYVFQUIiMjMWrUKAQHB2P9+vWoqqrC/PnzAQBz586Fi4sLVq9eDQB48cUXceedd2LdunWYMmUKtm7dioSEBHz11VcAAIlEgkWLFuGtt96Cj48PvLy88MYbb8DZ2VmVZN2Is7MzsrOzYWZmBolE0qWvt7y8HG5ubsjOzuYKMyId4M8gkW5p82dQEARUVFTA2dn5hnV1ngDNnDkThYWFWLZsGfLy8hAUFIQ9e/aoJjFnZWVBKm2ZqhQWFobNmzfj9ddfx2uvvQYfHx/s2rULw4YNU9VZsmQJqqqq8NRTT6G0tBS33XYb9uzZA0NDw07FJJVK4erq2rUv9Drm5ub85UukQ/wZJNItbf0M3qjnp5nO9wHqb7jHEJFu8WeQSLd6ys8gV4ERERFRv8MEqJvJ5XIsX75cbdUZEXUf/gwS6VZP+RnkEBgRERH1O+wBIiIion6HCRARERH1O0yAiIiIqN9hAkRERET9DhOgbnLw4EFMnToVzs7OkEgk2LVrl65DIupXVq9ejdGjR8PMzAz29vaYPn06zp07p+uwiPqNzz//HAEBAaoNEENDQ/H777/rLB4mQN2kqqoKgYGB+Oyzz3QdClG/dODAATz33HM4fPgw/vrrLzQ0NODuu+9GVVWVrkMj6hdcXV2xZs0aJCYmIiEhAXfddRemTZuG06dP6yQeLoPXAYlEgp07d3b6bDIi6nqFhYWwt7fHgQMHcMcdd+g6HKJ+ydraGu+//z4WLFjQ7c+t87PAiIh0oaysDID4C5iIupdCocD27dtRVVWF0NBQncTABIiI+h2lUolFixZh7NixagcpE5F2nTp1CqGhoaitrYWpqSl27twJPz8/ncTCBIiI+p3nnnsOKSkp+Oeff3QdClG/4uvri6SkJJSVlWHHjh2IjIzEgQMHdJIEMQEion5l4cKF+PXXX3Hw4EG4urrqOhyifsXAwADe3t4AgJEjR+LYsWP46KOP8OWXX3Z7LEyAiKhfEAQBzz//PHbu3In9+/fDy8tL1yER9XtKpRJ1dXU6eW4mQN2ksrISFy9eVD1OT09HUlISrK2t4e7ursPIiPqH5557Dps3b8ZPP/0EMzMz5OXlAQAsLCxgZGSk4+iI+r6lS5di8uTJcHd3R0VFBTZv3oz9+/fjjz/+0Ek8XAbfTfbv34/x48e3Ko+MjER0dHT3B0TUz0gkkjbLN27ciHnz5nVvMET90IIFCxAbG4vc3FxYWFggICAAr7zyCiZOnKiTeJgAERERUb/DnaCJiIio32ECRERERP0OEyAiIiLqd5gAERERUb/DBIiIiIj6HSZARERE1O8wASIiIqJ+hwkQERER9TtMgIj6gYyMDEgkEiQlJWn1eaKjo2Fpadklbc2bNw/Tp0/vkrZuxNPTE+vXr9f4vuLiYtjb2yMjIwOAuOO7RCJBaWlpl8Z3M1JTU+Hq6oqqqipdh0LUIzEBIuoH3NzckJubi2HDhmn1eWbOnInz58+rHq9YsQJBQUFafU5NdGWCBgBvv/02pk2bBk9Pzy5rs6v4+flhzJgx+OCDD3QdClGPxASIqB+QyWRwdHSEnl7b5x8LgoDGxsZbfh4jIyPY29vfcju9QXV1NTZs2IAFCxboOpRWGhoaAADz58/H559/3iVfW6K+hgkQUR+hVCrx3nvvwdvbG3K5HO7u7nj77bcBtB4Cax6q+f333zFy5EjI5XL8888/HbbR1vBOUlISJBKJagjo2h6W6OhorFy5EsnJyZBIJJBIJO0e/KtQKBAVFQVLS0vY2NhgyZIluP6YQqVSidWrV8PLywtGRkYIDAzEjh07VNeb49u9ezcCAgJgaGiIMWPGICUlRXV9/vz5KCsrU8WzYsUK1f3V1dV4/PHHYWZmBnd3d3z11Vcdfr5/++03yOVyjBkzpt06xcXFmD17NlxcXGBsbAx/f39s2bJFdX3Tpk2wsbFBXV2d2n3Tp0/HY489pnr8008/YcSIETA0NMSAAQOwcuVKtaRGIpHg888/x3333QcTExPV12zixIm4evUqDhw40G6Mzb10X375Jdzc3GBsbIwZM2agrKysw9dP1OsJRNQnLFmyRLCyshKio6OFixcvCn///bfw9ddfC4IgCOnp6QIA4cSJE4IgCMK+ffsEAEJAQIDw559/ChcvXhSKi4s7bKP5npKSEtVznjhxQgAgpKenC4IgCBs3bhQsLCwEQRCE6upqYfHixcLQoUOF3NxcITc3V6iurm4z9nfffVewsrISfvjhByE1NVVYsGCBYGZmJkybNk1V56233hIGDx4s7NmzR0hLSxM2btwoyOVyYf/+/WrxDRkyRPjzzz+FkydPCvfee6/g6ekp1NfXC3V1dcL69esFc3NzVTwVFRWCIAiCh4eHYG1tLXz22WfChQsXhNWrVwtSqVQ4e/Zsu5/vF154QZg0aZJa2fWfo8uXLwvvv/++cOLECSEtLU34+OOPBZlMJhw5ckT1ObKwsBC+//57VRv5+fmCnp6e8L///U8QBEE4ePCgYG5uLkRHRwtpaWnCn3/+KXh6egorVqxQ3QNAsLe3F7755hshLS1NyMzMVF0LCQkRli9f3u7rWL58uWBiYiLcddddwokTJ4QDBw4I3t7ewiOPPNLuPUR9ARMgoj6gvLxckMvlqmTleu0lQLt27ep0G5omQIIgvrkGBgbeMH4nJyfhvffeUz1uaGgQXF1dVQlQbW2tYGxsLMTFxandt2DBAmH27Nlq8W3dulV1vbi4WDAyMhK2bdvWZnzNPDw8hDlz5qgeK5VKwd7eXvj888/bjXnatGnC448/rlbW1ufoelOmTBEWL16sevzss88KkydPVj1et26dMGDAAEGpVAqCIAgTJkwQ3nnnHbU2vv32W8HJyUn1GICwaNGiNp/v/vvvF+bNm9duPMuXLxdkMplw+fJlVdnvv/8uSKVSITc3t937iHq7ticEEFGvcubMGdTV1WHChAka3Tdq1KhbbuNWlZWVITc3FyEhIaoyPT09jBo1SjUMdvHiRVRXV2PixIlq99bX12P48OFqZaGhoar/W1tbw9fXF2fOnLlhHAEBAar/SyQSODo6oqCgoN36NTU1MDQ07LBNhUKBd955B99//z1ycnJQX1+Puro6GBsbq+o8+eSTGD16NHJycuDi4oLo6GjMmzcPEokEAJCcnIxDhw6phrWa262trUV1dbWqrWu/ltcyMjJCdXV1h3G6u7vDxcVF9Tg0NBRKpRLnzp2Do6Njh/cS9VZMgIj6ACMjo5u6z8TEpNNtSKXilEHhmrk5zZNtta2yshIAsHv3brU3agCQy+Vd8hz6+vpqjyUSCZRKZbv1bW1tUVJS0mGb77//Pj766COsX78e/v7+MDExwaJFi1BfX6+qM3z4cAQGBmLTpk24++67cfr0aezevVt1vbKyEitXrsQDDzzQqv1rE7Brv5bXunr1KgYOHNhhnET9ESdBE/UBPj4+MDIyQmxsrNbasLOzAwDk5uaqym60r5CBgQEUCkWHdSwsLODk5IQjR46oyhobG5GYmKh67OfnB7lcjqysLHh7e6t9uLm5qbV3+PBh1f9LSkpw/vx5DBkypNPxdNbw4cORmpraYZ1Dhw5h2rRpmDNnDgIDAzFgwAC1bQKaPfHEE4iOjsbGjRsRHh6u9ppGjBiBc+fOtXrd3t7eqqS0IykpKa16ya6XlZWFK1euqB4fPnwYUqkUvr6+N2yfqLdiDxBRH2BoaIhXXnkFS5YsgYGBAcaOHYvCwkKcPn2608u0b9RGc7KxYsUKvP322zh//jzWrVvXYZuenp5IT09HUlISXF1dYWZm1maPzYsvvog1a9bAx8cHgwcPxgcffKC22szMzAwvv/wyXnrpJSiVStx2220oKyvDoUOHYG5ujsjISFXdN998EzY2NnBwcMC///1v2NraqjZU9PT0RGVlJWJjYxEYGAhjY2O14ShNREREYOnSpSgpKYGVlVWbdXx8fLBjxw7ExcXBysoKH3zwAfLz8+Hn56dW75FHHsHLL7+Mr7/+Gps2bVK7tmzZMtx7771wd3fHQw89BKlUiuTkZKSkpOCtt97qMMaMjAzk5OQgPDy8w3qGhoaIjIzE2rVrUV5ejhdeeAEzZszg8Bf1aewBIuoj3njjDSxevBjLli3DkCFDMHPmzA7nsGjahr6+PrZs2YKzZ88iICAA77777g3fgB988EFMmjQJ48ePh52dndoS8GstXrwYjz32GCIjIxEaGgozMzPcf//9anVWrVqFN954A6tXr8aQIUMwadIk7N69G15eXmr11qxZgxdffBEjR45EXl4efvnlFxgYGAAAwsLC8Mwzz2DmzJmws7PDe++9p9Hn51r+/v4YMWIEvv/++3brvP766xgxYgQiIiIwbtw4ODo6trm7tYWFBR588EGYmpq2uh4REYFff/0Vf/75J0aPHo0xY8bgww8/hIeHxw1j3LJlC+6+++4b1vX29sYDDzyAe+65B3fffTcCAgLwf//3fzdsn6g3kwjCdZttEBH1Qvv378f48eNRUlLSpbs9d2T37t3417/+hZSUlE4NR3VkwoQJGDp0KD7++OMuia2+vh4+Pj7YvHkzxo4d2269FStWYNeuXVo/JoWop+EQGBHRTZoyZQouXLiAnJycVnOROqukpAT79+/H/v37u7TXJSsrC6+99lqHyQ9Rf8YEiIjoFixatOiW7h8+fDhKSkrw7rvvdumk4+aJ0kTUNg6BERERUb/DSdBERETU7zABIiIion6HCRARERH1O0yAiIiIqN9hAkRERET9DhMgIiIi6neYABEREVG/wwSIiIiI+p3/D4f6IZCykUeWAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# get results for variational angles\n", + "gamma = result_angle[:DEPTH]\n", + "beta = result_angle[DEPTH:]\n", + "# get array [1, 2, ..., p]\n", + "pa = np.arange(1, DEPTH + 1)\n", + "\n", + "plt.figure(2)\n", + "plt.plot(pa, gamma / np.pi, \"-o\", label=\"gamma\")\n", + "plt.plot(pa, beta / np.pi, \"-s\", label=\"beta\")\n", + "plt.xlabel(\"circuit depth (layer) p\")\n", + "plt.ylabel(\"optimal angles [pi]\")\n", + "plt.xticks(pa)\n", + "plt.legend(title=\"Variational QAOA angles:\", loc=\"upper left\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimal energy found with QAOA: -6.486032631497276\n" + ] + }, + { + "data": { + "image/png": "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GdtxiIiI3JBbT4UFf3+EPPvMmI8T/KuNDAJEROS13HplABjcsOjyTx+CoawMkBx71HBYSiXUCQmI2P8X6z0HRERE3sbtwwAwuCNhx/fvhdTW5rxAoFRCCA5GxP6/QDVrlnPOSURE5IHc+jLBNcrISEz58/tQRkWNar+Cv59QCSEkBFP27mEQICIir+cRYQAAVDNnImL/X+CryRl8YRTbCvukLEbE/+2HOi7OSdURERF5Lo+4THA9WZbRv+d9dD/7HOSensH9BIZ7/FChAGQZioAABD/5awSu/kc+RkhERHSVx4WBa+SBAQzs/wi9b70N06lTgy8Kwt83G7JYrCFBNX8+gtashv/990EIDHRRxURERO7JY8PA9Sw6HUx1dTD97TQsOt3gKkBgINQJCfBZkAQhNNTVJRIREbmtCREGiIiIaOR44ZyIiMjLMQwQERF5OYYBIiIiL8cwQERE5OUYBoiIiLwcwwAREZGXYxggIiLycgwDREREXo5hgIiIyMsxDBAREXk5hgEiIiIvxzBARETk5RgGiIiIvBzDABERkZdjGCAiIvJyDANERERejmGAiIjIyzEMEBEReTmGASIiIi/HMEBEROTlGAaIiIi8HMMAERGRl2MYICIi8nIMA0RERF6OYYCIiMjLMQwQERF5uf8Hywao1f4RDfoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualize solution\n", + "colorlist = tracker[\"optimal_bitstring\"]\n", + "colorlist[colorlist == -1] = 0\n", + "\n", + "# plot_colored_graph(J, N, colorlist, pos)\n", + "plot_colored_graph_simple(G, colorlist, pos)\n", + "print(\"Minimal energy found with QAOA:\", tracker[\"optimal_energy\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Classical solution: {'s0': -1, 's1': 1, 's2': -1, 's3': -1, 's4': 1, 's5': -1, 's6': 1, 's7': 1, 's8': -1, 's9': -1}\n", + "Minimal energy found classically: -6.486032631497276\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGFCAYAAABg2vAPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAACcI0lEQVR4nOzddVRUWxsG8Gdm6C5RVBRRlFBRQDExsBUDFcHu7u7ubsW86hUxQGzsFgMFRMEWFQVEpHPi/f7wyne5KjnDmYH9W4t1vcM5Zz+jMPPOPjt4RERgGIZhGKbU4nMdgGEYhmEYbrFigGEYhmFKOVYMMAzDMEwpx4oBhmEYhinlWDHAMAzDMKUcKwYYhmEYppRjxQDDMAzDlHKsGGAYhmGYUo4VAwzDMAxTyrFigGEYhmFKOVYMMAzDMEwpx4oBhmEYhinlWDHAMAzDMKUcKwYYhmEYppRjxQDDMAzDlHKsGGAYhmGYUo4VAwzDMAxTyrFigGEYhmFKOVYMMAzDMEwpx4oBhmEYhinlWDHAMAzDMKUcKwYYhmEYppRjxQDDMAzDlHKsGGAYhmGYUo4VAwzDMAxTyilxHYD5gTIzIUlKAsRi8NTVwdfV5ToSwzAMU0qwYoAjJBIh4+pVZFy6jKwnTyB6+w4Qi7O/zzfQh3KdOlCtXx8aPXtAUK4ch2kZhmGYkoxHRMR1iNKEMjORsmcvUvbsheTrV0BJCRCJfn8wj/fjC4Bau7bQmTwJylZWxZiWYRiGKQ1YMVCMsoKDET9uAkTv3wMF/WsXCAAA2pMmQnvsGPCUlWWQkGEYhimNWDFQTFIPeyFh5qwfn/T/dTugwHg8KNetC6NDB8DX05NaPoZhGKb0YsVAMUg5cBCJs+dI74ICAZRqVEcZnxPg6+hI77oMwzBMqcSKARnLuHULcb37Fvy2QF4EAqg2aQzDw3+D98+4AoZhGIYpDLbOgAxJkpMRP2FS9iBAqRKLkXnzFtKOHpX+tRmGYZhShfUMyFD87LlIO3QIkEj+eIxKwwYoc+L4H7+ftG49ktdv+OP3eRoaKHvvDgRlyhQpK8MwDFN6sZ4BGRF/j0eal1euhYA0UEYGUv8+LNM2GIZhmJKNLTokI2nHjhZ41kDC3HkQPnue4zHx58+5nySRIPXAAWiPGwueEvvnZBiGYQqOvXvISNpxnwL3CghfvEDWo0cFbksS+w1ZDx5CtXGjAp/LMAzDMOw2gQxQRgZEr18X+DyDLVtQ/t0bmDwPhaHXYag2bZK/E/l8ZD19WuD2GIZhGAZgxYBMCMPDC7WwkMCkHHiqquDr6UGtmRMMvQ5Dw61n3ifyeKwYYBiGYQqN3SaQAfHnLwU4WILMu3eRfv4CRBEfwNfRgdaI4VCpYwsenw/dhQuQfuYsKD09l2uIIY74UPTgDMMwTKnEigEZIGFWvo/NevgQ39zcczyWceMGyt2/B76uLvi6ulBxcEDm7du5t5mV/zYZhmEY5t/YbQIZ4CmrFOl8SkqC6H1E9v/zDQ3zblNVtUhtMgzDMKUXKwZkQFDJNN/HKteq9ctjPB0dKJlXyf5/ybfYPBoU5DieYRiGYQqC3SaQAeUaNX5sOZyPQYS68+eBp6uD9BM+EIaHg69vAK0Rw7M3IBLHxSEz8HHuFyH6bVHBMAzDMPnBigEZ4KmqQtnK8pcFhP5ExcYGKjY2vzxOWVlImDYDyMjI/QISCZb5+qKOrg46dOgAHbaTIcMwDFMA7DaBjGj07JmvDYoSly5Dyu49EIaFQfz9O0gohDgqGml+pxDbqTMyLl7M9XwCkKqpietx3+Dh4YEyZcrAxcUF+/fvR1xcnJSeDcMwDFOSsY2KZESSmIiouvZAZqZsG+LzoTNzBrTHjMaHDx9w8uRJ+Pr64s6dO+Dz+WjevDlcXV3RtWtXlC9fXrZZGIZhGIXEigEZSly0GCl79spssyIJETKVlaBz+RKMq1fP8b2YmBj4+fnB19cX165dg0gkQqNGjeDq6gpXV1dUqcIGHDIMwzA/sGJAhiRpafjawhniqKhCrUiYH9OyMnBRIsHatWsxcOBA8H5zayI+Ph5nzpyBr68vLl68iIyMDNStWze7MLC2tpZJNoZhGEYxsGJAxjIfPMC3Hm7S7x3g86HWpg1Ey5diypQpOHz4MJo1awZPT0/UqFHjj6elpKTgwoUL8PX1xdmzZ5GSkgJLS8vswsDOzu63BQXDMAxTcrFioBik+fgifsJEQFp/1Xw+lOvUgdExb/DV1QEAly9fxsiRIxEZGYnZs2dj5syZUM1jIaKMjAxcuXIFvr6+OHXqFL5//47KlStnFwYNGzaEQCCQTmaGYRhGbrFioJik+fkhfsKkHwVBEW8ZqDZtCoO9u8HX1MzxeHp6OpYsWYI1a9agWrVq8PT0hJOTU76uKRQKcevWLfj6+uLkyZOIiopCuXLl0LVrV7i6uqJ58+ZQVlYuUm6GYRhGPrFioBgJX71C/PgJ/19/oCB/9QIBIBBAd+4caA4aCB7/z7NCQ0NDMWLECAQEBGDIkCFYvXo1DAwM8t2URCLB/fv34evrCx8fH0REREBfXx+dO3eGq6sr2rRpAzU1tfxnZxiGYeQaKwaKGYlESD3shZTdeyB+/x5QUgJEot8fLBD8GGugrAwNV1dojx0NpXzOApBIJPD09MTMmTOhpqaGDRs2wMPDo8DjAYgIwcHB2YVBeHg4tLS00KFDB7i6uqJDhw7Q1tYu0DUZhmEY+cKKAY4QEbIC7iP90iUIg4MhDH0G+melQQkRlCtXhoq9HVQcHKDRtQv4enqFaufLly+YOHEijh8/jjZt2mDHjh0wNzcvdO7w8HCcPHkSPj4+ePLkCVRVVdGmTRu4urqic+fOBeqBYBiGYeQDKwbkBBEBmZk47eeH7h4eiI6NhZGRkdSuf/bsWYwZMwaxsbFYsGABJk+eXOQxABEREdmFwb1798Dn89GiRQu4urqiW7duKFeunJTSMwzDMLLEigE5c/v2bTg5OSE8PByWlpZSvXZKSgoWLFiAjRs3wsbGBrt27UKDBg2kcu2oqKjsRY6uX78OiUSSY5EjMzMzqbTDMAzDSB/bm0DO/OwN+Pbtm9SvraWlhXXr1uHRo0dQUVFBo0aNMGbMGCQmJhb52iYmJhg1ahQuX76Mr1+/Yt++fTAwMMDs2bNRpUoV2NvbY9myZXjx4oUUngnDMAwjTaxnQM58/foVZcuWxcmTJ9G1a1eZtSMSibB161bMnTsXurq62Lx5M1xdXaW+4FBycjLOnz8PX19fnDt3DqmpqbCysoKrqyu6d++OOnXqsEWOGIZhOMZ6BuTMzwF4st5xUElJCRMnTkRYWBjs7e3Ro0cPdOnSBR8/fpRqO9ra2ujVqxeOHj2K2NhYnD59GvXr18f27dthZ2cHc3NzTJkyBffu3YNERns4MAzDMLljxYCcUVJSgr6+vkxuE/xOpUqVcOrUKfj4+ODx48ewtrbGxo0bIZbBXgrq6upwcXHBX3/9hZiYGFy+fBnt2rXD4cOH0bhxY1SsWBGjR4/G1atXIRQKpd4+wzAM83usGJBDRkZGxVYMAACPx4OrqyvCwsIwcOBATJ48GY6Ojnjy5InM2lRWVkarVq2wY8cOfP78Gbdv34a7uzvOnz+PVq1aoVy5chg0aBDOnj2LjH+mXDIMwzCywYoBOWRoaCjz2wS/o6uri61bt+LevXvIyspCvXr1MGXKFKSkpMi0XYFAgCZNmmD9+vV4//49AgMDMXLkSAQEBMDFxQVlypSBu7s7jh8/LvMsDMMwpREbQCiHXFxcwOPxcPr0ac4yCIVCrF+/HosWLUKZMmWwbds2dOrUqdhzhIWFwdfXF76+vggKCoKqqiratm2L7t27w8XFBfr6+sWeiWEYpqRhxYAcGjRoEF6+fIl79+5xHQXv3r3DqFGjcOnSJfTo0QObN2+GiYkJZ1lOnjwJX19f3Lt3D0pKSmjZsiVcXV3RpUsXtsgRwzBMIbHbBHLI0NCwWMcM5Mbc3Bz+/v44fPgwbt26BUtLS+zYsYOTkf8/Zx7cvXsXnz9/xqZNmyAWizFmzBiUL18eTk5O2LhxIz58+FDs2RiGYRQZKwbkkJGRESdjBv6Ex+Ohd+/eCA8Ph5ubG0aPHo0mTZrg2bNnnGUqX748Ro8ejStXriA6Ohp79+6Frq4uZsyYATMzM9SrVw8rVqzAy5cvOcvIMAyjKFgxIIeMjIwQHx8P0Z92M+SIgYEBdu/ejZs3byI+Ph5169bF7NmzkZ6ezmkuIyMjDBo0CGfOnEFsbCyOHDkCMzMzLF26FJaWlqhZsybmz5+P4OBgsLtiDMMwv2JjBuSQn58funXrhq9fv6JMmTJcx/mtzMxMrFq1CsuWLUPFihWxc+dOtG7dmutYOaSnp+PSpUvw8fHB6dOnkZiYCHNz8+z9EhwdHcHns3qYYRiGvRLKIUNDQwCy2Z9AWlRVVTF//nw8ffoUlSpVQps2bdC3b198/fqV62jZ1NXV0aVLFxw8eBBfv37FxYsX0apVKxw8eBCNGjWCqakpxo4di2vXrsldLwzDMExxYj0Dcig8PBzW1ta4ffs2mjRpwnWcPBER/vrrL0ydOhUAsGbNGgwaNEhu9xwQi8W4d+8efHx84Ovri0+fPsHQ0BBdunSBq6srWrVqBVVVVa5jMgzDFBtWDMih2NhYGBsby3yzImmLjY3FlClTcOjQITRr1gyenp6oUaMG17FyRUR4/PgxfHx84OPjg9evX0NbWxudOnWCq6sr2rdvD01NTa5j/oKIEJuUiRdRSfiekgmxhKCqLICZkSaqldOGmrKA64gMwygQVgzIIZFIBBUVFezatQtDhw7lOk6BXblyBSNHjsSnT58we/ZszJw5UyE+aRMRwsLCsnsMQkJCoKamhnbt2sHV1RUuLi7Q09PjNOPr6CT4PPyE62ExSEz//f4NfB5Qtaw2utpXRDvb8tBUVSrmlAzDKBpWDMgpAwMDTJ8+HTNnzuQ6SqGkp6dj6dKlWL16NapVqwZPT084OTlxHatA3r59m7364f3796GkpARnZ2e4urqia9euMDY2LrYsEbEpWHH6OUI+JkDA50Esyf3XlgeAAKgq8dG/aRUMaGoOJQEbIsQwzO+xYkBOVa9eHV26dMGaNWu4jlIkz549w4gRI3Dv3j0MGTIEq1evzt6mWZFERkbCz88Pvr6+uHnzJgCgSZMm6N69O7p16wZTU1OZtCuREA7fi4Dn1dcgIM8i4Hd4AMyNtbCwe21YlNOWekaGYRQfKwbkVKNGjVCjRg3s37+f6yhFJpFIsGvXLsycORMqKirYsGEDevfuLbcDDPMSGxuL06dPw9fXF5cvX4ZQKES9evXQvXt3uLq6wsLCQirtiMQSLDoZisuh0UW+loDHg5KAh7V97FDP3FAK6RiGKUlYMSCnOnfuDCLCmTNnuI4iNVFRUZgwYQKOHz+ONm3aYPv27ahatSrXsYokMTER586dg6+vLy5cuIC0tDTUrFkzuzCoVatWoYoeiYSw6GQoLj2NgrR+QXk8QInPx5YBDqhTmW3wxDDM/7GbiHJKnvYnkBYTExMcO3YMZ8+excuXL1GzZk2sXLkSQuHvB8IpAl1dXfTu3RsnTpxAbGwsfH19UadOHWzcuBG2traoXr06ZsyYgQcPHhRoPwefRx9xUYqFAAAQAWKJBDOOBCExLUuKV2YYRtGxYkBOydv+BNLUsWNHPH/+HGPGjMGcOXNgb2+P+/fvcx2ryDQ0NNCtWzccOnQIX79+xYULF9CiRQvs378fDRo0QKVKlTB+/HjcuHEj10WOPn9Pw5ZLr2SSUUJAcoYQ686/kMn1GYZRTKwYkFNGRkYlrmfg3zQ1NbF27VoEBgZCRUUFjRo1wpgxY5CYmMh1NKlQUVFBu3btsGvXLkRFReHGjRtwdXWFr68vWrRoARMTEwwbNgwXLlxAZmZmjnM3XHhR4IGC6/rY4f6ittlflY3+vDaChIBLoVEIivheqOfGMEzJw4oBOSWvmxVJW926dfHgwQNs2LABBw8ehJWVFU6cOFGiNhQSCARo1qwZNm/ejI8fP+LBgwcYPHgwrl+/jg4dOsDY2Bh9+/aFr68v3n6Jw51XsQUqBtrWMkHj6gXbw0LA5+HofbbVM8MwP7BiQE793J8gPj6e4ySyJxAIMGHCBISFhaFevXro2bMnOnfujI8fP3IdTer4fD7q16+PVatW4fXr13j69CkmTZqEp0+fonv37mg9aBZA+R9boKuhjIntLSGRELJE+T9PLCHcevEVsUkZhXkaDMOUMKwYkFNGRkYA5HuzImkzNTWFn58ffHx88OTJE1hbW2PDhg0ltneEx+OhVq1aWLhwIZ4+fYpXr16hasOOAC//v5aT2llCX1MFp55EIi45M+8T/kVCwMN3JXNcCsMwBcOKATlVGosB4McbpKurK8LCwjBo0CBMmTIFjo6OePz4MdfRZM7UzBypUMv38Q2qGaGdbXl8TcrA1kIMOFTi8/DiS1KBz2MYpuRhxYCcKq3FwE+6urrYsmULAgICIBKJUL9+fUyaNAkpKSlcR5OZtzHJyO9QAXUVAWZ0sgYArDkbhtTMgveeiCSEsM8lY8AmwzBFw4oBOaWvrw8ej1dipxfml6OjIwIDA7FixQp4enrCxsYGZ8+e5TqWTPxp46HfGelsARN9dVx5Fo3bL2ML3WZCKltvgGEYVgzILYFAAH19/VLbM/BvysrKmD59Op49ewYrKyu4uLigZ8+e+PLlC9fRpCq/EygqG2miR/1KSEwTYv358CK1KSlBszYYhik8VgzIsZK+1kBBmZub48KFC/Dy8sKtW7dgZWWF7du3F2hlP3mmpizI13GGWioQ8HnQ1VDG+ektstcWMNFXzz7m6LgmODiyYZ7XUldh2xszDMOKAbnGioFf8Xg8eHh4IDw8HG5ubhgzZgwaN26M0NBQrqMVWZUyf14oSBYEPB6qs10MGYYBwD4WyDFDQ8NSP2bgTwwMDLB79270798fI0aMgJ2dHaZOnYp58+ZBQ0OD63iFYqClCkMtFcSl5H4f/9P3NGy48OtywoObVYWuhjIA4K9b7/D+a+6DLSUgWJbXKXxghmFKDNYzIMdYz0DemjZtiqCgIMyfPx/r169HrVq1cOnSJa5jFZpdFQMI+LnvchiblImj9z/88pX2rxkFF0K+4GJoVK7XIQLOHNqOa9euQSwWSyU/wzCKiRUDcowVA/mjqqqKefPmITQ0FJUrV0bbtm3Rp08ffP36letoBdbV3rTA+xIUBg+AFqXg/kUfODs7w9TUFJMmTcLDhw9L1FLQDMPkDysG5BgrBgqmevXquHr1Kvbv3w9/f39YWlpi7969CvXmVkaQAmVhEqgQgyK7bbyFBgsuosGCi/jwLTXXYwnAuC6OePPmDe7fvw83Nzd4e3vD0dERFhYWmDdvHsLCwgr5LBiGUTSsGJBjhoaGSEhIKLHL8coCj8fDwIED8eLFC3Tq1AlDhw5F8+bN8eKFfG/Zm5CQgJkzZ6J69eqIvLoPPL7sfjX5PB5MDTTQrrYJeDweHB0dsXHjRkRGRuLKlSto3rw5tmzZAhsbG9SpUwerVq3Chw9sUyOGKclYMSDHfq5C+P0722q2oMqUKYODBw/iypUr+PLlC2xtbbFw4cJftgvmWmZmJjZu3IiqVatiy5YtmDFjBp5eOYY2tUyQx9CBQiMiLOxeC6r/mcooEAjg7OyMPXv2ICYmBn5+frC0tMSiRYtgZmaGJk2aYNu2bQp5+4VhmNyxYkCOlfYliaXB2dkZT58+xbRp07Bs2TLY2tri5s2bXMcCEeHo0aOwsrLClClT0KNHD7x58waLFi2CtrY2pnSwhLGOWp6DCQtjWMtqsKmol+sxqqqq6NKlC7y9vRETE4O///4burq6mDhxIsqXL4927drhwIEDSEpiexswTEnAigE5xooB6VBXV8fSpUsRHBwMQ0NDNG/eHIMHD+Zs2ubNmzfh6OgId3d31KxZE6GhofD09ISJiUn2MboaKtg+qD701JVAEumN9PdoWBmDnMwLdI62tjb69OmDc+fOISoqCtu2bUN6ejoGDhwIY2Nj9OjRAz4+PsjIYNshM4yiYsWAHDM0NAQAttaAlNjY2OD27dvYuXMnfH19YWVlhb///rvYBhiGhYWhc+fOaN68OQDgxo0bOH36NKytrX97vJGmAImX1iLrW9Hu1wv4PAj4PIxpXR3j29YAj1f43gYjIyOMGDECN2/exKdPn7Bs2TK8f/8ePXr0QNmyZTFw4EBcunSJjXNhGAXDigE59nOzItYzID18Ph8jRoxAeHg4WrRogX79+qFt27Z4+/atzNqMiorC8OHDUatWLTx//hxHjx7FgwcP0KxZs1zPmzBhAh7euoItfWtjXJvqUOLzCjSO4OexVcpo4q8RDdGvSZUiFQL/VbFiRUyZMgWPHz/GixcvMGnSJAQEBKBt27aoUKECxo4di3v37inUbA6GKa14xH5T5ZqRkRGmTJmCWbNmcR2lRDp//jxGjx6NmJgYzJ8/H1OnToWysrJUrp2cnIy1a9di7dq1UFNTw/z58zFy5Eioqqrmee6uXbswYsQI7N69G0OHDgUAfE3MgN/jT/B5+AmJ6ULweAAfPIj/9SusxOdB9M86BXXN9NHTsRKcahhDSVA8dT8RISgoCEeOHMGRI0fw+fNnVK5cGe7u7ujduzdq1aol1YKEYRjpYMWAnLO0tESnTp2wdu1arqOUWKmpqVi4cCE2bNgAKysr7Nq1Cw0b5r3Jz58IhULs2bMHCxcuRGJiIiZOnIiZM2dCT08vX+ffvXsXLVq0wLBhw7Bt27Zfry+S4PnnRLz4kogXX5IQl5IFkVgCdRUBKhtpwqqCLmpW1EV5fW6XZZZIJLhz5w68vLxw/PhxfP/+HdbW1ujduzc8PDxgbl6wsQsMw8gQMXKtUaNGNGDAAK5jlApBQUHk4OBAPB6PRo0aRfHx8QU6XyKR0MmTJ6lGjRrE4/FowIAB9OHDhwJd49OnT1S2bFlycnKirKysAp0rzzIzM+ns2bPUp08f0tTUJABUv3592rhxI3358oXreAxT6rExA3KOrUJYfOrUqYP79+9j48aNOHToEKysrHD8+PF83fMOCAhA06ZN0a1bN5iZmSEoKAh//fUXKlWqlO/209PT0a1bN6ioqOD48eNSu10hD1RUVNCxY0f8/fff+Pr1K7y9vWFiYoLp06ejYsWKcHZ2xt69exEfH891VIYplVgxIOdYMVC8BAIBxo8fj7CwMDg6OsLNzQ0uLi5/XIHv9evX6NGjBxo1aoSUlBRcunQJ/v7+sLW1LVC7RIQRI0bg+fPn8PPzg7GxsTSejlzS0NBAr1694Ofnh+joaOzatQs8Hg/Dhw9H2bJl0bVrVxw9ehRpaWlcR2WYUoMVA3LOyMiITS3kgKmpKfz8/ODr64vg4GDY2Nhg/fr12VPmvn79inHjxsHa2hoPHz7EwYMH8eTJE7Ru3bpQ7f3sjdi7dy/s7Oyk+VTkmr6+PoYMGYIrV64gMjISa9asQXR0NNzd3WFsbIy+ffvi3LlzEAqFXEdlmJKN6/sUTO5WrVpFenp6XMco1RITE2ns2LHE4/GoTp06NGrUKNLW1iZdXV1atWoVpaWlFen6ly9fJj6fT9OmTZNSYsX35s0bWrp0KVlbWxMAMjAwoBEjRtCNGzdILBZzHY9hShw2m0DO7du3D0OGDEFWVlaJuoesaMRiMRYsWIBVq1ZBJBKhbt26OHnyJCpXrlyk67579w716tVDvXr1cO7cOQgEgrxPKkWICKGhodlTFT98+IAKFSrA3d0dHh4esLOzY1MVGUYKWDEg506fPo0uXbogOjoaZcuW5TpOqUNEuHDhAmbMmIFnz57Bzc0NVapUwebNm2FkZIRt27bBxcWlUNdOSUlBw4YNkZGRgYcPH0JfX1/K6UsWIkJAQACOHDmCo0ePIjY2FtWrV4eHhwc8PDxQo0YNriMyjMJiYwbk3M/9Cdi4geL3+PFjODs7o2PHjjA0NMTDhw9x9OhRrFy5Es+fP4eNjQ06d+6M7t274/PnzwW6NhFh4MCBiIiIgJ+fHysE8oHH46FRo0bYsmULvnz5gosXL6JRo0bYsGEDLC0tYW9vj7Vr1+LTp09cR2UYxcPdHQomP168eEEA6ObNm1xHKTXev39PvXv3JgBkbW1NZ8+eJYlE8stxEomEjhw5QmXLliVtbW3aunUriUSifLWxZMkSAkB+fn7Sjl/qpKenk4+PD/Xo0YNUVVUJADk5OdGOHTsoNjaW63gMoxBYMSDnvn37RgDIx8eH6yglXlxcHE2ePJlUVFTIxMSEdu/eTUKhMM/zvn//TsOHDycA5OjoSCEhIbkef/r0aQJACxculFZ05h+JiYl04MABatu2LQkEAlJSUqIOHTrQoUOHKCkpiet4DCO3WDEg50QiEfH5fPL09OQ6SomVnp5Oa9asIT09PdLS0qLFixdTSkpKga9z+/ZtsrKyIiUlJZoxYwalpqb+ckxYWBhpa2tT165d2ah4GYuJiaFt27ZR48aNCQCpq6uTm5sbnTx5kjIyMriOxzByhRUDCsDIyIiWL1/OdYwSRywW06FDh6hSpUokEAho9OjRFB0dXaRrZmZm0pIlS0hVVZWqVKlCFy9ezP5efHw8WVhYkI2NDfuUWswiIiJo1apVZGtrSwBIV1eXBg8eTJcvX873rR2GKcnYAEIFYGhoyFYhlLKrV6/CwcEB/fr1g4ODA54/f45t27YVecaGiooK5s6di6dPn8LMzAxt27ZFnz598OXLF/Tu3RuxsbHw8/ODtra2lJ4Jkx+VK1fG9OnTERwcjLCwMIwfPx43b95E69atUbFiRUyYMAEPHjxg2y0zpRabWqgAmjRpgqpVq+LAgQNcR1F4T58+xYwZM+Dv74+GDRtizZo1aNy4sUzaIiIcPHgQU6ZMQWpqKjIzM3H+/Hm0a9dOJu0xBUNECAwMhJeXF44ePYqoqCiYm5tnb7dsY2PDdUSGKTasZ0ABsP0Jii4yMhKDBg1CnTp18PbtW/j4+ODu3bsyKwSAH1PhBgwYgBUrViAjIwNEhOXLlyM8PFxmbTL5x+PxUK9ePWzYsAGfPn3CtWvX0LJlS2zfvh01a9ZE7dq1sWLFCkRERHAdlWFkjhUDCoDtT1B4iYmJmD17NiwsLHDu3Dls2bIFz58/h6ura7GsXBccHIwJEyagT58+uHLlCqKiomBra4sFCxYgIyND5u0z+SMQCNCiRQvs3r0b0dHROHXqFGxsbLB06VJUqVIFjRo1wtatWxETE8N1VIaRDS4HLDD5M336dKpatSrXMRRKZmYmbd68mYyMjEhdXZ3mzp1LiYmJxZrh69evVLlyZbKzs8vevyA9PZ3mzp1LysrKVL16dbp+/XqxZmIKJjk5mQ4fPkydOnUiJSUl4vP51Lp1a9q/fz8lJCRwHY9hpIb1DCgAdpsg/4gIx48fh7W1NSZOnIguXbrg9evXWLJkCXR0dIoth1AohJubG9LS0nDy5Emoq6sDANTU1LBkyRIEBQWhTJkyaNGiBQYPHsx6fuSUlpYWevfujTNnziA6Oho7duyAUCjE4MGDUbZsWbi6uuLEiRNIT0/nOirDFA3X1QiTt3379hEAysrK4jqKXLt16xY5OjoSAOrYsSOFhoZylmXcuHGkpKREt27d+uMxYrGYPD09SVdXl4yMjOjQoUO/XemQkT+RkZG0bt06cnBwIACkra1N/fv3pwsXLrDfU0YhsWJAAfxcsa6oc+BLqvDwcOrSpQsBIHt7e7p27RqneX4Wb9u3b8/X8VFRUdSrVy8CQK1ataLXr1/LOCEjTS9fvqRFixZRjRo1CAAZGRnR6NGj6fbt22xhKUZhsGJAAdy9e5cA0LNnz7iOIleioqJoxIgRJBAIyMzMjLy8vDh/8Q0ICCAVFRUaNmxYgT/lnz9/nipXrkxqamq0bNkyyszMlFFKRhYkEgk9efKEpk2bRhUrViQAZGpqStOnT6egoCDW68PINVYMKICXL18SALpx4wbXUeRCcnIyLVy4kDQ1NUlfX5/Wr18vF8vLfv78mUxMTKhRo0aFfiNPSUmhadOmkUAgoJo1a9Ldu3elnJIpDmKxmG7dukWjRo0iQ0NDAkCWlpa0ePFi1vPDyCVWDCiAuLg4tlkREQmFQtq5cyeVLVuWVFVVadq0afT9+3euYxERUUZGBjVo0IAqVKhAUVFRRb5eUFAQ1atXj3g8Ho0cOZLi4+OLHpLhRFZWFp0/f5769etHWlpaBIDq1atH69evp8+fP3Mdj2GIiBUDCkEsFpfqzYokEgn5+fmRpaUlAaB+/fpRREQE17GySSQSGjx4MKmqqtLDhw+ldl2RSESbN28mLS0tKleuHB07dox1NSu41NRUOnbsGHXr1o1UVFSIx+NRixYtaNeuXRQXF8d1PKYUY1MLFQCfz4eBgUGpnF744MEDNGvWDF27dkWFChXw5MkTHDx4EJUrV+Y6WrZt27Zh37592LVrF+rVqye16woEAowbNw7h4eFo0KAB3Nzc4OLigg8fPkitDaZ4aWhooGfPnvD19UVMTAz27t0LgUCAkSNHoly5cujcuTOOHDmC1NRUrqMypQwrBhREaVtr4O3bt3Bzc0ODBg2QkJAAf39/XL58GXXr1uU6Wg43btzAxIkTMXHiRPTv318mbVSsWBEnT57EyZMnERwcDGtra6xfvx4ikUgm7THFQ09PD4MGDcLly5fx+fNnrFu3DrGxsejduzeMjY2z1zfIysriOipTGnDdNcHkT5MmTah///5cx5C52NhYGj9+PCkrK1OFChVo//79crvFbEREBBkZGZGzszMJhcJiaTMpKYnGjx9PPB6P6tatS48ePSqWdpni8/btW1q2bBnVrFmTAJC+vj4NGzaMrl27Jre/C4ziY7sWKoiuXbtCKBTi3LlzXEeRifT0dGzcuBErV64EAMyaNQsTJkzIXrlP3qSlpaFx48ZITEzEo0ePYGhoWKztP3r0CMOGDUNoaCjGjRuHJUuWsG2RS6DQ0FAcOXIER44cQUREBMqXL49evXqhd+/esLe3L5b9NZhSgutqhMmfIUOGUP369bmOIXUikYj2799PFStWJGVlZZowYQLFxsZyHStXEomEevXqRRoaGhQSEsJZDqFQSGvWrCENDQ0yNTWlU6dOcZaFkS2JREIBAQE0btw4Klu2LAGgatWq0bx58ygsLIzreEwJwIoBBTFjxgwyNzfnOobUSCQSunDhAtWqVYsAkJubG71584brWPmycuVKAkDHjx/nOgoREb1//57at29PAMjV1ZUiIyO5jsTIkFAopEuXLtGgQYNIV1eXAFCdOnVo1apV9OHDB67jMQqKFQMKYs2aNaSrq8t1DKl48uQJOTs7EwBq2rQp3b9/n+tI+Xb+/Hni8Xg0Z84crqPkIJFIyNvbm8qWLUva2tq0detWdn+5FEhPT6eTJ09Sz549SU1NjQBQkyZNaNu2bfT161eu4zEKhBUDCqIkbFYUERFBffv2zV6N7dSpUwo1b/7ly5ekq6tLnTp14nzZ4z/5/v07jRgxggCQo6Mjp7cxmOKVlJREBw8epPbt25NAICCBQEDt2rWjgwcPUlJSEtfxGDnHphYqCCMjIwBQyK1u4+PjMX36dNSoUQOXL1+Gp6cnQkND0blzZ4UZAJWUlISuXbuiXLly+Pvvv8Hny+evjr6+Pnbu3Ik7d+4gOTkZdnZ2mDFjBtLS0riOxsiYtrY2+vXrh/PnzyMqKgpbtmxBamoq+vfvD2NjY/Ts2RMnT55ERkYG11EZecR1NcLkz7179wgAp9vyFlRGRgatW7eO9PX1SVNTkxYuXEjJyclcxyowsVhMLi4upKOjQy9evOA6Tr5lZmbS0qVLSVVVlapUqUL+/v5cR2I48OHDB1q9ejXVrVuXAJCOjg4NHDiQLl26VGxTYhn5x4oBBfHq1SuF2axILBaTl5cXmZmZkUAgoBEjRkhlvX6uzJs3j3g8Hp07d47rKIXy6tUratmyJQEgDw8PthV2KRYeHk7z588nCwsLAkDGxsY0btw4unfvnkLdsmOkjxUDCuLnZkUnTpzgOkqurl27Rvb29gSAunTpovDTnnx8fAgALV++nOsoRSKRSOjAgQNkaGhIenp6tHv3brkd98DInkQioUePHtHkyZOpfPnyBIDMzMxo1qxZ9PTpU67jMRxgiw4pCIlEAmVlZWzfvh0jRozgOs4vnj17hhkzZuD8+fNwdHTEmjVr0LRpU65jFUloaCgaNmyIjh07wtvbW2HGN+Tm27dvmDp1Kg4cOICmTZvC09MTVlZWhb7eh2+pCHgdixdfkvD8cyKS04WQEKCmLIBFOS1YlddFncr6sDMzAJ+v+H9/JZFYLMbt27dx5MgRHD9+HPHx8bCxsUHv3r3h7u4Oc3NzriMyxYAVAwrE2NgYEydOxOzZs7mOku3z589YsGAB9u/fjypVqmDFihXo0aOHwr9xfv/+HfXq1YO2tjbu3r0LTU1NriNJ1fXr1zFixAhERERg1qxZmDVrFtTU1PJ1LhHh1ouvOHr/A55ExIPHA/g8HsSSnC8l/37cRE8NPR0ro6t9RWioKsniKTFSkJWVhUuXLsHLywunTp1CWloaHB0d0bt3b7i5uaFcuXJcR2RkhBUDCsTa2hrt2rXD+vXruY6CpKQkrF69GuvXr4eGhgYWLFiAESNGQEVFhetoRSYSidC+fXsEBQUhMDAQZmZmXEeSiYyMDCxfvhwrV65ElSpVsHPnTrRo0SLXc74mZmDZqWd48DYOfB4gyeerx8/S0FhHDfNda8G+ikHRwjMyl5qaijNnzsDLywv+/v4Qi8Vo2bIlPDw84OrqCj09Pa4jMlIkn/OjmN8yNDTkfOdCoVCIrVu3omrVqli3bh0mTpyIt2/fYty4cSWiEACAGTNm4Pr16zh+/HiJLQQAQE1NDYsXL0ZwcDCMjY3RsmVLDBo06I/TV++9ikWvrXcQ+P47gPwXAgBA/3zFJmdgzF+PsO3yK7DPIfJNU1MT7u7uOH36NKKjo+Hp6QmxWIyhQ4eibNmy6NatG44dO8amrZYQrBhQIFxuY0xE8PHxgY2NDcaPHw8XFxe8fv0ay5cvh66uLieZZOHQoUNYv3491q9fn+en5JLC2toaN2/exK5du+Dn5wdLS0scOnQox5v1jfAYTPV6gows8S+3Awri56mH7rzHqjNhrCBQEAYGBhg6dCiuXbuGyMhIrFy5Ep8/f0avXr1QtmzZ7PUNhEIh11GZQmK3CRTIsGHD8PTpUzx48KBY27179y6mTZuGgIAAtGvXDqtWrULt2rWLNUNxCAwMRJMmTeDh4YF9+/Yp/LiHwoiOjsakSZPg7e0NZ2dn7Ny5ExmqRhix7yEkEoK0XyyGtaiKIc2rSfmqTHF58+YNvL294eXlhfDwcBgaGqJnz57w8PBAkyZN5HZxLuZXrBhQILNmzcKxY8fw9u3bYmnv5cuXmDVrFk6ePIm6deti9erVaNWqVbG0XdxiYmLg4OCA8uXL4+bNm/keTFdS+fv7Y9SoUYj59h0NJh9CBk+1QLcF8ovPA/YOawCrCiWnd6k0IiI8ffoUXl5e8Pb2xsePH1GxYkW4u7vDw8MDdevWLZXFtSJhxYACEH//DuHTp7i2fTueXb+JYYMGgaemCqUqVaBcqxaUbazBV1eXWnsxMTFYtGgRdu3ahQoVKmD58uXw8PAosVV+VlYWWrZsibdv3+Lx48coX74815HkQmpqKgYsP4xPfFPwcvm311FXRp/GZqhlqgfr8rpQUxEAAM4FfcYSv2e5tsHnAaaGGjg8ujGUBCXz56u0kUgkuHfvHo4cOYJjx47h27dvqFGjBjw8PODh4YHq1atzHZH5DVYMyCkSCpHhfxEp+/cj68FDAICEx4P4n/UGwOMBIhFABCgrQ72zC7QGDICyXeEr8NTUVKxfvx6rV6+GkpIS5syZg7Fjx5b4T8kjR47E/v37cePGDTRs2JDrOHIjMS0LndbegFCc+0uERTltHBrV6JfH81MM/LS0py1a1WTT1koaoVCIq1ev4siRIzh58iSSk5Nhb28PDw8P9OrVCxUrVuQ6IvMPVorLocw7dxHTqAm+jxyFrMDH2Y/ziaD8swgQCn8UAgAgFCLd7xRiO3fBt17uEH36VKD2RCIRdu/eDQsLCyxduhTDhw/H27dvMXXq1BJfCHh6esLT0xPbt29nhcB/nA36AlE+7g0IxRI8ifiOA7ff4fSTyAK3w+cBJx58KExERs4pKyujXbt2OHDgAGJiYnD8+HFUrlwZc+bMQaVKldC8eXN4enoq5AZsJQ0rBuQIZWYiftZsfOvlDnF09I8HxeL8nfzPcVn3H+Br85ZIPeKdd3tEOHv2LGxtbTF8+HC0aNECL168wLp162BgUPLngd+5cwdjx47FmDFjMGTIEK7jyJ1Tjz8hP/2GEbGpGL3/EXZceY3wz4kFbkdCQPDHBHyJZ1PUSjJ1dXX06NEDPj4+iImJwb59+6CqqorRo0ejXLly6NSpEw4fPoyUlBSuo5ZKrBiQE5L0dHzr1x9pfx/+5wFJ4S4kFoMyMpAwdRqSNmz842GPHj1CixYt4OLigrJlyyIwMBCHDx9GlSpVCteugvn06RO6d++Oxo0bY8OGDVzHkTupGSJ8jCveN+fnkQUvJBjFpKuri4EDB+LixYv48uULNmzYgPj4ePTt2xfGxsbZ6xtkZmZyHTUbEUH04QPSL15E2vETSDvhg/RLlyH6/KVETJFl64LKARKL8X3oMGQF3C98EfAbyWvXgaehAe0Rw7Mfe/fuHebMmQNvb2/Y2Njg3LlzaN++faka6Zueno5u3bpBTU0Nx48f/zEGg8nhZXRSsbanxOfhxZcktK5lUqztMtwrW7Ysxo4di7FjxyIiIgLe3t44cuQIunTpAj09PXTv3h29e/dGs2bNIBAIijUbSSTIvH0bqQcOIvPuPdAfei14urpQa94MmgP6Q6V+fYV8PWU9A3IgxXMXMm/clGoh8FPS0mXICglBXFwcJk2aBEtLS9y6dQt79+5FSEgIOnTooJA/uIVFRBg+fDjCwsLg5+eHMmXKcB1JLn38llqs7YkkhI9xxdsmI3/MzMwwc+ZMhISE4NmzZxgzZgyuXbsGZ2dnmJqaYuLEiXj48GGxfBJPv3QZMY2aIK53X2RcufrHQgAAKDER6WfP4ZtrD3xt6YzMewEyzydtbDYBx4SvX+Nr6zaAUCSbBgQCJOpoo1nkJ2RKJJg5cyYmTpwIDQ0N2bQn59avX48pU6bAy8sLHh4eXMfhhEQiQVpaGlJSUpCamvrLV0pKCh7G8PEgUR//31Ugf7o5VMQMFxsABZtNAAA25dSxqqc1dHV1WW8Nk42I8PDhQxw5cgTe3t6IiYlB1apVs6cqWltbS7U9SUICEuYtQLqvLwq0AcdPfD4gkUBz0EDozJ4FvoK81rJigGNxAwYh4/r1PAcKCszMoDNpAlSbNAXfQB+SuO/IuH4dSevWQ/JzsOEfSIhwuY4tOv21H8bGxtKMr1AuX76Mdu3aYerUqVi1ahXXcXL18w37d2/Uv3sDz+17/308PT09z/aN7TvCrMPYAvcaFaUYiH/9EK+OzAfwY118PT096OrqQk9PL9ev3x1TUvbJYHISi8W4ceMGjhw5ghMnTiAxMRG1a9fO3m65cuXKRbt+VBRie/aC+OPH/A/e/hM+H8o1a8LI62/w9fWLdq1iwIoBDokiIxHToBHyGrKtZG2FMj4nwNfR+eV74qhoxHbtBnHkn6d0EY8H5SpVYHzrRqm6JfBvb9++Rb169eDo6IizZ89K5d4jEf3yhp3fN+S8Hs/v5i8aGhrQ1NTM8aWlpfXLYwV9/NGHZMw8GlLgv5PCFgN8HmBfToBWJqlISEjI8ysxMREJCQl/7C5WV1fPV9Hwp+KipE+pLQkyMzPh7++PI0eO4PTp00hPT0ejRo3Qu3dv9OzZs8AffMRxcYh16fLjtbSohcBPAgGUraxg5HMcfC0t6VxTRlgxwKGk1WuQvHVbnj94Rj4noNrAEQCQesQb6WfOQr19W2j26wcAyLhyBXEDBuXZnpHvCag6OhY9uAIhIsTGxqJ58+ZIS0vD4cOHoaSkJJVP2/l9w1ZXV8/1zbiwb+Dq6uoyWxUyJjEdXdbfytexqsp8NLL4MfaiflVDdHMwBQA8fv8dJx5+BACEf05EdGLGH6/BAzC1oxW616+U74wSiQQpKSn5Khr+9CX5wzgdVVXVQvVI/PxSU1MrtYU3F5KTk3H69Gl4eXnh0qVLICI4Ozujd+/e6NatG3R+80Hq34gIcX36IfPOHekVAj/x+VB37QaDTRule10pY8UAh752coEwKDjXY3gaGjB5GQ4enw/KzMSXGlY/FhwSCGAS9gx8LS2QRIIYxwYQf4n684UEAmhPnACdyZOk+ySkgIiQkZEhtU/V/308P36+YRf1Tfq/39PQ0FDIZZyJCG1XXUdSet670JnoqeHkpGa5HrPkZCjOBX/J9Zi9wxxhU1GvIDGLhIiyi4m8ioY/FRci0e/H+qioqBSqR+LnnzU0NFgxUUjfvn2Dj48PvLy8cOvWLaiqqqJTp07w8PBAhw4doP6bpdtTjx5FwuSpMs1leOAvqLVylmkbRcGmFnKERCIIw8LzPI6nrZ29Ljz9XHkQ+LGeQFbWj2P4fKjY2yP9y9lcGpQgK6Tg3b7Zp//zhi2Le9ipqan5Gh2spqb2xzddQ0NDVKpU6ZfHb9y4gdOnT2PmzJlwdnb+7Zu3hoZGsU9Zknc8Hg+tapbDqceRRdqyOL/KaKvCsnzxblbE4/Ggra0NbW1tmJqaFvj8n7eJCtIrERERkeP//7Tlr5KSUoF7I/79pampWWqLCSMjI4wYMQIjRoxAZGQkjh49Ci8vL/To0QPa2tpwdXWFh4cHnJ2doaSkBElyMhLnLcjfxVVUoDViODRcu0GpUiVQejoyHzxE8oaNED7L5ZYYn4/4adNQ7uED8OR0cCzrGeCI8O07fHXK/dMUAIDPh8mzp+Dr/nihjJ8xE+knfKDe2QX6G9ZnH5a4eAlSPHfleqlMHR3cnD61UJ+2U1NT/9il+m+qqqpF/jT9u8cL84Z9+vRpdOnSBYsWLcL8+fMLdC4D3HryEtNPRci8HR4PGOVsgf5NzWXeljwhIqSnp+e7V+K/BUZ8fDyy/vlA8F8CgaDQgy/19PSgpaWlkD1auXn58iWOHDmCI0eO4NWrVyhTpgzc3NwwXN8Ahvv/ynPsFgQCGB4+BLWmTX/5FmVkIG7AQGTeuZvrJQw8d0K9U8ciPAvZYcUAR7KCgxHb0SVfx2pPngSdKZNzPSZx1WqkbN6S6zEpEgkso79AVVVV6t3hP9+wlZTko7MpPDwcjo6OaNWqFU6cOFHiXthkKTIyEsuWLcPevXth1X8VNCpYgQo4xbAgVJX4ODnJCQZaqjJro6TKyMgo1FiJn18ZGb8fx8Hn83MUCgW91aGjoyO3v3NEhKCgoB/bLR/xhpdQhCrKynkuuqM5eBD0liwGAAjDXyBp3Too16wJnYkTAACiL18Q07gp8IcCDQIBVBzsUcbXR4rPRnpYMcCRrJAQxHbolL+DeTzoTJ8GzWFDs7cqFkVGQvI1Fip2dQEACbPnIvXAgdyvo6mJsmHP5OYNW1YSEhJQv359qKioICAgANra2lxHUgjR0dFYuXIldu7cCS0tLcyYMQNdPAZhyL4gCMXSXxDrpxmdrNGtXsG76Zmiy8zMLPR4iYSEhD8OouXxeNDR0Sn0rQ4dHZ1iuXWXFRGB2Ma/ftL/HePrV6H8z/bLX106Q/gkCABg+PchqLVoDgCIGzYcGecv5Hodkxdh4Mvha1LJfleQY3zt3Ee35kCEpFWrkbxpM5SqVQOlp0H0PgKGRw5nHyJ89TIfbWqX+EJALBbDw8MD3759w6NHj1ghkA9xcXFYvXo1tmzZAhUVFcydOxcTJkzI/rsb26Y6Nlx4IfV2+Twe6prpo6sD28aWK6qqqjA2Ni70+iNZWVm/FAm5FRdv3rzJcVxumxJpa2sXeODlvx/Lz2udODR/U195enrZhQBlZUEY/P/xV1mBgdnFgKpj/TyLAeGzZ1CVwx1SS/Y7gxwTVK4EqKoCBdiIgzIysgepKNeqlf0DJf7+HVn/VKl/xOdDpXatQudVFHPmzMGlS5fg7++PqlWrch1HriUkJGD9+vXYuHEjiAhTpkzB5MmTof+fBVLcHCvhTXQyzgR9llrbAj4P5fXUsaynbakd6FYSqKiooEyZMoVe1lsoFCIpKSnfvRL/HYCZnJz8x2traWnlWTTUD3yMKnw++HmMh1Kq+P+CVRIfn2PpePG/tl8WmOYxNZbPhzCUFQPMv/AEAijXtIHw8ZM8j1V1bgnNXr2QceUKxNExULayhPa4ceD9042Wsn1H3kUFjwfl2rWlEV1ueXt7Y9WqVVi7di1at27NdRy5lZycjM2bN2Pt2rXIzMzE2LFjMX36dBgZGf32eB6Ph5mdbSDg8+D3OBI8AEW5t8jnAZUMNbB1YD3oabKVAkszZWVlGBoawtDQsFDni0SiX4qJ3HomPn36hNDQ0Ozj5oCHShqa4OdRkPL+taQw/XcGSJbwX8f9Om0xBwEf4u/fC/w8iwMrBjik1rz5j3UG8qhKeUrKUO/YAeodO/zyvbQzZ/KcRQAAEIuh2qRxIZPKv6CgIAwePBh9+/bF5Mm5D7YsrdLS0rBjxw6sXLkSSUlJGDFiBGbNmgUTk7x3ChTweZjhYo1alfSw9lw4skSSAk85JIkEPD4frvVMMaZ1dairsJcfpmiUlJRgYGAAAwODQp3/fdJkpPv45rnQEP1rbATvv0tdqyj/67i8lvrmSX9RIymRz+GepYSmu3u+jhO9eY30c+cgiowEZWRAkpSEzAcPET9xEuJHjs6zmJAAeCEUok6/fti6dSuSkop3e1pZi42NRdeuXWFtbY1du3axbuf/yMzMxNatW1G1alXMnDkTrq6uePPmDTZv3pyvQuAnHo+HjnUq4Oi4JmhVsxwEfB7y81ct4P84qLKeEsIOTIN+dAArBBi5wNfURH5+iEX/Wu6dr68P/Gtwo+Bft0jEnz7mfiGiHL0M8oQVAxwSlDeBWts2OX6wfkf09h2+Dx+JGMeG+FLVAlFWNvjm2h1px0/kqx0+jwf9kcNRs1YtTJw4ERUqVMCYMWMQFhYmjafBKaFQiJ49eyIjIwMnT5787epipZVQKMTu3bthYWGBCRMmoG3btnj58iU8PT0LtcjOT8Y6aljUvTZOT2mGES0tULOiLlSUfn0p4fOAykaa6GJfEQdHNsSxKa3RuUltzJ49G4mJiUV5agwjFUrVquXrkzolJED46hUAgKesDJU6ttnfU7G3z/5z5oOHuV9IJIKyhUXhwsoYm1rIMdH794hp2erPc1OLSiCAUnULGF84D56yMiIjI7Fr1y7s2rULMTExaNGiBcaMGYMuXboo5EyDcePGYefOnbh27Rqa/mYxkNJILBbj8OHDWLRoEd6/f49evXph4cKFqFGjhuzalBCuPwhGN7c+2OnpCYe6tqhsqAk1lZyFbmRkJGrUqIHRo0djzZo1MsvDMPmR9SQIsS6d83VsjnUGXrxE0tq1UK5VCzoTxgPIxzoD/ygbcBdKlfK/B0dxYT0DHFOqUgW6c+fItA2DzZuzl8CsWLEiFi9ejI8fP8LLywtZWVno0aMHzMzMsHTpUsTExMg0izTt27cPW7duxZYtW1ghgB8b9xw9ehQ2NjYYMGAAbG1tERISgiNHjsi0EAB+3ArQ5mchJTIctSrqooaJzi+FAPDj52/WrFnYtGkTXv3zSYthiptEIsG9e/cwY+8eZOTz83DqgYPIuH0bAKBsWQOGe3ZnFwKUkYGESZPzLAT4RoYQFKFXTpZYMSAHNAcN/HG7QAYrdukuXgRla6tfHldRUYGHhwfu3LmDoKAgtG/fHsuXL4epqSn69OmDe/fu5Wu/AK7cv38fo0aNwvDhwzFy5Eiu43CKiODn54c6derA3d0dVatWRWBgIHx9fVGrVvFNJ/25KZSmpmaux02ZMgXly5fHlClTiiMWwwD48Xvy5MkTTJ8+HVWqVEHjxo1xzM8PL6pVBeXntVcsRlz/gUhcuQrC169/jN+Kj0f6xUuI7dItz6WIwedDs39/uR3TxG4TyAnKzETc0GHIvH4j7zWy88LjAUTQmTcH2gV4o4yPj8f+/fuxfft2vH37FnXr1sWYMWPg4eEBDTka9PLlyxc4ODjA3Nwc165dg8p/R/eWEkQEf39/zJ8/H4GBgXB2dsaSJUvQkKM5zGfOnEHnzp3x5cuXPAcmnjhxAj179sSFCxfQrl27YkrIlEbPnz+Ht7c3vL298ebNG5QpUwY9evSAu7s7mjRpAvGLl/jauo3sg/D5KPfwPgQFGLRbnFjPgJzgqarCcN9eaI0Y/uPNvJBLcYoB8DQ1oL9tS4EKAQDQ19fH5MmT8erVK5w/fx7ly5fHsGHDULFiRUydOhVv374tVCZpysjIgKurK/h8Pk6cOFFqC4Hr16+jSZMm6NChA1RVVXHt2jVcuXKFs0IAQPbStHn1DABA9+7d0bx5c0ycOPGPO/cxTGG9efMGy5YtQ61atVCzZk1s3boVTk5OuHTpEr58+YLt27fDyckJfD4fytZWUO/sUujX3Hzh86E5cIDcFgIAKwbkCk9ZGbrz5sLI7yQEPweY5PcH9J/jrqanI3zxImh07VroHHw+H+3bt8fZs2fx5s0bDBkyBPv27YOFhQU6duyICxcu5GsHQ2kjIowePRrBwcHw8/NDuXLlij0D1+7evYuWLVuiZcuWEAqF8Pf3x+3bt9GiRQuuo+X7NgHwY5rixo0b8fr1a2zbtk3W0ZhS4OPHj1i7di0cHBxgYWGBFStWwNbWFqdPn0Z0dDT27t2L1q1b/3agtO6ypeBpa+VrmmGB8fkQlC8PnVkzpX9tKWLFgBxSdbBH2ZvXYXjwAFSbOf3/B5THA5SVf3z96weap6YGzT69UebyJfxVywbjFy+GSCSSShZzc3OsWbMGkZGR2LNnD6KiotChQwdUr14d69atw/diXE1r69at2L9/P3bv3g0HB4dia1ceBAYGon379mjSpAm+f/+OU6dO4cGDB2jbtq3c3INMTU2FqqpqvjeYsbW1xfDhw7Fw4ULExsbKOB1TEkVHR2Pr1q1o0qQJKleujHnz5sHMzAzHjx/H169f8ffff8PFxQWqqrnviCkwMIDO+nWQEEl3rNQ/vbz6W7eAL0e3Wn+HjRlQAJLUVAifP4fwaSjEX7+CsrLAU1WFknkVqNSqDaXqFuD9Uxw8efIEDg4O2Lp1K0aPHi31LESE+/fvY9u2bTh27BiUlJTQu3dvjBkzBnXr1pV6ez9dv34drVu3xvjx47F+/XqZtSNvnj59ivnz5+PUqVOwtLTE4sWL0b17d7ncHnblypVYs2YN4v61VnteYmNjUb16dbi5ucHT01OG6ZiSIi4uDr6+vvD29saNGzcgEAjQtm1b9OrVC507d4aOTgE2gftHRkYG3NzcoHH9Btbq6Epnw24+D+ALYLB7F9TbKMDy6MSUOAMHDiRDQ0OKj4+XaTvR0dG0dOlSqlixIgGgRo0akZeXF2VmZkq1nffv35OhoSG1atWKhEKhVK8tr8LCwsjNzY0AUNWqVenQoUMkEom4jpWruXPnUsWKFQt83saNG4nH41FQUJD0QzElQmJiIh04cIA6dOhASkpKxOfzqVWrVrRnzx6Ki4sr0rVTU1OpTZs2pKamRhcuXKC0c+fps0UNijStTJHlKxbuy7QyfbauSek3b0npb0D2WDFQAn3+/Jk0NTVpypQpxdKeUCgkHx8fatmyJQGgsmXL0rx58ygyMrLI105JSSFbW1uqUqUKffv2TQpp5dubN2+oX79+xOfzqVKlSrRnzx7KysriOla+TJ48mWrUqFHg87KyssjKyoqcnJxIIpHIIBmjiFJTU+no0aPUrVs3UlVVJQDUtGlT2rZtG0VHR0uljaSkJGrevDlpaGjQ1atXsx8Xff5CsR59st/YC1IERJavSHEjR5GoiEVKcWPFQAm1ZMkSUlZWplevXhVru8+fP6cxY8aQlpYWCQQC6t69O12/fr1QL/ISiYR69epFmpqa9PTpUxmklR8fPnygYcOGkUAgIBMTE9q6dStlZGRwHatARowYQXZ2doU619/fnwDQsWPHpJyKUSQZGRnk5+dH7u7upKmpSQCoXr16tG7dOvr48aNU20pISKCGDRuStrY23blz55fvSyQSSr95k74NGkyRFUx/vNlXMsv55l/B9P+PmVamuNFjKOPhQ6nmLC6sGCih0tLSyNTUlLp27cpJ+4mJibR161aytLQkAGRjY0Pbt2+npKSkfF9jxYoVBIBOnDghw6Tc+vLlC40dO5ZUVFSoTJkytG7dOkpLS+M6VqH07duXmjZtWujzXVxcqFKlSgr7/JnCycrKIn9/fxo4cCDp6uoSAKpduzYtX76c3rx5I5M2v337Rvb29qSvr08P8/HmLYqKolS/U5SwZCnF9nKnmPYdKaZDJ4rt3YcSlq+gtLPnSKTgPZesGCjBvLy8CABdu3aNswwSiYSuXr1K3bp1Iz6fT9ra2jRu3DgKDw/P9bxz584Rj8ejuXPnFlPS4vX161eaMmUKqampkb6+Pi1fvpySk5O5jlUk3bp1o3bt2hX6/FevXpGysjItWrRIiqkYeSQSiej69es0YsQIMjIyIgBUvXp1mj9/Pj1//lymbUdHR1OtWrXIyMiIgoODZdqWImHFQAkmkUioQYMGZGtrKxeDzz5+/Ehz5syhMmXKEABydnamkydP/jIo8OXLl6Srq0suLi4kFos5SisbcXFxNHv2bNLU1CRtbW1asGABJSQkcB1LKtq2bUuurq5Fusb06dNJXV1d6l3CDPckEgkFBATQhAkTyMTEhABQ5cqVacaMGRQUFFQs40UiIyPJ0tKSTExMZF50KBpWDJRw9+/fJwC0e/durqNky8jIoL///psaNGhAAMjU1JSWL19OX79+pcTERLK0tCRLS0tKTEzkOqrUJCYm0qJFi0hHR4c0NDRo5syZJW5AZJMmTahfv35FukZiYiKVLVuWPDw8pJSK4ZJEIqEnT57Q9OnTqXLlygSATExMaMKECRQQEFCsA0YjIiLI3NycTE1Ni30slSJgxUAp0KdPHypbtqxcvrkGBgbSoEGDSE1NjVRUVKhixYqkqalJL1684DqaVKSkpNDKlSvJwMCAVFVVadKkSVIbCS1v6tatSyNHjizydfbt20cA6Pbt21JIxXDh+fPnNH/+fKpevToBIENDQxo5ciTduHGDk17K169fU6VKlcjc3Jzev39f7O0rAlYMlAIfP34kdXV1mjlzJtdR/ujbt2/k7OxMAAgAOTg40P79+xV2MFl6ejpt2LCBjI2NSVlZmUaPHi2VqZbyrHr16lKZzioWi8ne3p7s7OxK3G2ikuzNmze0bNkyqlWrFgEgXV1dGjhwIPn7+3M6PTYsLIxMTEyoRo0aJf53sChYMVBKzJs3j1RVVeW2Kj5x4gQBoGXLltHZs2epXbt2BIAMDAxo+vTpcpv7vzIzM2n79u1UoUIFEggENGTIEIXJXlQVKlSg+fPnS+Vad+/eJQC0Z88eqVyPkY1Pnz7RunXrqF69egSANDQ0yMPDg06dOiUXU2ODg4OpTJkyVLNmzRLbIyctrBgoJZKTk6l8+fLk5ubGdZRfPH36lDQ1NalXr1457iG+evWKJk2aRHp6esTj8cjFxYX8/f3l8tOiUCikvXv3kpmZGfF4POrbt2+puy+pr69PK1eulNr1+vTpQ8bGxiVmgGVJER0dTVu3bqUmTZoQAFJVVaVu3brR0aNHKSUlhet42R49ekT6+vpkZ2dHsbGxXMeRe6wYKEX++usvubsX++3bN6pSpQrZ2tr+8YUkJSWFdu3aRba2tgSALCwsaMOGDTJfbjk/RCIR/f3332RhYUEAqGfPnqV2lLKKigpt2bJFatf79OkTaWho0NSpU6V2TaZw4uLiaM+ePdSqVSvi8/mkpKREHTp0oIMHD8rlWKS7d++Sjo4ONWjQQC5eJxQBKwZKkZ/3Yh0cHOTi07VQKCRnZ2cyMjLKV1e6RCKhO3fukLu7OykpKZGGhgYNHz6cQkJCZB/2P8RiMZ04cYKsra0JALm4uJTqtfWFQiEBoH379kn1uj9X0nz58qVUr8vkLSkpiQ4dOkQdO3YkZWVl4vP55OzsTLt27ZLrmTDXr18nTU1NcnJyKtAiZ6UdKwZKmVu3bhEAOnDgANdRaNKkSSQQCOj69esFPvfLly+0aNGi7PnKTZs2JW9vb5kPVJJIJHTmzBmqU6cOAaA2bdrQgwcPZNqmIkhISCAAdPToUaleNy0tjczMzKhjx45SvS7ze6mpqXTs2DHq3r07qampEQBq3LgxbdmyhaKioriOlyd/f39SU1Oj1q1bU2pqKtdxFAorBkqhnj17Uvny5Tm9v3fgwAECQJs3by7SdbKysujYsWPUrFmz7DnMCxYsoM+fP0sp6Q8SiYQuXbpEjo6OBICcnJzo1i3F2ZFM1j5//kwA6OzZs1K/9s/BpefPn5f6tZkf636cPn2aevfunb0fgIODA61Zs4Y+fPjAdbx88/PzIxUVFerUqROlp6dzHUfhsGKgFHr37h2pqKhIbeR3QT18+JBUVVVp0KBBUl105OnTpzRy5EjS1NQkJSUlcnNzo1u3bhW5jZs3b5KTkxMBoAYNGtDly5fZ7nr/8fr1a5ktfS2RSKh58+ZUo0YNhdnBUd4JhUK6ePEiDR48mPT09AgA1axZk5YuXUqvX7/mOl6BHT16lJSUlKh79+5S30K9tGDFQCk1c+ZMTpZ9jYqKogoVKpCjo6PMph4lJCTQpk2bshc8qVWrFnl6eha4J+T+/fvUunVrAkB169als2fPsiLgD4KDgwmAzG6ZBAcHE5/Ppw0bNsjk+qWBWCymmzdv0qhRo7KXBK9WrRrNmzePnj17xnW8Qjtw4ADx+Xzq06fPL0ubM/nHioFSKjExkYyNjalPnz7F1mZmZiY1btyYTExMpN6N/ztisZguXbpEXbp0IT6fT7q6ujRx4sQ8p/w9efKEOnXqlL3boq+vLysC8vBzXQBZvqmMHDmSdHV16evXrzJro6SRSCR0//59mjhxIlWoUIEAUKVKlWjatGn0+PFjhf+59vT0JB6PR0OHDpWL/VcUGSsGSrFdu3bJ9NPcfw0fPpxUVFQoICCgWNr7t4iICJo5cyYZGhpmD/w7ffp0jheQZ8+eUffu3bN3UPPy8mIvMPl06dIlAiDTBZZiY2NJT0+Phg8fLrM2SgKJRELBwcE0c+ZMMjMzIwBUrlw5Gj9+PN29e1cuZhJJw6ZNmwgAjR07tsQ8Jy6xYqAUE4lEVLt2bWrYsKHMPyHs2LGDANDevXtl2k5e0tPT6cCBA9krppmZmdHUqVOpe/fuxOPxyMzMjPbv38+6GwvIz8+PAMj8U/umTZuIx+OV6mmcfxIeHk4LFiwgS0vL7NU7hw8fTteuXStxRe3KlSsJAE2bNk3hezfkBSsGSrmrV68SADpy5IjM2rh16xYpKSnR2LFjZdZGYZw8eZKqVq2avR9Cw4YN6d69e1zHUkiHDx8mADKfoZKVlUVWVlbk5OTE3gTox2DgFStWZC/IpaOjQwMGDKALFy6UyMGWEomEFixYQABo/vz57GdAilgxwFCXLl2oUqVKMtkU6OPHj2RsbEzNmzeXmxenT58+0ciRI0lZWZnKli1Ly5YtoyVLllClSpUIANWvX58OHjzIpicVwM9bTsXRXevv708A6NixYzJvSx5FRkbS+vXrs6e5amhoUK9evejkyZMl+mdWIpHQ9OnTCQCtWLGC6zglDisGGHr16hUpKyvT0qVLpXrdtLQ0srOzo8qVK8vFoK/o6GiaMGECqaqqkqGhIa1evTrHJ1mRSESnTp3KnkFgZGREs2bNUqi51lzZsGEDaWhoFFt7Li4uVKlSpVKzsExMTAxt376dnJyciMfjkYqKCnXt2pW8vb3laj8AWRGLxTRu3DgCQBs3buQ6TonEigGGiIgmT55Mmpqa9OXLF6lcTyKRUJ8+fUhdXZ3z+7vfvn2j6dOnk4aGBunq6tKSJUvyXE/9xYsXNH78eNLR0SE+n09du3Zl6wvkYunSpVSmTJlia+9nAbto0aJia7O4ff/+nfbu3UutW7cmgUBAAoGA2rVrR3/99Vep2rxJLBbTsGHDCADt3LmT6zglFisGGCIiio+PJ0NDQxo0aJBUrrd27VoCQN7e3lK5XmHEx8fTvHnzSFtbm7S0tGju3Ln0/fv3Al0jOTmZdu7cSTVr1iQAZGlpSZs3b5bLzVm4NHv2bDIzMyvWNqdPn87JWhmylJycTIcPHyYXFxdSVlYmHo9HLVq0IE9Pz1K5855QKKR+/foRn8+nv/76i+s4JRorBphs27ZtIx6PR48fPy7SdS5evEh8Pp9mzJghpWQFk5SUREuXLiU9PT1SV1enadOmFfmFVCKR0M2bN6lnz54kEAhIU1OTRo0apdCLtUjThAkTyNrauljbTExMpLJly5KHh0extittaWlpdOLECerRowepq6tnD2bdtGmT1HrqFFFWVlb27xuXHypKC1YMMNmEQiFZW1sXaaT2mzdvSF9fn9q3b1/s05lSU1Np7dq1ZGRkRCoqKjRu3DiZvJhGRkbS/PnzqVy5cgSAmjdvTsePH5ebAZJcGDp0KNWrV6/Y2923b5/cbcudH5mZmXT27Fnq27cvaWlpEQCys7Oj1atXU0REBNfxOJeenk4uLi6koqJCfn5+XMcpFVgxwORw4cIFAkA+Pj4FPjcpKYlsbGzIwsKiWPcQz8jIoC1btlC5cuVISUmJhg8fXixdx5mZmeTt7U1NmjQhAFShQgVavHixQuzuJm0eHh7UvHnzYm9XLBaTg4MD2dnZyf1ceqFQSJcvX6YhQ4aQvr4+ASBra2tasmRJnqtiliapqanUpk0bUlNTowsXLnAdp9RgxQDzi/bt25O5uXmB9g4Qi8XUrVs30tbWprCwMBmm+7+srCzatWsXmZqaEp/PpwEDBtDbt2+Lpe3/Cg4OpmHDhpGGhgYpKyuTh4cH3blzp9QMOOzcuTNn2wzfu3ePANCePXs4aT83YrGYbt26RWPGjCFjY2MCQFWrVqU5c+ZQaGgo1/HkTlJSEjVv3pw0NTXp6tWrXMcpVVgxwPwiLCyMBAIBrV69Ot/nLFq0iADQqVOnZJjsB5FIRAcOHCBzc3Pi8Xjk7u5O4eHhMm83P75//07r16+natWqEQCqU6cO7d69u8RPgWvVqhW5ublx1n6fPn3I2NhYLkbZSyQSevjwIU2ePDl7P4CKFSvSlClT6NGjR6WmQCyohIQEatiwIWlra9OdO3e4jlPqsGKA+a2xY8eSjo4OxcTE5Hnsz6VoFy9eLNNMYrGYvL29qUaNGgSAunXrRk+fPpVpm4UlFovpwoUL1KlTJ+LxeKSnp0eTJ09WyO1h86Nhw4Y0cOBAztr/9OkTaWho0NSpUzlpXyKRUEhICM2ePZvMzc0JABkbG9PYsWPpzp07bO38PHz79o3s7e1JX1+fHj58yHWcUokVA8xvffv2jfT09GjEiBG5Hvf8+XPS0tIiV1dXmb3gSSQSOnnyJNWqVYsAUIcOHSgwMFAmbcnCu3fvaNq0aWRgYEAAqH379nT27NkS9QZRu3ZtGjNmDKcZlixZQsrKyvTy5ctia/Ply5e0aNEisrKyIgCkr69Pw4YNo6tXr8r9GAZ5ER0dTbVq1aIyZcpQcHAw13FKLVYMMH+0YcMG4vP5f/z0/f37d6pWrRrVrFmTkpOTpd6+RCKh8+fPk4ODAwEgZ2dnhd47IC0tjfbt20d2dnYEgMzNzWnt2rUUFxfHdbQiq1q1Kk2fPp3TDGlpaWRmZibzsQvv37+nlStXUt26dQkAaWtrU79+/ejcuXOUmZkp07ZLmsjISLK0tCQTExN6/vw513FKNVYMMH+UmZlJFhYW1KpVq1/uc4pEImrXrh3p6+vTmzdvpN72tWvXqFGjRgSAGjduTNeuXZN6G1yRSCQUEBBAffv2JRUVFVJTU6MhQ4bQkydPuI5WaOXKlZOL1QBPnDhBAOj8+fNSve7nz59p48aN1KBBAwJA6urq5ObmRj4+PjLZ06M0iIiIIHNzczI1NS2xt88UCSsGmFydOnWKANCZM2dyPD59+nTi8/l0+fJlqbZ3584datGiBQEgBwcH8vf3L9EDrmJiYmjZsmVkamqavdjM4cOHFe4Tpo6ODq1du5brGCSRSKh58+ZUo0aNIq/78PXrV9qxYwc1b96ceDweKSsrU+fOncnLy0smPWGlyevXr6lSpUpkbm5O79+/5zoOQ6wYYPIgkUjI2dmZqlevnv0G5eXlRQBo3bp1Umvn0aNH1K5dOwJAtWvXplOnTpXoIuC/hEIh+fr6krOzc/bgs7lz59KnT5+4jpYniURCAoGAtm/fznUUIvoxzZPP59OGDRsKfG58fDzt37+f2rZtm70fQNu2bWn//v3FunZGSRYWFkYmJiZUo0YNioyM5DoO8w9WDDB5CgkJIT6fTxs3bqQnT56Quro69e3bVypv1iEhIdSlS5fsdf+PHTtWogbWFUZYWBiNHTuWtLS0SCAQUPfu3enatWtyWxxlZGQQADpw4ADXUbKNHDmSdHV187VbZnJyMnl5eVGXLl1IRUWFeDweNWvWjHbs2CEXu22WJMHBwVSmTBmqVasWRUdHcx2H+RdWDDD5Mnz4cNLV1aUKFSqQg4NDke+ThoWFkZubW/YiLIcOHWKjr/8jKSmJtm3blj1S3dramrZt20ZJSUlcR8shLi6OANCJEye4jpItNjaW9PT0aPjw4b/9fnp6Ovn6+pKbm1v2fgANGjSgjRs30ufPn4s5benw6NEj0tfXJzs7O/r27RvXcZj/YMUAky+fPn0igUBQ5F3i3rx5k70LWaVKlWjPnj2lek3//JBIJHTt2jVydXUlgUBA2traNHbs2GJb6TEvnz59IgByt3Tspk2biMfjZW+hnZWVRefOnaN+/fqRtrZ29qJQK1eupHfv3nEbtoS7e/cu6ejoUIMGDdjtFjnFigEmX8aMGUN8Pp8EAkGh3oQ+fPhAw4YNI4FAQCYmJrR169YCLXfM/PDx40eaM2dO9tK2zs7O5OvrS0KhsFhziGJiKP3yFUraspXeTZtO07R1KGT6DEq/eYvEcvJin5WVRVZWVlS7dm0aOnRo9joPlpaWtGjRInrx4gXXEUuF69evk6amJjk5OcldrxbzfzwiIjAlniQ5GVnBIRA+fQrhy1egtFSAxwdfXw/K1tZQqV0byjVtwFNR+eXcvXv3YujQodiyZQvWr18PKysrnDt3Ll/tRkVFYfny5di1axd0dXUxc+ZMjBo1Curq6tJ+iqVKZmYmfHx8sHXrVgQEBMDU1BQjR47E0KFDYWxsLJM2JQkJSDt+Ail/HYA4IuLHgwIBCIBIJIISnw/ePy8nyjVrQnPwQKh37gx+Mf9bSyQSBAQEwNvbG3///TcSEhJgbGyMIUOGwN3dHbVq1QKPxyvWTKXVxYsX0bVrVzRt2hR+fn7Q0NDgOhLzB6wYKOGygoORcuAg0k/6AUIhwOcDPB4gFv/4r0Dw489E4OnpQbNfX2j26wulChUAAAEBAWjWrBkGDx6MnTt3wsfHBz169IC/vz/atm37x3ZjY2OxatUqbNu2Derq6pg2bRrGjRsHLS2tYnrmpceTJ0+wbds2eHl5QSKRwM3NDWPGjIGjo6NU3vRIJELKTk8krVv/42cIAPJ62eDzAYkEPG1t6C5aAA03N5m+ARMRnjx5Am9vbxw9ehSfPn1ChQoV0KtXLzx69AgfPnxAeHg4ezMqRqdOnYKbmxvatm2LY8eOQU1NjetITC5YMVBCib99Q8Ks2cg4f+H/b/j5IRAAALQnjEdyd1c4NGyIatWq4erVq1BRUQERoXnz5vj27RtCQkKgpKSU4/Tv379j3bp12LRpE/h8PiZPnoxJkyZBV1dX2k+R+Y/v379j37592LFjB969ewd7e3uMGTMG7u7uhe6JEb55i/gxYyF89qxwoXg8gAiqzZpBf+N6CKTca/Hs2TN4e3vD29sbb9++hbGxMXr06AF3d3c0btwYfD4fb968gbW1NebOnYv58+dLtX3m944dO4Y+ffqga9euOHz4MFR+0+PIyBdWDJRA6ZevIH7CRFBKSv6LgP/i8fBRIMBUsQi+jwNRtmzZ7G89fvwY9erVw7Zt2zBq1CgAQFJSEjZu3Ih169ZBJBJh/PjxmDp1KgwNDaXxlJgCkEgk8Pf3x9atW3HhwgUYGBhgyJAhGDVqFKpUqZLv62SFhOBbLw9QWlrhf45+EgggKFcORj7HoWRqWqRLvX79GkePHoW3tzeeP38OPT09dO/eHe7u7mjevPkvBSoAzJgxA1u2bMHLly9hWsT2mdwdPHgQgwYNQu/evbF///7f/nsw8ocVAyVMmo8v4idM/PE/RfynFRGBr62Ncid9oWxtleN7gwYNwpkzZxASEoK///4bq1evRmpqKkaPHo0ZM2bkKB4Y7rx58wY7duzAvn37kJiYiI4dO2LMmDFo06YN+Hz+H88TvnqF2M5dpVMI/CQQQGBigjJnT0NQpkyBTv3w4QOOHTsGb29vPHnyBFpaWujSpQvc3d3Rpk2bPD95JiUloXr16mjZsiW8vLyK8iyYXOzatQsjR47EkCFDsHPnTgj+6Wlk5B8rBkqQ9EuX8X3wkCIXATkIBODr6KDM+bNQqlQp++F3797BysoKAoEAIpEIw4YNw+zZs1Hhn7EGjHxJS0uDl5cXtm3bhuDgYFSrVg2jR4/GwIEDoa+vn+NYysrC1zbtIHr3TnqFwE8CAVSdnGB46ECeYwiio6Nx/PhxeHt74969e1BTU0OnTp3g7u6ODh06FPjWx/79+zF48GDcvn0bTZo0KcqzYH5j8+bNmDBhAsaOHZt9m5BRHKwYKCHEsbGIcWoOSk6WbjEAAAIBVOztYORzAkKRCHv37sWyZcvw5csX8Hg8XLlyBS1atJBum4xMEBHu3buHbdu24cSJE1BWVkafPn0wZswY2NraAgCS1qxF8qbN0v85+hf9jRug0bPHL4/HxcXBx8cH3t7euHHjBpSUlNCuXTv06tULnTt3hra2dqHblEgkcHR0hEQiwcOHD9mnVilatWoVZs6ciWnTpmHVqlVstoYCYsVACRE3ZCgyLl/54yc5JUtLaI8eBeXatSAwNgZPQwOS5GQIw8KQduQo0v388mwjvFNHDLt0ER8+fEDv3r0xY8YMdOzYEfb29jh58qSUnxEja9HR0di9ezc8PT3x+fNnNGnSBJP69IHjshWARJLrucp2daE9ahRU7OzANzQAiUQQR3xA+sWLSNm+A5Sa+ueTeTzwtLVh8iQQPHV1JCYmws/PD0ePHsXly5chkUjg7OwMd3d3dOvW7Zeei6IICAhAo0aNsGfPHgwZMkRq1y2tiAiLFi3CokWLsGDBAixYsIAVAgqKFQMlQNbjJ4jt3CXXY9Rdu8Fgy+Y/fj9xxUqkbN32x+8TgBSJBIsbNsCcJYthY2MDADhy5Ah69+6Na9eusd4BBSUUCnHq1Cls27YNDo+fYJyWNgS5vKCrNGoII6/D4Ckr//b7WY8fI7Zz1zzbfeXhjs1v3+D8+fMQCoVo2rQpevXqhR49eshsrQQA6Nu3Ly5fvoxXr16xWS5FQESYOXMmVq9ejRUrVmDmzJlcR2KKgBUDJcD38ROQ7ncq1/u7qi1bQL1tW2Q+eADJ16/g6elBa9hQqDo4AADEMTGItnPItR0CoL9+HTR7uf3/MSI0atQI6enpePz4Met6VWAkEiGyli34SUm5HmewexfUO7QHAGTcuYOU7TuhVLkSdBctzF606mu7DhCGhv7xGmIiPBMKscjcDO7u7ujZsycqVqwovSeTi8jISNSoUQOjR4/GmjVriqXNkkYikWDixInYsmULNm7ciAkTJnAdiSkiVgwoOElCAqJs6wIiUYHPVbaxhvGliz+uk5qKqOqWuZ/A50O5Vk0Yn8+5+uD9+/fRsGFD1vWq4LKePUds23Z5Hmd49AjU/hmA963/AGRevQYAKHPuLFTq/Bh38LWTC4RBwXley+RFGPhFGAdQWEuXLsXixYvx7NkzVK9evdjbV2RisRgjR47E3r17sXPnTgwfPpzrSIwUsOGeCi4rOLjghQCPB37ZstDo2zf7ocx79/I+TyKB8GkoJOnpOR5u0KABevfujTlz5iA5OblgWRi5kdsn+X/LCrif/Wet4cOg6uQEzf79sqefCl++hDA0f4sUFXoxoyKaMmUKKlSogMmTJ3PSvqISiUQYOHAg9u3bh7/++osVAiUIKwYUnPBpaPaqgflR5swpVIj8CJMngdDq3w8kkSD98mUkTJmWvwsQQfg87JeHV6xYgcTERKxYsSLfWRj5Inz+HFDOe4GY5O07kOp1BCQSQa1JExgdOQy9FcvBU1FB2vHj+NazV/4KVD4fwmfPpZC84NTV1bF27VqcO3cOFy5c4CSDosnKyoKHhwe8vb1x5MgR9O/fn+tIjBSxpaEUnPDly6JNAZNIAJH4x1ry+SR6+RKqDvY5HqtUqRKmTZuG1atXY/jw4TAzM8v39YgIEokkx39/99if/suOLfixvzunXcADWInEeX9CyMqC6O1bSJKSIDAwyPEtVScnqNid/zGzJS98PiQc9iS5urqiefPmmDRpElq1agXlPwyIZICMjAy4ubnh4sWLOHHiBLp0yX3AMqN42JgBBfdtwEBkXrma7+OVrCzB19WDoLwJNPv3g2q9egCArOAQxHbslOf5YgBbQDhMv76ZiMViJCQkQElJCerq6vl6s2I/fr/H4/HA4/HA5/Nz/Pd3j+X3v3kdMyMtHc2zhMirn0l78iToTPnRvZ6yZy+SVq+BoHIlGB3+GwJjY1BmJmKcmkMcGZn7hZSUoD1+XPa1uBASEgI7OzusW7cOEydO5CyHPEtLS0O3bt1w69YtnDx5Eu3a5T2uhFE8rGdAwRV0Tq8o/EX2nzPOX4DJs1Dw1NWgUscWSuZVIHr3Ps/2HB0doVW71m/fZIKCgnDs2DEMHz4c5ubmhX5jKu3ncCFh1mykeh3Js4tfs3fv7D8nb94CSk2FKCwc6Rf8oTWgP3iqqlBzbonUAwdzb1AiAU9TUxrRC83W1hbDhw/HwoUL0adPH5Qp4DLJJV1ycjJcXFwQGBiI8+fPs+nDJRgrBhQcX18/f7sSqqkBGRm/PEwg/Hzr4enkPeeaT4T2vXqhh1vP335fIpHg7du3ePDgATZv3syWJFUgSpaW+Vp+mG/w/0WAeJqaQFzcj8e1/v/GzsvPVsESyS97XnBhyZIl8Pb2xty5c+Hp6cl1HLmRkJCADh064Pnz57h48SIaN27MdSRGhtgrtYJTtrHJc7U4ADA+fxZ6a9dAw80Nqk0aQ71LFxh6HQb/n/XdJenpEL1+na82e82fhwEDBmDLli24f/8+0v81u4DP52PDhg0IDAzE4cOHC/ekGE6o1K6Vr/Enwlevsv+st3olVFs0h+aAAVDv2PH/x/xmkOnvKNesVeCc0mZkZIRFixZh9+7dCA4O5jqOXIiLi4OzszNevHiBq1evskKgFGBjBhRc5sOH+Nate57Hlb1/L9etYxNmz8m7WxeARCDAyg7t8OjJE4SEhCArKwsCgQA1a9aEg4MD6tWrBwcHByxfvhz379/Hq1evoMlxVzCTP5SZiajadX5sfZ0LtVbOMNi7B7w/bE2bcfs24tx7//Z72Xg8KFWrhrI3rhU2rlQJhULY2tqiTJkyuHHjRqleUjcmJgatW7dGdHQ0Ll++nL1nBVOysWJAwVFGBqLq2P3YoCgXmgMHQK11ayhVt/gxApzHgzgmBlmPnyD14CFkPXyYd2MCAVSbOcHo0I+iISsrC8+ePcOjR48QGBiIwMBAhIaGQiwWQ1lZGSKRCPb29hg1ahQcHBxgbW3N9jaXc4mLFiNl7748bxeoODhAa+QIqNjVBd/AACQUQvT+PdLPnEXKrt1AZmaebekuXwatAfIzPe3ixYto164djh07hp49f38brKT7/PkznJ2dkZSUhKtXr8LKivvbOEzxYMVACZC4ZClSdu+R/nazv2F46CDUWv55EFF6ejpCQkIQGBgIT09PPH/+PHvGgLq6OurWrZujB6F69epsXIEcEb17j5imTjJvh6eujnLBT8DX0pJ5WwXRuXNnhISEIDw8HBr5GfdQgnz48AEtW7aESCTC1atXUa1aNa4jMcWIFQMlgCgiAjFNnGS65Sz4fAjKm6BswD3w8vnmnZSUBAsLC7Rs2RKjR49GYGBgdi/C63/GJ2hra8POzi67OHBwcIC5uXmp7qblWvzsuUg7dChfY1EKS3fhAmgNGyqz6xfWmzdvYG1tjblz52L+/Plcxyk2b968QcuWLaGsrIxr166hcuXKXEdiihkrBkqIxOUrkLJ9h0wLAsPDh6DWvHmBztm9ezeGDx+OBw8eoH79+tmPJyQk4PHjx9m3FwIDAxEREQEA0NfXzy4MfvYiVKxYkRUIxUSSmoqvzVtCHB0t/YJAIICyrS3K+PmCJ6ebWs2YMQNbtmzBy5cvYZrLOJuSIjw8HM7OztDR0cHVq1dRoUIFriMxHGDFQAlBGRn42rotRB8+SP92AZ8PDbee0F+3tsCnisVi2NnZQVNTE3fv3s31DT02NjZHgfDo0SN8+fIFAGBsbJyjOHBwcEC5cuUK/ZSY3GU9foLYHj1/rDkgrYJAIABfRwdlzp2Bkhx/8kxKSkL16tXRsmVLeHl5cR1HpkJCQtC6dWuUK1cOly9fRtmyZbmOxHCEFQMliPDlS8R27gpKT5deQSAQQNnSEka+Jwp9f/fatWtwdnbGkSNH4O7uXqBzv3z5gsePH2ffXnj06BG+ffsGAKhQoUKO4sDBwQGGhoaFysj8KuPWLcQNGARxVlaeqxLmSSAAT1sLZY4fl4u1BfKyf/9+DB48GLdv30aTf3ZoLGkCAwPRpk0bVKlSBZcuXWK/O6UcKwZKmKynT/GtlwcoNbXoBQGfD2UrKxh6H4HgXwvNFEaXLl0QHByMFy9eQP2ftQ0Kg4jw6dOnHDMYAgMDkZCQAACoUqVKjlsM9vb20NXNezEl5vf2T5kC67+9UEFZGbwivFQoW1vDwHMnlMyrSDGd7EgkEjg6OkIsFuPRo0cQyOktjcK6e/cuOnToABsbG5w/fx56enpcR2I4xoqBEkj07j3e9+8P9XfvC3efnc8HJBJo9HKD7uJFUhnx/fr1a9jY2GDhwoWYPXt2ka/3b0SEt2/f5ri98OTJE6T8M1++evXqOW4x1K1bl619kA/3799H06ZNMX38eExT10DqXwd+/Gzkt8jk8wE+HzqTJ0Fr9CjwFGwjoICAADRq1Ah79uzBkCFDuI4jNdevX4eLiwscHBxw5swZaGtrcx2JkQOsGCiB0tLSUNvGBiN19dA7JfXHbQMeL+/Bhf8saywoXx56q1bmOoWwMCZPnoxdu3bh9evXMDExkeq1/0ssFuPVq1c5ZjAEBQUhIyMDfD4fVlZWOW4v2NraQk1NTaaZFEl8fDzq1q2L8uXL4+bNmz/WjYiIQOrfh5H69+H/r2uhrARI/vm54vGy9zXgGxtDa+AAaHi4Q2BszNGzKLq+ffvi8uXLePXqVYnoYfL390e3bt3g5OSEkydPlrrpk8yfsWKgBJoxYwY2bdqE0NBQVC1fHum+J5Hy1wGIfm53zOP9f8vin5/ylJSg2rgxNAcNhFrLFjIZ6R0fHw8LCwt06dIFe/fulfr18yISifD8+fMctxdCQkIgFAqhpKSEWrVq5ehBqFmzZqnc1paI4Orqips3byIoKOiXaWaUlQXhq1cQhjyF8MWLH4UBnw+ejg5UbGygbFsbSlWryu1sgYKIjIxEjRo1MHr0aKxZs4brOEVy6tQpuLm5oW3btjh27BgrfpkcWDFQwoSEhMDe3h6LFy/+pTtekpwM4fPnEL54+WNMgYAPvp4elGvWhHL16uCpqMg837Zt2zBu3DgEBgbCzs5O5u3lJTMzE6GhoTluMTx//hxisRiqqqqwtbXNMUjRysqqxN0//q8tW7Zg/Pjx8PPzY/vWA1i6dCkWL16MZ8+eoXr16lzHKZRjx46hT58+6Nq1Kw4fPgyVYvhdZxQLKwZKELFYjIYNGyItLQ1PnjyRy194kUiE2rVrw9jYGNevX5fLtQPS0tIQEhKSY5DiixcvQETQ0NBA3bp1c9xisLCwKDGrKD5+/BiNGjXCqFGjsHHjRq7jyIX09HRYW1vDxsYGZ8+e5TpOgR08eBCDBg1C7969sX//frYkOPNbrBgoQbZs2YIJEybg7t27aNiwIddx/sjf3x/t27eHj48PXF1duY6TL8nJyXjy5EmOWwxv3rwBAOjo6MDe3j7HLQYzMzO5LHRyk5iYCDs7OxgYGODu3btyWUxyxcfHBz169MD58+fRvn17ruPk265duzBixAgMHToUnp6eJaZoZaSPFQMlxKdPn2BtbY1+/fph+/btXMfJU/v27fHq1SuEhYVBVVWV6ziFEh8fn71I0s9ehI8fPwIADAwMflkkqUKFCnJbIBAR3N3d4e/vj6CgIJibm3MdSa4QEVq2bImoqCiEhoYqxFiSTZs2YeLEiRg3bhw2btzICgEmd8QoPIlEQp07dyYTExNKSEjgOk6+PH/+nAQCAa1evZrrKFIVExND58+fp0WLFpGLiwuVK1eOABAAKlu2LHXq1IkWLlxIZ8+epejoaK7jZtu5cycBoGPHjnEdRW4FBwcTn8+nDRs2cB0lTytWrCAANH36dJJIJFzHYRQA6xkoAXx9fdG9e3ecOHEC3bt35zpOvo0dOxaHDh3C69evYazA08/y8vnz5xy3Fx49eoS4uDgAgKmpaY4eBHt7exgYGBRrvpCQEDg6OmLw4MEK0avEpVGjRuHIkSN4/fo1ypQpw3WcXxARFi5ciMWLF2PBggVYsGCB3PZGMfKFFQMKLjExEdbW1nBwcICfn59C/eJ/+/YNFhYWcHd3x44dO7iOU2yICB8+fMhRHDx+/BiJiYkAAHNz8xy3F+zs7KCjoyOTLCkpKbC3t4e6ujru37/Pppvl4efPrJubGzw9PbmOkwMRYcaMGVizZg1WrlyJGTNmcB2JUSQc9kowUjB69GjS0tKijx8/ch2lUNavX098Pp+ePn3KdRROicVievXqFR0+fJgmTZpETZs2JU1NzexbDDVq1KC+ffvSxo0b6c6dO5SamlrkNiUSCfXt25c0NTXp5cuXUngWpcOmTZuIx+NRUFAQ11GyicViGjt2LAGgTZs2cR2HUUCsZ0CBBQQEoHHjxti4cSPGjx/PdZxCycrKQs2aNVG5cmVcunRJoXo2ZE0sFuPFixc5bjEEBQUhMzMTfD4fNjY2OW4x1K5du0CDMX9uxvP333+jT58+MnwmJYtQKIStrS3KlCmDGzducP4zKxaLMXLkSOzduxc7d+7E8OHDOc3DKCZWDCgooVAIOzs7qKurIyAgQKEXwjl9+jS6dOmCM2fOoFOnTlzHkWtCoTB7FcWfMxiePn0KkUgEZWXl7FUUf95isLGx+e3I97CwMDg4OKB3797Ys2cPB89EsV26dAlt27bF0aNH4ebmxlkOkUiEQYMGwcvLC/v370f//v05y8IoNlYMKKgVK1Zg3rx5CAwMRJ06dbiOUyREhFatWiEyMhLPnj1TiGlb8iQjIwOhoaE5Fkl6/vw5JBIJ1NTUUKdOnRw7OVaqVCl7HYqHDx+y9ekL6edOnOHh4Zz8HWZlZaFPnz7w8/PD4cOHOS1KGMXHigEF9ObNG9SsWRPjx4/H6tWruY4jFU+fPkXdunWxfv16TJgwges4Ci81NRXBwcE5Bim+fPkSAKCkpASJRIK+ffuiXbt2cHBwQNWqVdk89AJ68+YNrK2tMXfuXMyfP79Y287IyICbmxsuXryIY8eOsWWjmSJjxYCCISK0bt0a7969Q2hoaInainf48OE4ceIEXr9+DUNDQ67jlDhJSUlYtWoVli9fjnr16iEuLg7v3r0DAOjq6sLe3j7HMsuVK1fm/H64vJsxYwa2bNmCly9fwtTUtFjaTEtLQ7du3XDr1i34+fmhbdu2xdIuU7KxYkDBHDx4EAMGDIC/v3+JexGIiYmBhYUFBg4ciM2bN3Mdp8R59eoV7Ozs0K1bNxw8eBA8Hg/fv3/PMUAxMDAQnz59AgAYGRnluL1Qr149lC9fnuNnIV+SkpJQvXp1tGzZEl5eXjJvLzk5GS4uLggMDMSZM2fQooV0txlnSi9WDCiQb9++wdLSEm3btsXhw4e5jiMTq1atwpw5c/Ds2TNYWlpyHafEyMjIQIMGDZCeno7Hjx9DS0vrj8dGR0dnL7P88xZDTEwMAMDExOSXZZblcfGd4vRzVsbt27fRpEkTmbWTkJCADh064Pnz57hw4QIaNWoks7aY0ocVAwpkwIABOHPmDF68eFFiV+zLyMiAtbU1rK2tFXKHOHk1evRo7Nu3Dw8ePICtrW2BziWi7FUU/z1I8fv37wCASpUq5SgO7O3toa+vL4unIZckEgkcHR0hFovx6NEjmczsiYuLQ5s2bfD+/XtcunQJDg4OUm+DKd1YMaAgrl69ilatWmHv3r0YPHgw13Fk6sSJE+jZsycuXryINm3acB1H4R0/fhxubm7YuXMnRowYIZVrEhEiIiJyFAePHz9GUlISAKBatWo5bjHY2dlBW1tbKm3Lo4CAADRq1Ah79uzBkCFDsh+PT83Ciy+JeB2djNRMEQBAU1UJ1cppw9JEBwZaea8LERMTg9atWyM6OhpXrlxB7dq1ZfY8mNKLFQMKID09HbVq1ULFihVx/fr1Ej+oi4jQrFkzfP/+HcHBwWz/9SJ4+/Yt7Ozs0K5dO3h7e8v0Z0cikeD169c5bi8EBQUhLS0NPB4PlpaWOXoQbG1tS9S0xr59++Ly5csICg3DvYhUnHjwERHfUgEAfB7A/+fvXkIEyT+vupUNNdDTsTLa25aHptqvP+efP3+Gs7MzkpKScPXqVVhZWRXb82FKF1YMKIA5c+Zg7dq1ePr0KWrUqMF1nGLx+PFj1KtXD9u2bcOoUaO4jqOQMjMz0bhxY8THx+PJkyfQ1dUt9gwikSh7FcWfvQjBwcHIysqCQCCAjY1NjhkMtWrVUtgtrT9++oQmHpNRseUgSHgC8PBjLenc/CzNVJT5GOVsATfHyuDzfzz64cMHtGzZEiKRCFevXkW1atVkGZ8p5VgxIOdCQ0NhZ2eHefPmFftcZq4NHDgQ586dw+vXr6Gnp8d1HIUzceJEbN++HQEBAbC3t+c6TrasrCw8e/YsxwyG0NBQiEQiqKiooHbt2jkGKVpbW8t971BUQjoW+jxFyMcEEFGhe2BqVtTF4h62SIv7jJYtW0JZWRnXrl1D5cqVpZyYYXJixYAck0gkaNy4MRITExEUFKSwn5gK68uXL7CwsMCoUaOwdu1aruMoFD8/P3Tr1g2bNm1SiH0r0tPT8fTp0xy3GMLDwyGRSKCurp69iuLPXoTq1avLzRLc72NTMHr/IySlCyGWFO3lVMDnQUOZh1eHZ0FDkoorV66gQoUKUkrKMH/GigE5tn37dowZM0bmU5bk2ZIlS7BkyRKEhYWxbtJ8+vDhA+rUqYPmzZvD19dXYceYpKSkIDg4OMcgxVevXgEAtLS0YGdnl+MWQ9WqVYv9uX6JT8eQ3feRmCaEREovpSQRA8J07BpcD7bVK0nlmgyTF1YMyKnPnz/D2toa7u7ucrdvenFKS0uDpaUl7O3tcfLkSa7jyD2hUAgnJydERUUhKCioxE3xS0xM/GUNhIiICACAnp7eL4skmZqayqxAEEsII/Y+QPiXpCL3CPwXnwdYltfB7qENIOArZjHHKBZWDMip7t274+7duwgPDy9xL+gF5eXlhT59+uDatWtsxbU8zJgxA+vXr8ft27fRoEEDruMUi2/fvmUXCD97ET5//gwAKFOmTI7bCw4ODjAxMZFKu94BEdjo/1Iq1/qTcW1qoE9jM5m2wTAAKwbk0qlTp9C1a1fOt0eVF0SERo0aISMjA4GBgXJzr1jenD9/Hh07dsSaNWswdepUruNwKioqCo8fP84uDh49eoTY2FgAQPny5XMUBw4ODjAyMirQ9ZPThei09gYyRZI8jy2nq4b+Tc3RoJohjLTVkJ4lQuT3dNx8EYODt9/neq6ygI+zU5tBV0OlQPkYpqBYMSBnkpOTYW1tjdq1a+Ps2bMKe79X2u7fv4+GDRv+sqgL80NkZCTq1KkDR0dHnDlzhu1A+B9EhMjIyBzjDwIDAxEfHw8AMDMzy3F7wc7OLtcZLEcDPmCj/4s8pw7WNtXD+r520FL7dVvuT3Fp6Ln5dq7n8wCMa1sDvRuZ5dESwxQNKwbkzIQJE7Bnzx6EhYWx6UT/0adPH1y9ehWvX78u0avZFZRIJELLli3x7t07BAcHF/hTbmlFRHj37l2O8QePHz9GSkoKAMDCwiLHLYa6detCS0sLRIQem27jS3x6rsWAlpoSjoxpjDI6ahCJJTj9JBL338QhUyhGRQMNVDLSxIYLL/LMWU5XDScnObEPBoxMsWJAjjx8+BANGjTA2rVrMXnyZK7jyJ2PHz+iRo0amDRpEpYvX851HLkxb948LF++HDdu3EDTpk25jqPQJBIJXr16laMHISgoCOnp6eDxeLCyskKdBs3wtmKXPK/Vp7EZxrX5sUiY59XX2H/rXaFz+U50Qnl99UKfzzB5YcWAnBAKhahXrx4EAgEePHgg94uscGXevHlYs2YNXrx4ATMzM67jcO7KlSto06YNlixZgjlz5nAdp0QSiUQICwv7fw/CxxQI7Pvked6OQfVQ18wAALDr2hu0tCmLigYaiE/NwqXQKOy98RZZ+RhzAADLe9mipXW5Ij0PhskNKwbkxOrVqzFr1iw8evQIdnZ2XMeRWykpKahevTqaNm2Ko0ePch2HU9HR0ahTpw5q164Nf39/Nk6gmOy5/gb7b73Lczqh//QW0NP888C/+2++YeKhx3m2J+Dz0L9JFYxwtihwVobJL/bqIQfevXuHhQsXYuLEiawQyIOWlhaWL1+OY8eO4e7du1zH4YxYLEafPn3A4/Fw6NAhVggUo5QMEfJz917rXxsPJaYJsdDnKRb6PEVimhAA0KCaEZrWKJPndXgAkjNEhUzLMPnDXkE4RkQYNWoUypQpg0WLFnEdRyH0798fdnZ2mDhxIiSS/HWzljTLly/H9evXcfjwYZQtW5brOKUK5TmH4Aeh+P8/mycDP8L/aRT8n0bhZOCn7MfrVzXMd6sMI0usGODYkSNHcOnSJezYsQNaWlpcx1EIfD4fGzduRGBgIA4fPsx1nGJ38+ZNLFy4EPPmzUPLli25jlPqaKoq5eutOSYxI/vPUQn//3N0Ynr2nzVU8zc2SDOfxzFMYbFigEPfv3/HxIkT4ebmhg4dOnAdR6E0bdoUPXr0wKxZs5Camsp1nGITGxuL3r17o2nTpqVuF0t5QETQorR8LT/89GNC9p/L6ar99s9f/1Uw/IlIQqhWlk2lZWSLFQMcmjZtGrKysrBp0yauoyikVatWITY2FmvWrOE6SrGQSCTo378/srKy4OXlxVZiLAZEhPDwcOzcuRO9e/eGqakpBvdom69zTz2JhOSfosG1nina1TZBu9om6OZgmn3M9bCYfF2rRnmdgodnmAJgfU8cuXHjBvbt2wdPT0+UK8emDBWGubk5Jk6ciNWrV2Po0KGoWLEi15Fkau3atfD398eFCxdQvnx5ruOUSGKxGKGhobh16xZu3ryJ27dvIzY2FgKBAPb29v/0yjhhZ7gy4lKFuV7reWQivO5FoG+TKtDVUMHC7rVzfP/g7Xd4FZ2cZyZDLRVU1Nco0vNimLywqYUcyMjIgK2tLYyNjXHz5k02ErwIkpKSYGFhgTZt2uDQoUNcx5GZe/fuwcnJCdOmTcOKFSu4jlNiCIVCBAUF4ebNm7h16xbu3LmDhIQEqKiowNHREU5OTmjWrBkaNmyYY0zPgVvvsPPaa+Tn1bO9bXn0qF8J5saaAIC3MSk4/uAjLoZG5XkunwcMbVENg5tVLfRzZJj8YMUAB+bPn4+VK1ciJCQEVlZWXMdReLt27cKIESPw4MED1K9fn+s4Uvf9+3fUqVMHpqamuHHjBpSVf13nnsmfzMxMPHz4MPuT/71795Camgp1dXU0atQIzZo1g5OTExwdHaGmpvbH63xPyYTLuptS37r4v/g84MyU5jDUVpVpOwzDioFiFhYWhjp16mDWrFlsKqGUiMVi2NnZQUtLC3fu3ClRa7gTEbp27Yo7d+4gODgYpqameZ/EZEtNTcX9+/ezP/nfv38fmZmZ0NHRQZMmTbI/+dvZ2UFFpWA7A+6+/gb7bryV2aQ/HoCBTuZssSGmWLBioBhJJBI4OTkhNjYWISEhuX7yYArm6tWraNWqFby9vdGrVy+u40jNxo0bMWnSJJw+fRouLi5cx5F7iYmJuHv3Lm7duoVbt27h0aNHEIlEMDAwyH7jd3Jygq2tbZEHYApFEgzwDEBEbCokUn4Z5fOASoaaODSqEZSV2G1ERvZYMVCMfnZn37hxA82aNeM6TonTpUsXBAcH48WLF1BXV/xNXR49eoTGjRtj7NixWL9+Pddx5FJcXBxu376d/ck/ODgYEokE5cqVy37jd3JygrW1tUzG5rz7moKhu+8jQyiGtO4Y8HmAqrIAu4c6simFTLFhxUAxiYqKgpWVFbp37469e/dyHadEevXqFWxsbLBo0SLMnj2b6zhFkpCQADs7OxgZGeHOnTsF7sIuqaKiorI/9d+6dQvPnj0DAFSuXDnHJ/9q1aoV2+2iZ5EJGH8gUCoFwc9CYFM/e9SupC+dgAyTD6wYKCa9evXC9evX8eLFCxgYGHAdp8SaPHkydu/ejVevXsHExITrOIVCRHBzc8Ply5cRFBSEKlWqcB2JMx8+fMge7Hfr1i28fv0aAGBhYZHjk3/lypU5zfk2Jhmzj4Xg47fUQo8h4AEwNdTAMrc6sCjHegSY4sWKgWJw7tw5dOrUCYcPH0bv3r25jlOixcfHw8LCAl26dFHYHpjt27djzJgxOHHiBLp37851nGJDRHjz5k2ON/8PHz4AAGrWrJn9xu/k5CSXhV6WSIJ9N9/i4O13AJDvXgL+Px0YfRtXwZDmVaGqzBaTYoofKwZkLCUlBTY2NrCyssKFCxdK1Eh3ebV161aMHz8ejx8/Rt26dbmOUyDBwcFwdHTEsGHDsHXrVq7jyJREIkFYWFiObv+oqCjw+XzUqVMn+5N/kyZNYGRkxHXcfPualIFTjyPh8/AjEv7ZoVCJz8vuMeDhxxLDAKCnoYzu9Sqhi31FGOuyAcUMd1gxIGOTJ0/Gzp078fz581Ld3VuchEJh9qJO169fV5gCLDk5Gfb29tDU1ERAQECJm20iFosREhKSY3W/uLg4KCkpoV69etmf+hs3bgxdXV2u4xaZSCzBh2+peBGVhNfRyUjNFAEEaKopoVpZbViW14GZkSaUBGy2AMM9VgzI0OPHj1G/fn2sXLkS06ZN4zpOqXLhwgV06NABvr6+6NatG9dx8kRE6NOnD86cOYMnT57AwkLx55YLhUI8fvw4x+p+SUlJUFVVRYMGDbIH/DVo0ACamppcx2WYUo0VAzIiEolQv359SCQSPHr0iK0ax4H27dvj1atXCAsLg6qqfK/gtnfvXgwdOhReXl7w8PDgOk6hZGRk4MGDB9mf/AMCApCWlgZNTU00btw4+5N//fr15f7fg2FKG1YMyMj69esxdepUPHjwAPXq1eM6TqkUFhaG2rVrY+XKlZg6dSrXcf7o2bNnqF+/Pvr27Ytdu3ZxHSffUlJSEBAQkP3J/8GDB8jKyoKuri6aNm2a/cm/bt26rBhmGDnHigEZiIiIgI2NDYYOHcq2J+bY2LFjcejQIbx+/RrGxsZcx/lFamoq6tWrB4FAgAcPHkBDQ353p0tISMCdO3eyP/k/fvwYYrEYRkZGOeb416pVi22vzDAKhhUDUkZE6NixI0JDQxEWFgZtbTZfmEvfvn1DtWrV4OHhgR07dnAd5xeDBg3CsWPHEBgYKHebVsXGxuZY3S8kJAREhPLly2e/8Tdr1gyWlpYKM0iTYZjfY8WAlB09ehTu7u44deoUOnfuzHUcBsCGDRswdepUhISEoGbNmlzHyXbw4EEMGDAAf/31FwYMGMB1HHz58iX7jf/mzZsIDw8HAFSpUiXHJ39zc3P25s8wJQwrBqQoPj4eVlZWaNKkCU6cOMF1HOYfWVlZqFmzJszMzHDx4kW5eCN78eIFHBwc0L17dxw4cKDY2yciRERE5Fjg5+3btwAAS0vLHAv8sJ0SGabkY8WAFA0fPhxHjx5FeHg4ypcvz3Uc5l9OnTqFrl274uzZs+jYsSOnWdLT0+Ho6AihUIhHjx5BS0tL5m0SEV69epX9xn/r1i18+vQJPB4PtWrVyv7k37RpU5QtW1bmeRiGkS+sGJCS27dvw8nJCdu3b8eoUaO4jsP8BxGhVatW+Pz5M0JDQzkd3T5y5EgcOHAADx48QO3atWXShkQiwbNn/2vv3qOiPO88gH/nnRnuchERRCMaFbmpiIDc5h1zbE2TtLFJNr2YQ1azXeKiMW1qPc2azY11u1mzSRrNxdOzuWhrU2NJtprFaJoYuaggCEIFg5F4AQJEBIbL3N559w906kSFGRiYGeb7OcdzdHjnfX6jnjPf53nf9/fU2XT3a2trgyAISElJsenux70yiIhhwAkMBgOSk5MRFhaGkpKSMdkqlUavpqYGixcvxiuvvIINGza4pIZr95Ts2LEDeXl5Tjuv2WxGdXW1deZfXFyMK1euQK1WIz093Trzz8rK4k2tRHQDhgEneP7551FQUICTJ0+61Q1qdKO8vDzs3bsXZ8+eHfcZ8dmzZ5GSkoJ77rkHu3fvHtW9C0ajERUVFdZZf2lpKXQ6Hfz8/JCZmWmd+WdkZMDf39+Jn4KIJiKGgVFqaGjAokWLsHHjRmzZssXV5dAw2traMG/ePKxZs2Zce0AYDAZkZWWhp6cHlZWVCA4Oduj9/f39N3T30+v1CAoKQk5OjnXmn5qaCh8fnzH6FEQ0UTEMjILFYsEdd9yBlpYWnDp1ijMwD/HCCy9g8+bNqKurQ1xc3LiMuWHDBuzYsQNHjx5FSkrKsMfrdDqUlpZaZ/7l5eUwmUwICwuDRqOxzvyTk5OhUqnG4RMQ0UTGMDAK1/rJf/LJJ1i+fLmryyE76fV6xMfHIzExEfv37x/z8QoLC/HAAw9g27ZtWL9+/U2P6ezstOnuV1VVBYvFgqlTp9o0+ElMTOQ9KUTkdAwDI9TW1ob4+Hjce++9eOedd1xdDjlo7969ePDBB/Hxxx9jxYoVYzZOU1MTFi9ejOXLl2Pv3r3W+wTa2tpsuvvV1tZClmXMmDEDWq3WGgBiY2Pdoi8CEU1sDAMjtGrVKhw8eBANDQ2YMmWKq8shB8myDK1Wi87OTlRXV4/JUrvRaIRGo0F7ezv27duHmpoa68z/zJkzAIA5c+ZYv/hFUcSsWbP45U9E445hYAQOHDiAu+66Czt37kRubq6ry6EROnHiBNLS0vDGG29g7dq1TjuvLMs4d+4c1q1bh4MHDyIqKgqtra0AgISEBJsGP9OnT3fauEREI8Uw4KC+vj4kJSVhzpw5OHToEGdxHm716tX46KOP0NjYiNDQ0BGdQ5ZlNDQ02HT3a25uBgBER0fjwQcfhCiK0Gg0iIiIcGL1RETOwTDgoE2bNmHbtm2ora3F3LlzXV0OjVJLSwvmzZuH/Px8bN261a73SJKE2tpa65J/cXExOjo6oFQqkZqaiuTkZOzevRtZWVkoKipiYCQit8cw4IDq6mqkpqaioKAATz75pKvLIScpKChAQUEBTp8+fdOAZzKZUFVVhc8/P4Li4iMoKSlBV1cXfHx8sHTpUus1/8zMTPj5+WHZsmU4f/48qqurER4e7oJPRETkGIYBO0mShIyMDOj1elRVVbm0tz05V39/P+bPn4+0tDQUFhZC1zeAd4uOoeRvl3ChxwKzbxgEtS9k2QKFZES4yoAFMyfjh5okLJ0XaTPz37x5M1544QUcPnwYOTk5LvxURET2Y7cSO23fvh2VlZUoKytjEJhgZFlGbm4utr6yHUt+sgmKmelQ+U+CLE2GIkiFa0/1KxQCoPLDZfih+JIFh/9Qg5nhAfhxRgxWLpmBT//6CX7zm99gy5YtDAJE5FG4MmCHCxcuICEhAatXr8b27dtdXQ6NUnd3t013v4qKCkyak4bZP/gFVH6BUAhKh88ZE+6Hktd/gaSYCBQVFbExEBF5FIaBYciyjJUrV6KyshL19fUO95Qn17t8+bJNg5/q6mpYLBZERUVB1C6Dz6L70KgPGd0gFgkygA3LZ+OhZfFOqZuIaLzwMsEwCgsLsW/fPhQWFjIIeIjW1lbrrP/IkSOoq6sDAMTExECr1SI/Px+iKGL27XPwXGEtPqn7evSDCkooAGz77AJ8AwLxD+kzR39OIqJxwpWBIXR3dyM+Ph7p6en48MMPXV0O3cL58+etj/kdOXIEjY2NAIDY2FhrZz9RFBETE2PzvtcOfYFdJU1jUtOLqxYjZ/7UMTk3EZGzMQwMIT8/H7t27UJ9fT1mzJjh6nIIg5dtzp49a9Pg5/z58wCApKQkm+5+06ZNu+V5Tl24grz/KR+TGhUKIMRfjT89loOQAG4nTETuj2HgFsrKypCdnY1XX30Vjz32mKvL8VoWiwWnT5+2WfZvbW2FIAhITk62PuOv0WjsfqbfZLbgJ9tL0No1AMst/vd/8HMR08KG3pI6/+1yVH115aY/ExTAnQuj8cz9C+yqiYjIlXjPwE0YjUbk5eUhPT0d+fn5ri7Hq0iSZLOhT3FxMS5fvgyVSoW0tDQ8/PDD0Gq1yMrKQkjIyG76O1zfhuYrA6Ou1SzdOkdbZOBATQvWLp+LyJChQwURkasxDNzE1q1b0dDQgKqqKiiVjj9mRvYzmUw4ceKEddZfUlKCnp4e+Pr6IiMjA+vWrYMoisjIyEBgYKBTxtxz/AIEBW65KgAAT+6phq/K9vHAmCmB+NeVSQCAjh49/tbcPeQ4CgXw4YlLeHT5vFHXTEQ0lhgGvqWxsREFBQXYuHEjFi5c6OpyJhy9Xo/jx49bZ/5Hjx5Ff38/AgMDkZ2djU2bNkGr1SItLQ2+vr5OH7/lygBqL3YNe1xDS88Nr30nKcr6+/+tvARpqDSBwbCx72QzwwARuT2GgevIsoxHH30U0dHRePrpp11dzoTQ29uLo0ePWm/4O378OIxGI0JCQqDRaPDcc89BFEUsXrx4XDo7nh5mNn8rfmol7loUDQAwSxZ8WHnJrvd9ozPgcq8B4UHODzZERM7CMHCdnTt34rPPPsPHH3+MgIAAV5fjkbq6ulBSUmKd+VdWVkKSJEREREAURWzduhVarRZJSUkuuQTT0NINlaCAeZhZ/bd9b9E0BPkNhpXD9e34Rmew+71nWnqQFcuti4nIfTEMXNXR0YEnnngCDz30EFasWOHqcjxGR0eHTXe/mpoayLKM6OhoaLVaPPLIIxBFEXFxcW6xlW/zlQFII3iA5oG0vzcR+nP5Bbvfp1AAlzr7HR6PiGg8MQxc9ctf/hIA8NJLL7m4EvfW3Nxsvdnv888/R319PQBg9uzZ0Gq12LBhA0RRxO233+4WX/7fZjRLcDQLLJoZinlRkwAAX7bpcPL8zR8nvBkFFDBJFscGJCIaZwwDAA4dOoRdu3bhrbfewtSp7Bp3jSzL+Oqrr2y6+3355ZcAgLi4OIiiiKeeegoajQa33Xabi6u1j1rp+AZC91+/KlBx0cF3y1Bx0yIicnNeHwb6+/uxdu1aLFu2DKtXr3Z1OS4lyzK++OILm+5+Fy9ehEKhwIIFC3D33XdbG/xERka6utwRmRrs59A9A2GBPrgjYfCz9upNKKppcWg8iwxMDfFzuE4iovHk9WGgoKAAzc3NKCoqcstl7bFksVhQV1dnM/Nvb2+HUqlESkoKfvSjH0Gr1SI7OxuTJ092dblOERcd7NDNgyuXzIDP1X4DRTUtGDBKIxqTiMideXUYOHXqFF588UU888wziI2NdXU5Y85sNqO6utr6xV9cXIwrV65ArVYjPT0dP/vZzyCKIrKysjBp0iRXlzsm4qPt71ooKAbDwDV/Lnf0EgEwyU+FKK4MEJGb89owIEkS8vLyEBsbi02bNrm6nDFhNBpRUVFhXfIvLS2FTqeDv78/MjMz8fjjj0Or1WLp0qXw9/eOlrmzIgIxa0ogzn/Th+HWB7JjIzAtdPDvpeLcZXz1TZ9DYykFBe5cGO11K05E5Hm8dqOi1157DevXr0dJSQmys7NdXY5T9Pf339DdT6/XY9KkScjOzrZu6pOamgofH+/dTa+w4iL+a//pcRnrj+uyMXtq0LiMRUQ0Ul4ZBpqbmxEfH49Vq1bhzTffdHU5I6bT6VBaWmqd+ZeXl8NkMiEsLAyiKFp/JScnQ6Xy2kWgG/QZzLjv5SPQDZiGXR0YKaWgQOrsyfjtw6ljNAIRkfN4fBiQTSaYGhpgOlUL0+nTsPT0ALIMISgIqvh4+CxcAHVCAhTX9bm///77cfToUdTX1yM0NNR1xTuos7PTprtfVVUVLBYLIiMjIYqideafmJgIgY+zDelwfRt+/V71mJ3fVyXgvcdyrJcZiIjcmcdOF83Nzej//R/Qu3MX5K6uwRdVKkCWB38JAiBJgCxDERSEwFU/RWBuLvafqsEHH3yAPXv2uH0QaGtrs+nuV1tbC1mWcdttt0Gr1SIvLw+iKCI2NpbXpR20LD4S310Qhb/WfT3k7oUj9Yu74hgEiMhjeNzKgGwwoOell9H7+huDvV4lOx/1UioBScIeyChdtBDvf/SR232BXrx40aa735kzZwAAc+fOtS75a7VaxMTEuF3tnkhvlLD+3Qqcbu52aiD4SWYMHr9zPv+NiMhjeFQYMDU0oPOfH4W5qQkO95S9SpJlCFGRmPq738FnSYqTK7SfLMs4d+6czTP+TU1NAICEhATrkr9Go8H06dNdVudE128w41d/PInKps5RnUehGPwvmZszG/nfmccgQEQexWPCgPHkSXzz459C1uvtXw24FUEAVCqEv/s2/ETROQUOQ5ZlNDQ02HT3a25uhkKhQHJysnXmr9FoEBHBHe7Gk1myYHfZV9jx6VkAgOTgMoGgUCDYX4XNP0yCZj7bWROR5/GIMGBqbETH9++F3N8PWJy06YsgAGo1Iva+D5+Uxc4553UkSUJtba115l9cXIyOjg4olUqkpqZal/yzs7Pd/t4Fb9HU3osdnzbiSEM7AAx56eDaSoCfWomVS6bjEe0chAR47+OaROTZ3D4MyCYT2u++B+YzX4x+ReDbBAHK6GhMPfwphFE23TGZTDh58qR15l9SUoKuri74+Phg6dKl1mX/zMxMBAXxuXN31t6jx/6Tzahq6kR9Sw/6DGabn08J8kXCjBBkzZuCFQumIcDXY+/DJSIC4AFhoOeV30L34n+P+B6BYQkCAtesQejzzzr0NoPBgPLycuvMv6ysDH19fQgICEBWVpZ15p+eng4/P7aj9VSyLOMbnQEDRgmCoMAkPxVXAIhownHrMCB1XsHXKUsAk2nI49SJifC/9wfwyVgK1fQZEMInw6LTwVhVhd7X34SxvHzogRQKRJaVQDVz5i0P6evrw7Fjx6wz/2PHjsFgMCA4OBg5OTnWmf+SJUugVqtH8nGJiIhcwq3DgO7NHej59y3DrgqE/ud/IDA396Y/kyUJnY+uhb7owK1PoFQi6F/WIuTJX1tf6u7utunuV1FRAbPZjPDwcJvH/BYuXAilUjmiz0dEROQO3PZipyzL6HvnXbsvD0htbeh7708wlldACAnBpCd+DvXcuVAolQh55umhw4AkoffdnTgcOw+Hr3b4q66uhsViQVRUFLRaLXJzcyGKIuLj49ndj4iIJhS3XRmQWlvxdWq6Xcf6pKXBVFs7+NjhVaqEeEQeOmj9c+vCZFguXx7yPN9tb0P/9Gjrkr9Wq8WcOXP4zDgREU1obrsyYKyttf/YioobXpPONdn8WR4YGPIcMoADr7yMmevW2T0uERHRROC2693m+obBFsIj5HfP3dbfG44dH+xRMASFWo3g9o4Rj0dEROSp3DYMWPr6BhsDjYB6wQKEFjwPAJD1enQ/+9zwb5JlyL29IxqPiIjIk7ltGMAIr9P7pKVhyp73IISEQDaZ0LnuMZjsveTAGwOJiMgLue23nxASAlgc6zjoK4oI3/17CMHBkPV6dOathf7AEE8RfHvM4GBHyyQiIvJ4bnsDoToxAZDs34fA73vfw+TXt0Ph6wtLXx86H/knGEpK7R/QbIY6KXEElRIREXk29w0DCxbafazf9+/B5Ne2Q6FSQbZYoHvpZcgGI3zS0qzHGGtqAKPRaWMSERFNFG4bBpSTw6CKj4f5zJlhdyr0W74cCtXgR1EIAkL+7akbjvl6aSakS5dueQ4hKgqq22ePrmgiIiIP5Lb3DABA0CNrnLdl8VAEAUFrVkPBGwiJiMgLuW0HQgCwDAzg6+SUsX/kT61G1IlyKKdMGdtxiIiI3JBbT4UFf3+EPPvMmI8T/KuNDAJEROS13HplABjcsOjyTx+CoawMkBx71HBYSiXUCQmI2P8X6z0HRERE3sbtwwAwuCNhx/fvhdTW5rxAoFRCCA5GxP6/QDVrlnPOSURE5IHc+jLBNcrISEz58/tQRkWNar+Cv59QCSEkBFP27mEQICIir+cRYQAAVDNnImL/X+CryRl8YRTbCvukLEbE/+2HOi7OSdURERF5Lo+4THA9WZbRv+d9dD/7HOSensH9BIZ7/FChAGQZioAABD/5awSu/kc+RkhERHSVx4WBa+SBAQzs/wi9b70N06lTgy8Kwt83G7JYrCFBNX8+gtashv/990EIDHRRxURERO7JY8PA9Sw6HUx1dTD97TQsOt3gKkBgINQJCfBZkAQhNNTVJRIREbmtCREGiIiIaOR44ZyIiMjLMQwQERF5OYYBIiIiL8cwQERE5OUYBoiIiLwcwwAREZGXYxggIiLycgwDREREXo5hgIiIyMsxDBAREXk5hgEiIiIvxzBARETk5RgGiIiIvBzDABERkZdjGCAiIvJyDANERERejmGAiIjIyzEMEBEReTmGASIiIi/HMEBEROTlGAaIiIi8HMMAERGRl2MYICIi8nIMA0RERF6OYYCIiMjLMQwQERF5uf8Hywao1f4RDfoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# validate quantum results with classical algorithm\n", + "solution, energy_min, colors_classical = solve_classical_ising(J, n_qubits, pos)\n", + "# plot classical solution\n", + "plot_colored_graph_simple(G, colors_classical, pos)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that QAOA may arrive at a different solution than our classical benchmark code. \n", + "First of all, the classical optimization routine may get stuck in a local rather than global optimum. \n", + "To avoid this, more sophisticated optimization strategies may be employed (as proposed for example in Ref.[4]), going beyond the scope of this introductory notebook tutorial. \n", + "Secondly, even if QAOA arrives at the same classical energy as our classical approach, the coloring may differ since the solution space may be degenerate for the specific example shown here (this means, two different classical bitstrings have the same energy).\n", + "At minimum, you may find an inverted coloring (by swapping red and blue colors), because of the underlying $\\mathbb{Z}_{2}$ symmetry. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SUMMARY" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this notebook we have gone through an end-to-end demo on QAOA and its implementation on Amazon Braket. \n", + "We have built modular core building blocks that may easily adapted to other problems. \n", + "The QAOA routine is tailored towards solving combinatorial optimization problems such as _Maximum Cut_ [4] and arguably one of the most prominent examples of the emerging class of hybrid, variational algorithms and still very much a field of active research today. \n", + "For example, as we increase the circuit depth of QAOA, the classical optimization step becomes increasingly difficult (because of the curse of dimensionality as well known in classical machine learning) and may easily get stuck in local sub-optimal solutions. \n", + "To address this issue some heuristics have already been developed, for example in Ref.[4], but further improvements will arguably be necessary to fully unlock the potential of this approach. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## REFERENCES" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "[1] E. Farhi, J. Goldstone, and S. Gutmann, \"A Quantum Approximate Optimization Algorithm\", arXiv: 1411.4028 (2014).\n", + "\n", + "[2] Y. Cao, J. Romero, J. P. Olson, M. Degroote, P. D. Johnson, M. Kieferova, I. D. Kivlichan, T. Menke, B. Peropadre, N. P. Sawaya, et al., \"Quantum Chemistry in the Age of Quantum Computing\", Chemical reviews 119, 10856 (2019).\n", + "\n", + "[3] A. Smith, M. Kim, F. Pollmann, and J. Knolle, \"Simulating quantum many-body dynamics on a current digital quantum computer\", npj Quantum Information 5, 1 (2019).\n", + "\n", + "[4] L. Zhou, S.-T. Wang, S. Choi, H. Pichler, and M. D. Lukin, \"Quantum Approximate Optimization Algorithm: Performance, Mechanism,and Implementation on Near-Term Devices\", arXiv: 1812.01041 (2018). \n", + "\n", + "[5] F. Glover, G. Kochenberger, \"A Tutorial on Formulating and Using QUBO Models\", arXiv:1811.11538 (2018).\n", + "\n", + "[6] P. Vikstal, M. Groenkvist, M. Svensson, M. Andersson, G. Johansson, and G. Ferrini, \"Applying the Quantum Approximate Optimization Algorithm to the Tail Assignment Problem\", arXiv:1912.10499 (2019). \n", + "\n", + "[7] L. Li, M. Fan, M. Coram, P. Riley, and S. Leichenauer, \"Quantum optimization with a novel gibbs objective function and ansatz architecture search\", arXiv:1909.07621 (2019). " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## APPENDIX" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### APPENDIX: Example for Ising Matrix Syntax" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this appendix we provide a small code example to showcase how we obtain all edges with corresponding weights. " + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ising matrix:\n", + " [[0 1 0]\n", + " [0 0 3]\n", + " [0 0 0]]\n", + "Edges: [(0, 1), (1, 2)]\n", + "Interaction strength: 1\n", + "Interaction strength: 3\n", + "All interactions: [1 3]\n" + ] + } + ], + "source": [ + "# example Ising matrix with edges between qubit 0 and qubit 1 (weight=1) and qubit 1 and qubit 2 (weight=3)\n", + "ising = np.array([[0, 1, 0], [0, 0, 3], [0, 0, 0]])\n", + "print(\"Ising matrix:\\n\", ising)\n", + "\n", + "# get all non-zero entries (edges) from Ising matrix\n", + "idx = ising.nonzero()\n", + "edges = list(zip(idx[0], idx[1]))\n", + "print(\"Edges:\", edges)\n", + "\n", + "# for every edge print interaction strength\n", + "for qubit_pair in edges:\n", + " # get interaction strength\n", + " int_strength = ising[qubit_pair[0], qubit_pair[1]]\n", + " print(\"Interaction strength:\", int_strength)\n", + "\n", + "# get all non-zero entries from Ising, with proper order\n", + "interactions = np.array([ising[q[0], q[1]] for q in edges])\n", + "print(\"All interactions:\", interactions)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Task Summary\n", + "{}\n", + "Estimated cost to run this example with SV1: 0 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print(\n", + " f\"Estimated cost to run this example with SV1: {t.qpu_tasks_cost() + t.simulator_tasks_cost()} USD\"\n", + ")" + ] + }, + { + "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.10.9" + }, + "vscode": { + "interpreter": { + "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/pennylane/0_Getting_started/0_Getting_started.ipynb b/examples/pennylane/0_Getting_started/0_Getting_started.ipynb index 0f661788..3adf55d7 100644 --- a/examples/pennylane/0_Getting_started/0_Getting_started.ipynb +++ b/examples/pennylane/0_Getting_started/0_Getting_started.ipynb @@ -1,830 +1,831 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Combining PennyLane with Amazon Braket" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "What is PennyLane? PennyLane is a Python library for differentiable programming of quantum computers, allowing you to train a quantum computer the same way as a neural network.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "PennyLane integrates with Amazon Braket to add additional features for quantum machine learning and optimization. This introductory tutorial walks you through how to train a quantum circuit using Amazon Braket simulators and PennyLane's automatic differentiation capabilities." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Setup" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "PennyLane is already installed on Braket notebook instances. On a local machine, PennyLane can be installed by following [these](https://pennylane.ai/install.html) instructions. It can then be imported with:" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:09.404557Z", - "start_time": "2024-02-19T21:42:03.275541Z" - } - }, - "outputs": [], - "source": [ - "import pennylane as qml\n", - "from pennylane import numpy as np" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To use Braket as a backend in PennyLane, we have to create a PennyLane device. Here we will first create a device that uses the local Braket simulator that runs on your local laptop (or on the server that hosts this notebook)." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.351825Z", - "start_time": "2024-02-19T21:42:09.405882Z" - } - }, - "outputs": [], - "source": [ - "wires = 2 # Number of qubits\n", - "\n", - "dev = qml.device(\"braket.local.qubit\", wires=wires)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Below we will also show you how to scale out simulations to the AWS cloud." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Defining a circuit" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will choose a simple two-qubit circuit with two controllable rotations and a CNOT gate." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.355051Z", - "start_time": "2024-02-19T21:42:10.352639Z" - } - }, - "outputs": [], - "source": [ - "@qml.qnode(dev)\n", - "def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=1)\n", - " qml.CNOT(wires=[0, 1])\n", - " return qml.expval(qml.PauliZ(1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``qml.qnode(dev)`` decorator binds the circuit to the local Braket device. Now, every time that ``circuit()`` is called, the quantum computation defined in the function above will be executed with Braket." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Note PennyLane also supports automatic differentiation with PyTorch and TensorFlow interfaces. The choice of interface can be specified using:\n", - "@qml.qnode(dev, interface=\"<interface>\").\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Evaluating the circuit and accessing its gradient" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's set some values for our controllable parameters:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.359085Z", - "start_time": "2024-02-19T21:42:10.356833Z" - } - }, - "outputs": [], - "source": [ - "params = np.array([0.1, 0.2], requires_grad=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The circuit can be evaluated with these parameters using" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.393070Z", - "start_time": "2024-02-19T21:42:10.359915Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Expectation value of circuit: 0.9751703272018161\n" - ] - } - ], - "source": [ - "print(\"Expectation value of circuit:\", circuit(params))" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.397595Z", - "start_time": "2024-02-19T21:42:10.394259Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Drawing of circuit:\n", - "\n", - "0: ──RX(0.10)─╭●─┤ \n", - "1: ──RY(0.20)─╰X─┤ \n" - ] - } - ], - "source": [ - "print(\"Drawing of circuit:\\n\")\n", - "print(qml.draw(circuit)(params))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A crucial element of machine learning and optimization is accessing the gradient of a model with respect to its parameters. This functionality is built into PennyLane:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.400540Z", - "start_time": "2024-02-19T21:42:10.398616Z" - } - }, - "outputs": [], - "source": [ - "dcircuit = qml.grad(circuit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here, ``dcircuit`` is a callable function that evaluates the gradient of the circuit, i.e., its partial derivatives with respect to the controllable parameters." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.523442Z", - "start_time": "2024-02-19T21:42:10.401286Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([-0.0978434 , -0.19767681])" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dcircuit(params)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Training the circuit" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Suppose we now want to minimize the output of the circuit by updating its parameters. This can be done using gradient-based optimization.\n", - "\n", - "First, an optimizer is fixed:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.526039Z", - "start_time": "2024-02-19T21:42:10.524244Z" - } - }, - "outputs": [], - "source": [ - "opt = qml.GradientDescentOptimizer(stepsize=0.1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The next step is to run the optimizer for a chosen number of iterations:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:11.062067Z", - "start_time": "2024-02-19T21:42:10.527962Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Minimized circuit output: 0.37261070647126565\n", - "Optimized parameters: [0.4839502 1.13630274]\n" - ] - }, - { - "data": { - "image/png": "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6D5xcXG12o8cORLHjx9HZWVls9XaFDQaDQDAw8Oj3rZ33nknVCoVhg0bhr179zZ3abflwoUL8PHxQUBAACZNmoT09PQ621rz+auoqMC6devwxBNP1LtArDWdvxoZGRnIyckxOD+Ojo4YMmRInd9HoO5zamqflkSj0UAQBLi5uZlsV1JSAj8/P3Tq1An3338/EhMTLVNgI+zbtw+enp7o0aMHnn76aeTl5Zlsb83nMDc3Fz/99BOefPLJetu2xHN46+9CS/4eMtyYKT8/H1qtFl5eXgbbvby8kJOTY3SfnJwco+2rqqqQn5/fbLXeLlEUER0djbvuugshISF1tlOpVPjiiy+wefNmbNmyBYGBgRg2bBgOHDhgwWrNN2DAAHz99df45Zdf8N///hc5OTmIjIxEQUGB0fbWev4AYNu2bbh+/TqmT59eZxtrO39/V/Oda8j3sWa/hu7TUpSVlWHevHl49NFHTS5G2LNnT6xZswY//PADvv32WygUCgwaNAgXLlywYLXmGT16NNavX489e/bgww8/xLFjxzB06FCUl5fXuY81n8O1a9fCxcUF48ePN9muJZ5DY78LLfl72OpWBb9dt/4tWBRFk38zNtbe2PaWZNasWTh16hQOHTpksl1gYCACAwP1zyMiIpCVlYUPPvgAd999d3OX2WCjR4/W/3vv3r0RERGBrl27Yu3atYiOjja6jzWePwBYtWoVRo8eDR8fnzrbWNv5M6ah38fG7iO1yspKTJo0CTqdDitXrjTZduDAgQaDcgcNGoTQ0FAsX74cn3zySXOX2iATJ07U/3tISAj69esHPz8//PTTTyYDgDWeQwBYvXo1HnvssXrHzrTEc2jqd6Elfg955cZM7du3h1wur5Us8/LyaiXQGt7e3kbb29nZoV27ds1W6+14/vnn8cMPP2Dv3r3o1KlTg/cfOHBgi/wbojFt2rRB796966zXGs8fAFy6dAm7d+/GU0891eB9reX81dzl1pDvY81+Dd1HapWVlZgwYQIyMjIQGxtr8qqNMTKZDP3797eK86pSqeDn52eyVms8hwBw8OBBnDt3rlHfS6nPYV2/Cy35e8hwYyYHBweEhYXp70CpERsbi8jISKP7RERE1Gr/66+/ol+/frC3t2+2WhtDFEXMmjULW7ZswZ49exAQENCo90lMTIRKpWri6ppHeXk5UlNT66zXms7f33311Vfw9PTEfffd1+B9reX8BQQEwNvb2+D8VFRUYP/+/XV+H4G6z6mpfaRUE2wuXLiA3bt3NypUi6KIpKQkqzivBQUFyMrKMlmrtZ3DGqtWrUJYWBj69OnT4H2lOof1/S606O9hkw1NbgW+++470d7eXly1apWYkpIizpkzR2zTpo148eJFURRFcd68eeKUKVP07dPT00VnZ2dx7ty5YkpKirhq1SrR3t5e3LRpk1SHUKeZM2eKSqVS3Ldvn6hWq/WP0tJSfZtbj++jjz4St27dKp4/f15MTk4W582bJwIQN2/eLMUh1OvFF18U9+3bJ6anp4u///67eP/994suLi42cf5qaLVasXPnzuKrr75a6zVrO3/FxcViYmKimJiYKAIQly5dKiYmJurvFHrnnXdEpVIpbtmyRTx9+rT4yCOPiCqVSiwqKtK/x5QpUwzuZjx8+LAol8vFd955R0xNTRXfeecd0c7OTvz9998tfnyiaPoYKysrxQceeEDs1KmTmJSUZPC9LC8v17/Hrcf45ptvirt27RLT0tLExMRE8fHHHxft7OzEo0ePtqjjKy4uFl988UXxyJEjYkZGhrh3714xIiJC7Nixo82cwxoajUZ0dnYWY2JijL5HSz2H5vwutNTvIcNNA61YsUL08/MTHRwcxNDQUINbpadNmyYOGTLEoP2+ffvEO++8U3RwcBD9/f3r/J9bagCMPr766it9m1uP79133xW7du0qKhQK0d3dXbzrrrvEn376yfLFm2nixImiSqUS7e3tRR8fH3H8+PHimTNn9K9b8/mr8csvv4gAxHPnztV6zdrOX82t6rc+pk2bJopi9W2oCxcuFL29vUVHR0fx7rvvFk+fPm3wHkOGDNG3r7Fx40YxMDBQtLe3F3v27ClpmDN1jBkZGXV+L/fu3at/j1uPcc6cOWLnzp1FBwcHsUOHDmJUVJR45MgRyx+caPr4SktLxaioKLFDhw6ivb292LlzZ3HatGliZmamwXtY8zms8fnnn4tOTk7i9evXjb5HSz2H5vwutNTvofDnARARERHZBI65ISIiIpvCcENEREQ2heGGiIiIbArDDREREdkUhhsiIiKyKQw3REREZFMYboiIiMimMNwQUavg7++PZcuWSV0GEVkAww0RNbnp06dj3LhxAIB77rkHc+bMsdhnr1mzBm5ubrW2Hzt2DP/85z8tVgcRScdO6gKIiMxRUVEBBweHRu/foUOHJqyGiFoyXrkhomYzffp07N+/Hx9//DEEQYAgCLh48SIAICUlBWPGjEHbtm3h5eWFKVOmID8/X7/vPffcg1mzZiE6Ohrt27fHiBEjAABLly5F79690aZNG/j6+uLZZ59FSUkJAGDfvn14/PHHodFo9J/35ptvAqjdLZWZmYkHH3wQbdu2haurKyZMmIDc3Fz962+++Sb69u2Lb775Bv7+/lAqlZg0aRKKi4v1bTZt2oTevXvDyckJ7dq1w/Dhw3Hjxo1m+q9JROZiuCGiZvPxxx8jIiICTz/9NNRqNdRqNXx9faFWqzFkyBD07dsXx48fx65du5Cbm4sJEyYY7L927VrY2dnh8OHD+PzzzwEAMpkMn3zyCZKTk7F27Vrs2bMHr7zyCgAgMjISy5Ytg6urq/7zXnrppVp1iaKIcePGobCwEPv370dsbCzS0tIwceJEg3ZpaWnYtm0bfvzxR/z444/Yv38/3nnnHQCAWq3GI488gieeeAKpqanYt28fxo8fDy7XRyQ9dksRUbNRKpVwcHCAs7MzvL299dtjYmIQGhqKt99+W79t9erV8PX1xfnz59GjRw8AQLdu3fDee+8ZvOffx+8EBATgrbfewsyZM7Fy5Uo4ODhAqVRCEASDz7vV7t27cerUKWRkZMDX1xcA8M0336BXr144duwY+vfvDwDQ6XRYs2YNXFxcAABTpkzBb7/9hv/85z9Qq9WoqqrC+PHj4efnBwDo3bv3bfzXIqKmwis3RGRxCQkJ2Lt3L9q2bat/9OzZE0D11ZIa/fr1q7Xv3r17MWLECHTs2BEuLi6YOnUqCgoKGtQdlJqaCl9fX32wAYDg4GC4ubkhNTVVv83f318fbABApVIhLy8PANCnTx8MGzYMvXv3xsMPP4z//ve/uHbtmvn/EYio2TDcEJHF6XQ6jB07FklJSQaPCxcu4O6779a3a9OmjcF+ly5dwpgxYxASEoLNmzcjISEBK1asAABUVlaa/fmiKEIQhHq329vbG7wuCAJ0Oh0AQC6XIzY2Fj///DOCg4OxfPlyBAYGIiMjw+w6iKh5MNwQUbNycHCAVqs12BYaGoozZ87A398f3bp1M3jcGmj+7vjx46iqqsKHH36IgQMHokePHrhy5Uq9n3er4OBgZGZmIisrS78tJSUFGo0GQUFBZh+bIAgYNGgQFi1ahMTERDg4OGDr1q1m709EzYPhhoialb+/P44ePYqLFy8iPz8fOp0Ozz33HAoLC/HII48gPj4e6enp+PXXX/HEE0+YDCZdu3ZFVVUVli9fjvT0dHzzzTf47LPPan1eSUkJfvvtN+Tn56O0tLTW+wwfPhx33HEHHnvsMZw4cQLx8fGYOnUqhgwZYrQrzJijR4/i7bffxvHjx5GZmYktW7bg6tWrDQpHRNQ8GG6IqFm99NJLkMvlCA4ORocOHZCZmQkfHx8cPnwYWq0WI0eOREhICF544QUolUrIZHX/sdS3b18sXboU7777LkJCQrB+/XosWbLEoE1kZCRmzJiBiRMnokOHDrUGJAPVV1y2bdsGd3d33H333Rg+fDi6dOmCDRs2mH1crq6uOHDgAMaMGYMePXrgtddew4cffojRo0eb/x+HiJqFIPK+RSIiIrIhvHJDRERENoXhhoiIiGwKww0RERHZFIYbIiIisikMN0RERGRTGG6IiIjIpjDcEBERkU1huCEiIiKbwnBDRERENoXhhoiIiGwKww0RERHZFIYbIiIisin/DwPsQI/yMsJ2AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "iterations = 20\n", - "\n", - "costs = []\n", - "\n", - "for i in range(iterations):\n", - " params, cost = opt.step_and_cost(circuit, params)\n", - " costs.append(cost)\n", - "\n", - "# Visualize results\n", - "import matplotlib.pyplot as plt\n", - "\n", - "costs.append(circuit(params))\n", - "plt.plot(costs, \"-o\")\n", - "plt.xlabel(\"Iterations\")\n", - "plt.ylabel(\"Cost\")\n", - "\n", - "print(\"Minimized circuit output:\", circuit(params))\n", - "print(\"Optimized parameters:\", params)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Note The circuit considered here is very simple and can be optimized easily by hand. However, the need for PennyLane's automatic differentiation capabilities becomes apparent as we make the problem more complicated, e.g., with more gates and different types of output measurement. In later demos, we will also see how Braket can be used to parallelize evaluation of the gradient, providing a turbocharger for quantum circuit training in PennyLane.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running circuits on Braket's on-demand simulator, SV1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "So far we have used the local Braket simulator. This is a great choice for quick prototyping, but it is not suitable for large circuits with many qubits and does not provide a connection to quantum hardware.\n", - "\n", - "Amazon Braket also provides access to on-demand, high-performance simulators and quantum processing units (QPUs) from different [providers](https://aws.amazon.com/braket/hardware-providers/). These devices can be accessed through PennyLane by changing a single line of code, unlocking the potential for machine learning and optimization on quantum hardware and high performance simulators!\n", - "\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:11.066378Z", - "start_time": "2024-02-19T21:42:11.064297Z" - } - }, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "\n", - "braket_tasks_cost = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Each remote Braket device can be selected through its [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). The supported devices on Braket are listed [here](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html). For now, we will pick the on-demand SV1 simulator.\n", - "\n", - "
\n", - "Caution: Running hybrid algorithms on a QPU can take a long time and incur high usage fees charged to your AWS account.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": false - }, - "source": [ - "In PennyLane, all remote Braket devices are then accessed through a single PennyLane device named ``braket.aws.qubit``." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:11.437758Z", - "start_time": "2024-02-19T21:42:11.067501Z" - } - }, - "outputs": [], - "source": [ - "from braket.devices import Devices\n", - "dev = qml.device(\"braket.aws.qubit\", device_arn=Devices.Amazon.SV1, wires=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A follow up [tutorial](./1_Parallelized_optimization_of_quantum_circuits.ipynb) shows you how to use the remote device to run multiple circuits in parallel, while the [QAOA tutorial](./2_Graph_optimization_with_QAOA.ipynb) takes a deeper dive into graph optimization, including using SV1 to optimize a 20-node graph." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's execute our circuit on SV1, as well as calculating the gradient:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:18.632136Z", - "start_time": "2024-02-19T21:42:11.439272Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Result of circuit run on SV1: 0.37261070647126565\n", - "Result of gradient calculation on SV1: [-0.19585986 -0.80291741]\n" - ] - } - ], - "source": [ - "@qml.qnode(dev)\n", - "def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=1)\n", - " qml.CNOT(wires=[0, 1])\n", - " return qml.expval(qml.PauliZ(1))\n", - "\n", - "\n", - "dcircuit = qml.grad(circuit)\n", - "\n", - "print(\"Result of circuit run on SV1:\", circuit(params))\n", - "print(\"Result of gradient calculation on SV1:\", dcircuit(params))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "What's next? Check out the other tutorials in this folder to understand how Braket and PennyLane can be combined to solve a range of problems, from graph optimization to quantum chemistry.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:19.098494Z", - "start_time": "2024-02-19T21:42:18.633487Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Quantum Task Summary\n", - "{<_Amazon.SV1: 'arn:aws:braket:::device/quantum-simulator/amazon/sv1'>: {'shots': 0, 'tasks': {'COMPLETED': 2}, 'execution_duration': datetime.timedelta(microseconds=299000), 'billed_execution_duration': datetime.timedelta(seconds=6)}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 0.008 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(braket_tasks_cost.quantum_tasks_statistics())\n", - "print(\n", - " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", - ")\n", - "print(\n", - " f\"Estimated cost to run this example: {braket_tasks_cost.qpu_tasks_cost() + braket_tasks_cost.simulator_tasks_cost():.3f} USD\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running on a QPU with Amazon Braket Hybrid Jobs\n", - "\n", - "In this notebook, the classical part of the algorithm was running locally. For longer-running algorithms or those requiring more intensive compute resources, it's recommended to dispatch the algorithm to Amazon Braket Hybrid Jobs, which fully manages the classical infrastructure, allowing you to focus on the algorithm. For example, you can train a larger circuit or increase the number of iterations.\n", - "\n", - "The second benefit of running the algorithm as a hybrid job is that for iterative algorithms that require repeated calls to a QPU, you retain priority for that QPU. Once your quantum tasks are created in the hybrid job, they run ahead of other tasks waiting in the regular quantum task queue. This is because hybrid jobs have a separate queue from standalone tasks, ensuring that only a single hybrid job can run on a QPU at a time. This means your algorithm will not be interrupted by other quantum tasks, so it will run more efficiently and predictably. However, hybrid jobs have a separate queue from standalone tasks, so only a single hybrid job can run on a QPU at a time. For a single quantum circuit or a batch of circuits, it's recommended to create quantum tasks instead of hybrid jobs. Only iterative algorithms benefit from QPU priority queuing.\n", - "\n", - "Note that hybrid jobs have at least a one-minute startup time since they create a containerized environment on Amazon EC2. So for very short workloads, there is likely no need to create a hybrid job.\n", - "\n", - "You can run your local Python code as an Amazon Braket hybrid job by annotating your code with the `@hybrid_job`` decorator, as shown in the following code example. Only Python 3.10 is supported by default. For custom Python versions, you can choose to use a custom container from [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/) (see [BYOC](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-byoc.html)).\n", - "\n", - "\n", - "In the following code, we create a hybrid job for 10 iterations targeting Rigetti Ankaa-2. Since we specified Ankaa-2 as the device, this job will run once Ankaa-2 is available and has no jobs running ahead of it." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:19.442699Z", - "start_time": "2024-02-19T21:42:19.099758Z" - } - }, - "outputs": [], - "source": [ - "from braket.jobs import hybrid_job\n", - "from braket.jobs.metrics import log_metric\n", - "\n", - "device_arn = Devices.Amazon.SV1\n", - "# device_arn = Devices.Rigetti.Ankaa2\n", - "\n", - "\n", - "@hybrid_job(device=device_arn) # set priority QPU\n", - "def qubit_rotation(stepsize=0.1, iterations=5):\n", - " task_tracker = Tracker().start() # track Braket quantum tasks costs\n", - " dev = qml.device(\"braket.aws.qubit\", device_arn=device_arn.value, wires=2, shots=1_000)\n", - "\n", - " params = np.array([0.1, 0.2])\n", - "\n", - " @qml.qnode(dev)\n", - " def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=1)\n", - " qml.CNOT(wires=[0, 1])\n", - " return qml.expval(qml.PauliZ(1))\n", - "\n", - " opt = qml.GradientDescentOptimizer(stepsize)\n", - "\n", - " costs = []\n", - " for i in range(iterations):\n", - " params, cost = opt.step_and_cost(circuit, params)\n", - " costs.append(cost)\n", - "\n", - " # Record the value of the cost function with each iteration\n", - " log_metric(metric_name=\"cost_function\", value=cost, iteration_number=i)\n", - "\n", - " # Additionally, keep track of cost in USD for Braket tasks\n", - " braket_task_cost = float(\n", - " task_tracker.qpu_tasks_cost() + task_tracker.simulator_tasks_cost()\n", - " )\n", - " log_metric(metric_name=\"braket_cost\", value=braket_task_cost, iteration_number=i)\n", - "\n", - " return {\"params\": params, \"costs\": costs, \"braket_tasks_cost\": braket_task_cost}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "How long will it take the hybrid job to run? \n", - "Let's first check if the device is currently available with `AwsDevice(device_arn).is_available()`. " - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:19.614223Z", - "start_time": "2024-02-19T21:42:19.443623Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from braket.aws import AwsDevice\n", - "\n", - "AwsDevice(device_arn).is_available" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we check the hybrid job queue depth with `AwsDevice(device_arn).queue_depth().jobs`. " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:19.958746Z", - "start_time": "2024-02-19T21:42:19.615073Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'0'" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "AwsDevice(device_arn).queue_depth().jobs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If the device is available and there are no hybrid jobs currently running, then it should take about 5 minutes to complete. \n", - "\n", - "
\n", - "Caution: Running the following cell will only run once the QPU is available. This may take a long time and will result in usage fees charged to your AWS account. Only uncomment the cell if you are comfortable with the potential wait-time and costs. We recommend monitoring the Billing & Cost Management Dashboard on the AWS console and being aware that hybrid jobs involving a large number of qubits can be costly.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:29.440989Z", - "start_time": "2024-02-19T21:42:19.960142Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:667256736152:job/qubit-rotation-1708378939963')\n" - ] - } - ], - "source": [ - "job = qubit_rotation(stepsize=0.2, iterations=20)\n", - "print(job)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once the hybrid job has completed, we can retrieve the results with `job.results()`." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:49:52.814493Z", - "start_time": "2024-02-19T21:42:29.442078Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'params': tensor([0.236, 2.649], requires_grad=True), 'costs': [array(0.978), array(0.954), array(0.962), array(0.93), array(0.874), array(0.848), array(0.816), array(0.744), array(0.638), array(0.528), array(0.328), array(0.24), array(0.072), array(-0.034), array(-0.202), array(-0.32), array(-0.498), array(-0.616), array(-0.672), array(-0.752)], 'braket_tasks_cost': 0.375}\n", - "CPU times: user 160 ms, sys: 16.6 ms, total: 177 ms\n", - "Wall time: 7min 23s\n" - ] - } - ], - "source": [ - "%%time\n", - "results = job.result()\n", - "print(results)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:50:26.336487Z", - "start_time": "2024-02-19T21:49:52.820854Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Minimized circuit output: 0.37261070647126565\n", - "Optimized parameters: [0.4839502 1.13630274]\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.plot(results[\"costs\"], \"o-\")\n", - "plt.xlabel(\"Iterations\")\n", - "plt.ylabel(\"Cost\")\n", - "\n", - "print(\"Minimized circuit output:\", circuit(params))\n", - "print(\"Optimized parameters:\", params)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:50:26.756331Z", - "start_time": "2024-02-19T21:50:26.338055Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 0.386 USD\n" - ] - } - ], - "source": [ - "job_cost = job.result()[\"braket_tasks_cost\"]\n", - "sv1_cost = float(braket_tasks_cost.simulator_tasks_cost())\n", - "\n", - "print(\n", - " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", - ")\n", - "print(f\"Estimated cost to run this example: {job_cost + sv1_cost :.3f} USD\")" - ] - } - ], - "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.10.9" - }, - "vscode": { - "interpreter": { - "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" - } - } + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Combining PennyLane with Amazon Braket" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "What is PennyLane? PennyLane is a Python library for differentiable programming of quantum computers, allowing you to train a quantum computer the same way as a neural network.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PennyLane integrates with Amazon Braket to add additional features for quantum machine learning and optimization. This introductory tutorial walks you through how to train a quantum circuit using Amazon Braket simulators and PennyLane's automatic differentiation capabilities." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PennyLane is already installed on Braket notebook instances. On a local machine, PennyLane can be installed by following [these](https://pennylane.ai/install.html) instructions. It can then be imported with:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:09.404557Z", + "start_time": "2024-02-19T21:42:03.275541Z" + } + }, + "outputs": [], + "source": [ + "import pennylane as qml\n", + "from pennylane import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To use Braket as a backend in PennyLane, we have to create a PennyLane device. Here we will first create a device that uses the local Braket simulator that runs on your local laptop (or on the server that hosts this notebook)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.351825Z", + "start_time": "2024-02-19T21:42:09.405882Z" + } + }, + "outputs": [], + "source": [ + "wires = 2 # Number of qubits\n", + "\n", + "dev = qml.device(\"braket.local.qubit\", wires=wires)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Below we will also show you how to scale out simulations to the AWS cloud." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Defining a circuit" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will choose a simple two-qubit circuit with two controllable rotations and a CNOT gate." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.355051Z", + "start_time": "2024-02-19T21:42:10.352639Z" + } + }, + "outputs": [], + "source": [ + "@qml.qnode(dev)\n", + "def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=1)\n", + " qml.CNOT(wires=[0, 1])\n", + " return qml.expval(qml.PauliZ(1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``qml.qnode(dev)`` decorator binds the circuit to the local Braket device. Now, every time that ``circuit()`` is called, the quantum computation defined in the function above will be executed with Braket." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Note PennyLane also supports automatic differentiation with PyTorch and TensorFlow interfaces. The choice of interface can be specified using:\n", + "@qml.qnode(dev, interface=\"<interface>\").\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluating the circuit and accessing its gradient" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's set some values for our controllable parameters:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.359085Z", + "start_time": "2024-02-19T21:42:10.356833Z" + } + }, + "outputs": [], + "source": [ + "params = np.array([0.1, 0.2], requires_grad=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The circuit can be evaluated with these parameters using" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.393070Z", + "start_time": "2024-02-19T21:42:10.359915Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Expectation value of circuit: 0.9751703272018161\n" + ] + } + ], + "source": [ + "print(\"Expectation value of circuit:\", circuit(params))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.397595Z", + "start_time": "2024-02-19T21:42:10.394259Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Drawing of circuit:\n", + "\n", + "0: ──RX(0.10)─╭●─┤ \n", + "1: ──RY(0.20)─╰X─┤ \n" + ] + } + ], + "source": [ + "print(\"Drawing of circuit:\\n\")\n", + "print(qml.draw(circuit)(params))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A crucial element of machine learning and optimization is accessing the gradient of a model with respect to its parameters. This functionality is built into PennyLane:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.400540Z", + "start_time": "2024-02-19T21:42:10.398616Z" + } + }, + "outputs": [], + "source": [ + "dcircuit = qml.grad(circuit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here, ``dcircuit`` is a callable function that evaluates the gradient of the circuit, i.e., its partial derivatives with respect to the controllable parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.523442Z", + "start_time": "2024-02-19T21:42:10.401286Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-0.0978434 , -0.19767681])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dcircuit(params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Training the circuit" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Suppose we now want to minimize the output of the circuit by updating its parameters. This can be done using gradient-based optimization.\n", + "\n", + "First, an optimizer is fixed:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.526039Z", + "start_time": "2024-02-19T21:42:10.524244Z" + } + }, + "outputs": [], + "source": [ + "opt = qml.GradientDescentOptimizer(stepsize=0.1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The next step is to run the optimizer for a chosen number of iterations:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:11.062067Z", + "start_time": "2024-02-19T21:42:10.527962Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimized circuit output: 0.37261070647126565\n", + "Optimized parameters: [0.4839502 1.13630274]\n" + ] }, - "nbformat": 4, - "nbformat_minor": 4 + { + "data": { + "image/png": "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6D5xcXG12o8cORLHjx9HZWVls9XaFDQaDQDAw8Oj3rZ33nknVCoVhg0bhr179zZ3abflwoUL8PHxQUBAACZNmoT09PQ621rz+auoqMC6devwxBNP1LtArDWdvxoZGRnIyckxOD+Ojo4YMmRInd9HoO5zamqflkSj0UAQBLi5uZlsV1JSAj8/P3Tq1An3338/EhMTLVNgI+zbtw+enp7o0aMHnn76aeTl5Zlsb83nMDc3Fz/99BOefPLJetu2xHN46+9CS/4eMtyYKT8/H1qtFl5eXgbbvby8kJOTY3SfnJwco+2rqqqQn5/fbLXeLlEUER0djbvuugshISF1tlOpVPjiiy+wefNmbNmyBYGBgRg2bBgOHDhgwWrNN2DAAHz99df45Zdf8N///hc5OTmIjIxEQUGB0fbWev4AYNu2bbh+/TqmT59eZxtrO39/V/Oda8j3sWa/hu7TUpSVlWHevHl49NFHTS5G2LNnT6xZswY//PADvv32WygUCgwaNAgXLlywYLXmGT16NNavX489e/bgww8/xLFjxzB06FCUl5fXuY81n8O1a9fCxcUF48ePN9muJZ5DY78LLfl72OpWBb9dt/4tWBRFk38zNtbe2PaWZNasWTh16hQOHTpksl1gYCACAwP1zyMiIpCVlYUPPvgAd999d3OX2WCjR4/W/3vv3r0RERGBrl27Yu3atYiOjja6jzWePwBYtWoVRo8eDR8fnzrbWNv5M6ah38fG7iO1yspKTJo0CTqdDitXrjTZduDAgQaDcgcNGoTQ0FAsX74cn3zySXOX2iATJ07U/3tISAj69esHPz8//PTTTyYDgDWeQwBYvXo1HnvssXrHzrTEc2jqd6Elfg955cZM7du3h1wur5Us8/LyaiXQGt7e3kbb29nZoV27ds1W6+14/vnn8cMPP2Dv3r3o1KlTg/cfOHBgi/wbojFt2rRB796966zXGs8fAFy6dAm7d+/GU0891eB9reX81dzl1pDvY81+Dd1HapWVlZgwYQIyMjIQGxtr8qqNMTKZDP3797eK86pSqeDn52eyVms8hwBw8OBBnDt3rlHfS6nPYV2/Cy35e8hwYyYHBweEhYXp70CpERsbi8jISKP7RERE1Gr/66+/ol+/frC3t2+2WhtDFEXMmjULW7ZswZ49exAQENCo90lMTIRKpWri6ppHeXk5UlNT66zXms7f33311Vfw9PTEfffd1+B9reX8BQQEwNvb2+D8VFRUYP/+/XV+H4G6z6mpfaRUE2wuXLiA3bt3NypUi6KIpKQkqzivBQUFyMrKMlmrtZ3DGqtWrUJYWBj69OnT4H2lOof1/S606O9hkw1NbgW+++470d7eXly1apWYkpIizpkzR2zTpo148eJFURRFcd68eeKUKVP07dPT00VnZ2dx7ty5YkpKirhq1SrR3t5e3LRpk1SHUKeZM2eKSqVS3Ldvn6hWq/WP0tJSfZtbj++jjz4St27dKp4/f15MTk4W582bJwIQN2/eLMUh1OvFF18U9+3bJ6anp4u///67eP/994suLi42cf5qaLVasXPnzuKrr75a6zVrO3/FxcViYmKimJiYKAIQly5dKiYmJurvFHrnnXdEpVIpbtmyRTx9+rT4yCOPiCqVSiwqKtK/x5QpUwzuZjx8+LAol8vFd955R0xNTRXfeecd0c7OTvz9998tfnyiaPoYKysrxQceeEDs1KmTmJSUZPC9LC8v17/Hrcf45ptvirt27RLT0tLExMRE8fHHHxft7OzEo0ePtqjjKy4uFl988UXxyJEjYkZGhrh3714xIiJC7Nixo82cwxoajUZ0dnYWY2JijL5HSz2H5vwutNTvIcNNA61YsUL08/MTHRwcxNDQUINbpadNmyYOGTLEoP2+ffvEO++8U3RwcBD9/f3r/J9bagCMPr766it9m1uP79133xW7du0qKhQK0d3dXbzrrrvEn376yfLFm2nixImiSqUS7e3tRR8fH3H8+PHimTNn9K9b8/mr8csvv4gAxHPnztV6zdrOX82t6rc+pk2bJopi9W2oCxcuFL29vUVHR0fx7rvvFk+fPm3wHkOGDNG3r7Fx40YxMDBQtLe3F3v27ClpmDN1jBkZGXV+L/fu3at/j1uPcc6cOWLnzp1FBwcHsUOHDmJUVJR45MgRyx+caPr4SktLxaioKLFDhw6ivb292LlzZ3HatGliZmamwXtY8zms8fnnn4tOTk7i9evXjb5HSz2H5vwutNTvofDnARARERHZBI65ISIiIpvCcENEREQ2heGGiIiIbArDDREREdkUhhsiIiKyKQw3REREZFMYboiIiMimMNwQUavg7++PZcuWSV0GEVkAww0RNbnp06dj3LhxAIB77rkHc+bMsdhnr1mzBm5ubrW2Hzt2DP/85z8tVgcRScdO6gKIiMxRUVEBBweHRu/foUOHJqyGiFoyXrkhomYzffp07N+/Hx9//DEEQYAgCLh48SIAICUlBWPGjEHbtm3h5eWFKVOmID8/X7/vPffcg1mzZiE6Ohrt27fHiBEjAABLly5F79690aZNG/j6+uLZZ59FSUkJAGDfvn14/PHHodFo9J/35ptvAqjdLZWZmYkHH3wQbdu2haurKyZMmIDc3Fz962+++Sb69u2Lb775Bv7+/lAqlZg0aRKKi4v1bTZt2oTevXvDyckJ7dq1w/Dhw3Hjxo1m+q9JROZiuCGiZvPxxx8jIiICTz/9NNRqNdRqNXx9faFWqzFkyBD07dsXx48fx65du5Cbm4sJEyYY7L927VrY2dnh8OHD+PzzzwEAMpkMn3zyCZKTk7F27Vrs2bMHr7zyCgAgMjISy5Ytg6urq/7zXnrppVp1iaKIcePGobCwEPv370dsbCzS0tIwceJEg3ZpaWnYtm0bfvzxR/z444/Yv38/3nnnHQCAWq3GI488gieeeAKpqanYt28fxo8fDy7XRyQ9dksRUbNRKpVwcHCAs7MzvL299dtjYmIQGhqKt99+W79t9erV8PX1xfnz59GjRw8AQLdu3fDee+8ZvOffx+8EBATgrbfewsyZM7Fy5Uo4ODhAqVRCEASDz7vV7t27cerUKWRkZMDX1xcA8M0336BXr144duwY+vfvDwDQ6XRYs2YNXFxcAABTpkzBb7/9hv/85z9Qq9WoqqrC+PHj4efnBwDo3bv3bfzXIqKmwis3RGRxCQkJ2Lt3L9q2bat/9OzZE0D11ZIa/fr1q7Xv3r17MWLECHTs2BEuLi6YOnUqCgoKGtQdlJqaCl9fX32wAYDg4GC4ubkhNTVVv83f318fbABApVIhLy8PANCnTx8MGzYMvXv3xsMPP4z//ve/uHbtmvn/EYio2TDcEJHF6XQ6jB07FklJSQaPCxcu4O6779a3a9OmjcF+ly5dwpgxYxASEoLNmzcjISEBK1asAABUVlaa/fmiKEIQhHq329vbG7wuCAJ0Oh0AQC6XIzY2Fj///DOCg4OxfPlyBAYGIiMjw+w6iKh5MNwQUbNycHCAVqs12BYaGoozZ87A398f3bp1M3jcGmj+7vjx46iqqsKHH36IgQMHokePHrhy5Uq9n3er4OBgZGZmIisrS78tJSUFGo0GQUFBZh+bIAgYNGgQFi1ahMTERDg4OGDr1q1m709EzYPhhoialb+/P44ePYqLFy8iPz8fOp0Ozz33HAoLC/HII48gPj4e6enp+PXXX/HEE0+YDCZdu3ZFVVUVli9fjvT0dHzzzTf47LPPan1eSUkJfvvtN+Tn56O0tLTW+wwfPhx33HEHHnvsMZw4cQLx8fGYOnUqhgwZYrQrzJijR4/i7bffxvHjx5GZmYktW7bg6tWrDQpHRNQ8GG6IqFm99NJLkMvlCA4ORocOHZCZmQkfHx8cPnwYWq0WI0eOREhICF544QUolUrIZHX/sdS3b18sXboU7777LkJCQrB+/XosWbLEoE1kZCRmzJiBiRMnokOHDrUGJAPVV1y2bdsGd3d33H333Rg+fDi6dOmCDRs2mH1crq6uOHDgAMaMGYMePXrgtddew4cffojRo0eb/x+HiJqFIPK+RSIiIrIhvHJDRERENoXhhoiIiGwKww0RERHZFIYbIiIisikMN0RERGRTGG6IiIjIpjDcEBERkU1huCEiIiKbwnBDRERENoXhhoiIiGwKww0RERHZFIYbIiIisin/DwPsQI/yMsJ2AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "iterations = 20\n", + "\n", + "costs = []\n", + "\n", + "for i in range(iterations):\n", + " params, cost = opt.step_and_cost(circuit, params)\n", + " costs.append(cost)\n", + "\n", + "# Visualize results\n", + "costs.append(circuit(params))\n", + "plt.plot(costs, \"-o\")\n", + "plt.xlabel(\"Iterations\")\n", + "plt.ylabel(\"Cost\")\n", + "\n", + "print(\"Minimized circuit output:\", circuit(params))\n", + "print(\"Optimized parameters:\", params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Note The circuit considered here is very simple and can be optimized easily by hand. However, the need for PennyLane's automatic differentiation capabilities becomes apparent as we make the problem more complicated, e.g., with more gates and different types of output measurement. In later demos, we will also see how Braket can be used to parallelize evaluation of the gradient, providing a turbocharger for quantum circuit training in PennyLane.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running circuits on Braket's on-demand simulator, SV1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So far we have used the local Braket simulator. This is a great choice for quick prototyping, but it is not suitable for large circuits with many qubits and does not provide a connection to quantum hardware.\n", + "\n", + "Amazon Braket also provides access to on-demand, high-performance simulators and quantum processing units (QPUs) from different [providers](https://aws.amazon.com/braket/hardware-providers/). These devices can be accessed through PennyLane by changing a single line of code, unlocking the potential for machine learning and optimization on quantum hardware and high performance simulators!\n", + "\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:11.066378Z", + "start_time": "2024-02-19T21:42:11.064297Z" + } + }, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "\n", + "braket_tasks_cost = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each remote Braket device can be selected through its [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). The supported devices on Braket are listed [here](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html). For now, we will pick the on-demand SV1 simulator.\n", + "\n", + "
\n", + "Caution: Running hybrid algorithms on a QPU can take a long time and incur high usage fees charged to your AWS account.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "In PennyLane, all remote Braket devices are then accessed through a single PennyLane device named ``braket.aws.qubit``." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:11.437758Z", + "start_time": "2024-02-19T21:42:11.067501Z" + } + }, + "outputs": [], + "source": [ + "from braket.devices import Devices\n", + "\n", + "dev = qml.device(\"braket.aws.qubit\", device_arn=Devices.Amazon.SV1, wires=2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A follow up [tutorial](./1_Parallelized_optimization_of_quantum_circuits.ipynb) shows you how to use the remote device to run multiple circuits in parallel, while the [QAOA tutorial](./2_Graph_optimization_with_QAOA.ipynb) takes a deeper dive into graph optimization, including using SV1 to optimize a 20-node graph." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's execute our circuit on SV1, as well as calculating the gradient:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:18.632136Z", + "start_time": "2024-02-19T21:42:11.439272Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Result of circuit run on SV1: 0.37261070647126565\n", + "Result of gradient calculation on SV1: [-0.19585986 -0.80291741]\n" + ] + } + ], + "source": [ + "@qml.qnode(dev)\n", + "def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=1)\n", + " qml.CNOT(wires=[0, 1])\n", + " return qml.expval(qml.PauliZ(1))\n", + "\n", + "\n", + "dcircuit = qml.grad(circuit)\n", + "\n", + "print(\"Result of circuit run on SV1:\", circuit(params))\n", + "print(\"Result of gradient calculation on SV1:\", dcircuit(params))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "What's next? Check out the other tutorials in this folder to understand how Braket and PennyLane can be combined to solve a range of problems, from graph optimization to quantum chemistry.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:19.098494Z", + "start_time": "2024-02-19T21:42:18.633487Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum Task Summary\n", + "{<_Amazon.SV1: 'arn:aws:braket:::device/quantum-simulator/amazon/sv1'>: {'shots': 0, 'tasks': {'COMPLETED': 2}, 'execution_duration': datetime.timedelta(microseconds=299000), 'billed_execution_duration': datetime.timedelta(seconds=6)}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 0.008 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(braket_tasks_cost.quantum_tasks_statistics())\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(\n", + " f\"Estimated cost to run this example: {braket_tasks_cost.qpu_tasks_cost() + braket_tasks_cost.simulator_tasks_cost():.3f} USD\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running on a QPU with Amazon Braket Hybrid Jobs\n", + "\n", + "In this notebook, the classical part of the algorithm was running locally. For longer-running algorithms or those requiring more intensive compute resources, it's recommended to dispatch the algorithm to Amazon Braket Hybrid Jobs, which fully manages the classical infrastructure, allowing you to focus on the algorithm. For example, you can train a larger circuit or increase the number of iterations.\n", + "\n", + "The second benefit of running the algorithm as a hybrid job is that for iterative algorithms that require repeated calls to a QPU, you retain priority for that QPU. Once your quantum tasks are created in the hybrid job, they run ahead of other tasks waiting in the regular quantum task queue. This is because hybrid jobs have a separate queue from standalone tasks, ensuring that only a single hybrid job can run on a QPU at a time. This means your algorithm will not be interrupted by other quantum tasks, so it will run more efficiently and predictably. However, hybrid jobs have a separate queue from standalone tasks, so only a single hybrid job can run on a QPU at a time. For a single quantum circuit or a batch of circuits, it's recommended to create quantum tasks instead of hybrid jobs. Only iterative algorithms benefit from QPU priority queuing.\n", + "\n", + "Note that hybrid jobs have at least a one-minute startup time since they create a containerized environment on Amazon EC2. So for very short workloads, there is likely no need to create a hybrid job.\n", + "\n", + "You can run your local Python code as an Amazon Braket hybrid job by annotating your code with the `@hybrid_job`` decorator, as shown in the following code example. Only Python 3.10 is supported by default. For custom Python versions, you can choose to use a custom container from [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/) (see [BYOC](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-byoc.html)).\n", + "\n", + "\n", + "In the following code, we create a hybrid job for 10 iterations targeting Rigetti Ankaa-2. Since we specified Ankaa-2 as the device, this job will run once Ankaa-2 is available and has no jobs running ahead of it." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:19.442699Z", + "start_time": "2024-02-19T21:42:19.099758Z" + } + }, + "outputs": [], + "source": [ + "from braket.jobs import hybrid_job\n", + "from braket.jobs.metrics import log_metric\n", + "\n", + "device_arn = Devices.Amazon.SV1\n", + "# device_arn = Devices.Rigetti.Ankaa2\n", + "\n", + "\n", + "@hybrid_job(device=device_arn) # set priority QPU\n", + "def qubit_rotation(stepsize=0.1, iterations=5):\n", + " task_tracker = Tracker().start() # track Braket quantum tasks costs\n", + " dev = qml.device(\"braket.aws.qubit\", device_arn=device_arn.value, wires=2, shots=1_000)\n", + "\n", + " params = np.array([0.1, 0.2])\n", + "\n", + " @qml.qnode(dev)\n", + " def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=1)\n", + " qml.CNOT(wires=[0, 1])\n", + " return qml.expval(qml.PauliZ(1))\n", + "\n", + " opt = qml.GradientDescentOptimizer(stepsize)\n", + "\n", + " costs = []\n", + " for i in range(iterations):\n", + " params, cost = opt.step_and_cost(circuit, params)\n", + " costs.append(cost)\n", + "\n", + " # Record the value of the cost function with each iteration\n", + " log_metric(metric_name=\"cost_function\", value=cost, iteration_number=i)\n", + "\n", + " # Additionally, keep track of cost in USD for Braket tasks\n", + " braket_task_cost = float(\n", + " task_tracker.qpu_tasks_cost() + task_tracker.simulator_tasks_cost()\n", + " )\n", + " log_metric(metric_name=\"braket_cost\", value=braket_task_cost, iteration_number=i)\n", + "\n", + " return {\"params\": params, \"costs\": costs, \"braket_tasks_cost\": braket_task_cost}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How long will it take the hybrid job to run? \n", + "Let's first check if the device is currently available with `AwsDevice(device_arn).is_available()`. " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:19.614223Z", + "start_time": "2024-02-19T21:42:19.443623Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from braket.aws import AwsDevice\n", + "\n", + "AwsDevice(device_arn).is_available" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we check the hybrid job queue depth with `AwsDevice(device_arn).queue_depth().jobs`. " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:19.958746Z", + "start_time": "2024-02-19T21:42:19.615073Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'0'" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AwsDevice(device_arn).queue_depth().jobs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If the device is available and there are no hybrid jobs currently running, then it should take about 5 minutes to complete. \n", + "\n", + "
\n", + "Caution: Running the following cell will only run once the QPU is available. This may take a long time and will result in usage fees charged to your AWS account. Only uncomment the cell if you are comfortable with the potential wait-time and costs. We recommend monitoring the Billing & Cost Management Dashboard on the AWS console and being aware that hybrid jobs involving a large number of qubits can be costly.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:29.440989Z", + "start_time": "2024-02-19T21:42:19.960142Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:667256736152:job/qubit-rotation-1708378939963')\n" + ] + } + ], + "source": [ + "job = qubit_rotation(stepsize=0.2, iterations=20)\n", + "print(job)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once the hybrid job has completed, we can retrieve the results with `job.results()`." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:49:52.814493Z", + "start_time": "2024-02-19T21:42:29.442078Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'params': tensor([0.236, 2.649], requires_grad=True), 'costs': [array(0.978), array(0.954), array(0.962), array(0.93), array(0.874), array(0.848), array(0.816), array(0.744), array(0.638), array(0.528), array(0.328), array(0.24), array(0.072), array(-0.034), array(-0.202), array(-0.32), array(-0.498), array(-0.616), array(-0.672), array(-0.752)], 'braket_tasks_cost': 0.375}\n", + "CPU times: user 160 ms, sys: 16.6 ms, total: 177 ms\n", + "Wall time: 7min 23s\n" + ] + } + ], + "source": [ + "%%time\n", + "results = job.result()\n", + "print(results)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:50:26.336487Z", + "start_time": "2024-02-19T21:49:52.820854Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimized circuit output: 0.37261070647126565\n", + "Optimized parameters: [0.4839502 1.13630274]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(results[\"costs\"], \"o-\")\n", + "plt.xlabel(\"Iterations\")\n", + "plt.ylabel(\"Cost\")\n", + "\n", + "print(\"Minimized circuit output:\", circuit(params))\n", + "print(\"Optimized parameters:\", params)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:50:26.756331Z", + "start_time": "2024-02-19T21:50:26.338055Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 0.386 USD\n" + ] + } + ], + "source": [ + "job_cost = job.result()[\"braket_tasks_cost\"]\n", + "sv1_cost = float(braket_tasks_cost.simulator_tasks_cost())\n", + "\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(f\"Estimated cost to run this example: {job_cost + sv1_cost :.3f} USD\")" + ] + } + ], + "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.10.9" + }, + "vscode": { + "interpreter": { + "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/qiskit/0_Getting_Started.ipynb b/examples/qiskit/0_Getting_Started.ipynb index 22b3e7b4..161c9b4b 100644 --- a/examples/qiskit/0_Getting_Started.ipynb +++ b/examples/qiskit/0_Getting_Started.ipynb @@ -1,610 +1,624 @@ { - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "id": "a477c993", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# How to run Qiskit on Amazon Braket" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "3a9504c9", - "metadata": {}, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "c885d164", - "metadata": {}, - "source": [ - "If you're like many people who learned quantum computing in the past several years, you might have learned how to program quantum circuits with [Qiskit](https://qiskit.org): the open-source quantum Software Development Kit (SDK) first released in 2017. With the [Qiskit-Braket provider](https://github.com/qiskit-community/qiskit-braket-provider/blob/main/docs/tutorials/0_tutorial_qiskit-braket-provider_overview.ipynb), you can run your Qiskit code across any of the gate-based devices on the [Amazon Braket](https://aws.amazon.com/braket/) quantum computing service.\n", - "\n", - "**Note**: if you're running this in your local development environment (i.e. not from the Braket console), you'll need to make sure you've got your AWS account configured properly first to access Braket devices. Check out [this tutorial](https://aws.amazon.com/blogs/quantum-computing/setting-up-your-local-development-environment-in-amazon-braket/) for a walkthrough." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "b23c5287", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## Access Braket devices from Qiskit \n", - "\n", - " There are quite a few different backend devices on Amazon Braket, so we'll walk through them one by one and give an example of recommended use cases for each." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "a94feb7b", - "metadata": {}, - "source": [ - "### Quantum simulators\n", - "Let's start with the ***local simulator***. This is a quantum full state vector simulator which runs *locally* -- that means wherever you're running this Jupyter notebook (e.g. your local development environment or a notebook instance on the Braket console).\n", - "\n", - "**Recommended use case:** Noiseless circuits up to ~12 qubits" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "f162ba69", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit_braket_provider import BraketLocalBackend\n", - "\n", - "local_simulator = BraketLocalBackend()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "17e2ab4d", - "metadata": {}, - "source": [ - "Next, we have the ***local density matrix simulator***. This simulator also runs on your local machine, but allows you to simulate the effects of *noise* on your quantum circuit. Because density matrices are twice the size of state vectors, the number of qubits you can effectively simulate is half the size as the local state vector simulator.\n", - "\n", - "**Recommended use case:** Noisy circuits up to ~6 qubits" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "2bfe0170", - "metadata": {}, - "outputs": [], - "source": [ - "local_dm_simulator = BraketLocalBackend(name='braket_dm')" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "de912d0e", - "metadata": {}, - "source": [ - "Now let's look at Braket's *on-demand* simulators: these run on AWS computing resources and have some expanded features in addition to those of the local simulator. We can list all the available Braket simulators with the following code:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "70a24c64", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[BraketBackend[SV1], BraketBackend[TN1], BraketBackend[dm1]]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from qiskit_braket_provider import BraketProvider\n", - "\n", - "provider = BraketProvider()\n", - "\n", - "provider.backends(statuses=[\"ONLINE\"], types=[\"SIMULATOR\"])" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "d846e7f2", - "metadata": {}, - "source": [ - "First up for on-demand simulators is ***SV1***. This is a full state vector simulator which allows you to simulate larger circuits than the local simulator, along with the ability to [batch tasks](https://docs.aws.amazon.com/braket/latest/developerguide/braket-batching-tasks.html) and run them in parallel, as well as use advanced techniques like [adjoint gradient calculations](https://pennylane.ai/blog/2022/12/computing-adjoint-gradients-with-amazon-braket-sv1/) for variational quantum algorithms. \n", - "\n", - "**Recommended use case:** Noiseless variational algorithms on up to 34 qubits" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "19024712", - "metadata": {}, - "outputs": [], - "source": [ - "sv1 = provider.get_backend(\"SV1\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "41c66765", - "metadata": {}, - "source": [ - "The next on-demand simulator is ***DM1***. This is a density matrix simulator which, like SV1, allows you to simulate a larger number of qubits, as well as take advantage of batch execution. \n", - "\n", - "**Recommended use case:** Noisy variational algorithms on up to 17 qubits" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "54e855a5", - "metadata": {}, - "outputs": [], - "source": [ - "dm1 = provider.get_backend(\"dm1\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "ae97b1a1", - "metadata": {}, - "source": [ - "Lastly for on-demand simulators, we have ***TN1***. This is a tensor-network simulator, which represents each gate in a circuit as a tensor. TN1 can simulate a larger number of qubits for circuits with local gates or other special structure, but will typically be slower than SV1 or DM1 for circuits with long-range or all-to-all gate structure.\n", - "\n", - "**Recommended use case:** Noiseless quantum circuits with local connectivity and up to 50 qubits" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "ad54a536", - "metadata": {}, - "source": [ - "**Note**: Each AWS resource, (like a file or CPU or QPU) lives in a specific region and may only be accessible from that region. For example, TN1 is only available in the `eu-west-2`, `us-east-1`, and `us-west-2` regions. \n", - "\n", - "To change your AWS region if you're running in a managed notebook, you'll need to use the GUI in the top right hand corner of the AWS console to select your new region, then relaunch or create your notebook from the Braket console.\n", - "\n", - "To change your AWS region if you're running in your local development environment, you run the following code snippet:\n", - "```\n", - "import os\n", - "os.environ[\"AWS_REGION\"] = \"your-desired-region\"\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd711dcb", - "metadata": {}, - "outputs": [], - "source": [ - "# If you've switched to one of the regions where TN1 is accessible, feel free to uncomment the following code\n", - "# tn1 = provider.get_backend(\"TN1\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "dc6910f0", - "metadata": {}, - "source": [ - "### Quantum Processing Units (QPUs)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "8bfc8706", - "metadata": {}, - "source": [ - "Amazon Braket also provides access to a number of third-party quantum hardware devices. The following code shows how to view the supported QPUs which are currently online:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "f5329bca", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[BraketBackend[Ankaa-2],\n", - " BraketBackend[Aria 1],\n", - " BraketBackend[Forte 1],\n", - " BraketBackend[Garnet]]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "provider.backends(statuses=[\"ONLINE\"], types=[\"QPU\"])" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "4c7a21d4", - "metadata": {}, - "source": [ - "For a closer look at each quantum computer, you can peruse the [Providers Overview](https://aws.amazon.com/braket/quantum-computers/) on the Braket homepage, or the Devices tab on the left side of the Braket console. \n", - "Currently only gate-based QPUs (IonQ, Rigetti) are supported with the Qiskit-Braket provider. " - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "0800b99f", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## Running circuits on Braket devices\n", - "\n" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "6bf048f4", - "metadata": {}, - "source": [ - "Now that we've walked through each of the quantum devices available through the Qiskit-Braket provider, let's take them for a spin! For this example, we'll create a 3-GHZ state on the Rigetti device, but feel free to choose a different QPU from the commented out devices below." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "a5beeb7b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "BraketBackend[Ankaa-2]\n" - ] - } - ], - "source": [ - "qpu_backend = provider.get_backend(\"Ankaa-2\")\n", - "# qpu_backend = provider.get_backend(\"Aria\")\n", - "\n", - "print(qpu_backend)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "e9d90ed2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
     ┌───┐          \n",
-                            "q_0: ┤ H ├──■────■──\n",
-                            "     └───┘┌─┴─┐  │  \n",
-                            "q_1: ─────┤ X ├──┼──\n",
-                            "          └───┘┌─┴─┐\n",
-                            "q_2: ──────────┤ X ├\n",
-                            "               └───┘
" - ], - "text/plain": [ - " ┌───┐ \n", - "q_0: ┤ H ├──■────■──\n", - " └───┘┌─┴─┐ │ \n", - "q_1: ─────┤ X ├──┼──\n", - " └───┘┌─┴─┐\n", - "q_2: ──────────┤ X ├\n", - " └───┘" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from qiskit import QuantumCircuit\n", - "\n", - "circuit = QuantumCircuit(3)\n", - "circuit.h(0)\n", - "circuit.cx(0, 1)\n", - "circuit.cx(0, 2)\n", - "circuit.draw()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "32fd1f51", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "outputs": [], - "source": [ - "# run circuit\n", - "qpu_task = qpu_backend.run(circuit, shots=10)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "9515c95b", - "metadata": {}, - "source": [ - "Each quantum task you run is assigned a unique ARN (Amazon Resource Name), which you can save and use to retrieve the data for your quantum task after its run, even if you close your notebook." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "d6f5d0da", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'arn:aws:braket:us-west-1:606892779558:quantum-task/59f83e11-3b1d-44cb-9d3e-bbb87ce37dd7'" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "task_id = qpu_task.task_id()\n", - "task_id" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "3b7ee5ac", - "metadata": {}, - "source": [ - "Now, Braket has a separate feature called \\\"Hybrid *Jobs*\\\", which is beyond the scope of this notebook, but which you can read about in the [developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs.html)." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "dec44bb5", - "metadata": {}, - "outputs": [], - "source": [ - "# Retrieve quantum task data\n", - "retrieved_task = qpu_backend.retrieve_job(task_id=task_id)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "355472d4", - "metadata": {}, - "source": [ - "Then you can check the status of the task to see if it's finished:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "bb84627d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "retrieved_task.status()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "7c2d97be", - "metadata": {}, - "source": [ - "**Note:** different devices may have different availability windows, so while your task may not run right away, rest assured it will be added to the queue to be run when the device is back online." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "d6f54cb5", - "metadata": {}, - "source": [ - "When your task is finished, you can retrieve the data:" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "c510eb22", - "metadata": {}, - "outputs": [], - "source": [ - "data = retrieved_task.result()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "90660ecd", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.visualization import plot_histogram\n", - "plot_histogram(data.get_counts())" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "1819e1f8", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## Running algorithms on Braket devices" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "41520df9", - "metadata": {}, - "source": [ - "You can also use the Qiskit-Braket provider to run built-in Qiskit algorithms on Braket backends. For example, we can run the VQE algorithm to find the ground state of hydrogen. We'll use the local simulator since the problem can be expressed in a basis that only requires a few qubits and will run quickly." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1e7de04f", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.quantum_info import SparsePauliOp\n", - "\n", - "# Define the Hamiltonian operator for H2 in terms of Pauli spin operators\n", - "H2_op = SparsePauliOp.from_list([('II', -1.052373245772859), ('IZ', 0.39793742484318045), ('ZI', -0.39793742484318045), ('ZZ', -0.01128010425623538), ('XX', 0.18093119978423156)])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9c5cbca8", - "metadata": {}, - "outputs": [], - "source": [ - "# Import some utilities\n", - "from qiskit.primitives import BackendEstimator\n", - "from qiskit.circuit.library import TwoLocal\n", - "from qiskit_algorithms.optimizers import SLSQP\n", - "from qiskit_algorithms import VQE\n", - "\n", - "# Define a `BackendEstimator` with a Braket backend\n", - "qi = BackendEstimator(local_simulator, options={'seed_simulator':42})\n", - "qi.set_transpile_options(seed_transpiler=42)\n", - "\n", - "# Specify VQE configuration\n", - "ansatz = TwoLocal(rotation_blocks=\"ry\", entanglement_blocks=\"cz\")\n", - "slsqp = SLSQP(maxiter=1)\n", - "vqe = VQE(estimator=qi, ansatz=ansatz, optimizer=slsqp)\n", - "\n", - "# Find the ground state\n", - "result = vqe.compute_minimum_eigenvalue(H2_op)\n", - "print(result)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "a5ce5134", - "metadata": {}, - "source": [ - "## What now?" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "a497c6ef", - "metadata": {}, - "source": [ - "The sky is the limit! Keep in mind, the Qiskit-Braket provider is still new and experimental, so if you run into a bug or want a new feature supported, consider [submitting a GitHub issue](https://github.com/qiskit-community/qiskit-braket-provider/issues) and opening a feature branch to join in on the development effort yourself!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "480d8040", - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "61350edd", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "base", - "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.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "a477c993", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# How to run Qiskit on Amazon Braket" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3a9504c9", + "metadata": {}, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "\n", + "t = Tracker().start()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "c885d164", + "metadata": {}, + "source": [ + "If you're like many people who learned quantum computing in the past several years, you might have learned how to program quantum circuits with [Qiskit](https://qiskit.org): the open-source quantum Software Development Kit (SDK) first released in 2017. With the [Qiskit-Braket provider](https://github.com/qiskit-community/qiskit-braket-provider/blob/main/docs/tutorials/0_tutorial_qiskit-braket-provider_overview.ipynb), you can run your Qiskit code across any of the gate-based devices on the [Amazon Braket](https://aws.amazon.com/braket/) quantum computing service.\n", + "\n", + "**Note**: if you're running this in your local development environment (i.e. not from the Braket console), you'll need to make sure you've got your AWS account configured properly first to access Braket devices. Check out [this tutorial](https://aws.amazon.com/blogs/quantum-computing/setting-up-your-local-development-environment-in-amazon-braket/) for a walkthrough." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b23c5287", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Access Braket devices from Qiskit \n", + "\n", + " There are quite a few different backend devices on Amazon Braket, so we'll walk through them one by one and give an example of recommended use cases for each." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "a94feb7b", + "metadata": {}, + "source": [ + "### Quantum simulators\n", + "Let's start with the ***local simulator***. This is a quantum full state vector simulator which runs *locally* -- that means wherever you're running this Jupyter notebook (e.g. your local development environment or a notebook instance on the Braket console).\n", + "\n", + "**Recommended use case:** Noiseless circuits up to ~12 qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f162ba69", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit_braket_provider import BraketLocalBackend\n", + "\n", + "local_simulator = BraketLocalBackend()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "17e2ab4d", + "metadata": {}, + "source": [ + "Next, we have the ***local density matrix simulator***. This simulator also runs on your local machine, but allows you to simulate the effects of *noise* on your quantum circuit. Because density matrices are twice the size of state vectors, the number of qubits you can effectively simulate is half the size as the local state vector simulator.\n", + "\n", + "**Recommended use case:** Noisy circuits up to ~6 qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2bfe0170", + "metadata": {}, + "outputs": [], + "source": [ + "local_dm_simulator = BraketLocalBackend(name=\"braket_dm\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "de912d0e", + "metadata": {}, + "source": [ + "Now let's look at Braket's *on-demand* simulators: these run on AWS computing resources and have some expanded features in addition to those of the local simulator. We can list all the available Braket simulators with the following code:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "70a24c64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[BraketBackend[SV1], BraketBackend[TN1], BraketBackend[dm1]]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit_braket_provider import BraketProvider\n", + "\n", + "provider = BraketProvider()\n", + "\n", + "provider.backends(statuses=[\"ONLINE\"], types=[\"SIMULATOR\"])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "d846e7f2", + "metadata": {}, + "source": [ + "First up for on-demand simulators is ***SV1***. This is a full state vector simulator which allows you to simulate larger circuits than the local simulator, along with the ability to [batch tasks](https://docs.aws.amazon.com/braket/latest/developerguide/braket-batching-tasks.html) and run them in parallel, as well as use advanced techniques like [adjoint gradient calculations](https://pennylane.ai/blog/2022/12/computing-adjoint-gradients-with-amazon-braket-sv1/) for variational quantum algorithms. \n", + "\n", + "**Recommended use case:** Noiseless variational algorithms on up to 34 qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "19024712", + "metadata": {}, + "outputs": [], + "source": [ + "sv1 = provider.get_backend(\"SV1\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "41c66765", + "metadata": {}, + "source": [ + "The next on-demand simulator is ***DM1***. This is a density matrix simulator which, like SV1, allows you to simulate a larger number of qubits, as well as take advantage of batch execution. \n", + "\n", + "**Recommended use case:** Noisy variational algorithms on up to 17 qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "54e855a5", + "metadata": {}, + "outputs": [], + "source": [ + "dm1 = provider.get_backend(\"dm1\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "ae97b1a1", + "metadata": {}, + "source": [ + "Lastly for on-demand simulators, we have ***TN1***. This is a tensor-network simulator, which represents each gate in a circuit as a tensor. TN1 can simulate a larger number of qubits for circuits with local gates or other special structure, but will typically be slower than SV1 or DM1 for circuits with long-range or all-to-all gate structure.\n", + "\n", + "**Recommended use case:** Noiseless quantum circuits with local connectivity and up to 50 qubits" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "ad54a536", + "metadata": {}, + "source": [ + "**Note**: Each AWS resource, (like a file or CPU or QPU) lives in a specific region and may only be accessible from that region. For example, TN1 is only available in the `eu-west-2`, `us-east-1`, and `us-west-2` regions. \n", + "\n", + "To change your AWS region if you're running in a managed notebook, you'll need to use the GUI in the top right hand corner of the AWS console to select your new region, then relaunch or create your notebook from the Braket console.\n", + "\n", + "To change your AWS region if you're running in your local development environment, you run the following code snippet:\n", + "```\n", + "import os\n", + "os.environ[\"AWS_REGION\"] = \"your-desired-region\"\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd711dcb", + "metadata": {}, + "outputs": [], + "source": [ + "# If you've switched to one of the regions where TN1 is accessible, feel free to uncomment the following code\n", + "# tn1 = provider.get_backend(\"TN1\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "dc6910f0", + "metadata": {}, + "source": [ + "### Quantum Processing Units (QPUs)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "8bfc8706", + "metadata": {}, + "source": [ + "Amazon Braket also provides access to a number of third-party quantum hardware devices. The following code shows how to view the supported QPUs which are currently online:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "f5329bca", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[BraketBackend[Ankaa-2],\n", + " BraketBackend[Aria 1],\n", + " BraketBackend[Forte 1],\n", + " BraketBackend[Garnet]]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "provider.backends(statuses=[\"ONLINE\"], types=[\"QPU\"])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "4c7a21d4", + "metadata": {}, + "source": [ + "For a closer look at each quantum computer, you can peruse the [Providers Overview](https://aws.amazon.com/braket/quantum-computers/) on the Braket homepage, or the Devices tab on the left side of the Braket console. \n", + "Currently only gate-based QPUs (IonQ, Rigetti) are supported with the Qiskit-Braket provider. " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "0800b99f", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Running circuits on Braket devices\n", + "\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "6bf048f4", + "metadata": {}, + "source": [ + "Now that we've walked through each of the quantum devices available through the Qiskit-Braket provider, let's take them for a spin! For this example, we'll create a 3-GHZ state on the Rigetti device, but feel free to choose a different QPU from the commented out devices below." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "a5beeb7b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BraketBackend[Ankaa-2]\n" + ] + } + ], + "source": [ + "qpu_backend = provider.get_backend(\"Ankaa-2\")\n", + "# qpu_backend = provider.get_backend(\"Aria\")\n", + "\n", + "print(qpu_backend)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "e9d90ed2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
     ┌───┐          \n",
+       "q_0: ┤ H ├──■────■──\n",
+       "     └───┘┌─┴─┐  │  \n",
+       "q_1: ─────┤ X ├──┼──\n",
+       "          └───┘┌─┴─┐\n",
+       "q_2: ──────────┤ X ├\n",
+       "               └───┘
" + ], + "text/plain": [ + " ┌───┐ \n", + "q_0: ┤ H ├──■────■──\n", + " └───┘┌─┴─┐ │ \n", + "q_1: ─────┤ X ├──┼──\n", + " └───┘┌─┴─┐\n", + "q_2: ──────────┤ X ├\n", + " └───┘" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit import QuantumCircuit\n", + "\n", + "circuit = QuantumCircuit(3)\n", + "circuit.h(0)\n", + "circuit.cx(0, 1)\n", + "circuit.cx(0, 2)\n", + "circuit.draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "32fd1f51", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [], + "source": [ + "# run circuit\n", + "qpu_task = qpu_backend.run(circuit, shots=10)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "9515c95b", + "metadata": {}, + "source": [ + "Each quantum task you run is assigned a unique ARN (Amazon Resource Name), which you can save and use to retrieve the data for your quantum task after its run, even if you close your notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d6f5d0da", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'arn:aws:braket:us-west-1:606892779558:quantum-task/59f83e11-3b1d-44cb-9d3e-bbb87ce37dd7'" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task_id = qpu_task.task_id()\n", + "task_id" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "3b7ee5ac", + "metadata": {}, + "source": [ + "Now, Braket has a separate feature called \\\"Hybrid *Jobs*\\\", which is beyond the scope of this notebook, but which you can read about in the [developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "dec44bb5", + "metadata": {}, + "outputs": [], + "source": [ + "# Retrieve quantum task data\n", + "retrieved_task = qpu_backend.retrieve_job(task_id=task_id)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "355472d4", + "metadata": {}, + "source": [ + "Then you can check the status of the task to see if it's finished:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "bb84627d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "retrieved_task.status()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "7c2d97be", + "metadata": {}, + "source": [ + "**Note:** different devices may have different availability windows, so while your task may not run right away, rest assured it will be added to the queue to be run when the device is back online." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "d6f54cb5", + "metadata": {}, + "source": [ + "When your task is finished, you can retrieve the data:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "c510eb22", + "metadata": {}, + "outputs": [], + "source": [ + "data = retrieved_task.result()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90660ecd", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.visualization import plot_histogram\n", + "\n", + "plot_histogram(data.get_counts())" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "1819e1f8", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Running algorithms on Braket devices" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "41520df9", + "metadata": {}, + "source": [ + "You can also use the Qiskit-Braket provider to run built-in Qiskit algorithms on Braket backends. For example, we can run the VQE algorithm to find the ground state of hydrogen. We'll use the local simulator since the problem can be expressed in a basis that only requires a few qubits and will run quickly." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1e7de04f", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.quantum_info import SparsePauliOp\n", + "\n", + "# Define the Hamiltonian operator for H2 in terms of Pauli spin operators\n", + "H2_op = SparsePauliOp.from_list(\n", + " [\n", + " (\"II\", -1.052373245772859),\n", + " (\"IZ\", 0.39793742484318045),\n", + " (\"ZI\", -0.39793742484318045),\n", + " (\"ZZ\", -0.01128010425623538),\n", + " (\"XX\", 0.18093119978423156),\n", + " ]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c5cbca8", + "metadata": {}, + "outputs": [], + "source": [ + "# Import some utilities\n", + "from qiskit.circuit.library import TwoLocal\n", + "from qiskit.primitives import BackendEstimator\n", + "from qiskit_algorithms import VQE\n", + "from qiskit_algorithms.optimizers import SLSQP\n", + "\n", + "# Define a `BackendEstimator` with a Braket backend\n", + "qi = BackendEstimator(local_simulator, options={\"seed_simulator\": 42})\n", + "qi.set_transpile_options(seed_transpiler=42)\n", + "\n", + "# Specify VQE configuration\n", + "ansatz = TwoLocal(rotation_blocks=\"ry\", entanglement_blocks=\"cz\")\n", + "slsqp = SLSQP(maxiter=1)\n", + "vqe = VQE(estimator=qi, ansatz=ansatz, optimizer=slsqp)\n", + "\n", + "# Find the ground state\n", + "result = vqe.compute_minimum_eigenvalue(H2_op)\n", + "print(result)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "a5ce5134", + "metadata": {}, + "source": [ + "## What now?" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "a497c6ef", + "metadata": {}, + "source": [ + "The sky is the limit! Keep in mind, the Qiskit-Braket provider is still new and experimental, so if you run into a bug or want a new feature supported, consider [submitting a GitHub issue](https://github.com/qiskit-community/qiskit-braket-provider/issues) and opening a feature branch to join in on the development effort yourself!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "480d8040", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(\n", + " f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61350edd", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "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.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/test/integ_tests/qiskit/0_Getting_Started_mocks.py b/test/integ_tests/qiskit/0_Getting_Started_mocks.py index 0d2f07a9..483f1ac6 100644 --- a/test/integ_tests/qiskit/0_Getting_Started_mocks.py +++ b/test/integ_tests/qiskit/0_Getting_Started_mocks.py @@ -16,29 +16,29 @@ def pre_run_inject(mock_utils): "deviceName": "SV1", "deviceType": "SIMULATOR", "deviceStatus": "ONLINE", - "providerName": "Test Provider" + "providerName": "Test Provider", }, { "deviceArn": "arn:aws:braket:us-west-2::device/qpu/arn/TestARN", "deviceName": "dm1", "deviceType": "SIMULATOR", "deviceStatus": "ONLINE", - "providerName": "Test Provider" + "providerName": "Test Provider", }, { "deviceArn": "arn:aws:braket:us-west-2::device/qpu/arn/TestARN", "deviceName": "TN1", "deviceType": "SIMULATOR", "deviceStatus": "ONLINE", - "providerName": "Test Provider" + "providerName": "Test Provider", }, { "deviceArn": "arn:aws:braket:us-west-2::device/qpu/arn/TestARN", "deviceName": "Ankaa-2", "deviceType": "QPU", "deviceStatus": "ONLINE", - "providerName": "Test Provider" - } + "providerName": "Test Provider", + }, ] } )