{ "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\n", " import cirq_superstaq as css\n", " import qiskit\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\n", " import cirq_superstaq as css\n", " import qiskit\n", "\n", "import numpy as np" ] }, { "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 127-qubit IBM Quantum `brisbane` processor." ] }, { "cell_type": "code", "execution_count": 3, "id": "06be41c6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
0: ───@────────────────@───│───M───\n",
       "      │                │   │   │\n",
       "1: ───X───Rz(0.413π)───X───│───M───
" ], "text/plain": [ "0: ───@────────────────@───│───M───\n", " │ │ │ │\n", "1: ───X───Rz(0.413π)───X───│───M───" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create a two-qubit cirq circuit\n", "qubits = cirq.LineQubit.range(2)\n", "theta = np.random.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 `brisbane` processor and visualize the differences by drawing the compiled circuit. " ] }, { "cell_type": "code", "execution_count": 4, "id": "e921bf6e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
4: ───Rz(0.5π)───X───────────────AceCR+-(Z side)───Rz(0.5π)────X───────AceCR+-(Z side)───────│───M('q(0),q(1)')───\n",
       "                                 │                                     │                     │   │\n",
       "5: ───Rz(π)──────X^0.5───Rz(π)───AceCR+-(X side)───Rz(1.59π)───X^0.5───AceCR+-(X side)───X───│───M────────────────
" ], "text/plain": [ "4: ───Rz(0.5π)───X───────────────AceCR+-(Z side)───Rz(0.5π)────X───────AceCR+-(Z side)───────│───M('q(0),q(1)')───\n", " │ │ │ │\n", "5: ───Rz(π)──────X^0.5───Rz(π)───AceCR+-(X side)───Rz(1.59π)───X^0.5───AceCR+-(X side)───X───│───M────────────────" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Compile with qscout compile\n", "compiler_output = service.ibmq_compile(circuit, target=\"ibmq_brisbane_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 `brisbane`'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)) by running the following:" ] }, { "cell_type": "code", "execution_count": 5, "id": "bd85d98b", "metadata": {}, "outputs": [ { "data": { "image/png": "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AAAAAAAAKKeYuQoAAAAAAAAAAAAAAAAAfCBcBQAAAAAAAAAAAAAAAAA+EK4CAAAAAAAAAAAAAAAAAB8IVwEAAAAAAAAAAAAAAACAD4SrisHlcum1115T48aNZbfbVaNGDf3nP/9RVlZWoEsDAKBEnn/+eV199dWqW7euTCaTateuXWTfefPmacSIEWrXrp3sdrtMJpMWLlzo13H+/PNPWa1WmUwmTZ8+3Wt7fn6+Ro8erSZNmig0NFTx8fG68sortWHDhhKeGQAAJbNp0yY9+eST6tChgxITExUVFaULLrhAzz33nMe1n2EYmjp1qgYNGqT69esrPDxcNWvWVL9+/bR8+XKf+z5w4IBGjBihGjVqyGazqWbNmrrvvvuUmprqs/8vv/yifv36qXr16goLC1O9evU0bNgwbdu27WycOgAARdq4caNuuOEGNWnSRBUqVFB4eLgaN26sBx54QPv27Tvla8eNGyeTySSTyaTDhw+fsm92drb7+vTuu+/22n58P0X9PPfcc2d0ngAAnKlTfZYlJycX+Rk2ZswYr30V9xpSkmbPnq3u3bsrNjZW4eHhatiwoc/PVAAAzqaiPu8iIyP96ufPNd7prh+L+7l7OiHFfsV5bOTIkXrzzTd1xRVX6D//+Y/Wr1+vN998U6tWrdL8+fNlNpNVAwAEl8cee0xxcXFq06bNKS/KJWnatGn6+OOP1bx5czVp0kSrV6/26xgul0vDhg2T3W5XZmam13bDMNS/f399++23GjBggO655x4dOnRI77zzjjp27KilS5eqadOmJTg7AACKb9KkSXr77bfVr18/3XDDDbJarVqwYIH++9//6vPPP9eyZcsUFhYmh8OhG2+8URdccIEGDRqkOnXqaN++fRo/frw6duyoDz/8UIMHD3bv9+DBg2rfvr327t2r22+/Xc2bN9fatWs1btw4LV68WEuXLlV4eLi7/3fffac+ffqoXr16uvvuu5WQkKC//vpL7733nr788kutWbNG1apVC8RbBAA4D+3evVv79u3TFVdcoerVqyskJERr1qzRe++9p08//VSrV69WxYoVvV63d+9ePfLII4qMjPR5PXiyJ598UocOHSpy+0cffeSzPTk5WVu3btXll1/u/0kBAHAWnO6zTJJee+01JSQkeLRdeOGFHr8X9xpSkkaNGqXk5GT17NlTo0aNUnh4uHbu3Kk///yzdE4OAIBi6NSpk4YPH+7RZrVaPX4/k2s8fz5zJf8+d/1iwC9r1641TCaTMXDgQI/2N99805BkTJs2LUCVAQBQclu3bnX/uVmzZkatWrWK7Lt7924jNzfXMAzDePnllw1JxoIFC057jNdff92IiIgwRo0aZUgyvvjiC4/tX3/9tSHJGD58uFdtYWFhxr///W//TwgAgDO0YsUKIzU11av98ccfNyQZb731lmEYhpGfn28sXLjQq9/+/fuN+Ph4o2LFiobT6XS333fffYYk4+OPP/bo//HHHxuSjGeeecaj/dJLLzWsVqtx6NAhj/b333/fkGS89tprJT1FAABKzeeff25IMl588UWf2wcMGGC0bt3aGDx4sCHJ63PtRCtXrjQsFovxyiuvGJKMu+66y68adu3aZZjNZqNt27YlOgcAAErL6T7LnnrqKUOSsX379tPuq7jXkPPmzTMkGU8//fQZnwcAAGdKkjF06NASvdafazx/rh+L87nrD6Za8tMnn3wiwzB0//33e7QPGzZM4eHhmjp1amAKAwDgDNStW9fvvtWqVVNoaGix9r9r1y7997//VXJysmrWrOmzz4IFCyRJN998s1dtnTp10g8//KCdO3cW67gAAJRU27ZtVaFCBa/2a6+9VpK0du1aSVJISIi6dOni1a9SpUrq0qWLDh48qIMHD7rbFyxYoLCwMA0aNMhrv3a7XZMnT/ZoT09Pl91uV2xsrEd71apVJUkRERElODsAAEpXrVq1JEnHjh3z2vb1119r1qxZGj9+vCwWyyn343Q6NWzYMPXq1UsDBw4sVg2TJ0+Wy+XSbbfdVqzXAQBQmor7WZaenq6CgoIitxf3GnL06NGqWLGiHn30UUlSZmamXC5XCc4EAIDSk5eX59csxic63TVeSa4fT/e56w/CVX5asWKFzGazkpKSPNrtdrsuuOACrVixIkCVAQBQft1xxx2qW7euVzj5RA6HQ5K8prE+sW358uVnpT4AAPy1e/duSYXhKX/62mw2xcTEuNscDofsdrtMJpNHX7PZrLCwMG3btk2HDx92t/fs2VMZGRkaOnSo/vjjD+3Zs0fff/+9/vOf/6hJkyZeX7ADAFAWcnNzdfjwYe3evVtz587V7bffLkm67LLLPPqlp6fr7rvv1u233+71faovr732mjZs2KCxY8cWqx7DMDR58mRFRETouuuuK9ZrAQAoTcX5LGvZsqUqVKggu92uf/3rX/r222+9+hTnGjIrK0uLFy9W+/btNXHiRFWrVk1RUVGKjIzUoEGDdODAgdI5SQAAimH69OkKDw9XVFSUKlasqHvuuUdpaWmnfI0/13jFvX7053PXH4Sr/LR3714lJCT4nLGjWrVqOnz4sPLy8gJQGQAA5dNnn32mOXPmaPz48QoJCSmyX7NmzSRJP/74o0d7dna2O1S1a9eus1coAACn4XQ69cwzzygkJETXX3/9KfvOmTNHv/76q/tp4uOaNWumY8eOafXq1R79V69e7Z7t48SZGh999FHdcccdmj59ui644AJVr15dvXr1Ut26dbVs2TJFRUWV3gkCAOCnCRMmKDExUTVq1FDPnj2VmpqqqVOnqlOnTh79Hn74YblcLj3//POn3ef27dv11FNP6cknn1Tt2rWLVc+PP/6o7du36+qrr1Z0dHSxXgsAQGnx97MsJiZGw4cP11tvvaWZM2fq+eef144dO9SnTx9NmTLFo29xriG3bNkip9OpZcuW6b777tOwYcP01VdfacSIEfriiy/UrVs3ZWdnl+YpAwBwSklJSUpOTtb06dP1wQcf6JJLLtHYsWPVqVOnU85kdbprvOJcPxbnc9cfRd/phIfs7Owil0I6/oV5dna2bDZbWZYFAEC5dOzYMfeFfMeOHU/Zd/DgwXr22Wf15JNPKiIiQt27d9fhw4f11FNPuZ++4uIfABBI999/v3755ReNHj1ajRo1KrLf5s2bdeONN6patWp65ZVXvPYxY8YMXXPNNXr99dfVvHlz/fXXX7r//vtltVqVn5/v8XlnsVhUrVo1de/eXVdccYXi4uK0dOlSvfXWWxo0aJBmzpwpq9V61s4ZAABfBgwYoMaNGyszM1OrVq3SrFmzPGZelKSlS5fq3Xff1bRp03wutXuyESNGqG7dunrggQeKXc+ECRMkSbfeemuxXwsAQGnx97PM1+z+t9xyi5o3b66RI0fqqquuUmRkpLuvv9eQGRkZkqRDhw7p/fffdy+jdMUVVyg6OlqjRo3SBx98oDvuuKMUzxoAgKKdvCLNkCFD1LJlSz3++ON644039Pjjj/t83emu8Ypz/Vicz11/MHOVn8LDw93LFp0sNzfX3QcAAEgPPfSQDMPQCy+8cNq+sbGxmj9/vurVq6fhw4erbt26SkpKUnZ2th5++GFJ4glkAEDAPPHEExo7dqyGDx+uRx99tMh+27dv17///W+ZTCZ9++23SkxM9NjeqVMnffrpp8rIyFCfPn1Uq1YtXX755erWrZv69u0ryfPz7qabbtLEiRP1xRdf6NZbb9UVV1yhMWPG6I033tC3336rDz744OycMAAAp1C9enV1795dAwYMcN+o/b//+z/3DFV5eXkaPny4unfv7tcyfVOnTtW8efM0bty4YoeGjx49qq+//lqNGzfWxRdfXKLzAQDgTJ3JZ5kkxcfHa8SIEUpNTdXPP//sbi/ONWRYWJikwiUDb7zxRo/9Dx06VJK0cOHCkpweAACl5qGHHpLNZtPs2bN9bj/dNd6ZfuZKRX/u+oNwlZ+qVq2qw4cP+wxY7dmzRwkJCcxaBQCApN9//12TJk3S3XffrSNHjmjLli3asmWLDh48KEnav3+/tmzZ4vGZ2qJFC61atUqbN2/WokWLtHnzZi1cuNDdp3HjxgE5FwDA+S05OVnPPvusbr75Zo0fP77IfikpKerWrZsyMzM1b948tWjRwme/q6++Wrt379aqVau0ePFi7d27V+PHj9fu3bsVEhKi+vXrSypc2mHatGnq06eP+0vyE/chSYsWLSqlswQAoORatmyp1q1b65133pEkvf3229qwYYMeeOAB97Xgli1b3DNqbN++Xdu2bZMkORwOPfDAA7rssstUuXJld98dO3ZIktLS0rRlyxalpqb6PPa0adPkcDiYtQoAEDBn+ll23PFljU6eDdLfa8jq1atLKnyI9eRVeKpUqSJJ7qUEAQAIFKvV6s7d+HKqa7zS+syViv7cPR2WBfRTu3btNHfuXP3666/q1KmTuz03N1erV69W586dA1gdAADlx86dO2UYhp588kk9+eSTXtvvueceSdKKFSvUtm1bj23169d3fykgSd9++62io6N10UUXnd2iAQA4SXJyskaNGqWhQ4dqwoQJMplMPvulpKSoa9euSktL0/z589W6detT7tdiseiCCy5w/75//36tWrVKXbp0cc+GvGfPHkmS0+n0en1BQYHHPwEACLScnBwdPXpUkrRjxw65XC717t3bZ9+kpCRFREQoMzNTOTk5OnTokGbPnu3zyeWpU6dq6tSpevnll/Xggw96bZ84caKsVquGDBlSuicEAICfzvSz7LjNmzdLkipVquS1zZ9ryEqVKqlmzZratWuXsrOzPVba2b17tySpYsWKJTpHAABKS25urnbv3q0OHTr43H6qa7zS+syVTv25eyqEq/x07bXXavTo0Xr99dc9wlXvv/++srOzdcMNNwSwOgAAyo+kpCR98cUXXu0LFy7U22+/rf/85z/q0KGD6tWrd8r9vPXWW1q7dq2eeuopRUREnK1yAQDw8vTTT2vUqFG68cYbNWnSJJnNvid93rFjh7p166bU1FTNmzdPF154YbGO43K5dO+998rpdOrxxx93tzdq1EgWi0UzZszQ6NGjFRMT4942ZcoUSYUPAAEAUFb279+vypUre7UvWLBAa9euVdeuXSVJN998s8/lG95++20tXLhQkyZNUmxsrCQpIiLC57XjoUOHdOedd6pXr1669dZb1bJlS68+v/32m/744w8NHDiQm8UAgIApzmdZQUGBsrKyVKFCBY++u3bt0rhx4xQfH69//etfpzxeUdeQknTjjTfqueee07vvvquRI0e628eNGydJuuyyy0p6mgAAFMuRI0cUHx/v1f7EE0+ooKBAl19+ude2013jFff6sTQ+d09GuMpPLVq00F133aWxY8dq4MCBuuyyy7R+/Xq9+eab6tKli66//vpAlwgAQLF99NFH7ikzDx06pLy8PD377LOSpFq1aunGG2909/3zzz81a9YsSdLSpUvdr1+yZImkwhmpKlSooKpVq+qqq67yOlZmZqYkqUOHDl7bL7vsMtWtW1dNmzaVyWTS3LlzNWPGDPXp08friwIAAM6mt99+W0899ZRq1qyp7t276+OPP/bYXqlSJfXo0UMZGRnq1q2bUlJSdM8992jjxo3auHGjR98ePXq4n4DKzMxUUlKSrrjiCtWpU0dpaWn65JNPtHLlSj333HPq1q2b+3VxcXG6//779corr6h169YaNmyY4uLitHTpUk2bNk316tXTbbfddvbfDAAA/nbHHXdo3759uuSSS1SrVi3l5uZq5cqV+vTTTxUVFaVXXnlFktSqVSu1atXK6/XffPONJOnyyy9XQkKCpMIlIXxdO6akpEiS6tWr53O7VPhEsyQ+DwEAAVWcz7LU1FTVqVNHAwYMUJMmTRQbG6uNGzdqwoQJyszM1CeffOKxLHxxriEl6f/+7//05Zdf6sEHH9SmTZvUqlUrLVmyRNOmTdMll1yia6+99uy9EQAA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PadevXrpmWeekdls1tdff62rr75aY8eO1V133VXkazt37qzHHntMo0eP1vDhw9WpUydJUqVKlU75HkjSN998o/Hjx+vOO+9UXFycJk6cqFtuuUU2m02PPfaYLrnkEo0ePVorVqzQpEmTZLfbNWHCBPfrd+7cqY4dOyovL0+33nqr6tWrpy1btmjcuHFasGCBfvvtN1WoUOGUNSxatEiS1K5dO69tX3/9ta688krVrl1bTz75pEJCQjR58mTNnj3bo9/AgQO1b98+vffee3rsscfUpEkTSYX/LZyoY8eO+v7777VhwwY1btz4tO8PAAAAAADAOckAAAAAAAA4j/3888+G1Wo1JBkNGjQwbr75ZuOdd94x1q1b59V348aNhiTjoYce8mhfsmSJIcl48cUX3W2xsbFG7969T3t8ScbQoUO92vfu3WuEhoYa1113nde2e++91zCbzcbWrVvdbbVq1TIkGZ9//rlH3zZt2hgmk8no16+f4XK53O1vvPGGIcn47rvvTltj7969i+zrdDoNwzCMgoICo0aNGka7du08tmdlZRnR0dEe78Xy5csNSUa3bt2MnJwcj/4ul8td5/bt2w1JxlNPPeXevnLlSkOS8eijj3rV0r9/fyMqKspIT08/5fksWLDAkGRMnjzZa5uvYx5vCw8PN1JSUtztBw8eNEJDQw2TyWS88sorHvu54oorDKvVamRkZLjb+vXrZyQmJhq7du3y6LtixQrDYrF4HLMonTt3NmJjY73aj7//8fHxxqFDh9ztqampRs2aNb3Od/LkyYYkY8GCBUUe66OPPjIkGdOnTz9tXQAAAAAAAOcqlgUEAAAAAADntY4dO2rlypUaOnSo0tLSNHnyZN15551q2rSpOnfurG3btrn7NmzYUF26dNGHH36ogoICd/vEiRMVEhKioUOHutsqVKigv/76S2vXri1RXdOnT5fD4dCtt96qw4cPe/xcfvnlcrlcmj9/vsdrqlWrpquvvtqj7eKLL5ZhGLrnnns8lhw8PmPT5s2bT1nH0aNH9d1336lXr17q2bOn1/bjs15ZLBbdcsstWrFihdasWeNxHunp6br11lvdbdOmTZMkPf/887Lb7R7787U04ommTZsmk8mkoUOHer0v/fr1U0ZGhn755ZdTnlNJDRgwQLVq1XL/npiYqEaNGslsNnvNltWpUyfl5+crJSVFkpSWlqZvvvlG/fr1k91u96i7du3aql+/vubOnXvaGg4dOqS4uDiv9pUrV2rXrl26+eablZCQ4G6vUKGCRowYUaLzjY+PlyS/lywEAAAAAAA4FxGuAgAAAAAA570WLVpoypQpOnDggFJSUvTBBx+oU6dO+umnn9S/f3/l5eW5+w4fPlwHDhzQN998I0nKyMjQ559/rr59+3osLff666/r2LFjatGiherVq6fbbrtNM2fOlMvl8qum9evXS5K6d++uxMREj58ePXpIkg4cOODxmjp16njtJzY21ue24+1Hjhw5ZR1btmyRYRhq3br1aWu+9dZbZbFYNHHiRHfbxIkTVbFiRfXr18/dtnnzZplMJrVq1eq0+zzZ+vXrZRiGGjdu7PW+HA9wnfy+lJa6det6tcXGxqpKlSoKDQ31apf+eX83btwol8uliRMnetWdmJiojRs3+lW3yWSSYRhe7cdDgL6W72vatOnpT86H48c5VdgNAAAAAADgXBcS6AIAAAAAAADKk1q1amnIkCG68cYb1alTJy1dulS//vqrLr74YknSlVdeqXvvvVcTJ07UgAED9NlnnykrK0u33Xabx3769++vlJQUzZkzR4sWLdL8+fM1ceJEderUSfPnz5fNZjtlHceDLR9++KGqVKnis8/JYR+LxVLk/ora5iuoU1I1atRQr169NHXqVL300kvasWOHFi9erAcffFBWq9Wj7+lmqCqKYRgymUz69ttvizynZs2alaj+0ynqeKd634+/v8f/OXjwYI8Zzk4UFhZ22hoSExP1xx9/nLZfaTh69Kj7mAAAAAAAAOcrwlUAAAAAAAA+mEwmtW/fXkuXLtWePXvc7aGhoRoyZIjefPNN7d27VxMnTlS1atXUq1cvr33ExcVp8ODBGjx4sAzD0COPPKKXXnpJM2fO9Fq+72QNGjSQJCUkJKh79+6le3LFUL9+fZlMJq1evdqv/sOHD9fs2bM1Y8YMrVq1SpI8lgSUCpdX/Pbbb/XHH38oKSmpWPU0aNBA3333nWrWrKkmTZoU67XHBWImpuPvY15e3hn9fTZv3lyLFi3S4cOHPZb/Ox6027Bhg9dr1q1b59Xmz3uwZcsW9zEBAAAAAADOVywLCAAAAAAAzmvz5s1TQUGBV3tOTo7mzp0ryXtZtWHDhsnpdOrhhx/WsmXLdNNNN3nMXuR0OpWamurxGpPJ5F5a7/iMQJIUGRnp8ftx11xzjUJDQ/XUU08pJyfHa3taWpocDof/J1pCcXFx6t27t7799lvNnz/fa/vJM1/16dNHVatW1bvvvqsPPvhAF110kddSdddff70k6bHHHvNYcrGofZ7oxhtvdL/W6XR6bfdnab3IyEhJ8vm+ny3x8fG67LLL9NVXX2nZsmVe2w3D0KFDh067n65du0qS1z4uvPBCVa9eXZMnT9bhw4fd7enp6Ro/frzXfvx5D5YtW6ZKlSqpUaNGp60LAAAAAADgXMXMVQAAAAAA4Lw2cuRIHTlyRP369VOLFi0UHh6uXbt26eOPP9amTZs0ZMgQtWjRwuM1TZo00cUXX6ypU6fKZDLplltu8diekZGhKlWqqF+/fmrdurUqVqyo7du3a9y4cYqNjdXll1/u7tuhQwfNnz9fL774omrWrCmTyaRBgwapevXqGjdunG677TY1adJEN954o2rVqqVDhw5pzZo1mjFjhtatW6fatWuf9fdo7Nix+te//qXevXtr6NChuvDCC5WTk6Ply5erdu3aevHFF919LRaLbrnlFj377LOSpNGjR3vtLykpSQ8//LBefPFFtWnTRtdee60qV66s7du3a/r06fr1118VExPjs5Z27dopOTlZycnJuuCCC3T11VeratWq2rdvn1auXKk5c+b4DGydqGnTpoqKitI777yj8PBwxcTEqGLFirrkkktK/ib5Ydy4cbr44ovVuXNnDRkyRK1bt5bL5dK2bds0c+ZMDRkyRMnJyafcR69evRQVFaU5c+aob9++7naLxaLXXntN11xzjZKSkjRs2DCFhIRo0qRJio+P186dOz32065dO5nNZj333HM6duyYIiIiVKdOHbVv316SlJmZqZ9++snr320AAAAAAIDzDeEqAAAAAABwXnv11Vc1c+ZMLVmyRF9++aVSU1NVoUIFtWzZUg8//LBuuukmn68bPny4lixZom7durmXZDsuPDxc999/v3744QfNnz9fmZmZ7rDVo48+qqpVq7r7vvPOO7rrrrv03HPPKSMjQ5I0aNAgSdLNN9+shg0basyYMXr33XeVmpqqhIQENWrUSM8884wqV658dt6Uk9SpU0e//fabnnnmGc2ZM0cffvihYmNj1apVKw0fPtyr/2233abRo0crIiKiyOUPX3jhBbVq1Upjx47VSy+9JJfLpRo1auiyyy5TeHj4Ket56qmn1LZtW7355pt6/fXXlZWVpYoVK6p58+Z68803T3s+YWFh+vTTT/Xf//5X999/vxwOh7p06XLWw1U1atTQypUr9eKLL2rmzJmaOnWq7Ha7atSoocsvv1zXXHPNafcRGRmpwYMH67PPPtPrr78um83m3nbVVVdp+vTpevrpp5WcnKyKFSvqpptuUufOnXXppZd67KdmzZqaNGmSXnzxRd1xxx3Kz8/X0KFD3eGqL7/8UtnZ2br99ttL900AAAAAAAAIMibjVPOsAwAAAAAAwKfPP/9c1157rT7++GNdd911gS6nXNm3b59q1KihW2+9Ve+++26gyznnpKSkqHHjxho7dqxuu+22s3KMNm3aqHbt2vrqq6/Oyv4BAAAAAACChTnQBQAAAAAAAASjt99+WwkJCRo4cGCgSyl3xo0bJ6fT6XNWK5y52rVr6/7779ezzz572iUQS2LGjBlau3atx3KPAAAAAAAA5ytmrgIAAAAAAPDTwYMH9cMPP+inn37SuHHj9Pzzz+uRRx4JdFnlxqeffqqdO3fqqaeeUpcuXfTdd98FuiQAAAAAAADgjBCuAgAAAAAA8NPChQvVrVs3xcTEaNCgQXrzzTdltVoDXVa5YTKZZLfb1alTJ02ePFnVqlULdEkAAAAAAADAGSFcBQAAAAAAAAAAAAAAAAA+mANdAAAAAAAAAAAAAAAAAACUR4SrAAAAAAAAAAAAAAAAAMAHwlUAAAAAAAAAAAAAAAAA4APhKgAAAAAAAAAAAAAAAADwgXAVAAAAAAAAAAAAAAAAAPhAuAoAAAAAAAAAAAAAAAAAfCBcBQAAAAAAAAAAAAAAAAA+EK4CAAAAAAAAAAAAAAAAAB8IVwEAAAAAAAAAAAAAAACAD/8PkYpmUfIe/70AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "execution_count": 5, "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", "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(pulse_circuit, idle_wires=False, style=style)" ] }, { "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": 6, "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": 6, "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": 7, "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_brisbane_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": 8, "id": "2de5dbe1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Compiled circuit 1 \n", "\n" ] }, { "data": { "text/html": [ "
4: ───Rz(1.5π)───X^0.5───Rz(π)──────AceCR+-(Z side)───Rz(0.5π)───X^0.5───Rz(1.59π)───X^0.5───AceCR+-(Z side)───Rz(1.5π)───X^0.5───Rz(0.5π)───│───M────────────────\n",
       "                                    │                                                        │                                               │   │\n",
       "5: ───Rz(π)──────X^0.5───Rz(0.5π)───AceCR+-(X side)──────────────X^0.5───────────────────────AceCR+-(X side)───Rz(0.5π)───X^0.5───Rz(0.5π)───│───M('q(0),q(1)')───
" ], "text/plain": [ "4: ───Rz(1.5π)───X^0.5───Rz(π)──────AceCR+-(Z side)───Rz(0.5π)───X^0.5───Rz(1.59π)───X^0.5───AceCR+-(Z side)───Rz(1.5π)───X^0.5───Rz(0.5π)───│───M────────────────\n", " │ │ │ │\n", "5: ───Rz(π)──────X^0.5───Rz(0.5π)───AceCR+-(X side)──────────────X^0.5───────────────────────AceCR+-(X side)───Rz(0.5π)───X^0.5───Rz(0.5π)───│───M('q(0),q(1)')───" ] }, "execution_count": 8, "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": 9, "id": "81996430", "metadata": {}, "outputs": [ { "data": { "image/png": "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AIA/Ph8BAPBXFz4fLYZhGAE7OwAAAAAAAAAAAAAAAADUUaxcBQAAAAAAAAAAAAAAAAAmKK4CAAAAAAAAAAAAAAAAABMUVwEAAAAAAAAAAAAAAACACYqrAAAAAAAAAAAAAAAAAMAExVWV4PF49NJLL6ljx44KDQ1Vs2bN9Pe//125ubmBjgYAQJU899xzuuaaa9S6dWtZLBa1bNmyzL4LFy7U2LFj1bdvX4WGhspisej777837Tt48GBZLJYyf4YOHertW1RUpLFjx+qss85SQkKCQkJC1KpVK1177bVat25dDb9iAABObsuWLXryySfVv39/JSYmKioqSj179tQzzzzj991v0qRJGjx4sBo1aqSQkBA1atRI559/vr744otyz5OXl+f9/P3rX//q9/jJPkctFoueeeaZGnvNAACUZ/PmzbrhhhvUqVMnxcTEKDw8XB07dtTf/vY37d+/36dvcnJymZ9fEydO9Olbmc/d0llGjBihuLg4RUREaODAgfruu+9O2WsHAKAyyvuuJ0nz5s3TkCFDFBcXp/DwcLVv39607/bt23XDDTeoQYMGCgkJUdu2bfXUU0/J5XKVm+Phhx+WxWJRZGRktV8TAACVVdZ3QrPPpZUrV+ryyy9X06ZNFRYWpjZt2uiOO+7Qjh07TI+9Z88e3XnnnWrevLlCQkLUsGFDXXzxxdq4caO3z/fff1/u/Ory5csr9ZrslXsLzmzjxo3Tq6++qiuvvFJ///vftWnTJr366qtat26dFi1aJKuVWjUAQHB57LHHFB8fr969eysjI+OkfWfMmKGPPvpIXbt2VadOnbR+/foy+z7++OO6/fbb/dr/85//6Msvv9Rll13mbSssLNSPP/6oc845RzfddJOioqL022+/6b333lO/fv30zTff6IILLqjqSwQAoFKmTp2qN954Q5dffrluuOEGORwOLV68WP/3f/+nTz/9VKtWrVJYWJgkac2aNWrZsqUuueQSJSQkKD09XTNnztTIkSM1YcIEPfHEE2We58knn9Thw4fLfHz69Omm7cnJydq+fbvPZykAAKfanj17tH//fl155ZVq2rSp7Ha7UlNT9c477+iTTz7R+vXrVb9+fZ/nvPTSS0pISPBpO+uss3x+r8znrlRykfnss8+W3W7XP/7xD8XExOjdd9/VhRdeqK+//lpDhgw5dW8CAAAVUN53vfHjxys5OVkXXnihxo8fr/DwcP3222/6+eefffr9+uuvGjBggIqLi3XPPfeoVatWWrlypZ5++mmtXr1aX3/9tSwWi+k51q9frxdffFGRkZEyDKNGXx8AABU1cOBA3XnnnT5tDofD5/dvvvlGl156qdq0aaO//vWvSkhI0C+//KJ33nlHn332mVJTU9WkSRNv/3Xr1mnIkCGKiorSrbfequbNmys9PV0//vijz+dvp06dTOdXCwoKdOeddyohIUFJSUmVe0EGKmTDhg2GxWIxRo4c6dP+6quvGpKMGTNmBCgZAABVt337du+/u3TpYrRo0aLMvnv27DFcLpdhGIbx73//25BkLF68uFLn69ChgxESEmIcPXq03L779u0z7Ha7cfHFF1fqHAAAVEdKSoqRkZHh1/74448bkozXXnvtpM8vKioyunfvbkRGRhrFxcWmfdauXWvYbDZj0qRJhiTjnnvuqVC23bt3G1ar1ejTp0+F+gMAcKp9+umnhiTjhRde8LY99dRThiRj586d5T6/sp+711xzjWG1Wo1169Z527Kzs43mzZsb7du3NzweT5VfCwAA1VXed72FCxcakowJEyaUe6wrrrjCsFgsxvLly33an332WUOSMX36dNPnFRcXG3369DEuu+wy47zzzjMiIiKq/oIAAKgiScbo0aPL7Tds2DDD4XAYhw8f9ml/9913DUnGSy+95G3Lz8832rZta/Ts2dPIzMysUq6PPvrIkGQ8+OCDlX4uSy1V0McffyzDMPTAAw/4tN9xxx0KDw/Xhx9+GJhgAABUQ+vWrSvct0mTJgoJCanyuZYuXarNmzfryiuvVHx8fLn969evr9DQUB07dqzK5wQAoLL69OmjmJgYv/Zrr71WkrRhw4aTPt9ut6tJkybKzc1VUVGR3+Nut1t33HGHLrroIo0cObJS2d577z15PB7T1SEBAAiEFi1aSFKZ39uysrJUXFxc5vMr87mbm5uruXPnavDgwerZs6e3PTIyUrfffru2bNmilJSUqrwMAACqrSLf9Z599lnVr19fjz76qCQpJydHHo/HtO/ixYvVvn17nX322T7tY8aMkVTy/dDMq6++qo0bN+q1116r4isBAKDmFBYWKicnp8zHs7KyFBoaqri4OJ/2xo0bS5IiIiK8bZ9++qm2bdumCRMmKDo6WgUFBSooKKhUnsmTJ0tSleZXKa6qoJSUFFmtVr+lwUJDQ9WzZ0++uAMAUI4pU6ZIKnvA4na7deTIER04cEApKSkaNWqUcnJydMkll9RmTAAATO3Zs0eS1KBBA7/H0tPTdfjwYW3atEkTJkzQN998o/PPP1+hoaF+fV966SX9+uuvev311yt1fsMw9N577ykiIkLXX3991V4EAADV5HK5dOTIEe3Zs0cLFizQX/7yF0ky/d7WvXt3xcTEKDQ0VGeffba+/vrrCp/H7HP3559/VkFBgQYMGODXv3///pLEHC0AIGDK+66Xm5urJUuWqF+/fpoyZYqaNGmiqKgoRUZG6rrrrtPBgwd9+hcUFCg8PNzvOMfb1qxZ47fl365du/TEE0/oqaee8hZAAwAQKLNmzVJ4eLiioqJUv3593XvvvcrMzPTpc+GFFyo7O1ujR4/WTz/9pL1792r+/Pn6+9//rk6dOum6667z9v3qq68kSbGxsRo0aJDCwsIUGhqqXr16af78+eXm2blzpxYvXqxzzz1XHTp0qPTrsVf6GWeoffv2KSEhwXTFjiZNmmjFihUqLCyU0+kMQDoAAOq2rKwszZw5U61atdIFF1xg2mfTpk3q1q2b9/eYmBg9+uij3ju5AAAIFLfbraefflp2u12jRo3ye7x9+/Y6evSopJKVq6666iq9+eabfv127typp556Sk8++aRatmyptLS0Cmf47rvvtHPnTo0ZM0bR0dFVfi0AAFTH5MmTde+993p/b9mypT788EMNHDjQ2xYbG6s777xTZ599tuLi4rR582a9/PLLuvTSSzV16lTvihtlKetzd9++fZJK5mJPdLxt79691Xl5AABUSUW+623btk1ut1urVq3SggUL9Mgjj6hHjx5aunSpXnnlFf3888/68ccfvcVTXbp00caNG3XgwAE1bNjQe5zFixdLKln16tixYz47BNx1111q3bq1/va3v53aFwwAQDmSkpJ0zTXXqG3btsrKytJXX32l119/XT/88INWrFihyMhISdKjjz6qQ4cOaerUqZoxY4b3+Zdccok+/vhjRUVFeds2b94sSbrqqqvUr18/ffLJJ0pPT9czzzyjSy65RPPnz9eQIUPKzDR16lQZhlHlXQEorqqgvLy8MrdCOn43cl5eHsVVAACY+Pjjj5WXl6dbb71VFovFtE+rVq20cOFCFRYWatu2bfrwww+VmZmpgoIC2e0MWQAAgfPAAw9o5cqVevbZZ03vavr888/lcrm0d+9ezZw5U/n5+crOzlZiYqJPv7Fjx1Z5ovv4ktW33XZb1V4EAAA1YMSIEerYsaNycnK0bt06zZ07V0eOHPHp88ADD/g979Zbb1XXrl01btw4XX311d6JdDNlfe7m5eVJkukcben5WQAAaltFvutlZ2dLkg4fPqx3333Xe2H3yiuvVHR0tMaPH6/3339fd911lyTp73//u2644QZdccUV+te//qWWLVtq9erVuv/+++VwOFRUVKS8vDxvcdXHH3+sb775RsuWLWMuFQAQcKtXr/b5/eabb1b37t31+OOP65VXXtHjjz8uSbLZbGrSpImGDBmiK6+8UvHx8Vq+fLlee+01XXfddZozZ44cDoekPz5LO3bsqLlz53qvN/7pT39S586d9fjjj5dZXOV2uzVt2jRFR0frmmuuqdJrYlvACgoPDy9zv0aXy+XtAwAA/E2ZMkU2m0233HJLmX0iIiI0ZMgQXXLJJbrvvvv03XffaeHChbrqqqtqMSkAAL6eeOIJvf7667rzzjvLXE1x0KBBGjZsmG655RZ99dVXioqK0jnnnKNjx455+3z44YdauHCh3nrrLe+EQEWlp6friy++UMeOHXXuuedW6/UAAFAdTZs21ZAhQzRixAjvReB//OMfeu655076vHr16mns2LHKyMjQihUryux3ss/d43OvZnO0zM8CAAKlot/1wsLCJElWq1U33XSTz2OjR4+WJH3//ffetlGjRunVV1/V5s2bNXjwYLVs2VI33XSTxo4dq549e0qSd1Xj9PR0PfDAA7rtttt09tln1+CrAwCg5jz00ENyOp2aN2+et23MmDGaMmWKZs6cqdtuu01XXnmlJk6cqFdeeUVff/213n//fW/f45+lN998s89CDu3atdPZZ5+tlJQU5ebmmp57/vz52rNnj66//voqf2+kuKqCGjdurCNHjph+ed+7d68SEhJYtQoAABOpqalKSUnRRRddZLp9Q1kiIyM1cuRIzZ8/X9u3bz+FCQEAMJecnKx//vOfuuWWW/T2229X+HmjR4/WgQMH9Pnnn0squQj8t7/9TZdccokaNmyobdu2adu2bdq1a5ckKTMzU9u2bVNGRobp8WbMmKGCggJWrQIA1Dndu3dXr169TLfDPVHLli0lyW+lq+PK+9xt3LixJPOt/463VeY7JwAA1VWZ73pNmzaVJMXFxfmtwtioUSNJ8rlBR5LuvfdeHTx4UCkpKVq2bJkOHjyop556SmlpaWrUqJG3uGr8+PHKzc3VHXfc4c2wbds25efnyzAMbdu2Tbt37z7VbwcAACflcDi8dTeS9Ntvv2nGjBm69NJLvYVTxx1fXeqHH37wth3/LC29Xe5xjRo1kmEYyszMND33lClTJKnKWwJKFFdVWN++feXxeLRmzRqfdpfLpfXr16tPnz4BSgYAQN12fBujqgxY8vPzJZXcfQUAQG1KTk7W+PHjNXr0aE2ePLnMbW3NnPj5lZ+fr8OHD2vevHlq166d92fw4MGSSu50bteunfcz80RTpkyRw+HQzTffXL0XBQDAKZCfn1+h72xbt26VJDVo0MDvsYp87nbr1k0hISFauXKl32OrVq2SJOZoAQC1qjLf9Ro0aKDmzZsrPT3dbxvbPXv2SJLq16/vd46QkBD16dNH55xzjmJjY/Xjjz/q8OHDuuSSS7x9du3apdzcXPXr188nx5o1a5SXl6d27drp4osvPnVvBAAAFeByubRnzx7vd8LjN8m43W6/vsXFxT7/V5KSkpIk/fG5WdqePXtkt9u92+WWdujQIf33v/9Vjx49qvWdkU13K+jaa6/Vs88+q5dfflkDBw70tr/77rvKy8vTDTfcEMB0AADUTQUFBfrwww/VoEEDDR8+3LTP4cOHVa9ePVmtvjXfBw4c0MyZMxUZGakuXbrURlwAACRJEyZM0Pjx43XTTTdp6tSpfp9RkpSbmyvDMBQZGenT7na79cYbb0iS+vfvL6lk69uZM2f6HePw4cO6++67ddFFF+m2225T9+7d/fr8+OOP+umnnzRy5EjTiXYAAGrDgQMHTO8OXrx4sTZs2OC9iFxcXKzc3FzFxMT49Nu9e7feeust1atXz2+7oop87kolqxtfdtll+vzzz/XTTz+pR48ekqScnBxNnjxZ7dq18062AwBQGyr7Xe+mm27SM888o//3//6fxo0b5+3/1ltvSZJPwZQZl8ulBx54QCEhIXrwwQe97Q8//LBuvPFGv/5PPfWUduzYoenTp/t9NgMAcKocPXpU9erV82t/4oknVFxcrMsuu0yS1KFDB9lsNs2ePVvPPvusYmNjvX2nTZsmqWQRpONGjRqlZ555RpMnT9btt98uu72k3Omnn37SypUr9ac//UmhoaF+5/3ggw9UVFRU7V0BKK6qoG7duumee+7R66+/rpEjR+qSSy7Rpk2b9Oqrr+q8887TqFGjAh0RAIBKmz59uneZ6sOHD6uwsFD//Oc/JUktWrTQTTfd5O37888/a+7cuZKk5cuXe5+/bNkySSXLVJ/4JX327NlKT0/XP/7xD+8g50QzZszQyy+/rCuvvFKtWrWS0+nUli1b9P777+vYsWOaPHlylfc/BgCgst544w099dRTat68uYYMGaKPPvrI5/EGDRpo6NCh2rp1q8477zxdffXV6tChg+Lj47V37159/PHH2rx5s0aPHu29McfhcOjqq6/2O1daWpokqU2bNqaPSzWzZDUAANV11113af/+/brgggvUokULuVwurV27Vp988omioqI0adIkSSWFTq1atdKIESPUqVMnxcXFafPmzZo8ebJycnL08ccf+2z3UNHP3eOee+45ffvttxo2bJjGjRun6Ohovfvuu9q7d6/mzZtXqZUmAQCorsp+1/vHP/6hzz77TA8++KC2bNmiHj16aNmyZZoxY4YuuOACXXvttd6+v/zyi8aMGaPhw4eradOmOnjwoN5//31t375d7733njp27OjtO2DAANN8r7/+unbt2lXm900AAE6Ff/7zn1q1apXOP/98NW/eXDk5Ofrqq6+0ePFi9evXT/fee68kKT4+Xg888IAmTZqkXr166Y477lB8fLyWL1+uGTNmqE2bNj5zoh06dNA//vEPPffcczrvvPN03XXXKT09Xa+++qrCw8M1ceJE0zxTpkxRaGioaSFyZVgMwzCqdYQziNvt1ssvv6x33nlHaWlpSkhI0LXXXqsJEyb43a0MAEAwGDx4sM9+xaWdd955+v77772/T5s2TbfcckuZx9q5c6datmzp0zZs2DAtXLhQmzdvVvv27U2ft3btWr300ktavXq19u/fr8LCQjVo0EBnn3227r//fr+7mgEAOJXGjBmj999/v8zHj38+HjlyRMnJyVq6dKl2796t7OxsxcTEqFevXhozZoxGjRpV7gXetLQ0tWrVynsjz4ny8/PVqFEjRUdHKy0trcyVPAAAONU+/fRTffDBB/rpp590+PBhWSwWtWjRQkOHDtVDDz2k5s2bSypZvfiee+7R6tWrtWfPHuXk5CghIUHnnHOO/vGPf/itLFXRz93SNm3apEceeUQ//PCDCgsL1bt3byUnJ2vIkCE1/roBAKiKk33XO3LkiJ544gnNmTNHR44cUdOmTXX99dfriSee8Flt4+DBgxo7dqxSUlJ06NAhxcTEaODAgXrkkUcqvFLj4MGD9eOPPyonJ6dGXx8AACczZ84cvfnmm9qwYYOOHj0qm82mdu3a6c9//rP+9re/+XzeGYahyZMna/Lkyfrll19UUFCgJk2a6NJLL1VycrISExP9jv/OO+/ojTfe0ObNmxUWFqbzzz9fTz/9tOkuOCtWrNA555yjUaNGacaMGdV6XRRXAQAAAAAAAAAAAAAAAIAJbnsFAAAAAAAAAAAAAAAAABMUVwEAAAAAAAAAAAAAAACACYqrAAAAAAAAAAAAAAAAAMAExVUAAAAAAAAAAAAAAAAAYILiKgAAAAAAAAAAAAAAAAAwQXEVAAAAAAAAAAAAAAAAAJiguAoAAAAAAAAAAAAAAAAATFBcBQAAAAAAAAAAAAAAAAAmKK4CAAAAAABAnZSWliaLxaLk5OTT+pxV8fDDD6tVq1YqLCwst+/3338vi8WiadOmVejYc+bMkdPp1NatW6uZEgAAAAAAIPhRXAUAAAAAAM54O3bs0J133qmOHTsqPDxccXFx6tSpk0aPHq3Fixef0nMnJydr9uzZp/Qc8JWWlqbk5GStX78+0FGqZOfOnXrllVf05JNPyul0VukY69evV3JystLS0vweu+KKK9StWzc9/PDD1UwKAAAAAAAQ/OyBDgAAAAAAABBIP/74o8477zw5HA7dfPPN6tKli/Lz87V161YtWLBAUVFROv/880/Z+cePH6/Ro0drxIgRp+wc8JWWlqbx48erZcuW6tmzp89jLVq0UH5+vuz2ujtt9vzzzys6Olo33nhjlY+xfv16jR8/XoMHD1bLli39Hr///vs1evRo/fLLL+rSpUs10gIAAAAAAAS3ujtLBAAAAAAAUAvGjx+vvLw8rV+/Xj169PB7/MCBAwFIhUCxWCwKDQ0NdIwyZWVlacaMGbrtttvkcDhO2XlGjhypu+66S2+//bZee+21U3YeAAAAAACAuo5tAQEAAAAAwBlt69atqlevnmlhlSQ1bNhQklRYWKjExESdc845pv3+/e9/y2KxaMmSJZIkl8ul5ORkdejQQeHh4YqNjVW3bt300EMPSSpZPclisUiS3n//fVksFu9PaYsWLdKwYcMUGxur0NBQde/eXW+//bbf+Vu2bKnBgwfrp59+0pAhQxQZGan69evr73//u4qLi+VyufTggw+qSZMmCg0N1aBBg7Rp06YKv08HDhzQfffdp9atWyskJET169fX0KFDtXDhQkklW8mFh4crKyvL77kpKSmyWCyaMGGCT/tnn32mwYMHKzY2VuHh4erQoYPuu+8+FRYWlpvnP//5j84991xFRUUpPDxc/fr106xZs8p93rRp07wrkd1yyy3e93zw4MGS/vi7JCcne59Tuu3TTz9Vz549FRYWprZt2+q9996TJP3222+6+uqrFR8fr6ioKN14443Kzs72O//+/ft11113qXnz5nI6nWrcuLHuvPNOHTp0qNzskvTVV18pNzdXl1xyienjc+bMUa9evRQaGqpmzZrpiSeeUFFRkU+f5ORk3XLLLZKk888/3/sejBkzxtsnMjJSAwcOrNB7CgAAAAAAcDpj5SoAAAAAAHBGa9OmjTZv3qzPP/9cI0eOLLOf0+nU6NGjNWnSJG3evFkdOnTweXzq1Klq3769Bg0aJEm65557NHXqVN18883629/+puLiYm3dulXfffedJCkxMVHTp0/XTTfdpIEDB+rOO+/0O+c777yjsWPHqn///nr88ccVERGhhQsX6q677tL27dv173//26f/nj17NHToUF177bW6+uqrtWDBAr344ouy2+365ZdflJ+fr0ceeURHjhzRxIkTNWLECG3atElW68nvv0tLS9M555yjgwcP6uabb1afPn2Um5urVatWadGiRRo6dKjuuOMOzZ07Vx9//LH+8pe/+Dx/ypQpslqtuvXWW71tjz/+uJ599ll17txZ48aNU6NGjbR9+3Z99tlnmjBhgpxOZ5l5/u///k/PPPOMLrroIj399NOyWq364osvdM011+j111/XPffcU+ZzBw0apMcee0zPPvus7rzzTg0cOFCS1KBBg5O+B5L05Zdf6u2339bdd9+t+Ph4TZkyRbfeequcTqcee+wxXXDBBXr22WeVkpKiqVOnKjQ0VJMnT/Y+/7ffftOAAQNUWFio2267TW3atNG2bdv01ltvafHixfrxxx8VExNz0gw//PCDJKlv375+j33xxRe66qqr1LJlSz355JOy2+167733NG/ePJ9+I0eO1P79+/XOO+/oscceU6dOnSSV/G+h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", "text/plain": [ "
" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the pulse gate circuit for the first compiled circuit\n", "qiskit.visualization.timeline_drawer(pulse_gate_circuits[0], idle_wires=False, style=style)" ] }, { "cell_type": "code", "execution_count": 10, "id": "39c2b1d9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Compiled circuit 2 \n", "\n" ] }, { "data": { "text/html": [ "
4: ───Rz(0.5π)───X^0.5───AceCR+-(Z side)───Rz(0.5π)───X^0.5───│───M────────────────\n",
       "                         │                                    │   │\n",
       "5: ──────────────────────AceCR+-(X side)───Rz(0.5π)───X^0.5───│───M('q(0),q(1)')───
" ], "text/plain": [ "4: ───Rz(0.5π)───X^0.5───AceCR+-(Z side)───Rz(0.5π)───X^0.5───│───M────────────────\n", " │ │ │\n", "5: ──────────────────────AceCR+-(X side)───Rz(0.5π)───X^0.5───│───M('q(0),q(1)')───" ] }, "execution_count": 10, "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": 11, "id": "7fb554e4", "metadata": {}, "outputs": [ { "data": { "image/png": "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/PJL3XTTTQoJCZGfn58aNWqksWPHKjExsdiOFwCAokpNTbVea7343M00Tc2aNUt9+/ZV3bp15e3trRo1aqhHjx7auHFjvts7e/asRo0apbp168pisSg0NFSdOnXSmjVr7Ppu3LhRnTt3lp+fnypUqKCuXbtq69athT4Gt0KvUY6NHDlSH374oe666y7985//1K5du/Thhx9qy5YtWrFihVxcyKoBAMq+3NxcdevWTb/++qsGDhyoJ554Qqmpqfrqq680ePBg7dq1S+PHj7dZZ+bMmXbbiYqKsnn/9ttva8WKFerVq5eGDRumnJwcLV68WCNGjNDChQv1ww8/yDCMa3psAAAUxIsvvqigoCC1aNFCCQkJ+fYLDQ11+B0oSY8//rjS0tLUpUsXm/b77rtPCxcu1JAhQ9S2bVutX79er7zyivbv368ZM2bku6+PP/5YO3bsKMrhAABw1aZNm6aPPvpIPXr00IMPPih3d3etXLlSL7/8subMmaMNGzbIy8vLZp333ntPISEhNm033nijw+23b99ew4cPt2lzd3d32HfMmDGKiYlRly5dNGbMGHl7e+uvv/7SH3/8cRVHCABA4R09elTHjx/XXXfdpWrVqsnNzU3bt2/Xp59+qq+//lpbt25VxYoV7dY7duyYnn/+efn6+io5OdnhtgtzT/Lll1/WuHHjdOutt2r06NFyd3fXqlWrNHr0aC1dulTr16/nuisAwKleffVVnT592q49IyND/fv3V7NmzdS3b1/VqlVLx48f1+TJk9W2bVt98cUX6tevn806hw8fVseOHZWcnKyHHnpIkZGROn/+vP744w/FxcXZ9N2wYYM6duyoqlWrauzYsZKkiRMnqn379vr111/VpEmTgh+EiQLZsWOHaRiG2bt3b5v2Dz/80JRkzp4920mVAQBQvH799VdTkvn000/btGdkZJi1atUy/f39rW0DBw40C/pzYu3atWZaWppd+4MPPmhKMv/73/9eVd0AABSXAwcOWP/cqFEjMzw8vFDr532X3nPPPTbtS5YsMSWZzzzzjE37M888Y0oy161b53B7R44cMf38/Mx33nnHlGTecccdhaoHAICrtWnTJjMhIcGu/aWXXjIlmf/5z3+sbaNHjzYlmYcOHSrQtiWZAwcOLFDf5cuXm5LMsWPHFqg/AADOMGfOHFOSOX78eIfLe/XqZTZv3tzs16+fKck8ffq0zfLC3JPMysoyvb29zRYtWpg5OTk2/fOuu27ZsqV4DgwAgCLYvHmz6erqar22OWLECOuyrKwsc9WqVXbrnDhxwgwODjYrVqxo9/3Wrl07s1q1auaxY8euuO9WrVqZfn5+5tGjR61tR48eNf38/Mzo6OhCHQdDLRXQV199JdM09fTTT9u0Dxs2TN7e3po1a5ZzCgMAoJjlDRVdpUoVm3YPDw+FhITIx8fHbh3TNJWYmKjc3Nx8t3vzzTfLYrHYtd93332SxGgcAIBSo3bt2le1/pQpUyRJQ4cOtWn/8ssvJcnuvDLvfX7nlSNGjFDt2rX11FNPXVVdAAAUVcuWLeXv72/XfqXzucTERGVnZxdoH5mZmfmO3pFn3Lhxqlixol544QVJF6a0v9x5KAAAzhAeHi5JOnfunN2y7777TosWLdLkyZPl6urqcP3C3JPMyspSWlqawsLC7GbYybu+6+h6LgAAJSEnJ0fDhg1T165d1bt3b7vlbm5uuuWWW+zaK1WqpFtuuUWnTp3SqVOnrO2rV6/W2rVr9a9//UuVK1dWVlaWUlNTHe57//792rRpk/r06aOqVata26tWrao+ffpoxYoVOnHiRIGPhXBVAW3atEkuLi52UxxZLBY1a9ZMmzZtclJlAAAUr6ioKAUEBOjtt9/W3Llz9ddff2n37t164YUXtHnzZsXExNit4+/vL39/f3l5eSk6Ovqy8yBf6ujRo5Iu/FACAKCsS05O1pw5cxQeHq7o6GibZZs2bVLVqlVVvXp1m/bq1aurSpUqDs8r582bp//+97+XvfAOAICzXO587oYbbpC/v78sFotuuukmff/99/luZ968efL29pafn58qVqyoJ554QufPn7fpk5KSotWrV6t169aaOnWqqlatKj8/P/n6+qpv3746efJk8R4cAAAFlJ6erjNnzujo0aNatmyZHn74YUnS7bffbtMvMTFRjz/+uB5++GG7+40XK8w9SS8vL3Xo0EE//PCDxo8fr/379ys2NlYzZszQxx9/rH79+ikiIqIYjxYAgIJ77733tHv3bk2cOLHQ6x49elQeHh4KCAiwti1dulSSVKNGDd15553y8vKSj4+PIiMj7R5czfu+bNu2rd2227RpI9M0tXnz5gLX41boIyinjh07ppCQEHl6etotq1q1qn799VdlZmbKw8PDCdUBAFB8AgMDtWjRIg0dOlT33nuvtd3Pz0/ffvutevXqZW0LCwvTyJEjdeONN8rHx0fbtm3T+++/r/bt22vp0qXq3LnzZfeVnJysf//73/L391fPnj2v1SEBAFBivvnmGyUnJ2vUqFF2Tw0fO3ZMDRs2dLhe1apVrTeo85w/f15PPvmkHn74YbVp0+aa1QwAQFHk5OTotddek5ubmx544AFre0BAgIYPH66bbrpJgYGB2rNnj95//33dcccdmjZtmgYNGmSznaioKPXp00d169ZVYmKili5dqokTJ+qXX37Rr7/+Kl9fX0kXnjrOycnRhg0btGzZMj3//PNq2rSp1qxZow8++EB//PGH/ve//8nb27skPwYAADRlyhQ98cQT1vc1a9bUrFmz1L59e5t+zz33nHJzc/Xmm29ednuFvSc5e/ZsDRo0SM8//7yef/55SZJhGHrppZc0duzYqz08AACK5NChQxo9erReffVV1axZU7GxsQVed+nSpfrtt9/Uv39/m1lx9uzZI+nCaI4RERH6/PPPlZmZqXfeeUf9+/dXVlaWBg8eLOnC96kkm1Gr8uS1xcXFFbgmwlUFlJqa6vBHjCTrX2ZqairhKgDAdcHX11eNGzdWjx49dNNNN+ns2bP66KOP9MADD2jhwoXWkTjeeustm/V69eqlBx54QM2aNdOjjz6qffv25buPnJwc9evXT4cOHdKXX36poKCga3pMAACUhClTpsjFxcV6En+xK51XXjqE9b/+9a8CXXgHAMAZnn76aa1fv17jxo1TvXr1bNovNWTIEDVu3FgjR47UPffcYw1MSbIb+XjAgAG64YYb9NJLL+mDDz7QSy+9JElKSkqSJJ0+fVqfffaZdfrdu+66SxUqVNCYMWP0+eef69FHHy3uQwUA4LJ69eql+vXrKzk5WVu2bNGiRYt05swZmz7r1q3TJ598otmzZzucavdihb0n6enpqVq1amnAgAHq1q2bJOnbb7/V66+/LovFYv0uBQCgJD3yyCOqXbu2nnnmmUKtt2/fPvXv319Vq1bVO++8Y7Ms77zQz89PK1eutH4X9urVS7Vr19aLL76ogQMHysXFxXqt1dF36sXfpwXFtIAF5O3trYyMDIfL0tPTrX0AACjrtm/frptuuknR0dH697//rbvuuksPPfSQ1q5dq7CwMA0bNkw5OTn5rh8REaF7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Pny43T4//fRTPfLII2rTpo1eeukl+fj4aPny5Xr00Ud14MAB/fvf/7bpf/ToUUVHR+u+++7TPffco2XLlundd9+Vm5ub/vzzT6Wlpen555/XmTNnNGHCBPXq1Uu7du2Si8vln7+LjY3VzTffrJMnT2rAgAFq2bKlUlJStGHDBq1YsULR0dEaNmyYFi1apK+++koPP/ywzfpTp06Vi4uLhgwZYm176aWXNG7cODVs2FAjR45U5cqVdeDAAX377bcaO3asPDw88q3n5Zdf1htvvKGuXbvqtddek4uLi7777jv16dNHEydO1IgRI/Jdt0OHDnrxxRc1btw4DR8+XO3bt5ckVapU6bKfgSQtXrxYkydP1mOPPaagoCBNnTpVQ4YMkYeHh1588UXdeuutGjdunDZt2qRp06bJYrFoypQp1vX/+usvtW3bVpmZmXrooYdUp04d7d+/X5MmTdLKlSv1v//9T/7+/pet4ZdffpEktWrVym7Zd999p7vvvls1a9bUq6++Kjc3N02fPl1Lliyx6de7d28dP35cn376qV588UU1aNBA0oX/Fi7Wtm1b/fjjj9q9e7fq169/xc8HAAAAAADgumQCAAAAAACUY7/++qvp7u5uSjIjIiLMwYMHmx9//LG5c+dOu7579uwxJZnPPvusTfvatWtNSeb48eOtbYGBgWa3bt2uuH9J5sCBA+3ajx07Znp6epr333+/3bInn3zSdHFxMQ8cOGBtCw8PNyWZc+bMsenbokUL0zAMs0ePHmZubq61/YMPPjAlmT/88MMVa+zWrVu+fXNyckzTNM3s7GyzevXqZqtWrWyWp6SkmBUqVLD5LDZu3GhKMjt16mSmpaXZ9M/NzbXWeejQIVOSOXr0aOvyzZs3m5LMF154wa6Wnj17mn5+fmZiYuJlj2flypWmJHP69Ol2yxztM6/N29vbjI2NtbafOnXK9PT0NA3DMN955x2b7dx1112mu7u7mZSUZG3r0aOHGRoaah45csSm76ZNm0xXV1ebfeanQ4cOZmBgoF173ucfHBxsnj592tqekJBg1qhRw+54p0+fbkoyV65cme++Zs6caUoy582bd8W6AAAAAAAArldMCwgAAAAAAMq1tm3bavPmzRo4cKDOnz+v6dOn67HHHlPDhg3VoUMHHTx40No3MjJSt9xyi7744gtlZ2db26dOnSo3NzcNHDjQ2ubv768///xTO3bsKFJd8+bNU0ZGhh566CGdOXPG5nXnnXcqNzdXK1assFmnatWq6tOnj01bu3btZJqmnnjiCZspB/NGbNq3b99l6zh79qx++OEHde3aVV26dLFbnjfqlaurq4YMGaJNmzZp+/btNseRmJiohx56yNo2e/ZsSdKbb74pi8Visz1HUyNebPbs2TIMQwMHDrT7XHr06KGkpCStX7/+ssdUVL169VJ4eLj1fWhoqOrVqycXFxe70bLat2+vrKwsxcbGSpLOnz+vxYsXq0ePHrJYLDZ116xZU3Xr1tWyZcuuWMPp06cVFBRk175582YdOXJEgwcPVkhIiLXd399fjzzySJGONzg4WJIKPGUhAAAAAADA9YhwFQAAAAAAKPeaNGmiGTNm6OTJk4qNjdXnn3+u9u3ba82aNerZs6cyMzOtfYcPH66TJ09q8eLFkqSkpCTNmTNH3bt3t5la7v3339e5c+fUpEkT1alTR0OHDtXChQuVm5tboJp27dolSercubNCQ0NtXtHR0ZKkkydP2qxTq1Ytu+0EBgY6XJbXHh8ff9k69u/fL9M01bx58yvW/NBDD8nV1VVTp061tk2dOlUVK1ZUjx49rG379u2TYRhq2rTpFbd5qV27dsk0TdWvX9/uc8kLcF36uRSX2rVr27UFBgaqcuXK8vT0tGuX/v589+zZo9zcXE2dOtWu7tDQUO3Zs6dAdRuGIdM07drzQoCOpu9r2LDhlQ/Ogbz9XC7sBgAAAAAAcL1zc3YBAAAAAAAApUl4eLgGDBig/v37q3379lq3bp1+++03tWvXTpJ0991368knn9TUqVPVq1cvffPNN0pJSdHQoUNtttOzZ0/FxsZq6dKl+uWXX7RixQpNnTpV7du314oVK+Th4XHZOvKCLV988YUqV67ssM+lYR9XV9d8t5ffMkdBnaKqXr26unbtqlmzZuntt9/W4cOHtXr1ao0aNUru7u42fa80QlV+TNOUYRj6/vvv8z2mRo0aFan+K8lvf5f73PM+37x/9uvXz2aEs4t5eXldsYbQ0FBt27btiv2Kw9mzZ637BAAAAAAAKK8IVwEAAAAAADhgGIZat26tdevWKS4uztru6empAQMG6MMPP9SxY8c0depUVa1aVV27drXbRlBQkPr166d+/frJNE09//zzevvtt7Vw4UK76fsuFRERIUkKCQlR586di/fgCqFu3boyDENbt24tUP/hw4dryZIlWrBggbZs2SJJNlMCShemV/z++++1bds2RUVFFaqeiIgI/fDDD6pRo4YaNGhQqHXzOGMkprzPMTMz86r+Phs3bqxffvlFZ86csZn+Ly9ot3v3brt1du7caddWkM9g//791n0CAAAAAACUV0wLCAAAAAAAyrXly5crOzvbrj0tLU3Lli2TZD+t2rBhw5STk6PnnntOGzZs0KBBg2xGL8rJyVFCQoLNOoZhWKfWyxsRSJJ8fX1t3ue599575enpqdGjRystLc1u+fnz55WRkVHwAy2ioKAgdevWTd9//71WrFhht/zSka/uuOMOValSRZ988ok+//xz3XzzzXZT1T3wwAOSpBdffNFmysX8tnmx/v37W9fNycmxW16QqfV8fX0lyeHnfq0EBwfr9ttv1/z587Vhwwa75aZp6vTp01fcTseOHSXJbhs33nijqlWrpunTp+vMmTPW9sTERE2ePNluOwX5DDZs2KBKlSqpXr16V6wLAAAAAADgesXIVQAAAAAAoFwbOXKk4uPj1aNHDzVp0kTe3t46cuSIvvzyS+3du1cDBgxQkyZNbNZp0KCB2rVrp1mzZskwDA0ZMsRmeVJSkipXrqwePXqoefPmqlixog4dOqRJkyYpMDBQd955p7VvmzZttGLFCo0fP141atSQYRjq27evqlWrpkmTJmno0KFq0KCB+vfvr/DwcJ0+fVrbt2/XggULtHPnTtWsWfOaf0YTJ07UTTfdpG7dumngwIG68cYblZaWpo0bN6pmzZoaP368ta+rq6uGDBmi119/XZI0btw4u+1FRUXpueee0/jx49WiRQvdd999CgsL06FDhzRv3jz99ttvCggIcFhLq1atFBMTo5iYGDVr1kx9+vRRlSpVdPz4cW3evFlLly51GNi6WMOGDeXn56ePP/5Y3t7eCggIUMWKFXXrrbcW/UMqgEmTJqldu3bq0KGDBgwYoObNmys3N1cHDx7UwoULNWDAAMXExFx2G127dpWfn5+WLl2q7t27W9tdXV313nvv6d5771VUVJSGDRsmNzc3TZs2TcHBwfrrr79sttOqVSu5uLjojTfe0Llz5+Tj46NatWqpdevWkqTk5GStWbPG7t9tAAAAAACA8oZwFQAAAAAAKNfeffddLVy4UGvXrtW3336rhIQE+fv764YbbtBzzz2nQYMGOVxv+PDhWrt2rTp16mSdki2Pt7e3nn76af30009asWKFkpOTrWGrF154QVWqVLH2/fjjjzVixAi98cYbSkpKkiT17dtXkjR48GBFRkZqwoQJ+uSTT5SQkKCQkBDVq1dPr732msLCwq7Nh3KJWrVq6X//+59ee+01LV26VF988YUCAwPVtGlTDR8+3K7/0KFDNW7cOPn4+OQ7/eFbb72lpk2bauLEiXr77beVm5ur6tWr6/bbb5e3t/dl6xk9erRatmypDz/8UO+//75SUlJUsWJFNW7cWB9++OEVj8fLy0tff/21Xn75ZT399NPKyMjQLbfccs3DVdWrV9fmzZs1fvx4LVy4ULNmzZLFYlH16tV155136t57773iNnx9fdWvXz998803ev/99+Xh4WFdds8992jevHkaO3asYmJiVLFiRQ0aNEgdOnTQbbfdZrOdGjVqaNq0aRo/frweffRRZWVlaeDAgdZw1bfffqvU1FQ9/PDDxfshAAAAAAAAlDGGeblx1gEAAAAAAODQnDlzdN999+nLL7/U/fff7+xySpXjx4+revXqeuihh/TJJ584u5zrTmxsrOrXr6+JEydq6NCh12QfLVq0UM2aNTV//vxrsn0AAAAAAICywsXZBQAAAAAAAJRFH330kUJCQtS7d29nl1LqTJo0STk5OQ5HtcLVq1mzpp5++mm9/vrrV5wCsSgWLFigHTt22Ez3CAAAAAAAUF4xchUAAAAAAEABnTp1Sj/99JPWrFmjSZMm6c0339Tzzz/v7LJKja+//lp//fWXRo8erVtuuUU//PCDs0sCAAAAAAAArgrhKgAAAAAAgAJatWqVOnXqpICAAPXt21cffvih3N3dnV1WqWEYhiwWi9q3b6/p06eratWqzi4JAAAAAAAAuCqEqwAAAAAAAAAAAAAAAADAARdnFwAAAAAAAAAAAAAAAAAApRHhKgAAAAAAAAAAAAAAAABwgHAVAAAAAAAAAAAAAAAAADhAuAoAAAAAAAAAAAAAAAAAHCBcBQAAAAAAAAAAAAAAAAAOEK4CAAAAAAAAAAAAAAAAAAcIVwEAAAAAAAAAAAAAAACAA4SrAAAAAAAAAAAAAAAAAMABwlUAAAAAAAAAAAAAAAAA4MD/AZNoPcC2++2cAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the pulse gate circuit for the second compiled circuit\n", "qiskit.visualization.timeline_drawer(pulse_gate_circuits[1], idle_wires=False, style=style)" ] }, { "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": 12, "id": "39643374", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'11': 504, '00': 496}\n" ] } ], "source": [ "# Create job that submits to IBM Quantum backend\n", "job = service.create_job(\n", " bell_circuit,\n", " repetitions=1000,\n", " target=\"ibmq_brisbane_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 }