479 lines
155 KiB
Plaintext
479 lines
155 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "7ed4867f",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Reduce transpiled circuit depth with circuit cutting\n",
|
|
"*Usage estimate: 8 minutes on IBM Brisbane (NOTE: This is an estimate only. Your runtime may vary.)*"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "387c5e80",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Background\n",
|
|
"\n",
|
|
"In this tutorial, we will show how to build a `Qiskit Pattern` for cutting gates in a quantum circuit to reduce circuit depth. For more in-depth discussion on circuit cutting, visit the [circuit cutting Qiskit addon docs](https://qiskit.github.io/qiskit-addon-cutting/)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a62460d9",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Requirements\n",
|
|
"\n",
|
|
"Before starting this tutorial, be sure you have the following installed:\n",
|
|
"- Qiskit SDK v1.0 or later, with visualization support ( `pip install 'qiskit[visualization]'` )\n",
|
|
"- Qiskit Runtime 0.22 or later (`pip install qiskit-ibm-runtime`)\n",
|
|
"- Circuit cutting Qiskit addon 0.9.0 or later (`pip install qiskit-addon-cutting`)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a89fe306",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Setup"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "c795c670",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"\n",
|
|
"from qiskit.circuit.library import EfficientSU2\n",
|
|
"from qiskit.quantum_info import PauliList, Statevector, SparsePauliOp\n",
|
|
"from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager\n",
|
|
"\n",
|
|
"from qiskit_addon_cutting import (\n",
|
|
" cut_gates,\n",
|
|
" generate_cutting_experiments,\n",
|
|
" reconstruct_expectation_values,\n",
|
|
")\n",
|
|
"\n",
|
|
"from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "07f7f75d",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Step 1: Map classical inputs to a quantum problem\n",
|
|
"\n",
|
|
"We will implement our Qiskit Pattern using the four steps outlined in the [docs](https://docs.quantum.ibm.com/guides/intro-to-patterns). In this case, we will simulate expectation values on a circuit of a certain depth by cutting gates resulting in swap gates and executing subexperiments on shallower circuits. Gate cutting is relevant for Steps 2 (optimize circuit for quantum execution by decomposing distant gates) and 4 (post-processing to reconstruct expectation values on original circuit).\n",
|
|
"In the first step, we'll generate a circuit from the Qiskit circuit library and define some observables.\n",
|
|
"\n",
|
|
"* Input: Classical parameters to define a circuit\n",
|
|
"* Output: Abstract circuit and observables"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "54ed0f13",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABGQAAAD2CAYAAACQlVGeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABejElEQVR4nO3deXhMZ/8G8HuyyiokZCIJUcS+JGIJRVBFqaKW6oKitEUp1WqVKqp0r76ltqK01lbtitgV1doSWxKCJDJklz2znN8f+UlEtplkzjkzk/tzXb0uc+aZZ77e17kz+c5znqMQBEEAERERERERERFJxkruAoiIiIiIiIiIqho2ZIiIiIiIiIiIJMaGDBERERERERGRxNiQISIiIiIiIiKSGBsyREREREREREQSY0OGiIiIiIiIiEhibMgQEREREREREUmMDRkiIiIiIiIiIomxIUNEREREREREJDE2ZIiIiIiIiIiIJMaGDBERERERERGRxNiQISIiIiIiIiKSGBsyREREREREREQSY0OGiIiIiIiIiEhibMgQEREREREREUmMDRkiIiIiIiIiIomxIUNEREREREREJDE2ZIiIiIiIiIiIJMaGDBERERERERGRxNiQISIiIiIiIiKSGBsyREREREREREQSY0OGiIiIiIiIiEhibMgQEREREREREUmMDRkiIiIiIiIiIomxIUNEREREREREJDE2ZIiIiIiIiIiIJMaGDBERERERERGRxNiQISIiIiIiIiKSGBsyREREREREREQSY0OGiIiIiIiIiEhibMgQEREREREREUmMDRkiIiIiIiIiIonZyF2ApQkdtQjpt1VylwEXPyV6rptZqTnePQvEZRmpoErydgS+7SB3FSQWnjfi4HlDJA9mmjiYaUTyYKaJg5lGABsyRpd+W4XUiFi5yzCKuCzgVrrcVVBVwPOGiCwJM42ILAkzjUg8vGSJiIiIiIiIiEhibMgQEREREREREUmMlywR6SE9Mw83bqchO0cLWxsrPOXjgtruDnKXRURUIRlZalyPTi3ItPo+LvBkphGRmcrMUuP67TRkZqlha2sFvzou8KrlKHdZRETlYkOGqBQ3olPx09br2H8qFjdup0EQij7vq3RCtyAlJgxpgs4BnlAoFPIUSkSkh6i7D/HTlmvYezIW16NTi2Wad21HdG2rxIShTdC1rZKZRkQm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",
|
|
"text/plain": [
|
|
"<Figure size 1434x294.311 with 1 Axes>"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"circuit = EfficientSU2(num_qubits=4, entanglement=\"circular\").decompose()\n",
|
|
"circuit.assign_parameters([0.4] * len(circuit.parameters), inplace=True)\n",
|
|
"observables = PauliList([\"ZZII\", \"IZZI\", \"IIZZ\", \"XIXI\", \"ZIZZ\", \"IXIX\"])\n",
|
|
"circuit.draw(\"mpl\", scale=0.8, style=\"iqp\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "080a2a8b",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Step 2: Optimize problem for quantum hardware execution\n",
|
|
"\n",
|
|
"* Input: Abstract circuit and observables\n",
|
|
"* Output: Target circuit and observables produced by cutting distant gates to reduce transpiled circuit depth\n",
|
|
"\n",
|
|
"We choose an initial layout that requires two swaps to execute the gates between qubits 3 and 0 and another two swaps to return the qubits to their initial positions. We choose `optimization_level=3`, which is the highest level of optimization available with a preset pass manager."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "b394da7a",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Remember to insert your token in the QiskitRuntimeService constructor\n",
|
|
"service = QiskitRuntimeService(channel=\"ibm_quantum\")\n",
|
|
"backend = service.least_busy(\n",
|
|
" operational=True, min_num_qubits=circuit.num_qubits, simulator=False\n",
|
|
")\n",
|
|
"\n",
|
|
"pm = generate_preset_pass_manager(\n",
|
|
" optimization_level=3, initial_layout=[0, 1, 2, 3], backend=backend\n",
|
|
")\n",
|
|
"transpiled_qc = pm.run(circuit)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "68c00476",
|
|
"metadata": {},
|
|
"source": [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "4fe4af43",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Transpiled circuit depth: 113\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 3848.4x147.156 with 1 Axes>"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"print(f\"Transpiled circuit depth: {transpiled_qc.depth()}\")\n",
|
|
"transpiled_qc.draw(\"mpl\", scale=0.4, idle_wires=False, style=\"iqp\", fold=-1)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "babfbd0f",
|
|
"metadata": {},
|
|
"source": [
|
|
"*Find and cut the distant gates:* We will replace the distant gates (gates connecting non-local qubits, 0 and 3) with `TwoQubitQPDGate`s by specifying their indices. `cut_gates` will replace the gates in the specified indices with `TwoQubitQPDGate`s and also return a list of `QPDBasis` instances -- one for each gate decomposition. The `QPDBasis` object contains information about how to decompose the cut gates into single-qubit operations."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "23e3d25e",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABP4AAAD2CAYAAABGHEm+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABeQklEQVR4nO3dd3hTZf8G8DtpU+ikUEpb2kLLKHsVEMoeokwFZIh7oiAKiiiogAqivCoovoosmbLEH4IICBSZsmfLLLuFBjrpXsn5/dGXQulK2pyckyf357q8LnLy5Mm3Jrl7+s05z9FIkiSBiIiIiIiIiIiIhKJVugAiIiIiIiIiIiKyPDb+iIiIiIiIiIiIBMTGHxERERERERERkYDY+CMiIiIiIiIiIhIQG39EREREREREREQCYuOPiIiIiIiIiIhIQGz8ERERERERERERCYiNPyIiIiIiIiIiIgGx8UdERERERERERCQgNv6IiIiIiIiIiIgExMYfERERERERERGRgNj4IyIiIiIiIiIiEhAbf0RERERERERERAJi44+IiIiIiIiIiEhAbPwREREREREREREJiI0/IiIiIiIiIiIiAbHxR0REREREREREJCA2/oiIiIiIiIiIiATExh8REREREREREZGA2PgjIiIiIiIiIiISEBt/REREREREREREAmLjj4iIiIiIiIiISEBs/BEREREREREREQmIjT8iIiIiIiIiIiIBsfFHREREREREREQkIDb+iIiIiIiIiIiIBMTGHxERERERERERkYDY+CMiIiIiIiIiIhIQG39EREREREREREQCYuOPiIiIiIiIiIhIQGz8ERERERERERERCYiNPyIiIiIiIiIiIgE5Kl2AaMJf/Aqp1/RKlwH3IF/0XDqxQnO8ewi4mWGhgirI3wWY3c66z6mW19LaLPHesWdqet+IlANKZACpm5o+a9bCfK44tbxvRMpngBlNhanlc2ZtzOiKUdP7RqSMZj4TwMafxaVe0yP5YozSZVjEzQzgSqrSVShHpNeSrEe094295wCpl2ifNbIOkd43zGdSK5E+Z2Q9or1vmNGkJjzVl4iIiIiIiIiISEBs/BEREREREREREQmIjT8iIiIiIiIiIiIBsfFHREREREREREQkIF7cQyGdvnsL9YZ3BwAYDQZk3k5G7P5IHJ/xKzL0iQpXZ75r37+EhJ1L829otdBV9YN7sx7wf+FLOHn5K1sckUqJlAPMACISiUj5DDCjiUgsImU085msgUf8KUh/8CzWNH8N69qMwp63voNX0yB0mz9e6bLKza1xZzRfEotmC28gePxKZFw9gSszhypdFpGqiZQDzAAiEolI+Qwwo4lILCJlNPOZ5MbGn4KMOXnIjEtGhj4Rtw+ew4UVO1CjbQPo3JyVLq1cNI5O0FX1hZOXP9ybdIH3YyORfuEADBkpSpdGpFoi5QAzgIhEIlI+A8xoIhKLSBnNfCa5sfGnEs4+VRHUvz2MeQZIBqPS5VRYTsItJP27DtA65P9HRGUSKQeYAUQkEpHyGWBGE5FYRMpo5jPJgWv8Kci3QxM8e2k5NFotHJ0rAQAi525EXmY2AKDbgvG4tfsULq7YAQCo1jQYXX4aiz97TYAhO1exukuSGrkLJ4a7QTIaIeVkAgB8Bo6HQ2VXAEDSgfWIXfNZocdkRZ9F4Gvfw7vPKKvXS6QGIuUAM4CIRCJSPgPMaCISi0gZzXwmudl04+/UqVOYMmUKdu3aBUmS0KNHD8ydOxchISHo168fVq9erXSJpYo7HoV9Y/8Lh0o6BD3RATU7N8eJmasK7j88eTH6bJiG65sPITspDWFfvY5DHy1SXVDd4xrSDkHjlkLKyULSvrVIObUDNZ+dXnB/1bBBqBo2qOB28sE/cHP5R/Dq8aIS5ZIgJEnCmUtJuJOYBTcXHUIbecHR0XYOZhYpB5gBRPSwlLQcnL6YiDyDhDoB7qjl56Z0SSYTKZ8BZjQRFXX+ajJu3cmAS2VHhDb2gpPOdo4wEymjmc8kN5tt/IWHh6N///6oXbs2PvnkEzg7O2PJkiXo06cP0tLS0LJlS6VLLJMhKwep1/QAgJNfr4F7kC/affEq/n3/ZwBAhj4RZ+ZtQpvJzyP+xCXcvRKL2H0RSpZcKq2TMyr71QMAONduimz9ZUTPfxu1xywoMjYnPgY35r2FelO3QFvJxdqlVohP+0Zo8sYTqNY0CG4B3jg+cxVOf/e70mXZHUmSsGLTJcxaFomTF+5fvaumtwveHNYQE15qhsqV1B9xIuWAvWQAqRszWh1u3k7H9PknsezPS8jIygMAaDTA4x0C8NFrLdC5ta/CFZZNpHwGmNGkPOazeqzbdhVfLzmNw5HxBdu8q1bG6081wKTXWsDNRadgdaYRKaOZzyQ32zks5gFxcXEYPnw4QkNDceLECUyYMAFjxoxBeHg4bty4AQA20fh72Mlv1qDe8O7walG3YNv5xVvh2SAQzcYMxJHPlipYnfn8RnyK+PDFSI86Wmi7ZDTi6uzn4PvURLgENVeouvJzdKmM5KhoHJ22HBm3k5Quxy5JkoT3vz2MFz7eg1MXEwvdFxufgSk/HkfvUX8j839/bNoSkXJA1AwgdWNGK+9KTAraPbsRP/92vqDpBwCSBGzdH4Mer23G2r+vKFhh+YiUzwAzmqyP+awO0+adwND3d+LImfhC2+OTszBj4Sl0e2UzUtJyFKqu/ETKaOYzWZpNNv5mzpyJpKQkLF68GM7O96/aU6VKFYSGhgKwzcZf6lU9orcfRejEEfc3ShIuLNuOmPDjyE6wrav6VK5ZH55tB+DWio8LbY9dOx0Ozh6o0f9thSqrmJs7T+D4jJW4tvFfGHPUd6i4PVi95QpmLYsEkP+H5IPu3d59VI/x3xyycmUVJ1IOiJoBpG7MaGVJkoSBY3fg5p2MEscYjBKem7QbUdfvWrGyihMpnwFmNFkf81l5m/dGY8qPxwGUvA997Gw8Rk3/18qVVZxIGc18Jkuzycbf6tWr0blzZ4SEhBR7v4+PD3x9808hycvLw9ixY1GtWjV4enri1VdfRVZWljXLNUvkTxvh360lfMOa3N9oNEIySiU/SMV8Bk1AysltSI3YBQBIO7cfCTsWIeidxYrWRbZt9vJIaDRlj1u8IQpJKdnyF2RhIuUAM4DIvvxzOBYRUaUfySNJQG6eEXPXnrNSVZYjUj4DzGgie/PdikiTxq3ZegW37qTLXI3liZTRzGeyJPUvgPUQvV6PmzdvYvjw4UXuMxqNiIiIQKtWrQq2zZgxA//88w8iIiLg5OSEJ554Ah988AHmzJlj0vPl5eVBr9ebXF9urmmnFu4b92Ox2+OOXsASvyEmP19pdcTExFRwDh8Apq3vEDR2SbHb3Rp1QOsN+UGbl5aMq7OfR9A7S+Do4WVmLbmIiblt1mMqytTXUjSWeO/I6eqt9CKnJpQkK9uAxb+fxLBe/jJXdZ857xuRckDEDCB1s8eMVns+A8CC30z7oxIAlm2MwnsjAmSspijupxXGjCY52GM+A+rP6PjkbGw/cMuksQajhPlrT+C1gUHyFvUA7kMXxnymkvj6+sLR0bxWns01/tLT87950BRzuM+GDRtw586dQqf5Lly4EP/5z3/g75//h/+nn36KoUOHYvbs2XBwKPuqRXq9HoGBgSbXN92rF/x1HiaPl8vFixcxzIy6i9P4h0g412pS9kATxW2di9ykWET/8m6h7V7dX4TPk++W8Kh8Fy9eRODjTS1WiynU8lpamyXeO7JyqQvUnWTy8PEffIrx8VtlLKgwNb1v1JYDtpYBpG5q+qxZi+rzGQBqjwHcW8CUw7ITkrPM2seyBLW8b9SWzwAzmixHLZ8za1N9RlfyA0KmmTz8s+mz8Nnb62UsqDA1vW/UltHMZ3pQdHQ0AgLM++LU5hp/gYGBcHBwwO7duwttv379Ot5+O/9c93uNv+TkZERHRxdqBIaGhiI1NRXXrl1D3bp1YQsurd2FS2t3KV1GhfkNmQS/IaY3bIiKZcg0b7zRzPEqJUIOMAOI7IAhy6SmHyQJMNreUgzFESGfAWY0kfAMZi53ZVTv8ljmECGjmc9UUTbX+HNycsILL7yAxYsX48knn0S/fv0QHR2NBQsWwMfHBzdv3ixo9KWmpgIAPD09Cx5/79/37iuLr68voqOjTa7vwLCvkH7V9FOD5RISEoLotb9UaI63z/ogWiV5HxISgr/NeB0sQS2vpbVZ4r0jJ6NRQpfX9+KGPrPIosQP02qBg+EL4Ve9snWKg7reNyLlgBIZQOqmps+atag9nwHgr316vDnjVNkDNRoMfbwuZv1tn7/bRcpngBlNhanlc2Ztas9oSZLQb+xBRF5OKXMfGgD+2TAL9QLny1/Y/6jpfSNSRjOfxXPvehbmsLnGHwDMmTMHOp0OGzZswM6dOxEWFob169fj888/x6VLlwou+uHu7g4AuHv3bsH/nOTk5EL3lcXR0dGswyh1OnX8L9XpzKu72DmiAKggrABAp9NV+Ocx/zmLfy0dXSrDIzj//aTVOcLZ2xPVmgQhNz0LqdfU8cuqIizx3pHbuOea492vy75i78DuQWjbsp4VKrpPLRkAiJUDSmQAqZs9ZrQt5PMrT9XE5wuiEBufUeYflhNeaYOAAG/rFPY/aslokfIZYEZTYfaYz4BtZPR7L2bi5cl7yxzXs11NdAtraIWK7lNLPgNiZTTzmQAbbfy5ublh3rx5mDdvXqHtkZGRaNasGbTa/IsVe3p6IjAwECdPnkSDBg0AACdOnIC7uzuCgoKsXTYJonqLuuj9f58V3G70Sh80eqUP9P+ewdanpipYmf0YM6Ixwg/dwqY9JX97VSfAHT990sGKVRGRGjCjlaXTafHbtz3w6OtbkJVtwMO9P40m/yzf6WNao21T6zb9iEhZzGflvTCgPrYfuIWVmy8X5PHDanq7YNFnnaxfHBHJxiYbf8VJTk5GTEwM+vXrV2j7a6+9hi+//BKdO3eGTqfDp59+ipdeesmkC3sQFUd/4IxFrhZF5efoqMX/zX4Uk388hrlrziElPbfgPgetBkMeC8L3H4bBx8tZwSqJSAnMaOV1aOmDPUv6Yfw3h7HnWOGjeGr5umHKm63wyqAQhaojIqUwn5Wn1Wqw7IsuaBBUBd//egaJd++vtarVAE90r405E9sj0NdNwSqJyNK0ShdgKREREQBQ6EIeAPDRRx+hS5cuaNKkCerVq4dGjRph5syZClRIRJak02nx1bi2uBU+Aj99fP/IvsMrn8Dq//Rg04+ISEFtmnhj9+J+2Davd8G25TO64vLmoWz6EREpyMFBiylvtsLNHU9j/pSOBdsPLB+A9d89yqYfkYCEb/w5Ojpizpw5SEpKwt27d7Fo0SI4O6unIVD/mZ7ou/EL9NkwDZ4NaxU7pvfvnyFs5kgrV1Y+8dsW4vwHHXB+YidkXosodsyFj7vh+k9vWrkyEpWriw4Dut7/7NSopp7Pt6lEygFmABE9qFGwZ8G/u7Xxg4ODbe16ipTPADOaiO6rXMkRfToFFtyuWcNVwWrKR6SMZj6TnGxr76sUo0ePhiRJaN++vdKlmMzJ0w0NXnwMWwZPwf735qLdtJeLjAl4tDVy0zIVqM58eamJiNs6Fw1m7EbQmEWIXji2yJjkI5vg4GzahVWI7IFIOcAMICKRiJTPADOaiMQiUkYzn0luwjT+bJF3q3rQ/3sGUp4BKZdvoVI1j/xVr+/RaNDw5d44v2SrckWaIT3qMNyadoPGUYfKAQ2QlxIPyWgsuF8yGhG3+Ud4931LwSqJ1EWkHGAGEJFIRMpngBlNRGIRKaOZzyQ3Nv4U5OTphpy76QW3c9My4eThUnC73rBuuL75EAxZucU9XHUMqYlwdKtacFvr7A5Dxt2C2wk7l8IzbDC0uspKlEekSiLlADOAiEQiUj4DzGgiEotIGc18Jrmx8aegnLvpcPK4v5aCzs0ZOSkZAACHSjrUGdwZl1bvVKo8szm4VYUhPbngtjEzFQ4uVfL/nZOFxN2/onrPoodgE9kzkXKAGUBEIhEpnwFmNBGJRaSMZj6T3ByVLsCexR2PQsv3h0HjoIVbYA1kJ6YAkgQAcKtVA05VXPHo8klw8nSDcw1P1B3aFZd/261w1SVzDWmHW6umQjLkIfvONTh6VIdGm99bzr59FYb0ZFya1h95aYnITdIjYecyePV4QeGqiZQlUg4wA4hIJCLlM8CMJiKxiJTRzGeSGxt/CspJTkPUynD0WT8NkmTEwUkL4d+9JZw83XB1/T5s6v0hAMA3rAmCB3ZUbVDd4+heDdV7vYYLk7oAWi1qvfEj7h7fCkNqIqp1fQaNZh0FAKRG7ELi3tUMKyKIlQPMACISiUj5DDCjiUgsImU085nkxsafwi6u2IGLK3YU3E46e73IGP2BM9AfOGPNssrN+/GR8H78gculB7coMsa9WTe4N+tmvaKIVE6kHGAGEJFIRMpngBlNRGIRKaOZzyQnrvFHREREREREREQkIDb+iIiIiIiIiIiIBMRTfS3MPchX6RIAWKYOf5eyx1iLmmohKo1aMgAQKwfUUgcR2Ta1ZLRI+QyoqxYisk1qyWdArIxWSx2kLDb+LKzn0olKl2Axs9spXQGR7REpAwDmABGJRaSMZj4TkUhEymeAGU3qwlN9iYiIiIiIiIiIBMTGHxERERERERERkYDY+CMiIiIiIiIiIhIQG39EREREREREREQCYuOPiIiIiIiIiIhIQGz8ERERERERERERCYiNPyIiIiIiIiIiIgGx8UdERERERERERCQgNv6IiIiIiIiIiIgExMYfERERERERERGRgNj4IyIiIiIiIiIiEhAbf0RERERERERERAJi44+IiIiIiIiIiEhAbPwREREREREREREJiI0/IiIiIiIiIiIiATkqXYBowl/8CqnX9EqXAfcgX/RcOrFCc7x7CLiZYaGCKsjfBZjdTukqiOwPM00ezDQiqii15DMgVkYzn4nIEtSS0SLlM8CMLi82/iws9ZoeyRdjlC7DIm5mAFdSla6CiJTETCMiUieR8hlgRhORWETKaOaz7eOpvkRERERERERERAJi44+IiIiIiIiIiEhAbPwREREREREREREJiGv8EZFNikvMxD9HYnHsbDyOn00o2P7xD0fRtY0furT2Rb1aHgpWSERknyRJwpHIeBw8fQd7j91f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Ps6sH4zXn2oAl8qOJj3u0fY1seuXvvhhUhjcXHQyV2k+kfIZYEYT2SsfL2f8Pqsn1n7Tw+S1s708K+HDV5oj4vfB6BVWvi/e5SZSRouSz6b99idZ5CSnIWplOPqsnwZJMuLgpIXw794STp5uuLp+Hzb1/hAA4BvWBMEDO+Lyb7sVrrh0ju7VUL3Xa7gwqQug1aLWGz/i7vGtMKQmolrXZ9Bo1lEAQGrELiTuXQ2vHi8oWzARWcy9Py6fH1AP+0/cxtb9MTh2NgFnryQhI8sAnaMWdQLc0bqRF7q09sWAbrXgpHNQuuxSiZTRzGci+1azhivmT+2Er997BL9tu4qDp+/g2Ll46OMzYTBIqOLuhBYh1dC6cXU89WgQQoKqKF1yqUTKZ4AZTWTPNBoNhj4WjKGPBeNwRBz+2hONY+fiEXkpCemZedA5alHbzxWtG1dHp1Y+GNijNipXUncbR6SMFiWfNZIklXzCOJntj67jkHwxRuky4BkSgIG7v6vQHMP+Aa6kWqaeiqrjDqztbt3nVMtraW2WeO8QqZGaPtMiZbQS+Qyo6/W0FuYziUwtn2mR8hngPrQ1MaNJVGr6TIuU0dbMZ57qS0REREREREREJCA2/oiIiIiIiIiIiATExh8REREREREREZGA1L0qpA1yD1LH1SktUYe/iwUKsRAlalHLa2lt9vpzk/jU9N4WKaOVqkNNr6e12OPPTPZDLe9vkfIZ4D60Ndnrz03iU9N7W6SMtmYdvLgHERERERERERGRgHiqLxERERERERERkYDY+CMiIiIiIiIiIhIQG39EREREREREREQCYuOPiIiIiIiIiIhIQGz8ERERERERERERCYiNPyIiIiIiIiIiIgGx8UdERERERERERCQgNv6IiIiIiIiIiIgExMYfERERERERERGRgNj4IyIiIiIiIiIiEhAbf0RERERERERERAJi44+IiIiIiIiIiEhAbPwREREREREREREJiI0/IiIiIiIiIiIiAbHxR0REREREREREJCA2/oiIiIiIiIiIiATExh8REREREREREZGA2PgjIiIiIiIiIiISEBt/REREREREREREAmLjj4iIiIiIiIiISEBs/BEREREREREREQmIjT8iIiIiIiIiIiIB/T/J0WUXMQ9swwAAAABJRU5ErkJggg==",
|
|
"text/plain": [
|
|
"<Figure size 1634.66x294.311 with 1 Axes>"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Find the indices of the distant gates\n",
|
|
"cut_indices = [\n",
|
|
" i\n",
|
|
" for i, instruction in enumerate(circuit.data)\n",
|
|
" if {circuit.find_bit(q)[0] for q in instruction.qubits} == {0, 3}\n",
|
|
"]\n",
|
|
"\n",
|
|
"# Decompose distant CNOTs into TwoQubitQPDGate instances\n",
|
|
"qpd_circuit, bases = cut_gates(circuit, cut_indices)\n",
|
|
"\n",
|
|
"qpd_circuit.draw(\"mpl\", scale=0.8)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "069eb942-e947-4eff-a250-9a99c5ec47f0",
|
|
"metadata": {},
|
|
"source": [
|
|
"*Generate the subexperiments to run on the backend*: `generate_cutting_experiments` accepts a circuit containing `TwoQubitQPDGate` instances and observables as a `PauliList`.\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](https://qiskit.github.io/qiskit-addon-cutting/explanation/index.html)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "83b1efed-bafa-48c4-bbf0-cf7eb9027ac5",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Generate the subexperiments and sampling coefficients\n",
|
|
"subexperiments, coefficients = generate_cutting_experiments(\n",
|
|
" circuits=qpd_circuit, observables=observables, num_samples=np.inf\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "6929264d",
|
|
"metadata": {},
|
|
"source": [
|
|
"*For comparison, we see that the QPD subexperiments will be shallower after cutting distant gates*: Here is an example of an arbitrarily chosen subexperiment generated from the QPD circuit. Its depth has been reduced by more than half. Many of these probabilistic subexperiments must be generated and evaluated in order to reconstruct an expectation value of the deeper circuit."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "70e2f1b6",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Original circuit depth after transpile: 113\n",
|
|
"QPD subexperiment depth after transpile: 48\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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1NRUTZ8+PdDlAAgCv/zyi84880z16NFDAwYMMOrvv3/++ae6d++unj17qnfv3tq5c2etvj6LUACDPPvss+rcuXOgywAAAAAAAACAkJSVlaV3331XixYt0v33369HHnkk0CUBCAIRERH66KOPNH78+ECXAiBIZGRkaNasWfr+++81cOBATZ06NdAlObVq1UqLFy/WggULdM011+iVV16p1ddnEQpgiO+++05dunRRQkJCoEsBAAAAAAAAgJC0fPly9erVSxEREerZs6d+/vnnQJcEIEhkZGQEugQAQaRBgwZKTEyUJEVHRysiwpylGXa7XTabTZKUk5Ojdu3a1e7r1+qrAfDa5MmT9cEHH+jrr78OdCkAAAAAAAAAYKSSklJ9+/1yFRYVSZLz/+U+n/WDJKlR/XR163RKlednZ2crOTlZkmSz2VRSUuLjigGY4Nf1m7Qxs+zyW+X9xuezfqjws81mU/8eXRUbEx2wOgGY43DuEX23eKUk9/2GJJ3SprlObN3M7etkZWVpypQp+vbbb2uttt/+3KI/N287bm3nndNF8XGxLl9j0aJFmjBhgrKzs/XNN9/UWm0Si1AAI3z55Zfq2bOn4uPjA10KAAAAAAAAABgrMjJCddPq6PNZi1w+vmzVOtntkbrl2ktcPp6amqp169Y5b9vt/JkECActmzbUF3MWKe/IUed9y1atq/Bzz26nsgAFgFNSYrxKSx1a8et6532V+43U5CSd3/MMt6+Rn5+vyy+/XJMnT1bdunVrrbYWTRtq+uwfdDgv321tZ3Vp73YBiiSdddZZWrZsmb755hvde++9+uijj2qtPnPO+QKEsTVr1ujrr79W//799euvv2r48OGBLgkAAAAAAAAAjNS148k6sVVTt4/379FVDeqmunysS5cu+v7771VaWqqFCxfq1FNP9VGVAEySlBCvS847x+3jjeqnq89Zp/uxIgDB4MLe3ZSWkuTyMZukywf0dLt4rbS0VFdeeaVGjx6t7t2712pdCXGxuuz8Hm4fb1A3Veed08Xt4wUFBc6fU1JSFBcXV6v1Gb8I5eGHH1a3bt0CXYZlI0aM0NChQ6vdxmaz1eppdxC87rvvPs2dO1fffvutOnTooPfee8/5WKnDEcDKAAAAAAAAAMAsNptNl53fQ/FxMVUea9O8sbqf3s7tc+vWrasrrrhCZ599th555BE9+OCDviwVgEHa/qWFTm//lyr32yMjdcWFvWSPjKz2+cOGDdPbb7+thx56SPfff7+vygRgkJiYaF0+oJdsNluVx845o6NaNm3k9rmffvqp5s6dqxdffFE9e/bUv/71r1qt7cTWzXTGqSdXuT8yIkKXX9hLUdWc7W3evHk655xz1KtXLz300EN66KGHarU2zjMHeKhhw4Z6/PHHNWLECJ++z4IFC5w/792frbc+m6Ve3Tqpc4cTffq+AAAAAAAAABAskhLLzmrw7+lznPfFxkTrsgt6KMLFH4qONXbsWI0dO9bXJQIw0MBzu2vT1l3KzjnsvO+8c7qoYb204z73/fff92VpAAzVoklD9TijoxYsXeW8r2G9NPU9q3O1zxsyZIiGDBni09oG9OqmDZk7lJV9yHlfn7NOV+MG1V/65/zzz9f555/vs7qMPxOKvxUWFga6hLBF9lXNXfKzsrIPad3GzECXAgAAAAAAAABGaXdiS53W7gTn7Yv7naWUOokBrAiA6WJjonX5gJ4qX6rWqlmGzuzSPqA1ATBfn7NOV6P66ZKkyMiIsrMn2as/e5I/REdH6YpjztTSvHED9TijY4CrMmQRypEjRzR69Gilp6crPj5e/fv314YNGyps88wzz6hhw4aqU6eObr75ZhUXFzsfe/7559WqVSvFxMSoUaNGGjNmjPOx/Px8jR8/3vncc889V7///rvz8fLL/UyePFlNmzbVX/7yF91xxx3q06dPhffPy8tTQkKCvv76a0nSv/71L51yyimKj49Xy5Yt9cADD1SoSZIcDofuuusupaamKj09XRMnTqw2h9WrV6tPnz6Kj49XkyZNdPvtt+vo0aPHzW/Lli2y2Wz65JNP1LVrV8XFxal3797at2+fPvvsM7Vp00YpKSkaP368SktLnc/LysrStddeq7S0NKWlpWnw4MHavn278/Gvv/5a3bt3V3Jysho0aKDhw4dr3759Fd53wIABSklJUWJiok499VQtW7asQq7Hqnxfz549ddttt2nUqFFKSUnRyJEjJZWdCaRbt26Ki4tTq1at9H//938qKSlxPs9ms+nVV19Vnz59FBcXp86dO+s///mPFi5cqPbt26tOnToaPny48vPznc/xtB1MmzZNTZs2VWpqqm644Qbn9bB69uypPXv26G9/+5tsNptatGghSVq1apXOOeccJSYmKjk5Wd26ddOmTZuO+5l5Yu/+bP26bqMk6dzup9XKawIAAAAAAABAKBnU50yl1ElUh5NaqePJrQNdDoAg0LJpI53dtYNioqN0+YCexz17EgCUX7YrMjJC/c7u4lyQYoJmjRuoV7dTFR1l1+UDeikiIvBLQIy4HM+ECRM0a9YsffTRR6pXr57uvvtuDRw4UGvXrpUk/fbbb5o/f76+++47ZWZmasSIEWrSpInuvvturVixQvfff78++OADtW3bVrt379aqVaucrz1mzBhlZmZq+vTpSk9P15QpU9S3b1/98ccfSkwsWxG9du1aLViwQDNnzpTNZtPRo0f17LPPas+ePWrQoIEk6auvvlJsbKz69esnSYqKitLUqVPVrFkz/fbbbxo5cqTS09N16623Ot/7m2++0dChQ7VkyRL9/PPPGjlypP7yl79o6NChVTI4cOCA+vTpo/Hjx2vKlCnKysrSTTfdpLvuukvPPfecRzlOnDhRkydPVkpKioYMGaLLL79ciYmJmj59ujIzM3XJJZeoZ8+eGjx4sKSyUwDVrVtX8+bNU0xMjCZOnKhBgwbpp59+UkREhPLz83XXXXepXbt2ysrK0u23366RI0dq+vTpkspOWZiWlqalS5cqMjJSq1atUnR0tKXPftq0abrzzju1YsUKRURE6D//+Y8GDhyof/3rX+rbt682bdqkG264QfHx8brtttucz5s0aZImT56s559/Xtdff72uvPJKJSUl6fXXX1dhYaEuuugiTZ061fkcT9rB77//rnnz5mnWrFnauXOnhgwZovbt22v8+PH67LPPdNJJJ+m+++7TFVdcocj/Xhfwyiuv1AUXXKA33nhDhYWFzt+jOm99+q2ysg9Xu40k5RzOlUNSTHSUPvhqvqVcAQAAAADBJ+tgjiTp6Vc/rvAzAAConk027dyTpWde+yTQpTgxrgNmczgciouJ0esfzQx0KQCCSGJ8vH769Q+tXPNnoEupwOFwKC42Vm99OqvWXzs9NUnXXtrf0nMCvgglNzdXr732mj766COde+65kqR33nlHTZs2dZ51pKioSG+88YbS09PVrl07PfDAA3r88cd19913a9u2bWrYsKH69OmjqKgoNWvWTF27dpUkZWZm6t///rd2796t9PSy1UhPP/20Pv30U3399de64oorJJV9KG+88YaSk5OddbVq1Uoff/yxbr75ZknShx9+qMsuu0xRUVGSVGGxSYsWLXT77bfr448/rnB/YmKipkyZoqioKJ188slauXKlJk+e7HIRyosvvqgzzzxT999/v/O+J598UoMGDdKzzz7rPIVOde6++2717NlTknT99dfrnnvu0c6dO9WoUSO1a9dOvXr10oIFCzR48GD98MMPWrNmjXbu3On8nV5//XUlJydrxYoVOuOMM3TZZZc5X7t169Z69tln1bVrVxUUFCgmJkbbtm3T5ZdfrpNOOkmSdMIJJ1Sp6Xg6duyoBx980Hn7+uuv1/XXX6/Ro0c73/eBBx7QU089VWERyo033qhBgwZJksaNG6dhw4bpxx9/VJcuXSRJl112mRYsWKDbbrvN43Zgs9n02muvKT4+XqeccoqGDBmi+fPna/z48UpLS1NERISSk5PVsGFDZx3btm3ThRdeqNaty1bYn3zyyZYzcKWkpEQFhUWSpIT42Fp5TQAAAAAAAAAIRVFRAf9TB4AgY7PZFB0dFegyAASZGEP7DZvNZlRtAT8Xy8aNG1VUVKTu3bs770tPT9eJJ56o9evXSypbEFK+eECSunXrpl27diknJ0d9+vSR3W5Xq1atNHLkSH3++efOy+KsXbtWJSUlat68uRITE5WYmKikpCTt2LFDGzdudL5e69atKyxAkaShQ4fqgw8+kCQdOnRIM2fO1LBhw5yPz5o1Sz179lSjRo2UmJio+++/X1u3bq3wGp06dXIu8Cive926dS5z+PXXX/XNN98460xMTNRFF12k/Px87dq1y6Ms27f/3zXrGjRooLS0NDVq1KjCfeWX0/n111914MABpaamOt+vXr16Ki4udmbz559/asiQIWrRooWSkpLUo0cPORwO5yV7br75Zt14443q06ePHn/88QqZeur000+vksPUqVMr5HDLLbdUee3Kv6sktW3b1uXv6mk7aNOmjeLj4523GzVqpL1791Zb/7hx49S/f38NHDhQzz33nMef1fHkHim7lFBMdJTskRxAAQAAAAAAAAAAAADMFxR/3a7uLCB16tTRqlWrNHfuXM2ePVvjxo3Tv/71L33//ffKzc1VTExMhcvzlEtLS3P+fOzCg3JDhw7VpEmTtG3bNs2fP1/p6ek655xzJEmbN2/WRRddpFtvvVVPPPGEUlNT9cEHH+jFF1/0uO7KcnNzddlll2nixIlVHqtfv75Hr3HsghebzVbhdvl9paWlzvdr0aKFZs2qekqe8kUdAwcO1Iknnqg333xTDRs21NatW3XeeeepqKjsDB033nij+vXrpxkzZujbb7/Vww8/rPfff1+DBw9WRESEHA5Hhdctf96xKmefm5urcePG6cYbb7T0u7q679jf1ZN2UF1e7kyaNEnDhw/X119/rc8//1z333+/5syZo27dulX7vOpwFhQAAAAAAAAAAAAAQDAK+CKU1q1bKyoqSkuWLNHFF18sScrKytIff/zhvITNxo0bdeDAAeeCgWXLlqlhw4bOs5dERUWpf//+6t+/v2699VY1b95ca9as0amnnqqjR48qJyenyhk3jueUU05R+/bt9eGHH2revHm64oorFBFRduKYlStXym636/HHH3duX/ksKJL0yy+/qLi4WHa73Vl3+aVrKjv11FP1zTffqFWrVs738aVTTz1V27dvV0JCQoWzpZTbv3+//vzzT7377rvq3LmzpLLfu7IWLVro5ptv1s0336zrrrtOb7zxhgYPHqx69epVOSvI6tWrPapr3bp1atOmjZe/mevX9LYdHCs6OlolJSVV7j/llFN0yimn6O9//7t69+6t9957r9pFKMe7Ztb7X85V1sFDavuXFrp6cD+v6wUAAAAABJenX/1YknT7DUMq/AwAAIIP4zoAAAhXAb8cT2Jiom644QbddtttmjdvntasWaOrr75azZs31wUXXCCpbJHJddddp99++00zZ87Uo48+qltuuUWSNGPGDL3wwgtavXq1tmzZorfffltxcXFq3ry5TjzxRA0ZMkTDhg3T119/rc2bN2vx4sW66667nJf6qc7QoUP12muv6bvvvqtwKZ42bdooLy9Pr7zyijZu3KgpU6bos88+q/L8w4cPa+zYsVq/fr3ef/99TZ061Vl3ZWPHjtW2bdv0t7/9Tb/88ov+85//aPr06fr73//uTazH1bdvX3Xq1EkXX3yx5s+fr82bN2v+/PkaM2aMDh48qLS0NKWlpTl/x6+//lqTJk2q8Bq33Xab5syZo82bN2vp0qX68ccfnYtsevTooe3bt+vZZ5/Vhg0b9PTTT2vRokXHrevOO+/UnDlzdOedd2rt2rVat26d3n//fT322GNe/641bQflWrRoofnz52vXrl3Kzs5Wfn6+brnlFi1cuFCZmZmaN2+efvvtN7cLjTyxd3+2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",
|
|
"text/plain": [
|
|
"<Figure size 2843.88x321.067 with 1 Axes>"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Transpile the decomposed circuit to the same layout\n",
|
|
"transpiled_qpd_circuit = pm.run(subexperiments[100])\n",
|
|
"\n",
|
|
"print(f\"Original circuit depth after transpile: {transpiled_qc.depth()}\")\n",
|
|
"print(\n",
|
|
" f\"QPD subexperiment depth after transpile: {transpiled_qpd_circuit.depth()}\"\n",
|
|
")\n",
|
|
"transpiled_qpd_circuit.draw(\n",
|
|
" \"mpl\", scale=0.6, style=\"iqp\", idle_wires=False, fold=-1\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "87368cb9",
|
|
"metadata": {},
|
|
"source": [
|
|
"*On the other hand, cutting results in the need of extra sampling*. Here we cut three CNOT gates, resulting in a sampling overhead of $9^3$. For more on the sampling overhead incurred by circuit cutting, refer to the [Circuit Knitting Toolbox documentation](https://qiskit-extensions.github.io/circuit-knitting-toolbox/circuit_cutting/explanation/index.html)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "2ab65bd4",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Sampling overhead: 729.0\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(f\"Sampling overhead: {np.prod([basis.overhead for basis in bases])}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "fd9a126c",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Step 3: Execute using Qiskit primitives\n",
|
|
"\n",
|
|
"Execute the target circuits (\"subexperiments\") with the Sampler Primitive.\n",
|
|
"\n",
|
|
"* Input: Target circuits\n",
|
|
"* Output: Quasi-probability distributions"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "a437de20-2042-4e62-87a7-804058cff5db",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Transpile the subexperiments to the backend's instruction set architecture (ISA)\n",
|
|
"isa_subexperiments = pm.run(subexperiments)\n",
|
|
"\n",
|
|
"# Set up the Qiskit Runtime Sampler primitive. For a fake backend, this will use a local simulator.\n",
|
|
"sampler = SamplerV2(backend)\n",
|
|
"\n",
|
|
"# Submit the subexperiments\n",
|
|
"job = sampler.run(isa_subexperiments)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "ca53d638",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Retrieve the results\n",
|
|
"results = job.result()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "32d35001",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"ctz3qexg22kg0084t560\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(job.job_id())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f04d9134-651b-446e-93f4-aa0281786200",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Step 4: Post-process and return result in desired classical format\n",
|
|
"\n",
|
|
"Use the subexperiment results, subobservables, and sampling coefficients to reconstruct the expectation value of the original circuit.\n",
|
|
"\n",
|
|
"Input: Quasi-probability distributions\n",
|
|
"Output: Reconstructed expectation values"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "ace12f7f",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Final reconstructed expectation value\n",
|
|
"0.543823242187498\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"reconstructed_expvals = reconstruct_expectation_values(\n",
|
|
" results,\n",
|
|
" coefficients,\n",
|
|
" observables,\n",
|
|
")\n",
|
|
"# Reconstruct final expectation value\n",
|
|
"final_expval = np.dot(reconstructed_expvals, [1] * len(observables))\n",
|
|
"print(\"Final reconstructed expectation value\")\n",
|
|
"print(final_expval)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "e6237a6f",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Ideal expectation value\n",
|
|
"1.2283177520039992\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"ideal_expvals = [\n",
|
|
" Statevector(circuit).expectation_value(SparsePauliOp(observable))\n",
|
|
" for observable in observables\n",
|
|
"]\n",
|
|
"print(\"Ideal expectation value\")\n",
|
|
"print(np.dot(ideal_expvals, [1] * len(observables)).real)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "e366d14e",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Tutorial survey\n",
|
|
"\n",
|
|
"Please take one minute to provide feedback on this tutorial. Your insights will help us improve our content offerings and user experience.\n",
|
|
"\n",
|
|
"[Link to survey](https://your.feedback.ibm.com/jfe/form/SV_2ftYFf9t72yFNIO)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "2f4233ea",
|
|
"metadata": {},
|
|
"source": [
|
|
"© IBM Corp. 2024"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"description": "Build a Qiskit Pattern for cutting gates in a quantum circuit to reduce circuit depth.",
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3"
|
|
},
|
|
"platform": "cloud",
|
|
"title": "Reduce transpiled circuit depth with circuit cutting"
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|