{ "cells": [ { "cell_type": "markdown", "id": "a9320fa8-31c5-4248-96b0-3549a13dda6f", "metadata": {}, "source": [ "### Simulating quantum systems with Pauli propagation\n", "\n", "In this tutorial we will use the ``pauli-prop`` package to classically simulate the time dynamics of a 10-qubit kicked Ising model on a 1D spin chain. The Hamiltonian considered is:\n", "\n", "$H = -J\\sum\\limits_{\\langle i,j \\rangle} Z_iZ_j + h\\sum\\limits_iX_i$\n", "\n", "where $J>0$ describes the coupling of nearest-neighbor spins, $i" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "from qiskit import QuantumCircuit\n", "from qiskit.quantum_info import SparsePauliOp\n", "from qiskit.transpiler import CouplingMap\n", "\n", "num_qubits = 10\n", "coupling_map = CouplingMap.from_line(num_qubits, bidirectional=False)\n", "\n", "# Num Trotter steps\n", "num_steps = 20\n", "theta_rx = np.pi / 6\n", "\n", "# Average single-site magnetization\n", "observable = (\n", " SparsePauliOp([\"I\" * iq + \"Z\" + \"I\" * (num_qubits - iq - 1) for iq in range(num_qubits)])\n", " / num_qubits\n", ")\n", "\n", "# Create the Trotter circuit\n", "num_qubits = 10\n", "num_steps = 20\n", "theta_rx = np.pi / 6\n", "circuit = QuantumCircuit(num_qubits)\n", "edges = CouplingMap.from_line(num_qubits, bidirectional=False).get_edges()\n", "for _ in range(num_steps):\n", " circuit.rx(theta_rx, [i for i in range(num_qubits)])\n", " for edge in edges:\n", " circuit.sdg(edge)\n", " circuit.ry(np.pi / 2, edge[1])\n", " circuit.cx(edge[0], edge[1])\n", " circuit.ry(-np.pi / 2, edge[1])\n", "circuit.draw(\"mpl\", fold=-1)" ] }, { "cell_type": "markdown", "id": "c05fa0f8-605e-4172-8880-0de89360f27d", "metadata": {}, "source": [ "#### Simulate the time evolution of the system\n", "\n", "Once we have our circuit, $U$, and observable, $O$, we can easily simulate the system in a few steps:\n", "\n", "- Separate $U$, into its Clifford, $C$, and non-Clifford, $P$, parts such that $U=PC$ using ``evolve_through_cliffords``\n", "- Propagate $O$ through $P$, resulting in a new operator, $O^\\prime$, using ``pauli_prop.propagate_through_circuit``\n", "- Evolve $O^\\prime$ through the Clifford part of the circuit using Qiskit's built-in Clifford evolution support\n", "- Approximate the expectation value as $\\langle0|O^\\prime|0\\rangle \\approx \\langle0|U^\\dagger OU|0\\rangle$ by summing the coefficients in $O^\\prime$ associated with fully-diagonal Pauli terms (i.e. Pauli terms containing either ``I`` or ``Z`` on all qubits). Remember, this is an approximation because we truncated terms from $O^\\prime$ as we propagated it through the non-Clifford part of the circuit." ] }, { "cell_type": "code", "execution_count": 2, "id": "c8a27469-ab72-4d50-9544-d446af847da5", "metadata": {}, "outputs": [], "source": [ "import time\n", "\n", "from pauli_prop import evolve_through_cliffords, propagate_through_circuit\n", "\n", "cliff, non_cliff = evolve_through_cliffords(circuit)\n", "\n", "max_terms_list = [10**i for i in range(8)]\n", "approx_evs = []\n", "durations = []\n", "for max_terms in max_terms_list:\n", " st = time.time()\n", " evolved_obs = propagate_through_circuit(\n", " observable, non_cliff, max_terms=max_terms, atol=1e-12, frame=\"h\"\n", " )[0]\n", " evolved_obs.paulis = evolved_obs.paulis.evolve(cliff, frame=\"h\")\n", " durations.append(time.time() - st)\n", " approx_evs.append(float(evolved_obs.coeffs[~evolved_obs.paulis.x.any(axis=1)].sum()))" ] }, { "cell_type": "markdown", "id": "7fb3e72f-20fb-4fd0-a301-2fcc6c0ddad5", "metadata": {}, "source": [ "#### Visualize\n", "\n", "As we run larger calculations, the expectation value approximations become more accurate. In this example, we saturate the full Pauli space at around $4^{10}\\approx10^6$, which is reflected in the curve flattening out between the final two points.\n", "\n", "While the plot below shows a monotonic convergence, Pauli propagation simulations do not generally converge monotonically. **It is not unusual to see \"bumpy\" behavior in these types of plots.**" ] }, { "cell_type": "code", "execution_count": 3, "id": "f12410aa-ef3b-4ee6-ab35-f7e9001a92b8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Simulating 20-step 1D Ising Model')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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X3D8+HF+++23YtfasmULixcv5sUXX8TW1pZvvvmG3r17Ex0dXenfr4p68skn+e677/jjjz/o1atXhc59+OGHOXLkCGPGjMHPz4/U1FT+/PNPzp07d8ubSD766CPUajWvvPIKmZmZfPLJJzz++OPs3r3bUGbmzJmMHj2a7t27M27cOM6cOUO/fv1wc3OjcePG5Y7zscce49577+XUqVO0aNEC0A9VGDBgANbW1iXKb9iwgT59+tC8eXMmTZpEbm4uX331FXfccQcxMTGG13b48GHuvfdeGjRowKRJkygqKmLixIml/s188MEHvPPOOwwaNIinn36atLQ0vvrqK+666y72799f6hdUIeoERQhRzB9//KFoNBpFo9Eo3bp1U1577TVl/fr1SkFBQYmyTZs2VYYOHWrYnzdvngIoERERik6nMxzv1q2bolKplOeee85wrKioSGncuLHSo0cPw7FNmzYpgLJp06Zi10lISFAAZd68eYZjEydOVP77J5yTk1MixoiICKV58+bFjrVv377YdW92/R49eiiA8sMPPxiO5efnK97e3srDDz9sOPbZZ58pgPLbb78ZjuXm5ipt27Yt9TWVx48//qgAypw5cwzH9uzZUyKe61599VUFUPLy8m5ar4uLizJq1Kiblrn//vuVpk2blhqTWq1Wtm7dWuz4rFmzFEDZvn274RigAMrevXsNx86ePavY2dkp/fv3v+n1/8vR0bHY79qNrv8upKWllfr85cuXFeCW17z++7tnz55i502dOvWm5/Xo0aPU3+N27dop+fn5huPTp09XAOXw4cOKouh/j+rXr6907dpVKSwsNJSbP3++ApT6O/pfTZs2Ve6//36lqKhI8fb2Vt577z1FURQlLi5OAZQtW7aUeF2KoihBQUGKp6encunSJcOxgwcPKmq1WhkyZIjhWL9+/RQ7Ozvl7NmzhmNxcXGKRqMp9vd35swZRaPRKB988EGx+A4fPqxYWVkVOz506NBSf7eEqK2km1uI/+jVqxc7d+7kwQcf5ODBg3zyySdERETg4+PDihUrylXHiBEjinVPhoaGoigKI0aMMBzTaDR06dKF06dPGy12e3t7w3ZmZibp6en06NGD06dPk5mZWel6nZyceOKJJwz7NjY2hISEFIt93bp1+Pj48OCDDxqO2dnZMXLkyEpd89ixY4waNYpu3boxdOhQ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "from qiskit_aer import AerSimulator\n", "\n", "sim_circ = circuit.copy()\n", "sim_circ.save_statevector()\n", "backend = AerSimulator(method=\"statevector\")\n", "psi = backend.run(sim_circ).result().data()[\"statevector\"]\n", "exact_ev = psi.expectation_value(observable)\n", "\n", "ax1 = plt.gca()\n", "ax1.plot(max_terms_list, approx_evs, marker=\"o\", label=\"Approximate\")\n", "ax1.axhline(exact_ev, linestyle=\"--\", color=\"green\", label=\"Exact\")\n", "ax1.set_xscale(\"log\")\n", "ax1.set_xlabel(\"# terms kept\")\n", "ax1.set_ylabel(r\"$\\frac{1}{N} \\sum_{i=1}^{N} \\langle z_i \\rangle$\")\n", "\n", "ax2 = ax1.twinx()\n", "ax2.plot(max_terms_list, durations, marker=\".\", label=\"Runtime\", color=\"orange\")\n", "ax2.set_ylabel(\"Runtime (s)\", color=\"orange\")\n", "ax2.set_yscale(\"log\")\n", "\n", "handles1, labels1 = ax1.get_legend_handles_labels()\n", "handles2, labels2 = ax2.get_legend_handles_labels()\n", "ax1.legend(handles1 + handles2, labels1 + labels2, loc=\"lower right\")\n", "\n", "plt.title(f\"Simulating {num_steps}-step 1D Ising Model\")" ] } ], "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.12.9" } }, "nbformat": 4, "nbformat_minor": 5 }