{ "cells": [ { "cell_type": "markdown", "id": "9916de95-2376-49f0-91ad-07f07939dfb5", "metadata": {}, "source": [ "# Wire Cutting Phrased as a Two-Qubit `Move` Instruction\n", "\n", "In this tutorial, we will reconstruct expectation values of a seven-qubit circuit by splitting it into two four-qubit circuits using wire cutting.\n", "\n", "These are the steps that we will take in this [Qiskit pattern](https://docs.quantum.ibm.com/guides/intro-to-patterns):\n", "\n", "- **Step 1: Map problem to quantum circuits and operators**:\n", " - Map the hamiltonian onto a quantum circuit.\n", "- **Step 2: Optimize for target hardware** [_Uses the cutting addon_]:\n", " - Cut the circuit and observable.\n", " - Transpile the subexperiments for hardware.\n", "- **Step 3: Execute on target hardware**:\n", " - Run the subexperiments obtained in Step 2 using a `Sampler` primitive.\n", "- **Step 4: Post-process results** [_Uses the cutting addon_]:\n", " - Combine the results of Step 3 to reconstruct the expectation value of the observable in question." ] }, { "cell_type": "markdown", "id": "ae63d837-a7f5-40a5-8186-f98076bb4cd9", "metadata": {}, "source": [ "## Step 1: Map\n", "\n", "### Create a circuit to cut\n", "\n", "First, we begin with a circuit inspired by Fig. 1(a) of [arXiv:2302.03366v1](https://arxiv.org/abs/2302.03366v1)." ] }, { "cell_type": "code", "execution_count": 1, "id": "3bcae0ed-4308-4686-b85c-8595c6e916bc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "from qiskit import QuantumCircuit\n", "\n", "qc_0 = QuantumCircuit(7)\n", "for i in range(7):\n", " qc_0.rx(np.pi / 4, i)\n", "qc_0.cx(0, 3)\n", "qc_0.cx(1, 3)\n", "qc_0.cx(2, 3)\n", "qc_0.cx(3, 4)\n", "qc_0.cx(3, 5)\n", "qc_0.cx(3, 6)\n", "qc_0.cx(0, 3)\n", "qc_0.cx(1, 3)\n", "qc_0.cx(2, 3)" ] }, { "cell_type": "code", "execution_count": 2, "id": "1dcaff2d-2d1b-4cc0-87d1-0f4f5de823ff", "metadata": {}, "outputs": [ { "data": { "image/png": "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Zkpub4vojPVil9FscnvLnSWAiIiIyJwx0JspQRDMal53IiIiIjJPHHJDRERERCRhDPRERERERBLGQE9EREREJGEM9EREREREEsZAT0REREQkYQz0REREREQSxkBPRERERCRhDPRERERERBLGQE9EREREJGEM9EREREREEsZAT0REREQkYQz0REREREQSxkBPRERERCRhDPRERERERBLGQE9EREREJGEM9EREREREEsZAT0REREQkYQz0REREREQSJhe7AGqcVquFqrJa7DKaTW5vC0EQxC6DiIiIqMVhoDdTqspqbOj0tNhlNFt0xnpYO9iJXQYRERFRi8MhN0REREREEsZAT0REREQkYQz0REREREQSxkBPRERERCRhvCmWiMjC1dSqcfZiCVIzSnCjohYAUFGpQlJqIUID3WBrYyVyhUREdC8Y6ImILFBZeQ3W78jAN9sv4uT5ItTUahqsLymrQeST22EtlyG8ixueebQznh3dGa4utiJVTERE+mKgJyKyIKU3ajB3ZTK+3HKhvjf+TmpVGiSlKpGUqsSbS5MwdWwgPpzRi8GeiEhCGOgtiFe/EIzYMq/BstrySpRm5iNj0wGkrf0VWrWmidZEJHX7jubiubkJuJxfrlf7iioV/vNDGrbGX8KauQ/gkQd9DVwhEREZAwO9BcrckoCc+GRAEGDv6YrOEwai97wpaBXYHkfmrBa7PCIyMK1Wi/e/OIn3Vp00yP7yCiowavoexEwNxfx/RfIp0EREZo6B3gIVpWQhc3NC/c/p63bjsYSlCHpqKJLnb0R1UamI1RGRob25NAkLvjpj8P1++nUKKqrUWPZGX4Z6IiIzxmkrWwBVZTUKky9CkMng0qGt2OUQkQEt/z7VKGH+phUbz2H+WuPtn4iI7h0DfQvh3LEuyFdfuyFyJURkKOezrmHO54k6tUncGIUreychcWNUs9u8u/IETp0v0rU8IiIyEQZ6CyS3t4GtmzNs3V3g2tUPfT5+Hu6hAShMvojSzHyxyyMiA1CrNZj6zgFU16h1aufl4QCfto7w8nBodhuVSosp7xxATa1uxyIiItOw+ECvVCoRExODzp07w87ODr6+vpg1axbKy8vx3HPPQRAErFixQuwyDapnzCQ8mfo1njz7Fcbu/xzBU0cgO+4o4qcsELs0IjKQTXuzcfRMocmOdzq9GOt3ZJjseERE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", "text/plain": [ "
" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qc_0.draw(\"mpl\")" ] }, { "cell_type": "markdown", "id": "bd1617a1-e793-43a9-a24a-c81c18fd2a1e", "metadata": {}, "source": [ "### Specify an observable" ] }, { "cell_type": "code", "execution_count": 3, "id": "b791aa42-c485-453b-a110-3c790194adaf", "metadata": {}, "outputs": [], "source": [ "from qiskit.quantum_info import SparsePauliOp\n", "\n", "observable = SparsePauliOp([\"ZIIIIII\", \"IIIZIII\", \"IIIIIIZ\"])" ] }, { "cell_type": "markdown", "id": "9f56b094-0c6f-456f-9641-1424395fc6bd", "metadata": {}, "source": [ "## Step 2: Optimize\n", "\n", "### Create a new circuit where `Move` instructions have been placed at the desired cut locations\n", "\n", "Given the above circuit, we would like to place two wire cuts on the middle qubit line, so that the circuit can separate into two circuits of four qubits each. One way to do this is to manually place two-qubit `Move` instructions that move the state from one qubit wire to another. A `Move` instruction is conceptually equivalent to a reset operation on the second qubit, followed by a SWAP gate. The effect of this instruction is to transfer the state of the first (source) qubit to the second (detination) qubit, while discarding the incoming state of the second qubit. For this to work as intended, it is important that the second (destination) qubit share no entanglement with the remainder of the system; otherwise, the reset operation will cause the state of the remainder of the system to be partially collapsed.\n", "\n", "Here, we build a new circuit with one additional qubit and the `Move` operations in place. In this example, we are able to reuse a qubit: the source qubit of the first `Move` becomes the destination qubit of the second `Move` operation.\n", "\n", "Note: As an alternative to working directly with `Move` instructions, one may choose to mark wire cuts using a single-qubit `CutWire` instruction. The `cut_wires` function exists to transform `CutWire`s to `Move` instructions on newly allocated qubits. However, in contrast to the manual method, this automatic method does not allow for the re-use of qubit wires. See the `CutWire` [how-to guide](../how-tos/how_to_specify_cut_wires.ipynb) for details." ] }, { "cell_type": "code", "execution_count": 4, "id": "22f19d29-a182-4758-b5d0-6b66f9a946be", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from qiskit_addon_cutting.instructions import Move\n", "\n", "qc_1 = QuantumCircuit(8)\n", "for i in [*range(4), *range(5, 8)]:\n", " qc_1.rx(np.pi / 4, i)\n", "qc_1.cx(0, 3)\n", "qc_1.cx(1, 3)\n", "qc_1.cx(2, 3)\n", "qc_1.append(Move(), [3, 4])\n", "qc_1.cx(4, 5)\n", "qc_1.cx(4, 6)\n", "qc_1.cx(4, 7)\n", "qc_1.append(Move(), [4, 3])\n", "qc_1.cx(0, 3)\n", "qc_1.cx(1, 3)\n", "qc_1.cx(2, 3)\n", "\n", "qc_1.draw(\"mpl\")" ] }, { "cell_type": "markdown", "id": "088431d9-de2f-4b5d-90d2-7e7a5947dcb5", "metadata": {}, "source": [ "### Create observable to go with the new circuit\n", "\n", "This observable corresponds with `observable`, but we must account correctly for the extra qubit wire that has been added (i.e., we insert an \"I\" at index 4). Note that in Qiskit, the string representation qubit-0 corresponds to the right-most Pauli character." ] }, { "cell_type": "code", "execution_count": 5, "id": "d33d5580-879f-466f-ac87-dcc6a19fbab6", "metadata": {}, "outputs": [], "source": [ "observable_expanded = SparsePauliOp([\"ZIIIIIII\", \"IIIIZIII\", \"IIIIIIIZ\"])" ] }, { "cell_type": "markdown", "id": "a00aeede-3d0f-4589-b1dc-3cd7df9c4085", "metadata": {}, "source": [ "### Separate the circuit and observables\n", "\n", "As in the previous tutorials, qubits sharing a common partition label will be grouped together, and non-local gates spanning more than one partition will be cut." ] }, { "cell_type": "code", "execution_count": 6, "id": "fc3738c7-2bb2-4d67-ae2b-7a3090b31e6a", "metadata": {}, "outputs": [], "source": [ "from qiskit_addon_cutting import partition_problem\n", "\n", "partitioned_problem = partition_problem(\n", " circuit=qc_1, partition_labels=\"AAAABBBB\", observables=observable_expanded.paulis\n", ")\n", "subcircuits = partitioned_problem.subcircuits\n", "subobservables = partitioned_problem.subobservables\n", "bases = partitioned_problem.bases" ] }, { "cell_type": "markdown", "id": "4c8a76eb-31db-486c-b7c2-a5fe3cb732c2", "metadata": {}, "source": [ "### Visualize the decomposed problem" ] }, { "cell_type": "code", "execution_count": 7, "id": "9c53a862-f762-471a-bda7-b27e88292ac9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'A': PauliList(['IIII', 'ZIII', 'IIIZ']),\n", " 'B': PauliList(['ZIII', 'IIII', 'IIII'])}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subobservables" ] }, { "cell_type": "code", "execution_count": 8, "id": "69df912e-6709-45bb-8eb3-c66a70edefdc", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0IAAAEvCAYAAABoq3HZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABVAklEQVR4nO3deVxVdf7H8ddlB0UFBDcSFcF9ywXNckuTMtdqtGw0NbPS7GeOTprT7pY2mjXZorlM5lhqk2m5pSZuiVtqCiqKioKKKyg79/cHI0mCcfFyz4X7fj4ePYqzfs69p3vO+5zv+R6T2Ww2IyIiIiIi4kCcjC5ARERERETE1hSERERERETE4SgIiYiIiIiIw1EQEhERERERh6MgJCIiIiIiDkdBSEREREREHI6CkIiIiIiIOBwFIRERERERcTgKQiIiIiIi4nAUhERERERExOEoCImIiIiIiMNREBIREREREYejICQiIiIiIg5HQUhERERERByOgpCIiIiIiDgcBSEREREREXE4CkIiIiIiIuJwFIRERERERMThKAiJiIiIiIjDURASERERERGHoyAkIiIiIiIOR0FIREREREQcjoKQiIiIiIg4HAUhERERERFxOApCIiIiIiLicBSERERERETE4SgIiYiIiIiIw1EQEhERERERh6MgJCIiIiIiDkdBSEREREREHI6CkIiIiIiIOBwFIRERERERcTgKQiIiIiIi4nAUhERERERExOEoCImIiIiIiMNREBIREREREYejICQiIiIiIg7HxegCxHrMZjOZKWlGl2ERF093TCaT0WWIiIiIiINRECpFMlPSWBT8tNFlWKR/zJe4enkYXYaIiIiIOBg1jRMREREREYejICQiIiIiIg5HQUhERERERByOgpCIiIiIiDgcBSEREREREXE4CkIiIiIiIuJwFIRERERERMTh6D1CQuU2DQhf/laeYRnXU7h2PJ6YpZs5PPcHzFnZBlUnIiIiImJ9CkKS6/jyCOI27AGTCU//CtR+oj2t3nqG8iHV2D7mU6PLExERERGxGgUhyXXxwAmOL4vI/Tt6/hp6R3xA6FMPsmfKYtIuXjOwOhERERER69EzQlKgzJQ0Luw5isnJiXJBlYwuR0RERETEahSECrB27VrCw8Px8/PDy8uLRo0aMXnyZNLT040uzaa8a+QEoLQryQZXIiIiIiJi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rigRERERkSJSEBIA3Mp50XPjDJw93LhxNhEnd1e8q1ciZunPbH/1cyq1rMOWlz/Kmdhk4r73X+CXCXNp+cbtL1cVEREREbF3DheENmzYYHQJdin92g2OfxtBxvVU9s9YStUOTWg8sg/b/vYJVds34XxkNObMLAAaDOvO+cgoLu4/bnDVIiIiIiJFUzoeYBGr8G1Yk0sHTgDg1ziYSwdz/rt6eEtO/rgTgAp17iGoWxi/zlxmWJ0iIiIiInfL4e4IScF8G9TIDT9+jWtxek0kAFU7NGXXO18CUCmsHmXvCeCxbR8C4OlfgTbTnsczwIfohWuNKVxERERExEIKQgKAV2VfMJu5kXAJAN96Qez/YBkVm4Vw9egZMm+kAhC9cG2ewBO+7C0Ofb6SU6sjDalbRERERKQoFIQE+F+zuP/dDQJIv3adugO7knYpiVOrdxpYmYiIiIiI9SkICQBx63cTt3537t8rH34VgJ6bZrDmsTcKnG/1HcaJiIiIiNgrBSG5o+86jDK6BBERERERq1OvcSIiIiIi4nAUhERERERExOEoCImIiIiIiMPRM0KliIunO/1jvjS6DIu4eLobXYKIiIiIOCAFoVLEZDLh6uVhdBkiIiIiInZPTeNERERERMThKAiJiIiIiIjDURASERERERGHoyAkIiIiIiIOR0FIREREREQcjoKQiIiIiIg4HAUhERERERFxOApCIiIiIiLicBSERERERETE4SgIiYiIiIiIw1EQEhERERERh6MgJCIiIiIiDkdBSEREREREHI6CkIiIiIiIOBwFIRERERERcTgKQiIiIiIi4nAUhERERERExOEoCImIiIiIiMNxMboAsR6z2UxmSprRZVjExdMdk8lkdBkiIiIi4mAUhEqRzJQ0FgU/bXQZFukf8yWuXh5GlyEiIiIiDkZN40RERERExOEoCImIiIiIiMNREBIREREREYejICQiIiIiIg5HQUhERERERByOgpCIiIiIiDgcBSEREREREXE4eo+QULlNA8KXv5VnWMb1FK4djydm6WYOz/0Bc1a2QdWJiIiIiFifgpDkOr48grgNe8BkwtO/ArWfaE+rt56hfEg1to/51OjyRERERESsRkFIcl08cILjyyJy/46ev4beER8Q+tSD7JmymLSL1wysTkRERETEevSMUAHWrl1LeHg4fn5+eHl50ahRIyZP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03rK0DzDavftyDPxS6ke3tKgqkSKX1kvV9q3qILn/5rKlYYffhEREUsEVfXGwy3nOOjm6lxqjoUOd0eoOIJQbGys1ZZlr6o/EkbMN5ty/y4b6E9o/86c3xVtXFEiIiIiIkWkICQAuJXzoufGGTh7uHHjbCJO7q54V69EzNKf2f7q51RqWYctL3+UM7HJxH3vv8AvE+bS8o2BxhYuIiIiIlIEDheENmzYYHQJdin92g2OfxtBxvVU9s9YStUOTWg8sg/b/vYJVds34XxkNObMLAAaDOvO+cgoLu4/bnDVIiIiIiJF43DPCEnBfBvW5NKBEwD4NQ7m0sGc/64e3pKTP+4EoEKdewjqFsavM5cZVqeIiIiIyN1yuDtCUjDfBjVyw49f41qcXhMJQNUOTdn1zpcAVAqrR9l7Anhs24cAePpXoM205/EM8CF64VpjChcRERERsZCCkADgVdkXzGZuJFwCwLdeEPs/WEbFZiFcPXqGzBupAEQvXJsn8IQve4tDn6/k1OpIQ+oWERERESkKBSEB/tcs7n93gwDSr12n7sCupF1K4tTqnQZWJiIiIiJifQpCAkDc+t3Erd+d+/fKh18FoOemGax57I0C51t9h3EiIiIiIvZKQUju6LsOo4wuQURERETE6tRrnIiIiIiIOBwFIRERERERcTgKQiIiIiIi4nAUhERERERExOGos4RSxMXTnf4xXxpdhkVcPN2NLkFEREREHJCCUCliMplw9fIwugwREREREbunpnEiIiIiIuJwFIRERERERMThKAiJiIiIiIjDURASERERERGHoyAkIiIiIiIOR0FIREREREQcjoKQiIiIiIg4HAUhERERERFxOApCIiIiIiLicBSERERERETE4SgIiYiIiIiIw1EQEhERERERh6MgJCIiIiIiDkdBSEREREREHI6CkIiIFMqVK1d488032bRpk9GllBhXr17lpZdeolq1anh4eNCgQQNmz56N2Ww2urQi0T5gmfj4eF577TXCw8Px9/fHZDLxzDPPGF2WiPyPgpCIiBTKlStXeOutt3QSXEjp6el06dKFTz75hL59+/Lhhx9Sp04dXnzxRd566y2jyysS7QOWiY6OZtKkSRw6dIiWLVsaXY6I/IGL0QWIiIiURnPmzCEyMpJZs2bx0ksvATB06FAee+wxJk2axKBBgwgKCjK4SilOzZs3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", "text/plain": [ "
" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subcircuits[\"A\"].draw(\"mpl\")" ] }, { "cell_type": "code", "execution_count": 9, "id": "d851adcb-e524-48c8-8adc-0d1606613c8d", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subcircuits[\"B\"].draw(\"mpl\")" ] }, { "cell_type": "markdown", "id": "9c177fb7-a729-4e0d-bfac-256df3e14c54", "metadata": {}, "source": [ "### Calculate the sampling overhead for the chosen cuts\n", "\n", "Here we cut two wires, resulting in a sampling overhead of $4^4$.\n", "\n", "For more on the sampling overhead incurred by circuit cutting, refer to the [explanatory material](../explanation/index.rst)." ] }, { "cell_type": "code", "execution_count": 10, "id": "7af74c54-3e68-4d58-a2e6-02bc212d911d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sampling overhead: 256.0\n" ] } ], "source": [ "print(f\"Sampling overhead: {np.prod([basis.overhead for basis in bases])}\")" ] }, { "cell_type": "markdown", "id": "a1eda2d0-8d83-473b-8ea8-fe9880108140", "metadata": {}, "source": [ "### Generate the subexperiments to run on the backend\n", "\n", "`generate_cutting_experiments` accepts `circuits`/`observables` args as dictionaries mapping qubit partition labels to the respective `subcircuit`/`subobservables`.\n", "\n", "To simulate the expectation value of the full-sized circuit, many subexperiments are generated from the decomposed gates' joint quasiprobability distribution and then executed on one or more backends. The number of samples taken from the distribution is controlled by `num_samples`, and one combined coefficient is given for each unique sample. For more information on how the coefficients are calculated, refer to the [explanatory material](../explanation/index.rst)." ] }, { "cell_type": "code", "execution_count": 11, "id": "d28a8b82-8405-47b2-8142-62d56266409a", "metadata": {}, "outputs": [], "source": [ "from qiskit_addon_cutting import generate_cutting_experiments\n", "\n", "subexperiments, coefficients = generate_cutting_experiments(\n", " circuits=subcircuits, observables=subobservables, num_samples=np.inf\n", ")" ] }, { "cell_type": "markdown", "id": "9f66e3eb-7cbc-45a9-8f40-9f92b61b6e65", "metadata": {}, "source": [ "### Choose a backend\n", "\n", "Here we are using a fake backend, which will result in Qiskit Runtime running in local mode (i.e., on a local simulator)." ] }, { "cell_type": "code", "execution_count": 12, "id": "6944546f-e3e0-4863-9049-9feed1086e68", "metadata": {}, "outputs": [], "source": [ "from qiskit_ibm_runtime.fake_provider import FakeManilaV2\n", "\n", "backend = FakeManilaV2()" ] }, { "cell_type": "markdown", "id": "fdb47142-690c-4b1a-ad0b-85e1260a2cea", "metadata": {}, "source": [ "### Prepare the subexperiments for the backend\n", "\n", "We must transpile the circuits with our backend as the target before submitting them to Qiskit Runtime." ] }, { "cell_type": "code", "execution_count": 13, "id": "0229e6f2-a637-481d-ac76-84dfaadc264f", "metadata": {}, "outputs": [], "source": [ "from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager\n", "\n", "# Transpile the subexperiments to ISA circuits\n", "pass_manager = generate_preset_pass_manager(optimization_level=1, backend=backend)\n", "isa_subexperiments = {\n", " label: pass_manager.run(partition_subexpts)\n", " for label, partition_subexpts in subexperiments.items()\n", "}" ] }, { "cell_type": "markdown", "id": "9578c64a-8087-4696-bb2b-ca53d45442ba", "metadata": {}, "source": [ "## Step 3: Execute\n", "\n", "### Run the subexperiments using the Qiskit Runtime Sampler primitive" ] }, { "cell_type": "code", "execution_count": 14, "id": "bdf3bd2f-e10a-4148-a7ad-f354492614cc", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/garrison/Qiskit/qiskit-ibm-runtime/qiskit_ibm_runtime/session.py:157: UserWarning: Session is not supported in local testing mode or when using a simulator.\n", " warnings.warn(\n" ] } ], "source": [ "from qiskit_ibm_runtime import SamplerV2, Batch\n", "\n", "# Submit each partition's subexperiments to the Qiskit Runtime Sampler\n", "# primitive, in a single batch so that the jobs will run back-to-back.\n", "with Batch(backend=backend) as batch:\n", " sampler = SamplerV2(mode=batch)\n", " jobs = {\n", " label: sampler.run(subsystem_subexpts, shots=2**12)\n", " for label, subsystem_subexpts in isa_subexperiments.items()\n", " }" ] }, { "cell_type": "code", "execution_count": 15, "id": "abb436de-9662-4c47-92b1-659ee0334adc", "metadata": {}, "outputs": [], "source": [ "# Retrieve results\n", "results = {label: job.result() for label, job in jobs.items()}" ] }, { "cell_type": "markdown", "id": "3f6e4eed-eff7-4e16-ad8d-8070011a555b", "metadata": {}, "source": [ "## Step 4: Post-process\n", "\n", "### Reconstruct the expectation value\n", "\n", "Reconstruct expectation values for each observable term and combine them to reconstruct the expectation value for the original observable." ] }, { "cell_type": "code", "execution_count": 15, "id": "a1904c54-27fa-45e0-a9dd-727b4542db71", "metadata": {}, "outputs": [], "source": [ "from qiskit_addon_cutting import reconstruct_expectation_values\n", "\n", "reconstructed_expval_terms = reconstruct_expectation_values(\n", " results,\n", " coefficients,\n", " subobservables,\n", ")\n", "reconstructed_expval = np.dot(reconstructed_expval_terms, observable.coeffs)" ] }, { "cell_type": "markdown", "id": "cdc793f2-3e2b-417b-b863-7b9d57b86a8f", "metadata": {}, "source": [ "### Compare the reconstructed expectation value with the exact expectation value from the original circuit and observable" ] }, { "cell_type": "code", "execution_count": 16, "id": "6e3d63e4-a510-4712-bc43-48df6e2f7ded", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reconstructed expectation value: 1.51319069\n", "Exact expectation value: 1.59099026\n", "Error in estimation: -0.07779957\n", "Relative error in estimation: -0.04890009\n" ] } ], "source": [ "from qiskit_aer.primitives import EstimatorV2\n", "\n", "estimator = EstimatorV2()\n", "exact_expval = estimator.run([(qc_0, observable)]).result()[0].data.evs\n", "print(f\"Reconstructed expectation value: {np.real(np.round(reconstructed_expval, 8))}\")\n", "print(f\"Exact expectation value: {np.round(exact_expval, 8)}\")\n", "print(f\"Error in estimation: {np.real(np.round(reconstructed_expval-exact_expval, 8))}\")\n", "print(\n", " f\"Relative error in estimation: {np.real(np.round((reconstructed_expval-exact_expval) / exact_expval, 8))}\"\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.11.0" } }, "nbformat": 4, "nbformat_minor": 5 }