{ "cells": [ { "cell_type": "markdown", "id": "283fddbe", "metadata": {}, "source": [ "# IBM Optimizations using Cirq" ] }, { "cell_type": "markdown", "id": "b7609ea0", "metadata": {}, "source": [ "[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Infleqtion/client-superstaq/blob/main/docs/source/optimizations/ibm/ibmq_compile_css.ipynb) [![Launch Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Infleqtion/client-superstaq/HEAD?labpath=docs/source/optimizations/ibm/ibmq_compile_css.ipynb)" ] }, { "cell_type": "markdown", "id": "55320d7b", "metadata": {}, "source": [ "Below is a brief tutorial on Superstaq optimizations for IBM Quantum superconducting qubit devices. For more information on IBM Quantum, visit their website [here](https://www.ibm.com/quantum)." ] }, { "cell_type": "markdown", "id": "cc148463", "metadata": {}, "source": [ "## Imports and API Token\n", "\n", "This example tutorial notebook uses `cirq-superstaq`, our Superstaq client for Cirq; you can try it out by running `pip install cirq-superstaq[examples]`:" ] }, { "cell_type": "code", "execution_count": 1, "id": "032904b0", "metadata": {}, "outputs": [], "source": [ "try:\n", " import cirq_superstaq as css\n", " import qiskit_superstaq as qss\n", "except ImportError:\n", " print(\"Installing cirq-superstaq[examples]...\")\n", " %pip install --quiet 'cirq-superstaq[examples]'\n", " print(\"Installed cirq-superstaq[examples].\")\n", " print(\"You may need to restart the kernel to import newly installed packages.\")\n", " import cirq_superstaq as css\n", "\n", "import random\n", "\n", "import cirq\n", "import numpy as np\n", "import qiskit\n", "import qiskit_superstaq as qss" ] }, { "cell_type": "markdown", "id": "ea70f3e9", "metadata": {}, "source": [ "To interface Superstaq via Cirq, we must first instantiate a service with `cirq_superstaq.Service()`. We then supply a Superstaq API token by either providing the API token as an argument to `cirq_superstaq.Service()` or by setting it as an environment variable (see more details [here](https://superstaq.readthedocs.io/en/latest/get_started/basics/basics_css.html#Set-up-access-to-Superstaq%E2%80%99s-API))" ] }, { "cell_type": "code", "execution_count": 2, "id": "972b9908", "metadata": {}, "outputs": [], "source": [ "# Provide your Superstaq API key using the \"api_key\" argument\n", "service = css.Service()" ] }, { "cell_type": "markdown", "id": "80e1d5e7", "metadata": {}, "source": [ "## Single Circuit Compilation\n", "\n", "Let us start by creating an example Cirq circuit that we will then compile and optimize for the 156-qubit IBM Quantum `Kingston` processor." ] }, { "cell_type": "code", "execution_count": 3, "id": "06be41c6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
0: ───@────────────────@───│───M───\n",
       "      │                │   │   │\n",
       "1: ───X───Rz(0.766π)───X───│───M───
" ], "text/plain": [ "0: ───@────────────────@───│───M───\n", " │ │ │ │\n", "1: ───X───Rz(0.766π)───X───│───M───" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create a two-qubit cirq circuit\n", "qubits = cirq.LineQubit.range(2)\n", "rng = np.random.default_rng(random.getrandbits(128))\n", "theta = rng.uniform(0, 4 * np.pi)\n", "circuit = cirq.Circuit(\n", " cirq.CNOT(qubits[0], qubits[1]),\n", " cirq.Rz(rads=theta)(qubits[1]),\n", " cirq.CNOT(qubits[0], qubits[1]),\n", " css.barrier(*qubits),\n", " cirq.measure(qubits[0], qubits[1]),\n", ")\n", "\n", "# Visualize circuit\n", "circuit" ] }, { "cell_type": "markdown", "id": "e204bac3", "metadata": {}, "source": [ "We will now compile the above circuit to IBM's `Kingston` processor and visualize the differences by drawing the compiled circuit. " ] }, { "cell_type": "code", "execution_count": 4, "id": "e921bf6e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
133: ───Rz(0.75π)─────────────────────────X^0.5───Rz(1.25π)───@───Rz(0.75π)───────────X^0.5───Rz(1.23π)───X^0.5───Rz(0.25π)───@───Rz(1.75π)───X^0.5────────────────────────────Rz(1.25π)───│───M────────────────\n",
       "                                                              │                                                               │                                                            │   │\n",
       "134: ───WaitGate(32000.000000000007 ps)───────────────────────@───WaitGate(64.0 ns)───────────────────────────────────────────@───Rz(π)───────WaitGate(32000.00000000003 ps)───────────────│───M('q(0),q(1)')───
" ], "text/plain": [ "133: ───Rz(0.75π)─────────────────────────X^0.5───Rz(1.25π)───@───Rz(0.75π)───────────X^0.5───Rz(1.23π)───X^0.5───Rz(0.25π)───@───Rz(1.75π)───X^0.5────────────────────────────Rz(1.25π)───│───M────────────────\n", " │ │ │ │\n", "134: ───WaitGate(32000.000000000007 ps)───────────────────────@───WaitGate(64.0 ns)───────────────────────────────────────────@───Rz(π)───────WaitGate(32000.00000000003 ps)───────────────│───M('q(0),q(1)')───" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Compile with qscout compile\n", "compiler_output = service.ibmq_compile(circuit, target=\"ibmq_kingston_qpu\")\n", "\n", "# Call circuit from the compiler output to get the corresponding output circuit\n", "output_circuit = compiler_output.circuit\n", "\n", "# Visualize the compiled circuit\n", "output_circuit" ] }, { "cell_type": "markdown", "id": "57bf81d5", "metadata": {}, "source": [ "The resulting output is now a circuit compiled to `Kingston`'s native operations. With Superstaq compilation, you can also observe the gates and gate times for the compiled circuit using Qiskit’s timeline drawer (see [Qiskit Timeline Visualizations Documentation](https://docs.quantum.ibm.com/api/qiskit/qiskit.visualization.timeline_drawer)). \n", "\n", "Additionally, to ensure that the drawer has all the information on the instruction durations, we must also provide the `qiskit.transpiler.Target` of the corresponding backend the timeline is being generated for. It can be retrieved from `qiskit_superstaq` like so:" ] }, { "cell_type": "code", "execution_count": 5, "id": "24c65259", "metadata": {}, "outputs": [], "source": [ "backend_target = qss.SuperstaqProvider().get_backend(\"ibmq_kingston_qpu\").target" ] }, { "cell_type": "code", "execution_count": 6, "id": "bd85d98b", "metadata": {}, "outputs": [ { "data": { "image/png": "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SjrxkdG//e1vdc011ygxMVEhISHas2ePZs6cqczMTD3++ONq27Zt5XZHjx6tMWPG6IUXXlB+fr4GDhyoVatW6e2339YNN9ygwYMHN/yTBQAA55XXXntNjz/+uNq0aaPhw4drzpw5VR5v2bKlRowYoaKiIrVv315jx45V586dFRERoZ07d2r69OkqKirSBx98ILvdXrleUVGR+vXrp6uuukrt27dXfn6+PvjgA61fv17/+Mc/NGzYsIZ+qgAA4Dx01113KScnRxdddJHatm0rh8Oh9evX68MPP1RISIief/55SVJkZKTuv/9+Pf/88+rZs6emTJmiyMhI/fjjj5o9e7YSEhJ0++23V25327Ztmjx5ssaMGaO4uDgdOnRI7733ntLT0/Xuu++qU6dOvnrKAADgPPLkk09q9erVGjZsmNq0aaOioiItWrRIS5YsUf/+/XXvvfdWjt23b59mzpwp6cS9jCR9/vnnlbOV3njjjZV/w+JeBwAA+IOIiAg999xz+u1vf6sBAwbo1ltvldPp1BtvvCGn06lXXnlFkjRw4MAa13/11Ve1b98+XXvttVWWe+Nex+DxeDy1f4poSBUVFXrppZf01ltvae/evWrWrJnGjx+vv//97woODvZ1PAAAgCqGDh2qZcuW1fjYb37zGy1dulSSlJ6erqeeekorV65UVlaWSkpKFBUVpb59++rOO+/U6NGjq63vcDj05JNPatasWcrJyVFsbKxuueUWPfLII7JYLN58WgAAAJo8ebLee++9Uz5+8l6nrKxMd999t9asWaPMzEwVFRWpWbNmuuCCC/Twww9X+VQZSXI6nbr55pu1evVq5eTkKDAwUH379tUf/vAHjRw50ttPCwAAQJL00Ucf6f3339emTZt05MgRGQwGtW3bViNGjNBDDz2kNm3aVI71eDyaPn26pk+frm3btqmsrEyxsbEaPXq0pk6dqubNm1eOPXTokO68806tW7dOhw8fVlhYmIYMGaJHHnmk2n0RAACAt8yfP1+vv/66tm7dqmPHjslkMqlDhw4aN26c/vCHP8hms1WOXbp06WknEliyZImGDh0qiXsdAADgXz799FM9++yz2rJli4xGowYOHKjHH39cF1xwwWnXGzp0qH766acqs7VL3rnXobgOAAAAAAAAAAAAAAAAAAAAAPAqo68DAAAAAAAAAAAAAAAAAAAA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", "text/plain": [ "
" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The pulse gate circuit is obtained via the `pulse_gate_circuit` attribute\n", "pulse_circuit = compiler_output.pulse_gate_circuit\n", "\n", "# Estimate circuit duration for the timeline drawer\n", "pulse_circuit.duration = pulse_circuit.estimate_duration(backend_target, unit=\"dt\")\n", "\n", "custom_style = {\"formatter.general.fig_width\": 30, \"formatter.general.fig_unit_height\": 1}\n", "style = qiskit.visualization.timeline.IQXStandard(**custom_style)\n", "\n", "qiskit.visualization.timeline_drawer(\n", " pulse_circuit, idle_wires=False, style=style, target=backend_target\n", ")" ] }, { "cell_type": "markdown", "id": "ebd51e12", "metadata": {}, "source": [ "## Multiple Circuits Compilation\n", "\n", "All the functionalities we have seen so far can also be used on a multiple-circuit input as well. To illustrate this, let us create a different example two-qubit circuit: a Bell-state circuit." ] }, { "cell_type": "code", "execution_count": 7, "id": "afe9537a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
0: ───H───@───M───\n",
       "          │   │\n",
       "1: ───────X───M───
" ], "text/plain": [ "0: ───H───@───M───\n", " │ │\n", "1: ───────X───M───" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create second circuit\n", "bell_circuit = cirq.Circuit(\n", " cirq.H(qubits[0]), cirq.CNOT(qubits[0], qubits[1]), cirq.measure(qubits[0], qubits[1])\n", ")\n", "\n", "# Visualize second circuit\n", "bell_circuit" ] }, { "cell_type": "markdown", "id": "b63696a1", "metadata": {}, "source": [ "By passing multiple circuits as a list to the `ibmq_compile` endpoint, we can compile all of them individually with a single call to the endpoint. This will return all the corresponding compiled circuits and pulse gate circuits back as a list, like so: " ] }, { "cell_type": "code", "execution_count": 8, "id": "31699457", "metadata": {}, "outputs": [], "source": [ "# Create list of circuits\n", "circuit_list = [circuit, bell_circuit]\n", "\n", "# Compile list of circuits\n", "compiler_output_list = service.ibmq_compile(circuit_list, \"ibmq_kingston_qpu\")\n", "\n", "# The list of compiled output circuits is stored in the `circuits` attribute instead of `circuit`. Likewise for\n", "# pulse gate circuits.\n", "output_circuits = compiler_output_list.circuits\n", "pulse_gate_circuits = compiler_output_list.pulse_gate_circuits" ] }, { "cell_type": "code", "execution_count": 9, "id": "2de5dbe1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Compiled circuit 1 \n", "\n" ] }, { "data": { "text/html": [ "
133: ───Rz(0.75π)─────────────────────────X^0.5───Rz(1.25π)───@───Rz(0.75π)───────────X^0.5───Rz(1.23π)───X^0.5───Rz(0.25π)───@───Rz(1.75π)───X^0.5────────────────────────────Rz(1.25π)───│───M────────────────\n",
       "                                                              │                                                               │                                                            │   │\n",
       "134: ───WaitGate(32000.000000000007 ps)───────────────────────@───WaitGate(64.0 ns)───────────────────────────────────────────@───Rz(π)───────WaitGate(32000.00000000003 ps)───────────────│───M('q(0),q(1)')───
" ], "text/plain": [ "133: ───Rz(0.75π)─────────────────────────X^0.5───Rz(1.25π)───@───Rz(0.75π)───────────X^0.5───Rz(1.23π)───X^0.5───Rz(0.25π)───@───Rz(1.75π)───X^0.5────────────────────────────Rz(1.25π)───│───M────────────────\n", " │ │ │ │\n", "134: ───WaitGate(32000.000000000007 ps)───────────────────────@───WaitGate(64.0 ns)───────────────────────────────────────────@───Rz(π)───────WaitGate(32000.00000000003 ps)───────────────│───M('q(0),q(1)')───" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the first compiled circuit\n", "print(\"Compiled circuit 1 \\n\")\n", "output_circuits[0]" ] }, { "cell_type": "code", "execution_count": 10, "id": "fc6cf4cc", "metadata": {}, "outputs": [], "source": [ "# Estimate circuit durations for the timeline drawer\n", "for pg_circ in pulse_gate_circuits:\n", " pg_circ.duration = pg_circ.estimate_duration(backend_target, unit=\"dt\")" ] }, { "cell_type": "code", "execution_count": 11, "id": "81996430", "metadata": {}, "outputs": [ { "data": { "image/png": "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SjrxkdG//e1vdc011ygxMVEhISHas2ePZs6cqczMTD3++ONq27Zt5XZHjx6tMWPG6IUXXlB+fr4GDhyoVatW6e2339YNN9ygwYMHN/yTBQAA55XXXntNjz/+uNq0aaPhw4drzpw5VR5v2bKlRowYoaKiIrVv315jx45V586dFRERoZ07d2r69OkqKirSBx98ILvdXrleUVGR+vXrp6uuukrt27dXfn6+PvjgA61fv17/+Mc/NGzYsIZ+qgAA4Dx01113KScnRxdddJHatm0rh8Oh9evX68MPP1RISIief/55SVJkZKTuv/9+Pf/88+rZs6emTJmiyMhI/fjjj5o9e7YSEhJ0++23V25327Ztmjx5ssaMGaO4uDgdOnRI7733ntLT0/Xuu++qU6dOvnrKAADgPPLkk09q9erVGjZsmNq0aaOioiItWrRIS5YsUf/+/XXvvfdWjt23b59mzpwp6cS9jCR9/vnnlbOV3njjjZV/w+JeBwAA+IOIiAg999xz+u1vf6sBAwbo1ltvldPp1BtvvCGn06lXXnlFkjRw4MAa13/11Ve1b98+XXvttVWWe+Nex+DxeDy1f4poSBUVFXrppZf01ltvae/evWrWrJnGjx+vv//97woODvZ1PAAAgCqGDh2qZcuW1fjYb37zGy1dulSSlJ6erqeeekorV65UVlaWSkpKFBUVpb59++rOO+/U6NGjq63vcDj05JNPatasWcrJyVFsbKxuueUWPfLII7JYLN58WgAAAJo8ebLee++9Uz5+8l6nrKxMd999t9asWaPMzEwVFRWpWbNmuuCCC/Twww9X+VQZSXI6nbr55pu1evVq5eTkKDAwUH379tUf/vAHjRw50ttPCwAAQJL00Ucf6f3339emTZt05MgRGQwGtW3bViNGjNBDDz2kNm3aVI71eDyaPn26pk+frm3btqmsrEyxsbEaPXq0pk6dqubNm1eOPXTokO68806tW7dOhw8fVlhYmIYMGaJHHnmk2n0RAACAt8yfP1+vv/66tm7dqmPHjslkMqlDhw4aN26c/vCHP8hms1WOXbp06WknEliyZImGDh0qiXsdAADgXz799FM9++yz2rJli4xGowYOHKjHH39cF1xwwWnXGzp0qH766acqs7VL3rnXobgOAAAAAAAAAAAAAAAAAAAAAPAqo68DAAAAAAAAAAAAAAAAAAAAAACaNorrAAAAAAAAAAAAAAAAAAAAAACvorgOAAAAAAAAAAAAAAAAAAAAAPAqiusAAAAAAAAAAAAAAAAAAAAAAK+iuA4AAAAAAAAAAAAAAAAAAAAA8CqK6wAAAAAAAAAAAAAAAAAAAAAAr6K4DgAAAAAAAAAAAAAAAAAAAADwKorrAAAAAAAAAAAAAAAAAAAAAACvorgOAAAAAAAAAAAAAAAAAAAAAPAqiusAAAAAAAAAADSgvXv3ymAwaOrUqU16n3Xxpz/9Se3bt5fT6Tzj2KVLl8pgMGjGjBlnte358+fLarVq9+7d55gSAAAAAAAAAFAXFNcBAAAAAAAAoInKyMjQHXfcoU6dOikwMFARERHq3Lmzbr75Zi1ZssSr+546darmzZvn1X2gqr1792rq1KnauHGjr6PUyZ49e/Tyyy/rb3/7m6xWa522sXHjRk2dOlV79+6t9tiVV16prl276k9/+tM5JgWA/9/evQZVQadxHP8dQDweYUUEFBU9eAMxVDJvybXRliyRQVHb4SIXKXNWra3VzFa8UZi1DsuGNh1QV9100KQxdJUuZo6ul9Ixb2FFtC2hZiopiQL7wuGsx4NgBmH1/cwwjv/r83/AN/jwAAAAAAAAgDvh1NIBAAAAAAAAAACa3oEDBxQWFqZWrVopISFB/fr1U2VlpYqLi7V9+3a5uroqIiKi2e6fP3++EhMTFR0d3Wx3wFZJSYnmz58vs9msgQMH2sx1795dlZWVcnK6e/9b4MUXX9Tvfvc7xcXF3fEZhw4d0vz58xUeHi6z2Ww3P2PGDCUmJuro0aPq16/fT4gWAAAAAAAAAPBj3b3foQYAAAAAAAAA3LH58+fr8uXLOnTokAYMGGA3/80337RAVGgpBoNBRqOxpcO4pYsXL2rt2rVKSUlRq1atmu2emJgYTZ06VcuXL9ff/va3ZrsHAAAAAAAAAGDPoaUDAAAAAAAAAAA0veLiYnXo0KHeonVJ6tSpkySpqqpKnp6eGjFiRL3rXnrpJRkMBn3wwQeSpB9++EHp6eny8/OTyWSSm5ubAgMD9cwzz0i63vXbYDBIklatWiWDwWD9uFFRUZEefPBBubm5yWg0qn///lq+fLnd/WazWeHh4Tp8+LBGjhwpFxcXeXl56U9/+pOuXbumH374QU8//bS6dOkio9Go0NBQHT9+/Lbz9M0332j69Onq0aOHWrduLS8vL40aNUo7duyQJI0dO1Ymk0kXL16027t//34ZDAYtWLDAZnzjxo0KDw+Xm5ubTCaT/Pz8NH36dFVVVTUaz/r16xUcHCxXV1eZTCYNHTpU+fn5je5buXKltYN+UlKSNefh4eGS/v95SU9Pt+65cWzDhg0aOHCg2rRpo169eikvL0+SVFpaqvHjx8vd3V2urq6Ki4tTRUWF3f1lZWWaOnWqunXrJmdnZ3Xu3FlpaWk6ffp0o7FLUmFhoS5duqTRo0fXO19QUKCgoCAZjUb5+Pjo+eef19WrV23WpKenKykpSZIUERFhzcHkyZOta1xcXBQSEnJbOQUAAAAAAAAANC06rgMAAAAAAADAr1DPnj118uRJbdq0STExMbdc5+zsrMTERL388ss6efKk/Pz8bOZzc3PVp08fhYaGSpKmTZum3NxcJSQk6KmnntK1a9dUXFysd999V5Lk6empf/zjH4qPj1dISIjS0tLs7nzttdf0+OOPa9iwYXruuefUtm1b7dixQ1OnTtVnn32ml156yWb9f/7zH40aNUoTJ07U+PHjtX37dr3yyitycnLS0aNHVVlZqdmzZ+vs2bNaunSpoqOjdfz4cTk4NNy7paSkRCNGjFB5ebkSEhJ033336dKlS9q7d6+Kioo0atQoTZkyRW+99Zb++c9/6rHHHrPZb7FY5ODgoOTkZOvYc889p4yMDAUEBOjJJ5+Ut7e3PvvsM23cuFELFiyQs7PzLeOZO3euFi9erMjISC1cuFAODg568803FRsbq+zsbE2bNu2We0NDQzVnzhxlZGQoLS1NISEhkqSOHTs2mANJ2rJli5YvX64nnnhC7u7uslgsSk5OlrOzs+bMmaMHHnhAGRkZ2r9/v3Jzc2U0GvX6669b95eWlmr48OGqqqpSSkqKevbsqVOnTiknJ0fvvfeeDhw4oHbt2jUYw86dOyVJgwcPtpt78803NW7cOJnNZv3lL3+Rk5OT8vLy9Pbbb9usi4mJUVlZmV577TXNmTNHffv2lXT938KNhg8frn/96186ceKE/P39G80PAAAAAAAAAKBpGGpra2tbOggAAAAAAAAAQNPas2ePwsLCdPXqVfXu3VvBwcEaPHiwwsPDrQW9dT799FP5+fnpmWee0ZIlS6zju3fvVnBwsDIzM/XnP/9ZkuTu7q5hw4apsLCwwfsNBoMSExO1cuVKm/GysjL5+voqJiZG69ats5mbMWOGsrOzVVxcrB49eki63nH9yy+/1IYNGxQbG2tdO2jQIH388ccaM2aMNm/ebO3onpWVpRkzZmjbtm36/e9/32CMo0eP1tatW+tdW1NTIwcHB1VXV8vX11edOnXSvn37rPOXL1+Wt7e3RowYYc3Fvn37NHToUEVERKiwsFBGo9G6vu5b8QaDQSUlJfL19dW8efOsHdA/+ugjDRo0SM8++6wyMjJsYomOjta7776rr7/+Wq6urrd8z/vvv6+IiAjl5eXZdBmXVO+ddWMmk0nHjh1T9+7dJUlnzpyRj4+PqqqqtHTpUj311FPWc2JiYrRlyxadO3dOLi4ukq53pd+zZ48++ugjde3a1br2wIEDGjZsmObOnWvT6b0+YWFhOnLkiM6dO2czXpf/y5cv68SJE/Lw8JAkXbhwQf3791dpaanNe1euXKmkpCS999571m7zN1uzZo3i4+OVn5+vcePGNRgXAAAAAAAAAKDpNNxuBgAAAAAAAADwizR8+HAdPHhQiYmJunDhgvLy8vTEE08oICBAoaGh+vzzz61r+/Tpo7CwMK1evVrXrl2zjlssFjk5OSkxMdE61q5dOx09elSffPLJHcWVn5+vK1euKCUlRWfPnrX5GDNmjGpqalRUVGSzp0uXLjZF65IUHBys2tpa/fGPf7QWrUuydhovLi5uMI5z585p27ZtioyMrLfAva5bu6Ojo5KTk7V//34dOXLE5h0XL15USkqKdWzt2rWSpBdeeMGmaF26XrB+Y5w3W7t2rbXY/+a8REVFqaKiQnv27GnwTXcqOjraWrQuXe+a7+fnJwcHB7su7yEhIbp69apKSkokXS8g37Jli6KiomQ0Gm3iNpvN6tWrl7Zv395oDGfOnJG7u7vd+MGDB/XVV18pKSnJWrQuXf86fPzxx+/ovR06dJAknT59+o72AwAAAAAAAADuDIXrAAAAAAAAAPArFRgYqJUrV6q8vFwlJSVatWqVQkJCtGvXLo0dO1ZVVVXWtWlpaSovL9eWLVskSRUVFdqwYYMeeeQRdezY0bpu2bJl+u677xQYGKiePXsqNTVVBQUFqqmpua2Yjh8/LkkaOXKkPD09bT5GjRolSSovL7fZ4+vra3dO+/bt652rG//2228bjOPUqVOqra1VUFBQozGnpKTI0dFRFovFOmaxWOTl5aWoqCjrWHFxsQwGgwYMGNDomTc7fvy4amtr5e/vb5eXuuL4m/PSVOq629+offv28vb2VuvWre3Gpf/n9+TJk6qpqZHFYrGL29PTUydPnrytuA0Gg+r7BbF1P2Dh7+9vNxcQEND44+pxY/d7AAAAAAAAAMDPx6mlAwAAAAAAAAAANL/u3bsrISFB8fHxCgkJ0e7du7Vv3z4FBwdLksaNG6fp06fLYrEoOjpa69ev16VLl5SammpzztixY1VSUqLCwkLt3LlTRUVFslgsCgkJUVFRkZydnRuMo65oePXq1fL29q53zc2F1I6Ojrc871Zz9RVB3ykfHx9FRkZqzZo1WrJkib788kt98MEHevrpp9WqVSubtY11Vr+V2tpaGQwGbd269ZZv6tev3x3F35hb3ddQ3uvyW/dnXFycTWf+G7Vp06bRGDw9PXX48OFG1zWFc+fOWe8EAAAAAAAAAPx8KFwHAAAAAAAAgN8Qg8GgoUOHavfu3fr666+t461bt1ZCQoKysrL03//+VxaLRV26dFFkZKTdGe7u7oqLi1NcXJxqa2s1e/ZsLVmyRAUFBYqNjW3w/t69e0uSPDw8NHLkyKZ93I/Qq1cvGQwGHTp06LbWp6Wl6e2339bmzZv18ccfS5K1E3qdPn36aOvWrTp8+LCGDBnyo+Lp3bu3tm3bpm7duqlv374/am+dluggXpfHqqqqn/T5vOeee7Rz506dPXtWHh4e1vG6H2I4ceKE3Z5jx47Zjd1ODk6dOmW9EwAAAAAAAADw83Fo6QAAAAAAAAAAAE1vx44dunbtmt14ZWWltm/fLkkKCAiwmZsyZYqqq6s1a9Ys7d27V5MnT7bpul1dXa3z58/b7DEYDAoKCpL0/07WkuTi4mLz9zoTJkxQ69atNW/ePFVWVtrNX7hwQVeuXLn9h94hd3d3PfTQQ9q6dauKiors5m/u2P7www+rc+fOWrFihVatWqURI0bI39/fZs0f/vAHSdKcOXNUVVXV6Jk3io+Pt+6trq62my8vL2/0TS4uLpJUb96bS4cOHTR69Ght2rRJe/futZuvra3VmTNnGj0nPDxckuzOGDRokLp27aq8vDydPXvWOn7x4kUtX77c7pzbycHevXvVsWNH+fn5NRoXAAAAAAAAAKDp0HEdAAAAAAAAAH6FnnzySX377beKiopSYGCgTCaTvvrqK61bt06ffvqpEhISFBgYaLOnb9++Cg4O1po1a2QwGJScnGwzX1FRIW9vb0VFRSkoKEheXl764osvlJOTo/bt22vMmDHWtcOGDVNRUZEyMzPVrVs3GQwGTZo0SV27dlVOTo5SU1PVt29fxcfHq3v37jpz5oyOHDmizZs369ixYzKbzc2eo+zsbN1///166KGHlJiYqEGDBqmyslL//ve/ZTablZmZaV3r6Oio5ORkLVq0SJKUkZFhd96QIUM0a9YsZWZm6t5779XEiRPVqVMnffHFF8rPz9e+ffvk5uZWbyyDBw9Wenq60tPTNXDgQMXGxqpz584qKyvTwYMHVVhYWG8x/I0CAgLk6uqqV199VSaTSW5ubvLy8tIDDzxw50m6DTk5OQoODlZoaKgSEhIUFBSkmpoaff755yooKFBCQoLS09MbPCMyMlKurq4qLCzUI488Yh13dHTUX//6V02YMEFDhgzRlClT5OTkpNzcXHXo0EGlpaU25wwePFgODg5avHixvvvuO7Vt21a+vr4aOnSoJOn777/Xrl277L62AQAAAAAAAADNj8J1AAAAAAAAAPgVeuWVV1RQUKAPP/xQGzdu1Pnz59WuXTv1799fs2bN0uTJk+vdl5aWpg8//FARERHq0aOHzZzJZNLMmTP1zjvvqKioSN9//721kP3ZZ59V586drWtfffVVTZs2TYsXL1ZFRYUkadKkSZKkpKQk9enTR0uXLtWKFSt0/vx5eXh4yM/PTwsXLlSnTp2aJyk38fX11YEDB7Rw4UIVFhZq9erVat++vQYMGKC0tDS79ampqcrIyFDbtm0VGxtb75kvvviiBgwYoOzsbC1ZskQ1NTXy8fHR6NGjZTKZGoxn3rx5uu+++5SVlaVly5bp0qVL8vLy0j333KOsrKxG39OmTRu98cYbmjt3rmbOnKkrV64oLCys2QvXfXx8dPDgQWVmZqqgoEBr1qyR0WiUj4+PxowZowkTJjR6houLi+Li4rR+/XotW7ZMzs7O1rnx48crPz9fCxYsUHp6ury8vDR58mSFhobqwQcftDmnW7duys3NVWZmpqZOnaqrV68qMTHRWri+ceNGXb58WY899ljTJgEAAAAAAAAA0ChDbUO/mxQAAAAAAAAA8JuyYcMGTZw4UevWrdOjjz7a0uHcVcrKyuTj46OUlBStWLGipcP51SkpKZG/v7+ys7OVmpraLHfce++9MpvN2rRpU7OcDwAAAAAAAAC4NYeWDgAAAAAAAAAAcPf4+9//Lg8PD8XExLR0KHednJwcVVdX19uNHT+d2WzWzJkztWjRIlVVVTX5+Zs3b9Ynn3yizMzMJj8bAAAAAAAAANA4Oq4DAAAAAAAAwG/c6dOn9c4772jXrl3KycnRCy+8oNmzZ7d0WHeNN954Q6WlpZo3b57CwsK0bdu2lg4JAAAAAAAAAIBfHArXAQAAAAAAAOA37v3331dERITc3Nw0adIkZWVlqVWrVi0d1l3DYDDIaDQqJCREeXl56tKlS0uHBAAAAAAAAADALw6F6wAAAAAAAAAAAAAAAAAAAACAZuXQ0gEAAAAAAAAAAAAAAAAAAAAAAH7dKFwHAAAAAAAAAAAAAAAAAAAAADQrCtcBAAAAAAAAAAAAAAAAAAAAAM2KwnUAAAAAAAAAAAAAAAAAAAAAQLOicB0AAAAAAAAAAAAAAAAAAAAA0KwoXAcAAAAAAAAAAAAAAAAAAAAANCsK1wEAAAAAAAAAAAAAAAAAAAAAzYrCdQAAAAAAAAAAAAAAAAAAAABAs6JwHQAAAAAAAAAAAAAAAAAAAADQrP4HLo+xAKCsXCcAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the pulse gate circuit for the first compiled circuit\n", "qiskit.visualization.timeline_drawer(\n", " pulse_gate_circuits[0], idle_wires=False, style=style, target=backend_target\n", ")" ] }, { "cell_type": "code", "execution_count": 12, "id": "39c2b1d9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Compiled circuit 2 \n", "\n" ] }, { "data": { "text/html": [ "
133: ───Rz(0.5π)───X^0.5───Rz(π)───@───X^0.5───────────────│───M────────────────\n",
       "                                   │                       │   │\n",
       "134: ───Rz(0.5π)───X^0.5───────────@───WaitGate(32.0 ns)───│───M('q(0),q(1)')───
" ], "text/plain": [ "133: ───Rz(0.5π)───X^0.5───Rz(π)───@───X^0.5───────────────│───M────────────────\n", " │ │ │\n", "134: ───Rz(0.5π)───X^0.5───────────@───WaitGate(32.0 ns)───│───M('q(0),q(1)')───" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the second compiled circuit\n", "print(\"Compiled circuit 2 \\n\")\n", "output_circuits[1]" ] }, { "cell_type": "code", "execution_count": 13, "id": "7fb554e4", "metadata": {}, "outputs": [ { "data": { "image/png": "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YBUVFZ1xXE5Oju6++26NGjVKP/vZz9S1a1dlZWXpjTfe0Keffqovv/xSY8eOrRu/f/9+VVRUaMaMGeratascDoe2bNmiP/3pT1q4cKE2b94sHx+fVniEAADgQvX222/r9ddf16RJkzRjxgxZLBatXr1av/vd7/Txxx9r48aNjb4eOXbsmB5//HH5+/urrKys0bkPHTqkMWPGqKysTD/72c+UkJCg4uJi7dq1S0ePHnX3QwMAANCRI0eUm5urKVOmKCoqSmazWWlpafrHP/6hDz/8UKmpqercuXPd+Dlz5mj27NmaMGGC5syZI19fX3333XfatWtXvXkzMjJ08cUXq6amRvfff7969uypb7/9Vk8//bQ2bdqkL774QgaDobUfLgAAgP7whz+ooKCg0XPPPfecHn/8cQ0aNEhPP/20JGn+/Pm6+uqr9d5772nGjBl1Y1t6zwgAAMCVmvpe04IFC/T++++rf//+SkxMVGpq6jnnvvvuuzV69Oh6x6KiolqU0+B0Op0tuhKtYs+ePRowYICmTJmiRYsW1R1/9dVX9Ytf/EILFizQ9OnTPZgQAACgvqysLPXq1UuS1L9/f5WVlSknJ6fBuJMnT+rw4cNKTk6ud3zv3r0aNGiQBgwYoK1bt55zvb/85S967LHH9NFHH+nGG290xUMAAABo1NatWxUfH6+goKB6x3/3u9/pT3/6k1599dVGd+eaMmWKDh06pH79+mn+/PkqKChQWFhYvTGjR49WTk6ONm/erMjISLc+DgAAgOb45JNPdOONN+q5557TY489JklauXKlxo8fr6eeekq///3vz3r95MmTtWzZMq1fv14jRoyoO/7MM8/oiSee0Hvvvaebb77ZrY8BAADgx7Zv366UlBQ9//zzevjhh3X//ffrtddekyTl5+crOjpaCQkJ2r59uywWiyTJbrdr8ODBOnr0qHJychQYGCip5feMAAAAXKmp7zUdPXpUYWFhslqteuGFF/Too49q9erVGjNmTIOxa9as0dixY/XOO+9o5syZLsnJVt1t3AcffCCn06lf/vKX9Y7fdddd8vX11fz58z0TDAAA4Ay+L62fS6dOnRqU1iWpb9++6t+/v3bv3t2keWJiYiRJhYWFTc4IAADQEkOGDGnwBqQk3XTTTZLU6OuXxYsXa9myZXrzzTdlMpkanXfdunVav369HnvsMUVG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XbooOjpap06dUkVFRb1xZ3vtYrVaNWTIEI0cOVLBwcHaunWrCgoKdOWVV7r/AQAAgAteZWWlCgoKtHz58nr3a8aMGSPp9G7s8fHxmjt3br3runTpotGjR2vQoEEyGo36/PPPJanR1zDnumcEAADgLq39XtOBAwcknX6t1FwU19u4m266SQaDQS+//HK94//85z9VUVGhGTNmeCYYAACAC+zYsUPjx4+Xv7+/Vq9erZ49e55xbF5eXqPH3333XRUXF2v48OHuigkAAFDnqaee0pw5c3TLLbfo7bffltHY8Pba7bffrk8++aTB1/dvhL799tuaP39+3fjJkycrICBA8+fPV1lZWd3x3NxcLVmyRAkJCYqLi3P7YwMAABe2M917Wb16tXbv3l3v3sstt9wip9Op//f//l+9sW+88YakxotcP1RVVaVf/vKXslqteuSRR84zOQAAwLn5+fk1er/m+0+VueKKK/TJJ59o0qRJZ5xj69atmjt3ri699FKNGjWq3rmm3DMCAABwF3e913Ty5MkGx2w2m2bPni1J+ulPf9rsOQ1Op9PZ7KvQqh588EG99tprmjJliq688kqlp6frlVde0ciRI7Vq1Spe7AIAgDblvffeq/tYxVdffVXV1dV6+OGHJUkxMTG65ZZbJJ3eifSiiy7SqVOn9OSTTyo2NrbBXFOmTJGfn58kafDgwerUqZMuvvhiRUdHq7i4WOvXr9fSpUvVrVs3bdiwQd27d2+lRwkAAC5Er7/+uh544AFFR0fr6aefbnBPpkuXLho/fvwZr585c6beffddFRQUKCwsrN65f/zjH/r5z3+ufv366Y477lB1dbXeeOMN5ebm6t///rcuv/xytzwmAACA702ZMkW5ubm67LLLFBMTo6qqKm3btk0ffvihfH19tWbNGiUnJ0uSSkpKNGzYMO3fv1933323kpKStH79ei1YsECXXXaZvvrqK5lMJknSnj17NHPmTF199dWKiopSfn6+3n33XR08eFDvvPNO3b0iAAAAT8jJyVHPnj11//3367XXXqs7/vvf/14HDhxQSkqKgoKCtH37dr3zzjuKjIzUmjVr6r0ndb73jAAAAFyhqe817dq1S8uWLZMkffPNN/ryyy91xx131G02+eCDDyooKEiSNHToUHXt2lUXXXSRunbtqmPHjmn+/Pk6cOCAHnzwQb3yyivN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", "text/plain": [ "
" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the pulse gate circuit for the second compiled circuit\n", "qiskit.visualization.timeline_drawer(\n", " pulse_gate_circuits[1], idle_wires=False, style=style, target=backend_target\n", ")" ] }, { "cell_type": "markdown", "id": "501f2692", "metadata": {}, "source": [ "## Using the Superstaq Simulator\n", "\n", "Lastly, we will show (a) how to submit a circuit to a backend and (b) how to simulate circuit execution. Simulation is available to free trial users, and can be done by passing the `\"dry-run\"` method parameter when calling `create_job()` on the Superstaq service." ] }, { "cell_type": "code", "execution_count": 14, "id": "39643374", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'00': 501, '11': 499}\n" ] } ], "source": [ "# Create job that submits to IBM Quantum backend\n", "job = service.create_job(\n", " bell_circuit,\n", " repetitions=1000,\n", " target=\"ibmq_kingston_qpu\",\n", " method=\"dry-run\", # Specify \"dry-run\" as the method to run Superstaq simulation\n", ")\n", "\n", "# Get the counts from the measurement\n", "print(job.counts(0))" ] } ], "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.9.16" } }, "nbformat": 4, "nbformat_minor": 5 }