From af0afaa60f8efa98002eaa03d16f1763e8a166c3 Mon Sep 17 00:00:00 2001 From: Becky Dimock Date: Thu, 14 May 2026 11:40:13 -0500 Subject: [PATCH 1/7] Set up Box link --- scripts/config/api-html-artifacts.json | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/config/api-html-artifacts.json b/scripts/config/api-html-artifacts.json index b4ef47fc1e6..9dae83389d6 100644 --- a/scripts/config/api-html-artifacts.json +++ b/scripts/config/api-html-artifacts.json @@ -90,6 +90,7 @@ "0.3": "https://ibm.box.com/shared/static/qiskfdazhq1dpxcl9b627x9yi60gncb4.zip" }, "qiskit-addon-aqc-tensor": { + "0.3": "https://ibm.box.com/shared/static/uzw1mzmypuqf2one830vdrvy27x2brvu.zip", "0.2": "https://ibm.box.com/shared/static/dhuyxtri674xvb3oky5rg019bd1a44hf.zip", "0.1": "https://ibm.box.com/shared/static/jnxlji7b6cguhbvp1txdi2vhym38wcnc.zip" }, From 7dfb641bc0c3ab8ba7c6ab43768c29bebb6b3e4f Mon Sep 17 00:00:00 2001 From: Becky Dimock Date: Thu, 28 May 2026 12:36:55 -0500 Subject: [PATCH 2/7] Draft metadata update --- docs/guides/error-mitigation-overview.mdx | 47 ++++++++++++++++++++++- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/docs/guides/error-mitigation-overview.mdx b/docs/guides/error-mitigation-overview.mdx index ef75a9a63bc..bd22712b4fa 100644 --- a/docs/guides/error-mitigation-overview.mdx +++ b/docs/guides/error-mitigation-overview.mdx @@ -1,6 +1,49 @@ --- title: Overview of noise management techniques description: Discover tools that help manage noise through the available error mitigation and suppression techniques +keywords: ["error mitigation", "noise management", "quantum error suppression", "ZNE", "PEC", "TREX", "dynamical decoupling", "Qiskit Runtime", "quantum noise"] +category: "Guides" +tags: ["error-mitigation", "noise-management", "quantum-computing", "qiskit-runtime", "qiskit-addons"] +date: "2026-05-28" +updated: "2026-05-28" +version: "1.0" + +# Semantic context +topic: "Quantum Error Mitigation and Noise Management" +audience: "quantum-developers" +difficulty: "intermediate" +reading_time: "8 min" + +# Content structure +sections: ["general-techniques", "expectation-value-mitigation", "sampling-mitigation"] +technologies: ["Qiskit Runtime", "Qiskit Addons", "quantum-hardware"] + +# Relationships +related_docs: + - "error-mitigation-and-suppression-techniques" + - "directed-execution-model" + - "configure-error-mitigation" +prerequisites: ["basic-quantum-computing", "qiskit-fundamentals"] +next_steps: ["error-mitigation-and-suppression-techniques", "directed-execution-model"] + +# Discoverability +aliases: ["noise-management", "error-suppression-overview", "quantum-error-mitigation-guide"] +summary: "Comprehensive index of error mitigation and noise suppression techniques available in Qiskit, including both open-source addons and Qiskit Runtime features. Covers general noise management, expectation value estimation techniques (TREX, ZNE, PEA, PEC), and sampling-based methods (SQD, M3)." + +# Content metadata +techniques_covered: + - "Directed execution model" + - "Dynamical decoupling" + - "Pauli twirling" + - "TREX" + - "ZNE" + - "PEA" + - "PEC" + - "OBP" + - "PNA" + - "SQD" + - "M3" +use_cases: ["expectation-value-estimation", "sampling-results", "noise-reduction"] --- {/* cspell:ignore lightcones */} @@ -73,7 +116,7 @@ When executing quantum workloads, there are multiple ways to reduce the impact o @@ -107,7 +150,7 @@ When executing quantum workloads, there are multiple ways to reduce the impact o From 53ea514583251ca2475945236aef15dc5336a3a7 Mon Sep 17 00:00:00 2001 From: Becky Dimock Date: Thu, 28 May 2026 12:43:52 -0500 Subject: [PATCH 3/7] Try updating a notebook's metadata --- docs/guides/quick-start.ipynb | 57 +++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/docs/guides/quick-start.ipynb b/docs/guides/quick-start.ipynb index 5fa9d2a5ac6..d4ed8c17592 100644 --- a/docs/guides/quick-start.ipynb +++ b/docs/guides/quick-start.ipynb @@ -8,6 +8,63 @@ "---\n", "title: Quickstart\n", "description: Build and visualize a quantum circuit in under two minutes, no sign-in or API key necessary.\n", + "keywords: [\"quickstart\", \"getting started\", \"quantum circuit\", \"Bell state\", \"entanglement\", \"Qiskit tutorial\", \"first circuit\", \"quantum computing basics\"]\n", + "category: \"Guides\"\n", + "tags: [\"quickstart\", \"tutorial\", \"beginner\", \"quantum-circuit\", \"bell-state\", \"entanglement\", \"qiskit-basics\"]\n", + "date: \"2026-05-28\"\n", + "updated: \"2026-05-28\"\n", + "version: \"1.0\"\n", + "\n", + "# Semantic context\n", + "topic: \"Getting Started with Qiskit\"\n", + "audience: \"beginners\"\n", + "difficulty: \"beginner\"\n", + "reading_time: \"5 min\"\n", + "completion_time: \"2 min\"\n", + "\n", + "# Tutorial metadata\n", + "tutorial_type: \"quickstart\"\n", + "hands_on: true\n", + "requires_hardware: false\n", + "requires_api_key: false\n", + "\n", + "# Content structure\n", + "sections: [\"installation\", \"circuit-building\", \"visualization\", \"experimentation\", \"next-steps\"]\n", + "code_languages: [\"python\"]\n", + "technologies: [\"Qiskit\", \"Python\", \"Jupyter\"]\n", + "\n", + "# Learning objectives\n", + "learning_outcomes:\n", + " - \"Install Qiskit in a local environment\"\n", + " - \"Build a simple quantum circuit\"\n", + " - \"Create a Bell state (entangled qubits)\"\n", + " - \"Run circuit simulation locally\"\n", + " - \"Visualize quantum measurement results\"\n", + " - \"Understand quantum entanglement basics\"\n", + "\n", + "# Relationships\n", + "related_docs:\n", + " - \"hello-world\"\n", + " - \"install-qiskit\"\n", + " - \"basics-of-quantum-information\"\n", + "prerequisites: [\"python-basics\"]\n", + "next_steps: [\"hello-world\", \"basics-of-quantum-information\"]\n", + "\n", + "# Discoverability\n", + "aliases: [\"getting-started\", \"first-circuit\", \"qiskit-quickstart\", \"beginner-tutorial\"]\n", + "summary: \"Hands-on quickstart guide for building your first quantum circuit with Qiskit. Learn to create a Bell state, run local simulations, and visualize results in under 2 minutes. No sign-in or API key required. Perfect for beginners new to quantum computing.\"\n", + "\n", + "# Technical details\n", + "qiskit_version: \"~=2.4.0\"\n", + "dependencies: [\"qiskit\", \"matplotlib\", \"qiskit[visualization]\"]\n", + "environment: \"local\"\n", + "execution_mode: \"simulation\"\n", + "\n", + "# Content features\n", + "includes_code: true\n", + "includes_visualization: true\n", + "interactive: true\n", + "estimated_runtime: \"< 1 min\"\n", "---\n", "\n", "\n", From d0f446f3a658cb946c37af7ec1eefee469fd3f65 Mon Sep 17 00:00:00 2001 From: Becky Dimock Date: Thu, 28 May 2026 12:48:21 -0500 Subject: [PATCH 4/7] Try one that uses actual hardware --- docs/guides/hello-world.ipynb | 63 +++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/docs/guides/hello-world.ipynb b/docs/guides/hello-world.ipynb index 7cbd781d6d0..98d77b2c56e 100644 --- a/docs/guides/hello-world.ipynb +++ b/docs/guides/hello-world.ipynb @@ -8,6 +8,69 @@ "---\n", "title: Run your first circuit on hardware\n", "description: Get started using Qiskit with IBM Quantum hardware in this Hello World example\n", + "keywords: [\"hello world\", \"quantum hardware\", \"IBM Quantum\", \"first circuit\", \"Bell state\", \"QPU\", \"quantum processing unit\", \"Qiskit Runtime\", \"hardware execution\"]\n", + "category: \"Guides\"\n", + "tags: [\"hello-world\", \"tutorial\", \"beginner\", \"hardware\", \"qpu\", \"bell-state\", \"qiskit-runtime\", \"authentication\"]\n", + "date: \"2026-05-28\"\n", + "updated: \"2026-05-28\"\n", + "version: \"1.0\"\n", + "\n", + "# Semantic context\n", + "topic: \"Running Quantum Circuits on Real Hardware\"\n", + "audience: \"beginners\"\n", + "difficulty: \"beginner\"\n", + "reading_time: \"15 min\"\n", + "completion_time: \"20 min\"\n", + "\n", + "# Tutorial metadata\n", + "tutorial_type: \"hello-world\"\n", + "hands_on: true\n", + "requires_hardware: true\n", + "requires_api_key: true\n", + "requires_account: true\n", + "\n", + "# Content structure\n", + "sections: [\"installation\", \"authentication\", \"simple-program\", \"scaling\", \"next-steps\"]\n", + "code_languages: [\"python\"]\n", + "technologies: [\"Qiskit\", \"Qiskit Runtime\", \"IBM Quantum\", \"QPU\", \"Jupyter\"]\n", + "\n", + "# Learning objectives\n", + "learning_outcomes:\n", + " - \"Set up IBM Quantum account and authentication\"\n", + " - \"Install Qiskit Runtime for hardware access\"\n", + " - \"Create and run a Bell state circuit on real quantum hardware\"\n", + " - \"Understand the four-step Qiskit pattern workflow\"\n", + " - \"Scale circuits to utility-level qubit counts\"\n", + " - \"Analyze results from quantum hardware execution\"\n", + "\n", + "# Relationships\n", + "related_docs:\n", + " - \"quick-start\"\n", + " - \"cloud-setup-invited\"\n", + " - \"cloud-setup-untrusted\"\n", + " - \"plans-overview\"\n", + " - \"bit-ordering\"\n", + "prerequisites: [\"quick-start\", \"python-basics\", \"ibm-quantum-account\"]\n", + "next_steps: [\"configure-error-mitigation\", \"primitives\", \"qiskit-patterns\"]\n", + "\n", + "# Discoverability\n", + "aliases: [\"hello-world\", \"first-hardware-run\", \"quantum-hardware-tutorial\", \"run-on-qpu\"]\n", + "summary: \"Complete hello world tutorial for running quantum circuits on real IBM Quantum hardware. Covers account setup, authentication, creating Bell states, executing on QPUs, and scaling to utility-level circuits. Includes the four-step Qiskit pattern: map, optimize, execute, and analyze.\"\n", + "\n", + "# Technical details\n", + "qiskit_version: \"~=2.4.0\"\n", + "qiskit_runtime_version: \"~=0.46.1\"\n", + "dependencies: [\"qiskit\", \"qiskit-ibm-runtime\", \"jupyter\"]\n", + "environment: \"cloud\"\n", + "execution_mode: \"hardware\"\n", + "access_plan: \"Open Plan\"\n", + "\n", + "# Content features\n", + "includes_code: true\n", + "includes_visualization: true\n", + "interactive: true\n", + "estimated_runtime: \"5-10 min\"\n", + "quantum_concepts: [\"Bell state\", \"entanglement\", \"quantum circuits\", \"observables\", \"primitives\"]\n", "---\n", "\n", "\n", From 2abffd8f2639edec311cd6486ce64d49efbdf0cb Mon Sep 17 00:00:00 2001 From: Becky Dimock Date: Thu, 28 May 2026 12:50:24 -0500 Subject: [PATCH 5/7] Update with QPU info --- docs/guides/hello-world.ipynb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/guides/hello-world.ipynb b/docs/guides/hello-world.ipynb index 98d77b2c56e..956b7881a12 100644 --- a/docs/guides/hello-world.ipynb +++ b/docs/guides/hello-world.ipynb @@ -65,6 +65,15 @@ "execution_mode: \"hardware\"\n", "access_plan: \"Open Plan\"\n", "\n", + "# QPU usage\n", + "qpu_usage:\n", + " estimated_shots: \"1000-10000\"\n", + " estimated_circuits: \"2-5\"\n", + " qubit_count: \"2-127\"\n", + " circuit_depth: \"low-to-medium\"\n", + " execution_time: \"minutes\"\n", + " cost_estimate: \"free (Open Plan)\"\n", + "\n", "# Content features\n", "includes_code: true\n", "includes_visualization: true\n", From fdb3a673bae6caba9191b84b7200078caa78c70b Mon Sep 17 00:00:00 2001 From: Becky Dimock Date: Thu, 28 May 2026 13:04:37 -0500 Subject: [PATCH 6/7] add "is latest" tag --- docs/guides/error-mitigation-overview.mdx | 1 + docs/guides/hello-world.ipynb | 1 + docs/guides/quick-start.ipynb | 1 + 3 files changed, 3 insertions(+) diff --git a/docs/guides/error-mitigation-overview.mdx b/docs/guides/error-mitigation-overview.mdx index bd22712b4fa..e1076bda506 100644 --- a/docs/guides/error-mitigation-overview.mdx +++ b/docs/guides/error-mitigation-overview.mdx @@ -7,6 +7,7 @@ tags: ["error-mitigation", "noise-management", "quantum-computing", "qiskit-runt date: "2026-05-28" updated: "2026-05-28" version: "1.0" +is_latest: true # Semantic context topic: "Quantum Error Mitigation and Noise Management" diff --git a/docs/guides/hello-world.ipynb b/docs/guides/hello-world.ipynb index 956b7881a12..cfa0d4fabba 100644 --- a/docs/guides/hello-world.ipynb +++ b/docs/guides/hello-world.ipynb @@ -14,6 +14,7 @@ "date: \"2026-05-28\"\n", "updated: \"2026-05-28\"\n", "version: \"1.0\"\n", + "is_latest: true\n", "\n", "# Semantic context\n", "topic: \"Running Quantum Circuits on Real Hardware\"\n", diff --git a/docs/guides/quick-start.ipynb b/docs/guides/quick-start.ipynb index d4ed8c17592..aa7053d3771 100644 --- a/docs/guides/quick-start.ipynb +++ b/docs/guides/quick-start.ipynb @@ -14,6 +14,7 @@ "date: \"2026-05-28\"\n", "updated: \"2026-05-28\"\n", "version: \"1.0\"\n", + "is_latest: true\n", "\n", "# Semantic context\n", "topic: \"Getting Started with Qiskit\"\n", From d7ee8b3e9450b4001cff6630ba601f4ce7a50086 Mon Sep 17 00:00:00 2001 From: Becky Dimock Date: Wed, 10 Jun 2026 08:45:30 -0500 Subject: [PATCH 7/7] tweaks --- docs/guides/debug-qiskit-runtime-jobs.ipynb | 20 ++++--- docs/guides/noise-learning.ipynb | 12 ++--- docs/guides/v2-primitives.mdx | 60 ++++++++++++++------- 3 files changed, 58 insertions(+), 34 deletions(-) diff --git a/docs/guides/debug-qiskit-runtime-jobs.ipynb b/docs/guides/debug-qiskit-runtime-jobs.ipynb index 2a9969ccd60..8d933a6d1d8 100644 --- a/docs/guides/debug-qiskit-runtime-jobs.ipynb +++ b/docs/guides/debug-qiskit-runtime-jobs.ipynb @@ -212,7 +212,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "830b1dcc-2669-46cc-bff8-01a96a05c6ab", "metadata": {}, "outputs": [ @@ -232,7 +232,8 @@ "# Map the observables to the backend's layout\n", "isa_obs = [SparsePauliOp(o).apply_layout(isa_qc.layout) for o in obs]\n", "\n", - "# Initialize the PUBs, which consist of six-qubit circuits with `n_layers` 1, ..., 6\n", + "# Initialize the PUBs, which consist of six-qubit circuits \n", + "# with `n_layers` 1, ..., 6\n", "all_n_layers = [1, 2, 3, 4, 5, 6]\n", "\n", "pubs = [(pm.run(generate_circuit(6, n)), isa_obs) for n in all_n_layers]" @@ -377,7 +378,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "cd61e437-bd2f-4349-a667-7edab51c4a6e", "metadata": {}, "outputs": [ @@ -425,7 +426,8 @@ " # Print the mean absolute difference for the observables\n", " mean_vals = np.round(np.mean(vals), 2)\n", " print(\n", - " f\"Mean absolute difference between ideal and noisy results for circuits with {all_n_layers[idx]} layers:\\n {mean_vals}%\\n\"\n", + " f\"Mean absolute difference between ideal and noisy results \"\n", + " f\"for circuits with {all_n_layers[idx]} layers:\\n {mean_vals}%\\n\"\n", " )" ] }, @@ -453,7 +455,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "0835c562-55c9-4dbe-879e-7271f8bed280", "metadata": {}, "outputs": [ @@ -508,7 +510,8 @@ " # Print the mean absolute difference for the observables\n", " mean_values = np.round(np.mean(values), 2)\n", " print(\n", - " f\"Mean absolute difference between ideal and noisy results for circuits with {all_n_layers[idx]} layers:\\n {mean_values}%\\n\"\n", + " f\"Mean absolute difference between ideal and noisy results \"\n", + " f\"for circuits with {all_n_layers[idx]} layers:\\n {mean_values}%\\n\"\n", " )" ] }, @@ -599,7 +602,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "7db531a1-c417-4d5b-bdc3-7a4ad3385fd4", "metadata": {}, "outputs": [ @@ -630,7 +633,8 @@ "for factors, res in zip(noise_factors, results):\n", " d = rdiff(ideal_results[0], res[0])\n", " print(\n", - " f\"Mean absolute difference for factors {factors}:\\n {np.round(np.mean(d), 2)}%\\n\"\n", + " f\"Mean absolute difference for factors {factors}:\\n \"\n", + " f\"{np.round(np.mean(d), 2)}%\\n\"\n", " )" ] }, diff --git a/docs/guides/noise-learning.ipynb b/docs/guides/noise-learning.ipynb index 9b951cb3e34..30af0d74df9 100644 --- a/docs/guides/noise-learning.ipynb +++ b/docs/guides/noise-learning.ipynb @@ -120,7 +120,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "db9fda1f-189c-4acc-9368-b9ce7c6e7057", "metadata": {}, "outputs": [ @@ -193,8 +193,8 @@ "# Results are truncated\n", "with numpy.printoptions(threshold=200):\n", " print(\n", - " f\"And each of these `LayerError` objects possess\"\n", - " f\" data on the generators for the error channel: \\n{noise_model.data[0].error.generators}\\n\"\n", + " f\"And each of these `LayerError` objects possess data on the \"\n", + " f\"generators for the error channel: \\n{noise_model.data[0].error.generators}\\n\"\n", " )\n", "# Results are truncated\n", "with numpy.printoptions(threshold=200):\n", @@ -416,7 +416,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "3cfcc856-1fe5-4b79-ad2a-ebf275b87fb6", "metadata": {}, "outputs": [ @@ -443,8 +443,8 @@ ")\n", "noise_map = learner_result[0].to_pauli_lindblad_map()\n", "print(\n", - " f\"After converting to PauliLindbladMap, you can extract data \"\n", - " f\" on the generators for the error channel (truncated to 3): \\n{noise_map.generators()[:3]}\\n\"\n", + " f\"After converting to PauliLindbladMap, you can extract data on the \"\n", + " f\"generators for the error channel (truncated to 3): \\n{noise_map.generators()[:3]}\\n\"\n", ")\n", "with numpy.printoptions(threshold=20):\n", " print(\n", diff --git a/docs/guides/v2-primitives.mdx b/docs/guides/v2-primitives.mdx index 239049a6366..b35f3f5dff3 100644 --- a/docs/guides/v2-primitives.mdx +++ b/docs/guides/v2-primitives.mdx @@ -244,7 +244,8 @@ circuit.measure(qreg[:5], alpha) circuit.measure(qreg[5:], beta) service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=12) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=12) pm = generate_preset_pass_manager(backend=backend, optimization_level=1) isa_circuit = pm.run(circuit) @@ -336,7 +337,8 @@ sampler.options.dynamical_decoupling.enable = True sampler.options.twirling.enable_gates = True # This does bulk update. The value for default_shots is overridden if you specify shots with run() or in the PUB. -sampler.options.update(default_shots=1024, dynamical_decoupling={"sequence_type": "XpXm"}) +sampler.options.update(default_shots=1024, + dynamical_decoupling={"sequence_type": "XpXm"}) # Print the dictionary format. # Server defaults are used for unset options. @@ -517,7 +519,8 @@ from qiskit.quantum_info import SparsePauliOp, random_hermitian from qiskit_ibm_runtime import EstimatorV2 as Estimator, QiskitRuntimeService service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = (service.least_busy(operational=True, + simulator=False, min_num_qubits=127)) estimator = Estimator(backend) n_qubits = 127 @@ -547,7 +550,8 @@ from qiskit_ibm_runtime import QiskitRuntimeService, Estimator service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) n_qubits = 127 @@ -599,7 +603,8 @@ isa_observables = [ob.apply_layout(isa_circuits[0].layout) for ob in observables estimator = Estimator(backend) -job = estimator.run([(isa_circuits[0], isa_observables[0]),(isa_circuits[1], isa_observables[1]),(isa_circuits[2], isa_observables[2])]) +job = estimator.run([(isa_circuits[0], isa_observables[0]),(isa_circuits[1], + isa_observables[1]),(isa_circuits[2], isa_observables[2])]) job_result = job.result() for idx in range(len(job_result)): pub_result = job_result[idx] @@ -617,7 +622,8 @@ from qiskit_ibm_runtime import QiskitRuntimeService, Estimator service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) n_qubits = 127 @@ -685,7 +691,8 @@ backend = service.least_busy(operational=True, simulator=False) pm = generate_preset_pass_manager(backend=backend, optimization_level=1) chsh_isa_circuit = pm.run(chsh_circuit) -isa_observables = [operator.apply_layout(chsh_isa_circuit.layout) for operator in ops] +isa_observables = [operator.apply_layout(chsh_isa_circuit.layout) + for operator in ops] from qiskit_ibm_runtime import EstimatorV2 as Estimator @@ -740,7 +747,8 @@ backend = service.least_busy(operational=True, simulator=False) pm = generate_preset_pass_manager(backend=backend, optimization_level=1) chsh_isa_circuit = pm.run(chsh_circuit) -isa_observables = [operator.apply_layout(chsh_isa_circuit.layout) for operator in ops] +isa_observables = [operator.apply_layout(chsh_isa_circuit.layout) + for operator in ops] from qiskit_ibm_runtime import Estimator @@ -777,7 +785,8 @@ import numpy as np from qiskit.circuit.library import IQP from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager from qiskit.quantum_info import SparsePauliOp, random_hermitian -from qiskit_ibm_runtime import QiskitRuntimeService, Session, EstimatorV2 as Estimator +from qiskit_ibm_runtime import (QiskitRuntimeService, + Session, EstimatorV2 as Estimator) n_qubits = 127 @@ -793,11 +802,13 @@ pm = generate_preset_pass_manager(optimization_level=1, backend=backend) isa_circuit = pm.run(circuit) another_isa_circuit = pm.run(another_circuit) isa_observable = observable.apply_layout(isa_circuit.layout) -another_isa_observable = another_observable.apply_layout(another_isa_circuit.layout) +another_isa_observable = (another_observable.apply_layout + (another_isa_circuit.layout)) service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) with Session(backend=backend) as session: estimator = Estimator() @@ -849,7 +860,8 @@ options.resilience_level = 2 service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) with Session(backend=backend) as session: estimator = Estimator(options=options) @@ -908,7 +920,8 @@ from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) n_qubits = 127 @@ -934,7 +947,8 @@ from qiskit_ibm_runtime import QiskitRuntimeService, Sampler service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) n_qubits = 127 @@ -968,7 +982,8 @@ from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as Sampler service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) n_qubits = 127 @@ -999,7 +1014,8 @@ from qiskit_ibm_runtime import QiskitRuntimeService, Sampler service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) n_qubits = 127 @@ -1046,7 +1062,8 @@ parameter_values = [ # Step 2: Optimize problem for quantum execution. service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=num_qubits) +backend = service.least_busy(operational=True, simulator=False, + min_num_qubits=num_qubits) pm = generate_preset_pass_manager(backend=backend, optimization_level=1) isa_circuit = pm.run(circuit) @@ -1086,7 +1103,8 @@ parameter_values = [ # Step 2: Optimize problem for quantum execution. service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=num_qubits) +backend = service.least_busy(operational=True, simulator=False, + min_num_qubits=num_qubits) pm = generate_preset_pass_manager(backend=backend, optimization_level=1) isa_circuit = pm.run(circuit) @@ -1145,7 +1163,8 @@ service = QiskitRuntimeService() sampler.options.dynamical_decoupling.enable = True sampler.options.dynamical_decoupling.sequence_type = "XpXm" -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) with Session(backend=backend) as session: sampler = Sampler() @@ -1185,7 +1204,8 @@ options.resilience_level = 0 service = QiskitRuntimeService() -backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127) +backend = service.least_busy(operational=True, + simulator=False, min_num_qubits=127) with Session(backend=backend) as session: sampler = Sampler(options=options)