{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "c74932e2", "metadata": {}, "source": [ "# How-to: run circuit on Braket devices" ] }, { "cell_type": "code", "execution_count": 1, "id": "f543c651", "metadata": {}, "outputs": [], "source": [ "from qiskit import transpile\n", "from qiskit.circuit.random import random_circuit\n", "from qiskit.visualization import plot_histogram\n", "\n", "from qiskit_braket_provider import AWSBraketProvider" ] }, { "attachments": {}, "cell_type": "markdown", "id": "e306df72", "metadata": {}, "source": [ "Let's create random circuit" ] }, { "cell_type": "code", "execution_count": 2, "id": "ddc70eea", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
                                 ┌───┐┌───────────────────┐           \n",
       "q_0: ──────────────────────────■─┤ Y ├┤ U2(6.0991,5.6116) ├───────────\n",
       "       ┌───────────────────┐   │ ├───┤└┬──────────────────┤           \n",
       "q_1: ──┤ R(4.3817,0.59173) ├───┼─┤ H ├─┤ R(4.7632,2.2276) ├───────────\n",
       "       └───────────────────┘   │ └─┬─┘ └──────────────────┘           \n",
       "q_2: ──────────────────────────■───┼────────────■────────────■────────\n",
       "     ┌───────────────────────┐     │            │            │   ┌───┐\n",
       "q_3: ┤0                      ├─────■────────────┼────────────┼───┤ H ├\n",
       "     │  {XX+YY}(6.13,4.7824) │            ┌─────┴──────┐   ┌─┴──┐└───┘\n",
       "q_4: ┤1                      ├────────────┤ Ry(4.0455) ├───┤ Sx ├─────\n",
       "     └───────────────────────┘            └────────────┘   └────┘     
" ], "text/plain": [ " ┌───┐┌───────────────────┐ \n", "q_0: ──────────────────────────■─┤ Y ├┤ U2(6.0991,5.6116) ├───────────\n", " ┌───────────────────┐ │ ├───┤└┬──────────────────┤ \n", "q_1: ──┤ R(4.3817,0.59173) ├───┼─┤ H ├─┤ R(4.7632,2.2276) ├───────────\n", " └───────────────────┘ │ └─┬─┘ └──────────────────┘ \n", "q_2: ──────────────────────────■───┼────────────■────────────■────────\n", " ┌───────────────────────┐ │ │ │ ┌───┐\n", "q_3: ┤0 ├─────■────────────┼────────────┼───┤ H ├\n", " │ {XX+YY}(6.13,4.7824) │ ┌─────┴──────┐ ┌─┴──┐└───┘\n", "q_4: ┤1 ├────────────┤ Ry(4.0455) ├───┤ Sx ├─────\n", " └───────────────────────┘ └────────────┘ └────┘ " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circuit = random_circuit(5, 3, seed=42)\n", "circuit.draw()" ] }, { "attachments": {}, "cell_type": "markdown", "id": "d96fb4ef", "metadata": {}, "source": [ "Get statevector simulator" ] }, { "cell_type": "code", "execution_count": 3, "id": "50522a02", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "BraketBackend[SV1]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "provider = AWSBraketProvider()\n", "state_vector_simulator_backend = provider.get_backend(\"SV1\")\n", "state_vector_simulator_backend" ] }, { "attachments": {}, "cell_type": "markdown", "id": "a9963aac", "metadata": {}, "source": [ "Transpile circuit against given backend" ] }, { "cell_type": "code", "execution_count": 4, "id": "efd93336", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
global phase: 2.0774\n",
       "                                        ┌───────────┐     ┌────┐    ┌────────────┐                                                                                                                                           \n",
       "q_0 -> 0 ───────────────────────■───────┤ P(2.2423) ├─────┤ √X ├────┤ P(-1.7549) ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
       "         ┌──────────────┐       │       ├───────────┴┐┌───┴────┴───┐└────────────┘                ┌───┐┌─────────────┐ ┌────────────┐┌──────────────┐                                                                        \n",
       "q_1 -> 1 ┤ Rz(-0.14167) ├───────┼───────┤ Ry(2.4735) ├┤ Rz(2.9079) ├──────────────────────────────┤ X ├┤ Rz(-2.4203) ├─┤ Ry(2.2266) ├┤ Rz(-0.95318) ├────────────────────────────────────────────────────────────────────────\n",
       "         └──────────────┘       │       └────────────┘└────────────┘                              └─┬─┘└─────────────┘ └────────────┘└──────────────┘      ┌────────┐                                                        \n",
       "q_2 -> 2 ───────────────────────■───────────────────────────────────────────────────────────────────┼─────────■────────────────────────────────────────■───┤ P(π/4) ├─────────────■───────────────■──────────────────────────\n",
       "                         ┌─────────────┐    ┌───┐     ┌────────────┐    ┌───┐     ┌──────────────┐  │         │         ┌──────────┐    ┌────────┐     │   └────────┘             │               │                          \n",
       "q_3 -> 3 ────────────────┤ P(0.069993) ├────┤ X ├─────┤ Ry(-3.065) ├────┤ X ├─────┤ P(-0.069993) ├──■─────────┼─────────┤ Ry(-π/2) ├────┤ Rz(-π) ├─────┼──────────────────────────┼───────────────┼──────────────────────────\n",
       "                         └─┬─────────┬─┘    └─┬─┘     ├────────────┤    └─┬─┘     ├─────────────┬┘          ┌─┴─┐     ┌─┴──────────┴┐   └────────┘   ┌─┴─┐┌──────────┐┌────────┐┌─┴─┐┌─────────┐┌─┴─┐┌───────────┐┌─────────┐\n",
       "q_4 -> 4 ──────────────────┤ Ry(π/2) ├────────■───────┤ Ry(-3.065) ├──────■───────┤ Ry(0.45197) ├───────────┤ X ├─────┤ Ry(-2.0228) ├────────────────┤ X ├┤ Ry(-π/2) ├┤ Rz(-π) ├┤ X ├┤ P(-π/4) ├┤ X ├┤ Rz(-3π/4) ├┤ Ry(π/2) ├\n",
       "                           └─────────┘                └────────────┘              └─────────────┘           └───┘     └─────────────┘                └───┘└──────────┘└────────┘└───┘└─────────┘└───┘└───────────┘└─────────┘
" ], "text/plain": [ "global phase: 2.0774\n", " ┌───────────┐ ┌────┐ ┌────────────┐ \n", "q_0 -> 0 ───────────────────────■───────┤ P(2.2423) ├─────┤ √X ├────┤ P(-1.7549) ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", " ┌──────────────┐ │ ├───────────┴┐┌───┴────┴───┐└────────────┘ ┌───┐┌─────────────┐ ┌────────────┐┌──────────────┐ \n", "q_1 -> 1 ┤ Rz(-0.14167) ├───────┼───────┤ Ry(2.4735) ├┤ Rz(2.9079) ├──────────────────────────────┤ X ├┤ Rz(-2.4203) ├─┤ Ry(2.2266) ├┤ Rz(-0.95318) ├────────────────────────────────────────────────────────────────────────\n", " └──────────────┘ │ └────────────┘└────────────┘ └─┬─┘└─────────────┘ └────────────┘└──────────────┘ ┌────────┐ \n", "q_2 -> 2 ───────────────────────■───────────────────────────────────────────────────────────────────┼─────────■────────────────────────────────────────■───┤ P(π/4) ├─────────────■───────────────■──────────────────────────\n", " ┌─────────────┐ ┌───┐ ┌────────────┐ ┌───┐ ┌──────────────┐ │ │ ┌──────────┐ ┌────────┐ │ └────────┘ │ │ \n", "q_3 -> 3 ────────────────┤ P(0.069993) ├────┤ X ├─────┤ Ry(-3.065) ├────┤ X ├─────┤ P(-0.069993) ├──■─────────┼─────────┤ Ry(-π/2) ├────┤ Rz(-π) ├─────┼──────────────────────────┼───────────────┼──────────────────────────\n", " └─┬─────────┬─┘ └─┬─┘ ├────────────┤ └─┬─┘ ├─────────────┬┘ ┌─┴─┐ ┌─┴──────────┴┐ └────────┘ ┌─┴─┐┌──────────┐┌────────┐┌─┴─┐┌─────────┐┌─┴─┐┌───────────┐┌─────────┐\n", "q_4 -> 4 ──────────────────┤ Ry(π/2) ├────────■───────┤ Ry(-3.065) ├──────■───────┤ Ry(0.45197) ├───────────┤ X ├─────┤ Ry(-2.0228) ├────────────────┤ X ├┤ Ry(-π/2) ├┤ Rz(-π) ├┤ X ├┤ P(-π/4) ├┤ X ├┤ Rz(-3π/4) ├┤ Ry(π/2) ├\n", " └─────────┘ └────────────┘ └─────────────┘ └───┘ └─────────────┘ └───┘└──────────┘└────────┘└───┘└─────────┘└───┘└───────────┘└─────────┘" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "transpiled_circuit = transpile(\n", " circuit, backend=state_vector_simulator_backend, seed_transpiler=42\n", ")\n", "transpiled_circuit.draw(idle_wires=False, fold=-1)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "fa7d65c1", "metadata": {}, "source": [ "Run circuit" ] }, { "cell_type": "code", "execution_count": 5, "id": "fc6aa158", "metadata": {}, "outputs": [], "source": [ "result = state_vector_simulator_backend.run(transpiled_circuit, shots=10)" ] }, { "cell_type": "code", "execution_count": 6, "id": "a4ea3a45", "metadata": {}, "outputs": [ { "data": { "image/png": "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go4cOaKQkBDVrFkzzTyPxyOXi7+x8wr6ZqeUvsXFxenMmTPavXu3ypUrp3r16slxHF+XlyMIc/nYihUr9Oyzz2r79u2qXr26atasqW3btunYsWPeOZ06ddKAAQPUvn17b9jz1zcDkFOMMdq8ebPGjRunNWvWyOPxKD4+XmXLllWXLl30wAMPqGnTpr4uE5ehb3byeDxauXKlhg8frj179iguLk6SVLp0abVv317dunVT27ZtVaZMGUnyi3/XCHP5WOvWrbV//35NnTpVbdq0UUBAgIKCgrR9+3bNnj1bM2fO1L59+xQaGqoXXnhBI0eO9HXJkHT06FFdvHhRlSpVUoECBXxdDrJg8eLFGjRokKKiotSkSRPddNNN2rJliw4ePKjz589LkurUqaPnnntO3bt3V2hoqF/8A2M7+man//73vxowYIDi4+PVqVMnVahQQTt27NDBgwe1b98+JSQkqFq1ahowYID69++vwoUL+7rkP84gX4qKijKBgYFmzJgxxuPxGGOM939T++qrr0yTJk2M4zjmhRdeMBcvXsztUnGZzp07m4iICPPWW2+Z7777zpw4ccIkJyenm5e6n8eOHcvNEnGZO+64w1SrVs1ERkamGd+zZ495//33TceOHY3jOMZxHPPoo4+aM2fO+KhSpEbf7NS0aVNTu3Zts2nTpjTjR44cMbNnzzb9+/c3N9xwg3Ecx7Rt29bs2LHDR5VeP4S5fGru3LkmKCjIvPfee8YYYxISErzLkpOTTVJSkvfrXbt2mUaNGpnQ0FDz/fff53qt+J+oqCjvPx6O45iyZcuanj17mn/+85/m+++/N7/++mu61+zcudN0797djBkzJvcLhjl69KgJCgoyr776qjdgu93udPNWrFjhDQf9+vUzcXFxuV0qUqFvdjp27JgJCQkxI0eO9I5l1LfNmzebRx55xDiOY7p27Wqio6Mz3KFhC87YzKfq1KkjSdq2bZskpTlc53K5FBAQIOnSuQS1atXSlClTFB8fr9WrV+d+sfBatWqVJOnRRx/Vu+++q3r16mnZsmV68skn1atXLw0fPlyzZs3S7t27de7cOUnSd999p//85z8qXbq0L0vPt37++WcFBgYqKChIjuMoMTFRgYGBki6d25NyVWSbNm00e/Zsde3aVdOnT9fmzZt9WXa+R9/stG/fPhUoUEBJSUmSpISEBG/f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8tsgbNq0SQ899JBOnz7tfXQefOutt97SG2+8oZiYGNWrV09/+ctf1L17d5UrV06//fabQkNDdeDAAT344IM6cuSIjh8/7uuSkYGM3m/bt2/Xgw8+qKioKL97xCFhLh8wmVyC/e2332r69OlavXq1fv31VwUHBys+Pl6NGjXSc889p7vvvtsv7oxtM0K4/zHGyO12q0CBAlq1apW6du2q+++/X1OnTvV1aflaynstLi5O8+fP19SpU7VixQrv8saNG6tmzZo6cuSINm/erKCgII0dO1YDBgzwYdVwu92Znkt8+Zzly5era9eueuCBB/zu/UaYyyeOHTumG2+8UfHx8XK73SpatKh32fnz5/X9999Lkm688UYVLlxYN9xwg69Kxe8I4fbJ7CakmfVy2LBh+vvf/66NGzfqtttuy40SkYHM+rNixQp98803WrdunU6dOqXExERFR0erQ4cOevbZZ9WmTZurBgnknMz6ltn7cPTo0Ro9erQ2bNigxo0b50aJuYYw58eMMZo3b54+/vhjbd++XefPn1e9evVUr149NWjQQHXr1tVNN92kQoUK+bpUZIIQbp+UniUmJiopKSnTYG2M0fz58/XVV19p+vTpuVsk0tm7d6/CwsJ09uxZhYSEpHkv/fbbb9q7d68KFSqkEiVKKCQkhM/NPCKlb+fOnVPBggVVqlSpTOdGRkZq0aJFGjt2bC5WmDsIc37s5Zdf1ltvvaXQ0FBVrFhRbrdbiYmJioqKkjFG9evXV48ePfTII4+obNmyvi4XvyOE2+dKPWvYsKEaNGig6tWrKzg42P/uPG+xhIQEzZ49W5MnT9YPP/wgl8ulGjVq6KabblLDhg3VtGlTNWjQQCVKlPB1qUjlSn1r1KiR7rjjDoWHh6f549ffEeb81KFDh3TrrbeqTZs2mjhxomrXrq3o6GhFRUVp//79ioyM1OLFi7V3717Vr19fY8eOVadOnfzqWXW2IoTbJ6s96927d5o9Pjys3beGDh2qd955R5UrV1aNGjUUFBSks2fP6qefflJsbKwqVqyou+++W/369eMweB6S1b49+uijatSokfd1fv1+y63LZpG7Xn31VVOyZEmzdOlSY8z/7o2UIjY21qxdu9Y8++yzxnEcU7Zs2XS3vUDuO3jwoAkNDTWdO3c2O3fuNMYYc/r0afP999+b2bNnm6efftrUrFnT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", "text/plain": [ "
" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_histogram(result.result().get_counts())" ] } ], "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }