From 200b8ed941f4a6904dc9d2d0a8e11514148ff1a7 Mon Sep 17 00:00:00 2001 From: Henry Zou Date: Mon, 27 Apr 2026 14:28:26 -0400 Subject: [PATCH 01/33] Add warm-start QAOA tutorial MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a new tutorial demonstrating how to warm-start QAOA on Max-Cut problems by initializing the circuit from a continuous relaxation solution (Egger, Mareček, Woerner 2020), using the qiskit-addon-opt-mapper package. Registers it in the tutorials TOC and index, sets reviewer notifications, and excludes it from notebook CI like other tutorials. --- docs/tutorials/_toc.json | 4 + docs/tutorials/index.mdx | 2 + docs/tutorials/warm-start-qaoa.ipynb | 1404 +++++++++++++++++ .../extracted-outputs/00ae1953-1.avif | Bin 0 -> 70056 bytes .../extracted-outputs/00ae1953-2.avif | Bin 0 -> 9006 bytes .../extracted-outputs/6fad9eda-1.avif | Bin 0 -> 6131 bytes .../extracted-outputs/a35f3b21-1.avif | Bin 0 -> 32233 bytes .../extracted-outputs/a35f3b21-3.avif | Bin 0 -> 4595 bytes .../extracted-outputs/a35f3b21-5.avif | Bin 0 -> 213853 bytes .../extracted-outputs/step1-graph-code-0.avif | Bin 0 -> 3508 bytes .../extracted-outputs/step2-draw-code-1.avif | Bin 0 -> 4918 bytes .../step4-convergence-code-0.avif | Bin 0 -> 9748 bytes .../step4-visualize-code-0.avif | Bin 0 -> 7328 bytes qiskit_bot.yaml | 3 + scripts/config/notebook-testing.toml | 1 + 15 files changed, 1414 insertions(+) create mode 100644 docs/tutorials/warm-start-qaoa.ipynb create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/00ae1953-1.avif create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/00ae1953-2.avif create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/6fad9eda-1.avif create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/a35f3b21-1.avif create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/a35f3b21-3.avif create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/a35f3b21-5.avif create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step1-graph-code-0.avif create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step2-draw-code-1.avif create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step4-convergence-code-0.avif create mode 100644 public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step4-visualize-code-0.avif diff --git a/docs/tutorials/_toc.json b/docs/tutorials/_toc.json index 8ae9b376172..6fbf87072cb 100644 --- a/docs/tutorials/_toc.json +++ b/docs/tutorials/_toc.json @@ -40,6 +40,10 @@ "title": "Advanced techniques for QAOA", "url": "/docs/tutorials/advanced-techniques-for-qaoa" }, + { + "title": "Warm-starting QAOA with the Optimization Addon", + "url": "/docs/tutorials/warm-start-qaoa" + }, { "title": "Pauli correlation encoding to reduce Maxcut requirements", "url": "/docs/tutorials/pauli-correlation-encoding-for-qaoa" diff --git a/docs/tutorials/index.mdx b/docs/tutorials/index.mdx index 1542df207f8..f710dfeb598 100644 --- a/docs/tutorials/index.mdx +++ b/docs/tutorials/index.mdx @@ -37,6 +37,8 @@ The tutorials highlight techniques where repeated sampling enables estimation of * [Advanced techniques for QAOA](/docs/tutorials/advanced-techniques-for-qaoa) +* [Warm-starting QAOA with the Optimization Addon](/docs/tutorials/warm-start-qaoa) + * [Pauli Correlation Encoding to reduce Maxcut requirements](/docs/tutorials/pauli-correlation-encoding-for-qaoa) * [Implicit solvent calculations using Qiskit Serverless](/docs/tutorials/implicit-solvent-calculations) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb new file mode 100644 index 00000000000..fe42a1099f8 --- /dev/null +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -0,0 +1,1404 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d2c31ae8", + "metadata": {}, + "source": [ + "---\n", + "title: Warm-starting QAOA with the Optimization Addon\n", + "description: Improve QAOA convergence on Max-Cut problems by initializing with the solution of a continuous relaxation, using the qiskit-addon-opt-mapper package.\n", + "---\n", + "\n", + "# Warm-starting QAOA with the Optimization Addon\n", + "*Usage estimate: 9 minutes on heron v3 (NOTE: This is an estimate only. Your runtime may vary.)*" + ] + }, + { + "cell_type": "markdown", + "id": "8bf80006", + "metadata": {}, + "source": [ + "## Prerequisites and Learning Outcomes\n", + "We suggest that users are familiar with the following topics before going through this tutorial: [Please flag to tutorial lead if there are prereqs which would be very important but we do not have anything on platform]\n", + "- [QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/quantum-approximate-optimization-algorithm)\n", + "- [Advanced QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/advanced-techniques-for-qaoa)\n", + "\n", + "After going through this tutorial users should understand:\n", + "- How to map a Max-Cut problem to a quantum QUBO formulation using `qiskit-addon-opt-mapper`\n", + "- How to implement and run standard QAOA on a simulator\n", + "- How to apply WS-QAOA by computing the QP relaxation and building the warm-start circuit\n", + "- How to compare energy convergence and solution quality between standard QAOA and WS-QAOA\n", + "\n", + "## Background\n", + "\n", + "The Quantum Approximate Optimization Algorithm (QAOA) is a hybrid quantum-classical algorithm designed to solve combinatorial optimization problems such as Max-Cut and general QUBO formulations. For a foundational introduction to QAOA in Qiskit, see the [QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/quantum-approximate-optimization-algorithm); for more advanced circuit-building techniques, see the [advanced QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/advanced-techniques-for-qaoa).\n", + "\n", + "In standard QAOA:\n", + "- The initial state is the uniform superposition $|+\\rangle^{\\otimes n}$.\n", + "- Variational parameters are randomly initialized.\n", + "- A classical optimizer searches for parameters that minimize the cost function.\n", + "\n", + "However, for practical problem sizes and noisy quantum hardware, random initialization can lead to slow convergence, poor local minima, and increased optimization cost.\n", + "\n", + "**Warm-start QAOA** (WS-QAOA) improves this by incorporating classical optimization insights directly into the quantum circuit. This tutorial follows the methods introduced by Egger, Mare\u010dek, and Woerner in [*Warm-starting quantum optimization*](https://arxiv.org/abs/2009.10095). The key idea is to:\n", + "\n", + "1. **Solve a continuous relaxation** of the original binary problem (a quadratic program over $[0,1]^n$ instead of $\\{0,1\\}^n$).\n", + "2. **Encode the relaxed solution** $c^*_i \\in [0,1]$ into a custom initial state via $Y$-rotation angles $\\theta_i = 2\\arcsin(\\sqrt{c^*_i})$, so that qubit $i$ starts in a state whose probability of measuring $|1\\rangle$ is $c^*_i$.\n", + "3. **Replace the standard $X$-mixer** with a custom mixer whose ground state is the warm-start initial state, ensuring the algorithm starts near the classical solution and can explore the neighborhood.\n", + "\n", + "A regularization parameter $\\varepsilon \\in [0, 0.5]$ clips $c^*_i$ away from 0 and 1 to avoid reachability issues \u2014 qubits initialized in $|0\\rangle$ or $|1\\rangle$ cannot be moved by the cost Hamiltonian. At $\\varepsilon = 0.5$, WS-QAOA reduces exactly to standard QAOA.\n", + "\n", + "Problem modeling uses the [`qiskit-addon-opt-mapper`](https://qiskit.github.io/qiskit-addon-opt-mapper/) package, which provides the `OptimizationProblem` class and converters for mapping combinatorial problems to quantum Hamiltonians." + ] + }, + { + "cell_type": "markdown", + "id": "55b94021", + "metadata": {}, + "source": [ + "## Requirements\n", + "Before starting this tutorial, be sure you have the following installed:\n", + "\n", + "* Qiskit SDK v2.0 or later, with [visualization](/docs/api/qiskit/visualization) support\n", + "* Qiskit Runtime v0.43 or later (`pip install qiskit-ibm-runtime`)\n", + "* Qiskit addon optimization mapper (`pip install qiskit-addon-opt-mapper`)\n", + "* SciPy (`pip install scipy`)\n", + "* NetworkX (`pip install networkx`)" + ] + }, + { + "cell_type": "markdown", + "id": "7db2e559", + "metadata": {}, + "source": [ + "## Setup\n", + "\n", + "Import all required libraries and define helper functions used throughout this tutorial." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "bc380c46", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import networkx as nx\n", + "from scipy.optimize import minimize\n", + "\n", + "from qiskit.circuit import QuantumCircuit, ParameterVector\n", + "from qiskit.quantum_info import Statevector\n", + "from qiskit.primitives import StatevectorEstimator, StatevectorSampler\n", + "from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager\n", + "from qiskit_ibm_runtime import (\n", + " QiskitRuntimeService,\n", + " Session,\n", + " EstimatorOptions,\n", + " EstimatorV2 as Estimator,\n", + " SamplerV2 as Sampler,\n", + ")\n", + "\n", + "from qiskit_addon_opt_mapper import OptimizationProblem\n", + "from qiskit_addon_opt_mapper.converters import OptimizationProblemToQubo\n", + "from qiskit_addon_opt_mapper.translators import to_ising" + ] + }, + { + "cell_type": "markdown", + "id": "431a5bd2-e6ed-471b-ad9e-c4edd27784a8", + "metadata": {}, + "source": [ + "# Small Scale Simulator Example\n", + "\n", + "We use a small **Max-Cut** problem on a weighted graph as our running example. Max-Cut asks: given a graph $G=(V,E)$ with edge weights $w_{ij}$, find a partition of the vertices into two sets $S$ and $\\bar{S}$ that maximizes the total weight of edges crossing the cut.\n", + "\n", + "As a QUBO minimization problem, Max-Cut can be written as:\n", + "$$\\min_{x \\in \\{0,1\\}^n} -\\sum_{(i,j) \\in E} w_{ij}(x_i + x_j - 2x_i x_j)$$\n", + "\n", + "We work with a 4-node graph for tractability on a simulator." + ] + }, + { + "cell_type": "markdown", + "id": "988ee237", + "metadata": {}, + "source": [ + "### Step 1: Map classical inputs to a quantum problem\n", + "\n", + "We define the Max-Cut problem using the `OptimizationProblem` class from `qiskit-addon-opt-mapper`, convert it to a QUBO, and translate it to an Ising Hamiltonian (`SparsePauliOp`) suitable for QAOA. We also solve the continuous relaxation of the QUBO \u2014 replacing the binary constraint $x_i \\in \\{0,1\\}$ with $x_i \\in [0,1]$ \u2014 to obtain the warm-start initial point $c^*$." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "step1-graph-code", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Define a 4-node weighted graph for the Max-Cut problem\n", + "n_nodes = 4\n", + "edges = [(0, 1, 1.0), (0, 2, 1.0), (1, 2, 1.0), (1, 3, 1.0), (2, 3, 1.0)]\n", + "\n", + "G = nx.Graph()\n", + "G.add_nodes_from(range(n_nodes))\n", + "G.add_weighted_edges_from(edges)\n", + "\n", + "pos = nx.spring_layout(G, seed=42)\n", + "edge_labels = {(u, v): d[\"weight\"] for u, v, d in G.edges(data=True)}\n", + "\n", + "fig, ax = plt.subplots(figsize=(4, 3))\n", + "nx.draw(G, pos, with_labels=True, node_color=\"lightblue\", ax=ax)\n", + "nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels, ax=ax)\n", + "ax.set_title(\"Max-Cut graph\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "step1-graph-md", + "metadata": {}, + "source": [ + "The graph has 5 edges. The optimal Max-Cut partitions the nodes into $S = \\{0, 3\\}$ and $\\bar{S} = \\{1, 2\\}$ (or its complement), severing 4 of the 5 edges for a cut value of 4." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "step1-qubo-code", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Problem name: max_cut\n", + "\n", + "Minimize\n", + " 2*x0*x1 + 2*x0*x2 + 2*x1*x2 + 2*x1*x3 + 2*x2*x3 - 2*x0 - 3*x1 - 3*x2 - 2*x3\n", + "\n", + "Subject to\n", + " No constraints\n", + "\n", + " Binary variables (4)\n", + " x0 x1 x2 x3\n", + "\n" + ] + } + ], + "source": [ + "# Build the Max-Cut QUBO using OptimizationProblem\n", + "#\n", + "# Max-Cut as a minimization QUBO:\n", + "# minimize -sum_{(i,j) in E} w_ij * (x_i + x_j - 2*x_i*x_j)\n", + "#\n", + "# Expanding: each edge contributes -w*(x_i + x_j) to the linear terms\n", + "# and +2w*x_i*x_j to the quadratic terms.\n", + "prob = OptimizationProblem(\"max_cut\")\n", + "x_vars = [prob.binary_var(name=f\"x{i}\") for i in range(n_nodes)]\n", + "\n", + "linear_terms = {}\n", + "quadratic_terms = {}\n", + "for u, v, w in edges:\n", + " linear_terms[f\"x{u}\"] = linear_terms.get(f\"x{u}\", 0.0) - w\n", + " linear_terms[f\"x{v}\"] = linear_terms.get(f\"x{v}\", 0.0) - w\n", + " quadratic_terms[(f\"x{u}\", f\"x{v}\")] = (\n", + " quadratic_terms.get((f\"x{u}\", f\"x{v}\"), 0.0) + 2 * w\n", + " )\n", + "\n", + "prob.minimize(linear=linear_terms, quadratic=quadratic_terms)\n", + "print(prob.prettyprint())" + ] + }, + { + "cell_type": "markdown", + "id": "step1-qubo-md", + "metadata": {}, + "source": [ + "The `OptimizationProblem` class from `qiskit-addon-opt-mapper` provides a flexible model for binary, integer, continuous, and spin variables. Here all variables are binary and the problem is already in unconstrained form (QUBO), so no constraint-to-penalty conversion is needed. The printed objective shows each variable's linear coefficient (how much it individually contributes to the cut) and each cross-term's quadratic coefficient (the penalty for putting two adjacent nodes on the same side)." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "step1-ising-code", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost Hamiltonian H_C (4 qubits):\n", + "SparsePauliOp(['IIZZ', 'IZIZ', 'IZZI', 'ZIZI', 'ZZII'],\n", + " coeffs=[0.5+0.j, 0.5+0.j, 0.5+0.j, 0.5+0.j, 0.5+0.j])\n", + "\n", + "Offset (constant shift): -2.5\n", + " QUBO value = Ising energy + offset\n" + ] + } + ], + "source": [ + "# Convert the OptimizationProblem to a QUBO, then translate to an Ising Hamiltonian\n", + "#\n", + "# The substitution x_i = (1 - z_i)/2 maps binary variables to spin operators,\n", + "# yielding a Hamiltonian H_C = sum_i h_i Z_i + sum_{i to find the ground state, which encodes the optimal cut.\n", + "converter = OptimizationProblemToQubo()\n", + "qubo = converter.convert(prob)\n", + "\n", + "cost_operator, offset = to_ising(qubo)\n", + "n_qubits = cost_operator.num_qubits\n", + "\n", + "print(f\"Cost Hamiltonian H_C ({n_qubits} qubits):\")\n", + "print(cost_operator)\n", + "print(f\"\\nOffset (constant shift): {offset}\")\n", + "print(\" QUBO value = Ising energy + offset\")" + ] + }, + { + "cell_type": "markdown", + "id": "step1-ising-md", + "metadata": {}, + "source": [ + "The `to_ising` translator returns a `SparsePauliOp` representing $H_C$ and a scalar `offset` such that $\\text{QUBO value} = \\langle H_C \\rangle + \\text{offset}$. For this Max-Cut problem with all unit weights, $h_i = 0$ for all qubits (the graph is symmetric in linear terms after the $x_i \\to z_i$ substitution), and each edge contributes a $Z_i Z_j$ coupling of strength $+0.5$. The minimum eigenvalue of $H_C$ corresponds to the maximum cut." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "step1-qp-code", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "QP relaxation solution c* = [1. 0. 0. 1.]\n", + "QP objective value = -4.0000\n" + ] + } + ], + "source": [ + "# Solve the continuous (QP) relaxation to obtain the warm-start point c*\n", + "#\n", + "# The QP relaxation replaces the binary constraint x_i in {0,1} with x_i in [0,1]\n", + "# and minimizes the same quadratic objective. Its solution c*_i gives the\n", + "# probability that variable i should be 1 according to the classical relaxation.\n", + "#\n", + "# The Max-Cut QUBO has a non-convex quadratic matrix (negative eigenvalues),\n", + "# so the relaxed problem has multiple local minima. A naive single start from\n", + "# [0.5,...,0.5] converges to the symmetric saddle point c* = [0.5,...,0.5],\n", + "# which carries no useful structural information about the problem.\n", + "# Multi-start optimization is used to reliably find the global minimum.\n", + "Q = qubo.objective.quadratic.to_array(symmetric=True)\n", + "mu = qubo.objective.linear.to_array()\n", + "\n", + "\n", + "def qp_objective(x_cont):\n", + " \"\"\"Continuous relaxation of the QUBO objective.\"\"\"\n", + " return x_cont @ Q @ x_cont + mu @ x_cont + qubo.objective.constant\n", + "\n", + "\n", + "bounds = [(0.0, 1.0)] * n_qubits\n", + "\n", + "rng = np.random.default_rng(42)\n", + "best_val = np.inf\n", + "c_star = None\n", + "for _ in range(200):\n", + " x0 = rng.uniform(0.0, 1.0, n_qubits)\n", + " result = minimize(qp_objective, x0, method=\"L-BFGS-B\", bounds=bounds)\n", + " if result.fun < best_val:\n", + " best_val = result.fun\n", + " c_star = result.x\n", + "\n", + "print(f\"QP relaxation solution c* = {np.round(c_star, 4)}\")\n", + "print(f\"QP objective value = {best_val:.4f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "step1-qp-md", + "metadata": {}, + "source": [ + "The multi-start solver finds $c^* = [1, 0, 0, 1]$ (or its complement $[0, 1, 1, 0]$), which is the actual optimal binary solution. For this problem the QP relaxation is tight, the continuous minimum coincides with the integer optimum, meaning the relaxation immediately identifies the best cut. After regularization with $\\varepsilon = 0.25$ in Step 2, this solution will be encoded into the warm-start initial state." + ] + }, + { + "cell_type": "markdown", + "id": "ac6f36e3", + "metadata": {}, + "source": [ + "### Step 2: Optimize problem for quantum hardware execution\n", + "\n", + "We build two QAOA circuits and prepare the warm-start angles from the QP solution.\n", + "\n", + "**Standard QAOA** uses the uniform superposition $|+\\rangle^{\\otimes n}$ as the initial state and the standard $X$-mixer $H_M = -\\sum_i X_i$, implemented as $\\prod_i R_X(-2\\beta)$ per layer.\n", + "\n", + "**Warm-start QAOA (WS-QAOA)** from [\\[1\\]](#Reference1) makes two structural changes per qubit $i$:\n", + "- **Initial state:** $R_Y(\\theta_i)|0\\rangle$ with $\\theta_i = 2\\arcsin(\\sqrt{c^*_i})$, so the probability of measuring $|1\\rangle$ equals $c^*_i$.\n", + "- **Custom mixer:** $R_Y(\\theta_i)\\, R_Z(-2\\beta)\\, R_Y(-\\theta_i)$, which has $R_Y(\\theta_i)|0\\rangle$ as its ground state. This means WS-QAOA starts in the ground state of its own mixer, the same property that standard QAOA satisfies with $|+\\rangle$ and the $X$-mixer.\n", + "\n", + "Note on layers: At `p=1`(a single QAOA layer), standard QAOA is analytically limited to ~49% of the optimal energy on graphs containing triangles (this graph has the triangle 0-1-2). The warm start bypasses this limitation by encoding prior knowledge of the solution directly into the initial state." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "step2-angles-code", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Continuous relaxation c* = [1. 0. 0. 1.]\n", + "After regularization = [0.75 0.25 0.25 0.75]\n", + "Warm-start angles theta = [2.0944 1.0472 1.0472 2.0944] radians\n", + "\n", + "Angle interpretation:\n", + " theta = 0 <-> c* = 0 (qubit points toward |0>)\n", + " theta = pi/2 <-> c* = 0.5 (qubit in equal superposition, like |+>)\n", + " theta = pi <-> c* = 1 (qubit points toward |1>)\n" + ] + } + ], + "source": [ + "# Number of QAOA layers (each layer = one cost unitary + one mixer unitary)\n", + "p = 1\n", + "\n", + "# Regularization: clip c* to [epsilon, 1-epsilon] so no qubit is initialized\n", + "# in |0> or |1>, which would freeze it under the cost Hamiltonian.\n", + "epsilon = 0.25\n", + "\n", + "c_clipped = np.clip(c_star, epsilon, 1 - epsilon)\n", + "thetas = 2 * np.arcsin(np.sqrt(c_clipped))\n", + "\n", + "print(f\"Continuous relaxation c* = {np.round(c_star, 4)}\")\n", + "print(f\"After regularization = {np.round(c_clipped, 4)}\")\n", + "print(f\"Warm-start angles theta = {np.round(thetas, 4)} radians\")\n", + "print()\n", + "print(\"Angle interpretation:\")\n", + "print(\" theta = 0 <-> c* = 0 (qubit points toward |0>)\")\n", + "print(\n", + " \" theta = pi/2 <-> c* = 0.5 (qubit in equal superposition, like |+>)\"\n", + ")\n", + "print(\" theta = pi <-> c* = 1 (qubit points toward |1>)\")" + ] + }, + { + "cell_type": "markdown", + "id": "step2-angles-md", + "metadata": {}, + "source": [ + "After clipping, $c^* = 1$ becomes $1 - \\varepsilon = 0.75$ and $c^* = 0$ becomes $\\varepsilon = 0.25$. The resulting angles $\\theta \\approx [2.09, 1.05, 1.05, 2.09]$ radians rotate qubits 0 and 3 strongly toward $|1\\rangle$ and qubits 1 and 2 toward $|0\\rangle$, directly encoding the structure of the optimal cut into the initial quantum state." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "step2-circuit-builders-code", + "metadata": {}, + "outputs": [], + "source": [ + "def apply_cost_unitary(qc, cost_op, gamma):\n", + " \"\"\"Apply exp(-i * gamma * H_C) to the circuit.\n", + "\n", + " Each Pauli term in H_C contributes a rotation gate:\n", + " - Single-Z term h_i * Z_i -> RZ(2 * gamma * h_i) on qubit i\n", + " - Two-Z term J_ij * Z_i Z_j -> CNOT, RZ(2 * gamma * J_ij), CNOT\n", + " \"\"\"\n", + " for pauli_term, coeff in zip(cost_op.paulis, cost_op.coeffs):\n", + " indices = [\n", + " j for j, q in enumerate(pauli_term.to_label()[::-1]) if q == \"Z\"\n", + " ]\n", + " if len(indices) == 1:\n", + " qc.rz(2 * gamma * coeff.real, indices[0])\n", + " elif len(indices) == 2:\n", + " qc.cx(indices[0], indices[1])\n", + " qc.rz(2 * gamma * coeff.real, indices[1])\n", + " qc.cx(indices[0], indices[1])\n", + "\n", + "\n", + "def build_standard_qaoa(cost_op, n_layers, n_qubits):\n", + " \"\"\"Standard QAOA: uniform superposition initial state + X-mixer.\"\"\"\n", + " gammas = ParameterVector(\"\u03b3\", n_layers)\n", + " betas = ParameterVector(\"\u03b2\", n_layers)\n", + " qc = QuantumCircuit(n_qubits)\n", + " qc.h(range(n_qubits)) # |+>^n\n", + " for k in range(n_layers):\n", + " apply_cost_unitary(qc, cost_op, gammas[k])\n", + " # H_M = -sum X_i => exp(-i*beta*H_M) = prod_i RX(-2*beta)\n", + " qc.rx(-2 * betas[k], range(n_qubits))\n", + " return qc, gammas, betas\n", + "\n", + "\n", + "def build_ws_qaoa(cost_op, n_layers, n_qubits, thetas):\n", + " \"\"\"WS-QAOA: warm-start initial state + custom per-qubit mixer.\n", + "\n", + " Per Egger et al. (2021) Eq. (1)-(2):\n", + " Initial state per qubit i: R_Y(theta_i) |0>\n", + " Mixer gate per qubit i: R_Y(theta_i) R_Z(-2*beta) R_Y(-theta_i)\n", + " \"\"\"\n", + " gammas = ParameterVector(\"\u03b3\", n_layers)\n", + " betas = ParameterVector(\"\u03b2\", n_layers)\n", + " qc = QuantumCircuit(n_qubits)\n", + " for i, theta in enumerate(thetas):\n", + " qc.ry(theta, i) # warm-start initial state\n", + " for k in range(n_layers):\n", + " apply_cost_unitary(qc, cost_op, gammas[k])\n", + " for i, theta in enumerate(thetas):\n", + " qc.ry(theta, i)\n", + " qc.rz(-2 * betas[k], i)\n", + " qc.ry(-theta, i)\n", + " return qc, gammas, betas\n", + "\n", + "\n", + "std_qc, std_gammas, std_betas = build_standard_qaoa(\n", + " cost_operator, p, n_qubits\n", + ")\n", + "ws_qc, ws_gammas, ws_betas = build_ws_qaoa(cost_operator, p, n_qubits, thetas)" + ] + }, + { + "cell_type": "markdown", + "id": "step2-circuit-builders-md", + "metadata": {}, + "source": [ + "The `apply_cost_unitary` helper reads directly from the `SparsePauliOp` Hamiltonian, so it automatically handles any QUBO problem without manual circuit construction. The WS-QAOA mixer applies three rotations per qubit per layer ($R_Y$, $R_Z$, $R_Y$), compared to a single $R_X$ in the standard mixer \u2014 a modest overhead that is constant in the number of qubits." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "step2-draw-code", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Standard QAOA circuit (p=1):\n" + ] + }, + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"Standard QAOA circuit (p=1):\")\n", + "std_qc.draw(\"mpl\", fold=-1)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "6fad9eda", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "WS-QAOA circuit (p=1):\n" + ] + }, + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"\\nWS-QAOA circuit (p=1):\")\n", + "ws_qc.draw(\"mpl\", fold=-1)" + ] + }, + { + "cell_type": "markdown", + "id": "step2-draw-md", + "metadata": {}, + "source": [ + "Both circuits follow the same structure: an initial state preparation layer, then $p$ alternating cost-unitary and mixer-unitary layers. In the WS-QAOA circuit, the opening $R_Y$ gates encode $c^*$, and the mixer replaces each $R_X$ with a conjugated $R_Y$\u2013$R_Z$\u2013$R_Y$ triplet. The circuit depth difference between the two grows linearly with $p$, but remains manageable at low depth." + ] + }, + { + "cell_type": "markdown", + "id": "b4d480b3", + "metadata": {}, + "source": [ + "### Step 3: Execute using Qiskit primitives\n", + "\n", + "We use `StatevectorEstimator` for exact, noiseless simulation. The `minimize` function from SciPy with the COBYLA optimizer drives the variational loop, calling the estimator at each iteration to evaluate $\\langle H_C \\rangle$ for a given parameter set $(\\gamma, \\beta)$.\n", + "\n", + "The two algorithms use different initial parameters that reflect what each knows before optimization:\n", + "- **Standard QAOA:** Random initialization in $[0, \\pi]$ \u2014 appropriate since no structural information is available.\n", + "- **WS-QAOA:** $\\gamma = 0$, $\\beta = \\pi/4$ \u2014 at $\\gamma=0$ the cost unitary is the identity, so the very first circuit evaluation samples directly from the warm-start initial state. This gives COBYLA a strong starting signal aligned with the classical solution." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "step3-optimize-code", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Standard QAOA optimal energy : -0.5859\n", + " optimal params: gamma=[2.0534], beta=[2.4612]\n", + " optimizer calls: 36\n", + "\n", + "WS-QAOA optimal energy : -1.5000\n", + " optimal params: gamma=[-0.0001], beta=[1.5708]\n", + " optimizer calls: 42\n" + ] + } + ], + "source": [ + "estimator = StatevectorEstimator()\n", + "\n", + "\n", + "def make_cost_fn(circuit, param_order, cost_op, estimator, history):\n", + " \"\"\"Return a scalar cost function compatible with scipy.optimize.minimize.\"\"\"\n", + "\n", + " def cost_fn(params):\n", + " bound = circuit.assign_parameters(dict(zip(param_order, params)))\n", + " job = estimator.run([(bound, cost_op)])\n", + " energy = job.result()[0].data.evs.real\n", + " history.append(energy)\n", + " return energy\n", + "\n", + " return cost_fn\n", + "\n", + "\n", + "# Standard QAOA: random initialization\n", + "np.random.seed(42)\n", + "std_params0 = np.random.uniform(0, np.pi, 2 * p)\n", + "std_history = []\n", + "std_param_order = list(std_gammas) + list(std_betas)\n", + "\n", + "std_result = minimize(\n", + " make_cost_fn(\n", + " std_qc, std_param_order, cost_operator, estimator, std_history\n", + " ),\n", + " std_params0,\n", + " method=\"COBYLA\",\n", + " options={\"maxiter\": 300, \"rhobeg\": 0.5},\n", + ")\n", + "print(f\"Standard QAOA optimal energy : {std_result.fun:.4f}\")\n", + "print(\n", + " f\" optimal params: gamma={std_result.x[:p].round(4)}, beta={std_result.x[p:].round(4)}\"\n", + ")\n", + "print(f\" optimizer calls: {len(std_history)}\")\n", + "\n", + "\n", + "# WS-QAOA: informed initialization\n", + "ws_params0 = np.concatenate([np.zeros(p), np.full(p, np.pi / 4)])\n", + "ws_history = []\n", + "ws_param_order = list(ws_gammas) + list(ws_betas)\n", + "\n", + "ws_result = minimize(\n", + " make_cost_fn(ws_qc, ws_param_order, cost_operator, estimator, ws_history),\n", + " ws_params0,\n", + " method=\"COBYLA\",\n", + " options={\"maxiter\": 300, \"rhobeg\": 0.5},\n", + ")\n", + "print(f\"\\nWS-QAOA optimal energy : {ws_result.fun:.4f}\")\n", + "print(\n", + " f\" optimal params: gamma={ws_result.x[:p].round(4)}, beta={ws_result.x[p:].round(4)}\"\n", + ")\n", + "print(f\" optimizer calls: {len(ws_history)}\")" + ] + }, + { + "cell_type": "markdown", + "id": "step3-optimize-md", + "metadata": {}, + "source": [ + "WS-QAOA's informed starting point means COBYLA begins with a meaningful energy value near the warm-start solution, while standard QAOA starts from an essentially random point on the energy landscape. This difference in starting quality is the main driver of the convergence gap visible in Step 4." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "step3-reference-code", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact optimal energy : -1.5000\n", + "Standard QAOA approx. ratio : 0.3906\n", + "WS-QAOA approx. ratio : 1.0000\n" + ] + } + ], + "source": [ + "# Compute the exact optimal energy by brute-force over all 2^n bitstrings\n", + "all_energies = [\n", + " Statevector.from_label(format(k, f\"0{n_qubits}b\"))\n", + " .expectation_value(cost_operator)\n", + " .real\n", + " for k in range(2**n_qubits)\n", + "]\n", + "optimal_energy = min(all_energies)\n", + "\n", + "print(f\"Exact optimal energy : {optimal_energy:.4f}\")\n", + "print(f\"Standard QAOA approx. ratio : {std_result.fun / optimal_energy:.4f}\")\n", + "print(f\"WS-QAOA approx. ratio : {ws_result.fun / optimal_energy:.4f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "step3-reference-md", + "metadata": {}, + "source": [ + "The approximation ratio is defined as $\\langle H_C \\rangle_{\\text{QAOA}} / E_{\\text{opt}}$. For minimization problems where $E_{\\text{opt}} < 0$, a ratio closer to 1 means the algorithm found a lower energy, i.e., a better solution. The brute-force search over all $2^n$ basis states is only feasible for small $n$ and serves as a ground-truth reference." + ] + }, + { + "cell_type": "markdown", + "id": "50b94af2", + "metadata": {}, + "source": [ + "### Step 4: Post-process and return result in desired classical format\n", + "\n", + "We visualize convergence, sample the optimized circuits for bitstring solutions, decode those bitstrings back to Max-Cut partitions, and summarize the final results." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "step4-convergence-code", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "ax.plot(std_history, label=\"Standard QAOA\", alpha=0.85)\n", + "ax.plot(ws_history, label=\"WS-QAOA\", alpha=0.85)\n", + "ax.axhline(\n", + " optimal_energy,\n", + " color=\"k\",\n", + " linestyle=\"--\",\n", + " label=f\"Exact optimal ({optimal_energy:.2f})\",\n", + ")\n", + "ax.set_xlabel(\"Optimizer call\")\n", + "ax.set_ylabel(r\"$\\langle H_C \\rangle$\")\n", + "ax.set_title(\"Convergence: Standard QAOA vs. WS-QAOA\")\n", + "ax.legend()\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "step4-convergence-md", + "metadata": {}, + "source": [ + "The convergence plot shows the energy $\\langle H_C \\rangle$ at each COBYLA function evaluation. Standard QAOA at $p=1$ is limited to ~49% of the optimal energy on this graph (the theoretical maximum for $p=1$ QAOA on graphs with triangles), settling around $-0.74$. WS-QAOA, initialized close to the optimal solution, converges quickly to near $-1.5$ (the exact optimum) with far fewer iterations. This demonstrates the key advantage of the warm start: at the same circuit depth, it reaches a significantly better solution." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "step4-sample-code", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Standard QAOA most-probable bitstring : 0110\n", + " Partition: S=[0, 3], S\u0304=[1, 2] | cut value = 4.0\n", + "\n", + "WS-QAOA most-probable bitstring : 0110\n", + " Partition: S=[0, 3], S\u0304=[1, 2] | cut value = 4.0\n" + ] + } + ], + "source": [ + "# Sample the optimized circuits to recover the most probable bitstring solutions\n", + "sampler = StatevectorSampler()\n", + "shots = 1024\n", + "\n", + "\n", + "def get_best_bitstring(circuit, param_order, optimal_params, sampler, shots):\n", + " bound = circuit.assign_parameters(dict(zip(param_order, optimal_params)))\n", + " bound.measure_all()\n", + " job = sampler.run([bound], shots=shots)\n", + " counts = job.result()[0].data.meas.get_counts()\n", + " return max(counts, key=counts.get), counts\n", + "\n", + "\n", + "def evaluate_cut(bitstring, G):\n", + " \"\"\"Compute the Max-Cut value for a bitstring node assignment.\"\"\"\n", + " x = [int(b) for b in bitstring]\n", + " cut_val = sum(\n", + " w for u, v, w in G.edges.data(\"weight\", default=1) if x[u] != x[v]\n", + " )\n", + " set0 = [i for i, b in enumerate(bitstring) if b == \"0\"]\n", + " set1 = [i for i, b in enumerate(bitstring) if b == \"1\"]\n", + " return cut_val, set0, set1\n", + "\n", + "\n", + "# Qiskit bitstring ordering: rightmost character = qubit 0\n", + "def decode_bitstring(bs):\n", + " return bs[::-1]\n", + "\n", + "\n", + "std_best, _ = get_best_bitstring(\n", + " std_qc, std_param_order, std_result.x, sampler, shots\n", + ")\n", + "ws_best, _ = get_best_bitstring(\n", + " ws_qc, ws_param_order, ws_result.x, sampler, shots\n", + ")\n", + "\n", + "std_cut, std_s0, std_s1 = evaluate_cut(decode_bitstring(std_best), G)\n", + "ws_cut, ws_s0, ws_s1 = evaluate_cut(decode_bitstring(ws_best), G)\n", + "\n", + "print(f\"Standard QAOA most-probable bitstring : {std_best}\")\n", + "print(f\" Partition: S={std_s0}, S\u0304={std_s1} | cut value = {std_cut}\")\n", + "print()\n", + "print(f\"WS-QAOA most-probable bitstring : {ws_best}\")\n", + "print(f\" Partition: S={ws_s0}, S\u0304={ws_s1} | cut value = {ws_cut}\")" + ] + }, + { + "cell_type": "markdown", + "id": "step4-sample-md", + "metadata": {}, + "source": [ + "Bitstrings from Qiskit's `Sampler` are returned with qubit 0 at the rightmost position, so reversing the string maps index $i$ to variable $x_i$. The cut value is the total weight of edges that cross the partition, this is what the Max-Cut problem aims to maximize. A cut value of 4 uses 4 of the 5 available edges, which is the theoretical maximum for this graph." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "step4-visualize-code", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "=== Summary ===\n", + "Method Ising energy Cut value Approx. ratio\n", + "-----------------------------------------------------------------\n", + "Standard QAOA -0.5859 4.0 0.3906\n", + "WS-QAOA -1.5000 4.0 1.0000\n", + "Exact optimal -1.5000 4 1.0000\n" + ] + } + ], + "source": [ + "# Visualize the WS-QAOA solution on the graph\n", + "fig, axes = plt.subplots(1, 2, figsize=(8, 3))\n", + "\n", + "for ax, s0, s1, cut, title in [\n", + " (axes[0], std_s0, std_s1, std_cut, f\"Standard QAOA (cut = {std_cut})\"),\n", + " (axes[1], ws_s0, ws_s1, ws_cut, f\"WS-QAOA (cut = {ws_cut})\"),\n", + "]:\n", + " colors = [\"skyblue\" if i in s0 else \"salmon\" for i in G.nodes()]\n", + " nx.draw(G, pos, with_labels=True, node_color=colors, ax=ax)\n", + " nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels, ax=ax)\n", + " ax.set_title(title)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "# Summary\n", + "# to_ising offset: QUBO value = Ising energy + offset, so Max-Cut value = -(Ising energy + offset)\n", + "optimal_cut = -(optimal_energy + offset)\n", + "print(\"=== Summary ===\")\n", + "print(\n", + " f\"{'Method':<20} {'Ising energy':>14} {'Cut value':>12} {'Approx. ratio':>15}\"\n", + ")\n", + "print(\"-\" * 65)\n", + "print(\n", + " f\"{'Standard QAOA':<20} {std_result.fun:>14.4f} {std_cut:>12} {std_result.fun/optimal_energy:>15.4f}\"\n", + ")\n", + "print(\n", + " f\"{'WS-QAOA':<20} {ws_result.fun:>14.4f} {ws_cut:>12} {ws_result.fun/optimal_energy:>15.4f}\"\n", + ")\n", + "print(\n", + " f\"{'Exact optimal':<20} {optimal_energy:>14.4f} {optimal_cut:>12.0f} {'1.0000':>15}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "step4-visualize-md", + "metadata": {}, + "source": [ + "The graph visualization colors each node by its partition assignment (blue = $S$, orange = $\\bar{S}$). Edges that cross the partition (connecting differently colored nodes) are the ones counted in the cut.\n", + "\n", + "Both methods find a bitstring with cut value 4, but for very different reasons. It is important to note that the **convergence plot and the sampled bitstring measure two different things**:\n", + "\n", + "- The **convergence plot** tracks the average energy $\\langle H_C \\rangle$ of the full quantum state, a weighted average over all bitstrings in the superposition. Standard QAOA converges to ~$-0.62$, well above the optimal $-1.50$, meaning its quantum state is spread across many suboptimal bitstrings and only occasionally includes the correct answer.\n", + "- The **sampled bitstring** is a single draw from that state. Standard QAOA got lucky here; the optimal partition happened to be the most frequently sampled outcome even from a diffuse state. On harder problems, noisier hardware, or with more candidate solutions competing, this luck runs out.\n", + "\n", + "WS-QAOA, by contrast, converges its average energy all the way to $-1.50$, meaning its quantum state is concentrated on the optimal bitstrings. Nearly every shot returns the correct answer, so the solution is found reliably rather than by chance.\n", + "\n", + "The practical consequence: on this small noiseless simulator the difference may seem minor, but at larger problem sizes or on real hardware, a state with average energy close to optimal is far more robust than one that only occasionally samples the right answer from a diffuse distribution." + ] + }, + { + "cell_type": "markdown", + "id": "0d6db390-e7a8-4efe-902c-8d9a312170c6", + "metadata": {}, + "source": [ + "# Large Scale Hardware Example" + ] + }, + { + "cell_type": "markdown", + "id": "ae69c5e0-32b1-4f03-ab13-7b95a9acfd25", + "metadata": {}, + "source": [ + "### Steps 1-4 compress into single code block (pull out changes if something uniquely needs to be done for large scale )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d58164ca-3b20-441c-9777-728497580cab", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using backend: ibm_boston\n" + ] + } + ], + "source": [ + "# Selecting a backend using real hardware\n", + "service = QiskitRuntimeService()\n", + "backend = service.least_busy(\n", + " operational=True, simulator=False, min_num_qubits=127\n", + ")\n", + "print(f\"Using backend: {backend.name}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "a35f3b21", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Graph: 40 nodes, 60 edges (3-regular)\n" + ] + }, + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost operator: 40 qubits, 60 Pauli terms\n", + "c* range: [0.000, 1.000] theta range: [1.047, 2.094] rad\n" + ] + }, + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Transpiled circuit: 2Q depth=94\n" + ] + }, + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# \u2500\u2500 Step 1a: Build the 40-node Max-Cut problem \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# A 3-regular graph (every node has exactly 3 neighbours) is a standard QAOA\n", + "N_LARGE = 40\n", + "G_large = nx.random_regular_graph(d=3, n=N_LARGE, seed=0)\n", + "edges_large = list(G_large.edges())\n", + "print(f\"Graph: {N_LARGE} nodes, {len(edges_large)} edges (3-regular)\")\n", + "\n", + "# Visualize the graph so it is clear what problem we are solving before any\n", + "# quantum work. Nodes in a circular layout; each edge contributes +1 to the\n", + "# cut value when its endpoints land in different partitions.\n", + "pos_large = nx.circular_layout(G_large)\n", + "fig, ax = plt.subplots(figsize=(6, 6))\n", + "nx.draw(\n", + " G_large,\n", + " pos_large,\n", + " with_labels=True,\n", + " node_color=\"lightblue\",\n", + " node_size=400,\n", + " font_size=7,\n", + " ax=ax,\n", + ")\n", + "ax.set_title(f\"40-node 3-regular Max-Cut graph ({len(edges_large)} edges)\")\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "\n", + "prob_large = OptimizationProblem(\"max_cut_40\")\n", + "x_large = [prob_large.binary_var(name=f\"x{i}\") for i in range(N_LARGE)]\n", + "\n", + "lin_large, quad_large = {}, {}\n", + "for u, v in edges_large:\n", + " lin_large[f\"x{u}\"] = lin_large.get(f\"x{u}\", 0.0) - 1.0\n", + " lin_large[f\"x{v}\"] = lin_large.get(f\"x{v}\", 0.0) - 1.0\n", + " quad_large[(f\"x{u}\", f\"x{v}\")] = (\n", + " quad_large.get((f\"x{u}\", f\"x{v}\"), 0.0) + 2.0\n", + " )\n", + "\n", + "prob_large.minimize(linear=lin_large, quadratic=quad_large)\n", + "\n", + "converter_large = OptimizationProblemToQubo()\n", + "qubo_large = converter_large.convert(prob_large)\n", + "cost_op_large, offset_large = to_ising(qubo_large)\n", + "n_qubits_large = cost_op_large.num_qubits\n", + "print(\n", + " f\"Cost operator: {n_qubits_large} qubits, {len(cost_op_large)} Pauli terms\"\n", + ")\n", + "\n", + "# \u2500\u2500 Step 1b: QP relaxation (multi-start L-BFGS-B) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# Same multi-start approach as the small example. At 40 qubits the relaxed\n", + "# landscape has many more local minima, so 200 random starts are essential\n", + "# to find a low-energy warm-start point.\n", + "Q_large = qubo_large.objective.quadratic.to_array(symmetric=True)\n", + "mu_large = qubo_large.objective.linear.to_array()\n", + "\n", + "\n", + "def qp_obj_large(x):\n", + " return x @ Q_large @ x + mu_large @ x + qubo_large.objective.constant\n", + "\n", + "\n", + "bounds_large = [(0.0, 1.0)] * n_qubits_large\n", + "rng_qp = np.random.default_rng(42)\n", + "best_val_large, c_star_large = np.inf, None\n", + "\n", + "for _ in range(200):\n", + " x0 = rng_qp.uniform(0.0, 1.0, n_qubits_large)\n", + " res = minimize(qp_obj_large, x0, method=\"L-BFGS-B\", bounds=bounds_large)\n", + " if res.fun < best_val_large:\n", + " best_val_large, c_star_large = res.fun, res.x\n", + "\n", + "# Regularise and convert to rotation angles (same formula as small example)\n", + "epsilon_large = 0.25\n", + "c_clipped_large = np.clip(c_star_large, epsilon_large, 1 - epsilon_large)\n", + "thetas_large = 2 * np.arcsin(np.sqrt(c_clipped_large))\n", + "print(\n", + " f\"c* range: [{c_star_large.min():.3f}, {c_star_large.max():.3f}] \"\n", + " f\"theta range: [{thetas_large.min():.3f}, {thetas_large.max():.3f}] rad\"\n", + ")\n", + "\n", + "# Plot the distribution of c* values to see how much structure the relaxation\n", + "# extracted. Values near 0/1 mean confident assignments; values near 0.5 mean\n", + "# the classical solver was uncertain and quantum exploration is most needed there.\n", + "fig, ax = plt.subplots(figsize=(6, 3))\n", + "ax.hist(c_star_large, bins=20, color=\"steelblue\", edgecolor=\"white\")\n", + "ax.axvline(0.5, color=\"k\", linestyle=\"--\", label=\"Uniform prior (std QAOA)\")\n", + "ax.set_xlabel(r\"$c^*_i$\")\n", + "ax.set_ylabel(\"Count\")\n", + "ax.set_title(r\"Distribution of warm-start values $c^*_i$ (40-node graph)\")\n", + "ax.legend()\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "# \u2500\u2500 Step 1c: Build WS-QAOA circuit \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# Reuse build_ws_qaoa from the small-scale section unchanged; the helper\n", + "# scales automatically with n_qubits and the cost operator size.\n", + "p_large = 1\n", + "ws_qc_large, ws_gammas_large, ws_betas_large = build_ws_qaoa(\n", + " cost_op_large, p_large, n_qubits_large, thetas_large\n", + ")\n", + "ws_qc_large.measure_all()\n", + "\n", + "# \u2500\u2500 Step 2: Transpile to hardware-native gates \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# generate_preset_pass_manager compiles the abstract circuit to th\n", + "# gate set of the backend and inserts SWAP gates wherever the cost Hamiltonian\n", + "# couples qubits that are not directly connected on the processor.\n", + "pm = generate_preset_pass_manager(optimization_level=3, backend=backend)\n", + "ws_isa_large = pm.run(ws_qc_large)\n", + "\n", + "ecr_count = ws_isa_large.count_ops().get(\"ecr\", 0)\n", + "print(\n", + " f\"\\nTranspiled circuit: 2Q depth={ws_isa_large.depth(lambda x: x.operation.num_qubits == 2)}\"\n", + ")\n", + "ws_isa_large.draw(\"mpl\", fold=-1)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "00ae1953", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Simulated annealing cut value: 53 (classical reference)\n", + " iter 30 = -12.8021\n", + "Optimisation complete: energy=-12.8904, iterations=30\n", + "Most-probable bitstring frequency: 6/8192 (0.1%)\n", + "WS-QAOA cut: 53 | SA cut: 53 | Approximation ratio vs SA: 1.0000\n" + ] + }, + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "\"Output" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "=== Large Scale Summary ===\n", + "Metric Value\n", + "--------------------------------------------------\n", + "Nodes / Edges 40 / 60 \n", + "QAOA layers (p) 1\n", + "Transpiled ECR gate count 0\n", + "Transpiled circuit depth 283\n", + "Optimizer iterations 30\n", + "WS-QAOA energy (hardware) -12.8904\n", + "Cut value 53\n", + "Simulated annealing cut value 53\n", + "Approximation ratio (vs SA) 1.0000\n" + ] + } + ], + "source": [ + "# \u2500\u2500 Classical baseline via simulated annealing \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# Run SA before any hardware calls to get a strong classical reference cut\n", + "# value. SA is fast (seconds), needs no solver license, and reliably finds\n", + "# near-optimal solutions on 40-node graphs. We use sa_cut as the denominator\n", + "# for the approximation ratio instead of the looser QP upper bound.\n", + "#\n", + "# At each step we flip a random node and accept the move if it improves the\n", + "# cut, or with probability exp(delta/T) otherwise. Temperature T decays\n", + "# geometrically, allowing uphill moves early on to escape local minima.\n", + "def simulated_annealing_maxcut(\n", + " G, seed=0, T0=2.0, T_min=1e-4, alpha=0.995, n_steps=100_000\n", + "):\n", + " rng_sa = np.random.default_rng(seed)\n", + " n = G.number_of_nodes()\n", + " x = rng_sa.integers(0, 2, n)\n", + " best_x = x.copy()\n", + " best_cut = sum(1 for u, v in G.edges() if x[u] != x[v])\n", + " T = T0\n", + " for _ in range(n_steps):\n", + " i = rng_sa.integers(0, n)\n", + " delta = sum((-1 if x[i] != x[nb] else 1) for nb in G.neighbors(i))\n", + " if delta > 0 or rng_sa.random() < np.exp(delta / T):\n", + " x[i] ^= 1\n", + " cut = sum(1 for u, v in G.edges() if x[u] != x[v])\n", + " if cut > best_cut:\n", + " best_cut, best_x = cut, x.copy()\n", + " T = max(T * alpha, T_min)\n", + " return best_x, best_cut\n", + "\n", + "\n", + "sa_solution, sa_cut = simulated_annealing_maxcut(G_large)\n", + "print(f\"Simulated annealing cut value: {sa_cut} (classical reference)\")\n", + "\n", + "# \u2500\u2500 Step 3: Execution on hardware \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# A Session reserves the backend so the COBYLA iterations and final sampling\n", + "# run back-to-back without re-queuing between jobs \u2014 important when the\n", + "# optimizer submits many short jobs sequentially. All jobs are tagged with\n", + "# \"TUT_WSQAOA\" for traceability in the IBM Quantum dashboard.\n", + "#\n", + "# EstimatorV2 with resilience_level=1 enables twirled readout error extinction\n", + "# (TREX), which corrects systematic measurement bit-flip errors without extra\n", + "# circuit overhead. 4096 shots per call balances estimation noise vs. job time.\n", + "estimator_options = EstimatorOptions()\n", + "estimator_options.resilience_level = 1\n", + "estimator_options.default_shots = 4096\n", + "estimator_options.environment.job_tags = [\"TUT_WSQAOA\"]\n", + "\n", + "# Align the cost observable with the physical qubit layout chosen by the transpiler\n", + "cost_op_isa = cost_op_large.apply_layout(ws_isa_large.layout)\n", + "ws_param_order_isa = list(ws_isa_large.parameters)\n", + "\n", + "ws_history_hw = []\n", + "\n", + "with Session(backend=backend) as session:\n", + " estimator_hw = Estimator(mode=session, options=estimator_options)\n", + "\n", + " def hw_cost_fn(params):\n", + " bound = ws_isa_large.assign_parameters(\n", + " dict(zip(ws_param_order_isa, params))\n", + " )\n", + " energy = (\n", + " estimator_hw.run([(bound, cost_op_isa)]).result()[0].data.evs.real\n", + " )\n", + " ws_history_hw.append(float(energy))\n", + " print(\n", + " f\" iter {len(ws_history_hw):>3d} = {energy:.4f}\", end=\"\\r\"\n", + " )\n", + " return float(energy)\n", + "\n", + " # Warm-start initialisation: gamma=0 means the cost unitary is the identity on\n", + " # the first call, so COBYLA immediately evaluates the warm-start state itself \u2014\n", + " # a much better starting signal than a random point.\n", + " ws_params0_hw = np.concatenate(\n", + " [np.zeros(p_large), np.full(p_large, np.pi / 4)]\n", + " )\n", + "\n", + " ws_result_hw = minimize(\n", + " hw_cost_fn,\n", + " ws_params0_hw,\n", + " method=\"COBYLA\",\n", + " options={\"maxiter\": 150, \"rhobeg\": 0.3},\n", + " )\n", + " print(\n", + " f\"\\nOptimisation complete: energy={ws_result_hw.fun:.4f}, \"\n", + " f\"iterations={len(ws_history_hw)}\"\n", + " )\n", + "\n", + " # \u2500\u2500 Step 3b: Sample the optimised circuit \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + " # Use 8192 shots for the final sample to get a reliable mode estimate.\n", + " sampler_hw = Sampler(\n", + " mode=session,\n", + " options={\"environment\": {\"job_tags\": [\"TUT_WSQAOA\"]}},\n", + " )\n", + " ws_bound_hw = ws_isa_large.assign_parameters(\n", + " dict(zip(ws_param_order_isa, ws_result_hw.x))\n", + " )\n", + " counts_hw = (\n", + " sampler_hw.run([ws_bound_hw], shots=8192)\n", + " .result()[0]\n", + " .data.meas.get_counts()\n", + " )\n", + "\n", + "best_bs_hw = max(counts_hw, key=counts_hw.get)\n", + "best_count = counts_hw[best_bs_hw]\n", + "total_shots = sum(counts_hw.values())\n", + "\n", + "# Decode: Qiskit returns bitstrings with qubit 0 at the rightmost position,\n", + "# so reversing the string maps character index i to variable x_i.\n", + "cut_val_hw, s0_hw, s1_hw = evaluate_cut(best_bs_hw[::-1], G_large)\n", + "\n", + "# Compare against simulated annealing.\n", + "# A ratio >= 1.0 means WS-QAOA matched or beat the classical SA solution.\n", + "# A ratio close to 1.0 (e.g. > 0.95) shows the quantum result is competitive.\n", + "approx_ratio_hw = cut_val_hw / sa_cut\n", + "print(\n", + " f\"Most-probable bitstring frequency: {best_count}/{total_shots} \"\n", + " f\"({100*best_count/total_shots:.1f}%)\"\n", + ")\n", + "print(\n", + " f\"WS-QAOA cut: {cut_val_hw} | SA cut: {sa_cut} \"\n", + " f\"| Approximation ratio vs SA: {approx_ratio_hw:.4f}\"\n", + ")\n", + "\n", + "# Visualize both solutions side-by-side on the graph.\n", + "# Blue = partition S, orange = partition S-bar.\n", + "# Edges crossing between colours are the ones counted in the cut.\n", + "fig, axes = plt.subplots(1, 2, figsize=(14, 6))\n", + "for ax, assignment, cut, title in [\n", + " (\n", + " axes[0],\n", + " list(sa_solution),\n", + " sa_cut,\n", + " f\"Simulated Annealing (cut={sa_cut})\",\n", + " ),\n", + " (\n", + " axes[1],\n", + " [int(b) for b in best_bs_hw[::-1]],\n", + " cut_val_hw,\n", + " f\"WS-QAOA hardware (cut={cut_val_hw})\",\n", + " ),\n", + "]:\n", + " colors = [\n", + " \"skyblue\" if assignment[i] == 0 else \"salmon\" for i in G_large.nodes()\n", + " ]\n", + " nx.draw(\n", + " G_large,\n", + " pos_large,\n", + " with_labels=True,\n", + " node_color=colors,\n", + " node_size=400,\n", + " font_size=7,\n", + " ax=ax,\n", + " )\n", + " ax.set_title(title)\n", + "plt.suptitle(\"Max-Cut partitions: SA vs WS-QAOA\", fontsize=13)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "# \u2500\u2500 Step 4: Convergence plot and summary \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# On real hardware the trace will be noisy (shot noise + gate errors), but the\n", + "# overall downward trend confirms that COBYLA is making progress despite noise.\n", + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "ax.plot(ws_history_hw, color=\"tab:orange\", label=\"WS-QAOA (hardware)\")\n", + "ax.axhline(\n", + " ws_result_hw.fun,\n", + " color=\"tab:orange\",\n", + " linestyle=\":\",\n", + " label=f\"Final energy ({ws_result_hw.fun:.3f})\",\n", + ")\n", + "ax.set_xlabel(\"Optimizer call\")\n", + "ax.set_ylabel(r\"$\\langle H_C \\rangle$\")\n", + "ax.set_title(f\"WS-QAOA convergence on {backend.name} (40 qubits, p=1)\")\n", + "ax.legend()\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "\n", + "print(\"\\n=== Large Scale Summary ===\")\n", + "print(f\"{'Metric':<38} {'Value':>10}\")\n", + "print(\"-\" * 50)\n", + "print(f\"{'Nodes / Edges':<38} {N_LARGE:>5} / {len(edges_large):<4}\")\n", + "print(f\"{'QAOA layers (p)':<38} {p_large:>10}\")\n", + "print(f\"{'Transpiled ECR gate count':<38} {ecr_count:>10}\")\n", + "print(f\"{'Transpiled circuit depth':<38} {ws_isa_large.depth():>10}\")\n", + "print(f\"{'Optimizer iterations':<38} {len(ws_history_hw):>10}\")\n", + "print(f\"{'WS-QAOA energy (hardware)':<38} {ws_result_hw.fun:>10.4f}\")\n", + "print(f\"{'Cut value':<38} {cut_val_hw:>10}\")\n", + "print(f\"{'Simulated annealing cut value':<38} {sa_cut:>10}\")\n", + "print(f\"{'Approximation ratio (vs SA)':<38} {approx_ratio_hw:>10.4f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "de87f93a", + "metadata": {}, + "source": [ + "## What to look into next\n", + "If you found this work interesting you may be interested in the following material:\n", + "- **Higher QAOA layers**: Increase `p` to see how both algorithms improve with more circuit layers, and whether the WS-QAOA advantage at low depth persists.\n", + "- **Qiskit addon optimization mapper**: Explore the [documentation](https://qiskit.github.io/qiskit-addon-opt-mapper/) and try modeling different combinatorial problems, or using different solvers for the continuous relaxation." + ] + }, + { + "cell_type": "markdown", + "id": "aafc36e2", + "metadata": {}, + "source": [ + "## References\n", + "\n", + "[\\[1\\]](#Reference1) D. J. Egger, J. Mare\u010dek, and S. Woerner, \"Warm-starting quantum optimization,\" *Quantum*, vol. 5, p. 479, 2021. [arXiv:2009.10095](https://arxiv.org/abs/2009.10095)\n", + "\n", + "[\\[2\\]](#Reference2) E. Farhi, J. Goldstone, and S. Gutmann, \"A quantum approximate optimization algorithm,\" [arXiv:1411.4028](https://arxiv.org/abs/1411.4028), 2014." + ] + }, + { + "cell_type": "markdown", + "id": "a9786b19", + "metadata": {}, + "source": [ + "\u00a9 IBM Corp. 2025" + ] + } + ], + "metadata": { + "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" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/00ae1953-1.avif b/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/00ae1953-1.avif new file mode 100644 index 0000000000000000000000000000000000000000..46aad760626b57660af86b7d4ae6fbc85b3f56b1 GIT binary patch literal 70056 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�eN1_!&9NjTgAd=my03+;0 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 literal 0 HcmV?d00001 diff --git a/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/00ae1953-2.avif b/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/00ae1953-2.avif new file mode 100644 index 0000000000000000000000000000000000000000..8793b24a170c12383679d60958de2632d99af659 GIT binary patch literal 9006 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 IOJ_;{Ki4bvMgRZ+ literal 0 HcmV?d00001 diff --git a/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/6fad9eda-1.avif b/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/6fad9eda-1.avif new file mode 100644 index 0000000000000000000000000000000000000000..1c61eda14d59750e0b33b7df6c8e921657e07f19 GIT binary patch literal 6131 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 literal 0 HcmV?d00001 diff --git a/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/a35f3b21-1.avif b/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/a35f3b21-1.avif new file mode 100644 index 0000000000000000000000000000000000000000..a1bcf57a28caac80924730d787dd70a58c589f33 GIT binary patch literal 32233 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�M1DogO+?2q0t<<$%4XD4X&78JDnGdV-X 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 AQ2+n{ literal 0 HcmV?d00001 diff --git a/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/a35f3b21-3.avif b/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/a35f3b21-3.avif new file mode 100644 index 0000000000000000000000000000000000000000..eb57a037e7de6e74b8277192dba39500a34aff94 GIT binary patch literal 4595 zcmYLNWmpti*BzQ62c$cc?vj`pq)Qs4JBJ(?Qlu3mB&16i>F(}EP(Y-+Q4vrYh6^uv zzx#aq$JuMGz1MU0K0glt0HCw?@`qdb!0Z9{;R>@Ce88?St9yHpCT|9cbf+${|tZ*cu)Xn$^T{m0K|H)-3LkYe+mG6 zPsL#{x4&cjt&-mpyT5JsZYv)F!3W3xi}#iP#A+Da6MkQehQV#z?=yjwkDy#A8o`5s z42FQ)JpcdzUE_WRmU{q#!~9?m3I;AN?tS{de!2(gev5x=Xb%-}D{nu!2ie=xP0|%^ z=kWKCm9&A`z$Fp>2roNVgyek>%mrrU=`U&J0(boTUi2`y>tAqhz26=q6dePAj`

    w? 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

    r7Zc~FaGwuK(=V66Gy}mso97~z z%jvg^U0omQ+WXyr# zZ!=Ai1v?}HYlzGlxRKzP{0BGT?

    |js3R<&opCiARAfXeE&xpcD^dmh03q&A5-|N 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οGdCGxK;Cg;v)2^h7#MDWX?&@=5H1Dek>shl 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%0D#dWs+|=BwS_FJ@BeiK& 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�y>5|DU1W!$j&n}76ik@pCf!18UK`zJsr`0YmSx^gf!OLU%s3J*P zC4%02Kne6u43GAo!VBkNRD_66T&kw015` zlI3NTcgK34vbYmB%?t0korMxU>MO46+>tkVIuiFa%HC^a!Imi^NlZ}#kjb((R}!nN|PwS0-9M2@Jw ze8dNdu&)NS1^$ppC0QeP1QodZINIlaqd^vcw&48~U-X@DMYe1LWV`WE=*X7%yC}yA z!&z;+6WJHVt7s1Z)aNl*KD!hcN#>Tyk0HE%+)6bR;upD$e4O_gN!Oi6gQL6;_R zDNZ%}h{j-kmB9b#&V@l?Lq^QjDju@h3{q;2 zmXJh;!Ux7aL3{QL&z~PfeV19@%m(l4bp}?|3SV>4_}#qSb`leE1@t`zf-%@BnM4=A z?P$rL4_TVzJT4YD*%JV_QLP$x@rt7@>PvXi)sc3jtcZuN3CjuKg3AHXR6{)+Z*S>4<(yg zc?$5;9$7=$YEU$YllV}7-2B;hmghq^jtyw1jLY*D_)J}^ePLpu`VTt#&2$NizAX)_ zg`b3oK0KR!13em%FejZKSX#3G!5AY`fZmasecZw{>(lMGYD;md;@33?C0FM5_a+Oy zE6*z#Nvd26#xI?WO7pR>nUZX3fCK`|U0|tteQ|L(*q<(DtkGMvGdfCgiSGGf!g#Q7 zT`lU7sw1PquK>Hf@(Q>R?X!zR#`@YBgSHF@jAF1RZ0<5treoS}I3NMQV*XU{>a1k; zwurduJ*&8K0r_aKO^vwb$FUn<=UGd0f;^#0%a68_XG0glUR}g^9M5y%RQk*s_?Zoz zrZT8pdkDJiDX2*!DmLOD!aL4PbSXjy8Hb>I%DiwjUKKpcUMW+FhWsHbbSdpPak57e z9DP^MjP`WDqwU$>%p8|t6mXod)*;plHk;);0NROWL*XgZmq}<=_!Ox-@oV*0LyVfy z%@(zWMR-x?EA67RzP5LhZbktgOZ_X;nfM0QR5c1MHjSY-X-jU$2Mh`^loyeBKCn0B zD(k7;xiwG5IIZ(jA7IKgclMX-zL><;50qC2ZI?K%>d&KCM~Ciicwhe0v;5|<5=LO! z(2=}vZkC`k*6M_6yuj(e)PC72WveEJDe}_vYS+=iqeT7TsMZ$Wh~TV^y8L5{_cbIo z>GuxnUx&eVHhbHYYqNZnx)dGl0(kMaX&BmchXU2;(lEj{gRKKG0_hhnh`4&LHbdNS6Q5SCBLwC?Yge8I_aAWWDw(m9#Iy)X>-r{lTpm1|Mx)5 z#+d_c6j`U0c zy{`d*3SoAGbf1hm2ooE_r)PR2s?Z}s>WoV9j^2@0y?`9es8=RmfQDLhW6bESfSNEV z!}V8-5(4!I+D=Pu2Bb6V*}MrzUhITddM)3xhdaoZkp7giW9D*h*F>G9-;kq~AESHYe4)`kZB`u#?_ z4CK|TFib=YhA>q{w8L7h%cAU8)E(?tIu2r=Fc(J&Fh3T(OZO+!X0A;Wb))EOy?lJ> zfa*_vXw+zhPz^nXU)q^NB5Yu_VZwFmSckX~l=2m^Cb!_jKasf)93M#Q+z-Tyvou{f z>Mtw(VgDL#3S)H2o2CQ(E@$0ZzReBo z@J4Qye69%(Z`!^Es)t_S2j5Pn2Jw5MF|MB*b$}L2s|P0*v3|N7%Fs#=?Wt>qC==FVxqdT;x|HnY(ZeuGx0UZSbPSe#eSEllfJX)o-7y3*5SlmRIJ}-ij9vvxrIwsrib&-sHHbD9doRV%kmn zM`>8jJ-qi%=cPxJv?hv+XXcBwXg&`K$$=e2IV5|-6G!0Vr5$lHFU+F`li9jFd7N_f zYr|3>|BTeWl^Wfr@lImjbFT>ifNv_bxaC_9r9YxK3EAkmo*888*HYz_(OTP~b!BAS zj^w;M7qVby_$q$+ZaZTJL_9ODdQlY5^CGQ^qb^CWY5%hcBBLxlVDVn0s_nBW`sTs| zLnG&J*2v5~Mw6jx7ib|L$g5&fn_Ut)r@GctLLNA%1~r$qT)cO9p_PH|M4H2HQB19J zJ36s<(U_Sf7c%3~FN|u0YkB5b*e#i6WVrC&>Meeo*C=92b9*2Ayr9h2!61Y+o1GO? z^(K}zH$u{P2{!Ux?pvdCWR0B(<-`Dt>zz9cO1Cm2?HuChJ+} QaI40C(#>w*UYD literal 0 HcmV?d00001 diff --git a/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step2-draw-code-1.avif b/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step2-draw-code-1.avif new file mode 100644 index 0000000000000000000000000000000000000000..48fadd71f71de31554a08dd4cc1a135bc84ec736 GIT binary patch literal 4918 zcmYLNXE+>M*PR({l<1wP(R&+=-g{5q*IIk8=j?rc9smG9@8s=|uzLY_0^Eli+)3yUc7xm9b0EUa(cA8iejm)v zPhCC#g#Z8o?%@3&{x1_E;NEV33Gn_Dg}Zt<{9(%S01)7h0syA`n*jh4t9$J}NRR(h z04n!X0uFcoJI3EC#XWKS+jj4^dm$+F$MOH-edRx~5{~dh+!v$a2nUb*OknpyNa+3iUr~f0}Z}D#p_@^Ra=i{gJNA~e_ zhq@sgVSf)rr~}*q0rm3t@^*Cdg5LMQUEy|~{!lwtg!A9`dI(3j{RQ{d`|UAafiM6d z%-0~Shyyh#Cgcr@H>bxoll+6Q3aVHRy9s4j>v zi`FMOnNjMgMd%z{xusNo`Q&0L|CJ3x!Z&tv9=^^Q;T+E&R8Pma-_29D<B=50^ikeKGOoH#{`~fG5qt#S zrsTY`rc^FY>_=A85TEr6c$8Y*c(Qk<5~jPXj#dB@o5G$$pzXeB_PtfCCu|9g)F^cH>TS=*ZZs#zP z7T&N)_6t zP_sSxyyg+um;Gwl!563&qCflf=P8}SL!#*OR&dz^fCSpp@+)sirH1$Sj&*F23`x;5 z<;*LuiOddlIZ}IG?xW9o_CZbp@3Gf&_EBb6j$cTWD#iB^P{~o263t;4M7Jr)=C|D= z{Fdpm0_l_Kz4YFl^u*jzqREDp8FAtK=c@ipUu^bA2&(YD_P&iEvIlEzSEwOrq%?${ z;MS2cq>cHrdi2|+H5LX;8o>0c$shW)*|cevR(-^*BYsej1O;J`cNj9h)GDEglh3fH zMPbW1H(kUv?*fssDzX)i8^15j*A%tftw}n`&N>>cg3()1cU+q26vR@Ew%Lg2$c|xN zZSF`cLl{_)>BWb=MFaFsb>$*mgQq12?s-zdQ-n~VA}c;F${q%Et%#Z``DjOlemo=A z0;1q@T?NfBe1~FVL$n60xM(~oW#McBE97MUQIGE;DRnCzFvkbX(UEwjI+UB#B1kmz#d!$u z@+!4*EVr@b!6Bb?BFt}|Y~<%$cDLc}LuH)C*DNifXgmK^7&gpCkd-<QnZm2)6dsQ0>@bdZ$7+SaHLV@~pO?jVH7vXHr<3_q24Z2h}m zn9L0dI{zRA@&U74z!kf-l{ao$ahpRylj?b3dXZde7~s)e&}4lMi}y-I`=e_sauH;= z0rAED8!oJ-Oc`XyMwq?$kX|VKHPm87-6v#2M?EQvvLB~EMB?eL(aD4M@2GOqxL`)dNFR1J}Ft4CkpNRn^iEKFTt=vKV!lA zEELfEV5ig$hVWm&=cQ&pZ7bxCwj%w#E9v0VTysVoUh~ymUbCmzuAJEg))HmFZ3|9_ z8z?xmj@W3D;TYS%dA8Z?2<+1h{N6QkU=~}*@O@thAXfWf+0r=aSG{{_tNsH?V@7JK z;DHKM+WR#esp-_*`FTeV6)UBTzTvJuOGrernpN4Ib?1u9lV z{Lz$ObwK(~{AC~Ip+)`6qsN^kVPOMD4uPNaC|<(Sx65KkVW<2|LT{qD9=$Z)^h$tp zs@7)^_;Odj+gay0{qWPX2G+;$q!je_tQn#o2;P?X1uKs??`_0%nOT5;K1du z)+Ui-IoD_5MXhAU{us^%awThnG*>rl5jJm~C!(IFH4|0p;5(8ex7MtG-Z46(hpl%! zb1k;D3Tk$JM_7HnDF0@B-%7>wo#=r^(1AxIQ{u#u)fw|d!+Vdjx8CER`toi&)`>v?O#L<`Q1cq z{f6zd6hT$oJp|z}nQ87>THBAfMkeh8m9N_6(nMfZ zvJ+LT8+-X)O4wjh zqHWA3M~q@HgR|>hWP3e(1D%)(ANj1cjy{o{es+_hftFy

    e(U_$c1^Wy+Hu6R5@N zv#N+ZVvw`(*0FO?TBQj0hGC&O_sl6U25 z4V!AIogz-|p!mu|RqG46N=Y|A`+R!dZo24xDp48?#1vNI+|{k@J(x3plROL!SS2N-j_Am9kktr5RHslj13M#l#FH3f*3I+8fMmbMdhYmVBb5T9 z17zR78x0^za8`;oyVu1o|Eg3;2c?}@(UsnwtjITQQPI!4%2P6{wz{-d zTvNWwrH%j&Eg42|_2{y^EI?)CG|HwYU}s8W4UiKMG`{JnZjZm^q?L^v%%AdGYP}8o~VytVoJLjj!`?rf2+ZfB`jnWTZ7NxwH+QA zzv2%S;k;5tx-wiuF;K_tsEXNP>)p!VEBI1(qX3Z*2Tg7p0*fIDp%>I#uPSf z*F>kf^tC+5%v+6KOK~2&zf6BL7tdbSktz{Bym9bYOpnJnKr4lR&0~D>^l9~?^((Ab zb(!=UtUaHCbgS{!LiXhsk-iV4*Hx)@$~9sb?KM+>7$YC>%$}Ew21y`x8PV<$1cw|8 zT}}-`%1#WFON1NY2#S^`LWNz(u;B=`jZVMD^0F{Lh0d_OuZ2&3avd-UpUZ<+R4Ahi zdFq^-Z*fwtI0ySu!gzexet;H&f&Bn!nUp7-h_4- z=bf4l;?J&bC@ z6uFX(=YjyiLv6U~m!FB0R1JLlY_#WCj)S*4W9w*VAfcQr8gt`n=npH(7mDJ_{oM?| z0A46rkC1K{c&~~?_3TQZC}x+-dJTemrDjrr3VEg^#cDD86>p}6ECj{+<_&Mx-ENvg zfLq1)B#yq_M@LPyBH=Nf zD4&b}xGHPn-s+LMkj~3_im48utU}n6u%M|DS#5!fjo)}$o=6sYX$#S^NGHgTvzYwR zl11f8bc-B9*;+SIEMQYN{9}8Ylv3C21Cp+6qyzHW`r%{BjU=zUHcpf8ID~ z$wTpanxq47#@UmYIX)zf(sx>-=K=p@-JqEwfSIbX-y3)RGMd0P7ug1Jiv131Yi=wh zKJt}8kcBe+9O2EpkO+&KbR)k3%CmOcevf(9wpMpg)Hicdx2 zJBEgYr};D^*^RXc6z4)o0fqF^9}MZ9iB+{?yN|Us|D5x#cqFr4rZJGfKc+tLxr}BZ zZ&VAc>&H0bdjZbP>eb{ByTF>-kjmNu#iSuLHG(6M1q)0{gluoTyB^CaXOr#`7g@1X zJ_r?bE@E(rO?^-1I+Q-qP;hYdYi#`*30+(~0Dq4$ux&J{P(tX6-_8XP7bDI!P1$_v z=Orhvw&J;CrOz1Crqyh=KV7h)*+n+H#=Mp`53^|s_6X`1_z78M2(uQhmJhI2A2ub? z*m7nUb$h`Ue{}v%FOCo}wtwbYP>{v{6t-FGmK$lOmI_s0AMY!r$@6`eVE<_{k)C%s zEACSy?1r~{{lj}s%pz3x${3Dx1U)P5S~z`yTf+!97Rh&-X9wjSTW-m9@@fygigby7 zGcw^z*GhfB!~IljueyOyWYr^pE)mz>)QIM={Tgz~-<($!33|btM6-A&hfE=M_b=7P zQE%977P7KbJ91OeJij_nK}MDYU}zqL#BZi0gnH^96epne*s|)4fA@9wvc&I&XLL$t z*t(&&ogy5!O|Qo0RN{^u>Ynide@C{|f|sNce;$o>w~Fc)nupT#lr`mHeH%*a*&iAV za5st&mdIW@ll=CyMputwC#l0=mL^aj@+Nze1Psgf z2x`9BOuCXWII(F7_z1ru58b?^{01O5BsG^Kh%$ZHpuQoW@#`Vodj*b0j>)Yj;V?2F|^aEKUVZn5wN4R zFWlMXed3MgK~Xa8Yh(`zf{>u2d}fE^0$cdo$>$(gAA9+Q7CXzlEz_|ny=QBVob{-1 z*rNpX974_e&lQ}%pDW?=!V>p{Q@(+E5*m1#-HAI(Q-!^MkjxNc-LiFlfI>YnvRh%} ZUJ3#@L#0Nj)BN4>4)B@sE~e9Z{|B2z?u!5b literal 0 HcmV?d00001 diff --git a/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step4-convergence-code-0.avif b/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step4-convergence-code-0.avif new file mode 100644 index 0000000000000000000000000000000000000000..cb5f0ea4a076e8d2c8bf427f697ed04eeef572de GIT binary patch literal 9748 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 XsuVr_&FM@?RV^I*o)SozY?=QD?I}<* literal 0 HcmV?d00001 diff --git a/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step4-visualize-code-0.avif b/public/docs/images/tutorials/warm-start-qaoa/extracted-outputs/step4-visualize-code-0.avif new file mode 100644 index 0000000000000000000000000000000000000000..af3e944c833ed0c4d5ad26fbcd6626496bd5ba02 GIT binary patch literal 7328 zcmYLuWmH^E(=8I5;O_43EJK_po7B%m*7DH1P$&^aCavJ*Wm69HW2top8Kv_ zKf3nbwQF@(|2k(i3=9mJwY!gtxu=~q%xgH>S#$rzj&|m+9M;7V=x+X3e+_C|D+kbj z5C+D@&eHvV_6dF^)igZrQEzG$$9&LVUy%7kAL$oUq9~2?pve)V=InX#h2ULNaSO;Hz4mEX=7vI# zsRqR}iqVTF(Dsrg9gEkl8Xop438>HAIZiA`I#jhl0&U-EqD&S@mu5 zl7yCT(P1AM+oNzh0syDBG}ynKT6r}lOl(eDoQzm$=*?q@a~yS~pz8kE3U05G{y7TX znW$Qsh#)`{>(07qIlr(rRj}$VL8<;q)Olg^yIC!A_M>jKRV|xP*pD-A;xkWv&1$U_ z;a+5@svQqC_la_Q+$Zm{r(8H0OS^Dr{Q(BV6 zzzSOWw9LT*n{(##aC*@FO2X}c-2NcnTw3ugEJ)C=73l)Q8|9uGT=Dxctgivy+BpDV z#oPAviUOw|Xh%vVy697Swy;CL4{@o9Bg;K{Z=Z0jLYqs{7@ss)QD0>KL98U!K1H*G z0{ZjG*@gQ-^K=}MMZPl>1Lvia#?~%)ph2HT)XK~rn=PC74y zO|+#<)Y!g8nW<41@&uQ-9~@%R1U$>8?-BWOmXr!5z3u*kNea7Pw};f{Bg6 z9Z{RQL&Y+23}ER&s3Y!n}}S;P6fS8{0>kFU?Qte|~6BmF!0@x2ZTEgMPXW@Av-M5#4n>Y>@S;P!=}=Y6tZu(q zo=D!y(03}+AKzR!q-bfok{w4n6Zj{J=8x{?Sz)0>>xlk=vAIhQxm{!x?cB9S&*#)6 ztjb}1mT55P3}{m`(%1E0MP%SkQ975l9qrdhn00LX+SkXH0{p=|Xn07{C{~n|Y$i@v z;ikrHs}agIR~})|Zg6`V{hcU`@@`Fz3XW+*ZyjSattW(pi%ukwQwewGOQ?;jHGmyS zjq82YMl=s4MuOWmb_^}+NTT-9a$>aSda}k!Kyv`U%P!()WA(i&CRg%CxtrBmw1)Xo z_4a`FM}Mat{`If|ZXjM;iLbVEY^!)jX>p^YscU`vt~&h?DJEZr&1LXvcBE(QcdaIU z`W{_P6tBJ?@WrH+a9`Obhg51!&SUSy24tIv@)EzsxCB+lI=l3asZw5CTvFfBAe%0h zD$16QjN8ZIGR#=LNjzd!AEh>`@-CclvPwtl+mSLlGaI`=5wA1CqjfVZ4W8y8NXj^u&yGM zIf&kLr&PMf@P%iM%_Yo0>qx$qOJ=aFh{J?|IF@{r(uiD{a?MP{qpq2dG=dzd@9(n| zZ)3MOCcNDgU2{M9a}5#37)C6-9AUW76^V{`{cxxQbu7;b4PneZu6|R!ARh*S_e>K= z?A_W1FU4lDly+Q}v{x?F;lnQh!w!H@=6;>ggWz0#wx3+W%?$8ENX7xIO2Qh%RKT12%K-hs zcRIL@#UxNO`_U&H?Jf-joH#P$^n|yFbtH7KLu34~A3EF2aB&H-5wL25X&Km;o&{aJ z%LoF|RSqk!R0lK(LtPL`B}VDnwzj83I+NKj$%?*5NSv7%ldKxhdg+GP{to`atZpt7 zURMhjbYd!_+cJ5Uwg*HP?NwswQgRAzKUv}=`{gYeAtq)_5}$a(k*h<>lknt@|6$Jn zg^^70yK8aKk3I~2UA6``f@9qVfqzxrK$AQ95tN{CKQ!!!%0j>~}Z}J5m#!t*D>bS(ME+ zuq4_&+s`-P+0p5mKi5d#4kUdF=~#xqm2neA*h2acUY5e;>O%?~4!qC_*lmFKH&P9K zkbFkVB+51U){|yer-k#|f(cCKg$Wn0x>fuc=)~qV`%o!uMv&(F_yW1#E*LTh%u|gm zk$|Xob&_||C~r$L^y9C@2&DF8;2nJ;tKRoqv8oDpu`0XlXZSiQWS*-)IFSvou0843 zMp`Y5!^s}P5?@}wgIqkKAV2yEcRUR-D;C~ZijMiAe(h7nqPH6;88OiNVkext77f*1 zuNAPdc~huvg2JQKB13MNW@#~Jl$$x3!+8g01}ly;@O;|#Rc~S% zE#=Ja_sji=nJfhKN6PJT>&-eu1r>#-J!%)k{#Ty`-o2t7t^FIKCm^~9PKVR zy?FvVt{>OCI5oRvnI`NLp#WTN4?yTWGz;m^EUA&Cv|K06)U+m!i9_`r*#DEX{rN+! zY%c#A(zuBN$K|EX@H)XS$5Aprr>Ue`UzG`EK-HzADMcSbInSBgVZd&(vd_50LahF` z1LZRSaFB)c&muPCqWt8Z`PPv zAvo2OH6;=m9eNReq;#0*;K(b=T|80)*S_LEQo5_>L}tNIW9=kew{PXnrBJz!g;n;Z z)lCszc?dsWO4L^=gOzjp&AroCGz7_BSO?-WsLJf`^W9YFBvW7NV3uWkM^Ac4*;004 zSN-fCDmBH2@u)T|(@3N$vK#*xIB|T>+d@5J4e{IJArUZzx+I?&O06nq3Se)_Sn^AZ z2Bs2s@s6u~o?z6VenQ%urw=CE1(=L;U@%1L`RebcO%<1G@7^lIx#-kYNw**mUX!Jk zGkKk5NzJ{HVhQ?O^XHLTeiuEAm#FllBr{n^r61eNt@XQEl9m*_a1{YK*)r7}-wfAh zR7X??l=#6I%{#wDjnU|*NB1n!dNCJ24l-kFdHjgKNW+oI$z>c0ur!phA6_6jw=L!r_%g;eq1ON<6zf+@dYhzOm$0!E{7xtV5N?pUZEzjt5TP)N+?i z?K`l?B;q_DoaG1qadZTOAmubA zxxn=qBgvI3%P!7v`%kcOiGnBfz&Xc)<0mgTXc?z$!Zq&GH`NSTo3$vDw&|ya871&NYv;r-l7{H^ zm#GFNCZ*Hsl{7u($M2~iZ4_ISlsOiX-(OBz%I2&rs9Y0N>bm>dz@K?Ln&bN|)snx} zbDSzsZozEYG$~sInh~C0GSh>Af=r`Jqnns>KrhcMuLj|?Ld`rb-+K$(CSF~#$NTdI zOGkPm1T@OAML64!)t5hE!&DSA(9W=Olt4bVYSDz(1C@~a8{yV)tC=N=kA^0@XLmF| zkgDgxW&4M7W3*T82l|}3e98_yL~i<1=E7BM=qa^+-2r#|jz2zfjll11r{5KTA>j%; z8oLKguAZZ!Q}+YGdU-5YcXVAO7Bk&{jK81qW}}lys|(`_FPbfx1w%qs>rc33yd-sM z-^~-osUV&QA3f_uVM%KO)r?AZ1-FH)SOcn=64Kjr4clT(D&xqw6avN@163i=^7(`( z-QZghN)b7t?c~GfMMN-$_I~FI*igSEa~}VAd129<6_xCQdWBHHJbBxiQlS+5E)Pz! zf36p>%~|T*g_skiFGbSWr`cn+MBm)kJ0lto!%EOc4-p4%_4v$|m;u8cm0@6}@h)BI zv)p^^>Nxp$YYA>|N%Z*eP<6i6s~l=|YX+A9u+MM9vm-U4L##4`4HLU}J_u0uU9fki z6~Svb@-P%?XQyuPA}l_0RC^;@ZsDMixM%+Pqc9|HkO_-YnY%lPC}7@f>2Tb~UJm<3 zuF>|%zT7kWSRZOT?(pW(tPN8R4+M3+3z7Sv;cW`qG0Qre(?AV6cCwx7y3=!WI>Q8O4!qGa1;}`n^v_>M&$SUb8Iy+{r9R zIb!;b8ozQ>xLq}au&bc5+FM8(!Kh54NxJx@z+lc3|CCx|%n_gFUPoDGR^U1=~8CLdsBu(}H zbOg@X#Ov=2*#>!rGjX0io|8eCr`0{vd3ytngJ zVXn(33O^Ft2MJ+aDoj|3s#9yDjw+Ten0%f`FbsPfn$W2zfHPkE4wOmzq zT1u&~rWyQr58T79+&`BCuouCBc#Jb$Th|d^i8~X()m42Hm8!pJ1WRJmuPSV*Oy~Om z{z4Xn;Ogp`L)OEW~73TECfsNyr&c-31>!Y?o({w&SCVK>e)2w1l# zsyj`ws0kY9R!FQI7LfH%Dbg?(r*;G2R}pi3j87Ncy_r;yVs59gPNi;xJxV4Pi=1DO zBFnM7y)`W7FhNrMNM?}=x4|OOy^_7=Q1HdBE4#0kxnEGNY?2Zq3qX^!(dts+ zNfGNKfxZ(z(Nr!ze>T&=9pJFpOvJp|1HJ9<)F05`pONLq0Bf1FU8H!>HGk;75fhAd zOkn@i^kWYXc|?~%`M~>Sm31)L9_52Hak-}Jv70{{AQiNKnDaKG^)8WvAO=0ETmv&1 zFjHlHrRrgF*R7)>PeAy7m3(;`eGItA(tKeV7rY&?6t`}`*x`ny`m?P$SF~|lq{5;=^wQ^3dcx&BQ2 z)C=b+@0@HLL=-KrY=T&a1&*ajLXXjtunxwE4==CG!5kkAi479uPmh*F%;ZG53PgR1 zw1E8pV+KS-H?I*;Q~%Ng5Az7E!}l}Zl;uu%p*YWJh;;lbvm97UL*|wdn&NJg2b+K|f7}O`FGoPFvA$fFX6kg3 zR%~;YKTG4$uboSh3xg%a_p3BgonIh4bkqqk){p${nV?i7Fk@RuSW*6W2rC0f#0bY( z-3rKy#qXE4uFeFi?&6g)4SaJX1GQcXZ2uPJ1sp~&8>u2|fVd__X1@%ZDVd&LccB`;`=^~3wpNlTXiwjG^Q&`tiEQtrAo{#!|s z?6J3qXyx^)4RH*t!l!l8--0tnTxU;X5U{-}Q2g8SoJHhvd}et=sQXyt!V-7gMM~ zS!tVTBlnWqsv7jOS&ZoS@jqHJ{!XOk7{A@?FSQV?54t{Tl6rGSl{9v4fBJ6k%j$2% z55DzMXAQ1URcQK!QMe$`y@S4BBy<`&(j3a@wt2$TeSBl|$G?U;JnH?kJ_nAO zd-Tsl5(|z;ML+6vH`;u^Q|V)hJ**8?j&xpq=Htu#Zhk@dp)wzM%be9lR4iRb13auv z2VQ;WTWL4`-+`K2HDe3loZTmgKK}kGW$u=Z1Bd+czBLYt?(Lb7(DP(m1LpN@4So z%af!xwWbAjk_+ki*+h%!TYlJPq9S^btoHK@IoS=^)|#b#q4*q>+9dOx7K^GmB4i^* z)ysMVT}FbM)fd^?etMg6ptxHoz9LKbNAOgi(Do=O|UcIq8}sfEHgz(kD;K@KGNX!KJth z%T*s&A_7KlP9wO+1i-bmM8`=qmr{mQk%FRqU8yESXq|0gv58XmOvU1YW~^2L9)hCd zww%^JCi(j>*UV0VvVByDrG{wwTR#pX8TxP|cTkw5H$JVVthc^fKgZq^Za)r_ZxqIb zU9|XfVrGQK8OJ@-Q#0RPA8l-q8`@J#)X~eRFkw4sk-N(|A4OdeKE)Y&_A#{gGn79t zpN1)a*??ra_G_H=trU!V2~pob=9-o6_b+fzh&kL>f7Bvfo?GI$qJ~zbP>BFSp{_wo zm4fQ2S&o25gki+g0*)A1`xUQw%dSg9@}tFYCiTN%mOm%mV)d~C>sp}!6BqeU!q|Vv zX5A$^kQgFcVZ9IX5YKLq3VTz|6h6*v{i> zD(DCXJHBYGTf;0EX$|-quErSqVX^(ov9-WRu{|VtnhPZUm4jM9pMBjDo*H{K@3R`i|050{+EF#;euw zV_b-orrPnr6Di}t+WRyaPQI0{rylL!J!oY#%k8QO8*Knn;F!`2SCXfr|6Hr}jKFj%^_*%_yj)aiES<+DRtxQAiF|b5QpQ139X!Sz zg$6p?{Li>zDTK3SQJKjS)`LY#8RxH##53Po-w&3{)o7P)uT1PxWGzIU9{0>UUdpSl zGQC83>sM}Y2e;b<_=kL|GI2gWeEXg|rBvvHp1umaIIQ-&Oop3<%?QNc^Jeb?$=TRh zU8&>ejJa4|c?7z8OznVS9NbeHR~q*&T3JOfMjwi Date: Mon, 27 Apr 2026 15:06:29 -0400 Subject: [PATCH 02/33] Cspell and links --- docs/tutorials/warm-start-qaoa.ipynb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index fe42a1099f8..7ccd4fc660a 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -10,6 +10,8 @@ "description: Improve QAOA convergence on Max-Cut problems by initializing with the solution of a continuous relaxation, using the qiskit-addon-opt-mapper package.\n", "---\n", "\n", + "{/* cspell:ignore prereqs Mare\u010dek rhobeg skyblue neighbours Regularise steelblue edgecolor initialisation Optimisation optimised colours fontsize Farhi */}\n", + "\n", "# Warm-starting QAOA with the Optimization Addon\n", "*Usage estimate: 9 minutes on heron v3 (NOTE: This is an estimate only. Your runtime may vary.)*" ] @@ -1366,8 +1368,10 @@ "source": [ "## References\n", "\n", + "\n", "[\\[1\\]](#Reference1) D. J. Egger, J. Mare\u010dek, and S. Woerner, \"Warm-starting quantum optimization,\" *Quantum*, vol. 5, p. 479, 2021. [arXiv:2009.10095](https://arxiv.org/abs/2009.10095)\n", "\n", + "\n", "[\\[2\\]](#Reference2) E. Farhi, J. Goldstone, and S. Gutmann, \"A quantum approximate optimization algorithm,\" [arXiv:1411.4028](https://arxiv.org/abs/1411.4028), 2014." ] }, @@ -1376,7 +1380,7 @@ "id": "a9786b19", "metadata": {}, "source": [ - "\u00a9 IBM Corp. 2025" + "\u00a9 IBM Corp. 2026" ] } ], From 1a39b1edca7ef92e39fd7825474bb49b5730e577 Mon Sep 17 00:00:00 2001 From: Henry Zou Date: Tue, 28 Apr 2026 10:41:14 -0400 Subject: [PATCH 03/33] Testing --- qiskit_bot.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/qiskit_bot.yaml b/qiskit_bot.yaml index 91972aab42a..7e6f84e75e9 100644 --- a/qiskit_bot.yaml +++ b/qiskit_bot.yaml @@ -652,7 +652,6 @@ notifications: - "`@nathanearnestnoble`" - "`@ibrahim-shehzad`" "docs/tutorials/warm-start-qaoa": - - "`@nathanearnestnoble`" - "@henryzou50" "docs/guides/circuit-transpilation-settings": - "`@nathanearnestnoble`" From c35b5910599265c6fd57ac78d92a2b1b1ccd8d5d Mon Sep 17 00:00:00 2001 From: Henry Zou Date: Mon, 4 May 2026 15:30:33 -0400 Subject: [PATCH 04/33] Re-trigger CI From 1784c0efe47c1afd60cf235c1c781af3840bc6d2 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 11:38:01 -0400 Subject: [PATCH 05/33] Update docs/tutorials/index.mdx Co-authored-by: abbycross --- docs/tutorials/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/index.mdx b/docs/tutorials/index.mdx index a8d25199d95..b99ee8de20e 100644 --- a/docs/tutorials/index.mdx +++ b/docs/tutorials/index.mdx @@ -37,7 +37,7 @@ The tutorials highlight techniques where repeated sampling enables estimation of * [Advanced techniques for QAOA](/docs/tutorials/advanced-techniques-for-qaoa) -* [Warm-starting QAOA with the Optimization Addon](/docs/tutorials/warm-start-qaoa) +* [Warm-starting QAOA with the Optimization Mapper Qiskit addon](/docs/tutorials/warm-start-qaoa) * [Pauli correlation encoding to reduce Max-Cut requirements](/docs/tutorials/pauli-correlation-encoding-for-qaoa) From 361712bb5b8d840f596ec9fe1c51bbe1bd08354e Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 11:38:10 -0400 Subject: [PATCH 06/33] Update docs/tutorials/_toc.json Co-authored-by: abbycross --- docs/tutorials/_toc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/_toc.json b/docs/tutorials/_toc.json index a090a0dad7b..e534f53426f 100644 --- a/docs/tutorials/_toc.json +++ b/docs/tutorials/_toc.json @@ -41,7 +41,7 @@ "url": "/docs/tutorials/advanced-techniques-for-qaoa" }, { - "title": "Warm-starting QAOA with the Optimization Addon", + "title": "Warm-starting QAOA with the Optimization Mapper Qiskit addon", "url": "/docs/tutorials/warm-start-qaoa" }, { From 3188ca82659e4413b5fe1117d35de42a45e17fc2 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 11:38:19 -0400 Subject: [PATCH 07/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 7ccd4fc660a..13c0c8ef399 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "source": [ "---\n", - "title: Warm-starting QAOA with the Optimization Addon\n", + "title: Warm-starting QAOA with the Optimization Mapper Qiskit addon\n", "description: Improve QAOA convergence on Max-Cut problems by initializing with the solution of a continuous relaxation, using the qiskit-addon-opt-mapper package.\n", "---\n", "\n", From 6b4cb1c3dfb27b3065d0d869f2b9b4526175058a Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 11:38:30 -0400 Subject: [PATCH 08/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 13c0c8ef399..2d7e27eb954 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -7,7 +7,7 @@ "source": [ "---\n", "title: Warm-starting QAOA with the Optimization Mapper Qiskit addon\n", - "description: Improve QAOA convergence on Max-Cut problems by initializing with the solution of a continuous relaxation, using the qiskit-addon-opt-mapper package.\n", + "description: Improve QAOA convergence on max-cut problems by initializing with the solution of a continuous relaxation, using the qiskit-addon-opt-mapper package.\n", "---\n", "\n", "{/* cspell:ignore prereqs Mare\u010dek rhobeg skyblue neighbours Regularise steelblue edgecolor initialisation Optimisation optimised colours fontsize Farhi */}\n", From d29c15909bb9910c2f3ef012e6e225724129259d Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 11:38:39 -0400 Subject: [PATCH 09/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 2d7e27eb954..4c465c9ca9a 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -12,7 +12,7 @@ "\n", "{/* cspell:ignore prereqs Mare\u010dek rhobeg skyblue neighbours Regularise steelblue edgecolor initialisation Optimisation optimised colours fontsize Farhi */}\n", "\n", - "# Warm-starting QAOA with the Optimization Addon\n", + "# Warm-starting QAOA with the Optimization Mapper Qiskit addon\n", "*Usage estimate: 9 minutes on heron v3 (NOTE: This is an estimate only. Your runtime may vary.)*" ] }, From 0419f774c50d152ef26241a1c6b62ebf37cb6366 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 11:38:51 -0400 Subject: [PATCH 10/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 4c465c9ca9a..ca5cbed4c42 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -13,7 +13,7 @@ "{/* cspell:ignore prereqs Mare\u010dek rhobeg skyblue neighbours Regularise steelblue edgecolor initialisation Optimisation optimised colours fontsize Farhi */}\n", "\n", "# Warm-starting QAOA with the Optimization Mapper Qiskit addon\n", - "*Usage estimate: 9 minutes on heron v3 (NOTE: This is an estimate only. Your runtime may vary.)*" + "*Usage estimate: 9 minutes on a Heron r3 (NOTE: This is an estimate only. Your runtime may vary.)*" ] }, { From a85185df5939268668bf030f841d4c4b48076d1e Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 11:39:06 -0400 Subject: [PATCH 11/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index ca5cbed4c42..d842c096c97 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -23,8 +23,8 @@ "source": [ "## Prerequisites and Learning Outcomes\n", "We suggest that users are familiar with the following topics before going through this tutorial: [Please flag to tutorial lead if there are prereqs which would be very important but we do not have anything on platform]\n", - "- [QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/quantum-approximate-optimization-algorithm)\n", - "- [Advanced QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/advanced-techniques-for-qaoa)\n", + "- [QAOA tutorial](/docs/tutorials/quantum-approximate-optimization-algorithm)\n", + "- [Advanced QAOA tutorial](/docs/tutorials/advanced-techniques-for-qaoa)\n", "\n", "After going through this tutorial users should understand:\n", "- How to map a Max-Cut problem to a quantum QUBO formulation using `qiskit-addon-opt-mapper`\n", From a3f54e4b1a56f49db6ed1882d7a1fb2e557f3714 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 11:39:18 -0400 Subject: [PATCH 12/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index d842c096c97..21bc98c41dd 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -27,7 +27,7 @@ "- [Advanced QAOA tutorial](/docs/tutorials/advanced-techniques-for-qaoa)\n", "\n", "After going through this tutorial users should understand:\n", - "- How to map a Max-Cut problem to a quantum QUBO formulation using `qiskit-addon-opt-mapper`\n", + "- How to map a max-cut problem to a quantum QUBO formulation using `qiskit-addon-opt-mapper`\n", "- How to implement and run standard QAOA on a simulator\n", "- How to apply WS-QAOA by computing the QP relaxation and building the warm-start circuit\n", "- How to compare energy convergence and solution quality between standard QAOA and WS-QAOA\n", From f351d14902846974e9dadee1bac8f0c22e02140f Mon Sep 17 00:00:00 2001 From: Henry Zou Date: Tue, 5 May 2026 11:56:44 -0400 Subject: [PATCH 13/33] Resolves abby's suggestions --- docs/tutorials/warm-start-qaoa.ipynb | 73 ++++++++++++++-------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 21bc98c41dd..15b6a19ba22 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -10,7 +10,7 @@ "description: Improve QAOA convergence on max-cut problems by initializing with the solution of a continuous relaxation, using the qiskit-addon-opt-mapper package.\n", "---\n", "\n", - "{/* cspell:ignore prereqs Mare\u010dek rhobeg skyblue neighbours Regularise steelblue edgecolor initialisation Optimisation optimised colours fontsize Farhi */}\n", + "{/* cspell:ignore prereqs Mareček rhobeg skyblue neighbours Regularise steelblue edgecolor initialisation Optimisation optimised colours fontsize Farhi */}\n", "\n", "# Warm-starting QAOA with the Optimization Mapper Qiskit addon\n", "*Usage estimate: 9 minutes on a Heron r3 (NOTE: This is an estimate only. Your runtime may vary.)*" @@ -21,17 +21,18 @@ "id": "8bf80006", "metadata": {}, "source": [ - "## Prerequisites and Learning Outcomes\n", - "We suggest that users are familiar with the following topics before going through this tutorial: [Please flag to tutorial lead if there are prereqs which would be very important but we do not have anything on platform]\n", - "- [QAOA tutorial](/docs/tutorials/quantum-approximate-optimization-algorithm)\n", - "- [Advanced QAOA tutorial](/docs/tutorials/advanced-techniques-for-qaoa)\n", - "\n", - "After going through this tutorial users should understand:\n", - "- How to map a max-cut problem to a quantum QUBO formulation using `qiskit-addon-opt-mapper`\n", + "## Learning outcomes\n", + "After completing this tutorial, you can expect to understand the following information:\n", + "- How to map a max-cut problem to a quantum Quadratic Unconstrained Binary Optimization (QUBO) formulation using `qiskit-addon-opt-mapper`\n", "- How to implement and run standard QAOA on a simulator\n", - "- How to apply WS-QAOA by computing the QP relaxation and building the warm-start circuit\n", + "- How to apply WS-QAOA by computing the quadratic program (QP) relaxation and building the warm-start circuit\n", "- How to compare energy convergence and solution quality between standard QAOA and WS-QAOA\n", "\n", + "## Prerequisites\n", + "It is recommended that you familiarize yourself with these topics:\n", + "- [QAOA tutorial](/docs/tutorials/quantum-approximate-optimization-algorithm)\n", + "- [Advanced QAOA tutorial](/docs/tutorials/advanced-techniques-for-qaoa)\n", + "\n", "## Background\n", "\n", "The Quantum Approximate Optimization Algorithm (QAOA) is a hybrid quantum-classical algorithm designed to solve combinatorial optimization problems such as Max-Cut and general QUBO formulations. For a foundational introduction to QAOA in Qiskit, see the [QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/quantum-approximate-optimization-algorithm); for more advanced circuit-building techniques, see the [advanced QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/advanced-techniques-for-qaoa).\n", @@ -43,13 +44,13 @@ "\n", "However, for practical problem sizes and noisy quantum hardware, random initialization can lead to slow convergence, poor local minima, and increased optimization cost.\n", "\n", - "**Warm-start QAOA** (WS-QAOA) improves this by incorporating classical optimization insights directly into the quantum circuit. This tutorial follows the methods introduced by Egger, Mare\u010dek, and Woerner in [*Warm-starting quantum optimization*](https://arxiv.org/abs/2009.10095). The key idea is to:\n", + "**Warm-start QAOA** (WS-QAOA) improves this by incorporating classical optimization insights directly into the quantum circuit. This tutorial follows the methods introduced by Egger, Mareček, and Woerner in [*Warm-starting quantum optimization*](https://arxiv.org/abs/2009.10095). The key idea is to:\n", "\n", "1. **Solve a continuous relaxation** of the original binary problem (a quadratic program over $[0,1]^n$ instead of $\\{0,1\\}^n$).\n", "2. **Encode the relaxed solution** $c^*_i \\in [0,1]$ into a custom initial state via $Y$-rotation angles $\\theta_i = 2\\arcsin(\\sqrt{c^*_i})$, so that qubit $i$ starts in a state whose probability of measuring $|1\\rangle$ is $c^*_i$.\n", "3. **Replace the standard $X$-mixer** with a custom mixer whose ground state is the warm-start initial state, ensuring the algorithm starts near the classical solution and can explore the neighborhood.\n", "\n", - "A regularization parameter $\\varepsilon \\in [0, 0.5]$ clips $c^*_i$ away from 0 and 1 to avoid reachability issues \u2014 qubits initialized in $|0\\rangle$ or $|1\\rangle$ cannot be moved by the cost Hamiltonian. At $\\varepsilon = 0.5$, WS-QAOA reduces exactly to standard QAOA.\n", + "A regularization parameter $\\varepsilon \\in [0, 0.5]$ clips $c^*_i$ away from 0 and 1 to avoid reachability issues — qubits initialized in $|0\\rangle$ or $|1\\rangle$ cannot be moved by the cost Hamiltonian. At $\\varepsilon = 0.5$, WS-QAOA reduces exactly to standard QAOA.\n", "\n", "Problem modeling uses the [`qiskit-addon-opt-mapper`](https://qiskit.github.io/qiskit-addon-opt-mapper/) package, which provides the `OptimizationProblem` class and converters for mapping combinatorial problems to quantum Hamiltonians." ] @@ -130,7 +131,7 @@ "source": [ "### Step 1: Map classical inputs to a quantum problem\n", "\n", - "We define the Max-Cut problem using the `OptimizationProblem` class from `qiskit-addon-opt-mapper`, convert it to a QUBO, and translate it to an Ising Hamiltonian (`SparsePauliOp`) suitable for QAOA. We also solve the continuous relaxation of the QUBO \u2014 replacing the binary constraint $x_i \\in \\{0,1\\}$ with $x_i \\in [0,1]$ \u2014 to obtain the warm-start initial point $c^*$." + "We define the Max-Cut problem using the `OptimizationProblem` class from `qiskit-addon-opt-mapper`, convert it to a QUBO, and translate it to an Ising Hamiltonian (`SparsePauliOp`) suitable for QAOA. We also solve the continuous relaxation of the QUBO — replacing the binary constraint $x_i \\in \\{0,1\\}$ with $x_i \\in [0,1]$ — to obtain the warm-start initial point $c^*$." ] }, { @@ -436,8 +437,8 @@ "\n", "def build_standard_qaoa(cost_op, n_layers, n_qubits):\n", " \"\"\"Standard QAOA: uniform superposition initial state + X-mixer.\"\"\"\n", - " gammas = ParameterVector(\"\u03b3\", n_layers)\n", - " betas = ParameterVector(\"\u03b2\", n_layers)\n", + " gammas = ParameterVector(\"γ\", n_layers)\n", + " betas = ParameterVector(\"β\", n_layers)\n", " qc = QuantumCircuit(n_qubits)\n", " qc.h(range(n_qubits)) # |+>^n\n", " for k in range(n_layers):\n", @@ -454,8 +455,8 @@ " Initial state per qubit i: R_Y(theta_i) |0>\n", " Mixer gate per qubit i: R_Y(theta_i) R_Z(-2*beta) R_Y(-theta_i)\n", " \"\"\"\n", - " gammas = ParameterVector(\"\u03b3\", n_layers)\n", - " betas = ParameterVector(\"\u03b2\", n_layers)\n", + " gammas = ParameterVector(\"γ\", n_layers)\n", + " betas = ParameterVector(\"β\", n_layers)\n", " qc = QuantumCircuit(n_qubits)\n", " for i, theta in enumerate(thetas):\n", " qc.ry(theta, i) # warm-start initial state\n", @@ -479,7 +480,7 @@ "id": "step2-circuit-builders-md", "metadata": {}, "source": [ - "The `apply_cost_unitary` helper reads directly from the `SparsePauliOp` Hamiltonian, so it automatically handles any QUBO problem without manual circuit construction. The WS-QAOA mixer applies three rotations per qubit per layer ($R_Y$, $R_Z$, $R_Y$), compared to a single $R_X$ in the standard mixer \u2014 a modest overhead that is constant in the number of qubits." + "The `apply_cost_unitary` helper reads directly from the `SparsePauliOp` Hamiltonian, so it automatically handles any QUBO problem without manual circuit construction. The WS-QAOA mixer applies three rotations per qubit per layer ($R_Y$, $R_Z$, $R_Y$), compared to a single $R_X$ in the standard mixer — a modest overhead that is constant in the number of qubits." ] }, { @@ -546,7 +547,7 @@ "id": "step2-draw-md", "metadata": {}, "source": [ - "Both circuits follow the same structure: an initial state preparation layer, then $p$ alternating cost-unitary and mixer-unitary layers. In the WS-QAOA circuit, the opening $R_Y$ gates encode $c^*$, and the mixer replaces each $R_X$ with a conjugated $R_Y$\u2013$R_Z$\u2013$R_Y$ triplet. The circuit depth difference between the two grows linearly with $p$, but remains manageable at low depth." + "Both circuits follow the same structure: an initial state preparation layer, then $p$ alternating cost-unitary and mixer-unitary layers. In the WS-QAOA circuit, the opening $R_Y$ gates encode $c^*$, and the mixer replaces each $R_X$ with a conjugated $R_Y$–$R_Z$–$R_Y$ triplet. The circuit depth difference between the two grows linearly with $p$, but remains manageable at low depth." ] }, { @@ -559,8 +560,8 @@ "We use `StatevectorEstimator` for exact, noiseless simulation. The `minimize` function from SciPy with the COBYLA optimizer drives the variational loop, calling the estimator at each iteration to evaluate $\\langle H_C \\rangle$ for a given parameter set $(\\gamma, \\beta)$.\n", "\n", "The two algorithms use different initial parameters that reflect what each knows before optimization:\n", - "- **Standard QAOA:** Random initialization in $[0, \\pi]$ \u2014 appropriate since no structural information is available.\n", - "- **WS-QAOA:** $\\gamma = 0$, $\\beta = \\pi/4$ \u2014 at $\\gamma=0$ the cost unitary is the identity, so the very first circuit evaluation samples directly from the warm-start initial state. This gives COBYLA a strong starting signal aligned with the classical solution." + "- **Standard QAOA:** Random initialization in $[0, \\pi]$ — appropriate since no structural information is available.\n", + "- **WS-QAOA:** $\\gamma = 0$, $\\beta = \\pi/4$ — at $\\gamma=0$ the cost unitary is the identity, so the very first circuit evaluation samples directly from the warm-start initial state. This gives COBYLA a strong starting signal aligned with the classical solution." ] }, { @@ -749,10 +750,10 @@ "output_type": "stream", "text": [ "Standard QAOA most-probable bitstring : 0110\n", - " Partition: S=[0, 3], S\u0304=[1, 2] | cut value = 4.0\n", + " Partition: S=[0, 3], S̄=[1, 2] | cut value = 4.0\n", "\n", "WS-QAOA most-probable bitstring : 0110\n", - " Partition: S=[0, 3], S\u0304=[1, 2] | cut value = 4.0\n" + " Partition: S=[0, 3], S̄=[1, 2] | cut value = 4.0\n" ] } ], @@ -797,10 +798,10 @@ "ws_cut, ws_s0, ws_s1 = evaluate_cut(decode_bitstring(ws_best), G)\n", "\n", "print(f\"Standard QAOA most-probable bitstring : {std_best}\")\n", - "print(f\" Partition: S={std_s0}, S\u0304={std_s1} | cut value = {std_cut}\")\n", + "print(f\" Partition: S={std_s0}, S̄={std_s1} | cut value = {std_cut}\")\n", "print()\n", "print(f\"WS-QAOA most-probable bitstring : {ws_best}\")\n", - "print(f\" Partition: S={ws_s0}, S\u0304={ws_s1} | cut value = {ws_cut}\")" + "print(f\" Partition: S={ws_s0}, S̄={ws_s1} | cut value = {ws_cut}\")" ] }, { @@ -989,7 +990,7 @@ } ], "source": [ - "# \u2500\u2500 Step 1a: Build the 40-node Max-Cut problem \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# ── Step 1a: Build the 40-node Max-Cut problem ─────────────────────────────\n", "# A 3-regular graph (every node has exactly 3 neighbours) is a standard QAOA\n", "N_LARGE = 40\n", "G_large = nx.random_regular_graph(d=3, n=N_LARGE, seed=0)\n", @@ -1036,7 +1037,7 @@ " f\"Cost operator: {n_qubits_large} qubits, {len(cost_op_large)} Pauli terms\"\n", ")\n", "\n", - "# \u2500\u2500 Step 1b: QP relaxation (multi-start L-BFGS-B) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# ── Step 1b: QP relaxation (multi-start L-BFGS-B) ─────────────────────────\n", "# Same multi-start approach as the small example. At 40 qubits the relaxed\n", "# landscape has many more local minima, so 200 random starts are essential\n", "# to find a low-energy warm-start point.\n", @@ -1080,7 +1081,7 @@ "plt.tight_layout()\n", "plt.show()\n", "\n", - "# \u2500\u2500 Step 1c: Build WS-QAOA circuit \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# ── Step 1c: Build WS-QAOA circuit ─────────────────────────────────────────\n", "# Reuse build_ws_qaoa from the small-scale section unchanged; the helper\n", "# scales automatically with n_qubits and the cost operator size.\n", "p_large = 1\n", @@ -1089,7 +1090,7 @@ ")\n", "ws_qc_large.measure_all()\n", "\n", - "# \u2500\u2500 Step 2: Transpile to hardware-native gates \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# ── Step 2: Transpile to hardware-native gates ──────────────────────────\n", "# generate_preset_pass_manager compiles the abstract circuit to th\n", "# gate set of the backend and inserts SWAP gates wherever the cost Hamiltonian\n", "# couples qubits that are not directly connected on the processor.\n", @@ -1159,7 +1160,7 @@ } ], "source": [ - "# \u2500\u2500 Classical baseline via simulated annealing \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# ── Classical baseline via simulated annealing ────────────────────\n", "# Run SA before any hardware calls to get a strong classical reference cut\n", "# value. SA is fast (seconds), needs no solver license, and reliably finds\n", "# near-optimal solutions on 40-node graphs. We use sa_cut as the denominator\n", @@ -1192,9 +1193,9 @@ "sa_solution, sa_cut = simulated_annealing_maxcut(G_large)\n", "print(f\"Simulated annealing cut value: {sa_cut} (classical reference)\")\n", "\n", - "# \u2500\u2500 Step 3: Execution on hardware \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# ── Step 3: Execution on hardware ───────────────────────────\n", "# A Session reserves the backend so the COBYLA iterations and final sampling\n", - "# run back-to-back without re-queuing between jobs \u2014 important when the\n", + "# run back-to-back without re-queuing between jobs — important when the\n", "# optimizer submits many short jobs sequentially. All jobs are tagged with\n", "# \"TUT_WSQAOA\" for traceability in the IBM Quantum dashboard.\n", "#\n", @@ -1229,7 +1230,7 @@ " return float(energy)\n", "\n", " # Warm-start initialisation: gamma=0 means the cost unitary is the identity on\n", - " # the first call, so COBYLA immediately evaluates the warm-start state itself \u2014\n", + " # the first call, so COBYLA immediately evaluates the warm-start state itself —\n", " # a much better starting signal than a random point.\n", " ws_params0_hw = np.concatenate(\n", " [np.zeros(p_large), np.full(p_large, np.pi / 4)]\n", @@ -1246,7 +1247,7 @@ " f\"iterations={len(ws_history_hw)}\"\n", " )\n", "\n", - " # \u2500\u2500 Step 3b: Sample the optimised circuit \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + " # ── Step 3b: Sample the optimised circuit ──────────────────────────────────\n", " # Use 8192 shots for the final sample to get a reliable mode estimate.\n", " sampler_hw = Sampler(\n", " mode=session,\n", @@ -1317,7 +1318,7 @@ "plt.tight_layout()\n", "plt.show()\n", "\n", - "# \u2500\u2500 Step 4: Convergence plot and summary \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", + "# ── Step 4: Convergence plot and summary ──────────────────────────────────\n", "# On real hardware the trace will be noisy (shot noise + gate errors), but the\n", "# overall downward trend confirms that COBYLA is making progress despite noise.\n", "fig, ax = plt.subplots(figsize=(7, 4))\n", @@ -1369,7 +1370,7 @@ "## References\n", "\n", "\n", - "[\\[1\\]](#Reference1) D. J. Egger, J. Mare\u010dek, and S. Woerner, \"Warm-starting quantum optimization,\" *Quantum*, vol. 5, p. 479, 2021. [arXiv:2009.10095](https://arxiv.org/abs/2009.10095)\n", + "[\\[1\\]](#Reference1) D. J. Egger, J. Mareček, and S. Woerner, \"Warm-starting quantum optimization,\" *Quantum*, vol. 5, p. 479, 2021. [arXiv:2009.10095](https://arxiv.org/abs/2009.10095)\n", "\n", "\n", "[\\[2\\]](#Reference2) E. Farhi, J. Goldstone, and S. Gutmann, \"A quantum approximate optimization algorithm,\" [arXiv:1411.4028](https://arxiv.org/abs/1411.4028), 2014." @@ -1380,7 +1381,7 @@ "id": "a9786b19", "metadata": {}, "source": [ - "\u00a9 IBM Corp. 2026" + "© IBM Corp. 2026" ] } ], From 145c4010ee0e9473cc45e3fbafd67ed75db362cd Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:05:37 -0400 Subject: [PATCH 14/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 15b6a19ba22..b885007a7e7 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -10,7 +10,7 @@ "description: Improve QAOA convergence on max-cut problems by initializing with the solution of a continuous relaxation, using the qiskit-addon-opt-mapper package.\n", "---\n", "\n", - "{/* cspell:ignore prereqs Mareček rhobeg skyblue neighbours Regularise steelblue edgecolor initialisation Optimisation optimised colours fontsize Farhi */}\n", + "{/* cspell:ignore prereqs Mareček rhobeg skyblue steelblue edgecolor fontsize Farhi */}\n", "\n", "# Warm-starting QAOA with the Optimization Mapper Qiskit addon\n", "*Usage estimate: 9 minutes on a Heron r3 (NOTE: This is an estimate only. Your runtime may vary.)*" From 617c357576bd39ab2e8a8cbcf0cd088ddf5b3fce Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:05:48 -0400 Subject: [PATCH 15/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index b885007a7e7..bdd3c3daba8 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -35,7 +35,7 @@ "\n", "## Background\n", "\n", - "The Quantum Approximate Optimization Algorithm (QAOA) is a hybrid quantum-classical algorithm designed to solve combinatorial optimization problems such as Max-Cut and general QUBO formulations. For a foundational introduction to QAOA in Qiskit, see the [QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/quantum-approximate-optimization-algorithm); for more advanced circuit-building techniques, see the [advanced QAOA tutorial](https://quantum.cloud.ibm.com/docs/en/tutorials/advanced-techniques-for-qaoa).\n", + "The Quantum Approximate Optimization Algorithm (QAOA) is a hybrid quantum-classical algorithm designed to solve combinatorial optimization problems such as max-cut and general QUBO formulations. For a foundational introduction to QAOA in Qiskit, see the [QAOA tutorial](/docs/tutorials/quantum-approximate-optimization-algorithm); for more advanced circuit-building techniques, see the [advanced QAOA tutorial](/docs/tutorials/advanced-techniques-for-qaoa).\n", "\n", "In standard QAOA:\n", "- The initial state is the uniform superposition $|+\\rangle^{\\otimes n}$.\n", From a1b8d33f3d3e71ef6047bb04e880fe6e9f7a0058 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:06:00 -0400 Subject: [PATCH 16/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index bdd3c3daba8..a6eb74c0a7d 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -47,7 +47,7 @@ "**Warm-start QAOA** (WS-QAOA) improves this by incorporating classical optimization insights directly into the quantum circuit. This tutorial follows the methods introduced by Egger, Mareček, and Woerner in [*Warm-starting quantum optimization*](https://arxiv.org/abs/2009.10095). The key idea is to:\n", "\n", "1. **Solve a continuous relaxation** of the original binary problem (a quadratic program over $[0,1]^n$ instead of $\\{0,1\\}^n$).\n", - "2. **Encode the relaxed solution** $c^*_i \\in [0,1]$ into a custom initial state via $Y$-rotation angles $\\theta_i = 2\\arcsin(\\sqrt{c^*_i})$, so that qubit $i$ starts in a state whose probability of measuring $|1\\rangle$ is $c^*_i$.\n", + "2. **Encode the relaxed solution** $c^*_i \\in [0,1]$ into a custom initial state by using $Y$-rotation angles $\\theta_i = 2\\arcsin(\\sqrt{c^*_i})$, so that qubit $i$ starts in a state whose probability of measuring $|1\\rangle$ is $c^*_i$.\n", "3. **Replace the standard $X$-mixer** with a custom mixer whose ground state is the warm-start initial state, ensuring the algorithm starts near the classical solution and can explore the neighborhood.\n", "\n", "A regularization parameter $\\varepsilon \\in [0, 0.5]$ clips $c^*_i$ away from 0 and 1 to avoid reachability issues — qubits initialized in $|0\\rangle$ or $|1\\rangle$ cannot be moved by the cost Hamiltonian. At $\\varepsilon = 0.5$, WS-QAOA reduces exactly to standard QAOA.\n", From 3f5bea764fb0d72e701700234ebf268be7266522 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:06:10 -0400 Subject: [PATCH 17/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index a6eb74c0a7d..a8687dea460 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -50,7 +50,7 @@ "2. **Encode the relaxed solution** $c^*_i \\in [0,1]$ into a custom initial state by using $Y$-rotation angles $\\theta_i = 2\\arcsin(\\sqrt{c^*_i})$, so that qubit $i$ starts in a state whose probability of measuring $|1\\rangle$ is $c^*_i$.\n", "3. **Replace the standard $X$-mixer** with a custom mixer whose ground state is the warm-start initial state, ensuring the algorithm starts near the classical solution and can explore the neighborhood.\n", "\n", - "A regularization parameter $\\varepsilon \\in [0, 0.5]$ clips $c^*_i$ away from 0 and 1 to avoid reachability issues — qubits initialized in $|0\\rangle$ or $|1\\rangle$ cannot be moved by the cost Hamiltonian. At $\\varepsilon = 0.5$, WS-QAOA reduces exactly to standard QAOA.\n", + "A regularization parameter $\\varepsilon \\in [0, 0.5]$ clips $c^*_i$ away from 0 and 1 to avoid reachability issues; qubits initialized in $|0\\rangle$ or $|1\\rangle$ cannot be moved by the cost Hamiltonian. At $\\varepsilon = 0.5$, WS-QAOA reduces exactly to standard QAOA.\n", "\n", "Problem modeling uses the [`qiskit-addon-opt-mapper`](https://qiskit.github.io/qiskit-addon-opt-mapper/) package, which provides the `OptimizationProblem` class and converters for mapping combinatorial problems to quantum Hamiltonians." ] From 721f96aeb99dbb1cedae1f3e7658790ffc18c08c Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:06:21 -0400 Subject: [PATCH 18/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index a8687dea460..beddbce6f3b 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -65,7 +65,7 @@ "\n", "* Qiskit SDK v2.0 or later, with [visualization](/docs/api/qiskit/visualization) support\n", "* Qiskit Runtime v0.43 or later (`pip install qiskit-ibm-runtime`)\n", - "* Qiskit addon optimization mapper (`pip install qiskit-addon-opt-mapper`)\n", + "* Optimization Mapper Qiskit addon (`pip install qiskit-addon-opt-mapper`)\n", "* SciPy (`pip install scipy`)\n", "* NetworkX (`pip install networkx`)" ] From 77118525819d8f53cfa8f2a10e18ec13bd87d2be Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:06:35 -0400 Subject: [PATCH 19/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index beddbce6f3b..687388cb69c 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -114,14 +114,14 @@ "id": "431a5bd2-e6ed-471b-ad9e-c4edd27784a8", "metadata": {}, "source": [ - "# Small Scale Simulator Example\n", + "# Small-scale simulator example\n", "\n", - "We use a small **Max-Cut** problem on a weighted graph as our running example. Max-Cut asks: given a graph $G=(V,E)$ with edge weights $w_{ij}$, find a partition of the vertices into two sets $S$ and $\\bar{S}$ that maximizes the total weight of edges crossing the cut.\n", + "We use a small **max-cut** problem on a weighted graph as our running example. Max-cut asks: given a graph $G=(V,E)$ with edge weights $w_{ij}$, find a partition of the vertices into two sets $S$ and $\\bar{S}$ that maximizes the total weight of edges crossing the cut.\n", "\n", - "As a QUBO minimization problem, Max-Cut can be written as:\n", + "As a QUBO minimization problem, max-cut can be written as:\n", "$$\\min_{x \\in \\{0,1\\}^n} -\\sum_{(i,j) \\in E} w_{ij}(x_i + x_j - 2x_i x_j)$$\n", "\n", - "We work with a 4-node graph for tractability on a simulator." + "We work with a four-node graph for tractability on a simulator." ] }, { From 82d786cde8783a374e7b2bcbea75fa3de899b9e6 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:06:49 -0400 Subject: [PATCH 20/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 687388cb69c..f1dc8ad5c1a 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -131,7 +131,7 @@ "source": [ "### Step 1: Map classical inputs to a quantum problem\n", "\n", - "We define the Max-Cut problem using the `OptimizationProblem` class from `qiskit-addon-opt-mapper`, convert it to a QUBO, and translate it to an Ising Hamiltonian (`SparsePauliOp`) suitable for QAOA. We also solve the continuous relaxation of the QUBO — replacing the binary constraint $x_i \\in \\{0,1\\}$ with $x_i \\in [0,1]$ — to obtain the warm-start initial point $c^*$." + "We define the max-cut problem using the `OptimizationProblem` class from `qiskit-addon-opt-mapper`, convert it to a QUBO, and translate it to an Ising Hamiltonian (`SparsePauliOp`) suitable for QAOA. We also solve the continuous relaxation of the QUBO — replacing the binary constraint $x_i \\in \\{0,1\\}$ with $x_i \\in [0,1]$ — to obtain the warm-start initial point $c^*$." ] }, { From 658c45aec6b2952aca0a035e52c6dd336ff4edbc Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:06:57 -0400 Subject: [PATCH 21/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index f1dc8ad5c1a..c443382c35c 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -203,7 +203,7 @@ } ], "source": [ - "# Build the Max-Cut QUBO using OptimizationProblem\n", + "# Build the max-cut QUBO using OptimizationProblem\n", "#\n", "# Max-Cut as a minimization QUBO:\n", "# minimize -sum_{(i,j) in E} w_ij * (x_i + x_j - 2*x_i*x_j)\n", From 003f2fbcc21ea35aab3bc30080de1912b7c4ed72 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:07:12 -0400 Subject: [PATCH 22/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index c443382c35c..7da08c5d21f 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -151,7 +151,7 @@ } ], "source": [ - "# Define a 4-node weighted graph for the Max-Cut problem\n", + "# Define a 4-node weighted graph for the max-cut problem\n", "n_nodes = 4\n", "edges = [(0, 1, 1.0), (0, 2, 1.0), (1, 2, 1.0), (1, 3, 1.0), (2, 3, 1.0)]\n", "\n", From b41589cf961644193ab6f7e6117e84de51ba0ff3 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:07:23 -0400 Subject: [PATCH 23/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 7da08c5d21f..d352b76358e 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -175,7 +175,7 @@ "id": "step1-graph-md", "metadata": {}, "source": [ - "The graph has 5 edges. The optimal Max-Cut partitions the nodes into $S = \\{0, 3\\}$ and $\\bar{S} = \\{1, 2\\}$ (or its complement), severing 4 of the 5 edges for a cut value of 4." + "The graph has five edges. The optimal max-cut partitions the nodes into $S = \\{0, 3\\}$ and $\\bar{S} = \\{1, 2\\}$ (or its complement), severing four of the five edges for a cut value of 4." ] }, { From 08eafbe82884c9d235f9c57996d59803878539d9 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:07:33 -0400 Subject: [PATCH 24/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index d352b76358e..45da65fdf2b 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -276,7 +276,7 @@ "id": "step1-ising-md", "metadata": {}, "source": [ - "The `to_ising` translator returns a `SparsePauliOp` representing $H_C$ and a scalar `offset` such that $\\text{QUBO value} = \\langle H_C \\rangle + \\text{offset}$. For this Max-Cut problem with all unit weights, $h_i = 0$ for all qubits (the graph is symmetric in linear terms after the $x_i \\to z_i$ substitution), and each edge contributes a $Z_i Z_j$ coupling of strength $+0.5$. The minimum eigenvalue of $H_C$ corresponds to the maximum cut." + "The `to_ising` translator returns a `SparsePauliOp` representing $H_C$ and a scalar `offset` such that $\\text{QUBO value} = \\langle H_C \\rangle + \\text{offset}$. For this max-cut problem with all unit weights, $h_i = 0$ for all qubits (the graph is symmetric in linear terms after the $x_i \\to z_i$ substitution), and each edge contributes a $Z_i Z_j$ coupling of strength $+0.5$. The minimum eigenvalue of $H_C$ corresponds to the maximum cut." ] }, { From 2a3790ec1646c0da73f59dfabcc9b3c660ed60d5 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:07:42 -0400 Subject: [PATCH 25/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 45da65fdf2b..29a9371a3d6 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -301,7 +301,7 @@ "# and minimizes the same quadratic objective. Its solution c*_i gives the\n", "# probability that variable i should be 1 according to the classical relaxation.\n", "#\n", - "# The Max-Cut QUBO has a non-convex quadratic matrix (negative eigenvalues),\n", + "# The max-cut QUBO has a non-convex quadratic matrix (negative eigenvalues),\n", "# so the relaxed problem has multiple local minima. A naive single start from\n", "# [0.5,...,0.5] converges to the symmetric saddle point c* = [0.5,...,0.5],\n", "# which carries no useful structural information about the problem.\n", From 3f61a25096aab95817bdb882e87dcdd51b41fc66 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:07:51 -0400 Subject: [PATCH 26/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 29a9371a3d6..5769ea33160 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -480,7 +480,7 @@ "id": "step2-circuit-builders-md", "metadata": {}, "source": [ - "The `apply_cost_unitary` helper reads directly from the `SparsePauliOp` Hamiltonian, so it automatically handles any QUBO problem without manual circuit construction. The WS-QAOA mixer applies three rotations per qubit per layer ($R_Y$, $R_Z$, $R_Y$), compared to a single $R_X$ in the standard mixer — a modest overhead that is constant in the number of qubits." + "The `apply_cost_unitary` helper reads directly from the `SparsePauliOp` Hamiltonian, so it automatically handles any QUBO problem without manual circuit construction. The WS-QAOA mixer applies three rotations per qubit per layer ($R_Y$, $R_Z$, $R_Y$), compared to a single $R_X$ in the standard mixer — a modest overhead that is constant in the number of qubits." ] }, { From 997fb8bd082107e10b68266b08cd8690abf43de7 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:08:08 -0400 Subject: [PATCH 27/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 5769ea33160..e1914984b63 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -684,7 +684,7 @@ "id": "step3-reference-md", "metadata": {}, "source": [ - "The approximation ratio is defined as $\\langle H_C \\rangle_{\\text{QAOA}} / E_{\\text{opt}}$. For minimization problems where $E_{\\text{opt}} < 0$, a ratio closer to 1 means the algorithm found a lower energy, i.e., a better solution. The brute-force search over all $2^n$ basis states is only feasible for small $n$ and serves as a ground-truth reference." + "The approximation ratio is defined as $\\langle H_C \\rangle_{\\text{QAOA}} / E_{\\text{opt}}$. For minimization problems where $E_{\\text{opt}} < 0$, a ratio closer to 1 means the algorithm found a lower energy (a better solution). The brute-force search over all $2^n$ basis states is only feasible for small $n$ and serves as a ground-truth reference." ] }, { From 6d9ab12b4186a5e3ee79c05e66fb6c79980e6d2c Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:08:16 -0400 Subject: [PATCH 28/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index e1914984b63..a426ad77fcc 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -694,7 +694,7 @@ "source": [ "### Step 4: Post-process and return result in desired classical format\n", "\n", - "We visualize convergence, sample the optimized circuits for bitstring solutions, decode those bitstrings back to Max-Cut partitions, and summarize the final results." + "We visualize convergence, sample the optimized circuits for bitstring solutions, decode those bitstrings back to max-cut partitions, and summarize the final results." ] }, { From 36aae1cb7cfca926f2b5e157b738a11b4061d147 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:08:26 -0400 Subject: [PATCH 29/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index a426ad77fcc..01219e8a62f 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -809,7 +809,7 @@ "id": "step4-sample-md", "metadata": {}, "source": [ - "Bitstrings from Qiskit's `Sampler` are returned with qubit 0 at the rightmost position, so reversing the string maps index $i$ to variable $x_i$. The cut value is the total weight of edges that cross the partition, this is what the Max-Cut problem aims to maximize. A cut value of 4 uses 4 of the 5 available edges, which is the theoretical maximum for this graph." + "Bitstrings from `Sampler` are returned with qubit 0 at the rightmost position, so reversing the string maps index $i$ to variable $x_i$. The cut value is the total weight of edges that cross the partition, which is what the max-cut problem aims to maximize. A cut value of 4 uses four of the five available edges, which is the theoretical maximum for this graph." ] }, { From bb5a1d463e82bcad5d331e5f07b3938a1fd11b7c Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:08:37 -0400 Subject: [PATCH 30/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 01219e8a62f..1371c628a0a 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -880,7 +880,7 @@ "id": "step4-visualize-md", "metadata": {}, "source": [ - "The graph visualization colors each node by its partition assignment (blue = $S$, orange = $\\bar{S}$). Edges that cross the partition (connecting differently colored nodes) are the ones counted in the cut.\n", + "The graph visualization colors each node by its partition assignment (blue = $S$, orange = $\\bar{S}$). Edges that cross the partition (connecting differently-colored nodes) are the ones counted in the cut.\n", "\n", "Both methods find a bitstring with cut value 4, but for very different reasons. It is important to note that the **convergence plot and the sampled bitstring measure two different things**:\n", "\n", From bde3e645dfacb4deba7840cb76d2b26d8251447b Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:13:23 -0400 Subject: [PATCH 31/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 1371c628a0a..8768e03670f 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -1356,10 +1356,12 @@ "id": "de87f93a", "metadata": {}, "source": [ - "## What to look into next\n", - "If you found this work interesting you may be interested in the following material:\n", + "## Next steps\n", + "\n", + "If you found this work interesting, you might be interested in the following material:\n", "- **Higher QAOA layers**: Increase `p` to see how both algorithms improve with more circuit layers, and whether the WS-QAOA advantage at low depth persists.\n", - "- **Qiskit addon optimization mapper**: Explore the [documentation](https://qiskit.github.io/qiskit-addon-opt-mapper/) and try modeling different combinatorial problems, or using different solvers for the continuous relaxation." + "- **Optimization Mapper Qiskit addon**: Explore the [documentation](https://qiskit.github.io/qiskit-addon-opt-mapper/) and try modeling different combinatorial problems, or using different solvers for the continuous relaxation." + "" ] }, { From 1be262881fe1d287e5676ccc6f84329ce5211341 Mon Sep 17 00:00:00 2001 From: Henry Zou <87874865+henryzou50@users.noreply.github.com> Date: Tue, 5 May 2026 18:14:24 -0400 Subject: [PATCH 32/33] Update docs/tutorials/warm-start-qaoa.ipynb Co-authored-by: abbycross --- docs/tutorials/warm-start-qaoa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 8768e03670f..9ca20dde2c8 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -905,7 +905,7 @@ "id": "ae69c5e0-32b1-4f03-ab13-7b95a9acfd25", "metadata": {}, "source": [ - "### Steps 1-4 compress into single code block (pull out changes if something uniquely needs to be done for large scale )" + "### Steps 1-4 compressed into a single code block (pull out changes if something uniquely needs to be done for large-scale)" ] }, { From 871966608d9593567efa0418c7c02c066e2e66bb Mon Sep 17 00:00:00 2001 From: Henry Zou Date: Tue, 5 May 2026 18:21:43 -0400 Subject: [PATCH 33/33] Minor fixes --- docs/tutorials/warm-start-qaoa.ipynb | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/docs/tutorials/warm-start-qaoa.ipynb b/docs/tutorials/warm-start-qaoa.ipynb index 9ca20dde2c8..653aa19b53f 100644 --- a/docs/tutorials/warm-start-qaoa.ipynb +++ b/docs/tutorials/warm-start-qaoa.ipynb @@ -736,7 +736,7 @@ "id": "step4-convergence-md", "metadata": {}, "source": [ - "The convergence plot shows the energy $\\langle H_C \\rangle$ at each COBYLA function evaluation. Standard QAOA at $p=1$ is limited to ~49% of the optimal energy on this graph (the theoretical maximum for $p=1$ QAOA on graphs with triangles), settling around $-0.74$. WS-QAOA, initialized close to the optimal solution, converges quickly to near $-1.5$ (the exact optimum) with far fewer iterations. This demonstrates the key advantage of the warm start: at the same circuit depth, it reaches a significantly better solution." + "The convergence plot shows the energy $\\langle H_C \\rangle$ at each COBYLA function evaluation. Standard QAOA at $p=1$ is limited to ~49% of the optimal energy on this graph (the theoretical maximum for $p=1$ QAOA on graphs with triangles), settling around $-0.74$. WS-QAOA, initialized close to the optimal solution, converges quickly to near $-1.50$ (the exact optimum) with far fewer iterations. This demonstrates the key advantage of the warm start: at the same circuit depth, it reaches a significantly better solution." ] }, { @@ -905,7 +905,7 @@ "id": "ae69c5e0-32b1-4f03-ab13-7b95a9acfd25", "metadata": {}, "source": [ - "### Steps 1-4 compressed into a single code block (pull out changes if something uniquely needs to be done for large-scale)" + "### Steps 1-4 compress into single code block" ] }, { @@ -933,7 +933,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "a35f3b21", "metadata": {}, "outputs": [ @@ -991,7 +991,7 @@ ], "source": [ "# ── Step 1a: Build the 40-node Max-Cut problem ─────────────────────────────\n", - "# A 3-regular graph (every node has exactly 3 neighbours) is a standard QAOA\n", + "# A 3-regular graph (every node has exactly 3 neighbors) is a standard QAOA\n", "N_LARGE = 40\n", "G_large = nx.random_regular_graph(d=3, n=N_LARGE, seed=0)\n", "edges_large = list(G_large.edges())\n", @@ -1059,7 +1059,7 @@ " if res.fun < best_val_large:\n", " best_val_large, c_star_large = res.fun, res.x\n", "\n", - "# Regularise and convert to rotation angles (same formula as small example)\n", + "# Regularize and convert to rotation angles (same formula as small example)\n", "epsilon_large = 0.25\n", "c_clipped_large = np.clip(c_star_large, epsilon_large, 1 - epsilon_large)\n", "thetas_large = 2 * np.arcsin(np.sqrt(c_clipped_large))\n", @@ -1106,7 +1106,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "00ae1953", "metadata": {}, "outputs": [ @@ -1229,7 +1229,7 @@ " )\n", " return float(energy)\n", "\n", - " # Warm-start initialisation: gamma=0 means the cost unitary is the identity on\n", + " # Warm-start initialization: gamma=0 means the cost unitary is the identity on\n", " # the first call, so COBYLA immediately evaluates the warm-start state itself —\n", " # a much better starting signal than a random point.\n", " ws_params0_hw = np.concatenate(\n", @@ -1243,11 +1243,11 @@ " options={\"maxiter\": 150, \"rhobeg\": 0.3},\n", " )\n", " print(\n", - " f\"\\nOptimisation complete: energy={ws_result_hw.fun:.4f}, \"\n", + " f\"\\nOptimization complete: energy={ws_result_hw.fun:.4f}, \"\n", " f\"iterations={len(ws_history_hw)}\"\n", " )\n", "\n", - " # ── Step 3b: Sample the optimised circuit ──────────────────────────────────\n", + " # ── Step 3b: Sample the optimized circuit ──────────────────────────────────\n", " # Use 8192 shots for the final sample to get a reliable mode estimate.\n", " sampler_hw = Sampler(\n", " mode=session,\n", @@ -1285,7 +1285,7 @@ "\n", "# Visualize both solutions side-by-side on the graph.\n", "# Blue = partition S, orange = partition S-bar.\n", - "# Edges crossing between colours are the ones counted in the cut.\n", + "# Edges crossing between colors are the ones counted in the cut.\n", "fig, axes = plt.subplots(1, 2, figsize=(14, 6))\n", "for ax, assignment, cut, title in [\n", " (\n", @@ -1356,12 +1356,10 @@ "id": "de87f93a", "metadata": {}, "source": [ - "## Next steps\n", - "\n", - "If you found this work interesting, you might be interested in the following material:\n", + "## What to look into next\n", + "If you found this work interesting you may be interested in the following material:\n", "- **Higher QAOA layers**: Increase `p` to see how both algorithms improve with more circuit layers, and whether the WS-QAOA advantage at low depth persists.\n", - "- **Optimization Mapper Qiskit addon**: Explore the [documentation](https://qiskit.github.io/qiskit-addon-opt-mapper/) and try modeling different combinatorial problems, or using different solvers for the continuous relaxation." - "" + "- **Qiskit addon optimization mapper**: Explore the [documentation](https://qiskit.github.io/qiskit-addon-opt-mapper/) and try modeling different combinatorial problems, or using different solvers for the continuous relaxation." ] }, {