From 9dfa77ad439a1c4ca85173a032f2a01477807a12 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Thu, 14 May 2026 12:17:32 -0400 Subject: [PATCH 1/5] 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..c4eeb184cca 100644 --- a/scripts/config/api-html-artifacts.json +++ b/scripts/config/api-html-artifacts.json @@ -37,6 +37,7 @@ }, "qiskit-ibm-runtime": { "dev": "https://api.github.com/repos/Qiskit/qiskit-ibm-runtime/actions/artifacts/6694966601/zip", + "0.47": "https://ibm.box.com/shared/static/68x7u8qpr72id254w6hnjbgo7317hwjk.zip", "0.46": "https://ibm.box.com/shared/static/p2jntzpdwqa75i75d0sm5ltzbaaw5ksa.zip", "0.45": "https://ibm.box.com/shared/static/5o5rt86cc2ehvxmslleecat3iyob8igu.zip", "0.44": "https://ibm.box.com/shared/static/o00e7wxcslox4vq3z0rz35093y40sfko.zip", From 163bb0fa89648336aaffac13cbffd5933ef6b185 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Thu, 14 May 2026 12:18:41 -0400 Subject: [PATCH 2/5] Save historical docs --- .../api/qiskit-ibm-runtime/0.46/_package.json | 4 + docs/api/qiskit-ibm-runtime/0.46/_toc.json | 1052 +++++++++++++++++ docs/api/qiskit-ibm-runtime/0.46/batch.mdx | 235 ++++ .../0.46/debug-tools-neat-pub-result.mdx | 44 + .../0.46/debug-tools-neat-result.mdx | 42 + .../0.46/debug-tools-neat.mdx | 117 ++ .../qiskit-ibm-runtime/0.46/debug-tools.mdx | 26 + .../qiskit-ibm-runtime/0.46/estimator-v2.mdx | 127 ++ .../api/qiskit-ibm-runtime/0.46/estimator.mdx | 14 + .../0.46/execution-span-double-slice-span.mdx | 114 ++ .../0.46/execution-span-execution-span.mdx | 127 ++ .../0.46/execution-span-execution-spans.mdx | 124 ++ .../0.46/execution-span-shape-type.mdx | 14 + .../0.46/execution-span-slice-span.mdx | 114 ++ .../execution-span-twirled-slice-span.mdx | 119 ++ .../0.46/execution-span.mdx | 31 + .../qiskit-ibm-runtime/0.46/executor-0-1.mdx | 33 + .../qiskit-ibm-runtime/0.46/executor-0-2.mdx | 36 + docs/api/qiskit-ibm-runtime/0.46/executor.mdx | 79 ++ .../0.46/fake-provider-fake-algiers.mdx | 331 ++++++ .../0.46/fake-provider-fake-almaden-v2.mdx | 341 ++++++ .../0.46/fake-provider-fake-armonk-v2.mdx | 335 ++++++ .../0.46/fake-provider-fake-athens-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-auckland.mdx | 331 ++++++ .../0.46/fake-provider-fake-belem-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-boeblingen-v2.mdx | 341 ++++++ .../0.46/fake-provider-fake-bogota-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-brisbane.mdx | 331 ++++++ .../0.46/fake-provider-fake-brooklyn-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-burlington-v2.mdx | 337 ++++++ .../0.46/fake-provider-fake-cairo-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-cambridge-v2.mdx | 343 ++++++ .../0.46/fake-provider-fake-casablanca-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-cusco.mdx | 331 ++++++ .../0.46/fake-provider-fake-essex-v2.mdx | 339 ++++++ .../0.46/fake-provider-fake-fez.mdx | 331 ++++++ .../fake-provider-fake-fractional-backend.mdx | 338 ++++++ .../0.46/fake-provider-fake-geneva.mdx | 331 ++++++ .../0.46/fake-provider-fake-guadalupe-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-hanoi-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-jakarta-v2.mdx | 331 ++++++ .../fake-provider-fake-johannesburg-v2.mdx | 341 ++++++ .../0.46/fake-provider-fake-kawasaki.mdx | 331 ++++++ .../0.46/fake-provider-fake-kolkata-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-kyiv.mdx | 331 ++++++ .../0.46/fake-provider-fake-kyoto.mdx | 331 ++++++ .../0.46/fake-provider-fake-lagos-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-lima-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-london-v2.mdx | 339 ++++++ .../0.46/fake-provider-fake-manhattan-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-manila-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-marrakesh.mdx | 331 ++++++ .../0.46/fake-provider-fake-melbourne-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-montreal-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-mumbai-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-nairobi-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-osaka.mdx | 331 ++++++ .../0.46/fake-provider-fake-oslo.mdx | 331 ++++++ .../0.46/fake-provider-fake-ourense-v2.mdx | 337 ++++++ .../0.46/fake-provider-fake-paris-v2.mdx | 343 ++++++ .../0.46/fake-provider-fake-peekskill.mdx | 331 ++++++ .../0.46/fake-provider-fake-perth.mdx | 331 ++++++ .../fake-provider-fake-poughkeepsie-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-prague.mdx | 331 ++++++ ...-provider-fake-provider-for-backend-v2.mdx | 50 + .../0.46/fake-provider-fake-quebec.mdx | 331 ++++++ .../0.46/fake-provider-fake-quito-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-rochester-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-rome-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-santiago-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-sherbrooke.mdx | 331 ++++++ .../0.46/fake-provider-fake-singapore-v2.mdx | 341 ++++++ .../0.46/fake-provider-fake-sydney-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-torino.mdx | 331 ++++++ .../0.46/fake-provider-fake-toronto-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-valencia-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-vigo-v2.mdx | 337 ++++++ .../0.46/fake-provider-fake-washington-v2.mdx | 331 ++++++ .../0.46/fake-provider-fake-yorktown-v2.mdx | 339 ++++++ .../qiskit-ibm-runtime/0.46/fake-provider.mdx | 158 +++ .../qiskit-ibm-runtime/0.46/ibm-backend.mdx | 509 ++++++++ ...antum-schemas-common-base-params-model.mdx | 28 + ...antum-schemas-common-f-64-tensor-model.mdx | 76 ++ ...chemas-common-pauli-lindblad-map-model.mdx | 58 + ...um-schemas-common-qpy-model-v13-to-v16.mdx | 86 ++ ...um-schemas-common-qpy-model-v13-to-v17.mdx | 86 ++ .../ibm-quantum-schemas-common-qpy-model.mdx | 85 ++ ...as-common-samplex-model-ssv-1-to-ssv-2.mdx | 86 ++ ...tum-schemas-common-samplex-model-ssv-1.mdx | 86 ++ ...m-quantum-schemas-common-samplex-model.mdx | 85 ++ ...bm-quantum-schemas-common-tensor-model.mdx | 76 ++ ...chemas-executor-version-0-1-chunk-part.mdx | 32 + ...chemas-executor-version-0-1-chunk-span.mdx | 40 + ...xecutor-version-0-1-circuit-item-model.mdx | 72 ++ ...as-executor-version-0-1-metadata-model.mdx | 24 + ...mas-executor-version-0-1-options-model.mdx | 32 + ...emas-executor-version-0-1-params-model.mdx | 36 + ...utor-version-0-1-quantum-program-model.mdx | 48 + ...-0-1-quantum-program-result-item-model.mdx | 30 + ...rsion-0-1-quantum-program-result-model.mdx | 46 + ...xecutor-version-0-1-samplex-item-model.mdx | 92 ++ ...chemas-executor-version-0-2-chunk-part.mdx | 32 + ...chemas-executor-version-0-2-chunk-span.mdx | 40 + ...xecutor-version-0-2-circuit-item-model.mdx | 72 ++ ...ecutor-version-0-2-item-metadata-model.mdx | 30 + ...as-executor-version-0-2-metadata-model.mdx | 24 + ...mas-executor-version-0-2-options-model.mdx | 56 + ...emas-executor-version-0-2-params-model.mdx | 36 + ...utor-version-0-2-quantum-program-model.mdx | 82 ++ ...-0-2-quantum-program-result-item-model.mdx | 30 + ...rsion-0-2-quantum-program-result-model.mdx | 42 + ...xecutor-version-0-2-samplex-item-model.mdx | 92 ++ ...tor-version-0-2-scheduler-timing-model.mdx | 32 + ...ecutor-version-0-2-stretch-value-model.mdx | 46 + ...on-0-1-linbdblad-result-metadata-model.mdx | 30 + ...d-result-post-selection-metadata-model.mdx | 24 + ...sion-0-1-noise-learner-v3-result-model.mdx | 48 + ...ion-0-1-noise-learner-v3-results-model.mdx | 30 + ...e-learner-v3-version-0-1-options-model.mdx | 42 + ...se-learner-v3-version-0-1-params-model.mdx | 38 + ...rsion-0-1-post-selection-options-model.mdx | 38 + ...version-0-1-trex-result-metadata-model.mdx | 30 + ...x-result-post-selection-metadata-model.mdx | 29 + ...on-0-2-linbdblad-result-metadata-model.mdx | 30 + ...d-result-post-selection-metadata-model.mdx | 30 + ...sion-0-2-noise-learner-v3-result-model.mdx | 48 + ...ion-0-2-noise-learner-v3-results-model.mdx | 30 + ...e-learner-v3-version-0-2-options-model.mdx | 56 + ...se-learner-v3-version-0-2-params-model.mdx | 38 + ...rsion-0-2-post-selection-options-model.mdx | 38 + ...version-0-2-trex-result-metadata-model.mdx | 30 + ...x-result-post-selection-metadata-model.mdx | 35 + .../0.46/ibm-quantum-schemas.mdx | 24 + docs/api/qiskit-ibm-runtime/0.46/index.mdx | 22 + .../0.46/models-backend-configuration.mdx | 136 +++ .../0.46/models-backend-properties.mdx | 296 +++++ .../0.46/models-backend-status.mdx | 64 + .../0.46/models-gate-config.mdx | 80 ++ .../0.46/models-gate-properties.mdx | 77 ++ .../qiskit-ibm-runtime/0.46/models-nduv.mdx | 83 ++ .../models-qasm-backend-configuration.mdx | 196 +++ .../0.46/models-uchannel-lo.mdx | 73 ++ docs/api/qiskit-ibm-runtime/0.46/models.mdx | 31 + .../0.46/noise-learner-noise-learner.mdx | 116 ++ .../0.46/noise-learner-result.mdx | 21 + .../0.46/noise-learner-v3-0-1.mdx | 32 + .../0.46/noise-learner-v3-0-2.mdx | 32 + .../qiskit-ibm-runtime/0.46/noise-learner.mdx | 24 + .../options-dynamical-decoupling-options.mdx | 77 ++ .../0.46/options-environment-options.mdx | 50 + .../0.46/options-estimator-options.mdx | 138 +++ .../0.46/options-execution-options-v2.mdx | 37 + .../options-layer-noise-learning-options.mdx | 73 ++ ...options-measure-noise-learning-options.mdx | 45 + .../0.46/options-noise-learner-options.mdx | 135 +++ .../0.46/options-pec-options.mdx | 48 + .../0.46/options-resilience-options-v2.mdx | 87 ++ .../options-sampler-execution-options-v2.mdx | 54 + .../0.46/options-sampler-options.mdx | 90 ++ .../0.46/options-simulator-options.mdx | 79 ++ .../0.46/options-twirling-options.mdx | 95 ++ .../0.46/options-zne-options.mdx | 107 ++ docs/api/qiskit-ibm-runtime/0.46/options.mdx | 74 ++ .../0.46/qiskit-runtime-service.mdx | 419 +++++++ .../0.46/runtime-decoder.mdx | 63 + .../0.46/runtime-encoder.mdx | 99 ++ .../0.46/runtime-job-v2.mdx | 381 ++++++ .../0.46/runtime-service.mdx | 168 +++ .../qiskit-ibm-runtime/0.46/sampler-v2.mdx | 95 ++ docs/api/qiskit-ibm-runtime/0.46/sampler.mdx | 14 + .../qiskit-ibm-runtime/0.46/schema-common.mdx | 33 + docs/api/qiskit-ibm-runtime/0.46/session.mdx | 217 ++++ .../transpiler-passes-convert-id-to-delay.mdx | 129 ++ ...nspiler-passes-convert-isa-to-clifford.mdx | 151 +++ ...-passes-convert-to-mid-circuit-measure.mdx | 131 ++ .../0.46/transpiler-passes-fold-rzz-angle.mdx | 130 ++ ...sses-scheduling-alap-schedule-analysis.mdx | 148 +++ ...sses-scheduling-asap-schedule-analysis.mdx | 148 +++ ...er-passes-scheduling-block-base-padder.mdx | 137 +++ ...-dynamic-circuit-instruction-durations.mdx | 136 +++ ...transpiler-passes-scheduling-pad-delay.mdx | 151 +++ ...es-scheduling-pad-dynamical-decoupling.mdx | 229 ++++ .../0.46/transpiler-passes-scheduling.mdx | 112 ++ .../qiskit-ibm-runtime/0.46/transpiler.mdx | 27 + ...utils-noise-learner-result-layer-error.mdx | 140 +++ ...se-learner-result-pauli-lindblad-error.mdx | 86 ++ ...alization-draw-circuit-schedule-timing.mdx | 33 + .../visualization-draw-execution-spans.mdx | 33 + .../visualization-draw-layer-error-map.mdx | 40 + .../visualization-draw-layer-errors-swarm.mdx | 47 + .../0.46/visualization-draw-zne-evs.mdx | 44 + .../visualization-draw-zne-extrapolators.mdx | 43 + .../qiskit-ibm-runtime/0.46/visualization.mdx | 29 + .../api/qiskit-ibm-runtime/0.46/objects.inv | Bin 0 -> 63280 bytes .../0.46/fake_provider-1.avif | Bin 0 -> 2859 bytes .../0.46/fake_provider-2.avif | Bin 0 -> 3977 bytes .../0.46/fake_provider-3.avif | Bin 0 -> 2905 bytes ...untime-transpiler-passes-scheduling-1.avif | Bin 0 -> 7400 bytes ...untime-transpiler-passes-scheduling-2.avif | Bin 0 -> 10414 bytes ...s-scheduling-PadDynamicalDecoupling-1.avif | Bin 0 -> 5588 bytes ...s-scheduling-PadDynamicalDecoupling-2.avif | Bin 0 -> 4236 bytes .../0.46/twirling_strategy_options.avif | Bin 0 -> 7015 bytes .../config/historical-pages-to-latest.json | 1 + 203 files changed, 31387 insertions(+) create mode 100644 docs/api/qiskit-ibm-runtime/0.46/_package.json create mode 100644 docs/api/qiskit-ibm-runtime/0.46/_toc.json create mode 100644 docs/api/qiskit-ibm-runtime/0.46/batch.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-pub-result.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-result.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/debug-tools.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/estimator-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/estimator.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/execution-span-double-slice-span.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-span.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-spans.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/execution-span-shape-type.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/execution-span-slice-span.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/execution-span-twirled-slice-span.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/execution-span.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/executor-0-1.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/executor-0-2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/executor.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-algiers.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-almaden-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-armonk-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-athens-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-auckland.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-belem-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-boeblingen-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-bogota-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brisbane.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brooklyn-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-burlington-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cairo-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cambridge-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-casablanca-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cusco.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-essex-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fez.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fractional-backend.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-geneva.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-guadalupe-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-hanoi-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-jakarta-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-johannesburg-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kawasaki.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kolkata-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyiv.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyoto.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lagos-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lima-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-london-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manhattan-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manila-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-marrakesh.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-melbourne-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-montreal-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-mumbai-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-nairobi-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-osaka.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-oslo.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-ourense-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-paris-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-peekskill.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-perth.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-poughkeepsie-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-prague.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-provider-for-backend-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quebec.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quito-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rochester-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rome-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-santiago-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sherbrooke.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-singapore-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sydney-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-torino.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-toronto-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-valencia-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-vigo-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-washington-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-yorktown-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/fake-provider.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-backend.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-base-params-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-f-64-tensor-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-pauli-lindblad-map-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v16.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v17.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-tensor-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-part.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-span.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-circuit-item-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-options-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-params-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-samplex-item-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-part.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-span.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-circuit-item-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-item-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-options-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-params-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-samplex-item-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-stretch-value-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/index.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/models-backend-configuration.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/models-backend-properties.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/models-backend-status.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/models-gate-config.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/models-gate-properties.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/models-nduv.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/models-qasm-backend-configuration.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/models-uchannel-lo.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/models.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/noise-learner-noise-learner.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/noise-learner-result.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-1.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/noise-learner.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-dynamical-decoupling-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-environment-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-estimator-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-execution-options-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-layer-noise-learning-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-measure-noise-learning-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-noise-learner-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-pec-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-resilience-options-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-sampler-execution-options-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-sampler-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-simulator-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-twirling-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options-zne-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/qiskit-runtime-service.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/runtime-decoder.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/runtime-encoder.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/runtime-job-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/runtime-service.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/sampler-v2.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/sampler.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/schema-common.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/session.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-id-to-delay.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-isa-to-clifford.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-to-mid-circuit-measure.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-fold-rzz-angle.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-alap-schedule-analysis.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-asap-schedule-analysis.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-block-base-padder.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-dynamic-circuit-instruction-durations.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-delay.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-dynamical-decoupling.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/transpiler.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-layer-error.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-pauli-lindblad-error.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/visualization-draw-circuit-schedule-timing.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/visualization-draw-execution-spans.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-error-map.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-errors-swarm.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-evs.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-extrapolators.mdx create mode 100644 docs/api/qiskit-ibm-runtime/0.46/visualization.mdx create mode 100644 public/docs/api/qiskit-ibm-runtime/0.46/objects.inv create mode 100644 public/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-1.avif create mode 100644 public/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-2.avif create mode 100644 public/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-3.avif create mode 100644 public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-1.avif create mode 100644 public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-2.avif create mode 100644 public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-1.avif create mode 100644 public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-2.avif create mode 100644 public/docs/images/api/qiskit-ibm-runtime/0.46/twirling_strategy_options.avif diff --git a/docs/api/qiskit-ibm-runtime/0.46/_package.json b/docs/api/qiskit-ibm-runtime/0.46/_package.json new file mode 100644 index 00000000000..d176e0e1a01 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/_package.json @@ -0,0 +1,4 @@ +{ + "name": "qiskit-ibm-runtime", + "version": "0.46.1" +} diff --git a/docs/api/qiskit-ibm-runtime/0.46/_toc.json b/docs/api/qiskit-ibm-runtime/0.46/_toc.json new file mode 100644 index 00000000000..7929dcecbd7 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/_toc.json @@ -0,0 +1,1052 @@ +{ + "title": "Qiskit Runtime client", + "children": [ + { + "title": "API index", + "url": "/docs/api/qiskit-ibm-runtime/0.46" + }, + { + "title": "Release notes", + "useDivider": true, + "url": "/docs/api/qiskit-ibm-runtime/release-notes" + }, + { + "title": "qiskit_ibm_runtime", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/runtime-service" + }, + { + "title": "Batch", + "url": "/docs/api/qiskit-ibm-runtime/0.46/batch", + "untranslatable": true + }, + { + "title": "Estimator", + "url": "/docs/api/qiskit-ibm-runtime/0.46/estimator", + "untranslatable": true + }, + { + "title": "EstimatorV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/estimator-v2", + "untranslatable": true + }, + { + "title": "Executor", + "url": "/docs/api/qiskit-ibm-runtime/0.46/executor", + "untranslatable": true + }, + { + "title": "IBMBackend", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-backend", + "untranslatable": true + }, + { + "title": "QiskitRuntimeService", + "url": "/docs/api/qiskit-ibm-runtime/0.46/qiskit-runtime-service", + "untranslatable": true + }, + { + "title": "RuntimeDecoder", + "url": "/docs/api/qiskit-ibm-runtime/0.46/runtime-decoder", + "untranslatable": true + }, + { + "title": "RuntimeEncoder", + "url": "/docs/api/qiskit-ibm-runtime/0.46/runtime-encoder", + "untranslatable": true + }, + { + "title": "RuntimeJobV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/runtime-job-v2", + "untranslatable": true + }, + { + "title": "Sampler", + "url": "/docs/api/qiskit-ibm-runtime/0.46/sampler", + "untranslatable": true + }, + { + "title": "SamplerV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/sampler-v2", + "untranslatable": true + }, + { + "title": "Session", + "url": "/docs/api/qiskit-ibm-runtime/0.46/session", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.debug_tools", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/debug-tools" + }, + { + "title": "Neat", + "url": "/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat", + "untranslatable": true + }, + { + "title": "NeatPubResult", + "url": "/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-pub-result", + "untranslatable": true + }, + { + "title": "NeatResult", + "url": "/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-result", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.execution_span", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/execution-span" + }, + { + "title": "DoubleSliceSpan", + "url": "/docs/api/qiskit-ibm-runtime/0.46/execution-span-double-slice-span", + "untranslatable": true + }, + { + "title": "ExecutionSpan", + "url": "/docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-span", + "untranslatable": true + }, + { + "title": "ExecutionSpans", + "url": "/docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-spans", + "untranslatable": true + }, + { + "title": "ShapeType", + "url": "/docs/api/qiskit-ibm-runtime/0.46/execution-span-shape-type", + "untranslatable": true + }, + { + "title": "SliceSpan", + "url": "/docs/api/qiskit-ibm-runtime/0.46/execution-span-slice-span", + "untranslatable": true + }, + { + "title": "TwirledSliceSpan", + "url": "/docs/api/qiskit-ibm-runtime/0.46/execution-span-twirled-slice-span", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.fake_provider", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider" + }, + { + "title": "FakeAlgiers", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-algiers", + "untranslatable": true + }, + { + "title": "FakeAlmadenV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-almaden-v2", + "untranslatable": true + }, + { + "title": "FakeArmonkV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-armonk-v2", + "untranslatable": true + }, + { + "title": "FakeAthensV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-athens-v2", + "untranslatable": true + }, + { + "title": "FakeAuckland", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-auckland", + "untranslatable": true + }, + { + "title": "FakeBelemV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-belem-v2", + "untranslatable": true + }, + { + "title": "FakeBoeblingenV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-boeblingen-v2", + "untranslatable": true + }, + { + "title": "FakeBogotaV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-bogota-v2", + "untranslatable": true + }, + { + "title": "FakeBrisbane", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brisbane", + "untranslatable": true + }, + { + "title": "FakeBrooklynV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brooklyn-v2", + "untranslatable": true + }, + { + "title": "FakeBurlingtonV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-burlington-v2", + "untranslatable": true + }, + { + "title": "FakeCairoV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cairo-v2", + "untranslatable": true + }, + { + "title": "FakeCambridgeV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cambridge-v2", + "untranslatable": true + }, + { + "title": "FakeCasablancaV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-casablanca-v2", + "untranslatable": true + }, + { + "title": "FakeCusco", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cusco", + "untranslatable": true + }, + { + "title": "FakeEssexV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-essex-v2", + "untranslatable": true + }, + { + "title": "FakeFez", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fez", + "untranslatable": true + }, + { + "title": "FakeFractionalBackend", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fractional-backend", + "untranslatable": true + }, + { + "title": "FakeGeneva", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-geneva", + "untranslatable": true + }, + { + "title": "FakeGuadalupeV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-guadalupe-v2", + "untranslatable": true + }, + { + "title": "FakeHanoiV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-hanoi-v2", + "untranslatable": true + }, + { + "title": "FakeJakartaV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-jakarta-v2", + "untranslatable": true + }, + { + "title": "FakeJohannesburgV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-johannesburg-v2", + "untranslatable": true + }, + { + "title": "FakeKawasaki", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kawasaki", + "untranslatable": true + }, + { + "title": "FakeKolkataV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kolkata-v2", + "untranslatable": true + }, + { + "title": "FakeKyiv", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyiv", + "untranslatable": true + }, + { + "title": "FakeKyoto", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyoto", + "untranslatable": true + }, + { + "title": "FakeLagosV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lagos-v2", + "untranslatable": true + }, + { + "title": "FakeLimaV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lima-v2", + "untranslatable": true + }, + { + "title": "FakeLondonV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-london-v2", + "untranslatable": true + }, + { + "title": "FakeManhattanV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manhattan-v2", + "untranslatable": true + }, + { + "title": "FakeManilaV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manila-v2", + "untranslatable": true + }, + { + "title": "FakeMarrakesh", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-marrakesh", + "untranslatable": true + }, + { + "title": "FakeMelbourneV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-melbourne-v2", + "untranslatable": true + }, + { + "title": "FakeMontrealV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-montreal-v2", + "untranslatable": true + }, + { + "title": "FakeMumbaiV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-mumbai-v2", + "untranslatable": true + }, + { + "title": "FakeNairobiV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-nairobi-v2", + "untranslatable": true + }, + { + "title": "FakeOsaka", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-osaka", + "untranslatable": true + }, + { + "title": "FakeOslo", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-oslo", + "untranslatable": true + }, + { + "title": "FakeOurenseV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-ourense-v2", + "untranslatable": true + }, + { + "title": "FakeParisV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-paris-v2", + "untranslatable": true + }, + { + "title": "FakePeekskill", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-peekskill", + "untranslatable": true + }, + { + "title": "FakePerth", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-perth", + "untranslatable": true + }, + { + "title": "FakePoughkeepsieV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-poughkeepsie-v2", + "untranslatable": true + }, + { + "title": "FakePrague", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-prague", + "untranslatable": true + }, + { + "title": "FakeProviderForBackendV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-provider-for-backend-v2", + "untranslatable": true + }, + { + "title": "FakeQuebec", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quebec", + "untranslatable": true + }, + { + "title": "FakeQuitoV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quito-v2", + "untranslatable": true + }, + { + "title": "FakeRochesterV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rochester-v2", + "untranslatable": true + }, + { + "title": "FakeRomeV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rome-v2", + "untranslatable": true + }, + { + "title": "FakeSantiagoV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-santiago-v2", + "untranslatable": true + }, + { + "title": "FakeSherbrooke", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sherbrooke", + "untranslatable": true + }, + { + "title": "FakeSingaporeV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-singapore-v2", + "untranslatable": true + }, + { + "title": "FakeSydneyV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sydney-v2", + "untranslatable": true + }, + { + "title": "FakeTorino", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-torino", + "untranslatable": true + }, + { + "title": "FakeTorontoV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-toronto-v2", + "untranslatable": true + }, + { + "title": "FakeValenciaV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-valencia-v2", + "untranslatable": true + }, + { + "title": "FakeVigoV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-vigo-v2", + "untranslatable": true + }, + { + "title": "FakeWashingtonV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-washington-v2", + "untranslatable": true + }, + { + "title": "FakeYorktownV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-yorktown-v2", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.models", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/models" + }, + { + "title": "BackendConfiguration", + "url": "/docs/api/qiskit-ibm-runtime/0.46/models-backend-configuration", + "untranslatable": true + }, + { + "title": "BackendProperties", + "url": "/docs/api/qiskit-ibm-runtime/0.46/models-backend-properties", + "untranslatable": true + }, + { + "title": "BackendStatus", + "url": "/docs/api/qiskit-ibm-runtime/0.46/models-backend-status", + "untranslatable": true + }, + { + "title": "GateConfig", + "url": "/docs/api/qiskit-ibm-runtime/0.46/models-gate-config", + "untranslatable": true + }, + { + "title": "GateProperties", + "url": "/docs/api/qiskit-ibm-runtime/0.46/models-gate-properties", + "untranslatable": true + }, + { + "title": "Nduv", + "url": "/docs/api/qiskit-ibm-runtime/0.46/models-nduv", + "untranslatable": true + }, + { + "title": "QasmBackendConfiguration", + "url": "/docs/api/qiskit-ibm-runtime/0.46/models-qasm-backend-configuration", + "untranslatable": true + }, + { + "title": "UchannelLO", + "url": "/docs/api/qiskit-ibm-runtime/0.46/models-uchannel-lo", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.noise_learner", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/noise-learner" + }, + { + "title": "NoiseLearner", + "url": "/docs/api/qiskit-ibm-runtime/0.46/noise-learner-noise-learner", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.options", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options" + }, + { + "title": "DynamicalDecouplingOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-dynamical-decoupling-options", + "untranslatable": true + }, + { + "title": "EnvironmentOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-environment-options", + "untranslatable": true + }, + { + "title": "EstimatorOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-estimator-options", + "untranslatable": true + }, + { + "title": "ExecutionOptionsV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-execution-options-v2", + "untranslatable": true + }, + { + "title": "LayerNoiseLearningOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-layer-noise-learning-options", + "untranslatable": true + }, + { + "title": "MeasureNoiseLearningOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-measure-noise-learning-options", + "untranslatable": true + }, + { + "title": "NoiseLearnerOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-noise-learner-options", + "untranslatable": true + }, + { + "title": "PecOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-pec-options", + "untranslatable": true + }, + { + "title": "ResilienceOptionsV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-resilience-options-v2", + "untranslatable": true + }, + { + "title": "SamplerExecutionOptionsV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-sampler-execution-options-v2", + "untranslatable": true + }, + { + "title": "SamplerOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-sampler-options", + "untranslatable": true + }, + { + "title": "SimulatorOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-simulator-options", + "untranslatable": true + }, + { + "title": "TwirlingOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-twirling-options", + "untranslatable": true + }, + { + "title": "ZneOptions", + "url": "/docs/api/qiskit-ibm-runtime/0.46/options-zne-options", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.transpiler.passes", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler" + }, + { + "title": "ConvertIdToDelay", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-id-to-delay", + "untranslatable": true + }, + { + "title": "ConvertISAToClifford", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-isa-to-clifford", + "untranslatable": true + }, + { + "title": "ConvertToMidCircuitMeasure", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-to-mid-circuit-measure", + "untranslatable": true + }, + { + "title": "FoldRzzAngle", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-fold-rzz-angle", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.transpiler.passes.scheduling", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling" + }, + { + "title": "ALAPScheduleAnalysis", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-alap-schedule-analysis", + "untranslatable": true + }, + { + "title": "ASAPScheduleAnalysis", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-asap-schedule-analysis", + "untranslatable": true + }, + { + "title": "BlockBasePadder", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-block-base-padder", + "untranslatable": true + }, + { + "title": "DynamicCircuitInstructionDurations", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-dynamic-circuit-instruction-durations", + "untranslatable": true + }, + { + "title": "PadDelay", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-delay", + "untranslatable": true + }, + { + "title": "PadDynamicalDecoupling", + "url": "/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-dynamical-decoupling", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.utils.noise_learner_result", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/noise-learner-result" + }, + { + "title": "LayerError", + "url": "/docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-layer-error", + "untranslatable": true + }, + { + "title": "PauliLindbladError", + "url": "/docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-pauli-lindblad-error", + "untranslatable": true + } + ] + }, + { + "title": "qiskit_ibm_runtime.visualization", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/visualization" + }, + { + "title": "draw_circuit_schedule_timing", + "url": "/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-circuit-schedule-timing", + "untranslatable": true + }, + { + "title": "draw_execution_spans", + "url": "/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-execution-spans", + "untranslatable": true + }, + { + "title": "draw_layer_error_map", + "url": "/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-error-map", + "untranslatable": true + }, + { + "title": "draw_layer_errors_swarm", + "url": "/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-errors-swarm", + "untranslatable": true + }, + { + "title": "draw_zne_evs", + "url": "/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-evs", + "untranslatable": true + }, + { + "title": "draw_zne_extrapolators", + "url": "/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-extrapolators", + "untranslatable": true + } + ] + }, + { + "title": "ibm_quantum_schemas", + "children": [ + { + "title": "IBM Quantum Schemas", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas", + "untranslatable": true + }, + { + "title": "ibm_quantum_schemas.common", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/schema-common" + }, + { + "title": "BaseParamsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-base-params-model", + "untranslatable": true + }, + { + "title": "F64TensorModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-f-64-tensor-model", + "untranslatable": true + }, + { + "title": "PauliLindbladMapModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-pauli-lindblad-map-model", + "untranslatable": true + }, + { + "title": "QpyModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model", + "untranslatable": true + }, + { + "title": "QpyModelV13ToV16", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v16", + "untranslatable": true + }, + { + "title": "QpyModelV13ToV17", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v17", + "untranslatable": true + }, + { + "title": "SamplexModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model", + "untranslatable": true + }, + { + "title": "SamplexModelSSV1", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1", + "untranslatable": true + }, + { + "title": "SamplexModelSSV1ToSSV2", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2", + "untranslatable": true + }, + { + "title": "TensorModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-tensor-model", + "untranslatable": true + } + ] + }, + { + "title": "ibm_quantum_schemas.executor.version_0_1", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/executor-0-1" + }, + { + "title": "ChunkPart", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-part", + "untranslatable": true + }, + { + "title": "ChunkSpan", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-span", + "untranslatable": true + }, + { + "title": "CircuitItemModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-circuit-item-model", + "untranslatable": true + }, + { + "title": "MetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-metadata-model", + "untranslatable": true + }, + { + "title": "OptionsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-options-model", + "untranslatable": true + }, + { + "title": "ParamsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-params-model", + "untranslatable": true + }, + { + "title": "QuantumProgramModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-model", + "untranslatable": true + }, + { + "title": "QuantumProgramResultItemModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model", + "untranslatable": true + }, + { + "title": "QuantumProgramResultModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model", + "untranslatable": true + }, + { + "title": "SamplexItemModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-samplex-item-model", + "untranslatable": true + } + ] + }, + { + "title": "ibm_quantum_schemas.executor.version_0_2", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/executor-0-2" + }, + { + "title": "ChunkPart", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-part", + "untranslatable": true + }, + { + "title": "ChunkSpan", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-span", + "untranslatable": true + }, + { + "title": "CircuitItemModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-circuit-item-model", + "untranslatable": true + }, + { + "title": "ItemMetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-item-metadata-model", + "untranslatable": true + }, + { + "title": "MetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-metadata-model", + "untranslatable": true + }, + { + "title": "OptionsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-options-model", + "untranslatable": true + }, + { + "title": "ParamsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-params-model", + "untranslatable": true + }, + { + "title": "QuantumProgramModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-model", + "untranslatable": true + }, + { + "title": "QuantumProgramResultItemModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model", + "untranslatable": true + }, + { + "title": "QuantumProgramResultModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model", + "untranslatable": true + }, + { + "title": "SamplexItemModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-samplex-item-model", + "untranslatable": true + }, + { + "title": "SchedulerTimingModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model", + "untranslatable": true + }, + { + "title": "StretchValueModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-stretch-value-model", + "untranslatable": true + } + ] + }, + { + "title": "ibm_quantum_schemas.noise_learner_v3.version_0_1", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-1" + }, + { + "title": "LinbdbladResultMetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model", + "untranslatable": true + }, + { + "title": "LinbdbladResultPostSelectionMetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model", + "untranslatable": true + }, + { + "title": "NoiseLearnerV3ResultModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model", + "untranslatable": true + }, + { + "title": "NoiseLearnerV3ResultsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model", + "untranslatable": true + }, + { + "title": "OptionsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model", + "untranslatable": true + }, + { + "title": "ParamsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model", + "untranslatable": true + }, + { + "title": "PostSelectionOptionsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model", + "untranslatable": true + }, + { + "title": "TREXResultMetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model", + "untranslatable": true + }, + { + "title": "TREXResultPostSelectionMetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model", + "untranslatable": true + } + ] + }, + { + "title": "ibm_quantum_schemas.noise_learner_v3.version_0_2", + "untranslatable": true, + "children": [ + { + "title": "Module overview", + "url": "/docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-2" + }, + { + "title": "LinbdbladResultMetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model", + "untranslatable": true + }, + { + "title": "LinbdbladResultPostSelectionMetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model", + "untranslatable": true + }, + { + "title": "NoiseLearnerV3ResultModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model", + "untranslatable": true + }, + { + "title": "NoiseLearnerV3ResultsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model", + "untranslatable": true + }, + { + "title": "OptionsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model", + "untranslatable": true + }, + { + "title": "ParamsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model", + "untranslatable": true + }, + { + "title": "PostSelectionOptionsModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model", + "untranslatable": true + }, + { + "title": "TREXResultMetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model", + "untranslatable": true + }, + { + "title": "TREXResultPostSelectionMetadataModel", + "url": "/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model", + "untranslatable": true + } + ] + } + ], + "untranslatable": true + } + ], + "collapsed": true, + "untranslatable": true +} diff --git a/docs/api/qiskit-ibm-runtime/0.46/batch.mdx b/docs/api/qiskit-ibm-runtime/0.46/batch.mdx new file mode 100644 index 00000000000..7acc1ed02e2 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/batch.mdx @@ -0,0 +1,235 @@ +--- +title: Batch (v0.46) +description: API reference for qiskit_ibm_runtime.Batch in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.Batch +--- + +# Batch + + + Bases: [`Session`](session "qiskit_ibm_runtime.session.Session") + + Class for running jobs in batch execution mode. + + The `batch` mode is designed to efficiently perform experiments that comprise multiple independent jobs. + + **Using the `batch` mode provides the following benefits:** + + * The jobs’ classical computation, such as compilation, is run in parallel. Thus, running multiple jobs in a batch is significantly faster than running them serially. + * There is usually minimal delay between job, which can help avoid drift. + * If you partition your workload into multiple jobs and run them in `batch` mode, you can get results from individual jobs, which makes them more flexible to work with. For example, if a job’s results do not meet your expectations, you can cancel the remaining jobs, or simply re-submit that individual job and avoid re-running the entire workload. + + Batch mode can shorten processing time if all jobs are provided at the outset. If you want to submit iterative jobs, use `session` mode instead. + + You can open a Qiskit Runtime batch by using this `Batch` class, then submit jobs to one or more primitives. + + For example: + + ```python + 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 random_hermitian + from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as Sampler, Batch + + n_qubits = 127 + + service = QiskitRuntimeService() + backend = service.least_busy(operational=True, simulator=False, min_num_qubits=n_qubits) + + rng = np.random.default_rng() + mats = [np.real(random_hermitian(n_qubits, seed=rng)) for _ in range(30)] + circuits = [IQP(mat) for mat in mats] + for circuit in circuits: + circuit.measure_all() + + pm = generate_preset_pass_manager(backend=backend, optimization_level=1) + isa_circuits = pm.run(circuits) + + max_circuits = 10 + all_partitioned_circuits = [] + for i in range(0, len(isa_circuits), max_circuits): + all_partitioned_circuits.append(isa_circuits[i : i + max_circuits]) + jobs = [] + start_idx = 0 + + with Batch(backend=backend): + sampler = Sampler() + for partitioned_circuits in all_partitioned_circuits: + job = sampler.run(partitioned_circuits) + jobs.append(job) + ``` + + For more details, check the “[Run jobs in a batch](/docs/guides/run-jobs-batch)” page. + + Batch constructor. + + **Parameters** + + * **backend** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2)) – Instance of `Backend` class. + * **max\_time** (*int | str | None*) – Maximum amount of time a runtime session can be open before being forcibly closed. Can be specified as seconds (int) or a string like “2h 30m 40s”. This value must be less than the [system imposed maximum](/docs/guides/max-execution-time). + * **create\_new** (*bool | None*) – If True, the POST session API endpoint will be called to create a new session. Prevents creating a new session when `from_id()` is called. + + **Raises** + + **ValueError** – If an input value is invalid. + + ## Attributes + + ### service + + + Return service associated with this session. + + **Returns** + + [`qiskit_ibm_runtime.QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") associated with this session. + + + ### session\_id + + + Return the session ID. + + **Returns** + + Session ID. None if the backend is a simulator. + + + ## Methods + + ### backend + + + Return backend for this session. + + **Returns** + + Backend for this session. None if unknown. + + **Return type** + + str | None + + + ### cancel + + + Cancel all pending jobs in a session. + + **Return type** + + None + + + ### close + + + Close the session so new jobs will no longer be accepted, but existing queued or running jobs will run to completion. The session will be terminated once there are no more pending jobs. + + **Return type** + + None + + + ### details + + + Return session details. + + **Returns** + + A dictionary with the sessions details. + + * `id`: id of the session. + * `backend_name`: backend used for the session. + * `interactive_timeout`: The maximum idle time (in seconds) between jobs that is allowed to occur before the session is deactivated. + * `max_time`: Maximum allowed time (in seconds) for the session, subject to plan limits. + * `active_timeout`: The maximum time (in seconds) a session can stay active. + * `state`: State of the session - open, active, inactive, or closed. + * `accepting_jobs`: Whether or not the session is accepting jobs. + * `last_job_started`: Timestamp of when the last job in the session started. + * `last_job_completed`: Timestamp of when the last job in the session completed. + * `started_at`: Timestamp of when the session was started. + * `closed_at`: Timestamp of when the session was closed. + * `activated_at`: Timestamp of when the session state was changed to active. + * `mode`: Execution mode of the session. + * `usage_time`: The usage time, in seconds, of this Session or Batch. Usage is defined as the time a quantum system is committed to complete a job. + + **Return type** + + dict\[str, *Any*] | None + + + ### from\_id + + + Construct a Session object with a given `session_id`. For example: + + ```python + from qiskit_ibm_runtime import QiskitRuntimeService, Session + service = QiskitRuntimeService() + job = service.job() + existing_session_id = job.session_id + + new_session = Session.from_id(existing_session_id, service) + ``` + + **Parameters** + + * **session\_id** (*str*) – the id of the session to be created. This must be an already existing session id. + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – + + instance of the `QiskitRuntimeService` class. + + **Raises:** + + IBMInputValueError: If given session\_id does not exist. IBMRuntimeError: If the backend of the session is unknown. + + **Returns** + + A new Session with the given `session_id` + + **Return type** + + [*Session*](session "qiskit_ibm_runtime.session.Session") + + + ### status + + + Return current session status. + + **Returns** + + Session status as a string. + + * `Pending`: Session is created but not active. It will become active when the next job of this session is dequeued. + * `In progress, accepting new jobs`: session is active and accepting new jobs. + * `In progress, not accepting new jobs`: session is active and not accepting new jobs. + * `Closed`: max\_time expired or session was explicitly closed. + * `None`: status details are not available. + + **Return type** + + str | None + + + ### usage + + + Return session usage in seconds. + + Session usage is the time from when the first job starts until the session goes inactive, is closed, or when its last job completes, whichever happens last. + + Batch usage is the amount of time all jobs spend on the QPU. + + **Return type** + + float | None + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-pub-result.mdx b/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-pub-result.mdx new file mode 100644 index 00000000000..a6e6b431d6d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-pub-result.mdx @@ -0,0 +1,44 @@ +--- +title: NeatPubResult (v0.46) +description: API reference for qiskit_ibm_runtime.debug_tools.NeatPubResult in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.debug_tools.NeatPubResult +--- + +# NeatPubResult + + + Bases: `object` + + A class to store the PUB results of `Neat`. + + It allows performing mathematical operations (`+`, `-`, `*`, `/`, `abs`, and `**`) with other objects of type `NeatPubResultLike` and with scalars. + + **Parameters** + + **vals** (*ArrayLike*) – The values in this `NeatPubResult`. + + ## Attributes + + ### vals + + + The values in this result. + + + ## Methods + + ### \_\_mul\_\_ + + + **Parameters** + + **other** (*int | float |* [*NeatPubResult*](#qiskit_ibm_runtime.debug_tools.NeatPubResult "qiskit_ibm_runtime.debug_tools.neat_results.NeatPubResult") *|*[*PubResult*](/docs/api/qiskit/qiskit.primitives.PubResult) *|*[*DataBin*](/docs/api/qiskit/qiskit.primitives.DataBin)) + + **Return type** + + [*NeatPubResult*](#qiskit_ibm_runtime.debug_tools.NeatPubResult "qiskit_ibm_runtime.debug_tools.neat_results.NeatPubResult") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-result.mdx b/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-result.mdx new file mode 100644 index 00000000000..2139cf019fd --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat-result.mdx @@ -0,0 +1,42 @@ +--- +title: NeatResult (v0.46) +description: API reference for qiskit_ibm_runtime.debug_tools.NeatResult in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.debug_tools.NeatResult +--- + +# NeatResult + + + Bases: `object` + + A container for multiple [`NeatPubResult`](debug-tools-neat-pub-result "qiskit_ibm_runtime.debug_tools.NeatPubResult") objects. + + **Parameters** + + **pub\_results** (*Iterable\[*[*NeatPubResult*](debug-tools-neat-pub-result "qiskit_ibm_runtime.debug_tools.NeatPubResult")*]*) – An iterable of [`NeatPubResult`](debug-tools-neat-pub-result "qiskit_ibm_runtime.debug_tools.NeatPubResult") objects. + + ## Methods + + ### \_\_getitem\_\_ + + + **Parameters** + + **index** (*int*) + + **Return type** + + [*NeatPubResult*](debug-tools-neat-pub-result "qiskit_ibm_runtime.debug_tools.neat_results.NeatPubResult") + + + ### \_\_len\_\_ + + + **Return type** + + int + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat.mdx b/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat.mdx new file mode 100644 index 00000000000..2e5ff88cbd6 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/debug-tools-neat.mdx @@ -0,0 +1,117 @@ +--- +title: Neat (v0.46) +description: API reference for qiskit_ibm_runtime.debug_tools.Neat in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.debug_tools.Neat +--- + +# Neat + + + Bases: `object` + + A class to help understand the expected performance of estimator jobs. + + The “Noisy Estimator Analyzer Tool” (or “NEAT”) is a convenience tool that users of the `Estimator` primitive can employ to analyze and predict the performance of their queries. Its simulate method uses `qiskit-aer` to simulate the estimation task classically efficiently, either in ideal conditions or in the presence of noise. The simulations’ results can be compared with other simulation results or with primitive results results to draw custom figures of merit. + + **Parameters** + + * **backend** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2)) – A backend. + * **noise\_model** ([*NoiseModel*](https://qiskit.github.io/qiskit-aer/stubs/qiskit_aer.noise.NoiseModel.html#qiskit_aer.noise.NoiseModel "(in Qiskit Aer v0.17.1)") *| None*) – A noise model for the operations of the given backend. If `None`, it defaults to the noise model generated by `NoiseModel.from_backend()`. + + ## Attributes + + ### noise\_model + + + The noise model used by this analyzer tool for the noisy simulations. + + + ## Methods + + ### backend + + + The backend used by this analyzer tool. + + **Return type** + + [*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) + + + ### ideal\_sim + + + Perform an ideal, noiseless simulation of the estimator task specified by `pubs`. + + This function uses `qiskit-aer`’s `Estimator` class to simulate the estimation task classically. + + + To ensure scalability, every circuit in `pubs` is required to be a Clifford circuit, so that it can be simulated efficiently regardless of its size. For estimation tasks that involve non-Clifford circuits, the recommended workflow consists of mapping the non-Clifford circuits to the nearest Clifford circuits using the `ConvertISAToClifford` transpiler pass, or equivalently, to use the Neat’s [`to_clifford()`](#qiskit_ibm_runtime.debug_tools.Neat.to_clifford "qiskit_ibm_runtime.debug_tools.Neat.to_clifford") convenience method. Alternatively, setting `cliffordize` to `True` ensures that the [`to_clifford()`](#qiskit_ibm_runtime.debug_tools.Neat.to_clifford "qiskit_ibm_runtime.debug_tools.Neat.to_clifford") method is applied automatically to the given `pubs` prior to the simulation. + + + **Parameters** + + * **pubs** (*Sequence\[EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – The PUBs specifying the estimation task of interest. + * **cliffordize** (*bool*) – Whether or not to automatically apply the `ConvertISAToClifford` transpiler pass to the given `pubs` before performing the simulations. + * **seed\_simulator** (*int | None*) – A seed for the simulator. + * **precision** (*float*) – The target precision for the estimates of each expectation value in the returned results. + + **Returns** + + The results of the simulation. + + **Return type** + + [*NeatResult*](debug-tools-neat-result "qiskit_ibm_runtime.debug_tools.neat_results.NeatResult") + + + ### noisy\_sim + + + Perform a noisy simulation of the estimator task specified by `pubs`. + + This function uses `qiskit-aer`’s `Estimator` class to simulate the estimation task classically. + + + To ensure scalability, every circuit in `pubs` is required to be a Clifford circuit, so that it can be simulated efficiently regardless of its size. For estimation tasks that involve non-Clifford circuits, the recommended workflow consists of mapping the non-Clifford circuits to the nearest Clifford circuits using the `ConvertISAToClifford` transpiler pass, or equivalently, to use the Neat’s [`to_clifford()`](#qiskit_ibm_runtime.debug_tools.Neat.to_clifford "qiskit_ibm_runtime.debug_tools.Neat.to_clifford") convenience method. Alternatively, setting `cliffordize` to `True` ensures that the [`to_clifford()`](#qiskit_ibm_runtime.debug_tools.Neat.to_clifford "qiskit_ibm_runtime.debug_tools.Neat.to_clifford") method is applied automatically to the given `pubs` prior to the simulation. + + + **Parameters** + + * **pubs** (*Sequence\[EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – The PUBs specifying the estimation task of interest. + * **cliffordize** (*bool*) – Whether or not to automatically apply the `ConvertISAToClifford` transpiler pass to the given `pubs` before performing the simulations. + * **seed\_simulator** (*int | None*) – A seed for the simulator. + * **precision** (*float*) – The target precision for the estimates of each expectation value in the returned results. + + **Returns** + + The results of the simulation. + + **Return type** + + [*NeatResult*](debug-tools-neat-result "qiskit_ibm_runtime.debug_tools.neat_results.NeatResult") + + + ### to\_clifford + + + Return the cliffordized version of the given `pubs`. + + This convenience method runs the `ConvertISAToClifford` transpiler pass on the PUBs’ circuits. + + **Parameters** + + **pubs** (*Sequence\[EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – The PUBs to turn into Clifford PUBs. + + **Returns** + + The Clifford PUBs. + + **Return type** + + list\[*EstimatorPub*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/debug-tools.mdx b/docs/api/qiskit-ibm-runtime/0.46/debug-tools.mdx new file mode 100644 index 00000000000..5e06ede7f6d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/debug-tools.mdx @@ -0,0 +1,26 @@ +--- +title: debug_tools (v0.46) +description: API reference for qiskit_ibm_runtime.debug_tools in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.debug_tools +--- + + + + + +# Debugging tools + +`qiskit_ibm_runtime.debug_tools` + +The tools for debugging and analyzing qiskit-ibm-runtime jobs. + +## Classes + +| | | +| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| [`Neat`](debug-tools-neat "qiskit_ibm_runtime.debug_tools.Neat") | A class to help understand the expected performance of estimator jobs. | +| [`NeatResult`](debug-tools-neat-result "qiskit_ibm_runtime.debug_tools.NeatResult") | A container for multiple [`NeatPubResult`](debug-tools-neat-pub-result "qiskit_ibm_runtime.debug_tools.NeatPubResult") objects. | +| [`NeatPubResult`](debug-tools-neat-pub-result "qiskit_ibm_runtime.debug_tools.NeatPubResult") | A class to store the PUB results of `Neat`. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/estimator-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/estimator-v2.mdx new file mode 100644 index 00000000000..f46817515ae --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/estimator-v2.mdx @@ -0,0 +1,127 @@ +--- +title: EstimatorV2 (v0.46) +description: API reference for qiskit_ibm_runtime.EstimatorV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.EstimatorV2 +--- + +# EstimatorV2 + + + Bases: `BasePrimitiveV2`\[[`EstimatorOptions`](options-estimator-options "qiskit_ibm_runtime.options.estimator_options.EstimatorOptions")], `Estimator`, [`BaseEstimatorV2`](/docs/api/qiskit/qiskit.primitives.BaseEstimatorV2) + + Class for interacting with Qiskit Runtime Estimator primitive service. + + Qiskit Runtime Estimator primitive service estimates expectation values of quantum circuits and observables. + + The [`run()`](#qiskit_ibm_runtime.EstimatorV2.run "qiskit_ibm_runtime.EstimatorV2.run") can be used to submit circuits, observables, and parameters to the Estimator primitive. + + Following construction, an estimator is used by calling its [`run()`](#qiskit_ibm_runtime.EstimatorV2.run "qiskit_ibm_runtime.EstimatorV2.run") method with a list of PUBs (Primitive Unified Blocs). Each PUB contains four values that, together, define a computation unit of work for the estimator to complete: + + * a single [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit), possibly parametrized, whose final state we define as $\psi(\theta)$, + * one or more observables (specified as any `ObservablesArrayLike`, including `Pauli`, `SparsePauliOp`, `str`) that specify which expectation values to estimate, denoted $H_j$, and + * a collection parameter value sets to bind the circuit against, $\theta_k$. + * an optional target precision for expectation value estimates. + + Here is an example of how the estimator is used. + + ```python + from qiskit.circuit.library import real_amplitudes + from qiskit.quantum_info import SparsePauliOp + from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager + from qiskit_ibm_runtime import QiskitRuntimeService, EstimatorV2 as Estimator + + service = QiskitRuntimeService() + backend = service.least_busy(operational=True, simulator=False) + + psi = real_amplitudes(num_qubits=2, reps=2) + hamiltonian = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)]) + theta = [0, 1, 1, 2, 3, 5] + + pm = generate_preset_pass_manager(backend=backend, optimization_level=1) + isa_psi = pm.run(psi) + isa_observables = hamiltonian.apply_layout(isa_psi.layout) + + estimator = Estimator(mode=backend) + + # calculate [ ] + job = estimator.run([(isa_psi, isa_observables, [theta])]) + pub_result = job.result()[0] + print(f"Expectation values: {pub_result.data.evs}") + ``` + + Initializes the Estimator primitive. + + **Parameters** + + * **mode** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) *|*[*Session*](session "qiskit_ibm_runtime.session.Session") *|*[*Batch*](batch "qiskit_ibm_runtime.batch.Batch") *| str | None*) – + + The execution mode used to make the primitive query. It can be: + + * A `Backend` if you are using job mode. + * A [`Session`](session "qiskit_ibm_runtime.Session") if you are using session execution mode. + * A [`Batch`](batch "qiskit_ibm_runtime.Batch") if you are using batch execution mode. + + Refer to the [Qiskit Runtime documentation](/docs/guides/execution-modes) for more information about the `Execution modes`. + + * **options** (*dict |* [*EstimatorOptions*](options-estimator-options "qiskit_ibm_runtime.options.estimator_options.EstimatorOptions") *| None*) – Estimator options, see `EstimatorOptions` for detailed description. + + ## Attributes + + ### mode + + + Return the execution mode used by this primitive. + + **Returns** + + Mode used by this primitive, or `None` if an execution mode is not used. + + + ### options + + + Return options + + + ### version + + + + ## Methods + + ### backend + + + Return the backend the primitive query will be run on. + + **Return type** + + [*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) + + + ### run + + + Submit a request to the estimator primitive. + + **Parameters** + + * **pubs** (*Iterable\[EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – An iterable of pub-like (primitive unified bloc) objects, such as tuples `(circuit, observables)` or `(circuit, observables, parameter_values)`. + * **precision** (*float | None*) – The target precision for expectation value estimates of each run Estimator Pub that does not specify its own precision. If None the estimator’s default precision value will be used. + + **Returns** + + Submitted job. + + **Raises** + + **ValueError** – if precision value is not strictly greater than 0. + + **Return type** + + [*RuntimeJobV2*](runtime-job-v2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/estimator.mdx b/docs/api/qiskit-ibm-runtime/0.46/estimator.mdx new file mode 100644 index 00000000000..213596a458d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/estimator.mdx @@ -0,0 +1,14 @@ +--- +title: Estimator (v0.46) +description: API reference for qiskit_ibm_runtime.Estimator in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: attribute +python_api_name: qiskit_ibm_runtime.Estimator +--- + +# Estimator + + + alias of [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.estimator.EstimatorV2") + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/execution-span-double-slice-span.mdx b/docs/api/qiskit-ibm-runtime/0.46/execution-span-double-slice-span.mdx new file mode 100644 index 00000000000..02dc86d1b32 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/execution-span-double-slice-span.mdx @@ -0,0 +1,114 @@ +--- +title: DoubleSliceSpan (v0.46) +description: API reference for qiskit_ibm_runtime.execution_span.DoubleSliceSpan in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.execution_span.DoubleSliceSpan +--- + +# DoubleSliceSpan + + + Bases: [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.execution_span.ExecutionSpan") + + An [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. + + This type of execution span references pub result data by assuming that it is a sliceable portion of the data where the shots are the outermost slice and the rest of the data is flattened. Therefore, for each pub dependent on this span, the constructor accepts two `slice` instances, along with the corresponding shape of the data to be sliced; in contrast to [`SliceSpan`](execution-span-slice-span "qiskit_ibm_runtime.execution_span.SliceSpan"), this class does not assume that *all* shots for a particular set of parameter values are contiguous in the array of data. + + **Parameters** + + * **start** (*datetime*) – The start time of the span, in UTC. + * **stop** (*datetime*) – The stop time of the span, in UTC. + * **data\_slices** (*dict\[int, tuple\[ShapeType, slice, slice]]*) – A map from pub indices to `(shape_tuple, flat_shape_slice, shots_slice)`. + + ## Attributes + + ### duration + + + The duration of this span, in seconds. + + + ### pub\_idxs + + + + ### size + + + + ### start + + + The start time of the span, in UTC. + + + ### stop + + + The stop time of the span, in UTC. + + + ## Methods + + ### contains\_pub + + + Return whether the pub with the given index has data with dependence on this span. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Returns** + + Whether there is dependence on this span. + + **Return type** + + bool + + + ### filter\_by\_pub + + + Return a new span whose slices are filtered to the provided pub indices. + + For example, if this span contains slice information for pubs with indices 1, 3, 4 and `[1, 4]` is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Returns** + + A new filtered span. + + **Return type** + + [*DoubleSliceSpan*](#qiskit_ibm_runtime.execution_span.DoubleSliceSpan "qiskit_ibm_runtime.execution_span.double_slice_span.DoubleSliceSpan") + + + ### mask + + + Return an array-valued mask specifying which parts of a pub result depend on this span. + + **Parameters** + + **pub\_idx** (*int*) – The index of the pub to return a mask for. + + **Returns** + + An array with the same shape as the pub data. + + **Raises** + + **KeyError** – if the pub is not included in the span + + **Return type** + + [*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray)\[tuple\[int, …], [*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)\[[*bool*](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.bool)]] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-span.mdx b/docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-span.mdx new file mode 100644 index 00000000000..97d12161b36 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-span.mdx @@ -0,0 +1,127 @@ +--- +title: ExecutionSpan (v0.46) +description: API reference for qiskit_ibm_runtime.execution_span.ExecutionSpan in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpan +--- + +# ExecutionSpan + + + Bases: `ABC` + + Abstract parent for classes that store an execution time span for a subset of job data. + + A pub is said to have dependence on an execution span if the corresponding execution includes data that forms any part of the pub’s results. + + Execution spans are equality checkable, and they implement a comparison operator based on the tuple `(start, stop)`, so can be sorted. + + **Parameters** + + * **start** (*datetime*) – The start time of the span, in UTC. + * **stop** (*datetime*) – The stop time of the span, in UTC. + + ## Attributes + + ### duration + + + The duration of this span, in seconds. + + + ### pub\_idxs + + + Which pubs, by index, have dependence on this execution span. + + + ### size + + + The total number of results with dependence on this execution span, across all pubs. + + This attribute is equivalent to the sum of the elements of all present [`mask()`](#qiskit_ibm_runtime.execution_span.ExecutionSpan.mask "qiskit_ibm_runtime.execution_span.ExecutionSpan.mask")s. For sampler results, it represents the total number of shots with dependence on this execution span. + + Combine this attribute with [`filter_by_pub()`](#qiskit_ibm_runtime.execution_span.ExecutionSpan.filter_by_pub "qiskit_ibm_runtime.execution_span.ExecutionSpan.filter_by_pub") to find the size of some particular pub: + + ```python + span.filter_by_pub(2).size + ``` + + + ### start + + + The start time of the span, in UTC. + + + ### stop + + + The stop time of the span, in UTC. + + + ## Methods + + ### contains\_pub + + + Return whether the pub with the given index has data with dependence on this span. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Returns** + + Whether there is dependence on this span. + + **Return type** + + bool + + + ### filter\_by\_pub + + + Return a new span whose slices are filtered to the provided pub indices. + + For example, if this span contains slice information for pubs with indices 1, 3, 4 and `[1, 4]` is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Returns** + + A new filtered span. + + **Return type** + + [*ExecutionSpan*](#qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.execution_span.ExecutionSpan") + + + ### mask + + + Return an array-valued mask specifying which parts of a pub result depend on this span. + + **Parameters** + + **pub\_idx** (*int*) – The index of the pub to return a mask for. + + **Returns** + + An array with the same shape as the pub data. + + **Raises** + + **KeyError** – if the pub is not included in the span + + **Return type** + + [*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray)\[tuple\[int, …], [*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)\[[*bool*](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.bool)]] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-spans.mdx b/docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-spans.mdx new file mode 100644 index 00000000000..17b6f079645 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/execution-span-execution-spans.mdx @@ -0,0 +1,124 @@ +--- +title: ExecutionSpans (v0.46) +description: API reference for qiskit_ibm_runtime.execution_span.ExecutionSpans in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpans +--- + +# ExecutionSpans + + + Bases: `object` + + A collection of timings for pub results. + + This class is a list-like containing [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan")s, where each execution span represents a time window of data collection, and contains a reference to exactly which of the data were collected during the window. + + It is possible for distinct time windows to overlap. This is not because a QPU was performing multiple executions at once, but is instead an artifact of certain classical processing that may happen concurrently with quantum execution. The guarantee being made is that the referenced data definitely occurred in the reported execution span, but not necessarily that the limits of the time window are as tight as possible. + + ## Attributes + + **Parameters** + + **spans** (*Iterable\[*[*ExecutionSpan*](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan")*]*) + + ### duration + + + The total duration of this collection, in seconds. + + + ### pub\_idxs + + + Which pubs, by index, have dependence on one or more execution spans present. + + + ### start + + + The start time of the entire collection, in UTC. + + + ### stop + + + The stop time of the entire collection, in UTC. + + + ## Methods + + ### \_\_getitem\_\_ + + + + ### \_\_len\_\_ + + + **Return type** + + int + + + ### draw + + + Draw these execution spans. + + + To draw multiple sets of execution spans at once, for example coming from multiple jobs, consider calling [`draw_execution_spans()`](visualization-draw-execution-spans "qiskit_ibm_runtime.visualization.draw_execution_spans") directly. + + + **Parameters** + + * **name** (*str | None*) – The name of this set of spans. + * **normalize\_y** (*bool*) – Whether to display the y-axis units as a percentage of work complete, rather than cumulative shots completed. + * **line\_width** (*int*) – The thickness of line segments. + + **Returns** + + A plotly figure. + + **Return type** + + PlotlyFigure + + + ### filter\_by\_pub + + + Return a new set of spans where each one has been filtered to the specified pubs. + + See also :meth:\~.ExecutionSpan.filter\_by\_pub\`. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices to filter. + + **Return type** + + [*ExecutionSpans*](#qiskit_ibm_runtime.execution_span.ExecutionSpans "qiskit_ibm_runtime.execution_span.execution_spans.ExecutionSpans") + + + ### sort + + + Return the same execution spans, sorted. + + Sorting is done by the [`start`](execution-span-execution-span#start "qiskit_ibm_runtime.execution_span.ExecutionSpan.start") timestamp of each execution span. + + **Parameters** + + **inplace** (*bool*) – Whether to sort this instance in place, or return a copy. + + **Returns** + + This instance if `inplace`, a new instance otherwise, sorted. + + **Return type** + + [*ExecutionSpans*](#qiskit_ibm_runtime.execution_span.ExecutionSpans "qiskit_ibm_runtime.execution_span.execution_spans.ExecutionSpans") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/execution-span-shape-type.mdx b/docs/api/qiskit-ibm-runtime/0.46/execution-span-shape-type.mdx new file mode 100644 index 00000000000..54328ebbe10 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/execution-span-shape-type.mdx @@ -0,0 +1,14 @@ +--- +title: ShapeType (v0.46) +description: API reference for qiskit_ibm_runtime.execution_span.ShapeType in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: attribute +python_api_name: qiskit_ibm_runtime.execution_span.ShapeType +--- + +# ShapeType + + + alias of `tuple`\[`int`, …] + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/execution-span-slice-span.mdx b/docs/api/qiskit-ibm-runtime/0.46/execution-span-slice-span.mdx new file mode 100644 index 00000000000..927d14b1e9f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/execution-span-slice-span.mdx @@ -0,0 +1,114 @@ +--- +title: SliceSpan (v0.46) +description: API reference for qiskit_ibm_runtime.execution_span.SliceSpan in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.execution_span.SliceSpan +--- + +# SliceSpan + + + Bases: [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.execution_span.ExecutionSpan") + + An [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. + + This type of execution span references pub result data by assuming that it is a sliceable portion of the (row major) flattened data. Therefore, for each pub dependent on this span, the constructor accepts a single `slice` object, along with the corresponding shape of the data to be sliced. + + **Parameters** + + * **start** (*datetime*) – The start time of the span, in UTC. + * **stop** (*datetime*) – The stop time of the span, in UTC. + * **data\_slices** (*dict\[int, tuple\[ShapeType, slice]]*) – A map from pub indices to pairs `(shape_tuple, slice)`. + + ## Attributes + + ### duration + + + The duration of this span, in seconds. + + + ### pub\_idxs + + + + ### size + + + + ### start + + + The start time of the span, in UTC. + + + ### stop + + + The stop time of the span, in UTC. + + + ## Methods + + ### contains\_pub + + + Return whether the pub with the given index has data with dependence on this span. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Returns** + + Whether there is dependence on this span. + + **Return type** + + bool + + + ### filter\_by\_pub + + + Return a new span whose slices are filtered to the provided pub indices. + + For example, if this span contains slice information for pubs with indices 1, 3, 4 and `[1, 4]` is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Returns** + + A new filtered span. + + **Return type** + + [*SliceSpan*](#qiskit_ibm_runtime.execution_span.SliceSpan "qiskit_ibm_runtime.execution_span.slice_span.SliceSpan") + + + ### mask + + + Return an array-valued mask specifying which parts of a pub result depend on this span. + + **Parameters** + + **pub\_idx** (*int*) – The index of the pub to return a mask for. + + **Returns** + + An array with the same shape as the pub data. + + **Raises** + + **KeyError** – if the pub is not included in the span + + **Return type** + + [*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray)\[tuple\[int, …], [*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)\[[*bool*](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.bool)]] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/execution-span-twirled-slice-span.mdx b/docs/api/qiskit-ibm-runtime/0.46/execution-span-twirled-slice-span.mdx new file mode 100644 index 00000000000..2241c3dd40f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/execution-span-twirled-slice-span.mdx @@ -0,0 +1,119 @@ +--- +title: TwirledSliceSpan (v0.46) +description: API reference for qiskit_ibm_runtime.execution_span.TwirledSliceSpan in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.execution_span.TwirledSliceSpan +--- + +# TwirledSliceSpan + + + Bases: [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.execution_span.ExecutionSpan") + + An [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format when twirling. + + This type of execution span references pub result data that came from a twirled sampler experiment which was executed by either prepending or appending an axis to parameter values to account for twirling. Concretely, `data_slices` is a map from pub slices to tuples `(twirled_shape, at_front, shape_slice, shots_slice)` where + + * `twirled_shape` is the shape tuple including a twirling axis, and where the last axis is shots per randomization, + * `at_front` is whether `num_randomizations` is at the front of the tuple, as opposed to right before the `shots` axis at the end, + * `shape_slice` is a slice of an array of shape `twirled_shape[:-1]`, flattened, + * and `shots_slice` is a slice of `twirled_shape[-1]`. + + **Parameters** + + * **start** (*datetime*) – The start time of the span, in UTC. + * **stop** (*datetime*) – The stop time of the span, in UTC. + * **data\_slices** (*Mapping\[int, tuple\[ShapeType, bool, slice, slice]]*) – A map from pub indices to length-4 tuples described above. + + ## Attributes + + ### duration + + + The duration of this span, in seconds. + + + ### pub\_idxs + + + + ### size + + + + ### start + + + The start time of the span, in UTC. + + + ### stop + + + The stop time of the span, in UTC. + + + ## Methods + + ### contains\_pub + + + Return whether the pub with the given index has data with dependence on this span. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Returns** + + Whether there is dependence on this span. + + **Return type** + + bool + + + ### filter\_by\_pub + + + Return a new span whose slices are filtered to the provided pub indices. + + For example, if this span contains slice information for pubs with indices 1, 3, 4 and `[1, 4]` is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Returns** + + A new filtered span. + + **Return type** + + [*TwirledSliceSpan*](#qiskit_ibm_runtime.execution_span.TwirledSliceSpan "qiskit_ibm_runtime.execution_span.twirled_slice_span.TwirledSliceSpan") + + + ### mask + + + Return an array-valued mask specifying which parts of a pub result depend on this span. + + **Parameters** + + **pub\_idx** (*int*) – The index of the pub to return a mask for. + + **Returns** + + An array with the same shape as the pub data. + + **Raises** + + **KeyError** – if the pub is not included in the span + + **Return type** + + [*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray)\[tuple\[int, …], [*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)\[[*bool*](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.bool)]] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/execution-span.mdx b/docs/api/qiskit-ibm-runtime/0.46/execution-span.mdx new file mode 100644 index 00000000000..61f3ab9335e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/execution-span.mdx @@ -0,0 +1,31 @@ +--- +title: execution_span (v0.46) +description: API reference for qiskit_ibm_runtime.execution_span in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.execution_span +--- + + + + + +# Execution Spans + +`qiskit_ibm_runtime.execution_span` + +## Overview + +An [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans") class instance is an iterable of [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan")s, where each iterand gives timing information about a chunk of data. Execution spans are returned as part of the metadata of a primitive job result. + +## Classes + +| | | +| ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`DoubleSliceSpan`](execution-span-double-slice-span "qiskit_ibm_runtime.execution_span.DoubleSliceSpan") | An [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. | +| [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") | Abstract parent for classes that store an execution time span for a subset of job data. | +| [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans") | A collection of timings for pub results. | +| [`ShapeType`](execution-span-shape-type "qiskit_ibm_runtime.execution_span.ShapeType") | alias of `tuple`\[`int`, ...] | +| [`SliceSpan`](execution-span-slice-span "qiskit_ibm_runtime.execution_span.SliceSpan") | An [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. | +| [`TwirledSliceSpan`](execution-span-twirled-slice-span "qiskit_ibm_runtime.execution_span.TwirledSliceSpan") | An [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format when twirling. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/executor-0-1.mdx b/docs/api/qiskit-ibm-runtime/0.46/executor-0-1.mdx new file mode 100644 index 00000000000..d94fde575b5 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/executor-0-1.mdx @@ -0,0 +1,33 @@ +--- +title: version_0_1 (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: ibm_quantum_schemas.executor.version_0_1 +--- + + + + + +# Executor v0.1 + +`ibm_quantum_schemas.executor.version_0_1` + +Models for `Executor` `v0.1`. + +## Classes + +| | | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | +| [`ParamsModel`](ibm-quantum-schemas-executor-version-0-1-params-model "ibm_quantum_schemas.executor.version_0_1.ParamsModel") | Schema version 1 of the inner parameters. | +| [`QuantumProgramModel`](ibm-quantum-schemas-executor-version-0-1-quantum-program-model "ibm_quantum_schemas.executor.version_0_1.QuantumProgramModel") | Model to store a quantum program. | +| [`CircuitItemModel`](ibm-quantum-schemas-executor-version-0-1-circuit-item-model "ibm_quantum_schemas.executor.version_0_1.CircuitItemModel") | Execution specifications for a single quantum circuit. | +| [`SamplexItemModel`](ibm-quantum-schemas-executor-version-0-1-samplex-item-model "ibm_quantum_schemas.executor.version_0_1.SamplexItemModel") | Execution specifications for a single quantum circuit. | +| [`OptionsModel`](ibm-quantum-schemas-executor-version-0-1-options-model "ibm_quantum_schemas.executor.version_0_1.OptionsModel") | Runtime options. | +| [`QuantumProgramResultModel`](ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model "ibm_quantum_schemas.executor.version_0_1.QuantumProgramResultModel") | Result from executing a quantum program. | +| [`QuantumProgramResultItemModel`](ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model "ibm_quantum_schemas.executor.version_0_1.QuantumProgramResultItemModel") | Results for a single quantum program item. | +| [`MetadataModel`](ibm-quantum-schemas-executor-version-0-1-metadata-model "ibm_quantum_schemas.executor.version_0_1.MetadataModel") | Execution metadata. | +| [`ChunkSpan`](ibm-quantum-schemas-executor-version-0-1-chunk-span "ibm_quantum_schemas.executor.version_0_1.ChunkSpan") | Timing information about a single chunk of execution. | +| [`ChunkPart`](ibm-quantum-schemas-executor-version-0-1-chunk-part "ibm_quantum_schemas.executor.version_0_1.ChunkPart") | A description of the contents of a single part of an execution chunk. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/executor-0-2.mdx b/docs/api/qiskit-ibm-runtime/0.46/executor-0-2.mdx new file mode 100644 index 00000000000..063d2dbc52d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/executor-0-2.mdx @@ -0,0 +1,36 @@ +--- +title: version_0_2 (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: ibm_quantum_schemas.executor.version_0_2 +--- + + + + + +# Executor v0.2 + +`ibm_quantum_schemas.executor.version_0_2` + +Models for `Executor` `v0.2`. + +## Classes + +| | | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | +| [`ParamsModel`](ibm-quantum-schemas-executor-version-0-2-params-model "ibm_quantum_schemas.executor.version_0_2.ParamsModel") | A model describing the Executor program inputs. | +| [`QuantumProgramModel`](ibm-quantum-schemas-executor-version-0-2-quantum-program-model "ibm_quantum_schemas.executor.version_0_2.QuantumProgramModel") | Model to store a quantum program. | +| [`CircuitItemModel`](ibm-quantum-schemas-executor-version-0-2-circuit-item-model "ibm_quantum_schemas.executor.version_0_2.CircuitItemModel") | Execution specifications for a single quantum circuit. | +| [`SamplexItemModel`](ibm-quantum-schemas-executor-version-0-2-samplex-item-model "ibm_quantum_schemas.executor.version_0_2.SamplexItemModel") | Execution specifications for a single quantum circuit. | +| [`OptionsModel`](ibm-quantum-schemas-executor-version-0-2-options-model "ibm_quantum_schemas.executor.version_0_2.OptionsModel") | Runtime options. | +| [`QuantumProgramResultModel`](ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model "ibm_quantum_schemas.executor.version_0_2.QuantumProgramResultModel") | Result from executing a quantum program. | +| [`QuantumProgramResultItemModel`](ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model "ibm_quantum_schemas.executor.version_0_2.QuantumProgramResultItemModel") | Results for a single quantum program item. | +| [`ItemMetadataModel`](ibm-quantum-schemas-executor-version-0-2-item-metadata-model "ibm_quantum_schemas.executor.version_0_2.ItemMetadataModel") | Per-item metadata for quantum program results. | +| [`SchedulerTimingModel`](ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model "ibm_quantum_schemas.executor.version_0_2.SchedulerTimingModel") | Describes the timing of a scheduled circuit. | +| [`StretchValueModel`](ibm-quantum-schemas-executor-version-0-2-stretch-value-model "ibm_quantum_schemas.executor.version_0_2.StretchValueModel") | Describes circuit stretch value resolutions. | +| [`MetadataModel`](ibm-quantum-schemas-executor-version-0-2-metadata-model "ibm_quantum_schemas.executor.version_0_2.MetadataModel") | Execution metadata. | +| [`ChunkSpan`](ibm-quantum-schemas-executor-version-0-2-chunk-span "ibm_quantum_schemas.executor.version_0_2.ChunkSpan") | Timing information about a single chunk of execution. | +| [`ChunkPart`](ibm-quantum-schemas-executor-version-0-2-chunk-part "ibm_quantum_schemas.executor.version_0_2.ChunkPart") | A description of the contents of a single part of an execution chunk. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/executor.mdx b/docs/api/qiskit-ibm-runtime/0.46/executor.mdx new file mode 100644 index 00000000000..8010e8e7d21 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/executor.mdx @@ -0,0 +1,79 @@ +--- +title: Executor (v0.46) +description: API reference for qiskit_ibm_runtime.Executor in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.Executor +--- + +# Executor + + + Bases: `object` + + Class for running `QuantumProgram`s. + + The [`run()`](#qiskit_ibm_runtime.Executor.run "qiskit_ibm_runtime.Executor.run") method can be used to submit a quantum program to be executed on a backend. + + ```python + from qiskit_ibm_runtime import QiskitRuntimeService, Executor, QuantumProgram + + service = QiskitRuntimeService() + backend = service.backend("ibm_boston") + + program = QuantumProgram(shots=100) + ... # add program contents + + executor = Executor(backend) + executor.options.environment.job_tags = ["my_tag"] + job = executor.run(program) + ``` + + **Parameters** + + * **mode** ([*IBMBackend*](ibm-backend "qiskit_ibm_runtime.IBMBackend") *|*[*Session*](session "qiskit_ibm_runtime.Session") *|*[*Batch*](batch "qiskit_ibm_runtime.Batch") *| None*) – + + The execution mode used to make the query. It can be: + + * A [`IBMBackend`](ibm-backend "qiskit_ibm_runtime.IBMBackend") if you are using job mode. + * A [`Session`](session "qiskit_ibm_runtime.Session") if you are using session execution mode. + * A [`Batch`](batch "qiskit_ibm_runtime.Batch") if you are using batch execution mode. + + Refer to the [Qiskit Runtime documentation](/docs/guides/execution-modes) for more information about the `Execution modes`. + + * **options** (*ExecutorOptions | dict | None*) – Executor options, see `ExecutorOptions` for detailed description. This can be an `ExecutorOptions` instance or a dictionary that will be used to construct one. + + **Raises** + + * **TypeError** – If `options` is not a valid type. + * **ValueError** – If local mode is used. + + ## Attributes + + ### options + + + The options of this executor. + + + ## Methods + + ### run + + + Run a quantum program. + + **Parameters** + + **program** (*QuantumProgram*) – The program to run. + + **Returns** + + A job. + + **Return type** + + [*RuntimeJobV2*](runtime-job-v2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-algiers.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-algiers.mdx new file mode 100644 index 00000000000..04722fa5c67 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-algiers.mdx @@ -0,0 +1,331 @@ +--- +title: FakeAlgiers (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeAlgiers in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers +--- + +# FakeAlgiers + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeAlgiers.run "qiskit_ibm_runtime.fake_provider.FakeAlgiers.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-almaden-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-almaden-v2.mdx new file mode 100644 index 00000000000..08723a7f5a4 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-almaden-v2.mdx @@ -0,0 +1,341 @@ +--- +title: FakeAlmadenV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 +--- + +# FakeAlmadenV2 + + + Bases: `FakeBackendV2` + + A fake Almaden V2 backend. + + ```text + 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 + ↕ ↕ + 05 ↔ 06 ↔ 07 ↔ 08 ↔ 09 + ↕ ↕ ↕ + 10 ↔ 11 ↔ 12 ↔ 13 ↔ 14 + ↕ ↕ + 15 ↔ 16 ↔ 17 ↔ 18 ↔ 19 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.run "qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-armonk-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-armonk-v2.mdx new file mode 100644 index 00000000000..a3784275b9d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-armonk-v2.mdx @@ -0,0 +1,335 @@ +--- +title: FakeArmonkV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeArmonkV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 +--- + +# FakeArmonkV2 + + + Bases: `FakeBackendV2` + + A fake 1 qubit backend. + + ```text + 0 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeArmonkV2.run "qiskit_ibm_runtime.fake_provider.FakeArmonkV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-athens-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-athens-v2.mdx new file mode 100644 index 00000000000..5119ae784be --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-athens-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeAthensV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeAthensV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 +--- + +# FakeAthensV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeAthensV2.run "qiskit_ibm_runtime.fake_provider.FakeAthensV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-auckland.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-auckland.mdx new file mode 100644 index 00000000000..8dc29bf6c32 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-auckland.mdx @@ -0,0 +1,331 @@ +--- +title: FakeAuckland (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeAuckland in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland +--- + +# FakeAuckland + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeAuckland.run "qiskit_ibm_runtime.fake_provider.FakeAuckland.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-belem-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-belem-v2.mdx new file mode 100644 index 00000000000..8c69b5f705c --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-belem-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeBelemV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBelemV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 +--- + +# FakeBelemV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBelemV2.run "qiskit_ibm_runtime.fake_provider.FakeBelemV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-boeblingen-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-boeblingen-v2.mdx new file mode 100644 index 00000000000..28eba5fe5a5 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-boeblingen-v2.mdx @@ -0,0 +1,341 @@ +--- +title: FakeBoeblingenV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 +--- + +# FakeBoeblingenV2 + + + Bases: `FakeBackendV2` + + A fake Boeblingen V2 backend. + + ```text + 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 + ↕ ↕ + 05 ↔ 06 ↔ 07 ↔ 08 ↔ 09 + ↕ ↕ ↕ + 10 ↔ 11 ↔ 12 ↔ 13 ↔ 14 + ↕ ↕ + 15 ↔ 16 ↔ 17 ↔ 18 ↔ 19 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.run "qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-bogota-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-bogota-v2.mdx new file mode 100644 index 00000000000..29b6f553d28 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-bogota-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeBogotaV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBogotaV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 +--- + +# FakeBogotaV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBogotaV2.run "qiskit_ibm_runtime.fake_provider.FakeBogotaV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brisbane.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brisbane.mdx new file mode 100644 index 00000000000..f18a478897f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brisbane.mdx @@ -0,0 +1,331 @@ +--- +title: FakeBrisbane (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBrisbane in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane +--- + +# FakeBrisbane + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBrisbane.run "qiskit_ibm_runtime.fake_provider.FakeBrisbane.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brooklyn-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brooklyn-v2.mdx new file mode 100644 index 00000000000..df306093ca0 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-brooklyn-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeBrooklynV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 +--- + +# FakeBrooklynV2 + + + Bases: `FakeBackendV2` + + A fake Brooklyn V2 backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.run "qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-burlington-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-burlington-v2.mdx new file mode 100644 index 00000000000..4cfd9e4c156 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-burlington-v2.mdx @@ -0,0 +1,337 @@ +--- +title: FakeBurlingtonV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 +--- + +# FakeBurlingtonV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + ```text + 0 ↔ 1 ↔ 3 ↔ 4 + ↕ + 2 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.run "qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cairo-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cairo-v2.mdx new file mode 100644 index 00000000000..635722e5860 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cairo-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeCairoV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeCairoV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 +--- + +# FakeCairoV2 + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeCairoV2.run "qiskit_ibm_runtime.fake_provider.FakeCairoV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cambridge-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cambridge-v2.mdx new file mode 100644 index 00000000000..448a9de4284 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cambridge-v2.mdx @@ -0,0 +1,343 @@ +--- +title: FakeCambridgeV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 +--- + +# FakeCambridgeV2 + + + Bases: `FakeBackendV2` + + A fake Cambridge backend. + + ```text + 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 + ↕ ↕ + 05 06 + ↕ ↕ + 07 ↔ 08 ↔ 09 ↔ 10 ↔ 11 ↔ 12 ↔ 13 ↔ 14 ↔ 15 + ↕ ↕ ↕ + 16 17 18 + ↕ ↕ ↕ + 19 ↔ 20 ↔ 21 ↔ 22 ↔ 23 ↔ 24 ↔ 25 ↔ 26 ↔ 27 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.run "qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-casablanca-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-casablanca-v2.mdx new file mode 100644 index 00000000000..2046bc31cdd --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-casablanca-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeCasablancaV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 +--- + +# FakeCasablancaV2 + + + Bases: `FakeBackendV2` + + A fake 7 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.run "qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cusco.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cusco.mdx new file mode 100644 index 00000000000..f6404bd7616 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-cusco.mdx @@ -0,0 +1,331 @@ +--- +title: FakeCusco (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeCusco in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco +--- + +# FakeCusco + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeCusco.run "qiskit_ibm_runtime.fake_provider.FakeCusco.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-essex-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-essex-v2.mdx new file mode 100644 index 00000000000..992f0cadc86 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-essex-v2.mdx @@ -0,0 +1,339 @@ +--- +title: FakeEssexV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeEssexV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 +--- + +# FakeEssexV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + ```text + 0 ↔ 1 ↔ 2 + ↕ + 3 + ↕ + 4 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeEssexV2.run "qiskit_ibm_runtime.fake_provider.FakeEssexV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fez.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fez.mdx new file mode 100644 index 00000000000..41b909bc009 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fez.mdx @@ -0,0 +1,331 @@ +--- +title: FakeFez (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeFez in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez +--- + +# FakeFez + + + Bases: `FakeBackendV2` + + A fake 156 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeFez.run "qiskit_ibm_runtime.fake_provider.FakeFez.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fractional-backend.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fractional-backend.mdx new file mode 100644 index 00000000000..aa6a98a2158 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-fractional-backend.mdx @@ -0,0 +1,338 @@ +--- +title: FakeFractionalBackend (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeFractionalBackend in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend +--- + +# FakeFractionalBackend + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend with dynamic and fractional feature modeled based on FakeLima. + + This backend include following features. + + * Fractional gates (rx, rzx) in addition to the standard basis gates. + * Control flow operations (if\_else, while\_loop). + * Pulse calibrations (fractional gates don’t support calibration). + * Gate properties of all instructions. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeFractionalBackend.run "qiskit_ibm_runtime.fake_provider.FakeFractionalBackend.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-geneva.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-geneva.mdx new file mode 100644 index 00000000000..c6e385096a2 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-geneva.mdx @@ -0,0 +1,331 @@ +--- +title: FakeGeneva (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeGeneva in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva +--- + +# FakeGeneva + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeGeneva.run "qiskit_ibm_runtime.fake_provider.FakeGeneva.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-guadalupe-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-guadalupe-v2.mdx new file mode 100644 index 00000000000..c5ef740961f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-guadalupe-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeGuadalupeV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 +--- + +# FakeGuadalupeV2 + + + Bases: `FakeBackendV2` + + A fake 16 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.run "qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-hanoi-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-hanoi-v2.mdx new file mode 100644 index 00000000000..4fa2df24878 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-hanoi-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeHanoiV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeHanoiV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 +--- + +# FakeHanoiV2 + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeHanoiV2.run "qiskit_ibm_runtime.fake_provider.FakeHanoiV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-jakarta-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-jakarta-v2.mdx new file mode 100644 index 00000000000..624f3ee0441 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-jakarta-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeJakartaV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeJakartaV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 +--- + +# FakeJakartaV2 + + + Bases: `FakeBackendV2` + + A fake 7 qubit V2 backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeJakartaV2.run "qiskit_ibm_runtime.fake_provider.FakeJakartaV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-johannesburg-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-johannesburg-v2.mdx new file mode 100644 index 00000000000..a0991d75f6d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-johannesburg-v2.mdx @@ -0,0 +1,341 @@ +--- +title: FakeJohannesburgV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 +--- + +# FakeJohannesburgV2 + + + Bases: `FakeBackendV2` + + A fake Johannesburg V2 backend. + + ```text + 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 + ↕ ↕ + 05 ↔ 06 ↔ 07 ↔ 08 ↔ 09 + ↕ ↕ ↕ + 10 ↔ 11 ↔ 12 ↔ 13 ↔ 14 + ↕ ↕ + 15 ↔ 16 ↔ 17 ↔ 18 ↔ 19 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.run "qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kawasaki.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kawasaki.mdx new file mode 100644 index 00000000000..f1fd4de2464 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kawasaki.mdx @@ -0,0 +1,331 @@ +--- +title: FakeKawasaki (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeKawasaki in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki +--- + +# FakeKawasaki + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeKawasaki.run "qiskit_ibm_runtime.fake_provider.FakeKawasaki.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kolkata-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kolkata-v2.mdx new file mode 100644 index 00000000000..92870c766ac --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kolkata-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeKolkataV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeKolkataV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 +--- + +# FakeKolkataV2 + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeKolkataV2.run "qiskit_ibm_runtime.fake_provider.FakeKolkataV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyiv.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyiv.mdx new file mode 100644 index 00000000000..33150055e0f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyiv.mdx @@ -0,0 +1,331 @@ +--- +title: FakeKyiv (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeKyiv in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv +--- + +# FakeKyiv + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeKyiv.run "qiskit_ibm_runtime.fake_provider.FakeKyiv.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyoto.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyoto.mdx new file mode 100644 index 00000000000..25d99e1a4ea --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-kyoto.mdx @@ -0,0 +1,331 @@ +--- +title: FakeKyoto (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeKyoto in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto +--- + +# FakeKyoto + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeKyoto.run "qiskit_ibm_runtime.fake_provider.FakeKyoto.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lagos-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lagos-v2.mdx new file mode 100644 index 00000000000..ed7fc38f84e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lagos-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeLagosV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeLagosV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 +--- + +# FakeLagosV2 + + + Bases: `FakeBackendV2` + + A fake 7 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeLagosV2.run "qiskit_ibm_runtime.fake_provider.FakeLagosV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lima-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lima-v2.mdx new file mode 100644 index 00000000000..6d2299d182d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-lima-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeLimaV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeLimaV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 +--- + +# FakeLimaV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeLimaV2.run "qiskit_ibm_runtime.fake_provider.FakeLimaV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-london-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-london-v2.mdx new file mode 100644 index 00000000000..63d33642c75 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-london-v2.mdx @@ -0,0 +1,339 @@ +--- +title: FakeLondonV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeLondonV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 +--- + +# FakeLondonV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + ```text + 0 ↔ 1 ↔ 2 + ↕ + 3 + ↕ + 4 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeLondonV2.run "qiskit_ibm_runtime.fake_provider.FakeLondonV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manhattan-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manhattan-v2.mdx new file mode 100644 index 00000000000..41d3e9e48b1 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manhattan-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeManhattanV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeManhattanV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 +--- + +# FakeManhattanV2 + + + Bases: `FakeBackendV2` + + A fake Manhattan backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeManhattanV2.run "qiskit_ibm_runtime.fake_provider.FakeManhattanV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manila-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manila-v2.mdx new file mode 100644 index 00000000000..d0afe7a3b24 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-manila-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeManilaV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeManilaV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 +--- + +# FakeManilaV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeManilaV2.run "qiskit_ibm_runtime.fake_provider.FakeManilaV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-marrakesh.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-marrakesh.mdx new file mode 100644 index 00000000000..51abd4a3762 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-marrakesh.mdx @@ -0,0 +1,331 @@ +--- +title: FakeMarrakesh (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeMarrakesh in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh +--- + +# FakeMarrakesh + + + Bases: `FakeBackendV2` + + A fake 156 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeMarrakesh.run "qiskit_ibm_runtime.fake_provider.FakeMarrakesh.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-melbourne-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-melbourne-v2.mdx new file mode 100644 index 00000000000..921cf7345b3 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-melbourne-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeMelbourneV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 +--- + +# FakeMelbourneV2 + + + Bases: `FakeBackendV2` + + A fake 15 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.run "qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-montreal-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-montreal-v2.mdx new file mode 100644 index 00000000000..39d5edbf62f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-montreal-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeMontrealV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeMontrealV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 +--- + +# FakeMontrealV2 + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeMontrealV2.run "qiskit_ibm_runtime.fake_provider.FakeMontrealV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-mumbai-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-mumbai-v2.mdx new file mode 100644 index 00000000000..dab282a0e8a --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-mumbai-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeMumbaiV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 +--- + +# FakeMumbaiV2 + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.run "qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-nairobi-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-nairobi-v2.mdx new file mode 100644 index 00000000000..98764e7b0be --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-nairobi-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeNairobiV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeNairobiV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 +--- + +# FakeNairobiV2 + + + Bases: `FakeBackendV2` + + A fake 7 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeNairobiV2.run "qiskit_ibm_runtime.fake_provider.FakeNairobiV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-osaka.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-osaka.mdx new file mode 100644 index 00000000000..1af249711ca --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-osaka.mdx @@ -0,0 +1,331 @@ +--- +title: FakeOsaka (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeOsaka in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka +--- + +# FakeOsaka + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeOsaka.run "qiskit_ibm_runtime.fake_provider.FakeOsaka.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-oslo.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-oslo.mdx new file mode 100644 index 00000000000..10923b5012e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-oslo.mdx @@ -0,0 +1,331 @@ +--- +title: FakeOslo (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeOslo in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo +--- + +# FakeOslo + + + Bases: `FakeBackendV2` + + A fake 7 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeOslo.run "qiskit_ibm_runtime.fake_provider.FakeOslo.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-ourense-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-ourense-v2.mdx new file mode 100644 index 00000000000..3cdf1e4105d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-ourense-v2.mdx @@ -0,0 +1,337 @@ +--- +title: FakeOurenseV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeOurenseV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 +--- + +# FakeOurenseV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + ```text + 0 ↔ 1 ↔ 3 ↔ 4 + ↕ + 2 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeOurenseV2.run "qiskit_ibm_runtime.fake_provider.FakeOurenseV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-paris-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-paris-v2.mdx new file mode 100644 index 00000000000..b3db829902f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-paris-v2.mdx @@ -0,0 +1,343 @@ +--- +title: FakeParisV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeParisV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 +--- + +# FakeParisV2 + + + Bases: `FakeBackendV2` + + A fake Paris backend. + + ```text + 06 17 + ↕ ↕ + 00 ↔ 01 ↔ 04 ↔ 07 ↔ 10 ↔ 12 ↔ 15 ↔ 18 ↔ 21 ↔ 23 + ↕ ↕ ↕ + 02 13 24 + ↕ ↕ ↕ + 03 ↔ 05 ↔ 08 ↔ 11 ↔ 14 ↔ 16 ↔ 19 ↔ 22 ↔ 25 ↔ 26 + ↕ ↕ + 09 20 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeParisV2.run "qiskit_ibm_runtime.fake_provider.FakeParisV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-peekskill.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-peekskill.mdx new file mode 100644 index 00000000000..bd62e63de57 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-peekskill.mdx @@ -0,0 +1,331 @@ +--- +title: FakePeekskill (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakePeekskill in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill +--- + +# FakePeekskill + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakePeekskill.run "qiskit_ibm_runtime.fake_provider.FakePeekskill.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-perth.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-perth.mdx new file mode 100644 index 00000000000..4a2cccab2de --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-perth.mdx @@ -0,0 +1,331 @@ +--- +title: FakePerth (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakePerth in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth +--- + +# FakePerth + + + Bases: `FakeBackendV2` + + A fake 7 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakePerth.run "qiskit_ibm_runtime.fake_provider.FakePerth.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-poughkeepsie-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-poughkeepsie-v2.mdx new file mode 100644 index 00000000000..bc0da98bc69 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-poughkeepsie-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakePoughkeepsieV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 +--- + +# FakePoughkeepsieV2 + + + Bases: `FakeBackendV2` + + A fake Poughkeepsie backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.run "qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-prague.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-prague.mdx new file mode 100644 index 00000000000..f644c1a422d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-prague.mdx @@ -0,0 +1,331 @@ +--- +title: FakePrague (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakePrague in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague +--- + +# FakePrague + + + Bases: `FakeBackendV2` + + A fake 33 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakePrague.run "qiskit_ibm_runtime.fake_provider.FakePrague.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-provider-for-backend-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-provider-for-backend-v2.mdx new file mode 100644 index 00000000000..b3530d8600f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-provider-for-backend-v2.mdx @@ -0,0 +1,50 @@ +--- +title: FakeProviderForBackendV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2 +--- + +# FakeProviderForBackendV2 + + + Bases: `object` + + Fake provider containing fake V2 backends. + + Only filtering backends by name is implemented. This class contains all fake V2 backends available in the [`qiskit_ibm_runtime.fake_provider`](fake-provider#module-qiskit_ibm_runtime.fake_provider "qiskit_ibm_runtime.fake_provider"). + + ## Methods + + ### backend + + + Filter backends in provider by name. + + **Parameters** + + * **name** (*str | None*) + * **kwargs** (*Any*) + + **Return type** + + *FakeBackendV2* + + + ### backends + + + Return all backends accessible via this account. + + **Parameters** + + * **name** (*str | None*) + * **kwargs** (*Any*) + + **Return type** + + list\[*FakeBackendV2*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quebec.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quebec.mdx new file mode 100644 index 00000000000..8aca25cfb4f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quebec.mdx @@ -0,0 +1,331 @@ +--- +title: FakeQuebec (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeQuebec in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec +--- + +# FakeQuebec + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeQuebec.run "qiskit_ibm_runtime.fake_provider.FakeQuebec.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quito-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quito-v2.mdx new file mode 100644 index 00000000000..feded4197dd --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-quito-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeQuitoV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeQuitoV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 +--- + +# FakeQuitoV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeQuitoV2.run "qiskit_ibm_runtime.fake_provider.FakeQuitoV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rochester-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rochester-v2.mdx new file mode 100644 index 00000000000..704e3a0a4cb --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rochester-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeRochesterV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeRochesterV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 +--- + +# FakeRochesterV2 + + + Bases: `FakeBackendV2` + + A fake Rochester backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeRochesterV2.run "qiskit_ibm_runtime.fake_provider.FakeRochesterV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rome-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rome-v2.mdx new file mode 100644 index 00000000000..7bf259b3a1d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-rome-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeRomeV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeRomeV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 +--- + +# FakeRomeV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeRomeV2.run "qiskit_ibm_runtime.fake_provider.FakeRomeV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-santiago-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-santiago-v2.mdx new file mode 100644 index 00000000000..fb50fad82d5 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-santiago-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeSantiagoV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 +--- + +# FakeSantiagoV2 + + + Bases: `FakeBackendV2` + + A fake Santiago backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.run "qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sherbrooke.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sherbrooke.mdx new file mode 100644 index 00000000000..5e1aeb11ea7 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sherbrooke.mdx @@ -0,0 +1,331 @@ +--- +title: FakeSherbrooke (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeSherbrooke in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke +--- + +# FakeSherbrooke + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeSherbrooke.run "qiskit_ibm_runtime.fake_provider.FakeSherbrooke.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-singapore-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-singapore-v2.mdx new file mode 100644 index 00000000000..3d7323f0938 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-singapore-v2.mdx @@ -0,0 +1,341 @@ +--- +title: FakeSingaporeV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 +--- + +# FakeSingaporeV2 + + + Bases: `FakeBackendV2` + + A fake Singapore backend. + + ```text + 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 + ↕ ↕ + 05 ↔ 06 ↔ 07 ↔ 08 ↔ 09 + ↕ ↕ ↕ + 10 ↔ 11 ↔ 12 ↔ 13 ↔ 14 + ↕ ↕ + 15 ↔ 16 ↔ 17 ↔ 18 ↔ 19 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.run "qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sydney-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sydney-v2.mdx new file mode 100644 index 00000000000..d2f395dad0f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-sydney-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeSydneyV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeSydneyV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 +--- + +# FakeSydneyV2 + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeSydneyV2.run "qiskit_ibm_runtime.fake_provider.FakeSydneyV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-torino.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-torino.mdx new file mode 100644 index 00000000000..98eb094747d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-torino.mdx @@ -0,0 +1,331 @@ +--- +title: FakeTorino (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeTorino in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino +--- + +# FakeTorino + + + Bases: `FakeBackendV2` + + A fake 133 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeTorino.run "qiskit_ibm_runtime.fake_provider.FakeTorino.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-toronto-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-toronto-v2.mdx new file mode 100644 index 00000000000..48ba4a1a70c --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-toronto-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeTorontoV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeTorontoV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 +--- + +# FakeTorontoV2 + + + Bases: `FakeBackendV2` + + A fake 27 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeTorontoV2.run "qiskit_ibm_runtime.fake_provider.FakeTorontoV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-valencia-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-valencia-v2.mdx new file mode 100644 index 00000000000..19933a91c45 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-valencia-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeValenciaV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeValenciaV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 +--- + +# FakeValenciaV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeValenciaV2.run "qiskit_ibm_runtime.fake_provider.FakeValenciaV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-vigo-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-vigo-v2.mdx new file mode 100644 index 00000000000..383ee9cc81f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-vigo-v2.mdx @@ -0,0 +1,337 @@ +--- +title: FakeVigoV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeVigoV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 +--- + +# FakeVigoV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + ```text + 0 ↔ 1 ↔ 3 ↔ 4 + ↕ + 2 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeVigoV2.run "qiskit_ibm_runtime.fake_provider.FakeVigoV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-washington-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-washington-v2.mdx new file mode 100644 index 00000000000..98e1da6b5ea --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-washington-v2.mdx @@ -0,0 +1,331 @@ +--- +title: FakeWashingtonV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 +--- + +# FakeWashingtonV2 + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.run "qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-yorktown-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-yorktown-v2.mdx new file mode 100644 index 00000000000..f3e222d3029 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider-fake-yorktown-v2.mdx @@ -0,0 +1,339 @@ +--- +title: FakeYorktownV2 (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeYorktownV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 +--- + +# FakeYorktownV2 + + + Bases: `FakeBackendV2` + + A fake 5 qubit backend. + + ```text + 1 + / | + 0 - 2 - 3 + | / + 4 + ``` + + FakeBackendV2 initializer. + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeYorktownV2.run "qiskit_ibm_runtime.fake_provider.FakeYorktownV2.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/fake-provider.mdx b/docs/api/qiskit-ibm-runtime/0.46/fake-provider.mdx new file mode 100644 index 00000000000..46e949d4284 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/fake-provider.mdx @@ -0,0 +1,158 @@ +--- +title: fake_provider (v0.46) +description: API reference for qiskit_ibm_runtime.fake_provider in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.fake_provider +--- + + + + + +# Fake Provider + +`qiskit_ibm_runtime.fake_provider` + +## Overview + +The fake provider module contains fake providers and fake backends classes. The fake backends are built to mimic the behaviors of IBM Quantum systems using system snapshots. The system snapshots contain important information about the quantum system such as coupling map, basis gates, qubit properties (T1, T2, error rate, etc.) which are useful for testing the transpiler and performing noisy simulations of the system. + +## Example Usage + +Here is an example of using a fake backend for transpilation and simulation. + +```python +from qiskit import QuantumCircuit +from qiskit import transpile +from qiskit.visualization import plot_histogram +from qiskit_ibm_runtime import SamplerV2 +from qiskit_ibm_runtime.fake_provider import FakeManilaV2 + +# Get a fake backend from the fake provider +backend = FakeManilaV2() + +# Create a simple circuit +circuit = QuantumCircuit(3) +circuit.h(0) +circuit.cx(0,1) +circuit.cx(0,2) +circuit.measure_all() +circuit.draw('mpl', style="iqp") +``` + +![Circuit diagram output by the previous code.](/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-1.avif) + +```python +# Transpile the ideal circuit to a circuit that can be +# directly executed by the backend +transpiled_circuit = transpile(circuit, backend) +transpiled_circuit.draw('mpl', style="iqp") +``` + +![Circuit diagram output by the previous code.](/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-2.avif) + +```python +# Run the transpiled circuit using the simulated fake backend +sampler = SamplerV2(backend) +job = sampler.run([transpiled_circuit]) +pub_result = job.result()[0] +counts = pub_result.data.meas.get_counts() +plot_histogram(counts) +``` + +![Histogram output by the previous code.](/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-3.avif) + + + Please note that the simulation is done using a noise model generated from system snapshots obtained in the past (sometimes a few years ago) and the results are not representative of the latest behaviors of the real quantum system that the fake backend is mimicking. If you want to run noisy simulations with the latest backend snapshots, you can use the `refresh()` method. + + ```python + from qiskit_ibm_runtime import QiskitRuntimeService + from qiskit_ibm_runtime.fake_provider import FakeSherbrooke + + # initialize service to access real backends + service = QiskitRuntimeService() + + # call refresh to retrieve latest backend data + # note that this overwrites your local qiskit-ibm-runtime files + backend = FakeSherbrooke() + backend.refresh(service) + ``` + + +## Fake Providers + +Fake providers provide access to a list of fake backends. + +| | | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------ | +| [`FakeProviderForBackendV2`](fake-provider-fake-provider-for-backend-v2 "qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2") | Fake provider containing fake V2 backends. | + +## Fake Backends + +### Fake V2 Backends + +Fake V2 backends are fake backends with IBM Quantum systems snapshots implemented with `BackendV2` interface. They are all subclasses of `FakeBackendV2`. + +| | | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| [`FakeAlgiers`](fake-provider-fake-algiers "qiskit_ibm_runtime.fake_provider.FakeAlgiers") | A fake 27 qubit backend. | +| [`FakeAlmadenV2`](fake-provider-fake-almaden-v2 "qiskit_ibm_runtime.fake_provider.FakeAlmadenV2") | A fake Almaden V2 backend. | +| [`FakeArmonkV2`](fake-provider-fake-armonk-v2 "qiskit_ibm_runtime.fake_provider.FakeArmonkV2") | A fake 1 qubit backend. | +| [`FakeAthensV2`](fake-provider-fake-athens-v2 "qiskit_ibm_runtime.fake_provider.FakeAthensV2") | A fake 5 qubit backend. | +| [`FakeAuckland`](fake-provider-fake-auckland "qiskit_ibm_runtime.fake_provider.FakeAuckland") | A fake 27 qubit backend. | +| [`FakeBelemV2`](fake-provider-fake-belem-v2 "qiskit_ibm_runtime.fake_provider.FakeBelemV2") | A fake 5 qubit backend. | +| [`FakeBoeblingenV2`](fake-provider-fake-boeblingen-v2 "qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2") | A fake Boeblingen V2 backend. | +| [`FakeBogotaV2`](fake-provider-fake-bogota-v2 "qiskit_ibm_runtime.fake_provider.FakeBogotaV2") | A fake 5 qubit backend. | +| [`FakeBrisbane`](fake-provider-fake-brisbane "qiskit_ibm_runtime.fake_provider.FakeBrisbane") | A fake 127 qubit backend. | +| [`FakeBrooklynV2`](fake-provider-fake-brooklyn-v2 "qiskit_ibm_runtime.fake_provider.FakeBrooklynV2") | A fake Brooklyn V2 backend. | +| [`FakeBurlingtonV2`](fake-provider-fake-burlington-v2 "qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2") | A fake 5 qubit backend. | +| [`FakeCairoV2`](fake-provider-fake-cairo-v2 "qiskit_ibm_runtime.fake_provider.FakeCairoV2") | A fake 27 qubit backend. | +| [`FakeCambridgeV2`](fake-provider-fake-cambridge-v2 "qiskit_ibm_runtime.fake_provider.FakeCambridgeV2") | A fake Cambridge backend. | +| [`FakeCasablancaV2`](fake-provider-fake-casablanca-v2 "qiskit_ibm_runtime.fake_provider.FakeCasablancaV2") | A fake 7 qubit backend. | +| [`FakeCusco`](fake-provider-fake-cusco "qiskit_ibm_runtime.fake_provider.FakeCusco") | A fake 127 qubit backend. | +| [`FakeEssexV2`](fake-provider-fake-essex-v2 "qiskit_ibm_runtime.fake_provider.FakeEssexV2") | A fake 5 qubit backend. | +| [`FakeFez`](fake-provider-fake-fez "qiskit_ibm_runtime.fake_provider.FakeFez") | A fake 156 qubit backend. | +| [`FakeGeneva`](fake-provider-fake-geneva "qiskit_ibm_runtime.fake_provider.FakeGeneva") | A fake 27 qubit backend. | +| [`FakeGuadalupeV2`](fake-provider-fake-guadalupe-v2 "qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2") | A fake 16 qubit backend. | +| [`FakeHanoiV2`](fake-provider-fake-hanoi-v2 "qiskit_ibm_runtime.fake_provider.FakeHanoiV2") | A fake 27 qubit backend. | +| [`FakeJakartaV2`](fake-provider-fake-jakarta-v2 "qiskit_ibm_runtime.fake_provider.FakeJakartaV2") | A fake 7 qubit V2 backend. | +| [`FakeJohannesburgV2`](fake-provider-fake-johannesburg-v2 "qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2") | A fake Johannesburg V2 backend. | +| [`FakeKawasaki`](fake-provider-fake-kawasaki "qiskit_ibm_runtime.fake_provider.FakeKawasaki") | A fake 127 qubit backend. | +| [`FakeKolkataV2`](fake-provider-fake-kolkata-v2 "qiskit_ibm_runtime.fake_provider.FakeKolkataV2") | A fake 27 qubit backend. | +| [`FakeKyiv`](fake-provider-fake-kyiv "qiskit_ibm_runtime.fake_provider.FakeKyiv") | A fake 127 qubit backend. | +| [`FakeKyoto`](fake-provider-fake-kyoto "qiskit_ibm_runtime.fake_provider.FakeKyoto") | A fake 127 qubit backend. | +| [`FakeLagosV2`](fake-provider-fake-lagos-v2 "qiskit_ibm_runtime.fake_provider.FakeLagosV2") | A fake 7 qubit backend. | +| [`FakeLimaV2`](fake-provider-fake-lima-v2 "qiskit_ibm_runtime.fake_provider.FakeLimaV2") | A fake 5 qubit backend. | +| [`FakeFractionalBackend`](fake-provider-fake-fractional-backend "qiskit_ibm_runtime.fake_provider.FakeFractionalBackend") | A fake 5 qubit backend with dynamic and fractional feature modeled based on FakeLima. | +| [`FakeLondonV2`](fake-provider-fake-london-v2 "qiskit_ibm_runtime.fake_provider.FakeLondonV2") | A fake 5 qubit backend. | +| [`FakeManhattanV2`](fake-provider-fake-manhattan-v2 "qiskit_ibm_runtime.fake_provider.FakeManhattanV2") | A fake Manhattan backend. | +| [`FakeManilaV2`](fake-provider-fake-manila-v2 "qiskit_ibm_runtime.fake_provider.FakeManilaV2") | A fake 5 qubit backend. | +| [`FakeMarrakesh`](fake-provider-fake-marrakesh "qiskit_ibm_runtime.fake_provider.FakeMarrakesh") | A fake 156 qubit backend. | +| [`FakeMelbourneV2`](fake-provider-fake-melbourne-v2 "qiskit_ibm_runtime.fake_provider.FakeMelbourneV2") | A fake 15 qubit backend. | +| [`FakeMontrealV2`](fake-provider-fake-montreal-v2 "qiskit_ibm_runtime.fake_provider.FakeMontrealV2") | A fake 27 qubit backend. | +| [`FakeMumbaiV2`](fake-provider-fake-mumbai-v2 "qiskit_ibm_runtime.fake_provider.FakeMumbaiV2") | A fake 27 qubit backend. | +| [`FakeNairobiV2`](fake-provider-fake-nairobi-v2 "qiskit_ibm_runtime.fake_provider.FakeNairobiV2") | A fake 7 qubit backend. | +| [`FakeOsaka`](fake-provider-fake-osaka "qiskit_ibm_runtime.fake_provider.FakeOsaka") | A fake 127 qubit backend. | +| [`FakeOslo`](fake-provider-fake-oslo "qiskit_ibm_runtime.fake_provider.FakeOslo") | A fake 7 qubit backend. | +| [`FakeOurenseV2`](fake-provider-fake-ourense-v2 "qiskit_ibm_runtime.fake_provider.FakeOurenseV2") | A fake 5 qubit backend. | +| [`FakeParisV2`](fake-provider-fake-paris-v2 "qiskit_ibm_runtime.fake_provider.FakeParisV2") | A fake Paris backend. | +| [`FakePeekskill`](fake-provider-fake-peekskill "qiskit_ibm_runtime.fake_provider.FakePeekskill") | A fake 27 qubit backend. | +| [`FakePerth`](fake-provider-fake-perth "qiskit_ibm_runtime.fake_provider.FakePerth") | A fake 7 qubit backend. | +| [`FakePrague`](fake-provider-fake-prague "qiskit_ibm_runtime.fake_provider.FakePrague") | A fake 33 qubit backend. | +| [`FakePoughkeepsieV2`](fake-provider-fake-poughkeepsie-v2 "qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2") | A fake Poughkeepsie backend. | +| [`FakeQuebec`](fake-provider-fake-quebec "qiskit_ibm_runtime.fake_provider.FakeQuebec") | A fake 127 qubit backend. | +| [`FakeQuitoV2`](fake-provider-fake-quito-v2 "qiskit_ibm_runtime.fake_provider.FakeQuitoV2") | A fake 5 qubit backend. | +| [`FakeRochesterV2`](fake-provider-fake-rochester-v2 "qiskit_ibm_runtime.fake_provider.FakeRochesterV2") | A fake Rochester backend. | +| [`FakeRomeV2`](fake-provider-fake-rome-v2 "qiskit_ibm_runtime.fake_provider.FakeRomeV2") | A fake 5 qubit backend. | +| [`FakeSantiagoV2`](fake-provider-fake-santiago-v2 "qiskit_ibm_runtime.fake_provider.FakeSantiagoV2") | A fake Santiago backend. | +| [`FakeSherbrooke`](fake-provider-fake-sherbrooke "qiskit_ibm_runtime.fake_provider.FakeSherbrooke") | A fake 127 qubit backend. | +| [`FakeSingaporeV2`](fake-provider-fake-singapore-v2 "qiskit_ibm_runtime.fake_provider.FakeSingaporeV2") | A fake Singapore backend. | +| [`FakeSydneyV2`](fake-provider-fake-sydney-v2 "qiskit_ibm_runtime.fake_provider.FakeSydneyV2") | A fake 27 qubit backend. | +| [`FakeTorino`](fake-provider-fake-torino "qiskit_ibm_runtime.fake_provider.FakeTorino") | A fake 133 qubit backend. | +| [`FakeTorontoV2`](fake-provider-fake-toronto-v2 "qiskit_ibm_runtime.fake_provider.FakeTorontoV2") | A fake 27 qubit backend. | +| [`FakeValenciaV2`](fake-provider-fake-valencia-v2 "qiskit_ibm_runtime.fake_provider.FakeValenciaV2") | A fake 5 qubit backend. | +| [`FakeVigoV2`](fake-provider-fake-vigo-v2 "qiskit_ibm_runtime.fake_provider.FakeVigoV2") | A fake 5 qubit backend. | +| [`FakeWashingtonV2`](fake-provider-fake-washington-v2 "qiskit_ibm_runtime.fake_provider.FakeWashingtonV2") | A fake 127 qubit backend. | +| [`FakeYorktownV2`](fake-provider-fake-yorktown-v2 "qiskit_ibm_runtime.fake_provider.FakeYorktownV2") | A fake 5 qubit backend. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-backend.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-backend.mdx new file mode 100644 index 00000000000..3e336e9482a --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-backend.mdx @@ -0,0 +1,509 @@ +--- +title: IBMBackend (v0.46) +description: API reference for qiskit_ibm_runtime.IBMBackend in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.IBMBackend +--- + +# IBMBackend + + + Bases: [`BackendV2`](/docs/api/qiskit/qiskit.providers.BackendV2) + + Backend class interfacing with an IBM Quantum backend. + + + * You should not instantiate the `IBMBackend` class directly. Instead, use the methods provided by an [`QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") instance to retrieve and handle backends. + + + This class represents an IBM Quantum backend. Its attributes and methods provide information about the backend. For example, the [`status()`](#qiskit_ibm_runtime.IBMBackend.status "qiskit_ibm_runtime.IBMBackend.status") method returns a `BackendStatus` instance. The instance contains the `operational` and `pending_jobs` attributes, which state whether the backend is operational and also the number of jobs in the server queue for the backend, respectively: + + ```python + status = backend.status() + is_operational = status.operational + jobs_in_queue = status.pending_jobs + ``` + + Here is list of attributes available on the `IBMBackend` class: + + > * name: backend name. + > + > * backend\_version: backend version in the form X.Y.Z. + > + > * num\_qubits: number of qubits. + > + > * target: A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + > + > * basis\_gates: list of basis gates names on the backend. + > + > * gates: list of basis gates on the backend. + > + > * local: backend is local or remote. + > + > * simulator: backend is a simulator. + > + > * conditional: backend supports conditional operations. + > + > * open\_pulse: backend supports open pulse. + > + > * memory: backend supports memory. + > + > * coupling\_map (list): The coupling map for the device + > + > * supported\_instructions (List\[str]): Instructions supported by the backend. + > + > * dynamic\_reprate\_enabled (bool): whether delay between primitives can be set dynamically (ie via `rep_delay`). Defaults to False. + > + > * rep\_delay\_range (List\[float]): 2d list defining supported range of repetition delays for backend in μs. First entry is lower end of the range, second entry is higher end of the range. Optional, but will be specified when `dynamic_reprate_enabled=True`. + > + > * default\_rep\_delay (float): Value of `rep_delay` if not specified by user and `dynamic_reprate_enabled=True`. + > + > * n\_uchannels: Number of u-channels. + > + > * u\_channel\_lo: U-channel relationship on device los. + > + > * meas\_levels: Supported measurement levels. + > + > * qubit\_lo\_range: Qubit lo ranges for each qubit with form (min, max) in GHz. + > + > * meas\_lo\_range: Measurement lo ranges for each qubit with form (min, max) in GHz. + > + > * dt: Qubit drive channel timestep in nanoseconds. + > + > * dtm: Measurement drive channel timestep in nanoseconds. + > + > * rep\_times: Supported repetition times (program execution time) for backend in μs. + > + > * meas\_kernels: Supported measurement kernels. + > + > * discriminators: Supported discriminators. + > + > * hamiltonian: An optional dictionary with fields characterizing the system hamiltonian. + > + > * channel\_bandwidth (list): Bandwidth of all channels (qubit, measurement, and U) + > + > * acquisition\_latency (list): Array of dimension n\_qubits x n\_registers. Latency (in units of dt) to write a measurement result from qubit n into register slot m. + > + > * conditional\_latency (list): Array of dimension n\_channels \[d->u->m] x n\_registers. Latency (in units of dt) to do a conditional operation on channel n from register slot m + > + > * meas\_map (list): Grouping of measurement which are multiplexed + > + > * sample\_name (str): Sample name for the backend + > + > * n\_registers (int): Number of register slots available for feedback (if conditional is True) + > + > * register\_map (list): An array of dimension n\_qubits X n\_registers that specifies whether a qubit can store a measurement in a certain register slot. + > + > * configurable (bool): True if the backend is configurable, if the backend is a simulator + > + > * credits\_required (bool): True if backend requires credits to run a job. + > + > * online\_date (datetime): The date that the device went online + > + > * display\_name (str): Alternate name field for the backend + > + > * description (str): A description for the backend + > + > * tags (list): A list of string tags to describe the backend + > + > * version: version of `Backend` class (Ex: 1, 2) + > + > * channels: An optional dictionary containing information of each channel – their purpose, type, and qubits operated on. + > + > * parametric\_pulses (list): A list of pulse shapes which are supported on the backend. For example: `['gaussian', 'constant']` + > + > * processor\_type (dict): Processor type for this backend. A dictionary of the form `{"family": , "revision": , segment: }` such as `{"family": "Canary", "revision": "1.0", segment: "A"}`. + > + > > * family: Processor family of this backend. + > > * revision: Revision version of this processor. + > > * segment: Segment this processor belongs to within a larger chip. + + IBMBackend constructor. + + **Parameters** + + * **configuration** ([*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.QasmBackendConfiguration")) – Backend configuration. + * **service** ([*qiskit\_runtime\_service.QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – Instance of QiskitRuntimeService. + * **api\_client** (*RuntimeClient*) – IBM client used to communicate with the server. + * **calibration\_id** (*str | None*) – An optional calibration id to use for this backend + * **instance** (*str | None*) + + ## Attributes + + ### calibration\_id + + + The calibration id used for this backend. + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals + + **Returns** + + The output signal timestep in seconds. + + + ### id\_warning\_issued + + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.IBMBackend.run "qiskit_ibm_runtime.IBMBackend.run") method. + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### service + + + Return the `service` object + + **Returns** + + An instance of QiskitRuntimeService + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Returns** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### \_\_call\_\_ + + + Call self as a function. + + **Return type** + + [*IBMBackend*](#qiskit_ibm_runtime.IBMBackend "qiskit_ibm_runtime.ibm_backend.IBMBackend") + + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + Backend configuration contains fixed information about the backend, such as its name, number of qubits, basis gates, coupling map, quantum volume, etc. + + Information about backend configuration can be found in the [Get backend configuration REST API](/docs/api/qiskit-runtime-rest/tags/backends#tags__backends__operations__get_backend_configuration). + + More details about backend configuration properties can be found here [QasmBackendConfiguration](/docs/api/qiskit/1.4/qiskit.providers.models.QasmBackendConfiguration). + + **IBM backends may also include the following properties:** + + * **`supported_features`: a list of strings of supported features like “qasm3” for dynamic** + + circuits support. + + * **`parallel_compilation`: a boolean of whether or not the backend can process multiple** + + jobs at once. Parts of the classical computation will be parallelized. + + **Returns** + + The configuration for the backend. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### get\_translation\_stage\_plugin + + + Return the default translation stage plugin name for IBM backends. + + **Return type** + + str + + + ### properties + + + Return the backend properties, subject to optional filtering. + + This data describes qubits properties (such as T1 and T2), gates properties (such as gate length and error), and other general properties of the backend. + + Information about backend properties can be found in the [Get backend configuration REST API](/docs/api/qiskit-runtime-rest/tags/backends#tags__backends__operations__get_backend_configuration). + + **Parameters** + + * **refresh** (*bool*) – If `True`, re-query the server for the backend properties. Otherwise, return a cached version. + * **datetime** (*datetime | None*) – By specifying datetime, this function returns an instance of the `BackendProperties` whose timestamp is closest to, but older than, the specified datetime. + + **Returns** + + The backend properties or `None` if the backend properties are not currently available. + + **Raises** + + * **TypeError** – If an input argument is not of the correct type. + * **NotImplementedError** – If datetime is specified when cloud runtime is used. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") | None + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Retrieve the newest backend configuration and refresh the current backend target. + + **Return type** + + None + + + ### run + + + **Raises** + + **IBMBackendError** – The run() method is no longer supported. + + **Return type** + + None + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + + If the returned `BackendStatus` instance has `operational=True` but `status_msg="internal"`, then the backend is accepting jobs but not processing them. + + + **Returns** + + The status of the backend. + + **Raises** + + **IBMBackendApiProtocolError** – If the status for the backend cannot be formatted properly. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + ### submit + + + Submit a quantum program for execution. + + **Parameters** + + * **program** (*QuantumProgram*) – The program to execute. + * **options** (*ExecutorOptions | None*) – Execution options. + + **Returns** + + A job. + + **Return type** + + [*RuntimeJobV2*](runtime-job-v2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2") + + + ### target\_history + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Returns** + + Target with properties found on datetime + + **Parameters** + + **datetime** (*datetime | None*) + + **Return type** + + [*Target*](/docs/api/qiskit/qiskit.transpiler.Target) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-base-params-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-base-params-model.mdx new file mode 100644 index 00000000000..c0320b627b4 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-base-params-model.mdx @@ -0,0 +1,28 @@ +--- +title: BaseParamsModel (v0.46) +description: API reference for ibm_quantum_schemas.common.BaseParamsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.BaseParamsModel +--- + + + +# BaseParamsModel + + + Bases: `BaseModel` + + Model of a runtime program’s inner parameters. + + ### schema\_version + + + Version of the params schema being used. + + **Constraints** + + * **pattern** = vd+.d+ + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-f-64-tensor-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-f-64-tensor-model.mdx new file mode 100644 index 00000000000..88d3cde6161 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-f-64-tensor-model.mdx @@ -0,0 +1,76 @@ +--- +title: F64TensorModel (v0.46) +description: API reference for ibm_quantum_schemas.common.F64TensorModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.F64TensorModel +--- + + + +# F64TensorModel + + + Bases: [`TensorModel`](ibm-quantum-schemas-common-tensor-model "ibm_quantum_schemas.common.tensor.TensorModel") + + Model of tensor data specialized to f64. + + ### data + + + Base-64-encoded data in litte endian format. + + Bool arrays are bitpacked, other types are IEEE753. Everything is little-endian. Tensors are C-ordering. + + **Validated by** + + * `check_sizes` + + + ### dtype + + + The data type of the tensor. + + **Validated by** + + * `check_sizes` + + + ### shape + + + The shape of the tensor. + + **Validated by** + + * `check_sizes` + + + ### check\_sizes + + + Cross-validate that all sizes are consistent. + + + ### from\_numpy + + + Instantiate from a NumPy array. + + **Parameters** + + **array** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray)) + + + ### to\_numpy + + + Convert to a NumPy Array. + + **Return type** + + [*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-pauli-lindblad-map-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-pauli-lindblad-map-model.mdx new file mode 100644 index 00000000000..cce85133e52 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-pauli-lindblad-map-model.mdx @@ -0,0 +1,58 @@ +--- +title: PauliLindbladMapModel (v0.46) +description: API reference for ibm_quantum_schemas.common.PauliLindbladMapModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.PauliLindbladMapModel +--- + + + +# PauliLindbladMapModel + + + Bases: `BaseModel` + + Encoding of a sparse Pauli Lindblad map. + + ### num\_qubits + + + The total number of qubits the map applies to. + + **Constraints** + + * **ge** = 0 + + + ### sparse\_terms + + + The Pauli Lindblad terms in the sparse form `(pauli_string, qubit_idxs, rate)`. + + + ### from\_pauli\_lindblad\_map + + + Encode a [`qiskit.quantum_info.PauliLindbladMap`](/docs/api/qiskit/qiskit.quantum_info.PauliLindbladMap) into this model. + + **Parameters** + + **pauli\_lindblad\_map** ([*PauliLindbladMap*](/docs/api/qiskit/qiskit.quantum_info.PauliLindbladMap)) + + **Return type** + + [*PauliLindbladMapModel*](#ibm_quantum_schemas.common.PauliLindbladMapModel "ibm_quantum_schemas.common.pauli_lindblad_map.PauliLindbladMapModel") + + + ### to\_pauli\_lindblad\_map + + + Decode this model into a [`qiskit.quantum_info.PauliLindbladMap`](/docs/api/qiskit/qiskit.quantum_info.PauliLindbladMap). + + **Return type** + + [*PauliLindbladMap*](/docs/api/qiskit/qiskit.quantum_info.PauliLindbladMap) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v16.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v16.mdx new file mode 100644 index 00000000000..89462f3ffca --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v16.mdx @@ -0,0 +1,86 @@ +--- +title: QpyModelV13ToV16 (v0.46) +description: API reference for ibm_quantum_schemas.common.QpyModelV13ToV16 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.QpyModelV13ToV16 +--- + + + +# QpyModelV13ToV16 + + + Bases: [`QpyModel`](ibm-quantum-schemas-common-qpy-model "ibm_quantum_schemas.common.qpy.QpyModel") + + QPY encoded circuits with restricted version range. + + ### circuit\_b64 + + + Base-64 encoded data of the QPY serialization of a single quantum circuit. + + **Validated by** + + * `cross_validate_qpy_version` + + + ### qpy\_version + + + The QPY encoding version. + + **Constraints** + + * **ge** = 13 + * **le** = 16 + + **Validated by** + + * `cross_validate_qpy_version` + + + ### cross\_validate\_qpy\_version + + + Check that the reported version matches the encoded version. + + + ### from\_quantum\_circuit + + + Create a model instance from a quantum circuit. + + The returned instance owns a reference to the provided circuit. This instance may be returned by [`to_quantum_circuit()`](#ibm_quantum_schemas.common.QpyModelV13ToV16.to_quantum_circuit "ibm_quantum_schemas.common.QpyModelV13ToV16.to_quantum_circuit") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The circuit to encode into the model. + * **qpy\_version** (*int*) – The QPY version to encode with. + + **Returns** + + A new model instance. + + + ### to\_quantum\_circuit + + + Return a decoded quantum circuit instance. + + When `use_cached` is false, or when no cached version exists, [`circuit_b64`](#ibm_quantum_schemas.common.QpyModelV13ToV16.circuit_b64 "ibm_quantum_schemas.common.QpyModelV13ToV16.circuit_b64") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. + + **Parameters** + + **use\_cached** (*bool*) – Whether to return the cached instance (if it exists). + + **Returns** + + A quantum circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v17.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v17.mdx new file mode 100644 index 00000000000..0b819b29c51 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model-v13-to-v17.mdx @@ -0,0 +1,86 @@ +--- +title: QpyModelV13ToV17 (v0.46) +description: API reference for ibm_quantum_schemas.common.QpyModelV13ToV17 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.QpyModelV13ToV17 +--- + + + +# QpyModelV13ToV17 + + + Bases: [`QpyModel`](ibm-quantum-schemas-common-qpy-model "ibm_quantum_schemas.common.qpy.QpyModel") + + QPY encoded circuits with restricted version range. + + ### circuit\_b64 + + + Base-64 encoded data of the QPY serialization of a single quantum circuit. + + **Validated by** + + * `cross_validate_qpy_version` + + + ### qpy\_version + + + The QPY encoding version. + + **Constraints** + + * **ge** = 13 + * **le** = 17 + + **Validated by** + + * `cross_validate_qpy_version` + + + ### cross\_validate\_qpy\_version + + + Check that the reported version matches the encoded version. + + + ### from\_quantum\_circuit + + + Create a model instance from a quantum circuit. + + The returned instance owns a reference to the provided circuit. This instance may be returned by [`to_quantum_circuit()`](#ibm_quantum_schemas.common.QpyModelV13ToV17.to_quantum_circuit "ibm_quantum_schemas.common.QpyModelV13ToV17.to_quantum_circuit") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The circuit to encode into the model. + * **qpy\_version** (*int*) – The QPY version to encode with. + + **Returns** + + A new model instance. + + + ### to\_quantum\_circuit + + + Return a decoded quantum circuit instance. + + When `use_cached` is false, or when no cached version exists, [`circuit_b64`](#ibm_quantum_schemas.common.QpyModelV13ToV17.circuit_b64 "ibm_quantum_schemas.common.QpyModelV13ToV17.circuit_b64") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. + + **Parameters** + + **use\_cached** (*bool*) – Whether to return the cached instance (if it exists). + + **Returns** + + A quantum circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model.mdx new file mode 100644 index 00000000000..742c8c9572c --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-qpy-model.mdx @@ -0,0 +1,85 @@ +--- +title: QpyModel (v0.46) +description: API reference for ibm_quantum_schemas.common.QpyModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.QpyModel +--- + + + +# QpyModel + + + Bases: `BaseModel` + + A QPY-encoded quantum circuit. + + ### circuit\_b64 + + + Base-64 encoded data of the QPY serialization of a single quantum circuit. + + **Validated by** + + * `cross_validate_qpy_version` + + + ### qpy\_version + + + The QPY encoding version. + + **Constraints** + + * **ge** = 10 + + **Validated by** + + * `cross_validate_qpy_version` + + + ### cross\_validate\_qpy\_version + + + Check that the reported version matches the encoded version. + + + ### from\_quantum\_circuit + + + Create a model instance from a quantum circuit. + + The returned instance owns a reference to the provided circuit. This instance may be returned by [`to_quantum_circuit()`](#ibm_quantum_schemas.common.QpyModel.to_quantum_circuit "ibm_quantum_schemas.common.QpyModel.to_quantum_circuit") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The circuit to encode into the model. + * **qpy\_version** (*int*) – The QPY version to encode with. + + **Returns** + + A new model instance. + + + ### to\_quantum\_circuit + + + Return a decoded quantum circuit instance. + + When `use_cached` is false, or when no cached version exists, [`circuit_b64`](#ibm_quantum_schemas.common.QpyModel.circuit_b64 "ibm_quantum_schemas.common.QpyModel.circuit_b64") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. + + **Parameters** + + **use\_cached** (*bool*) – Whether to return the cached instance (if it exists). + + **Returns** + + A quantum circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2.mdx new file mode 100644 index 00000000000..c86df38eae8 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2.mdx @@ -0,0 +1,86 @@ +--- +title: SamplexModelSSV1ToSSV2 (v0.46) +description: API reference for ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2 +--- + + + +# SamplexModelSSV1ToSSV2 + + + Bases: [`SamplexModel`](ibm-quantum-schemas-common-samplex-model "ibm_quantum_schemas.common.samplex.SamplexModel") + + A samplex model constrained to use samplex serialization versions (SSV) 1 or 2. + + ### samplex\_json + + + A JSON string representing the samplex. + + **Validated by** + + * `cross_validate_ssv_version` + + + ### ssv + + + The samplex serialization version. + + **Constraints** + + * **ge** = 1 + * **le** = 2 + + **Validated by** + + * `cross_validate_ssv_version` + + + ### cross\_validate\_ssv\_version + + + Check that the reported version matches the encoded version. + + + ### from\_samplex + + + Create a model instance from a samplex. + + The returned instance owns a reference to the provided samplex. This instance may be returned by [`to_samplex()`](#ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2.to_samplex "ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2.to_samplex") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. + + **Parameters** + + * **samplex** (*Samplex*) – The samplex to encode into the model. + * **ssv** (*int | None*) + + **Returns** + + A new model instance. + + + ### to\_samplex + + + Return a decoded samplex instance. + + When `use_cached` is false, or when no cached version exists, [`samplex_json`](#ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2.samplex_json "ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2.samplex_json") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. + + **Parameters** + + **use\_cached** (*bool*) – Whether to return the cached instance (if it exists). + + **Returns** + + A samplex. + + **Return type** + + *Samplex* + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1.mdx new file mode 100644 index 00000000000..ad884eac342 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model-ssv-1.mdx @@ -0,0 +1,86 @@ +--- +title: SamplexModelSSV1 (v0.46) +description: API reference for ibm_quantum_schemas.common.SamplexModelSSV1 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.SamplexModelSSV1 +--- + + + +# SamplexModelSSV1 + + + Bases: [`SamplexModel`](ibm-quantum-schemas-common-samplex-model "ibm_quantum_schemas.common.samplex.SamplexModel") + + A samplex model constrained to use samplex serialization version (SSV) 1. + + ### samplex\_json + + + A JSON string representing the samplex. + + **Validated by** + + * `cross_validate_ssv_version` + + + ### ssv + + + The samplex serialization version. + + **Constraints** + + * **ge** = 1 + * **le** = 1 + + **Validated by** + + * `cross_validate_ssv_version` + + + ### cross\_validate\_ssv\_version + + + Check that the reported version matches the encoded version. + + + ### from\_samplex + + + Create a model instance from a samplex. + + The returned instance owns a reference to the provided samplex. This instance may be returned by [`to_samplex()`](#ibm_quantum_schemas.common.SamplexModelSSV1.to_samplex "ibm_quantum_schemas.common.SamplexModelSSV1.to_samplex") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. + + **Parameters** + + * **samplex** (*Samplex*) – The samplex to encode into the model. + * **ssv** (*int | None*) + + **Returns** + + A new model instance. + + + ### to\_samplex + + + Return a decoded samplex instance. + + When `use_cached` is false, or when no cached version exists, [`samplex_json`](#ibm_quantum_schemas.common.SamplexModelSSV1.samplex_json "ibm_quantum_schemas.common.SamplexModelSSV1.samplex_json") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. + + **Parameters** + + **use\_cached** (*bool*) – Whether to return the cached instance (if it exists). + + **Returns** + + A samplex. + + **Return type** + + *Samplex* + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model.mdx new file mode 100644 index 00000000000..00d9fa39a2d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-samplex-model.mdx @@ -0,0 +1,85 @@ +--- +title: SamplexModel (v0.46) +description: API reference for ibm_quantum_schemas.common.SamplexModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.SamplexModel +--- + + + +# SamplexModel + + + Bases: `BaseModel` + + A QPY-encoded quantum circuit. + + ### samplex\_json + + + A JSON string representing the samplex. + + **Validated by** + + * `cross_validate_ssv_version` + + + ### ssv + + + The samplex serialization version. + + **Constraints** + + * **ge** = 1 + + **Validated by** + + * `cross_validate_ssv_version` + + + ### cross\_validate\_ssv\_version + + + Check that the reported version matches the encoded version. + + + ### from\_samplex + + + Create a model instance from a samplex. + + The returned instance owns a reference to the provided samplex. This instance may be returned by [`to_samplex()`](#ibm_quantum_schemas.common.SamplexModel.to_samplex "ibm_quantum_schemas.common.SamplexModel.to_samplex") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. + + **Parameters** + + * **samplex** (*Samplex*) – The samplex to encode into the model. + * **ssv** (*int | None*) + + **Returns** + + A new model instance. + + + ### to\_samplex + + + Return a decoded samplex instance. + + When `use_cached` is false, or when no cached version exists, [`samplex_json`](#ibm_quantum_schemas.common.SamplexModel.samplex_json "ibm_quantum_schemas.common.SamplexModel.samplex_json") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. + + **Parameters** + + **use\_cached** (*bool*) – Whether to return the cached instance (if it exists). + + **Returns** + + A samplex. + + **Return type** + + *Samplex* + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-tensor-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-tensor-model.mdx new file mode 100644 index 00000000000..0981fe43ef1 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-common-tensor-model.mdx @@ -0,0 +1,76 @@ +--- +title: TensorModel (v0.46) +description: API reference for ibm_quantum_schemas.common.TensorModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.TensorModel +--- + + + +# TensorModel + + + Bases: `BaseModel` + + Model of tensor data. + + ### data + + + Base-64-encoded data in litte endian format. + + Bool arrays are bitpacked, other types are IEEE753. Everything is little-endian. Tensors are C-ordering. + + **Validated by** + + * `check_sizes` + + + ### dtype + + + The data type of the tensor. + + **Validated by** + + * `check_sizes` + + + ### shape + + + The shape of the tensor. + + **Validated by** + + * `check_sizes` + + + ### check\_sizes + + + Cross-validate that all sizes are consistent. + + + ### from\_numpy + + + Instantiate from a NumPy array. + + **Parameters** + + **array** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray)) + + + ### to\_numpy + + + Convert to a NumPy Array. + + **Return type** + + [*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-part.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-part.mdx new file mode 100644 index 00000000000..e2bb1dc12ba --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-part.mdx @@ -0,0 +1,32 @@ +--- +title: ChunkPart (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.ChunkPart in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.ChunkPart +--- + + + +# ChunkPart + + + Bases: `BaseModel` + + A description of the contents of a single part of an execution chunk. + + ### idx\_item + + + The index of an item in a quantum program. + + + ### size + + + The number of elements from the quantum program item that were executed. + + For example, if a quantum program item has shape `(10, 5)`, then it has a total of `50` elements, so that if this `size` is `10`, it constitutes 20% of the total work for the item. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-span.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-span.mdx new file mode 100644 index 00000000000..56278bb762a --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-chunk-span.mdx @@ -0,0 +1,40 @@ +--- +title: ChunkSpan (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.ChunkSpan in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.ChunkSpan +--- + + + +# ChunkSpan + + + Bases: `BaseModel` + + Timing information about a single chunk of execution. + + + This span may include some amount of non-circuit time. + + + ### parts + + + A description of which parts of a quantum program are contained in this chunk. + + + ### start + + + The start time of the execution chunk in UTC. + + + ### stop + + + The stop time of the execution chunk in UTC. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-circuit-item-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-circuit-item-model.mdx new file mode 100644 index 00000000000..bed89c64d66 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-circuit-item-model.mdx @@ -0,0 +1,72 @@ +--- +title: CircuitItemModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.CircuitItemModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.CircuitItemModel +--- + + + +# CircuitItemModel + + + Bases: `BaseModel` + + Execution specifications for a single quantum circuit. + + ### chunk\_size + + + The maximum number circuit arguments to bind to the circuit per shot loop. + + When `"auto"`, the number is chosen server-side with heuristics designed to optimize execution speed. A quantum program must have items where either all chunk sizes are integer-valued, or all chunk sizes are `"auto"`. Integer values are only allowed inside of session exection mode. + + **Validated by** + + * `cross_validate` + + + ### circuit + + + A QPY-encoded circuit. + + **Validated by** + + * `cross_validate` + + + ### circuit\_arguments + + + Arguments to the parameters of the circuit. + + The last axis is over `circuit.parameters`. Execution broadcasts over the preceding axes; expect one result per element of the leading shape. + + **Validated by** + + * `cross_validate` + + + ### item\_type + + + The type of quantum program item. + + **Validated by** + + * `cross_validate` + + + ### cross\_validate + + + Check for mutual compatibility of types and shapes of attributes. + + **Return type** + + *Self* + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-metadata-model.mdx new file mode 100644 index 00000000000..c4674c323fc --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-metadata-model.mdx @@ -0,0 +1,24 @@ +--- +title: MetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.MetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.MetadataModel +--- + + + +# MetadataModel + + + Bases: `BaseModel` + + Execution metadata. + + ### chunk\_timing + + + Timing information about all executed chunks of a quantum program. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-options-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-options-model.mdx new file mode 100644 index 00000000000..03871aebc82 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-options-model.mdx @@ -0,0 +1,32 @@ +--- +title: OptionsModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.OptionsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.OptionsModel +--- + + + +# OptionsModel + + + Bases: `BaseModel` + + Runtime options. + + ### init\_qubits + + + Whether to reset the qubits to the ground state for each shot. + + + ### rep\_delay + + + The repetition delay. + + This is the delay between the end of one circuit and the start of the next within a shot loop. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. When this value is `None`, the default value `backend.default_rep_delay` is used. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-params-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-params-model.mdx new file mode 100644 index 00000000000..78bdef9f96c --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-params-model.mdx @@ -0,0 +1,36 @@ +--- +title: ParamsModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.ParamsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.ParamsModel +--- + + + +# ParamsModel + + + Bases: [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.base_params.BaseParamsModel") + + Schema version 1 of the inner parameters. + + ### options + + + Options for runtime. + + + ### quantum\_program + + + The quantum program to execution. + + + ### schema\_version + + + Version of the params schema being used. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-model.mdx new file mode 100644 index 00000000000..960a6ea81f1 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-model.mdx @@ -0,0 +1,48 @@ +--- +title: QuantumProgramModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.QuantumProgramModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.QuantumProgramModel +--- + + + +# QuantumProgramModel + + + Bases: `BaseModel` + + Model to store a quantum program. + + ### items + + + Items of the program. + + **Validated by** + + * `check_chunk_sizes_are_consistent` + + + ### shots + + + The number of shots for each individually bound circuit. + + **Constraints** + + * **ge** = 1 + + **Validated by** + + * `check_chunk_sizes_are_consistent` + + + ### check\_chunk\_sizes\_are\_consistent + + + Check that all program items set chunk sizes consistently. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model.mdx new file mode 100644 index 00000000000..c459ebb4bb0 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model.mdx @@ -0,0 +1,30 @@ +--- +title: QuantumProgramResultItemModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.QuantumProgramResultItemModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.QuantumProgramResultItemModel +--- + + + +# QuantumProgramResultItemModel + + + Bases: `BaseModel` + + Results for a single quantum program item. + + ### metadata + + + Metadata pertaining to the execution of this particular quantum program item. + + + ### results + + + A map from results to their tensor values. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model.mdx new file mode 100644 index 00000000000..f845034f14e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model.mdx @@ -0,0 +1,46 @@ +--- +title: QuantumProgramResultModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.QuantumProgramResultModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.QuantumProgramResultModel +--- + + + +# QuantumProgramResultModel + + + Bases: `BaseModel` + + Result from executing a quantum program. + + ### data + + + Resulting data for each quantum program item. + + + ### metadata + + + Execution metadata pertaining to the job as a whole. + + **Validated by** + + * `upgrade_none_to_metadata` + + + ### schema\_version + + + Schema version of the result type. + + + ### upgrade\_none\_to\_metadata + + + Upgrade none values to empty metadata. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-samplex-item-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-samplex-item-model.mdx new file mode 100644 index 00000000000..a2af173659c --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-1-samplex-item-model.mdx @@ -0,0 +1,92 @@ +--- +title: SamplexItemModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_1.SamplexItemModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_1.SamplexItemModel +--- + + + +# SamplexItemModel + + + Bases: `BaseModel` + + Execution specifications for a single quantum circuit. + + ### chunk\_size + + + The maximum number circuit arguments to bind to the circuit per shot loop. + + When `"auto"`, the number is chosen server-side with heuristics designed to optimize execution speed. A quantum program must have items where either all chunk sizes are integer-valued, or all chunk sizes are `"auto"`. Integer values are only allowed inside of session exection mode. + + **Validated by** + + * `cross_validate` + + + ### circuit + + + A QPY-encoded circuit. + + **Validated by** + + * `cross_validate` + + + ### item\_type + + + The type of quantum program item. + + **Validated by** + + * `cross_validate` + + + ### samplex + + + A JSON-encoded samplex. + + **Validated by** + + * `cross_validate` + + + ### samplex\_arguments + + + Arguments to the samplex. + + **Validated by** + + * `cross_validate` + + + ### shape + + + The shape of this item. + + This shape must extend (via broadcasting) the implicit shape of the :attr:\~samplex\_arguments\`. The non-trivial axes it introduces enumerate randomizations. + + **Validated by** + + * `cross_validate` + + + ### cross\_validate + + + Check for mutual compatibility of types and shapes of attributes. + + **Return type** + + *Self* + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-part.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-part.mdx new file mode 100644 index 00000000000..f3be85871dd --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-part.mdx @@ -0,0 +1,32 @@ +--- +title: ChunkPart (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.ChunkPart in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.ChunkPart +--- + + + +# ChunkPart + + + Bases: `BaseModel` + + A description of the contents of a single part of an execution chunk. + + ### idx\_item + + + The index of an item in a quantum program. + + + ### size + + + The number of elements from the quantum program item that were executed. + + For example, if a quantum program item has shape `(10, 5)`, then it has a total of `50` elements, so that if this `size` is `10`, it constitutes 20% of the total work for the item. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-span.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-span.mdx new file mode 100644 index 00000000000..866d693835f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-chunk-span.mdx @@ -0,0 +1,40 @@ +--- +title: ChunkSpan (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.ChunkSpan in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.ChunkSpan +--- + + + +# ChunkSpan + + + Bases: `BaseModel` + + Timing information about a single chunk of execution. + + + This span may include some amount of non-circuit time. + + + ### parts + + + A description of which parts of a quantum program are contained in this chunk. + + + ### start + + + The start time of the execution chunk in UTC. + + + ### stop + + + The stop time of the execution chunk in UTC. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-circuit-item-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-circuit-item-model.mdx new file mode 100644 index 00000000000..90130b63cdc --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-circuit-item-model.mdx @@ -0,0 +1,72 @@ +--- +title: CircuitItemModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.CircuitItemModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.CircuitItemModel +--- + + + +# CircuitItemModel + + + Bases: `BaseModel` + + Execution specifications for a single quantum circuit. + + ### chunk\_size + + + The maximum number circuit arguments to bind to the circuit per shot loop. + + When `"auto"`, the number is chosen server-side with heuristics designed to optimize execution speed. A quantum program must have items where either all chunk sizes are integer-valued, or all chunk sizes are `"auto"`. Integer values are only allowed inside of session exection mode. + + **Validated by** + + * `cross_validate` + + + ### circuit + + + A QPY-encoded circuit. + + **Validated by** + + * `cross_validate` + + + ### circuit\_arguments + + + Arguments to the parameters of the circuit. + + The last axis is over `circuit.parameters`. Execution broadcasts over the preceding axes; expect one result per element of the leading shape. + + **Validated by** + + * `cross_validate` + + + ### item\_type + + + The type of quantum program item. + + **Validated by** + + * `cross_validate` + + + ### cross\_validate + + + Check for mutual compatibility of types and shapes of attributes. + + **Return type** + + *Self* + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-item-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-item-metadata-model.mdx new file mode 100644 index 00000000000..5dad1923c13 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-item-metadata-model.mdx @@ -0,0 +1,30 @@ +--- +title: ItemMetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.ItemMetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.ItemMetadataModel +--- + + + +# ItemMetadataModel + + + Bases: `BaseModel` + + Per-item metadata for quantum program results. + + ### scheduler\_timing + + + Scheduled circuit timing information, if it is available. + + + ### stretch\_values + + + Stretch value resolution, if it is available. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-metadata-model.mdx new file mode 100644 index 00000000000..a0a4a750b60 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-metadata-model.mdx @@ -0,0 +1,24 @@ +--- +title: MetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.MetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.MetadataModel +--- + + + +# MetadataModel + + + Bases: `BaseModel` + + Execution metadata. + + ### chunk\_timing + + + Timing information about all executed chunks of a quantum program. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-options-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-options-model.mdx new file mode 100644 index 00000000000..9e1d4d2ed79 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-options-model.mdx @@ -0,0 +1,56 @@ +--- +title: OptionsModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.OptionsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.OptionsModel +--- + + + +# OptionsModel + + + Bases: `BaseModel` + + Runtime options. + + ### experimental + + + Experimental options. + + These options are not guaranteed to be stable and may change or be removed without notice. + + + ### init\_qubits + + + Whether to reset the qubits to the ground state for each shot. + + + ### rep\_delay + + + The repetition delay. + + This is the delay between the end of one circuit and the start of the next within a shot loop. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. When this value is `None`, the default value `backend.default_rep_delay` is used. + + + ### scheduler\_timing + + + Whether to return circuit schedule timing of each provided quantum circuit. + + Setting this value to true will cause corresponding metadata of every program item to be populated in the returned data. + + + ### stretch\_values + + + Whether to return numeric resolutions of stretches for each provided quantum circuit. + + Setting this value to true will cause corresponding metadata of every program item to be populated in the returned data. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-params-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-params-model.mdx new file mode 100644 index 00000000000..15ef14b5c4e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-params-model.mdx @@ -0,0 +1,36 @@ +--- +title: ParamsModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.ParamsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.ParamsModel +--- + + + +# ParamsModel + + + Bases: [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.base_params.BaseParamsModel") + + A model describing the Executor program inputs. + + ### options + + + Options for runtime. + + + ### quantum\_program + + + The quantum program to execution. + + + ### schema\_version + + + Version of the params schema being used. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-model.mdx new file mode 100644 index 00000000000..249f90de299 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-model.mdx @@ -0,0 +1,82 @@ +--- +title: QuantumProgramModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.QuantumProgramModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.QuantumProgramModel +--- + + + +# QuantumProgramModel + + + Bases: `BaseModel` + + Model to store a quantum program. + + ### items + + + Items of the program. + + **Validated by** + + * `check_chunk_sizes_are_consistent` + + + ### meas\_level + + + The level at which to return all classical register measurement results. + + This option sets the return type of all classical registers in all quantum program items and determines whether the raw complex data from low-level measurement devices is discriminated into bits or not. + + > * **“classified”: Classical register data is returned as boolean arrays with the intrinsic shape** + > + > `(num_shots, creg_size)`. + > + > * **“kerneled”: Classical register data is returned as a complex array with the intrinsic shape** + > + > `(num_shots, creg_size)`, where each entry represents an IQ data point (resulting from kerneling the measurement trace) in arbitrary units. + > + > * **“avg\_kerneled”: Classical register data is returned as a complex array with the intrinsic** + > + > shape `(creg_size,)`, where data is equivalent to “kerneled” except additionally averaged over shots. + + **Validated by** + + * `check_chunk_sizes_are_consistent` + + + ### passthrough\_data + + + Arbitrary nested data passed through execution without modification. + + **Validated by** + + * `check_chunk_sizes_are_consistent` + + + ### shots + + + The number of shots for each individually bound circuit. + + **Constraints** + + * **ge** = 1 + + **Validated by** + + * `check_chunk_sizes_are_consistent` + + + ### check\_chunk\_sizes\_are\_consistent + + + Check that all program items set chunk sizes consistently. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model.mdx new file mode 100644 index 00000000000..0dfe79506e1 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model.mdx @@ -0,0 +1,30 @@ +--- +title: QuantumProgramResultItemModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.QuantumProgramResultItemModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.QuantumProgramResultItemModel +--- + + + +# QuantumProgramResultItemModel + + + Bases: `BaseModel` + + Results for a single quantum program item. + + ### metadata + + + Metadata pertaining to the execution of this particular quantum program item. + + + ### results + + + A map from results to their tensor values. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model.mdx new file mode 100644 index 00000000000..ae9172c1273 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model.mdx @@ -0,0 +1,42 @@ +--- +title: QuantumProgramResultModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.QuantumProgramResultModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.QuantumProgramResultModel +--- + + + +# QuantumProgramResultModel + + + Bases: `BaseModel` + + Result from executing a quantum program. + + ### data + + + Resulting data for each quantum program item. + + + ### metadata + + + Execution metadata pertaining to the job as a whole. + + + ### passthrough\_data + + + Arbitrary nested data passed through execution without modification. + + + ### schema\_version + + + Schema version of the result type. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-samplex-item-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-samplex-item-model.mdx new file mode 100644 index 00000000000..de1d3018eae --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-samplex-item-model.mdx @@ -0,0 +1,92 @@ +--- +title: SamplexItemModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.SamplexItemModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.SamplexItemModel +--- + + + +# SamplexItemModel + + + Bases: `BaseModel` + + Execution specifications for a single quantum circuit. + + ### chunk\_size + + + The maximum number circuit arguments to bind to the circuit per shot loop. + + When `"auto"`, the number is chosen server-side with heuristics designed to optimize execution speed. A quantum program must have items where either all chunk sizes are integer-valued, or all chunk sizes are `"auto"`. Integer values are only allowed inside of session exection mode. + + **Validated by** + + * `cross_validate` + + + ### circuit + + + A QPY-encoded circuit. + + **Validated by** + + * `cross_validate` + + + ### item\_type + + + The type of quantum program item. + + **Validated by** + + * `cross_validate` + + + ### samplex + + + A JSON-encoded samplex. + + **Validated by** + + * `cross_validate` + + + ### samplex\_arguments + + + Arguments to the samplex. + + **Validated by** + + * `cross_validate` + + + ### shape + + + The shape of this item. + + This shape must extend (via broadcasting) the implicit shape of the :attr:\~samplex\_arguments\`. The non-trivial axes it introduces enumerate randomizations. + + **Validated by** + + * `cross_validate` + + + ### cross\_validate + + + Check for mutual compatibility of types and shapes of attributes. + + **Return type** + + *Self* + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model.mdx new file mode 100644 index 00000000000..1edf4d7f5dc --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model.mdx @@ -0,0 +1,32 @@ +--- +title: SchedulerTimingModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.SchedulerTimingModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.SchedulerTimingModel +--- + + + +# SchedulerTimingModel + + + Bases: `BaseModel` + + Describes the timing of a scheduled circuit. + + All timing information is expressed in terms of multiples of the quantity `dt`, time step duration of the control electronics, which can be queried in backend and target properties. + + ### circuit\_duration + + + The duration of the circuit in `dt` steps. + + + ### timing + + + A description of circuit timing in a comma-separated text format. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-stretch-value-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-stretch-value-model.mdx new file mode 100644 index 00000000000..55184a8fae1 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-executor-version-0-2-stretch-value-model.mdx @@ -0,0 +1,46 @@ +--- +title: StretchValueModel (v0.46) +description: API reference for ibm_quantum_schemas.executor.version_0_2.StretchValueModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_0_2.StretchValueModel +--- + + + +# StretchValueModel + + + Bases: `BaseModel` + + Describes circuit stretch value resolutions. + + All timing information is expressed in terms of multiples of the quantity `dt`, time step duration of the control electronics, which can be queried in backend and target properties. + + ### expanded\_values + + + A sequence of pairs `(time, duration)` indicating the time and duration of each delay. + + All units are `dt`, where the `time` denotes the absolute time of a delay in the circuit schedule, and the `duration` denotes the total duration of the delay. + + + ### name + + + The name of the stretch. + + + ### remainder + + + The time left over if `value` were to be used each stretch, in units of `dt`. + + + ### value + + + The resolved stretch value, up to the remainder, in units of `dt`. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model.mdx new file mode 100644 index 00000000000..cbd2116a2de --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model.mdx @@ -0,0 +1,30 @@ +--- +title: LinbdbladResultMetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1.LinbdbladResultMetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.LinbdbladResultMetadataModel +--- + + + +# LinbdbladResultMetadataModel + + + Bases: `BaseModel` + + The metadata of a single Lindblad result of a noise learner v3 job. + + ### learning\_protocol + + + The learning protocol used to obtain this result. + + + ### post\_selection + + + The metadata relative to post selection. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model.mdx new file mode 100644 index 00000000000..e7d6560b7df --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model.mdx @@ -0,0 +1,24 @@ +--- +title: LinbdbladResultPostSelectionMetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1.LinbdbladResultPostSelectionMetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.LinbdbladResultPostSelectionMetadataModel +--- + + + +# LinbdbladResultPostSelectionMetadataModel + + + Bases: `BaseModel` + + The post selection metadata of a single Linbdblad result of a noise learner v3 job. + + ### fraction\_kept + + + The fraction of shots kept for each layer pair depth. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model.mdx new file mode 100644 index 00000000000..5f5cf0f1687 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model.mdx @@ -0,0 +1,48 @@ +--- +title: NoiseLearnerV3ResultModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1.NoiseLearnerV3ResultModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.NoiseLearnerV3ResultModel +--- + + + +# NoiseLearnerV3ResultModel + + + Bases: `BaseModel` + + Results for a single noise learner V3 item. + + ### generators\_sparse + + + A representation of the generators in sparse format. + + + ### metadata + + + Execution metadata pertaining to a single result. + + + ### num\_qubits + + + The number of qubits that the generators act on. + + + ### rates + + + The rates of the individual generators. + + + ### rates\_std + + + The standard deviation associated to the rates of the generators. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model.mdx new file mode 100644 index 00000000000..bf10ddd75c1 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model.mdx @@ -0,0 +1,30 @@ +--- +title: NoiseLearnerV3ResultsModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1.NoiseLearnerV3ResultsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.NoiseLearnerV3ResultsModel +--- + + + +# NoiseLearnerV3ResultsModel + + + Bases: `BaseModel` + + Result from executing a noise learner v3 job. + + ### data + + + Resulting data for each item. + + + ### schema\_version + + + Schema version of the result type. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model.mdx new file mode 100644 index 00000000000..9348fcfa5c9 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model.mdx @@ -0,0 +1,42 @@ +--- +title: OptionsModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1.OptionsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.OptionsModel +--- + + + +# OptionsModel + + + Bases: `BaseModel` + + Runtime options with all fields set. + + ### layer\_pair\_depths + + + The circuit depths (measured in number of pairs) to use in Pauli Lindblad experiments. + + + ### num\_randomizations + + + The number of random circuits to use per learning circuit configuration. + + + ### post\_selection + + + Options for post selecting the results of noise learning circuits. + + + ### shots\_per\_randomization + + + The total number of shots to use per randomized learning circuit. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model.mdx new file mode 100644 index 00000000000..9ebcf2600b9 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model.mdx @@ -0,0 +1,38 @@ +--- +title: ParamsModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1.ParamsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.ParamsModel +--- + + + +# ParamsModel + + + Bases: [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.base_params.BaseParamsModel") + + Schema version 1 of the inner parameters. + + ### instructions + + + The instructions targeted by the noise learner. + + These are embedded to a circuit prior to encoding with QPY. + + + ### options + + + Options for runtime. + + + ### schema\_version + + + Version of the params schema being used. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model.mdx new file mode 100644 index 00000000000..eeeaf8b2996 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model.mdx @@ -0,0 +1,38 @@ +--- +title: PostSelectionOptionsModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1.PostSelectionOptionsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.PostSelectionOptionsModel +--- + + + +# PostSelectionOptionsModel + + + Bases: `BaseModel` + + Runtime options for post selection. + + ### enable + + + Whether to enable Post Selection when performing learning experiments. + + If `False`, all the other Post Selection options are ignored. + + + ### strategy + + + The strategy used to decide if a shot should be kept or discarded. + + + ### x\_pulse\_type + + + The type of the X-pulse used for the post selection measurements. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model.mdx new file mode 100644 index 00000000000..8f952419d6f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model.mdx @@ -0,0 +1,30 @@ +--- +title: TREXResultMetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1.TREXResultMetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.TREXResultMetadataModel +--- + + + +# TREXResultMetadataModel + + + Bases: `BaseModel` + + The metadata of a single TREX result of a noise learner v3 job. + + ### learning\_protocol + + + The learning protocol used to obtain this result. + + + ### post\_selection + + + The metadata relative to post selection. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model.mdx new file mode 100644 index 00000000000..696e13745e4 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model.mdx @@ -0,0 +1,29 @@ +--- +title: TREXResultPostSelectionMetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1.TREXResultPostSelectionMetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.TREXResultPostSelectionMetadataModel +--- + + + +# TREXResultPostSelectionMetadataModel + + + Bases: `BaseModel` + + The post selection metadata of a single TREX result of a noise learner v3 job. + + ### fraction\_kept + + + The fraction of shots kept. + + **Constraints** + + * **ge** = 0 + * **le** = 1 + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model.mdx new file mode 100644 index 00000000000..a1326795d38 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model.mdx @@ -0,0 +1,30 @@ +--- +title: LinbdbladResultMetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2.LinbdbladResultMetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.LinbdbladResultMetadataModel +--- + + + +# LinbdbladResultMetadataModel + + + Bases: `BaseModel` + + The metadata of a single Lindblad result of a noise learner v3 job. + + ### learning\_protocol + + + The learning protocol used to obtain this result. + + + ### post\_selection + + + The metadata relative to post selection. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model.mdx new file mode 100644 index 00000000000..b3399646001 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model.mdx @@ -0,0 +1,30 @@ +--- +title: LinbdbladResultPostSelectionMetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2.LinbdbladResultPostSelectionMetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.LinbdbladResultPostSelectionMetadataModel +--- + + + +# LinbdbladResultPostSelectionMetadataModel + + + Bases: `BaseModel` + + The post selection metadata of a single Linbdblad result of a noise learner v3 job. + + ### fraction\_kept + + + The fraction of shots kept for each layer pair depth. + + + ### success\_rates + + + The fraction of shots in which post selection successfully flipped each qubit, for each layer pair depth. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model.mdx new file mode 100644 index 00000000000..547e4edcec6 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model.mdx @@ -0,0 +1,48 @@ +--- +title: NoiseLearnerV3ResultModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2.NoiseLearnerV3ResultModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.NoiseLearnerV3ResultModel +--- + + + +# NoiseLearnerV3ResultModel + + + Bases: `BaseModel` + + Results for a single noise learner V3 item. + + ### generators\_sparse + + + A representation of the generators in sparse format. + + + ### metadata + + + Execution metadata pertaining to a single result. + + + ### num\_qubits + + + The number of qubits that the generators act on. + + + ### rates + + + The rates of the individual generators. + + + ### rates\_std + + + The standard deviation associated to the rates of the generators. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model.mdx new file mode 100644 index 00000000000..27a8e2f6d17 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model.mdx @@ -0,0 +1,30 @@ +--- +title: NoiseLearnerV3ResultsModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2.NoiseLearnerV3ResultsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.NoiseLearnerV3ResultsModel +--- + + + +# NoiseLearnerV3ResultsModel + + + Bases: `BaseModel` + + Result from executing a noise learner v3 job. + + ### data + + + Resulting data for each item. + + + ### schema\_version + + + Schema version of the result type. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model.mdx new file mode 100644 index 00000000000..9dba50f39e8 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model.mdx @@ -0,0 +1,56 @@ +--- +title: OptionsModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2.OptionsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.OptionsModel +--- + + + +# OptionsModel + + + Bases: `BaseModel` + + Runtime options with all fields set. + + ### init\_qubits + + + Whether to reset the qubits to the ground state for each shot. + + + ### layer\_pair\_depths + + + The circuit depths (measured in number of pairs) to use in Pauli Lindblad experiments. + + + ### num\_randomizations + + + The number of random circuits to use per learning circuit configuration. + + + ### post\_selection + + + Options for post selecting the results of noise learning circuits. + + + ### rep\_delay + + + The repetition delay. + + This is the delay between the end of one circuit and the start of the next within a shot loop. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. When this value is `None`, the default value `backend.default_rep_delay` is used. + + + ### shots\_per\_randomization + + + The total number of shots to use per randomized learning circuit. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model.mdx new file mode 100644 index 00000000000..35a4a385c3e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model.mdx @@ -0,0 +1,38 @@ +--- +title: ParamsModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2.ParamsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.ParamsModel +--- + + + +# ParamsModel + + + Bases: [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.base_params.BaseParamsModel") + + Schema version 1 of the inner parameters. + + ### instructions + + + The instructions targeted by the noise learner. + + These are embedded to a circuit prior to encoding with QPY. + + + ### options + + + Options for runtime. + + + ### schema\_version + + + Version of the params schema being used. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model.mdx new file mode 100644 index 00000000000..2f87ac996ce --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model.mdx @@ -0,0 +1,38 @@ +--- +title: PostSelectionOptionsModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2.PostSelectionOptionsModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.PostSelectionOptionsModel +--- + + + +# PostSelectionOptionsModel + + + Bases: `BaseModel` + + Runtime options for post selection. + + ### enable + + + Whether to enable Post Selection when performing learning experiments. + + If `False`, all the other Post Selection options are ignored. + + + ### strategy + + + The strategy used to decide if a shot should be kept or discarded. + + + ### x\_pulse\_type + + + The type of the X-pulse used for the post selection measurements. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model.mdx new file mode 100644 index 00000000000..cd8073a8b09 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model.mdx @@ -0,0 +1,30 @@ +--- +title: TREXResultMetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2.TREXResultMetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.TREXResultMetadataModel +--- + + + +# TREXResultMetadataModel + + + Bases: `BaseModel` + + The metadata of a single TREX result of a noise learner v3 job. + + ### learning\_protocol + + + The learning protocol used to obtain this result. + + + ### post\_selection + + + The metadata relative to post selection. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model.mdx new file mode 100644 index 00000000000..fca3bf1efc7 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model.mdx @@ -0,0 +1,35 @@ +--- +title: TREXResultPostSelectionMetadataModel (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2.TREXResultPostSelectionMetadataModel in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.TREXResultPostSelectionMetadataModel +--- + + + +# TREXResultPostSelectionMetadataModel + + + Bases: `BaseModel` + + The post selection metadata of a single TREX result of a noise learner v3 job. + + ### fraction\_kept + + + The fraction of shots kept. + + **Constraints** + + * **ge** = 0 + * **le** = 1 + + + ### success\_rates + + + The fraction of shots in which post selection successfully flipped each qubit. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas.mdx b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas.mdx new file mode 100644 index 00000000000..8a0758c90f6 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/ibm-quantum-schemas.mdx @@ -0,0 +1,24 @@ +--- +title: IBM Quantum Schemas (v0.46) +description: API reference for IBM Quantum Schemas in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: syntheticModule +python_api_name: IBM Quantum Schemas +--- + + + +# IBM Quantum Schemas (`ibm_quantum_schemas`) + +The `ibm_quantum_schemas` package contains the `Pydantic` models that describe the inputs and outputs of IBM Quantum primitives and programs, to allow easier programmatic interfacing from Python. + + + This package is a [separate dependency](https://pypi.org/project/ibm-quantum-schemas/). This documentations refers to version `0.5.20260320`. + + +* [Executor v0.1 (`ibm_quantum_schemas.executor.version_0_1`)](executor-0-1) +* [Executor v0.2 (`ibm_quantum_schemas.executor.version_0_2`)](executor-0-2) +* [NoiseLearnerV3 v0.1 (`ibm_quantum_schemas.noise_learner_v3.version_0_1`)](noise-learner-v3-0-1) +* [NoiseLearnerV3 v0.2 (`ibm_quantum_schemas.noise_learner_v3.version_0_2`)](noise-learner-v3-0-2) +* [Common models (`ibm_quantum_schemas.common`)](schema-common) + diff --git a/docs/api/qiskit-ibm-runtime/0.46/index.mdx b/docs/api/qiskit-ibm-runtime/0.46/index.mdx new file mode 100644 index 00000000000..54fd4153f69 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/index.mdx @@ -0,0 +1,22 @@ +--- +title: Qiskit Runtime client API documentation (v0.46) +description: Index of all the modules in qiskit-ibm-runtime v0.46. +--- + + + +# `qiskit-ibm-runtime` API reference + +* [Qiskit Runtime (`qiskit_ibm_runtime`)](runtime-service) +* [Noise learner (`qiskit_ibm_runtime.noise_learner.NoiseLearner`)](noise-learner) +* [NoiseLearner result classes (`qiskit_ibm_runtime.utils.noise_learner_result`)](noise-learner-result) +* [Primitive options (`qiskit_ibm_runtime.options`)](options) +* [Transpiler passes (`qiskit_ibm_runtime.transpiler.passes`)](transpiler) +* [Transpiler scheduling passes (`qiskit_ibm_runtime.transpiler.passes.scheduling`)](transpiler-passes-scheduling) +* [Fake Provider (`qiskit_ibm_runtime.fake_provider`)](fake-provider) +* [Execution Spans (`qiskit_ibm_runtime.execution_span`)](execution-span) +* [Debugging tools (`qiskit_ibm_runtime.debug_tools`)](debug-tools) +* [Visualization (`qiskit_ibm_runtime.visualization`)](visualization) +* [Backend Objects (`qiskit_ibm_runtime.models`)](models) +* [IBM Quantum Schemas (`ibm_quantum_schemas`)](ibm-quantum-schemas) + diff --git a/docs/api/qiskit-ibm-runtime/0.46/models-backend-configuration.mdx b/docs/api/qiskit-ibm-runtime/0.46/models-backend-configuration.mdx new file mode 100644 index 00000000000..48f36bd79fc --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/models-backend-configuration.mdx @@ -0,0 +1,136 @@ +--- +title: BackendConfiguration (v0.46) +description: API reference for qiskit_ibm_runtime.models.BackendConfiguration in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.models.BackendConfiguration +--- + +# BackendConfiguration + + + Bases: [`QasmBackendConfiguration`](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + Backwards compat shim representing an abstract backend configuration. + + Initialize a QasmBackendConfiguration Object + + **Parameters** + + * **backend\_name** (*str*) – The backend name + + * **backend\_version** (*str*) – The backend version in the form X.Y.Z + + * **n\_qubits** (*int*) – the number of qubits for the backend + + * **basis\_gates** (*list*) – The list of strings for the basis gates of the backends + + * **gates** (*list*) – The list of GateConfig objects for the basis gates of the backend + + * **local** (*bool*) – True if the backend is local or False if remote + + * **simulator** (*bool*) – True if the backend is a simulator + + * **conditional** (*bool*) – True if the backend supports conditional operations + + * **open\_pulse** (*bool*) – True if the backend supports OpenPulse + + * **memory** (*bool*) – True if the backend supports memory + + * **coupling\_map** (*list*) – The coupling map for the device + + * **meas\_levels** (*list\[int] | None*) – Supported measurement levels. + + * **meas\_kernels** (*list\[str] | None*) – Supported measurement kernels. + + * **discriminators** (*list\[str] | None*) – Supported discriminators. + + * **meas\_map** (*list | None*) – Grouping of measurement which are multiplexed + + * **supported\_instructions** (*list\[str] | None*) – Instructions supported by the backend. + + * **dynamic\_reprate\_enabled** (*bool*) – whether delay between programs can be set dynamically (ie via `rep_delay`). Defaults to False. + + * **rep\_delay\_range** (*list\[float] | None*) – 2d list defining supported range of repetition delays for backend in μs. First entry is lower end of the range, second entry is higher end of the range. Optional, but will be specified when `dynamic_reprate_enabled=True`. + + * **default\_rep\_delay** (*float | None*) – Value of `rep_delay` if not specified by user and `dynamic_reprate_enabled=True`. + + * **sample\_name** (*str | None*) – Sample name for the backend + + * **n\_registers** (*int | None*) – Number of register slots available for feedback (if conditional is True) + + * **register\_map** (*list | None*) – An array of dimension n\_qubits X n\_registers that specifies whether a qubit can store a measurement in a certain register slot. + + * **configurable** (*bool | None*) – True if the backend is configurable, if the backend is a simulator + + * **credits\_required** (*bool | None*) – True if backend requires credits to run a job. + + * **online\_date** (*datetime | None*) – The date that the device went online + + * **display\_name** (*str | None*) – Alternate name field for the backend + + * **description** (*str | None*) – A description for the backend + + * **tags** (*list | None*) – A list of string tags to describe the backend + + * **dt** (*float | None*) – Qubit drive channel timestep in nanoseconds. + + * **dtm** (*float | None*) – Measurement drive channel timestep in nanoseconds. + + * **processor\_type** (*dict | None*) – + + Processor type for this backend. A dictionary of the form `{"family": , "revision": , segment: }` such as `{"family": "Canary", "revision": "1.0", segment: "A"}`. + + * family: Processor family of this backend. + * revision: Revision version of this processor. + * segment: Segment this processor belongs to within a larger chip. + + * **parametric\_pulses** (*list | None*) – A list of pulse shapes which are supported on the backend. For example: `['gaussian', 'constant']` + + * **\*\*kwargs** (*Any*) – optional fields + + ## Attributes + + ### num\_qubits + + + Returns the number of qubits. + + In future, n\_qubits should be replaced in favor of num\_qubits for consistent use throughout Qiskit. Until this is properly refactored, this property serves as intermediate solution. + + + ## Methods + + ### from\_dict + + + Create a new GateConfig object from a dictionary. + + **Parameters** + + **data** (*dict\[str, Any]*) – A dictionary representing the GateConfig to create. It will be in the same format as output by [`to_dict()`](#qiskit_ibm_runtime.models.BackendConfiguration.to_dict "qiskit_ibm_runtime.models.BackendConfiguration.to_dict"). + + **Returns** + + The GateConfig from the input dictionary. + + **Return type** + + *QasmBackendConfigurationT* + + + ### to\_dict + + + Return a dictionary format representation of the GateConfig. + + **Returns** + + The dictionary form of the GateConfig. + + **Return type** + + dict\[str, *Any*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/models-backend-properties.mdx b/docs/api/qiskit-ibm-runtime/0.46/models-backend-properties.mdx new file mode 100644 index 00000000000..ca16d62aaec --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/models-backend-properties.mdx @@ -0,0 +1,296 @@ +--- +title: BackendProperties (v0.46) +description: API reference for qiskit_ibm_runtime.models.BackendProperties in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.models.BackendProperties +--- + +# BackendProperties + + + Bases: `object` + + Class representing backend properties + + This holds backend properties measured by the provider. All properties which are provided optionally. These properties may describe qubits, gates, or other general properties of the backend. + + Initialize a BackendProperties instance. + + **Parameters** + + * **backend\_name** (*str*) – Backend name. + * **backend\_version** (*str*) – Backend version in the form X.Y.Z. + * **last\_update\_date** (*datetime | str*) – Last date/time that a property was updated. If specified as a `str`, it must be in ISO format. + * **qubits** (*list*) – System qubit parameters as a list of lists of [`Nduv`](models-nduv "qiskit_ibm_runtime.models.Nduv") instances + * **gates** (*list*) – System gate parameters as a list of [`GateProperties`](models-gate-properties "qiskit_ibm_runtime.models.GateProperties") objects + * **general** (*list*) – General parameters as a list of [`Nduv`](models-nduv "qiskit_ibm_runtime.models.Nduv") objects + * **kwargs** (*Any*) – optional additional fields + + ## Methods + + ### faulty\_gates + + + Return a list of faulty gates. + + **Return type** + + list + + + ### faulty\_qubits + + + Return a list of faulty qubits. + + **Return type** + + list + + + ### frequency + + + Return the frequency of the given qubit. + + **Parameters** + + **qubit** (*int*) – Qubit for which to return frequency of. + + **Returns** + + Frequency of the given qubit. + + **Return type** + + float + + + ### from\_dict + + + Create a new BackendProperties object from a dictionary. + + **Parameters** + + **data** (*dict*) – A dictionary representing the BackendProperties to create. It will be in the same format as output by [`to_dict()`](#qiskit_ibm_runtime.models.BackendProperties.to_dict "qiskit_ibm_runtime.models.BackendProperties.to_dict"). + + **Returns** + + The BackendProperties from the input dictionary. + + **Return type** + + *BackendPropertiesT* + + + ### gate\_error + + + Return gate error estimates from backend properties. + + **Parameters** + + * **gate** (*str*) – The gate for which to get the error. + * **qubits** (*int | Iterable\[int]*) – The specific qubits for the gate. + + **Returns** + + Gate error of the given gate and qubit(s). + + **Return type** + + float + + + ### gate\_length + + + Return the duration of the gate in units of seconds. + + **Parameters** + + * **gate** (*str*) – The gate for which to get the duration. + * **qubits** (*int | Iterable\[int]*) – The specific qubits for the gate. + + **Returns** + + Gate length of the given gate and qubit(s). + + **Return type** + + float + + + ### gate\_property + + + Return the property of the given gate. + + **Parameters** + + * **gate** (*str*) – Name of the gate. + * **qubits** (*int | Iterable\[int] | None*) – The qubit to find the property for. + * **name** (*str | None*) – Optionally used to specify which gate property to return. + + **Returns** + + Gate property as a tuple of the value and the time it was measured. + + **Raises** + + **BackendPropertyError** – If the property is not found or name is specified but qubit is not. + + **Return type** + + dict\[tuple\[int, …], dict\[str, tuple\[*Any*, *datetime*]]] | dict\[str, tuple\[*Any*, *datetime*]] | tuple\[*Any*, *datetime*] + + + ### is\_gate\_operational + + + Return the operational status of the given gate. + + **Parameters** + + * **gate** (*str*) – Name of the gate. + * **qubits** (*int | Iterable\[int] | None*) – The qubit to find the operational status for. + + **Returns** + + Operational status of the given gate. True if the gate is operational, False otherwise. + + **Return type** + + bool + + + ### is\_qubit\_operational + + + Return the operational status of the given qubit. + + **Parameters** + + **qubit** (*int*) – Qubit for which to return operational status of. + + **Returns** + + Operational status of the given qubit. + + **Return type** + + bool + + + ### qubit\_property + + + Return the property of the given qubit. + + **Parameters** + + * **qubit** (*int*) – The property to look for. + * **name** (*str | None*) – Optionally used to specify within the hierarchy which property to return. + + **Returns** + + Qubit property as a tuple of the value and the time it was measured. + + **Raises** + + **BackendPropertyError** – If the property is not found. + + **Return type** + + dict\[str, tuple\[*Any*, *datetime*]] | tuple\[*Any*, *datetime*] + + + ### readout\_error + + + Return the readout error of the given qubit. + + **Parameters** + + **qubit** (*int*) – Qubit for which to return the readout error of. + + **Returns** + + Readout error of the given qubit. + + **Return type** + + float + + + ### readout\_length + + + Return the readout length \[sec] of the given qubit. + + **Parameters** + + **qubit** (*int*) – Qubit for which to return the readout length of. + + **Returns** + + Readout length of the given qubit. + + **Return type** + + float + + + ### t1 + + + Return the T1 time of the given qubit. + + **Parameters** + + **qubit** (*int*) – Qubit for which to return the T1 time of. + + **Returns** + + T1 time of the given qubit. + + **Return type** + + float + + + ### t2 + + + Return the T2 time of the given qubit. + + **Parameters** + + **qubit** (*int*) – Qubit for which to return the T2 time of. + + **Returns** + + T2 time of the given qubit. + + **Return type** + + float + + + ### to\_dict + + + Return a dictionary format representation of the BackendProperties. + + **Returns** + + The dictionary form of the BackendProperties. + + **Return type** + + dict + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/models-backend-status.mdx b/docs/api/qiskit-ibm-runtime/0.46/models-backend-status.mdx new file mode 100644 index 00000000000..7016e7ab092 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/models-backend-status.mdx @@ -0,0 +1,64 @@ +--- +title: BackendStatus (v0.46) +description: API reference for qiskit_ibm_runtime.models.BackendStatus in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.models.BackendStatus +--- + +# BackendStatus + + + Bases: `object` + + Class representing Backend Status. + + Initialize a BackendStatus object + + **Parameters** + + * **backend\_name** (*str*) – The backend’s name + * **backend\_version** (*str*) – The backend’s version of the form X.Y.Z + * **operational** (*bool*) – True if the backend is operational + * **pending\_jobs** (*int*) – The number of pending jobs on the backend + * **status\_msg** (*str*) – The status msg for the backend + + **Raises** + + **QiskitError** – If the backend version is in an invalid format + + ## Methods + + ### from\_dict + + + Create a new BackendStatus object from a dictionary. + + **Parameters** + + **data** (*dict\[str, Any]*) – A dictionary representing the BaseBakend to create. It will be in the same format as output by [`to_dict()`](#qiskit_ibm_runtime.models.BackendStatus.to_dict "qiskit_ibm_runtime.models.BackendStatus.to_dict"). + + **Returns** + + The BackendStatus from the input dictionary. + + **Return type** + + *BackendStatusT* + + + ### to\_dict + + + Return a dictionary format representation of the BackendStatus. + + **Returns** + + The dictionary form of the QobjHeader. + + **Return type** + + dict\[str, *Any*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/models-gate-config.mdx b/docs/api/qiskit-ibm-runtime/0.46/models-gate-config.mdx new file mode 100644 index 00000000000..572be5ffb9e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/models-gate-config.mdx @@ -0,0 +1,80 @@ +--- +title: GateConfig (v0.46) +description: API reference for qiskit_ibm_runtime.models.GateConfig in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.models.GateConfig +--- + +# GateConfig + + + Bases: `object` + + Class representing a Gate Configuration + + ### name + + + the gate name as it will be referred to in OpenQASM. + + + ### parameters + + + variable names for the gate parameters (if any). + + + ### qasm\_def + + + definition of this gate in terms of OpenQASM 2 primitives U and CX. + + + Initialize a GateConfig object + + **Parameters** + + * **name** (*str*) – the gate name as it will be referred to in OpenQASM. + * **parameters** (*list\[str]*) – variable names for the gate parameters (if any) as a list of strings. + * **qasm\_def** (*str*) – definition of this gate in terms of OpenQASM 2 primitives U and CX. + * **coupling\_map** (*list | None*) – An optional coupling map for the gate. In the form of a list of lists of integers representing the qubit groupings which are coupled by this gate. + * **latency\_map** (*list | None*) – An optional map of latency for the gate. In the the form of a list of lists of integers of either 0 or 1 representing an array of dimension len(coupling\_map) X n\_registers that specifies the register latency (1: fast, 0: slow) conditional operations on the gate. + * **conditional** (*bool | None*) – Optionally specify whether this gate supports conditional operations (true/false). If this is not specified, then the gate inherits the conditional property of the backend. + * **description** (*str | None*) – Description of the gate operation + + ## Methods + + ### from\_dict + + + Create a new GateConfig object from a dictionary. + + **Parameters** + + **data** (*dict\[str, Any]*) – A dictionary representing the GateConfig to create. It will be in the same format as output by [`to_dict()`](#qiskit_ibm_runtime.models.GateConfig.to_dict "qiskit_ibm_runtime.models.GateConfig.to_dict"). + + **Returns** + + The GateConfig from the input dictionary. + + **Return type** + + *GateConfigT* + + + ### to\_dict + + + Return a dictionary format representation of the GateConfig. + + **Returns** + + The dictionary form of the GateConfig. + + **Return type** + + dict\[str, *Any*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/models-gate-properties.mdx b/docs/api/qiskit-ibm-runtime/0.46/models-gate-properties.mdx new file mode 100644 index 00000000000..681f3f24530 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/models-gate-properties.mdx @@ -0,0 +1,77 @@ +--- +title: GateProperties (v0.46) +description: API reference for qiskit_ibm_runtime.models.GateProperties in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.models.GateProperties +--- + +# GateProperties + + + Bases: `object` + + Class representing a gate’s properties + + ### qubits + + + qubits. + + + ### gate + + + gate. + + + ### parameters + + + parameters. + + + Initialize a new [`GateProperties`](#qiskit_ibm_runtime.models.GateProperties "qiskit_ibm_runtime.models.GateProperties") object + + **Parameters** + + * **qubits** (*list\[int]*) – A list of integers representing qubits + * **gate** (*str*) – The gates name + * **parameters** (*list\[*[*Nduv*](models-nduv "qiskit_ibm_runtime.models.backend_properties.Nduv")*]*) – List of [`Nduv`](models-nduv "qiskit_ibm_runtime.models.Nduv") instances for the name-date-unit-value for the gate + * **kwargs** (*Any*) – Optional additional fields + + ## Methods + + ### from\_dict + + + Create a new Gate object from a dictionary. + + **Parameters** + + **data** (*dict\[str, Any]*) – A dictionary representing the Gate to create. It will be in the same format as output by [`to_dict()`](#qiskit_ibm_runtime.models.GateProperties.to_dict "qiskit_ibm_runtime.models.GateProperties.to_dict"). + + **Returns** + + The Nduv from the input dictionary. + + **Return type** + + *GatePropertiesT* + + + ### to\_dict + + + Return a dictionary format representation of the BackendStatus. + + **Returns** + + The dictionary form of the Gate. + + **Return type** + + dict\[str, *Any*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/models-nduv.mdx b/docs/api/qiskit-ibm-runtime/0.46/models-nduv.mdx new file mode 100644 index 00000000000..9d31ee16ccf --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/models-nduv.mdx @@ -0,0 +1,83 @@ +--- +title: Nduv (v0.46) +description: API reference for qiskit_ibm_runtime.models.Nduv in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.models.Nduv +--- + +# Nduv + + + Bases: `object` + + Class representing name-date-unit-value + + ### date + + + date. + + + ### name + + + name. + + + ### unit + + + unit. + + + ### value + + + value. + + + Initialize a new name-date-unit-value object + + **Parameters** + + * **date** (*datetime*) – Date field + * **name** (*str*) – Name field + * **unit** (*str*) – Nduv unit + * **value** (*float*) – The value of the Nduv + + ## Methods + + ### from\_dict + + + Create a new Nduv object from a dictionary. + + **Parameters** + + **data** (*dict\[str, Any]*) – A dictionary representing the Nduv to create. It will be in the same format as output by [`to_dict()`](#qiskit_ibm_runtime.models.Nduv.to_dict "qiskit_ibm_runtime.models.Nduv.to_dict"). + + **Returns** + + The Nduv from the input dictionary. + + **Return type** + + *NduvT* + + + ### to\_dict + + + Return a dictionary format representation of the object. + + **Returns** + + The dictionary form of the Nduv. + + **Return type** + + dict\[str, *Any*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/models-qasm-backend-configuration.mdx b/docs/api/qiskit-ibm-runtime/0.46/models-qasm-backend-configuration.mdx new file mode 100644 index 00000000000..a921581a43e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/models-qasm-backend-configuration.mdx @@ -0,0 +1,196 @@ +--- +title: QasmBackendConfiguration (v0.46) +description: API reference for qiskit_ibm_runtime.models.QasmBackendConfiguration in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.models.QasmBackendConfiguration +--- + +# QasmBackendConfiguration + + + Bases: `object` + + Class representing an OpenQASM 2.0 Backend Configuration. + + ### backend\_name + + + backend name. + + + ### backend\_version + + + backend version in the form X.Y.Z. + + + ### n\_qubits + + + number of qubits. + + + ### basis\_gates + + + list of basis gates names on the backend. + + + ### gates + + + list of basis gates on the backend. + + + ### local + + + backend is local or remote. + + + ### simulator + + + backend is a simulator. + + + ### conditional + + + backend supports conditional operations. + + + ### open\_pulse + + + backend supports open pulse. + + + ### memory + + + backend supports memory. + + + Initialize a QasmBackendConfiguration Object + + **Parameters** + + * **backend\_name** (*str*) – The backend name + + * **backend\_version** (*str*) – The backend version in the form X.Y.Z + + * **n\_qubits** (*int*) – the number of qubits for the backend + + * **basis\_gates** (*list*) – The list of strings for the basis gates of the backends + + * **gates** (*list*) – The list of GateConfig objects for the basis gates of the backend + + * **local** (*bool*) – True if the backend is local or False if remote + + * **simulator** (*bool*) – True if the backend is a simulator + + * **conditional** (*bool*) – True if the backend supports conditional operations + + * **open\_pulse** (*bool*) – True if the backend supports OpenPulse + + * **memory** (*bool*) – True if the backend supports memory + + * **coupling\_map** (*list*) – The coupling map for the device + + * **meas\_levels** (*list\[int] | None*) – Supported measurement levels. + + * **meas\_kernels** (*list\[str] | None*) – Supported measurement kernels. + + * **discriminators** (*list\[str] | None*) – Supported discriminators. + + * **meas\_map** (*list | None*) – Grouping of measurement which are multiplexed + + * **supported\_instructions** (*list\[str] | None*) – Instructions supported by the backend. + + * **dynamic\_reprate\_enabled** (*bool*) – whether delay between programs can be set dynamically (ie via `rep_delay`). Defaults to False. + + * **rep\_delay\_range** (*list\[float] | None*) – 2d list defining supported range of repetition delays for backend in μs. First entry is lower end of the range, second entry is higher end of the range. Optional, but will be specified when `dynamic_reprate_enabled=True`. + + * **default\_rep\_delay** (*float | None*) – Value of `rep_delay` if not specified by user and `dynamic_reprate_enabled=True`. + + * **sample\_name** (*str | None*) – Sample name for the backend + + * **n\_registers** (*int | None*) – Number of register slots available for feedback (if conditional is True) + + * **register\_map** (*list | None*) – An array of dimension n\_qubits X n\_registers that specifies whether a qubit can store a measurement in a certain register slot. + + * **configurable** (*bool | None*) – True if the backend is configurable, if the backend is a simulator + + * **credits\_required** (*bool | None*) – True if backend requires credits to run a job. + + * **online\_date** (*datetime | None*) – The date that the device went online + + * **display\_name** (*str | None*) – Alternate name field for the backend + + * **description** (*str | None*) – A description for the backend + + * **tags** (*list | None*) – A list of string tags to describe the backend + + * **dt** (*float | None*) – Qubit drive channel timestep in nanoseconds. + + * **dtm** (*float | None*) – Measurement drive channel timestep in nanoseconds. + + * **processor\_type** (*dict | None*) – + + Processor type for this backend. A dictionary of the form `{"family": , "revision": , segment: }` such as `{"family": "Canary", "revision": "1.0", segment: "A"}`. + + * family: Processor family of this backend. + * revision: Revision version of this processor. + * segment: Segment this processor belongs to within a larger chip. + + * **parametric\_pulses** (*list | None*) – A list of pulse shapes which are supported on the backend. For example: `['gaussian', 'constant']` + + * **\*\*kwargs** (*Any*) – optional fields + + ## Attributes + + ### num\_qubits + + + Returns the number of qubits. + + In future, n\_qubits should be replaced in favor of num\_qubits for consistent use throughout Qiskit. Until this is properly refactored, this property serves as intermediate solution. + + + ## Methods + + ### from\_dict + + + Create a new GateConfig object from a dictionary. + + **Parameters** + + **data** (*dict\[str, Any]*) – A dictionary representing the GateConfig to create. It will be in the same format as output by [`to_dict()`](#qiskit_ibm_runtime.models.QasmBackendConfiguration.to_dict "qiskit_ibm_runtime.models.QasmBackendConfiguration.to_dict"). + + **Returns** + + The GateConfig from the input dictionary. + + **Return type** + + *QasmBackendConfigurationT* + + + ### to\_dict + + + Return a dictionary format representation of the GateConfig. + + **Returns** + + The dictionary form of the GateConfig. + + **Return type** + + dict\[str, *Any*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/models-uchannel-lo.mdx b/docs/api/qiskit-ibm-runtime/0.46/models-uchannel-lo.mdx new file mode 100644 index 00000000000..df67c9b6977 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/models-uchannel-lo.mdx @@ -0,0 +1,73 @@ +--- +title: UchannelLO (v0.46) +description: API reference for qiskit_ibm_runtime.models.UchannelLO in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.models.UchannelLO +--- + +# UchannelLO + + + Bases: `object` + + Class representing a U Channel LO + + ### q + + + Qubit that scale corresponds too. + + + ### scale + + + Scale factor for qubit frequency. + + + Initialize a UchannelLOSchema object + + **Parameters** + + * **q** (*int*) – Qubit that scale corresponds too. Must be >= 0. + * **scale** (*complex*) – Scale factor for qubit frequency. + + **Raises** + + **QiskitError** – If q is \< 0 + + ## Methods + + ### from\_dict + + + Create a new UchannelLO object from a dictionary. + + **Parameters** + + **data** (*dict\[str, Any]*) – A dictionary representing the UChannelLO to create. It will be in the same format as output by [`to_dict()`](#qiskit_ibm_runtime.models.UchannelLO.to_dict "qiskit_ibm_runtime.models.UchannelLO.to_dict"). + + **Returns** + + The UchannelLO from the input dictionary. + + **Return type** + + *UchannelLOT* + + + ### to\_dict + + + Return a dictionary format representation of the UChannelLO. + + **Returns** + + The dictionary form of the UChannelLO. + + **Return type** + + dict\[str, *Any*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/models.mdx b/docs/api/qiskit-ibm-runtime/0.46/models.mdx new file mode 100644 index 00000000000..451b3f9efa0 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/models.mdx @@ -0,0 +1,31 @@ +--- +title: models (v0.46) +description: API reference for qiskit_ibm_runtime.models in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.models +--- + + + + + +# Backend Objects + +`qiskit_ibm_runtime.models` + +Qiskit schema-conformant objects used by the backends and providers. + +## Classes + +| | | +| ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | +| [`BackendConfiguration`](models-backend-configuration "qiskit_ibm_runtime.models.BackendConfiguration")(backend\_name, ...\[, ...]) | Backwards compat shim representing an abstract backend configuration. | +| [`QasmBackendConfiguration`](models-qasm-backend-configuration "qiskit_ibm_runtime.models.QasmBackendConfiguration")(backend\_name, ...) | Class representing an OpenQASM 2.0 Backend Configuration. | +| [`BackendProperties`](models-backend-properties "qiskit_ibm_runtime.models.BackendProperties")(backend\_name, ...) | Class representing backend properties | +| [`BackendStatus`](models-backend-status "qiskit_ibm_runtime.models.BackendStatus")(backend\_name, backend\_version, ...) | Class representing Backend Status. | +| [`UchannelLO`](models-uchannel-lo "qiskit_ibm_runtime.models.UchannelLO")(q, scale) | Class representing a U Channel LO | +| [`GateConfig`](models-gate-config "qiskit_ibm_runtime.models.GateConfig")(name, parameters, qasm\_def\[, ...]) | Class representing a Gate Configuration | +| [`GateProperties`](models-gate-properties "qiskit_ibm_runtime.models.GateProperties")(qubits, gate, parameters, ...) | Class representing a gate's properties | +| [`Nduv`](models-nduv "qiskit_ibm_runtime.models.Nduv")(date, name, unit, value) | Class representing name-date-unit-value | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/noise-learner-noise-learner.mdx b/docs/api/qiskit-ibm-runtime/0.46/noise-learner-noise-learner.mdx new file mode 100644 index 00000000000..87c745a1df4 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/noise-learner-noise-learner.mdx @@ -0,0 +1,116 @@ +--- +title: NoiseLearner (v0.46) +description: API reference for qiskit_ibm_runtime.noise_learner.NoiseLearner in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.noise_learner.NoiseLearner +--- + +# NoiseLearner + + + Bases: `object` + + Class for executing noise learning experiments. + + The noise learner class allows characterizing the noise processes affecting the gates in one or more circuits of interest, based on the Pauli-Lindblad noise model described in \[1]. + + The [`run()`](#qiskit_ibm_runtime.noise_learner.NoiseLearner.run "qiskit_ibm_runtime.noise_learner.NoiseLearner.run") method allows running a noise learner job for a list of circuits. After the job is submitted, the gates are collected into independent layers, and subsequently the resulting layers are characterized individually. + + The way in which the gates are collected into layers depends on the twirling `strategy` specified in the given `options` (see [`NoiseLearnerOptions`](options-noise-learner-options "qiskit_ibm_runtime.options.NoiseLearnerOptions") for more details). Note that all strategies obey barriers. For example, if you have three ISA entangling layers of interest, consider putting them into one circuit separated by barriers acting on the qubits you wish to twirl, and select `strategy="active-circuit"`. + + The following snippet shows an example where the noise learner is used to characterized the layers of two GHZ circuits. + + ```python + from qiskit.circuit import QuantumCircuit + from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager + from qiskit_ibm_runtime import QiskitRuntimeService + from qiskit_ibm_runtime.noise_learner import NoiseLearner + from qiskit_ibm_runtime.options import NoiseLearnerOptions + + service = QiskitRuntimeService() + backend = service.least_busy(operational=True, simulator=False) + + # a circuit returning a two-qubit GHZ state + ghz = QuantumCircuit(2) + ghz.h(0) + ghz.cx(0, 1) + + # another circuit returning a two-qubit GHZ state + another_ghz = QuantumCircuit(3) + another_ghz.h(0) + another_ghz.cx(0, 1) + another_ghz.cx(1, 2) + another_ghz.cx(0, 1) + + pm = generate_preset_pass_manager(backend=backend, optimization_level=1) + circuits = pm.run([ghz, another_ghz]) + + # set the options + options = NoiseLearnerOptions() + options.layer_pair_depths = [0, 1, 10] + + # run the noise learner job + learner = NoiseLearner(backend, options) + job = learner.run(circuits) + ``` + + **Parameters** + + * **mode** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) *|*[*Session*](session "qiskit_ibm_runtime.session.Session") *|*[*Batch*](batch "qiskit_ibm_runtime.batch.Batch") *| None*) – + + The execution mode used to make the primitive query. It can be: + + * A `Backend` if you are using job mode. + * A `Session` if you are using session execution mode. + * A `Batch` if you are using batch execution mode. + + Refer to the [Qiskit Runtime documentation](/docs/guides/execution-modes) for more information about the execution modes. + + * **options** (*dict |* [*NoiseLearnerOptions*](options-noise-learner-options "qiskit_ibm_runtime.options.noise_learner_options.NoiseLearnerOptions") *|*[*EstimatorOptions*](options-estimator-options "qiskit_ibm_runtime.options.estimator_options.EstimatorOptions") *| None*) – `NoiseLearnerOptions`. Alternatively, `EstimatorOptions` can be provided for convenience, in which case the estimator options get reformatted into noise learner options and all the irrelevant fields are ignored. + + **References** + + 1. E. van den Berg, Z. Minev, A. Kandala, K. Temme, *Probabilistic error cancellation with sparse Pauli–Lindblad models on noisy quantum processors*, Nature Physics volume 19, pages 1116–1121 (2023). [arXiv:2201.09866 \[quant-ph\]](https://arxiv.org/abs/2201.09866) + + ## Attributes + + ### options + + + The options in this noise learner. + + + ## Methods + + ### backend + + + Return the backend the primitive query will be run on. + + **Return type** + + [*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) + + + ### run + + + Submit a request to the noise learner program. + + This function breaks the given list of circuits into a list of unique layers, following the strategy set by the `twirling_strategy` field specified in the `options` (see `NoiseLearnerOptions` for more details) and sorting them based on the number of times they occur in the various circuits. Then, it runs the noise learning experiment for as many layers as specified by the `max_layers_to_learn` field in the `options`, prioritizing layers that occur more frequently. + + **Parameters** + + **circuits** (*Iterable\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – An iterable of circuits to run the noise learner program for. Alternatively, estimator pub-like (primitive unified bloc) objects can be specified, such as tuples `(circuit, observables)` or `(circuit, observables, parameter_values)`. In this case, the pub-like objects are converted to a list of circuits, and all the other fields (such as `observables` and `parameter_values`) are ignored. + + **Returns** + + The submitted job. + + **Return type** + + [*RuntimeJobV2*](runtime-job-v2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/noise-learner-result.mdx b/docs/api/qiskit-ibm-runtime/0.46/noise-learner-result.mdx new file mode 100644 index 00000000000..d15c30f71e0 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/noise-learner-result.mdx @@ -0,0 +1,21 @@ +--- +title: noise_learner_result (v0.46) +description: API reference for qiskit_ibm_runtime.utils.noise_learner_result in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.utils.noise_learner_result +--- + + + + + +# NoiseLearner result classes + +`qiskit_ibm_runtime.utils.noise_learner_result` + +| | | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | +| [`PauliLindbladError`](utils-noise-learner-result-pauli-lindblad-error "qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError") | A Pauli error channel generated by a Pauli Lindblad dissipators. | +| [`LayerError`](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError") | The error channel (in Pauli-Lindblad format) of a single layer of instructions. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-1.mdx b/docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-1.mdx new file mode 100644 index 00000000000..60b6bb60db0 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-1.mdx @@ -0,0 +1,32 @@ +--- +title: version_0_1 (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_1 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1 +--- + + + + + +# NoiseLearnerV3 v0.1 + +`ibm_quantum_schemas.noise_learner_v3.version_0_1` + +Models for `NoiseLearnerV3` `v0.1`. + +## Classes + +| | | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| [`ParamsModel`](ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model "ibm_quantum_schemas.noise_learner_v3.version_0_1.ParamsModel") | Schema version 1 of the inner parameters. | +| [`OptionsModel`](ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model "ibm_quantum_schemas.noise_learner_v3.version_0_1.OptionsModel") | Runtime options with all fields set. | +| [`PostSelectionOptionsModel`](ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model "ibm_quantum_schemas.noise_learner_v3.version_0_1.PostSelectionOptionsModel") | Runtime options for post selection. | +| [`NoiseLearnerV3ResultsModel`](ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model "ibm_quantum_schemas.noise_learner_v3.version_0_1.NoiseLearnerV3ResultsModel") | Result from executing a noise learner v3 job. | +| [`NoiseLearnerV3ResultModel`](ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model "ibm_quantum_schemas.noise_learner_v3.version_0_1.NoiseLearnerV3ResultModel") | Results for a single noise learner V3 item. | +| [`TREXResultMetadataModel`](ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model "ibm_quantum_schemas.noise_learner_v3.version_0_1.TREXResultMetadataModel") | The metadata of a single TREX result of a noise learner v3 job. | +| [`TREXResultPostSelectionMetadataModel`](ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model "ibm_quantum_schemas.noise_learner_v3.version_0_1.TREXResultPostSelectionMetadataModel") | The post selection metadata of a single TREX result of a noise learner v3 job. | +| [`LinbdbladResultMetadataModel`](ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model "ibm_quantum_schemas.noise_learner_v3.version_0_1.LinbdbladResultMetadataModel") | The metadata of a single Lindblad result of a noise learner v3 job. | +| [`LinbdbladResultPostSelectionMetadataModel`](ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model "ibm_quantum_schemas.noise_learner_v3.version_0_1.LinbdbladResultPostSelectionMetadataModel") | The post selection metadata of a single Linbdblad result of a noise learner v3 job. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-2.mdx b/docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-2.mdx new file mode 100644 index 00000000000..92149749db0 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/noise-learner-v3-0-2.mdx @@ -0,0 +1,32 @@ +--- +title: version_0_2 (v0.46) +description: API reference for ibm_quantum_schemas.noise_learner_v3.version_0_2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2 +--- + + + + + +# NoiseLearnerV3 v0.2 + +`ibm_quantum_schemas.noise_learner_v3.version_0_2` + +Models for `NoiseLearnerV3` `v0.2`. + +## Classes + +| | | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| [`ParamsModel`](ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model "ibm_quantum_schemas.noise_learner_v3.version_0_2.ParamsModel") | Schema version 1 of the inner parameters. | +| [`OptionsModel`](ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model "ibm_quantum_schemas.noise_learner_v3.version_0_2.OptionsModel") | Runtime options with all fields set. | +| [`PostSelectionOptionsModel`](ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model "ibm_quantum_schemas.noise_learner_v3.version_0_2.PostSelectionOptionsModel") | Runtime options for post selection. | +| [`NoiseLearnerV3ResultsModel`](ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model "ibm_quantum_schemas.noise_learner_v3.version_0_2.NoiseLearnerV3ResultsModel") | Result from executing a noise learner v3 job. | +| [`NoiseLearnerV3ResultModel`](ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model "ibm_quantum_schemas.noise_learner_v3.version_0_2.NoiseLearnerV3ResultModel") | Results for a single noise learner V3 item. | +| [`TREXResultPostSelectionMetadataModel`](ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model "ibm_quantum_schemas.noise_learner_v3.version_0_2.TREXResultPostSelectionMetadataModel") | The post selection metadata of a single TREX result of a noise learner v3 job. | +| [`TREXResultMetadataModel`](ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model "ibm_quantum_schemas.noise_learner_v3.version_0_2.TREXResultMetadataModel") | The metadata of a single TREX result of a noise learner v3 job. | +| [`LinbdbladResultPostSelectionMetadataModel`](ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model "ibm_quantum_schemas.noise_learner_v3.version_0_2.LinbdbladResultPostSelectionMetadataModel") | The post selection metadata of a single Linbdblad result of a noise learner v3 job. | +| [`LinbdbladResultMetadataModel`](ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model "ibm_quantum_schemas.noise_learner_v3.version_0_2.LinbdbladResultMetadataModel") | The metadata of a single Lindblad result of a noise learner v3 job. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/noise-learner.mdx b/docs/api/qiskit-ibm-runtime/0.46/noise-learner.mdx new file mode 100644 index 00000000000..8890c6eb878 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/noise-learner.mdx @@ -0,0 +1,24 @@ +--- +title: noise_learner (v0.46) +description: API reference for qiskit_ibm_runtime.noise_learner in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.noise_learner +--- + + + + + +# Noise learner + +`qiskit_ibm_runtime.noise_learner.NoiseLearner` + +The tools to characterize the noise processes affecting the gates in noisy quantum circuits. + +## Classes + +| | | +| --------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | +| [`NoiseLearner`](noise-learner-noise-learner "qiskit_ibm_runtime.noise_learner.NoiseLearner")(\[mode, options]) | Class for executing noise learning experiments. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-dynamical-decoupling-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-dynamical-decoupling-options.mdx new file mode 100644 index 00000000000..366127e1214 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-dynamical-decoupling-options.mdx @@ -0,0 +1,77 @@ +--- +title: DynamicalDecouplingOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.DynamicalDecouplingOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.DynamicalDecouplingOptions +--- + +# DynamicalDecouplingOptions + + + Bases: `object` + + Options for dynamical decoupling (DD). + + ## Attributes + + **Parameters** + + * **enable** (*UnsetType | bool*) + * **sequence\_type** (*UnsetType | Literal\['XX', 'XpXm', 'XY4']*) + * **extra\_slack\_distribution** (*UnsetType | Literal\['middle', 'edges']*) + * **scheduling\_method** (*UnsetType | Literal\['alap', 'asap']*) + * **skip\_reset\_qubits** (*UnsetType | bool*) + + ### enable + + + Whether to enable DD as specified by the other options in this class. + + Default: `False`. + + + ### extra\_slack\_distribution + + + Where to put extra timing delays due to rounding issues. Rounding issues arise because the discrete time step `dt` of the system cannot be divided. This option takes following values. + + Default: `"middle"`. + + * `"middle"`: Put the extra slack to the interval at the middle of the sequence. + * `"edges"`: Divide the extra slack as evenly as possible into intervals at beginning and end of the sequence. + + + ### scheduling\_method + + + Whether to schedule gates as soon as (“asap”) or as late as (“alap”) possible. + + Default: `"alap"`. + + + ### sequence\_type + + + Which dynamical decoupling sequence to use. + + Default: `"XX"`. + + * `"XX"`: use the sequence `tau/2 - (+X) - tau - (+X) - tau/2` + * `"XpXm"`: use the sequence `tau/2 - (+X) - tau - (-X) - tau/2` + * `"XY4"`: use the sequence `tau/2 - (+X) - tau - (+Y) - tau (-X) - tau - (-Y) - tau/2` + + + ### skip\_reset\_qubits + + + Whether to insert DD on idle periods that immediately follow initialized/reset qubits. + + Since qubits in the ground state are less susceptible to decoherence, it can be beneficial to let them be while they are known to be in this state. + + Default: `False`. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-environment-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-environment-options.mdx new file mode 100644 index 00000000000..12842b9ed3e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-environment-options.mdx @@ -0,0 +1,50 @@ +--- +title: EnvironmentOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.EnvironmentOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.EnvironmentOptions +--- + +# EnvironmentOptions + + + Bases: `object` + + Options related to the execution environment. + + ## Attributes + + **Parameters** + + * **log\_level** (*Literal\['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL']*) + * **job\_tags** (*list | None*) + * **private** (*bool | None*) + + ### job\_tags + + + Tags to be assigned to the job. The tags can subsequently be used as a filter in the `qiskit_ibm_runtime.qiskit_runtime_service.jobs()` function call. + + Default: `None`. + + + ### log\_level + + + logging level to set in the execution environment. The valid log levels are: `DEBUG`, `INFO`, `WARNING`, `ERROR`, and `CRITICAL`. + + Default: `WARNING`. + + + ### private + + + Boolean that indicates whether the job is marked as private. When set to true, input parameters are not returned, and the results can only be read once. After the job is completed, input parameters are deleted from the service. After the results are read, these are also deleted from the service. When set to false, the input parameters and results follow the standard retention behavior of the API. + + Default: False. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-estimator-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-estimator-options.mdx new file mode 100644 index 00000000000..049426e8c58 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-estimator-options.mdx @@ -0,0 +1,138 @@ +--- +title: EstimatorOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.EstimatorOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.EstimatorOptions +--- + +# EstimatorOptions + + + Bases: `OptionsV2` + + Options for V2 Estimator. + + ## Attributes + + **Parameters** + + * **\_VERSION** (*int*) + * **max\_execution\_time** (*UnsetType | int*) + * **environment** ([*EnvironmentOptions*](options-environment-options "qiskit_ibm_runtime.options.environment_options.EnvironmentOptions") *| Dict*) + * **simulator** ([*SimulatorOptions*](options-simulator-options "qiskit_ibm_runtime.options.simulator_options.SimulatorOptions") *| Dict*) + * **default\_precision** (*UnsetType | float*) + * **default\_shots** (*UnsetType | int | None*) + * **resilience\_level** (*UnsetType | int*) + * **seed\_estimator** (*UnsetType | int*) + * **dynamical\_decoupling** ([*DynamicalDecouplingOptions*](options-dynamical-decoupling-options "qiskit_ibm_runtime.options.dynamical_decoupling_options.DynamicalDecouplingOptions") *| Dict*) + * **resilience** ([*ResilienceOptionsV2*](options-resilience-options-v2 "qiskit_ibm_runtime.options.resilience_options.ResilienceOptionsV2") *| Dict*) + * **execution** ([*ExecutionOptionsV2*](options-execution-options-v2 "qiskit_ibm_runtime.options.execution_options.ExecutionOptionsV2") *| Dict*) + * **twirling** ([*TwirlingOptions*](options-twirling-options "qiskit_ibm_runtime.options.twirling_options.TwirlingOptions") *| Dict*) + * **experimental** (*UnsetType | dict*) + + ### default\_precision + + + The default precision to use for any PUB or `run()` call that does not specify one. Each Estimator PUB can specify its own precision. If the `run()` method is given a precision, then that value is used for all PUBs in the `run()` call that do not specify their own. + + Default: 0.015625 (1 / sqrt(4096)). + + + ### default\_shots + + + The total number of shots to use per circuit per configuration. + + + If set, this value overrides [`default_precision`](#qiskit_ibm_runtime.options.EstimatorOptions.default_precision "qiskit_ibm_runtime.options.EstimatorOptions.default_precision"). + + + A configuration is a combination of a specific parameter value binding set and a physical measurement basis. A physical measurement basis groups together some collection of qubit-wise commuting observables for some specific circuit/parameter value set to create a single measurement with basis rotations that is inserted into hardware executions. + + If twirling is enabled, the value of this option will be divided over circuit randomizations, with a smaller number of shots per randomization. See the [`twirling`](#qiskit_ibm_runtime.options.EstimatorOptions.twirling "qiskit_ibm_runtime.options.EstimatorOptions.twirling") options. + + Default: `None`. + + + ### dynamical\_decoupling + + + Suboptions for dynamical decoupling. See [`DynamicalDecouplingOptions`](options-dynamical-decoupling-options "qiskit_ibm_runtime.options.DynamicalDecouplingOptions") for all available options. + + + ### environment + + + + ### execution + + + Execution time options. See [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") for all available options. + + + ### experimental + + + Experimental options. These options are subject to change without notification, and stability is not guaranteed. + + + ### max\_execution\_time + + + + ### resilience + + + Advanced resilience options to fine-tune the resilience strategy. See [`ResilienceOptionsV2`](options-resilience-options-v2 "qiskit_ibm_runtime.options.ResilienceOptionsV2") for all available options. + + + ### resilience\_level + + + How much resilience to build against errors. Higher levels generate more accurate results, at the expense of longer processing times. + + * 0: No mitigation. + * 1: Minimal mitigation costs. Mitigate error associated with readout errors. + * 2: Medium mitigation costs. Typically reduces bias in estimators but is not guaranteed to be zero bias. + + Refer to the [Configure error mitigation for Qiskit Runtime](/docs/guides/configure-error-mitigation) guide for more information about the error mitigation methods used at each level. + + Default: 1. + + + ### seed\_estimator + + + Seed used to control sampling. + + Default: `None`. + + + ### simulator + + + + ### twirling + + + Pauli twirling options. See [`TwirlingOptions`](options-twirling-options "qiskit_ibm_runtime.options.TwirlingOptions") for all available options. + + + ## Methods + + ### update + + + Update the options. + + **Parameters** + + **kwargs** (*Any*) + + **Return type** + + None + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-execution-options-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-execution-options-v2.mdx new file mode 100644 index 00000000000..a528b578c07 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-execution-options-v2.mdx @@ -0,0 +1,37 @@ +--- +title: ExecutionOptionsV2 (v0.46) +description: API reference for qiskit_ibm_runtime.options.ExecutionOptionsV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.ExecutionOptionsV2 +--- + +# ExecutionOptionsV2 + + + Bases: `object` + + Execution options for V2 primitives. + + ## Attributes + + **Parameters** + + * **init\_qubits** (*UnsetType | bool*) + * **rep\_delay** (*UnsetType | float*) + + ### init\_qubits + + + Whether to reset the qubits to the ground state for each shot. Default is `True`. + + + ### rep\_delay + + + The repetition delay. This is the delay between a measurement and the subsequent quantum circuit. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. Default is given by `backend.default_rep_delay`. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-layer-noise-learning-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-layer-noise-learning-options.mdx new file mode 100644 index 00000000000..37ffa85596d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-layer-noise-learning-options.mdx @@ -0,0 +1,73 @@ +--- +title: LayerNoiseLearningOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.LayerNoiseLearningOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.LayerNoiseLearningOptions +--- + +# LayerNoiseLearningOptions + + + Bases: `object` + + Options for learning layer noise. This is only used by V2 Estimator. + + + These options are only used when the resilience level or options specify a technique that requires layer noise learning. + + + + The total number of unique circuits implemented to learn the noise of a single layer depends solely on [`layer_pair_depths`](#qiskit_ibm_runtime.options.LayerNoiseLearningOptions.layer_pair_depths "qiskit_ibm_runtime.options.LayerNoiseLearningOptions.layer_pair_depths") and [`num_randomizations`](#qiskit_ibm_runtime.options.LayerNoiseLearningOptions.num_randomizations "qiskit_ibm_runtime.options.LayerNoiseLearningOptions.num_randomizations"). For example, if `layer_pair_depths` contains six depths and `num_randomizations` is set to `32`, the noise learning stage executes a total of `6 * 9` unique circuits per layer, each one with `32` randomizations (at [`shots_per_randomization`](#qiskit_ibm_runtime.options.LayerNoiseLearningOptions.shots_per_randomization "qiskit_ibm_runtime.options.LayerNoiseLearningOptions.shots_per_randomization") each). + + The number `9` above is the number of unique circuits that need to be implemented to learn the noise for all the two-qubit subsystem in the given layer by performing local measurements. Indeed, learning the noise for a single one of these subsystems requires measuring all the `16` two-qubit Paulis on that subsystem. Taking advantage of commutation relations to measure more than one of these Paulis (for example, `XI`, `IX`, and `XX`) with a single circuit, it is possible to measure all these `16` Paulis by implementing only `9` circuits. Parallelizing these measurement tasks in the optimal way allows then measuring the `16` Paulis for all of the layer’s two-qubit subsystems with only `9` circuits. More details in Ref. \[1]. + + + **References** + + 1. E. van den Berg, Z. Minev, A. Kandala, K. Temme, *Probabilistic error cancellation with sparse Pauli–Lindblad models on noisy quantum processors*, Nature Physics volume 19, pages 1116–1121 (2023). [arXiv:2201.09866 \[quant-ph\]](https://arxiv.org/abs/2201.09866) + + ## Attributes + + **Parameters** + + * **max\_layers\_to\_learn** (*UnsetType | int | None*) + * **shots\_per\_randomization** (*UnsetType | int*) + * **num\_randomizations** (*UnsetType | int*) + * **layer\_pair\_depths** (*UnsetType | list\[int]*) + + ### layer\_pair\_depths + + + The circuit depths (measured in number of pairs) to use in learning experiments. Pairs are used as the unit because we exploit the order-2 nature of our entangling gates in the noise learning implementation. A value of `3` would correspond to 6 layers of the layer of interest, for example. + + Default: (0, 1, 2, 4, 16, 32). + + + ### max\_layers\_to\_learn + + + The max number of unique layers to learn. A `None` value indicates that there is no limit. If there are more unique layers present, then some layers will not be learned or mitigated. The learned layers are prioritized based on the number of times they occur in a set of run Estimator PUBs, and for equally occurring layers are further sorted by the number of two-qubit gates in the layer. + + Default: 4. + + + ### num\_randomizations + + + The number of random circuits to use per learning circuit configuration. A configuration is a measurement basis and depth setting. For example, if your experiment has six depths, then setting this value to 32 will result in a total of `32 * 9 * 6` circuits that need to be executed (where `9` is the number of circuits that need to be implemented to measure all the required observables, see the note in the docstring for [`LayerNoiseLearningOptions`](#qiskit_ibm_runtime.options.LayerNoiseLearningOptions "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") for mode details), at [`shots_per_randomization`](#qiskit_ibm_runtime.options.LayerNoiseLearningOptions.shots_per_randomization "qiskit_ibm_runtime.options.LayerNoiseLearningOptions.shots_per_randomization") each. + + Default: 32. + + + ### shots\_per\_randomization + + + The total number of shots to use per random learning circuit. A learning circuit is a random circuit at a specific learning depth with a specific measurement basis that is executed on hardware. + + Default: 128. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-measure-noise-learning-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-measure-noise-learning-options.mdx new file mode 100644 index 00000000000..65ca5d35cc9 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-measure-noise-learning-options.mdx @@ -0,0 +1,45 @@ +--- +title: MeasureNoiseLearningOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.MeasureNoiseLearningOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.MeasureNoiseLearningOptions +--- + +# MeasureNoiseLearningOptions + + + Bases: `object` + + Options for measurement noise learning. This is only used by V2 Estimator. + + + These options are only used when the resilience level or options specify a technique that requires measurement noise learning. + + + ## Attributes + + **Parameters** + + * **num\_randomizations** (*UnsetType | int*) + * **shots\_per\_randomization** (*UnsetType | int | Literal\['auto']*) + + ### num\_randomizations + + + The number of random circuits to draw for the measurement learning experiment. + + Default: 32. + + + ### shots\_per\_randomization + + + The number of shots to use for the learning experiment per random circuit. If “auto”, the value will be chosen automatically based on the input PUBs. + + Default: “auto”. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-noise-learner-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-noise-learner-options.mdx new file mode 100644 index 00000000000..b750329dcc6 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-noise-learner-options.mdx @@ -0,0 +1,135 @@ +--- +title: NoiseLearnerOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.NoiseLearnerOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.NoiseLearnerOptions +--- + +# NoiseLearnerOptions + + + Bases: `OptionsV2` + + Options for [`NoiseLearner`](noise-learner-noise-learner "qiskit_ibm_runtime.noise_learner.NoiseLearner"). + + + The total number of unique circuits implemented to learn the noise of a single layer depends solely on [`layer_pair_depths`](#qiskit_ibm_runtime.options.NoiseLearnerOptions.layer_pair_depths "qiskit_ibm_runtime.options.NoiseLearnerOptions.layer_pair_depths") and [`num_randomizations`](#qiskit_ibm_runtime.options.NoiseLearnerOptions.num_randomizations "qiskit_ibm_runtime.options.NoiseLearnerOptions.num_randomizations"). For example, if `layer_pair_depths` contains six depths and `num_randomizations` is set to `32`, the noise learning stage executes a total of `6 * 9` unique circuits per layer, each one with `32` randomizations (at [`shots_per_randomization`](#qiskit_ibm_runtime.options.NoiseLearnerOptions.shots_per_randomization "qiskit_ibm_runtime.options.NoiseLearnerOptions.shots_per_randomization") each). + + The number `9` above is the number of unique circuits that need to be implemented to learn the noise for all the two-qubit subsystem in the given layer by performing local measurements. Indeed, learning the noise for a single one of these subsystems requires measuring all the `16` two-qubit Paulis on that subsystem. Taking advantage of commutation relations to measure more than one of these Paulis (for example, `XI`, `IX`, and `XX`) with a single circuit, it is possible to measure all these `16` Paulis by implementing only `9` circuits. Parallelizing these measurement tasks in the optimal way allows then measuring the `16` Paulis for all of the layer’s two-qubit subsystems with only `9` circuits. More details in Ref. \[1]. + + + **References** + + 1. E. van den Berg, Z. Minev, A. Kandala, K. Temme, *Probabilistic error cancellation with sparse Pauli–Lindblad models on noisy quantum processors*, Nature Physics volume 19, pages 1116–1121 (2023). [arXiv:2201.09866 \[quant-ph\]](https://arxiv.org/abs/2201.09866) + + ## Attributes + + **Parameters** + + * **\_VERSION** (*int*) + * **max\_execution\_time** (*UnsetType | int*) + * **environment** ([*EnvironmentOptions*](options-environment-options "qiskit_ibm_runtime.options.environment_options.EnvironmentOptions") *| Dict*) + * **simulator** ([*SimulatorOptions*](options-simulator-options "qiskit_ibm_runtime.options.simulator_options.SimulatorOptions") *| Dict*) + * **max\_layers\_to\_learn** (*UnsetType | int | None*) + * **shots\_per\_randomization** (*UnsetType | int*) + * **num\_randomizations** (*UnsetType | int*) + * **layer\_pair\_depths** (*UnsetType | list\[int]*) + * **twirling\_strategy** (*UnsetType | Literal\['active', 'active-accum', 'active-circuit', 'all']*) + * **experimental** (*UnsetType | dict*) + + ### environment + + + + ### experimental + + + Experimental options. + + These options are subject to change without notification, and stability is not guaranteed. + + + ### layer\_pair\_depths + + + The circuit depths (measured in number of pairs) to use in learning experiments. + + Pairs are used as the unit because we exploit the order-2 nature of our entangling gates in the noise learning implementation. For example, a value of `3` corresponds to 6 repetitions of the layer of interest. Default: (0, 1, 2, 4, 16, 32). + + + ### max\_execution\_time + + + + ### max\_layers\_to\_learn + + + The max number of unique layers to learn. + + A `None` value indicates that there is no limit. If there are more unique layers present, then some layers will not be learned or mitigated. The learned layers are prioritized based on the number of times they occur, and for equally occurring layers are further sorted by the number of two-qubit gates in the layer. Default: 4. + + + ### num\_randomizations + + + The number of random circuits to use per learning circuit configuration. + + A configuration is a measurement basis and depth setting. For example, if your experiment has six depths, then setting this value to 32 will result in a total of `32 * 9 * 6` circuits that need to be executed (where `9` is the number of circuits that need to be implemented to measure all the required observables, see the note in the docstring for [`NoiseLearnerOptions`](#qiskit_ibm_runtime.options.NoiseLearnerOptions "qiskit_ibm_runtime.options.NoiseLearnerOptions") for mode details), at [`shots_per_randomization`](#qiskit_ibm_runtime.options.NoiseLearnerOptions.shots_per_randomization "qiskit_ibm_runtime.options.NoiseLearnerOptions.shots_per_randomization") each. + + + ### shots\_per\_randomization + + + The total number of shots to use per random learning circuit. + + A learning circuit is a random circuit at a specific learning depth with a specific measurement basis that is executed on hardware. Default: 128. + + + ### simulator + + + + ### twirling\_strategy + + + The twirling strategy in the identified layers of two-qubit twirled gates. + + The allowed values are: + + > * `"active"`: in each individual twirled layer, only the instruction qubits are twirled. + > + > * **`"active-circuit"`: in each individual twirled layer, the union of all instruction** + > + > qubits in the circuit are twirled. + > + > * **`"active-accum"`: in each individual twirled layer, the union of instructions qubits** + > + > in the circuit up to the current twirled layer are twirled. + > + > * `"all"`: in each individual twirled layer, all qubits in the input circuit are twirled. + + + Barriers and delay instructions are ignored when determining whether a qubit is active. + + + Default: “active-accum”. + + + ## Methods + + ### update + + + Update the options. + + **Parameters** + + **kwargs** (*Any*) + + **Return type** + + None + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-pec-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-pec-options.mdx new file mode 100644 index 00000000000..c01e2e25003 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-pec-options.mdx @@ -0,0 +1,48 @@ +--- +title: PecOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.PecOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.PecOptions +--- + +# PecOptions + + + Bases: `object` + + Probabalistic error cancellation mitigation options. This is only used by V2 Estimator. + + ## Attributes + + **Parameters** + + * **max\_overhead** (*UnsetType | float | None*) + * **noise\_gain** (*UnsetType | float | Literal\['auto']*) + + ### max\_overhead + + + The maximum circuit sampling overhead allowed, or `None` for no maximum. + + Default: 100. + + + ### noise\_gain + + + The amount by which to scale the noise, where: + + * A value of 0 corresponds to removing the full learned noise. + * A value of 1 corresponds to no removal of the learned noise. + * A value between 0 and 1 corresponds to partially removing the learned noise. + * A value greater than one corresponds to amplifying the learned noise. + + If “auto”, the value in the range `[0, 1]` will be chosen automatically for each input PUB based on the learned noise strength, `max_overhead`, and the depth of the PUB. + + Default: “auto”. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-resilience-options-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-resilience-options-v2.mdx new file mode 100644 index 00000000000..d1bedf8a56f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-resilience-options-v2.mdx @@ -0,0 +1,87 @@ +--- +title: ResilienceOptionsV2 (v0.46) +description: API reference for qiskit_ibm_runtime.options.ResilienceOptionsV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.ResilienceOptionsV2 +--- + +# ResilienceOptionsV2 + + + Bases: `object` + + Resilience options for V2 Estimator. + + ## Attributes + + **Parameters** + + * **measure\_mitigation** (*UnsetType | bool*) + * **measure\_noise\_learning** ([*MeasureNoiseLearningOptions*](options-measure-noise-learning-options "qiskit_ibm_runtime.options.measure_noise_learning_options.MeasureNoiseLearningOptions") *| Dict*) + * **zne\_mitigation** (*UnsetType | bool*) + * **zne** ([*ZneOptions*](options-zne-options "qiskit_ibm_runtime.options.zne_options.ZneOptions") *| Dict*) + * **pec\_mitigation** (*UnsetType | bool*) + * **pec** ([*PecOptions*](options-pec-options "qiskit_ibm_runtime.options.pec_options.PecOptions") *| Dict*) + * **layer\_noise\_learning** ([*LayerNoiseLearningOptions*](options-layer-noise-learning-options "qiskit_ibm_runtime.options.layer_noise_learning_options.LayerNoiseLearningOptions") *| Dict*) + * **layer\_noise\_model** (*UnsetType | NoiseLearnerResult | Sequence\[*[*LayerError*](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError")*] | None*) + + ### layer\_noise\_learning + + + Layer noise learning options. See [`LayerNoiseLearningOptions`](options-layer-noise-learning-options "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") for all options. + + + ### layer\_noise\_model + + + A `NoiseLearnerResult` or a sequence of `LayerError` objects. If `None`, all the mitigation strategies that require noise data (e.g., PEC and PEA) perform a noise-learning stage. Otherwise, this noise-learning stage is skipped, and instead gather the required information from `layer_noise_model`. Layers whose information is missing in `layer_noise_model` are treated as noiseless and their noise is not mitigated. + + Default: `None`. + + + ### measure\_mitigation + + + Whether to enable measurement error mitigation method. If you enable measurement mitigation, you can fine-tune its noise learning by using [`measure_noise_learning`](#qiskit_ibm_runtime.options.ResilienceOptionsV2.measure_noise_learning "qiskit_ibm_runtime.options.ResilienceOptionsV2.measure_noise_learning"). See [`MeasureNoiseLearningOptions`](options-measure-noise-learning-options "qiskit_ibm_runtime.options.MeasureNoiseLearningOptions") for all measurement mitigation noise learning options. + + If `measure_mitigation` is `Unset`, it is determined by the server according to the resilience level: it is `False` for resilience level 0, and `True` for resilience levels 1 and 2. + + + ### measure\_noise\_learning + + + Additional measurement noise learning options. See [`MeasureNoiseLearningOptions`](options-measure-noise-learning-options "qiskit_ibm_runtime.options.MeasureNoiseLearningOptions") for all options. + + + ### pec + + + Additional probabalistic error cancellation mitigation options. See [`PecOptions`](options-pec-options "qiskit_ibm_runtime.options.PecOptions") for all options. + + + ### pec\_mitigation + + + Whether to turn on Probabilistic Error Cancellation error mitigation method. If you enable PEC, you can fine-tune its options by using [`pec`](#qiskit_ibm_runtime.options.ResilienceOptionsV2.pec "qiskit_ibm_runtime.options.ResilienceOptionsV2.pec"). See [`PecOptions`](options-pec-options "qiskit_ibm_runtime.options.PecOptions") for additional PEC-related options. + + Default: False. + + + ### zne + + + Additional zero-noise extrapolation mitigation options. See [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") for all options. + + + ### zne\_mitigation + + + Whether to turn on Zero-Noise Extrapolation error mitigation method. If you enable ZNE, you can fine-tune its options by using [`zne`](#qiskit_ibm_runtime.options.ResilienceOptionsV2.zne "qiskit_ibm_runtime.options.ResilienceOptionsV2.zne"). See [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") for additional ZNE related options. + + If `zne_mitigation` is `Unset`, it is determined by the server according to the resilience level: it is `False` for resilience levels 0 and 1, and `True` for resilience level 2. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-sampler-execution-options-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-sampler-execution-options-v2.mdx new file mode 100644 index 00000000000..1f58b893889 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-sampler-execution-options-v2.mdx @@ -0,0 +1,54 @@ +--- +title: SamplerExecutionOptionsV2 (v0.46) +description: API reference for qiskit_ibm_runtime.options.SamplerExecutionOptionsV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.SamplerExecutionOptionsV2 +--- + +# SamplerExecutionOptionsV2 + + + Bases: [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.execution_options.ExecutionOptionsV2") + + Extension of [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") for the sampler primitive. + + ## Attributes + + **Parameters** + + * **init\_qubits** (*UnsetType | bool*) + * **rep\_delay** (*UnsetType | float*) + * **meas\_type** (*UnsetType | Literal\['classified', 'kerneled', 'avg\_kerneled']*) + + ### init\_qubits + + + Whether to reset the qubits to the ground state for each shot. Default is `True`. + + + ### meas\_type + + + How to process and return measurement results. + + This option sets the return type of all classical registers in all `SamplerPubResult`s. If a sampler pub with shape `pub_shape` has a circuit that contains a classical register with size `creg_size`, then the returned data associated with this register will have one of the following formats depending on the value of this option. + + * `"classified"`: A `BitArray` of shape `pub_shape` over `num_shots` with a number of bits equal to `creg_size`. + * `"kerneled"`: A complex NumPy array of shape `(*pub_shape, num_shots, creg_size)`, where each entry represents an IQ data point (resulting from kerneling the measurement trace) in arbitrary units. + * `"avg_kerneled"`: A complex NumPy array of shape `(*pub_shape, creg_size)`, where each entry represents an IQ data point (resulting from kerneling the measurement trace and averaging over shots) in arbitrary units. This option is equivalent to selecting `"kerneled"` and then averaging over the shots axis, but requires less data bandwidth. + + Default: “classified”. + + See [here](https://pubs.aip.org/aip/rsi/article/88/10/104703/836456) for a description of kerneling. + + + ### rep\_delay + + + The repetition delay. This is the delay between a measurement and the subsequent quantum circuit. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. Default is given by `backend.default_rep_delay`. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-sampler-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-sampler-options.mdx new file mode 100644 index 00000000000..3e3976c125e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-sampler-options.mdx @@ -0,0 +1,90 @@ +--- +title: SamplerOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.SamplerOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.SamplerOptions +--- + +# SamplerOptions + + + Bases: `OptionsV2` + + Options for V2 Sampler. + + ## Attributes + + **Parameters** + + * **\_VERSION** (*int*) + * **max\_execution\_time** (*UnsetType | int*) + * **environment** ([*EnvironmentOptions*](options-environment-options "qiskit_ibm_runtime.options.environment_options.EnvironmentOptions") *| Dict*) + * **simulator** ([*SimulatorOptions*](options-simulator-options "qiskit_ibm_runtime.options.simulator_options.SimulatorOptions") *| Dict*) + * **default\_shots** (*UnsetType | int*) + * **dynamical\_decoupling** ([*DynamicalDecouplingOptions*](options-dynamical-decoupling-options "qiskit_ibm_runtime.options.dynamical_decoupling_options.DynamicalDecouplingOptions") *| Dict*) + * **execution** ([*SamplerExecutionOptionsV2*](options-sampler-execution-options-v2 "qiskit_ibm_runtime.options.sampler_execution_options.SamplerExecutionOptionsV2") *| Dict*) + * **twirling** ([*TwirlingOptions*](options-twirling-options "qiskit_ibm_runtime.options.twirling_options.TwirlingOptions") *| Dict*) + * **experimental** (*UnsetType | dict*) + + ### default\_shots + + + The default number of shots to use if none are specified in the PUBs or in the run method. + + Default: 4096. + + + ### dynamical\_decoupling + + + Suboptions for dynamical decoupling. See [`DynamicalDecouplingOptions`](options-dynamical-decoupling-options "qiskit_ibm_runtime.options.DynamicalDecouplingOptions") for all available options. + + + ### environment + + + + ### execution + + + Execution time options. See [`SamplerExecutionOptionsV2`](options-sampler-execution-options-v2 "qiskit_ibm_runtime.options.SamplerExecutionOptionsV2") for all available options. + + + ### experimental + + + Experimental options. + + + ### max\_execution\_time + + + + ### simulator + + + + ### twirling + + + Pauli twirling options. See [`TwirlingOptions`](options-twirling-options "qiskit_ibm_runtime.options.TwirlingOptions") for all available options. + + + ## Methods + + ### update + + + Update the options. + + **Parameters** + + **kwargs** (*Any*) + + **Return type** + + None + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-simulator-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-simulator-options.mdx new file mode 100644 index 00000000000..2fe5fd801da --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-simulator-options.mdx @@ -0,0 +1,79 @@ +--- +title: SimulatorOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.SimulatorOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.SimulatorOptions +--- + +# SimulatorOptions + + + Bases: `object` + + Simulator options. + + For best practice in simulating a backend make sure to pass the basis gates and coupling map of that backend. + + ## Attributes + + **Parameters** + + * **noise\_model** (*UnsetType | dict | NoiseModel | None*) + * **seed\_simulator** (*UnsetType | int*) + * **coupling\_map** (*UnsetType | list\[list\[int]] |* [*CouplingMap*](/docs/api/qiskit/qiskit.transpiler.CouplingMap)) + * **basis\_gates** (*UnsetType | list\[str]*) + + ### basis\_gates + + + List of basis gate names to unroll to. For example, `['u1', 'u2', 'u3', 'cx']`. Unrolling is not done if not set. + + Default: all basis gates supported by the simulator. + + + ### coupling\_map + + + Directed coupling map to target in mapping. If the coupling map is symmetric, both directions need to be specified. Each entry in the list specifies a directed two-qubit interaction, e.g: `[[0, 1], [0, 3], [1, 2], [1, 5], [2, 5], [4, 1], [5, 3]]`. + + Default: `None`, which implies no connectivity constraints. + + + ### noise\_model + + + Noise model for the simulator. This option is only supported in local testing mode. + + Default: `None`. + + + ### seed\_simulator + + + Random seed to control sampling. + + Default: `None`. + + + ## Methods + + ### set\_backend + + + Set backend for simulation. This method changes noise\_model, coupling\_map, basis\_gates according to given backend. + + **Parameters** + + **backend** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2)) – backend to be set. + + **Raises** + + **MissingOptionalLibraryError** – if qiskit-aer is not found. + + **Return type** + + None + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-twirling-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-twirling-options.mdx new file mode 100644 index 00000000000..76c358a68d6 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-twirling-options.mdx @@ -0,0 +1,95 @@ +--- +title: TwirlingOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.TwirlingOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.TwirlingOptions +--- + +# TwirlingOptions + + + Bases: `object` + + Twirling options. + + ## Attributes + + **Parameters** + + * **enable\_gates** (*UnsetType | bool*) + * **enable\_measure** (*UnsetType | bool*) + * **num\_randomizations** (*UnsetType | int | Literal\['auto']*) + * **shots\_per\_randomization** (*UnsetType | int | Literal\['auto']*) + * **strategy** (*UnsetType | Literal\['active', 'active-accum', 'active-circuit', 'all']*) + + ### enable\_gates + + + Whether to apply 2-qubit Clifford gate twirling. + + Default: - For the Sampler: `False`. - For the Estimator: If `enables_gates` is `Unset`, it is determined by the server according to the resilience level: it is `False` for resilience levels 0 and 1, and `True` for resilience level 2. + + + ### enable\_measure + + + Whether to enable twirling to measurement instructions, as long as the measurement is not involved within a conditional block. + + Default: - For the Sampler: `False`. - For the Estimator: If `enable_measure` is `Unset`, it is determined by the server according to the resilience level: it is `False` for resilience level 0, and `True` for resilience levels 1 and 2. + + + ### num\_randomizations + + + The number of random samples to use when twirling or peforming sampled mitigation. + + If `num_randomizations` is “auto”, for every pub executed `shots` times: + + > * If `shots_per_randomization` is also “auto”, `shots_per_randomization` is set first as described below, then `num_randomizations` is set as `ceil(shots/shots_per_randomization)`, where `ceil` is the ceiling function. + > * Otherwise, the value is set to `ceil(shots/shots_per_randomization)`. + > + > Default: `"auto"`. + + + The `shots` value specified in a PUB or in the `run()` method is considered part of the primitive execution interface and therefore is always obeyed. `default_shots`, on the other hand, is considered a Qiskit Runtime specific option. Therefore, the product of `num_randomizations` and `shots_per_randomization` takes precedence over `default_shots`. + + + + ### shots\_per\_randomization + + + The number of shots to run for each random sample. + + If “auto”, for every pub executed `shots` times: + + > * If `num_randomizations` is also “auto”, the value is set to `64` for PEC mitigation or to `max(64, ceil(shots / 32))` in all other cases, where `ceil` is the ceiling function. + > * Otherwise, the value is set to `ceil(shots/num_randomizations)`. + > + > Default: `"auto"`. + + + The `shots` value specified in a PUB or in the `run()` method is considered part of the primitive execution interface and therefore is always obeyed. `default_shots`, on the other hand, is considered a Qiskit Runtime specific option. Therefore, the product of `num_randomizations` and `shots_per_randomization` takes precedence over `default_shots`. + + + + ### strategy + + + Specify the strategy of twirling qubits in identified layers of 2-qubit twirled gates. + + Allowed values are: + + > * If `"active"` only the instruction qubits in each individual twirled layer will be twirled. + > * If `"active-circuit"` the union of all instruction qubits in the circuit will be twirled in each twirled layer. + > * If `"active-accum"` the union of instructions qubits in the circuit up to the current twirled layer will be twirled in each individual twirled layer. + > * If `"all"` all qubits in the input circuit will be twirled in each twirled layer. + > + > Default: `"active-accum"`. + + ![Image illustrating the differences among twirling strategies. If "active", only instruction qubits in each layer will be twirled. If "active-circuit", all instruction qubits in the circuit will be twirled. If "active-accum", the union all instruction qubits in the circuit up to the current twirled layer will be twirled. Finally, if "all", all qubits in the input circuit will be twirled in each twirled layer.](/docs/images/api/qiskit-ibm-runtime/0.46/twirling_strategy_options.avif) + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options-zne-options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options-zne-options.mdx new file mode 100644 index 00000000000..53872dc71b7 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options-zne-options.mdx @@ -0,0 +1,107 @@ +--- +title: ZneOptions (v0.46) +description: API reference for qiskit_ibm_runtime.options.ZneOptions in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options.ZneOptions +--- + +# ZneOptions + + + Bases: `object` + + Zero noise extrapolation mitigation options. This is only used by the V2 Estimator. + + + Any V2 estimator is guaranteed to return data fields called `evs` and `stds` that report the desired expectation value estimates and errors, respectively. When ZNE options are enabled in the runtime estimator, additional data is returned. + + In particular, suppose an input pub has observable array shape `obs_shape` and parameter values shape `par_shape`, with corresponding pub shape `shape=np.broadcast_shapes(obs_shape, par_shape)`. Then the corresponding pub result will additionally contain: + + 1. **pub\_result.data.evs\_extrapolated and pub\_result.data.stds\_extrapolated,** + + both with shape `(*shape, num_extrapolators, num_evaluation_points)`, where `num_extrapolators` is the length of the list of `options.resilience.zne.extrapolators`, and `num_evaluation_points` is the length of the list `options.resilience.extrapolated_noise_factors`. These values provide evaluations of every extrapolator at every specified noise extrapolation value. + + 2. `pub_result.data.evs_noise_factors`, `pub_result.data.stds_noise_factors`, and `ensemble_stds_noise_factors` all have shape `(*shape, num_noise_factors)` where `num_noise_factors` is the length of `options.resilience.zne.noise_factors`. These values provide raw expectation values, averaged over twirling if applicable, at each of the noise amplifications; you can base your own fitting routines off of these values. In the case of no twirling, both `*stds*` arrays will be equal, otherwise, `stds_noise_factors` is derived from the spread over twirling samples, whereas `ensemble_stds_noise_factors` assumes only shot noise and no drift. + + Technical note: for single observables with multiple basis terms it might turn out that multiple extrapolation methods are used in *the same* expectation value, for example, `XX` gets linearly extrapolated but `XY` gets exponentially extrapolated in the observable `{"XX": 0.5, "XY": 0.5}`. Let’s call this a *heterogeneous fit*. The data from (2) is evaluated from heterogeneous fits by selecting the best fit for every individual distinct term, whereas data from (1) is evaluated from forced homogenous fits, one for each provided extrapolator. If your work requires a nuanced distinction in this regard, we presently recommend that you use single-term observables in addition to your multi-term observables. + + + **References** + + 1. Z. Cai, *Multi-exponential error extrapolation and combining error mitigation techniques for NISQ applications*, [npj Quantum Inf 7, 80 (2021)](https://www.nature.com/articles/s41534-021-00404-3) + + ## Attributes + + **Parameters** + + * **amplifier** (*UnsetType | Literal\['gate\_folding', 'gate\_folding\_front', 'gate\_folding\_back', 'pea']*) + * **noise\_factors** (*UnsetType | Sequence\[float]*) + * **extrapolator** (*UnsetType | Literal\['linear', 'exponential', 'double\_exponential', 'polynomial\_degree\_1', 'polynomial\_degree\_2', 'polynomial\_degree\_3', 'polynomial\_degree\_4', 'polynomial\_degree\_5', 'polynomial\_degree\_6', 'polynomial\_degree\_7', 'fallback'] | \~collections.abc.Sequence\[\~typing.Literal\['linear', 'exponential', 'double\_exponential', 'polynomial\_degree\_1', 'polynomial\_degree\_2', 'polynomial\_degree\_3', 'polynomial\_degree\_4', 'polynomial\_degree\_5', 'polynomial\_degree\_6', 'polynomial\_degree\_7', 'fallback']]*) + * **extrapolated\_noise\_factors** (*UnsetType | Sequence\[float]*) + + ### amplifier + + + Which technique to use for amplifying noise. + + One of: + + > * **“gate\_folding” (default) uses 2-qubit gate folding to amplify noise. If the noise** + > + > factor requires amplifying only a subset of the gates, then these gates are chosen randomly. + > + > * **“gate\_folding\_front” uses 2-qubit gate folding to amplify noise. If the noise** + > + > factor requires amplifying only a subset of the gates, then these gates are selected from the front of the topologically ordered DAG circuit. + > + > * **“gate\_folding\_back” uses 2-qubit gate folding to amplify noise. If the noise** + > + > factor requires amplifying only a subset of the gates, then these gates are selected from the back of the topologically ordered DAG circuit. + > + > * **“pea” uses a technique called Probabilistic Error Amplification** + > + > ([PEA](https://www.nature.com/articles/s41586-023-06096-3)) to amplify noise. When this option is selected, gate twirling will always be used whether or not it has been enabled in the options. In this technique, the twirled noise model of each each unique layer of entangling gates in your ISA circuits is learned beforehand, see [`LayerNoiseLearningOptions`](options-layer-noise-learning-options "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") for relevant learning options. Once complete, your circuits are executed at each noise factor, where every entangling layer of your circuits is amplified by probabilistically injecting single-qubit noise proportional to the corresponding learned noise model. + + + ### extrapolated\_noise\_factors + + + Noise factors to evaluate the fit extrapolation models at. + + If unset, this will default to `[0, *noise_factors]`. This option does not affect execution or model fitting in any way, it only determines the points at which the `extrapolator`\s are evaluated to be returned in the data fields called `evs_extrapolated` and `stds_extrapolated`. + + + ### extrapolator + + + Extrapolator(s) to try (in order) for extrapolating to zero noise. + + The available options are: + + > * `"exponential"`, which fits the data using an exponential decaying function defined as $f(x; A, \tau) = A e^{-x/\tau}$, where $A = f(0; A, \tau)$ is the value at zero noise ($x=0$) and $\tau>0$ is a positive rate. + > * `"double_exponential"`, which uses a sum of two exponential as in Ref. 1. + > * `"polynomial_degree_(1 <= k <= 7)"`, which uses a polynomial function defined as $f(x; c_0, c_1, \ldots, c_k) = \sum_{i=0, k} c_i x^i$. + > * `"linear"`, which is equivalent to `"polynomial_degree_1"`. + > * `"fallback"`, which simply returns the raw data corresponding to the lowest noise factor (typically `1`) without performing any sort of extrapolation. + + The extrapolated values (`evs_extrapolated` and `stds_extrapolated`) are sorted according to the order of the provided extrapolators. If more than one extrapolator is specified, the `evs` and `stds` reported in the result’s data refer to the first successful extrapolator, where an extrapolator success is determined heuristically. + + Default: `("exponential", "linear")`. + + + ### noise\_factors + + + Noise factors to use for noise amplification. + + Default: `(1, 3, 5)`. + + **Type** + + noise\_factors + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/options.mdx b/docs/api/qiskit-ibm-runtime/0.46/options.mdx new file mode 100644 index 00000000000..9f0f6c110e9 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/options.mdx @@ -0,0 +1,74 @@ +--- +title: options (v0.46) +description: API reference for qiskit_ibm_runtime.options in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.options +--- + + + + + +# Primitive options + +`qiskit_ibm_runtime.options` + +Options that can be passed to the Qiskit Runtime primitives. + +## V2 Primitives + +`SamplerV2` and `EstimatorV2` each have their own options. You can use the `options` attribute to set the options. For example: + +```python +from qiskit_ibm_runtime import QiskitRuntimeService, EstimatorV2 + +service = QiskitRuntimeService() +backend = service.least_busy(operational=True, simulator=False) +estimator = EstimatorV2(mode=backend) +estimator.options.resilience_level = 1 +``` + +You can also use the `update()` method to do bulk update. For example: + +```python +from qiskit_ibm_runtime import QiskitRuntimeService, EstimatorV2 + +service = QiskitRuntimeService() +backend = service.least_busy(operational=True, simulator=False) +estimator = EstimatorV2(mode=backend) +estimator.options.update(resilience_level=1) +``` + +Refer to [`SamplerOptions`](options-sampler-options "qiskit_ibm_runtime.options.SamplerOptions") and [`EstimatorOptions`](options-estimator-options "qiskit_ibm_runtime.options.EstimatorOptions") for V2 Sampler and V2 Estimator options, respectively. + + + If an option is not specified, the server default value is used. The default values are subject to change. Refer to this current module’s documentation for the latest defaults. + + +## Classes + +### Base primitive options + +| | | +| --------------------------------------------------------------------------------------------- | ------------------------- | +| [`EstimatorOptions`](options-estimator-options "qiskit_ibm_runtime.options.EstimatorOptions") | Options for V2 Estimator. | +| [`SamplerOptions`](options-sampler-options "qiskit_ibm_runtime.options.SamplerOptions") | Options for V2 Sampler. | + +### Suboptions + +| | | +| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| [`NoiseLearnerOptions`](options-noise-learner-options "qiskit_ibm_runtime.options.NoiseLearnerOptions") | Options for [`NoiseLearner`](noise-learner-noise-learner "qiskit_ibm_runtime.noise_learner.NoiseLearner"). | +| [`DynamicalDecouplingOptions`](options-dynamical-decoupling-options "qiskit_ibm_runtime.options.DynamicalDecouplingOptions") | Options for dynamical decoupling (DD). | +| [`ResilienceOptionsV2`](options-resilience-options-v2 "qiskit_ibm_runtime.options.ResilienceOptionsV2") | Resilience options for V2 Estimator. | +| [`LayerNoiseLearningOptions`](options-layer-noise-learning-options "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") | Options for learning layer noise. | +| [`MeasureNoiseLearningOptions`](options-measure-noise-learning-options "qiskit_ibm_runtime.options.MeasureNoiseLearningOptions") | Options for measurement noise learning. | +| [`PecOptions`](options-pec-options "qiskit_ibm_runtime.options.PecOptions") | Probabalistic error cancellation mitigation options. | +| [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") | Zero noise extrapolation mitigation options. | +| [`TwirlingOptions`](options-twirling-options "qiskit_ibm_runtime.options.TwirlingOptions") | Twirling options. | +| [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") | Execution options for V2 primitives. | +| [`SamplerExecutionOptionsV2`](options-sampler-execution-options-v2 "qiskit_ibm_runtime.options.SamplerExecutionOptionsV2") | Extension of [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") for the sampler primitive. | +| [`EnvironmentOptions`](options-environment-options "qiskit_ibm_runtime.options.EnvironmentOptions") | Options related to the execution environment. | +| [`SimulatorOptions`](options-simulator-options "qiskit_ibm_runtime.options.SimulatorOptions") | Simulator options. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/qiskit-runtime-service.mdx b/docs/api/qiskit-ibm-runtime/0.46/qiskit-runtime-service.mdx new file mode 100644 index 00000000000..4f0133c670d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/qiskit-runtime-service.mdx @@ -0,0 +1,419 @@ +--- +title: QiskitRuntimeService (v0.46) +description: API reference for qiskit_ibm_runtime.QiskitRuntimeService in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.QiskitRuntimeService +--- + +# QiskitRuntimeService + + + Bases: `object` + + Class for interacting with the Qiskit Runtime service. + + QiskitRuntimeService constructor. + + Recommended uses: + + * Direct instantiation: + + > ```python + > from qiskit_ibm_runtime import QiskitRuntimeService + > + > service = QiskitRuntimeService( + > channel="ibm_quantum_platform", # optional + > token="API_KEY", + > instance="CRN" # recommended + > ) + > ``` + + * Saving default acccount: + + > ```python + > from qiskit_ibm_runtime import QiskitRuntimeService + > + > QiskitRuntimeService.save_account( + > token="API_KEY", + > instance="CRN", + > set_as_default = True + > ) + > + > service = QiskitRuntimeService() + > ``` + + The minimum required information for service authentication to a non-local channel is the `token`. The `local` channel doesn’t require authentication. For non-local channels, it is recommended to always provide the relevant `instance` to minimize API calls. If an `instance` is not defined, the service will fetch all instances accessible within the account, filtered by `region`, `plans_preference`, and `tags`. If `plans_preference` is not set, free and trial instances will be prioritized over paid instances. + + Also note that only one account per API token can be used. The API token is linked to the account it was created in. If you want to use multiple accounts, you must create multiple API tokens. + + The service will attempt to load an account from file if (a) no explicit `token` was provided during instantiation or (b) a `name` is specified, even if an explicit `token` was provided to the service constructor. The account will be selected based on the following criteria: + + * If a `filename` is specified, account details will be loaded from `filename`, else they will be loaded from the default configuration file. + * If a `name` is specified, the corresponding account details will be loaded from the configuration file, including `channel`, `token`, `instance`, `region`, `plans_preference`, and the advanced configuration parameters: `url`, `url_resolver`, `private_endpoint`, `verify`, and `proxies`. **Important Note**: An explicit `instance` value provided during instantiation will **overwrite** the value of the loaded `instance`. + * If no `name` is specified: if `channel` is specified, the service will load the default account associated with that channel from the configuration file. Else, it will fall back to the overall default account, defined when calling [`save_account()`](#qiskit_ibm_runtime.QiskitRuntimeService.save_account "qiskit_ibm_runtime.QiskitRuntimeService.save_account") with `set_as_default=True`. + + **Parameters** + + * **channel** (*Optional\[ChannelType]*) – String that identifies the service platform. This is set to `ibm_quantum_platform` by default, but can additionally take `local` and `ibm_cloud` as values. `ibm_cloud` is a legacy option and points to the same path as `ibm_quantum_platform`, the recommended value is ibm\_quantum\_platform\`. If `local` is selected, the local testing mode will be used, and primitive queries will run on a local simulator. For more details, check the [Qiskit Runtime local testing mode](/docs/guides/local-testing-mode) documentation. For non-local modes, the channel is used to resolve the default API URL value. `ibm_cloud` was the identifier for the legacy IBM Cloud platform, and its URL will be redirected to the new `ibm_quantum_platform` address. + * **token** (*Optional\[str]*) – IBM Cloud API key. Providing an API key is required for IQP authentication. If not provided explicitly, the default saved account will be queried for this API key. + * **url** (*Optional\[str]*) – Base API URL. Defaults to `https://cloud.ibm.com` for non-local channels accessing the IBM Quantum Platform (e.g., `ibm_quantum_platform`, `ibm_cloud`). This URL is processed by a `url_resolver` to route requests to the correct service entrypoint. If you provide a custom `url`, you must also supply a matching `url_resolver`. The default resolver rewrites the base URL to `https://quantum.cloud.ibm.com/api/v[x]`. + * **filename** (*Optional\[str]*) – Full path of the file where the account is created. Default: \_DEFAULT\_ACCOUNT\_CONFIG\_JSON\_FILE. + * **name** (*Optional\[str]*) – Name of the account to load from file. + * **instance** (*Optional\[str]*) – The service instance to use. For `ibm_cloud` and `ibm_quantum_platform`, this is the Cloud Resource Name (CRN) or the service name. If set, it will define an instance for service instantiation, if not set, the service will fetch all instances accessible within the account following the specified filtering criteria. + * **proxies** (*Optional\[dict]*) – Proxy configuration. Supported optional keys are `urls` (a dictionary mapping protocol or protocol and host to the URL of the proxy, documented at [https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies](https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies)), `username_ntlm`, `password_ntlm` (username and password to enable NTLM user authentication) + * **verify** (*Optional\[bool]*) – Whether to verify the server’s TLS certificate. + * **private\_endpoint** (*Optional\[bool]*) – Connect to private API URL. + * **url\_resolver** (*Optional\[Callable]*) – Function used to resolve the runtime URL. If not provided, a default resolver will be used to access different service endpoints. + * **region** (*Optional\[str]*) – Set a region preference for automatic instance selection. This argument is **ignored** if an `instance` is specified. Accepted values are `us-east` or `eu-de`. An instance with this region will be prioritized if an instance is not passed in. + * **plans\_preference** (*Optional\[List\[str]]*) – A list of account plan names ordered by priority for automatic instance selection. This argument is **ignored** if an `instance` is specified. Only instances with the given plan names will be considered. For example, if you want to avoid using your premium accounts you can just pass in `"open"` to only use your open plan instances. Accepted values include (but are not limited to): `open`, `premium`, `flex`, `on-prem`, `pay-as-you-go`. + * **tags** (*Optional\[List\[str]]*) – Set a list of tags to filter available instances for automatic instance selection. This argument is **ignored** if an `instance` is specified. + + **Returns** + + An instance of [`QiskitRuntimeService`](#qiskit_ibm_runtime.QiskitRuntimeService "qiskit_ibm_runtime.QiskitRuntimeService") or `QiskitRuntimeLocalService` if local channel is set. + + **Raises** + + **IBMInputValueError** – If an input is invalid. + + ## Attributes + + ### channel + + + Return the channel type used. + + **Returns** + + The channel type used. + + + ## Methods + + ### active\_account + + + Return the IBM Quantum account currently in use for the session. + + **Returns** + + A dictionary with information about the account currently in the session. + + **Return type** + + dict\[str, str] | None + + + ### active\_instance + + + Return the crn of the current active instance. + + **Return type** + + str + + + ### backend + + + Return a single backend matching the specified filtering. + + **Parameters** + + * **name** (*str*) – Name of the backend. + * **instance** (*str | None*) – Specify the IBM Cloud account CRN. + * **use\_fractional\_gates** (*bool | None*) – Set True to allow for the backends to include fractional gates. Currently this feature cannot be used simultaneously with dynamic circuits, PEC, PEA, or gate twirling. When this flag is set, control flow instructions are automatically removed from the backend. When you use a dynamic circuits feature (e.g. `if_else`) in your algorithm, you must disable this flag to create executable ISA circuits. This flag might be modified or removed when our backend supports dynamic circuits and fractional gates simultaneously. If `None`, then both fractional gates and control flow operations are included in the backends. + * **calibration\_id** (*str | None*) – The calibration id used for instantiating the backend. + + **Returns** + + A backend matching the filtering. + + **Raises** + + * **QiskitBackendNotFoundError** – if no backend could be found. + * **IBMInputValueError** – if fractional gates are requested but not supported by the backend. + + **Return type** + + [*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) + + + ### backends + + + Return all backends accessible via this account, subject to optional filtering. + + **Parameters** + + * **name** (*str | None*) – Backend name to filter by. + + * **min\_num\_qubits** (*int | None*) – Minimum number of qubits the backend has to have. + + * **instance** (*str | None*) – IBM Cloud account CRN + + * **dynamic\_circuits** (*bool | None*) – Filter by whether the backend supports dynamic circuits. + + * **filters** (*Callable\[\[*[*IBMBackend*](ibm-backend "qiskit_ibm_runtime.ibm_backend.IBMBackend")*], bool] | None*) – + + More complex filters, such as lambda functions. For example: + + ```python + QiskitRuntimeService.backends( + filters=lambda b: b.max_shots > 50000 + ) + QiskitRuntimeService.backends( + filters=lambda x: ("rz" in x.basis_gates ) + ) + ``` + + * **use\_fractional\_gates** (*bool | None*) – Set True to allow for the backends to include fractional gates. Note that our backends now support dynamic circuits and fractional gates simultaneously. You no longer have to disable this flag when using dynamic circuits features (e.g. `if_else`) in your algorithm. Control flow instructions are not removed from the backend when this flag is set to True. If `None`, then both fractional gates and control flow operations are included in the backends. + + * **calibration\_id** (*str | None*) – The calibration id used for instantiating the backend. This should only be used when selecting a single backend as the calibration id is defined per backend. + + * **\*\*kwargs** (*Any*) – + + Simple filters that require a specific value for an attribute in backend configuration or status. Examples: + + ```python + # Get the operational real backends + QiskitRuntimeService.backends(simulator=False, operational=True) + + # Get the backends with at least 127 qubits + QiskitRuntimeService.backends(min_num_qubits=127) + + # Get the backends that support OpenPulse + QiskitRuntimeService.backends(open_pulse=True) + ``` + + For the full list of backend attributes, see the [IBMBackend class documentation](/docs/api/qiskit-ibm-runtime) + + **Returns** + + The list of available backends that match the filter. + + **Raises** + + * **IBMInputValueError** – If an input is invalid. + * **QiskitBackendNotFoundError** – If the backend is not in any instance. + + **Return type** + + list\[[*IBMBackend*](ibm-backend "qiskit_ibm_runtime.ibm_backend.IBMBackend")] + + + ### delete\_account + + + Delete a saved account from disk. + + **Parameters** + + * **filename** (*str | None*) – Name of file from which to delete the account. + * **name** (*str | None*) – Name of the saved account to delete. + * **channel** (*Literal\['ibm\_quantum\_platform', 'ibm\_cloud', 'local'] | None*) – Channel type of the default account to delete. Ignored if account name is provided. + + **Returns** + + True if the account was deleted. False if no account was found. + + **Return type** + + bool + + + ### delete\_job + + + Delete a runtime job. + + Note that this operation cannot be reversed. + + **Parameters** + + **job\_id** (*str*) – ID of the job to delete. + + **Raises** + + * **RuntimeJobNotFound** – The job doesn’t exist. + * **IBMRuntimeError** – Method is not supported. + + **Return type** + + None + + + ### instances + + + **Return a list that contains a series of dictionaries with the** + + following instance identifiers per instance: “crn”, “plan”, “name”. + + **Returns** + + A list with instances available for the active account. + + **Return type** + + *Sequence*\[dict\[str, *Any*]] + + + ### job + + + Retrieve a runtime job. + + **Parameters** + + **job\_id** (*str*) – Job ID. + + **Returns** + + Runtime job retrieved. + + **Raises** + + * **RuntimeJobNotFound** – If the job doesn’t exist. + * **IBMRuntimeError** – If the request failed. + + **Return type** + + [*RuntimeJobV2*](runtime-job-v2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2") + + + ### jobs + + + Retrieve all runtime jobs, subject to optional filtering. + + **Parameters** + + * **limit** (*int | None*) – Number of jobs to retrieve. `None` means no limit. + * **skip** (*int*) – Starting index for the job retrieval. + * **backend\_name** (*str | None*) – Name of the backend to retrieve jobs from. + * **pending** (*bool | None*) – Filter by job pending state. If `True`, ‘QUEUED’ and ‘RUNNING’ jobs are included. If `False`, ‘DONE’, ‘CANCELLED’ and ‘ERROR’ jobs are included. + * **program\_id** (*str | None*) – Filter by Program ID. + * **instance** (*str | None*) – Filter by IBM Cloud instance crn. + * **job\_tags** (*list\[str] | None*) – Filter by tags assigned to jobs. Matched jobs are associated with all tags. + * **session\_id** (*str | None*) – Filter by session id. All jobs in the session will be returned in desceding order of the job creation date. + * **created\_after** (*datetime | None*) – Filter by the given start date, in local time. This is used to find jobs whose creation dates are after (greater than or equal to) this local date/time. + * **created\_before** (*datetime | None*) – Filter by the given end date, in local time. This is used to find jobs whose creation dates are before (less than or equal to) this local date/time. + * **descending** (*bool*) – If `True`, return the jobs in descending order of the job creation date (i.e. newest first) until the limit is reached. + + **Returns** + + A list of runtime jobs. + + **Raises** + + **IBMInputValueError** – If an input value is invalid. + + **Return type** + + list\[[*RuntimeJobV2*](runtime-job-v2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2")] + + + ### least\_busy + + + Return the least busy available backend. + + **Parameters** + + * **min\_num\_qubits** (*int | None*) – Minimum number of qubits the backend has to have. + + * **instance** (*str | None*) – IBM Cloud account CRN. + + * **filters** (*Callable\[\[*[*IBMBackend*](ibm-backend "qiskit_ibm_runtime.ibm_backend.IBMBackend")*], bool] | None*) – + + Filters can be defined as for the [`backends()`](#qiskit_ibm_runtime.QiskitRuntimeService.backends "qiskit_ibm_runtime.QiskitRuntimeService.backends") method. An example to get the operational backends with 5 qubits: + + ```python + QiskitRuntimeService.least_busy(n_qubits=5, operational=True) + ``` + + * **kwargs** (*Any*) + + **Returns** + + The backend with the fewest number of pending jobs. + + **Raises** + + **QiskitBackendNotFoundError** – If no backend matches the criteria. + + **Return type** + + [*IBMBackend*](ibm-backend "qiskit_ibm_runtime.ibm_backend.IBMBackend") + + + ### save\_account + + + Save the account to disk for future use. + + **Parameters** + + * **token** (*str | None*) – IBM Cloud API key. + * **url** (*str | None*) – The API URL. Defaults to [https://cloud.ibm.com](https://cloud.ibm.com). + * **instance** (*str | None*) – This is an optional parameter to specify the CRN or service name. If set, it will define a default instance for service instantiation, if not set, the service will fetch all instances accessible within the account. + * **channel** (*Literal\['ibm\_quantum\_platform', 'ibm\_cloud', 'local'] | None*) – Channel type. `ibm_cloud` or `ibm_quantum_platform`. + * **filename** (*str | None*) – Full path of the file where the account is saved. + * **name** (*str | None*) – Name of the account to save. + * **proxies** (*dict | None*) – Proxy configuration. Supported optional keys are `urls` (a dictionary mapping protocol or protocol and host to the URL of the proxy, documented at [https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies](https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies)), `username_ntlm`, `password_ntlm` (username and password to enable NTLM user authentication) + * **verify** (*bool | None*) – Verify the server’s TLS certificate. + * **overwrite** (*bool | None*) – `True` if the existing account is to be overwritten. + * **set\_as\_default** (*bool | None*) – If `True`, the account is saved in filename, as the default account. + * **private\_endpoint** (*bool | None*) – Connect to private API URL. + * **region** (*Literal\['us-east', 'eu-de'] | None*) – Set a region preference. us-east or eu-de. An instance with this region will be prioritized if an instance is not passed in. + * **plans\_preference** (*list\[str] | None*) – A list of account plan names (`open`, `premium`, etc.), ordered by preference. An instance with the first value in the list will be prioritized and only instances with the given plan names will be considered. For example, if you want to avoid using your premium accounts you can just pass in `"open"` to only use your open plan instances. `plans_preference` is ignored if an `instance` is specified. + * **tags** (*list\[str] | None*) – Set a list of tags to filter available instances. Instances with these tags will be prioritized if an instance is not passed in. + + **Return type** + + None + + + ### saved\_accounts + + + List the accounts saved on disk. + + **Parameters** + + * **default** (*bool | None*) – If set to True, only default accounts are returned. + * **channel** (*Literal\['ibm\_quantum\_platform', 'ibm\_cloud', 'local'] | None*) – Channel type.\`\`ibm\_cloud\`\` or `ibm_quantum_platform`. + * **filename** (*str | None*) – Name of file whose accounts are returned. + * **name** (*str | None*) – If set, only accounts with the given name are returned. + + **Returns** + + A dictionary with information about the accounts saved on disk. + + **Raises** + + **ValueError** – If an invalid account is found on disk. + + **Return type** + + dict + + + ### usage + + + Return usage information for the current active instance. + + **Returns** + + Dict with usage details. + + **Return type** + + dict\[str, *Any*] + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/runtime-decoder.mdx b/docs/api/qiskit-ibm-runtime/0.46/runtime-decoder.mdx new file mode 100644 index 00000000000..e661acf2f62 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/runtime-decoder.mdx @@ -0,0 +1,63 @@ +--- +title: RuntimeDecoder (v0.46) +description: API reference for qiskit_ibm_runtime.RuntimeDecoder in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.RuntimeDecoder +--- + +# RuntimeDecoder + + + Bases: `JSONDecoder` + + JSON Decoder used by runtime service. + + `object_hook`, if specified, will be called with the result of every JSON object decoded and its return value will be used in place of the given `dict`. This can be used to provide custom deserializations (e.g. to support JSON-RPC class hinting). + + `object_pairs_hook`, if specified will be called with the result of every JSON object decoded with an ordered list of pairs. The return value of `object_pairs_hook` will be used instead of the `dict`. This feature can be used to implement custom decoders. If `object_hook` is also defined, the `object_pairs_hook` takes priority. + + `parse_float`, if specified, will be called with the string of every JSON float to be decoded. By default this is equivalent to float(num\_str). This can be used to use another datatype or parser for JSON floats (e.g. decimal.Decimal). + + `parse_int`, if specified, will be called with the string of every JSON int to be decoded. By default this is equivalent to int(num\_str). This can be used to use another datatype or parser for JSON integers (e.g. float). + + `parse_constant`, if specified, will be called with one of the following strings: -Infinity, Infinity, NaN. This can be used to raise an exception if invalid JSON numbers are encountered. + + If `strict` is false (true is the default), then control characters will be allowed inside strings. Control characters in this context are those with character codes in the 0-31 range, including `'\t'` (tab), `'\n'`, `'\r'` and `'\0'`. + + ## Methods + + **Parameters** + + * **args** (*Any*) + * **kwargs** (*Any*) + + ### decode + + + Return the Python representation of `s` (a `str` instance containing a JSON document). + + + ### object\_hook + + + Called to decode object. + + **Parameters** + + **obj** (*Any*) + + **Return type** + + *Any* + + + ### raw\_decode + + + Decode a JSON document from `s` (a `str` beginning with a JSON document) and return a 2-tuple of the Python representation and the index in `s` where the document ended. + + This can be used to decode a JSON document from a string that may have extraneous data at the end. + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/runtime-encoder.mdx b/docs/api/qiskit-ibm-runtime/0.46/runtime-encoder.mdx new file mode 100644 index 00000000000..df56896271d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/runtime-encoder.mdx @@ -0,0 +1,99 @@ +--- +title: RuntimeEncoder (v0.46) +description: API reference for qiskit_ibm_runtime.RuntimeEncoder in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.RuntimeEncoder +--- + +# RuntimeEncoder + + + Bases: `JSONEncoder` + + JSON Encoder used by runtime service. + + Constructor for JSONEncoder, with sensible defaults. + + If skipkeys is false, then it is a TypeError to attempt encoding of keys that are not str, int, float or None. If skipkeys is True, such items are simply skipped. + + If ensure\_ascii is true, the output is guaranteed to be str objects with all incoming non-ASCII characters escaped. If ensure\_ascii is false, the output can contain non-ASCII characters. + + If check\_circular is true, then lists, dicts, and custom encoded objects will be checked for circular references during encoding to prevent an infinite recursion (which would cause an RecursionError). Otherwise, no such check takes place. + + If allow\_nan is true, then NaN, Infinity, and -Infinity will be encoded as such. This behavior is not JSON specification compliant, but is consistent with most JavaScript based encoders and decoders. Otherwise, it will be a ValueError to encode such floats. + + If sort\_keys is true, then the output of dictionaries will be sorted by key; this is useful for regression tests to ensure that JSON serializations can be compared on a day-to-day basis. + + If indent is a non-negative integer, then JSON array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. None is the most compact representation. + + If specified, separators should be an (item\_separator, key\_separator) tuple. The default is (’, ‘, ‘: ‘) if *indent* is `None` and (‘,’, ‘: ‘) otherwise. To get the most compact JSON representation, you should specify (‘,’, ‘:’) to eliminate whitespace. + + If specified, default is a function that gets called for objects that can’t otherwise be serialized. It should return a JSON encodable version of the object or raise a `TypeError`. + + ## Attributes + + ### item\_separator + + + + ### key\_separator + + + + ## Methods + + ### default + + + Implement this method in a subclass such that it returns a serializable object for `o`, or calls the base implementation (to raise a `TypeError`). + + For example, to support arbitrary iterators, you could implement default like this: + + ```python + def default(self, o): + try: + iterable = iter(o) + except TypeError: + pass + else: + return list(iterable) + # Let the base class default method raise the TypeError + return JSONEncoder.default(self, o) + ``` + + **Parameters** + + **obj** (*Any*) + + **Return type** + + *Any* + + + ### encode + + + Return a JSON string representation of a Python data structure. + + ```python + >>> from json.encoder import JSONEncoder + >>> JSONEncoder().encode({"foo": ["bar", "baz"]}) + '{"foo": ["bar", "baz"]}' + ``` + + + ### iterencode + + + Encode the given object and yield each string representation as available. + + For example: + + ```python + for chunk in JSONEncoder().iterencode(bigobject): + mysocket.write(chunk) + ``` + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/runtime-job-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/runtime-job-v2.mdx new file mode 100644 index 00000000000..9ede46c3580 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/runtime-job-v2.mdx @@ -0,0 +1,381 @@ +--- +title: RuntimeJobV2 (v0.46) +description: API reference for qiskit_ibm_runtime.RuntimeJobV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.RuntimeJobV2 +--- + +# RuntimeJobV2 + + + Bases: [`BasePrimitiveJob`](/docs/api/qiskit/qiskit.primitives.BasePrimitiveJob)\[[`PrimitiveResult`](/docs/api/qiskit/qiskit.primitives.PrimitiveResult), `Literal`\[‘INITIALIZING’, ‘QUEUED’, ‘RUNNING’, ‘CANCELLED’, ‘DONE’, ‘ERROR’]], `BaseRuntimeJob` + + Representation of a runtime V2 primitive execution. + + RuntimeJob constructor. + + **Parameters** + + * **backend** (*Backend*) – The backend instance used to run this job. + * **api\_client** (*RuntimeClient*) – Object for connecting to the server. + * **job\_id** (*str*) – Job ID. + * **program\_id** (*str*) – ID of the program this job is for. + * **creation\_date** (*str | None*) – Job creation date, in UTC. + * **result\_decoder** (*type\[ResultDecoder] | Sequence\[type\[ResultDecoder]] | None*) – A `ResultDecoder` subclass used to decode job results. + * **image** (*str | None*) – Runtime image used for this job: image\_name:tag. + * **service** ([*qiskit\_runtime\_service.QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – Runtime service. + * **session\_id** (*str | None*) – Job ID of the first job in a runtime session. + * **tags** (*list | None*) – Tags assigned to the job. + * **version** (*int | None*) – Primitive version. + * **private** (*bool | None*) – Marks job as private. + + ## Attributes + + ### ERROR + + + + ### JOB\_FINAL\_STATES + + + + ### creation\_date + + + Job creation date in local time. + + **Returns** + + The job creation date as a datetime object, in local time, or `None` if creation date is not available. + + + ### image + + + Return the runtime image used for the job. + + **Returns** + + The runtime image `image_name:tag` or `""` if the default image is used. + + + ### inputs + + + Job input parameters. + + **Returns** + + Input parameters used in this job. + + + ### instance + + + Return the IBM Cloud instance CRN. + + + ### primitive\_id + + + Primitive name. :returns: Primitive this job is for. + + + ### private + + + Returns a boolean indicating whether or not the job is private. + + + ### session\_id + + + Session ID. + + **Returns** + + Session ID. None if the backend is a simulator. + + + ### tags + + + Job tags. + + **Returns** + + Tags assigned to the job that can be used for filtering. + + + ### usage\_estimation + + + Return the usage estimation information for this job. + + **Returns** + + `quantum_seconds` which is the estimated system execution time of the job in seconds. Quantum time represents the time that the system is dedicated to processing your job. + + + ## Methods + + ### backend + + + Return the backend where this job was executed. Retrieve data again if backend is None. + + **Raises** + + **IBMRuntimeError** – If a network error occurred. + + **Parameters** + + **timeout** (*float | None*) + + **Return type** + + [*Backend*](/docs/api/qiskit/qiskit.providers.Backend) | None + + + ### cancel + + + Cancel the job. + + **Raises** + + * **RuntimeInvalidStateError** – If the job is in a state that cannot be cancelled. + * **IBMRuntimeError** – If unable to cancel job. + + **Return type** + + None + + + ### cancelled + + + Return whether the job has been cancelled. + + **Return type** + + bool + + + ### done + + + Return whether the job has successfully run. + + **Return type** + + bool + + + ### error\_message + + + Returns the reason if the job failed. + + **Returns** + + Error message string or `None`. + + **Return type** + + str | None + + + ### errored + + + Return whether the job has failed. + + **Return type** + + bool + + + ### in\_final\_state + + + Return whether the job is in a final job state such as `DONE` or `ERROR`. + + **Return type** + + bool + + + ### job\_id + + + Return a unique id identifying the job. + + **Return type** + + str + + + ### logs + + + Return job logs. + + + Job logs are only available after the job finishes. + + + **Returns** + + Job logs, including standard output and error. + + **Raises** + + **IBMRuntimeError** – If a network error occurred. + + **Return type** + + str + + + ### metrics + + + Return job metrics. + + **Returns** + + * `timestamps`: Timestamps of when the job was created, started running, and finished. + + * **`usage`: Details regarding job usage, the measurement of the amount of** + + time the QPU is locked for your workload. + + **Return type** + + A dictionary with job metrics including but not limited to the following + + **Raises** + + **IBMRuntimeError** – If a network error occurred. + + + ### properties + + + Return the backend properties for this job. + + **Parameters** + + **refresh** (*bool*) – If `True`, re-query the server for the backend properties. Otherwise, return a cached version. + + **Returns** + + The backend properties used for this job, at the time the job started running, or `None` if properties are not available. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") | None + + + ### result + + + Return the results of the job. + + **Parameters** + + * **timeout** (*float | None*) – Number of seconds to wait for job. + * **decoder** (*type\[ResultDecoder] | None*) – A `ResultDecoder` subclass used to decode job results. + + **Returns** + + Runtime job result. + + **Raises** + + * **RuntimeJobFailureError** – If the job failed. + * **RuntimeJobMaxTimeoutError** – If the job does not complete within given timeout. + * **RuntimeInvalidStateError** – If the job was cancelled, and attempting to retrieve result. + + **Return type** + + *Any* + + + ### running + + + Return whether the job is actively running. + + **Return type** + + bool + + + ### status + + + Return the status of the job. + + **Returns** + + Status of this job. + + **Return type** + + *Literal*\[‘INITIALIZING’, ‘QUEUED’, ‘RUNNING’, ‘CANCELLED’, ‘DONE’, ‘ERROR’] + + + ### update\_tags + + + Update the tags associated with this job. + + **Parameters** + + **new\_tags** (*list\[str]*) – New tags to assign to the job. + + **Returns** + + The new tags associated with this job. + + **Raises** + + **IBMApiError** – If an unexpected error occurred when communicating with the server or updating the job tags. + + **Return type** + + list\[str] + + + ### usage + + + Return job usage in seconds. + + **Return type** + + float + + + ### wait\_for\_final\_state + + + Poll for the job status from the API until the status is in a final state. + + **Parameters** + + **timeout** (*float | None*) – Seconds to wait for the job. If `None`, wait indefinitely. + + **Raises** + + **RuntimeJobTimeoutError** – If the job does not complete within given timeout. + + **Return type** + + None + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/runtime-service.mdx b/docs/api/qiskit-ibm-runtime/0.46/runtime-service.mdx new file mode 100644 index 00000000000..aeb03705c7a --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/runtime-service.mdx @@ -0,0 +1,168 @@ +--- +title: qiskit_ibm_runtime (v0.46) +description: API reference for qiskit_ibm_runtime in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime +--- + + + + + +# Qiskit Runtime + +`qiskit_ibm_runtime` + +Modules related to Qiskit Runtime IBM Client. + +Qiskit Runtime is a new architecture that streamlines computations requiring many iterations. These experiments will execute significantly faster within its improved hybrid quantum/classical process. + +## Primitives and sessions + +Qiskit Runtime has two predefined primitives: `Sampler` and `Estimator`. These primitives provide a simplified interface for performing foundational quantum computing tasks while also accounting for the latest developments in quantum hardware and software. + +Qiskit Runtime also has the concept of a session. Jobs submitted within a session are prioritized by the scheduler. A session allows you to make iterative calls to the quantum computer more efficiently. + +Below is an example of using primitives within a session: + +```python +from qiskit_ibm_runtime import QiskitRuntimeService, Session +from qiskit_ibm_runtime import SamplerV2 as Sampler +from qiskit_ibm_runtime import EstimatorV2 as Estimator +from qiskit.circuit.library import real_amplitudes +from qiskit.circuit import QuantumCircuit, QuantumRegister, ClassicalRegister +from qiskit.quantum_info import SparsePauliOp +from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager + +# Initialize account. +service = QiskitRuntimeService() + +# Prepare inputs. +psi = real_amplitudes(num_qubits=2, reps=2) +H1 = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)]) +theta = [0, 1, 1, 2, 3, 5] +# Bell Circuit +qr = QuantumRegister(2, name="qr") +cr = ClassicalRegister(2, name="cr") +qc = QuantumCircuit(qr, cr, name="bell") +qc.h(qr[0]) +qc.cx(qr[0], qr[1]) +qc.measure(qr, cr) + +backend = service.least_busy(operational=True, simulator=False) +pm = generate_preset_pass_manager(target=backend.target, optimization_level=1) + +bell_isa_circuit = pm.run(qc) +psi_isa_circuit = pm.run(psi) +isa_observables = H1.apply_layout(psi_isa_circuit.layout) + +with Session(backend=backend) as session: + # Submit a request to the Sampler primitive within the session. + sampler = Sampler(mode=session) + job = sampler.run([bell_isa_circuit]) + pub_result = job.result()[0] + print(f"Counts: {pub_result.data.cr.get_counts()}") + + # Submit a request to the Estimator primitive within the session. + estimator = Estimator(mode=session) + estimator.options.resilience_level = 1 # Set options. + job = estimator.run( + [(psi_isa_circuit, isa_observables, theta)] + ) + pub_result = job.result()[0] + print(f"Expectation values: {pub_result.data.evs}") +``` + +## Local testing mode + +You can validate your quantum programs before sending them to a physical system using the local testing mode. The local testing mode is activated if one of the fake backends in `qiskit_ibm_runtime.fake_provider` or a Qiskit Aer backend instance is used when instantiating a primitive or a session. For example: + +```python +from qiskit_aer import AerSimulator +from qiskit.circuit.library import real_amplitudes +from qiskit.circuit import QuantumCircuit, QuantumRegister, ClassicalRegister +from qiskit.quantum_info import SparsePauliOp +from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager + +from qiskit_ibm_runtime import Session +from qiskit_ibm_runtime import SamplerV2 as Sampler +from qiskit_ibm_runtime.fake_provider import FakeManilaV2 + +# Bell Circuit +qc = QuantumCircuit(2) +qc.h(0) +qc.cx(0, 1) +qc.measure_all() + +# Run the sampler job locally using FakeManilaV2 +fake_manila = FakeManilaV2() +pm = generate_preset_pass_manager(backend=fake_manila, optimization_level=1) +isa_qc = pm.run(qc) +sampler = Sampler(backend=fake_manila) +result = sampler.run([isa_qc]).result() + +# Run the sampler job locally using AerSimulator. +# Session syntax is supported but ignored. +aer_sim = AerSimulator() +pm = generate_preset_pass_manager(backend=aer_sim, optimization_level=1) +isa_qc = pm.run(qc) +with Session(backend=aer_sim) as session: + sampler = Sampler(mode=session) + result = sampler.run([isa_qc]).result() +``` + +## Backend data + +[`QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") also has methods, such as `backend()`, `backends()`, and `least_busy()`, that allow you to query for a target backend to use. These methods return one or more [`IBMBackend`](ibm-backend "qiskit_ibm_runtime.IBMBackend") instances that contains methods and attributes describing the backend. + +## Supplementary Information + +### Account initialization + +You need to initialize your account before you can start using the Qiskit Runtime service. This is done by initializing a [`QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") instance with your account credentials. If you don’t want to pass in the credentials each time, you can use the [`QiskitRuntimeService.save_account()`](qiskit-runtime-service#save_account "qiskit_ibm_runtime.QiskitRuntimeService.save_account") method to save the credentials on disk. + +Qiskit Runtime is available on IBM Cloud, and you can specify the channel with `channel="ibm_cloud"` or `channel="ibm_quantum_platform"`. + +### Runtime Jobs + +When you use the `run()` method of the [`Sampler`](sampler "qiskit_ibm_runtime.Sampler") or [`Estimator`](estimator "qiskit_ibm_runtime.Estimator") to invoke the primitive, a [`RuntimeJobV2`](runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2") instance is returned. This class has all the basic job methods, such as [`RuntimeJobV2.status()`](runtime-job-v2#status "qiskit_ibm_runtime.RuntimeJobV2.status"), [`RuntimeJobV2.result()`](runtime-job-v2#result "qiskit_ibm_runtime.RuntimeJobV2.result"), and [`RuntimeJobV2.cancel()`](runtime-job-v2#cancel "qiskit_ibm_runtime.RuntimeJobV2.cancel"). + +### Logging + +`qiskit-ibm-runtime` uses the `qiskit_ibm_runtime` logger. + +Two environment variables can be used to control the logging: + +> * **`QISKIT_IBM_RUNTIME_LOG_LEVEL`: Specifies the log level to use.** +> +> If an invalid level is set, the log level defaults to `WARNING`. The valid log levels are `DEBUG`, `INFO`, `WARNING`, `ERROR`, and `CRITICAL` (case-insensitive). If the environment variable is not set, then the parent logger’s level is used, which also defaults to `WARNING`. +> +> * **`QISKIT_IBM_RUNTIME_LOG_FILE`: Specifies the name of the log file to use. If specified,** +> +> messages will be logged to the file only. Otherwise messages will be logged to the standard error (usually the screen). + +For more advanced use, you can modify the logger itself. For example, to manually set the level to `WARNING`: + +```python +import logging +logging.getLogger('qiskit_ibm_runtime').setLevel(logging.WARNING) +``` + +## Classes + +| | | +| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- | +| [`QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") | Class for interacting with the Qiskit Runtime service. | +| [`Estimator`](estimator "qiskit_ibm_runtime.Estimator") | alias of [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.estimator.EstimatorV2") | +| [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.EstimatorV2") | Class for interacting with Qiskit Runtime Estimator primitive service. | +| [`Sampler`](sampler "qiskit_ibm_runtime.Sampler") | alias of [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.sampler.SamplerV2") | +| [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.SamplerV2") | Class for interacting with Qiskit Runtime Sampler primitive service. | +| [`Executor`](executor "qiskit_ibm_runtime.Executor") | Class for running `QuantumProgram`s. | +| [`Session`](session "qiskit_ibm_runtime.Session") | Class for creating a Qiskit Runtime session. | +| [`Batch`](batch "qiskit_ibm_runtime.Batch") | Class for running jobs in batch execution mode. | +| [`IBMBackend`](ibm-backend "qiskit_ibm_runtime.IBMBackend") | Backend class interfacing with an IBM Quantum backend. | +| [`RuntimeJobV2`](runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2") | Representation of a runtime V2 primitive execution. | +| [`RuntimeEncoder`](runtime-encoder "qiskit_ibm_runtime.RuntimeEncoder") | JSON Encoder used by runtime service. | +| [`RuntimeDecoder`](runtime-decoder "qiskit_ibm_runtime.RuntimeDecoder") | JSON Decoder used by runtime service. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/sampler-v2.mdx b/docs/api/qiskit-ibm-runtime/0.46/sampler-v2.mdx new file mode 100644 index 00000000000..747d8395a39 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/sampler-v2.mdx @@ -0,0 +1,95 @@ +--- +title: SamplerV2 (v0.46) +description: API reference for qiskit_ibm_runtime.SamplerV2 in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.SamplerV2 +--- + +# SamplerV2 + + + Bases: `BasePrimitiveV2`\[[`SamplerOptions`](options-sampler-options "qiskit_ibm_runtime.options.sampler_options.SamplerOptions")], `Sampler`, [`BaseSamplerV2`](/docs/api/qiskit/qiskit.primitives.BaseSamplerV2) + + Class for interacting with Qiskit Runtime Sampler primitive service. + + This class supports version 2 of the Sampler interface, which uses different input and output formats than version 1. + + Qiskit Runtime Sampler primitive returns the sampled result according to the specified output type. For example, it returns a bitstring for each shot if measurement level 2 (bits) is requested. + + The [`run()`](#qiskit_ibm_runtime.SamplerV2.run "qiskit_ibm_runtime.SamplerV2.run") method can be used to submit circuits and parameters to the Sampler primitive. + + Initializes the Sampler primitive. + + **Parameters** + + * **mode** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) *|*[*Session*](session "qiskit_ibm_runtime.session.Session") *|*[*Batch*](batch "qiskit_ibm_runtime.batch.Batch") *| None*) – + + The execution mode used to make the primitive query. It can be: + + * A `Backend` if you are using job mode. + * A [`Session`](session "qiskit_ibm_runtime.Session") if you are using session execution mode. + * A [`Batch`](batch "qiskit_ibm_runtime.Batch") if you are using batch execution mode. + + Refer to the [Qiskit Runtime documentation](/docs/guides/execution-modes) for more information about the `Execution modes`. + + * **options** (*dict |* [*SamplerOptions*](options-sampler-options "qiskit_ibm_runtime.options.sampler_options.SamplerOptions") *| None*) – Sampler options, see `SamplerOptions` for detailed description. + + ## Attributes + + ### mode + + + Return the execution mode used by this primitive. + + **Returns** + + Mode used by this primitive, or `None` if an execution mode is not used. + + + ### options + + + Return options + + + ### version + + + + ## Methods + + ### backend + + + Return the backend the primitive query will be run on. + + **Return type** + + [*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) + + + ### run + + + Submit a request to the sampler primitive. + + **Parameters** + + * **pubs** (*Iterable\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Integral | None]]*) – An iterable of pub-like objects. For example, a list of circuits or tuples `(circuit, parameter_values)`. + * **shots** (*int | None*) – The total number of shots to sample for each sampler pub that does not specify its own shots. If `None`, the primitive’s default shots value will be used, which can vary by implementation. + + **Returns** + + Submitted job. The result of the job is an instance of `qiskit.primitives.containers.PrimitiveResult`. + + **Raises** + + **ValueError** – Invalid arguments are given. + + **Return type** + + [*RuntimeJobV2*](runtime-job-v2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/sampler.mdx b/docs/api/qiskit-ibm-runtime/0.46/sampler.mdx new file mode 100644 index 00000000000..a326570f7b5 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/sampler.mdx @@ -0,0 +1,14 @@ +--- +title: Sampler (v0.46) +description: API reference for qiskit_ibm_runtime.Sampler in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: attribute +python_api_name: qiskit_ibm_runtime.Sampler +--- + +# Sampler + + + alias of [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.sampler.SamplerV2") + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/schema-common.mdx b/docs/api/qiskit-ibm-runtime/0.46/schema-common.mdx new file mode 100644 index 00000000000..e1510ec59ae --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/schema-common.mdx @@ -0,0 +1,33 @@ +--- +title: common (v0.46) +description: API reference for ibm_quantum_schemas.common in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: ibm_quantum_schemas.common +--- + + + + + +# Common models + +`ibm_quantum_schemas.common` + +Models that provide common functionality. + +## Classes + +| | | +| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| [`QpyModel`](ibm-quantum-schemas-common-qpy-model "ibm_quantum_schemas.common.QpyModel") | A QPY-encoded quantum circuit. | +| [`QpyModelV13ToV16`](ibm-quantum-schemas-common-qpy-model-v13-to-v16 "ibm_quantum_schemas.common.QpyModelV13ToV16") | QPY encoded circuits with restricted version range. | +| [`QpyModelV13ToV17`](ibm-quantum-schemas-common-qpy-model-v13-to-v17 "ibm_quantum_schemas.common.QpyModelV13ToV17") | QPY encoded circuits with restricted version range. | +| [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.BaseParamsModel") | Model of a runtime program's inner parameters. | +| [`PauliLindbladMapModel`](ibm-quantum-schemas-common-pauli-lindblad-map-model "ibm_quantum_schemas.common.PauliLindbladMapModel") | Encoding of a sparse Pauli Lindblad map. | +| [`SamplexModel`](ibm-quantum-schemas-common-samplex-model "ibm_quantum_schemas.common.SamplexModel") | A QPY-encoded quantum circuit. | +| [`SamplexModelSSV1`](ibm-quantum-schemas-common-samplex-model-ssv-1 "ibm_quantum_schemas.common.SamplexModelSSV1") | A samplex model constrained to use samplex serialization version (SSV) 1. | +| [`SamplexModelSSV1ToSSV2`](ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2 "ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2") | A samplex model constrained to use samplex serialization versions (SSV) 1 or 2. | +| [`TensorModel`](ibm-quantum-schemas-common-tensor-model "ibm_quantum_schemas.common.TensorModel") | Model of tensor data. | +| [`F64TensorModel`](ibm-quantum-schemas-common-f-64-tensor-model "ibm_quantum_schemas.common.F64TensorModel") | Model of tensor data specialized to f64. | + diff --git a/docs/api/qiskit-ibm-runtime/0.46/session.mdx b/docs/api/qiskit-ibm-runtime/0.46/session.mdx new file mode 100644 index 00000000000..f4d821bc757 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/session.mdx @@ -0,0 +1,217 @@ +--- +title: Session (v0.46) +description: API reference for qiskit_ibm_runtime.Session in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.Session +--- + +# Session + + + Bases: `object` + + Class for creating a Qiskit Runtime session. + + A Qiskit Runtime `session` allows you to group a collection of iterative calls to the quantum computer. A session is started when the first job within the session is started. Subsequent jobs within the session are prioritized by the scheduler. + + You can open a Qiskit Runtime session using this `Session` class and submit jobs to one or more primitives. + + For example: + + ```python + from qiskit.circuit import QuantumCircuit, QuantumRegister, ClassicalRegister + from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager + from qiskit_ibm_runtime import QiskitRuntimeService, Session, SamplerV2 as Sampler + + service = QiskitRuntimeService() + backend = service.least_busy(operational=True, simulator=False) + + # Bell Circuit + qr = QuantumRegister(2, name="qr") + cr = ClassicalRegister(2, name="cr") + qc = QuantumCircuit(qr, cr, name="bell") + qc.h(qr[0]) + qc.cx(qr[0], qr[1]) + qc.measure(qr, cr) + + pm = generate_preset_pass_manager(backend=backend, optimization_level=1) + isa_circuit = pm.run(qc) + + with Session(backend=backend) as session: + sampler = Sampler(mode=session) + job = sampler.run([isa_circuit]) + pub_result = job.result()[0] + print(f"Sampler job ID: {job.job_id()}") + print(f"Counts: {pub_result.data.cr.get_counts()}") + ``` + + Session constructor. + + **Parameters** + + * **backend** (*BackendV2*) – Instance of `Backend` class. + * **max\_time** (*int | str | None*) – Maximum amount of time, a runtime session can be open before being forcibly closed. Can be specified as seconds (int) or a string like “2h 30m 40s”. This value must be less than the [system imposed maximum](/docs/guides/max-execution-time). + * **create\_new** (*bool | None*) – If True, the POST session API endpoint will be called to create a new session. Prevents creating a new session when `from_id()` is called. + + **Raises** + + **ValueError** – If an input value is invalid. + + ## Attributes + + ### service + + + Return service associated with this session. + + **Returns** + + [`qiskit_ibm_runtime.QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") associated with this session. + + + ### session\_id + + + Return the session ID. + + **Returns** + + Session ID. None if the backend is a simulator. + + + ## Methods + + ### backend + + + Return backend for this session. + + **Returns** + + Backend for this session. None if unknown. + + **Return type** + + str | None + + + ### cancel + + + Cancel all pending jobs in a session. + + **Return type** + + None + + + ### close + + + Close the session so new jobs will no longer be accepted, but existing queued or running jobs will run to completion. The session will be terminated once there are no more pending jobs. + + **Return type** + + None + + + ### details + + + Return session details. + + **Returns** + + A dictionary with the sessions details. + + * `id`: id of the session. + * `backend_name`: backend used for the session. + * `interactive_timeout`: The maximum idle time (in seconds) between jobs that is allowed to occur before the session is deactivated. + * `max_time`: Maximum allowed time (in seconds) for the session, subject to plan limits. + * `active_timeout`: The maximum time (in seconds) a session can stay active. + * `state`: State of the session - open, active, inactive, or closed. + * `accepting_jobs`: Whether or not the session is accepting jobs. + * `last_job_started`: Timestamp of when the last job in the session started. + * `last_job_completed`: Timestamp of when the last job in the session completed. + * `started_at`: Timestamp of when the session was started. + * `closed_at`: Timestamp of when the session was closed. + * `activated_at`: Timestamp of when the session state was changed to active. + * `mode`: Execution mode of the session. + * `usage_time`: The usage time, in seconds, of this Session or Batch. Usage is defined as the time a quantum system is committed to complete a job. + + **Return type** + + dict\[str, *Any*] | None + + + ### from\_id + + + Construct a Session object with a given `session_id`. For example: + + ```python + from qiskit_ibm_runtime import QiskitRuntimeService, Session + service = QiskitRuntimeService() + job = service.job() + existing_session_id = job.session_id + + new_session = Session.from_id(existing_session_id, service) + ``` + + **Parameters** + + * **session\_id** (*str*) – the id of the session to be created. This must be an already existing session id. + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – + + instance of the `QiskitRuntimeService` class. + + **Raises:** + + IBMInputValueError: If given session\_id does not exist. IBMRuntimeError: If the backend of the session is unknown. + + **Returns** + + A new Session with the given `session_id` + + **Return type** + + [*Session*](#qiskit_ibm_runtime.Session "qiskit_ibm_runtime.session.Session") + + + ### status + + + Return current session status. + + **Returns** + + Session status as a string. + + * `Pending`: Session is created but not active. It will become active when the next job of this session is dequeued. + * `In progress, accepting new jobs`: session is active and accepting new jobs. + * `In progress, not accepting new jobs`: session is active and not accepting new jobs. + * `Closed`: max\_time expired or session was explicitly closed. + * `None`: status details are not available. + + **Return type** + + str | None + + + ### usage + + + Return session usage in seconds. + + Session usage is the time from when the first job starts until the session goes inactive, is closed, or when its last job completes, whichever happens last. + + Batch usage is the amount of time all jobs spend on the QPU. + + **Return type** + + float | None + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-id-to-delay.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-id-to-delay.mdx new file mode 100644 index 00000000000..228676717e3 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-id-to-delay.mdx @@ -0,0 +1,129 @@ +--- +title: ConvertIdToDelay (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.ConvertIdToDelay in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.ConvertIdToDelay +--- + +# ConvertIdToDelay + + + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) + + Convert `qiskit.circuit.library.standard_gates.IGate` to a delay of the corresponding length. + + Convert [`qiskit.circuit.library.IGate`](/docs/api/qiskit/qiskit.circuit.library.IGate) to a Convert [`qiskit.circuit.Delay`](/docs/api/qiskit/circuit#qiskit.circuit.Delay). + + **Parameters** + + * **duration** – Duration of the delay to replace the identity gate with. + * **gate** – Single qubit gate to extract duration from. + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### \_\_call\_\_ + + + Runs the pass on circuit. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The dag on which the pass is run. + * **property\_set** ([*PropertySet*](/docs/api/qiskit/qiskit.passmanager.PropertySet) *| dict | None*) – Input/output property set. An analysis pass might change the property set in-place. If not given, the existing `property_set` attribute of the pass will be used (if set). + + **Returns** + + If a transformation pass, the resulting QuantumCircuit. If analysis pass, the input circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** (*Any*) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – State associated with workflow execution by the pass manager itself. + * **callback** (*Callable | None*) – A callback function which is called per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + tuple\[*Any*, [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)] + + + ### name + + + Name of the pass. + + **Return type** + + str + + + ### run + + + Run a pass on the DAGCircuit. This is implemented by the pass developer. + + **Parameters** + + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – the dag on which the pass is run. + + **Raises** + + **NotImplementedError** – when this is left unimplemented for a pass. + + **Return type** + + [*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit) + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-isa-to-clifford.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-isa-to-clifford.mdx new file mode 100644 index 00000000000..28dc962d62b --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-isa-to-clifford.mdx @@ -0,0 +1,151 @@ +--- +title: ConvertISAToClifford (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.ConvertISAToClifford in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.ConvertISAToClifford +--- + +# ConvertISAToClifford + + + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) + + Convert the gates of an ISA circuit to Clifford gates. + + ISA circuits only contain Clifford gates from a restricted set or [`qiskit.circuit.library.RZGate`](/docs/api/qiskit/qiskit.circuit.library.RZGate)s by arbitrary angles. To convert them to Clifford circuits, this pass rounds the angle of every [`qiskit.circuit.library.RZGate`](/docs/api/qiskit/qiskit.circuit.library.RZGate) or [`qiskit.circuit.library.RZZGate`](/docs/api/qiskit/qiskit.circuit.library.RZZGate) or [`qiskit.circuit.library.RXGate`](/docs/api/qiskit/qiskit.circuit.library.RXGate) to the closest multiple of pi/2 (or to a random multiple of pi/2 if the angle is unspecified), while it skips every Clifford gate, measurement, and barrier. + + ```python + import numpy as np + + from qiskit.circuit import QuantumCircuit, Parameter + from qiskit.transpiler import PassManager + + from qiskit_ibm_runtime.transpiler.passes import ConvertISAToClifford + + # An ISA circuit ending with a Z rotation by pi/3 + qc = QuantumCircuit(2, 2) + qc.sx(0) + qc.rz(np.pi/2, 0) + qc.sx(0) + qc.barrier() + qc.cx(0, 1) + qc.rz(np.pi/3, 0) # non-Clifford Z rotation + qc.rz(Parameter("th"), 0) # Z rotation with unspecified angle + + # Turn into a Clifford circuit + pm = PassManager([ConvertISAToClifford()]) + clifford_qc = pm.run(qc) + ``` + + **Raises** + + **ValueError** – If the given circuit contains unsupported operations, such as non-ISA gates. + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### \_\_call\_\_ + + + Runs the pass on circuit. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The dag on which the pass is run. + * **property\_set** ([*PropertySet*](/docs/api/qiskit/qiskit.passmanager.PropertySet) *| dict | None*) – Input/output property set. An analysis pass might change the property set in-place. If not given, the existing `property_set` attribute of the pass will be used (if set). + + **Returns** + + If a transformation pass, the resulting QuantumCircuit. If analysis pass, the input circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** (*Any*) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – State associated with workflow execution by the pass manager itself. + * **callback** (*Callable | None*) – A callback function which is called per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + tuple\[*Any*, [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)] + + + ### name + + + Name of the pass. + + **Return type** + + str + + + ### run + + + Run a pass on the DAGCircuit. This is implemented by the pass developer. + + **Parameters** + + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – the dag on which the pass is run. + + **Raises** + + **NotImplementedError** – when this is left unimplemented for a pass. + + **Return type** + + [*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit) + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-to-mid-circuit-measure.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-to-mid-circuit-measure.mdx new file mode 100644 index 00000000000..4e9a59beacd --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-convert-to-mid-circuit-measure.mdx @@ -0,0 +1,131 @@ +--- +title: ConvertToMidCircuitMeasure (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.ConvertToMidCircuitMeasure in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.ConvertToMidCircuitMeasure +--- + +# ConvertToMidCircuitMeasure + + + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) + + This pass replaces terminal measures in the middle of the circuit with MidCircuitMeasure instructions. + + Transpiler pass that replaces terminal measure instructions in non-terminal locations with `MidCircuitMeasure` instructions. By default, these will be `measure_2`, but the pass accepts custom `measure_` definitions. This pass is expected to run after routing, as it will check that `MidCircuitMeasure` is supported in the corresponding physical qubit. + + Note that the pass will only act on non-terminal `Measure` instances, and won’t replace existing mid-circuit measurement instructions (e.g., `"measure_2" -> "measure_3"`) or convert any `MidCircuitMeasure` instance into a `Measure`. + + **Parameters** + + * **target** – Backend’s target instance that contains one or more `measure_` instructions. + * **mcm\_name** – Name of the `measure_` instruction that terminal measure instructions in non-terminal locations will be replaced with. This instruction must be contained in the target. Defaults to `measure_2`. + + **Raises** + + **ValueError** – If the specifcied `mcm_name` does not conform to the `measure_` pattern or is not contained in the provided target. + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### \_\_call\_\_ + + + Runs the pass on circuit. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The dag on which the pass is run. + * **property\_set** ([*PropertySet*](/docs/api/qiskit/qiskit.passmanager.PropertySet) *| dict | None*) – Input/output property set. An analysis pass might change the property set in-place. If not given, the existing `property_set` attribute of the pass will be used (if set). + + **Returns** + + If a transformation pass, the resulting QuantumCircuit. If analysis pass, the input circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** (*Any*) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – State associated with workflow execution by the pass manager itself. + * **callback** (*Callable | None*) – A callback function which is called per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + tuple\[*Any*, [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)] + + + ### name + + + Name of the pass. + + **Return type** + + str + + + ### run + + + Run the pass on a dag. + + **Parameters** + + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) + + **Return type** + + [*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit) + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-fold-rzz-angle.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-fold-rzz-angle.mdx new file mode 100644 index 00000000000..af1ffca473c --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-fold-rzz-angle.mdx @@ -0,0 +1,130 @@ +--- +title: FoldRzzAngle (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.FoldRzzAngle in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.FoldRzzAngle +--- + +# FoldRzzAngle + + + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) + + Fold Rzz gate angle into calibrated range of 0-pi/2 with local gate tweaks. + + In the IBM Quantum ISA, the instruction Rzz(theta) has valid “theta” value of \[0, pi/2] and any instruction outside this range becomes a non-ISA operation for the quantum backend. The transpiler pass discovers such non-ISA Rzz gates and folds the gate angle into the calibrated range with addition of single qubit gates while preserving logical equivalency of the input quantum circuit. Added local gates might be efficiently merged into neighboring single qubit gates by the following single qubit optimization passes. + + This pass allows the Qiskit users to naively use the Rzz gates with angle of arbitrary real numbers. + + + This pass doesn’t transform the circuit when the Rzz gate angle is an unbound parameter. In this case, the user must assign a gate angle before transpilation, or be responsible for choosing parameters from the calibrated range of \[0, pi/2]. + + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### \_\_call\_\_ + + + Runs the pass on circuit. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The dag on which the pass is run. + * **property\_set** ([*PropertySet*](/docs/api/qiskit/qiskit.passmanager.PropertySet) *| dict | None*) – Input/output property set. An analysis pass might change the property set in-place. If not given, the existing `property_set` attribute of the pass will be used (if set). + + **Returns** + + If a transformation pass, the resulting QuantumCircuit. If analysis pass, the input circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** (*Any*) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – State associated with workflow execution by the pass manager itself. + * **callback** (*Callable | None*) – A callback function which is called per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + tuple\[*Any*, [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)] + + + ### name + + + Name of the pass. + + **Return type** + + str + + + ### run + + + Run a pass on the DAGCircuit. This is implemented by the pass developer. + + **Parameters** + + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – the dag on which the pass is run. + + **Raises** + + **NotImplementedError** – when this is left unimplemented for a pass. + + **Return type** + + [*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit) + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-alap-schedule-analysis.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-alap-schedule-analysis.mdx new file mode 100644 index 00000000000..939e754c096 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-alap-schedule-analysis.mdx @@ -0,0 +1,148 @@ +--- +title: ALAPScheduleAnalysis (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis +--- + +# ALAPScheduleAnalysis + + + Bases: `BaseDynamicCircuitAnalysis` + + Dynamic circuits as-late-as-possible (ALAP) scheduling analysis pass. + + This is a scheduler designed to work for the unique scheduling constraints of the dynamic circuits backends due to the limitations imposed by hardware. This is expected to evolve over time as the dynamic circuit backends also change. + + In its current form this is similar to Qiskit’s ALAP scheduler in which instructions start as late as possible. + + The primary differences are that: + + * **Resets and control-flow currently trigger the end of a “quantum block”. The period between the end** + + of the block and the next is *nondeterministic* ie., we do not know when the next block will begin (as we could be evaluating a classical function of nondeterministic length) and therefore the next block starts at a *relative* t=0. + + * During a measurement it is possible to apply gates in parallel on disjoint qubits. + + * Measurements and resets on disjoint qubits happen simultaneously and are part of the same block. + + Scheduler for dynamic circuit backends. + + **Parameters** + + * **durations** – Durations of instructions to be used in scheduling. + * **block\_ordering\_callable** – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### \_\_call\_\_ + + + Runs the pass on circuit. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The dag on which the pass is run. + * **property\_set** ([*PropertySet*](/docs/api/qiskit/qiskit.passmanager.PropertySet) *| dict | None*) – Input/output property set. An analysis pass might change the property set in-place. If not given, the existing `property_set` attribute of the pass will be used (if set). + + **Returns** + + If a transformation pass, the resulting QuantumCircuit. If analysis pass, the input circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** (*Any*) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – State associated with workflow execution by the pass manager itself. + * **callback** (*Callable | None*) – A callback function which is called per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + tuple\[*Any*, [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)] + + + ### name + + + Name of the pass. + + **Return type** + + str + + + ### run + + + Run the ASAPSchedule pass on dag. + + **Parameters** + + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – DAG to schedule. + + **Raises** + + * **TranspilerError** – if the circuit is not mapped on physical qubits. + * **TranspilerError** – if conditional bit is added to non-supported instruction. + + **Returns** + + The scheduled DAGCircuit. + + **Return type** + + None + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-asap-schedule-analysis.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-asap-schedule-analysis.mdx new file mode 100644 index 00000000000..e39a93c148c --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-asap-schedule-analysis.mdx @@ -0,0 +1,148 @@ +--- +title: ASAPScheduleAnalysis (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis +--- + +# ASAPScheduleAnalysis + + + Bases: `BaseDynamicCircuitAnalysis` + + Dynamic circuits as-soon-as-possible (ASAP) scheduling analysis pass. + + This is a scheduler designed to work for the unique scheduling constraints of the dynamic circuits backends due to the limitations imposed by hardware. This is expected to evolve over time as the dynamic circuit backends also change. + + In its current form this is similar to Qiskit’s ASAP scheduler in which instructions start as early as possible. + + The primary differences are that: + + * **Resets and control-flow currently trigger the end of a “quantum block”. The period between the end** + + of the block and the next is *nondeterministic* ie., we do not know when the next block will begin (as we could be evaluating a classical function of nondeterministic length) and therefore the next block starts at a *relative* t=0. + + * During a measurement it is possible to apply gates in parallel on disjoint qubits. + + * Measurements and resets on disjoint qubits happen simultaneously and are part of the same block. + + Scheduler for dynamic circuit backends. + + **Parameters** + + * **durations** – Durations of instructions to be used in scheduling. + * **block\_ordering\_callable** – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### \_\_call\_\_ + + + Runs the pass on circuit. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The dag on which the pass is run. + * **property\_set** ([*PropertySet*](/docs/api/qiskit/qiskit.passmanager.PropertySet) *| dict | None*) – Input/output property set. An analysis pass might change the property set in-place. If not given, the existing `property_set` attribute of the pass will be used (if set). + + **Returns** + + If a transformation pass, the resulting QuantumCircuit. If analysis pass, the input circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** (*Any*) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – State associated with workflow execution by the pass manager itself. + * **callback** (*Callable | None*) – A callback function which is called per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + tuple\[*Any*, [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)] + + + ### name + + + Name of the pass. + + **Return type** + + str + + + ### run + + + Run the ALAPSchedule pass on dag. + + **Parameters** + + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – DAG to schedule. + + **Raises** + + * **TranspilerError** – if the circuit is not mapped on physical qubits. + * **TranspilerError** – if conditional bit is added to non-supported instruction. + + **Returns** + + The scheduled DAGCircuit. + + **Return type** + + [*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit) + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-block-base-padder.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-block-base-padder.mdx new file mode 100644 index 00000000000..6db20908f62 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-block-base-padder.mdx @@ -0,0 +1,137 @@ +--- +title: BlockBasePadder (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder +--- + +# BlockBasePadder + + + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) + + The base class of padding pass. + + This pass requires one of scheduling passes to be executed before itself. Since there are multiple scheduling strategies, the selection of scheduling pass is left in the hands of the pass manager designer. Once a scheduling analysis pass is run, `node_start_time` is generated in the `property_set`. This information is represented by a python dictionary of the expected instruction execution times keyed on the node instances. The padding pass expects all `DAGOpNode` in the circuit to be scheduled. + + This base class doesn’t define any sequence to interleave, but it manages the location where the sequence is inserted, and provides a set of information necessary to construct the proper sequence. Thus, a subclass of this pass just needs to implement `_pad()` method, in which the subclass constructs a circuit block to insert. This mechanism removes lots of boilerplate logic to manage whole DAG circuits. + + Note that padding pass subclasses should define interleaving sequences satisfying: + + > * Interleaved sequence does not change start time of other nodes + > * Interleaved sequence should have total duration of the provided `time_interval`. + + Any manipulation violating these constraints may prevent this base pass from correctly tracking the start time of each instruction, which may result in violation of hardware alignment constraints. + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### \_\_call\_\_ + + + Runs the pass on circuit. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The dag on which the pass is run. + * **property\_set** ([*PropertySet*](/docs/api/qiskit/qiskit.passmanager.PropertySet) *| dict | None*) – Input/output property set. An analysis pass might change the property set in-place. If not given, the existing `property_set` attribute of the pass will be used (if set). + + **Returns** + + If a transformation pass, the resulting QuantumCircuit. If analysis pass, the input circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** (*Any*) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – State associated with workflow execution by the pass manager itself. + * **callback** (*Callable | None*) – A callback function which is called per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + tuple\[*Any*, [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)] + + + ### name + + + Name of the pass. + + **Return type** + + str + + + ### run + + + Run the padding pass on `dag`. + + **Parameters** + + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – DAG to be checked. + + **Returns** + + DAG with idle time filled with instructions. + + **Raises** + + **TranspilerError** – When a particular node is not scheduled, likely some transform pass is inserted before this node is called. + + **Return type** + + [*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit) + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-dynamic-circuit-instruction-durations.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-dynamic-circuit-instruction-durations.mdx new file mode 100644 index 00000000000..a340807c19b --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-dynamic-circuit-instruction-durations.mdx @@ -0,0 +1,136 @@ +--- +title: DynamicCircuitInstructionDurations (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations +--- + +# DynamicCircuitInstructionDurations + + + Bases: [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) + + For dynamic circuits the IBM Qiskit backend currently reports instruction durations that differ compared with those required for the legacy Qobj-based path. For now we use this class to report updated InstructionDurations. TODO: This would be mitigated by a specialized Backend/Target for dynamic circuit backends. + + Dynamic circuit instruction durations. + + ## Attributes + + **Parameters** + + * **instruction\_durations** (*InstructionDurationsType | None*) + * **dt** (*float | None*) + * **enable\_patching** (*bool*) + + ### MEASURE\_PATCH\_CYCLES + + + + ### MEASURE\_PATCH\_ODD\_OFFSET + + + + ## Methods + + ### from\_backend + + + Construct a `DynamicInstructionDurations` object from the backend. :param backend: backend from which durations (gate lengths) and dt are extracted. + + **Returns** + + The InstructionDurations constructed from backend. + + **Parameters** + + **backend** ([*Backend*](/docs/api/qiskit/qiskit.providers.Backend)) + + **Return type** + + [*DynamicCircuitInstructionDurations*](#qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations "qiskit_ibm_runtime.transpiler.passes.scheduling.utils.DynamicCircuitInstructionDurations") + + + ### from\_target + + + Construct a `DynamicInstructionDurations` object from the target. :param target: target from which durations (gate lengths) and dt are extracted. + + **Returns** + + The InstructionDurations constructed from backend. + + **Parameters** + + **target** ([*Target*](/docs/api/qiskit/qiskit.transpiler.Target)) + + **Return type** + + [*DynamicCircuitInstructionDurations*](#qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations "qiskit_ibm_runtime.transpiler.passes.scheduling.utils.DynamicCircuitInstructionDurations") + + + ### get + + + Get the duration of the instruction with the name, qubits, and parameters. + + Some instructions may have a parameter dependent duration. + + **Parameters** + + * **inst** (*str |* [*Instruction*](/docs/api/qiskit/qiskit.circuit.Instruction)) – An instruction or its name to be queried. + * **qubits** (*int | list\[int]*) – Qubit indices that the instruction acts on. + * **unit** (*str*) – The unit of duration to be returned. It must be ‘s’ or ‘dt’. + * **parameters** (*list\[float] | None*) – The value of the parameters of the desired instruction. + + **Returns** + + The duration of the instruction on the qubits. + + **Return type** + + float|int + + **Raises** + + **TranspilerError** – No duration is defined for the instruction. + + + ### units\_used + + + Get the set of all units used in this instruction durations. + + **Returns** + + Set of units used in this instruction durations. + + **Return type** + + set\[str] + + + ### update + + + Update self with inst\_durations (inst\_durations overwrite self). Overrides the default durations for certain hardcoded instructions. + + **Parameters** + + * **inst\_durations** (*List\[Tuple\[str, Iterable\[int] | None, float, Iterable\[float] | None, str]] | List\[Tuple\[str, Iterable\[int] | None, float, Iterable\[float] | None]] | List\[Tuple\[str, Iterable\[int] | None, float, str]] | List\[Tuple\[str, Iterable\[int] | None, float]] |* [*InstructionDurations*](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) *| None*) – Instruction durations to be merged into self (overwriting self). + * **dt** (*float | None*) – Sampling duration in seconds of the target backend. + + **Returns** + + The updated InstructionDurations. + + **Raises** + + **TranspilerError** – If the format of instruction\_durations is invalid. + + **Return type** + + [*DynamicCircuitInstructionDurations*](#qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations "qiskit_ibm_runtime.transpiler.passes.scheduling.utils.DynamicCircuitInstructionDurations") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-delay.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-delay.mdx new file mode 100644 index 00000000000..c77a70c99ab --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-delay.mdx @@ -0,0 +1,151 @@ +--- +title: PadDelay (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay +--- + +# PadDelay + + + Bases: [`BlockBasePadder`](transpiler-passes-scheduling-block-base-padder "qiskit_ibm_runtime.transpiler.passes.scheduling.block_base_padder.BlockBasePadder") + + Padding idle time with Delay instructions. + + Consecutive delays will be merged in the output of this pass. + + The ASAP-scheduled circuit output may become + + ```python + ┌────────────────┐ + q_0: ┤ Delay(160[dt]) ├──■── + └─────┬───┬──────┘┌─┴─┐ + q_1: ──────┤ X ├───────┤ X ├ + └───┘ └───┘ + ``` + + Note that the additional idle time of 60dt on the `q_0` wire coming from the duration difference between `Delay` of 100dt (`q_0`) and `XGate` of 160 dt (`q_1`) is absorbed in the delay instruction on the `q_0` wire, i.e. in total 160 dt. + + See [`BlockBasePadder`](transpiler-passes-scheduling-block-base-padder "qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder") pass for details. + + Create new padding delay pass. + + **Parameters** + + * **durations** – Durations of instructions to be used in scheduling. + * **fill\_very\_end** – Set `True` to fill the end of circuit with delay. + * **schedule\_idle\_qubits** – Set to true if you’d like a delay inserted on idle qubits. This is useful for timeline visualizations, but may cause issues for execution on large backends. + * **block\_ordering\_callable** – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### \_\_call\_\_ + + + Runs the pass on circuit. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The dag on which the pass is run. + * **property\_set** ([*PropertySet*](/docs/api/qiskit/qiskit.passmanager.PropertySet) *| dict | None*) – Input/output property set. An analysis pass might change the property set in-place. If not given, the existing `property_set` attribute of the pass will be used (if set). + + **Returns** + + If a transformation pass, the resulting QuantumCircuit. If analysis pass, the input circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** (*Any*) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – State associated with workflow execution by the pass manager itself. + * **callback** (*Callable | None*) – A callback function which is called per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + tuple\[*Any*, [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)] + + + ### name + + + Name of the pass. + + **Return type** + + str + + + ### run + + + Run the padding pass on `dag`. + + **Parameters** + + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – DAG to be checked. + + **Returns** + + DAG with idle time filled with instructions. + + **Raises** + + **TranspilerError** – When a particular node is not scheduled, likely some transform pass is inserted before this node is called. + + **Return type** + + [*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit) + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-dynamical-decoupling.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-dynamical-decoupling.mdx new file mode 100644 index 00000000000..037fb325613 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling-pad-dynamical-decoupling.mdx @@ -0,0 +1,229 @@ +--- +title: PadDynamicalDecoupling (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling +--- + +# PadDynamicalDecoupling + + + Bases: [`BlockBasePadder`](transpiler-passes-scheduling-block-base-padder "qiskit_ibm_runtime.transpiler.passes.scheduling.block_base_padder.BlockBasePadder") + + Dynamical decoupling insertion pass for IBM dynamic circuit backends. + + This pass works on a scheduled, physical circuit. It scans the circuit for idle periods of time (i.e. those containing delay instructions) and inserts a DD sequence of gates in those spots. These gates amount to the identity, so do not alter the logical action of the circuit, but have the effect of mitigating decoherence in those idle periods. As a special case, the pass allows a length-1 sequence (e.g. \[XGate()]). In this case the DD insertion happens only when the gate inverse can be absorbed into a neighboring gate in the circuit (so we would still be replacing Delay with something that is equivalent to the identity). This can be used, for instance, as a Hahn echo. This pass ensures that the inserted sequence preserves the circuit exactly (including global phase). + + ```python + import numpy as np + from qiskit.circuit import QuantumCircuit + from qiskit.circuit.library import XGate + from qiskit.transpiler import PassManager, InstructionDurations + from qiskit.visualization import timeline_drawer + + from qiskit_ibm_runtime.transpiler.passes.scheduling import ALAPScheduleAnalysis + from qiskit_ibm_runtime.transpiler.passes.scheduling import PadDynamicalDecoupling + + circ = QuantumCircuit(4) + circ.h(0) + circ.cx(0, 1) + circ.cx(1, 2) + circ.cx(2, 3) + circ.measure_all() + durations = InstructionDurations( + [("h", 0, 50), ("cx", [0, 1], 700), ("reset", None, 10), + ("cx", [1, 2], 200), ("cx", [2, 3], 300), + ("x", None, 50), ("measure", None, 1000)] + ) + + # balanced X-X sequence on all qubits + dd_sequence = [XGate(), XGate()] + pm = PassManager([ALAPScheduleAnalysis(durations), + PadDynamicalDecoupling(durations, dd_sequence)]) + circ_dd = pm.run(circ) + circ_dd.draw('mpl', style="iqp") + ``` + + ![Circuit diagram output by the previous code.](/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-1.avif) + + ```python + # Uhrig sequence on qubit 0 + n = 8 + dd_sequence = [XGate()] * n + def uhrig_pulse_location(k): + return np.sin(np.pi * (k + 1) / (2 * n + 2)) ** 2 + spacings = [] + for k in range(n): + spacings.append(uhrig_pulse_location(k) - sum(spacings)) + spacings.append(1 - sum(spacings)) + pm = PassManager( + [ + ALAPScheduleAnalysis(durations), + PadDynamicalDecoupling(durations, dd_sequence, qubits=[0], spacings=spacings), + ] + ) + circ_dd = pm.run(circ) + circ_dd.draw('mpl', style="iqp") + ``` + + ![Circuit diagram output by the previous code.](/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-2.avif) + + + You need to call [`ALAPScheduleAnalysis`](transpiler-passes-scheduling-alap-schedule-analysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis") before running dynamical decoupling to guarantee your circuit satisfies acquisition alignment constraints for dynamic circuit backends. + + + Dynamical decoupling initializer. + + **Parameters** + + * **durations** – Durations of instructions to be used in scheduling. + + * **dd\_sequences** – Sequence of gates to apply in idle spots. Alternatively a list of gate sequences may be supplied that will preferentially be inserted if there is a delay of sufficient duration. This may be tuned by the optionally supplied `sequence_min_length_ratios`. + + * **qubits** – Physical qubits on which to apply DD. If None, all qubits will undergo DD (when possible). + + * **spacings** – A list of lists of spacings between the DD gates. The available slack will be divided according to this. The list length must be one more than the length of dd\_sequence, and the elements must sum to 1. If None, a balanced spacing will be used \[d/2, d, d, …, d, d, d/2]. This spacing only applies to the first subcircuit, if a `coupling_map` is specified + + * **skip\_reset\_qubits** – If True, does not insert DD on idle periods that immediately follow initialized/reset qubits (as qubits in the ground state are less susceptible to decoherence). + + * **pulse\_alignment** – The hardware constraints for gate timing allocation. This is usually provided from `backend.configuration().timing_constraints`. If provided, the delay length, i.e. `spacing`, is implicitly adjusted to satisfy this constraint. + + * **extra\_slack\_distribution** – + + The option to control the behavior of DD sequence generation. The duration of the DD sequence should be identical to an idle time in the scheduled quantum circuit, however, the delay in between gates comprising the sequence should be integer number in units of dt, and it might be further truncated when `pulse_alignment` is specified. This sometimes results in the duration of the created sequence being shorter than the idle time that you want to fill with the sequence, i.e. extra slack. This option takes following values. + + > * ”middle”: Put the extra slack to the interval at the middle of the sequence. + > * ”edges”: Divide the extra slack as evenly as possible into intervals at beginning and end of the sequence. + + * **sequence\_min\_length\_ratios** – List of minimum delay length to DD sequence ratio to satisfy in order to insert the DD sequence. For example if the X-X dynamical decoupling sequence is 320dt samples long and the available delay is 384dt it has a ratio of 384dt/320dt=1.2. From the perspective of dynamical decoupling this is likely to add more control noise than decoupling error rate reductions. The defaults value is 2.0. + + * **insert\_multiple\_cycles** – If the available duration exceeds 2\*sequence\_min\_length\_ratio\*duration(dd\_sequence) enable the insertion of multiple rounds of the dynamical decoupling sequence in that delay. + + * **coupling\_map** – directed graph representing the coupling map for the device. Specifying a coupling map partitions the device into subcircuits, in order to apply DD sequences with different pulse spacings within each. Currently support 2 subcircuits. + + * **alt\_spacings** – A list of lists of spacings between the DD gates, for the second subcircuit, as determined by the coupling map. If None, a balanced spacing that is staggered with respect to the first subcircuit will be used \[d, d, d, …, d, d, 0]. + + * **schedule\_idle\_qubits** – Set to true if you’d like a delay inserted on idle qubits. This is useful for timeline visualizations, but may cause issues for execution on large backends. + + * **dd\_barrier** – only apply DD to delays terminating with a barrier whose label contains the specified string + + * **block\_ordering\_callable** – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. + + **Raises** + + * **TranspilerError** – When invalid DD sequence is specified. + * **TranspilerError** – When pulse gate with the duration which is non-multiple of the alignment constraint value is found. + * **TranspilerError** – When the coupling map is not supported (i.e., if degree > 3) + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### \_\_call\_\_ + + + Runs the pass on circuit. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The dag on which the pass is run. + * **property\_set** ([*PropertySet*](/docs/api/qiskit/qiskit.passmanager.PropertySet) *| dict | None*) – Input/output property set. An analysis pass might change the property set in-place. If not given, the existing `property_set` attribute of the pass will be used (if set). + + **Returns** + + If a transformation pass, the resulting QuantumCircuit. If analysis pass, the input circuit. + + **Return type** + + [*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** (*Any*) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – State associated with workflow execution by the pass manager itself. + * **callback** (*Callable | None*) – A callback function which is called per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + tuple\[*Any*, [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)] + + + ### name + + + Name of the pass. + + **Return type** + + str + + + ### run + + + Run the padding pass on `dag`. + + **Parameters** + + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – DAG to be checked. + + **Returns** + + DAG with idle time filled with instructions. + + **Raises** + + **TranspilerError** – When a particular node is not scheduled, likely some transform pass is inserted before this node is called. + + **Return type** + + [*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit) + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState)) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/docs/api/qiskit/qiskit.passmanager.PassManagerState) + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling.mdx new file mode 100644 index 00000000000..c4f8e8f1731 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler-passes-scheduling.mdx @@ -0,0 +1,112 @@ +--- +title: scheduling (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes.scheduling in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling +--- + + + + + +# Transpiler scheduling passes + +`qiskit_ibm_runtime.transpiler.passes.scheduling` + +A collection of scheduling passes for working with IBM Quantum’s next-generation backends that support advanced “dynamic circuit” capabilities. Ie., circuits with support for classical control-flow/feedback based off of measurement results. For more information on dynamic circuits, see our [Classical feedforward and control flow](/docs/guides/classical-feedforward-and-control-flow) guide. + + + You should not mix these scheduling passes with Qiskit’s built in scheduling passes as they will negatively interact with the scheduling routines for dynamic circuits. This includes setting `scheduling_method` in [`transpile()`](/docs/api/qiskit/compiler#qiskit.compiler.transpile) or `generate_preset_pass_manager()`. + + +## Classes + +| | | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [`BlockBasePadder`](transpiler-passes-scheduling-block-base-padder "qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder") | The base class of padding pass. | +| [`ALAPScheduleAnalysis`](transpiler-passes-scheduling-alap-schedule-analysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis") | Dynamic circuits as-late-as-possible (ALAP) scheduling analysis pass. | +| [`ASAPScheduleAnalysis`](transpiler-passes-scheduling-asap-schedule-analysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis") | Dynamic circuits as-soon-as-possible (ASAP) scheduling analysis pass. | +| [`DynamicCircuitInstructionDurations`](transpiler-passes-scheduling-dynamic-circuit-instruction-durations "qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations") | For dynamic circuits the IBM Qiskit backend currently reports instruction durations that differ compared with those required for the legacy Qobj-based path. | +| [`PadDelay`](transpiler-passes-scheduling-pad-delay "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay") | Padding idle time with Delay instructions. | +| [`PadDynamicalDecoupling`](transpiler-passes-scheduling-pad-dynamical-decoupling "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling") | Dynamical decoupling insertion pass for IBM dynamic circuit backends. | + +## Example usage + +Below we demonstrate how to schedule and pad a teleportation circuit with delays for a dynamic circuit backend’s execution model: + +```python +from qiskit.circuit import ClassicalRegister, QuantumCircuit, QuantumRegister +from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager +from qiskit.transpiler.passmanager import PassManager + +from qiskit_ibm_runtime.transpiler.passes.scheduling import ALAPScheduleAnalysis +from qiskit_ibm_runtime.transpiler.passes.scheduling import PadDelay +from qiskit_ibm_runtime.fake_provider import FakeJakartaV2 + +backend = FakeJakartaV2() + +# Use this duration class to get appropriate durations for dynamic +# circuit backend scheduling +# Generate the main Qiskit transpile passes. +pm = generate_preset_pass_manager(optimization_level=1, backend=backend) +# Configure the as-late-as-possible scheduling pass +pm.scheduling = PassManager([ + ALAPScheduleAnalysis(target=backend.target), + PadDelay(target=backend.target)] + ) + +qr = QuantumRegister(3) +crz = ClassicalRegister(1, name="crz") +crx = ClassicalRegister(1, name="crx") +result = ClassicalRegister(1, name="result") + +teleport = QuantumCircuit(qr, crz, crx, result, name="Teleport") + +teleport.h(qr[1]) +teleport.cx(qr[1], qr[2]) +teleport.cx(qr[0], qr[1]) +teleport.h(qr[0]) +teleport.measure(qr[0], crz) +teleport.measure(qr[1], crx) +with teleport.if_test((crz, 1)): + teleport.z(qr[2]) +with teleport.if_test((crx, 1)): + teleport.x(qr[2]) +teleport.measure(qr[2], result) + +# Transpile. +scheduled_teleport = pm.run(teleport) + +scheduled_teleport.draw(output="mpl", style="iqp") +``` + +![Circuit diagram output by the previous code.](/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-1.avif) + +Instead of padding with delays we may also insert a dynamical decoupling sequence using the [`PadDynamicalDecoupling`](transpiler-passes-scheduling-pad-dynamical-decoupling "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling") pass as shown below: + +```python +from qiskit.circuit.library import XGate + +from qiskit_ibm_runtime.transpiler.passes.scheduling import PadDynamicalDecoupling + + +dd_sequence = [XGate(), XGate()] + +pm = generate_preset_pass_manager(optimization_level=1, backend=backend) +pm.scheduling = PassManager( + [ + ALAPScheduleAnalysis(target=backend.target), + PadDynamicalDecoupling(target=backend.target, dd_sequences=dd_sequence), + ] +) + +dd_teleport = pm.run(teleport) + +dd_teleport.draw(output="mpl", style="iqp") +``` + +![Circuit diagram output by the previous code.](/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-2.avif) + +When compiling a circuit with Qiskit, it is more efficient and more robust to perform all the transformations in a single transpilation. This has been done above by extending Qiskit’s preset pass managers. For example, Qiskit’s [`transpile()`](/docs/api/qiskit/compiler#qiskit.compiler.transpile) function internally builds its pass set by using `generate_preset_pass_manager()`. This returns instances of [`StagedPassManager`](/docs/api/qiskit/qiskit.transpiler.StagedPassManager), which can be extended. + diff --git a/docs/api/qiskit-ibm-runtime/0.46/transpiler.mdx b/docs/api/qiskit-ibm-runtime/0.46/transpiler.mdx new file mode 100644 index 00000000000..2cfce61fec5 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/transpiler.mdx @@ -0,0 +1,27 @@ +--- +title: passes (v0.46) +description: API reference for qiskit_ibm_runtime.transpiler.passes in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.transpiler.passes +--- + + + + + +# Transpiler passes + +`qiskit_ibm_runtime.transpiler.passes` + +A collection of transpiler passes. Refer to [/guides/transpile](/docs/guides/transpile) to learn more about transpilation and passes. + +| | | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | +| [`ConvertIdToDelay`](transpiler-passes-convert-id-to-delay "qiskit_ibm_runtime.transpiler.passes.ConvertIdToDelay") | Convert `qiskit.circuit.library.standard_gates.IGate` to a delay of the corresponding length. | +| [`ConvertISAToClifford`](transpiler-passes-convert-isa-to-clifford "qiskit_ibm_runtime.transpiler.passes.ConvertISAToClifford") | Convert the gates of an ISA circuit to Clifford gates. | +| [`FoldRzzAngle`](transpiler-passes-fold-rzz-angle "qiskit_ibm_runtime.transpiler.passes.FoldRzzAngle") | Fold Rzz gate angle into calibrated range of 0-pi/2 with local gate tweaks. | +| [`ConvertToMidCircuitMeasure`](transpiler-passes-convert-to-mid-circuit-measure "qiskit_ibm_runtime.transpiler.passes.ConvertToMidCircuitMeasure") | This pass replaces terminal measures in the middle of the circuit with MidCircuitMeasure instructions. | + +See [`qiskit_ibm_runtime.transpiler.passes.scheduling`](transpiler-passes-scheduling#module-qiskit_ibm_runtime.transpiler.passes.scheduling "qiskit_ibm_runtime.transpiler.passes.scheduling") for a collection of scheduling passes. + diff --git a/docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-layer-error.mdx b/docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-layer-error.mdx new file mode 100644 index 00000000000..e0375203c7c --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-layer-error.mdx @@ -0,0 +1,140 @@ +--- +title: LayerError (v0.46) +description: API reference for qiskit_ibm_runtime.utils.noise_learner_result.LayerError in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.utils.noise_learner_result.LayerError +--- + +# LayerError + + + Bases: `object` + + The error channel (in Pauli-Lindblad format) of a single layer of instructions. + + **Parameters** + + * **circuit** (*QuantumCircuit*) – A circuit whose noise has been learnt. + * **qubits** (*Sequence\[int]*) – The labels of the qubits in the `circuit`. + * **error** ([*PauliLindbladError*](utils-noise-learner-result-pauli-lindblad-error "qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError") *| None*) – The Pauli Lindblad error channel affecting the `circuit`, or `None` if the error channel is either unknown or explicitly disabled. + + **Raises** + + **ValueError** – If `circuit`, `qubits`, and `error` have mismatching number of qubits. + + ## Attributes + + ### circuit + + + The circuit in this `LayerError`. + + + ### error + + + The error channel in this `LayerError`, or `None` if the error channel is either unknown or explicitly disabled. + + + ### num\_qubits + + + The number of qubits in this [`LayerError`](#qiskit_ibm_runtime.utils.noise_learner_result.LayerError "qiskit_ibm_runtime.utils.noise_learner_result.LayerError"). + + + ### qubits + + + The qubits in this `LayerError`. + + + ## Methods + + ### draw\_map + + + Draw a map view of a this layer error. + + **Parameters** + + * **embedding** (*Embedding | BackendV2*) – An `Embedding` object containing the coordinates and coupling map to draw the layer error on, or a backend to generate an `Embedding` for. + * **colorscale** (*str*) – The colorscale used to show the rates of this layer error. + * **color\_no\_data** (*str*) – The color used for qubits and edges for which no data is available. + * **color\_out\_of\_scale** (*str*) – The color used for rates with value greater than `highest_rate`. + * **num\_edge\_segments** (*int*) – The number of equal-sized segments that edges are made of. + * **edge\_width** (*float*) – The line width of the edges in pixels. + * **height** (*int*) – The height of the returned figure. + * **highest\_rate** (*float | None*) – The highest rate, used to normalize all other rates before choosing their colors. If `None`, it defaults to the highest value found in the `layer_error`. + * **background\_color** (*str*) – The background color. + * **radius** (*float*) – The radius of the pie charts representing the qubits. + * **width** (*int*) – The width of the returned figure. + + **Return type** + + PlotlyFigure + + ```python + from qiskit import QuantumCircuit + from qiskit.quantum_info import PauliList + from qiskit_ibm_runtime.utils.embeddings import Embedding + from qiskit_ibm_runtime.utils.noise_learner_result import LayerError, PauliLindbladError + + # A five-qubit 1-D embedding with nearest neighbouring connectivity + coordinates1 = [(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5)] + coupling_map1 = [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)] + embedding1 = Embedding(coordinates1, coupling_map1) + + # A six-qubit horseshoe-shaped embedding with nearest neighbouring connectivity + coordinates2 = [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)] + coupling_map2 = [(0, 1), (1, 2), (0, 3), (3, 4), (4, 5)] + embedding2 = Embedding(coordinates2, coupling_map2) + + # A LayerError object + circuit = QuantumCircuit(4) + qubits = [1, 2, 3, 4] + generators = PauliList(["IIIX", "IIXI", "IXII", "YIII", "ZIII", "XXII", "ZZII"]) + rates = [0.01, 0.01, 0.01, 0.005, 0.02, 0.01, 0.01] + error = PauliLindbladError(generators, rates) + layer_error = LayerError(circuit, qubits, error) + + # Draw the layer error on embedding1 + layer_error.draw_map(embedding1) + + # Draw the layer error on embedding2 + layer_error.draw_map(embedding2) + ``` + + + ### draw\_swarm + + + Draw a swarm plot of the rates in this layer error. + + This function plots the rates along a vertical axes, offsetting the rates along the `x` axis so that they do not overlap with each other. + + + To draw multiple layer errors at once, consider calling [`draw_layer_errors_swarm()`](visualization-draw-layer-errors-swarm "qiskit_ibm_runtime.visualization.draw_layer_errors_swarm") directly. + + + **Parameters** + + * **num\_bodies** (*int | None*) – The weight of the generators to include in the plot, or `None` if all the generators should be included. + * **max\_rate** (*float | None*) – The largest rate to include in the plot, or `None` if no upper limit should be set. + * **min\_rate** (*float | None*) – The smallest rate to include in the plot, or `None` if no lower limit should be set. + * **connected** (*list\[Pauli] | list\[str] | None*) – A list of generators whose markers are to be connected by lines. + * **colors** (*list\[str] | None*) – A list of colors for the markers in the plot, or `None` if these colors are to be chosen automatically. + * **num\_bins** (*int | None*) – The number of bins to place the rates into when calculating the `x`-axis offsets. + * **opacities** (*float | list\[float]*) – A list of opacities for the markers. + * **names** (*list\[str] | None*) – The names of the various layers as displayed in the legend. If `None`, default names are assigned based on the layers’ position inside the `layer_errors` list. + * **x\_coo** (*list\[float] | None*) – The `x`-axis coordinates of the vertical axes that the markers are drawn around, or `None` if these axes should be placed at regular intervals. + * **marker\_size** (*float | None*) – The size of the marker in the plot. + * **height** (*int*) – The height of the returned figure. + * **width** (*int*) – The width of the returned figure. + + **Return type** + + PlotlyFigure + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-pauli-lindblad-error.mdx b/docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-pauli-lindblad-error.mdx new file mode 100644 index 00000000000..c9b2b786590 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/utils-noise-learner-result-pauli-lindblad-error.mdx @@ -0,0 +1,86 @@ +--- +title: PauliLindbladError (v0.46) +description: API reference for qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError +--- + +# PauliLindbladError + + + Bases: `object` + + A Pauli error channel generated by a Pauli Lindblad dissipators. + + This operator represents an N-qubit quantum error channel $E(\rho) = e^{\sum_j r_j D_{P_j}}(\rho)$ generated by Pauli Lindblad dissipators $D_P(\rho) = P \rho P - \rho$, where $P_j$ are N-qubit `Pauli` operators. + + The list of Pauli generator terms are stored as a `PauliList` and can be accessed via the [`generators`](#qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError.generators "qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError.generators") attribute. The array of dissipator rates $r_j$ can be accessed via the [`rates`](#qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError.rates "qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError.rates") attribute. + + The equivalent Pauli error channel can be constructed as a composition of single-Pauli channel terms + +$$ +E = e^{\sum_j r_j D_{P_j}} = \prod_j e^{r_j D_{P_j}} += prod_j \left( (1 - p_j) S_I + p_j S_{P_j} \right) +$$ + + where $p_j = \frac12 - \frac12 e^{-2 r_j}$ \[1]. + + **Parameters** + + * **generators** (*PauliList*) – A list of the Pauli Lindblad generators for the error channel. + * **rates** (*Sequence\[float]*) – A list of the rates for the Pauli-Lindblad `generators`. + + **Raises** + + **ValueError** – If `generators` and `rates` have different lengths. + + **References** + + 1. E. van den Berg, Z. Minev, A. Kandala, K. Temme, *Probabilistic error cancellation with sparse Pauli–Lindblad models on noisy quantum processors*, Nature Physics volume 19, pages1116–1121 (2023). [arXiv:2201.09866 \[quant-ph\]](https://arxiv.org/abs/2201.09866) + + ## Attributes + + ### generators + + + The Pauli Lindblad generators of this [`PauliLindbladError`](#qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError "qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError"). + + + ### num\_qubits + + + The number of qubits in this [`PauliLindbladError`](#qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError "qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError"). + + + ### rates + + + The Lindblad generator rates of this quantum error. + + + ## Methods + + ### restrict\_num\_bodies + + + The [`PauliLindbladError`](#qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError "qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError") containing only those terms acting on exactly `num_qubits` qubits. + + **Parameters** + + **num\_qubits** (*int*) – The number of qubits that the returned error acts on. + + **Returns** + + The error containing only those terms acting on exactly `num_qubits` qubits. + + **Raises** + + **ValueError** – If `num_qubits` is smaller than `0`. + + **Return type** + + [*PauliLindbladError*](#qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError "qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError") + + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-circuit-schedule-timing.mdx b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-circuit-schedule-timing.mdx new file mode 100644 index 00000000000..c467e03be76 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-circuit-schedule-timing.mdx @@ -0,0 +1,33 @@ +--- +title: draw_circuit_schedule_timing (v0.46) +description: API reference for qiskit_ibm_runtime.visualization.draw_circuit_schedule_timing in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: function +python_api_name: qiskit_ibm_runtime.visualization.draw_circuit_schedule_timing +--- + + + +# qiskit\_ibm\_runtime.visualization.draw\_circuit\_schedule\_timing + + + Draw a circuit schedule timing for `CircuitSchedule`. + + **Parameters** + + * **circuit\_schedule** (*str | CircuitSchedule*) – The circuit schedule as a string as returned from the compiler or a CircuitSchedule object. + * **included\_channels** (*list | None*) – A list of channels to include in the plot and to order the y-axis accordingly. + * **filter\_readout\_channels** (*bool*) – If `True`, remove all readout channels. + * **filter\_barriers** (*bool*) – If `True`, remove all barriers. + * **merge\_common\_instructions** (*bool*) – If `True`, merge instructions of the same type based on temporal continuity. + * **width** (*int*) – The width of the returned figure. + + **Returns** + + A plotly figure. + + **Return type** + + PlotlyFigure + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-execution-spans.mdx b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-execution-spans.mdx new file mode 100644 index 00000000000..00a415df6c4 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-execution-spans.mdx @@ -0,0 +1,33 @@ +--- +title: draw_execution_spans (v0.46) +description: API reference for qiskit_ibm_runtime.visualization.draw_execution_spans in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: function +python_api_name: qiskit_ibm_runtime.visualization.draw_execution_spans +--- + + + +# qiskit\_ibm\_runtime.visualization.draw\_execution\_spans + + + Draw one or more [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans") on a bar plot. + + **Parameters** + + * **spans** ([*ExecutionSpans*](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans")) – One or more [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans"). + * **names** (*str | Iterable\[str] | None*) – Name or names to assign to respective `spans`. + * **common\_start** (*bool*) – Whether to shift all collections of spans so that their first span’s start is at $t=0$. + * **normalize\_y** (*bool*) – Whether to display the y-axis units as a percentage of work complete, rather than cumulative shots completed. + * **line\_width** (*int*) – The thickness of line segments. + * **show\_legend** (*bool | None*) – Whether to show a legend. By default, this choice is automatic. + + **Returns** + + A plotly figure. + + **Return type** + + PlotlyFigure + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-error-map.mdx b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-error-map.mdx new file mode 100644 index 00000000000..411943bc222 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-error-map.mdx @@ -0,0 +1,40 @@ +--- +title: draw_layer_error_map (v0.46) +description: API reference for qiskit_ibm_runtime.visualization.draw_layer_error_map in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: function +python_api_name: qiskit_ibm_runtime.visualization.draw_layer_error_map +--- + + + +# qiskit\_ibm\_runtime.visualization.draw\_layer\_error\_map + + + Draw a map view of a [`LayerError`](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError"). + + **Parameters** + + * **layer\_error** ([*LayerError*](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError")) – The [`LayerError`](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError") to draw. + * **embedding** (*Embedding | BackendV2*) – An `Embedding` object containing the coordinates and coupling map to draw the layer error on, or a backend to generate an `Embedding` for. + * **colorscale** (*str*) – The colorscale used to show the rates of `layer_error`. + * **color\_no\_data** (*str*) – The color used for qubits and edges for which no data is available. + * **color\_out\_of\_scale** (*str*) – The color used for rates with value greater than `highest_rate`. + * **num\_edge\_segments** (*int*) – The number of equal-sized segments that edges are made of. + * **edge\_width** (*float*) – The line width of the edges in pixels. + * **height** (*int*) – The height of the returned figure. + * **highest\_rate** (*float | None*) – The highest rate, used to normalize all other rates before choosing their colors. If `None`, it defaults to the highest value found in the `layer_error`. + * **background\_color** (*str*) – The background color. + * **radius** (*float*) – The radius of the pie charts representing the qubits. + * **width** (*int*) – The width of the returned figure. + + **Raises** + + * **ValueError** – If the given coordinates are incompatible with the specified backend. + * **ValueError** – If `backend` has no coupling map. + + **Return type** + + PlotlyFigure + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-errors-swarm.mdx b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-errors-swarm.mdx new file mode 100644 index 00000000000..a0e57a800dc --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-layer-errors-swarm.mdx @@ -0,0 +1,47 @@ +--- +title: draw_layer_errors_swarm (v0.46) +description: API reference for qiskit_ibm_runtime.visualization.draw_layer_errors_swarm in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: function +python_api_name: qiskit_ibm_runtime.visualization.draw_layer_errors_swarm +--- + + + +# qiskit\_ibm\_runtime.visualization.draw\_layer\_errors\_swarm + + + Draw a swarm plot for the given list of layer errors. + + This function plots the rates of each of the given layer errors along a vertical axes, offsetting the rates along the `x` axis to minimize the overlap between the markers. It helps visualizing the distribution of errors for different layer errors, as well as to track (using the `connected` argument) the evolution of specific generators across different layers. + + + To calculate the offsets, this arranges the rates in `num_bins` equally-spaced bins, and then it assigns the `x` coordinates so that all the rates in the same bins are spaced around the vertical axis. Thus, a higher value of `num_bins` will result in higher overlaps between the markers. + + + **Parameters** + + * **layer\_errors** (*list\[*[*LayerError*](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError")*]*) – The layer errors to draw. + * **num\_bodies** (*int | None*) – The weight of the generators to include in the plot, or `None` if all the generators should be included. + * **max\_rate** (*float | None*) – The largest rate to include in the plot, or `None` if no upper limit should be set. + * **min\_rate** (*float | None*) – The smallest rate to include in the plot, or `None` if no lower limit should be set. + * **connected** (*list\[Pauli | str] | None*) – A list of generators whose markers are to be connected by lines. + * **colors** (*list\[str] | None*) – A list of colors for the markers in the plot, or `None` if these colors are to be chosen automatically. + * **num\_bins** (*int | None*) – The number of bins to place the rates into when calculating the `x`-axis offsets. + * **opacities** (*float | list\[float]*) – A list of opacities for the markers. + * **names** (*list\[str] | None*) – The names of the various layers as displayed in the legend. If `None`, default names are assigned based on the layers’ position inside the `layer_errors` list. + * **x\_coo** (*list\[float] | None*) – The `x`-axis coordinates of the vertical axes that the markers are drawn around, or `None` if these axes should be placed at regular intervals. + * **marker\_size** (*float | None*) – The size of the marker in the plot. + * **height** (*int*) – The height of the returned figure. + * **width** (*int*) – The width of the returned figure. + + **Raises** + + * **ValueError** – If an invalid grouping option is given. + * **ValueError** – If `colors` is given but its length is incorrect. + + **Return type** + + PlotlyFigure + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-evs.mdx b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-evs.mdx new file mode 100644 index 00000000000..ea44e84ddd8 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-evs.mdx @@ -0,0 +1,44 @@ +--- +title: draw_zne_evs (v0.46) +description: API reference for qiskit_ibm_runtime.visualization.draw_zne_evs in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: function +python_api_name: qiskit_ibm_runtime.visualization.draw_zne_evs +--- + + + +# qiskit\_ibm\_runtime.visualization.draw\_zne\_evs + + + Plot the zero noise extrapolation data in an `EstimatorPubResult`. + + This function generates a subfigure for each estimated expectation value. + + **Parameters** + + * **result** (*EstimatorPubResult*) – An `EstimatorPubResult`. + * **indices** (*Sequence\[tuple\[int, ...]] | None*) – The indices of the expectation values to include in the plot. If `None`, includes all values. See [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") for information on the indexing scheme. + * **names** (*Sequence\[str] | None*) – The names to assign to the expectation values. If `None`, the names correspond to the indices. + * **num\_stds** (*int*) – The number of standard deviations to include around each fit. + * **max\_mag** (*float*) – The maximum magnitude of expectation values to include. If `evs_extrapolated` has a greater magnitude than this value, the expectation value is omitted from the plot. + * **max\_std** (*float*) – The maximum standard deviation to include. If `stds_extrapolated` is greater than this value for an expectation value and extrapolator, the fit is omitted from the plot. + * **height** (*int*) – The height of the plot in pixels. + * **width** (*int*) – The width of the plot in pixels. + * **num\_cols** (*int*) – The maximum number of columns in the figure. + * **colorscale** (*str*) – The colorscale to use. + + **Returns** + + A plotly figure. + + **Raises** + + * **ValueError** – If `result` does not contain zero noise extrapolation data. + * **ValueError** – If the length of `names` is not equal to the length of `indices`. + + **Return type** + + PlotlyFigure + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-extrapolators.mdx b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-extrapolators.mdx new file mode 100644 index 00000000000..93bdb550440 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/visualization-draw-zne-extrapolators.mdx @@ -0,0 +1,43 @@ +--- +title: draw_zne_extrapolators (v0.46) +description: API reference for qiskit_ibm_runtime.visualization.draw_zne_extrapolators in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 1 +python_api_type: function +python_api_name: qiskit_ibm_runtime.visualization.draw_zne_extrapolators +--- + + + +# qiskit\_ibm\_runtime.visualization.draw\_zne\_extrapolators + + + Plot the zero noise extrapolation data in an `EstimatorPubResult`. + + This function generates a subfigure for each extrapolator. + + **Parameters** + + * **result** (*EstimatorPubResult*) – An `EstimatorPubResult`. + * **indices** (*Sequence\[tuple\[int, ...]] | None*) – The indices of the expectation values to include in the plot. If `None`, includes all values. See [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") for information on the indexing scheme. + * **names** (*Sequence\[str] | None*) – The names to assign to the expectation values. If `None`, the names correspond to the indices. + * **num\_stds** (*int*) – The number of standard deviations to include around each fit. + * **max\_mag** (*float*) – The maximum magnitude of expectation values to include. If `evs_extrapolated` has a greater magnitude than this value, the expectation value is omitted from the plot. + * **max\_std** (*float*) – The maximum standard deviation to include. If `stds_extrapolated` is greater than this value for an expectation value and extrapolator, the fit is omitted from the plot. + * **height** (*int*) – The height of the plot in pixels. + * **width** (*int*) – The width of the plot in pixels. + * **colorscale** (*str*) – The colorscale to use. + + **Returns** + + A plotly figure. + + **Raises** + + * **ValueError** – If `result` does not contain zero noise extrapolation data. + * **ValueError** – If the length of `names` is not equal to the length of `indices`. + + **Return type** + + PlotlyFigure + + diff --git a/docs/api/qiskit-ibm-runtime/0.46/visualization.mdx b/docs/api/qiskit-ibm-runtime/0.46/visualization.mdx new file mode 100644 index 00000000000..e3c553b9f3e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/0.46/visualization.mdx @@ -0,0 +1,29 @@ +--- +title: visualization (v0.46) +description: API reference for qiskit_ibm_runtime.visualization in qiskit-ibm-runtime v0.46 +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.visualization +--- + + + + + +# Visualization + +`qiskit_ibm_runtime.visualization` + +A suite of functions for visualizing qiskit-ibm-runtime’s objects. + +## Functions + +| | | +| -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| [`draw_execution_spans`](visualization-draw-execution-spans "qiskit_ibm_runtime.visualization.draw_execution_spans") | Draw one or more [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans") on a bar plot. | +| [`draw_layer_error_map`](visualization-draw-layer-error-map "qiskit_ibm_runtime.visualization.draw_layer_error_map") | Draw a map view of a [`LayerError`](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError"). | +| [`draw_layer_errors_swarm`](visualization-draw-layer-errors-swarm "qiskit_ibm_runtime.visualization.draw_layer_errors_swarm") | Draw a swarm plot for the given list of layer errors. | +| [`draw_zne_evs`](visualization-draw-zne-evs "qiskit_ibm_runtime.visualization.draw_zne_evs") | Plot the zero noise extrapolation data in an `EstimatorPubResult`. | +| [`draw_zne_extrapolators`](visualization-draw-zne-extrapolators "qiskit_ibm_runtime.visualization.draw_zne_extrapolators") | Plot the zero noise extrapolation data in an `EstimatorPubResult`. | +| [`draw_circuit_schedule_timing`](visualization-draw-circuit-schedule-timing "qiskit_ibm_runtime.visualization.draw_circuit_schedule_timing") | Draw a circuit schedule timing for `CircuitSchedule`. | + diff --git a/public/docs/api/qiskit-ibm-runtime/0.46/objects.inv b/public/docs/api/qiskit-ibm-runtime/0.46/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..6472ea19bc33f4c64d6598b9c0baf74cedd5fe64 GIT binary patch literal 63280 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 literal 0 HcmV?d00001 diff --git a/public/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-1.avif b/public/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-1.avif new file mode 100644 index 0000000000000000000000000000000000000000..aba725dd64fdb39228d7e0bdb27bae58d50e4d9b GIT binary patch literal 2859 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 literal 0 HcmV?d00001 diff --git a/public/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-2.avif b/public/docs/images/api/qiskit-ibm-runtime/0.46/fake_provider-2.avif new file mode 100644 index 0000000000000000000000000000000000000000..8a8b342bc79302947be9928709a698e6d89f3e26 GIT binary patch literal 3977 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 literal 0 HcmV?d00001 diff --git a/public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-1.avif b/public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-1.avif new file mode 100644 index 0000000000000000000000000000000000000000..521409b8d7e103626941ecab8ed7f24b3d65b4f5 GIT binary patch literal 7400 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 N8Py8-Yzx~M`G4Nsx*7lg literal 0 HcmV?d00001 diff --git a/public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-1.avif b/public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-1.avif new file mode 100644 index 0000000000000000000000000000000000000000..27137bcb431fe5fbd16ec4bc80f2566e41195500 GIT binary patch literal 5588 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 Q`nj$)^epL>|C$rxe}_bG-2eap literal 0 HcmV?d00001 diff --git a/public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-2.avif b/public/docs/images/api/qiskit-ibm-runtime/0.46/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-2.avif new file mode 100644 index 0000000000000000000000000000000000000000..06c4b04b0384828969f6c217f3e1926bf68ece84 GIT binary patch literal 4236 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 Date: Thu, 14 May 2026 12:25:52 -0400 Subject: [PATCH 3/5] Update latest docs --- docs/api/qiskit-ibm-runtime/_package.json | 4 - docs/api/qiskit-ibm-runtime/_toc.json | 1052 ----------------- docs/api/qiskit-ibm-runtime/batch.mdx | 38 +- .../debug-tools-neat-pub-result.mdx | 4 +- .../debug-tools-neat-result.mdx | 6 +- .../qiskit-ibm-runtime/debug-tools-neat.mdx | 18 +- docs/api/qiskit-ibm-runtime/estimator-v2.mdx | 12 +- docs/api/qiskit-ibm-runtime/estimator.mdx | 2 +- .../execution-span-double-slice-span.mdx | 38 +- .../execution-span-execution-span.mdx | 10 +- .../execution-span-execution-spans.mdx | 14 +- .../execution-span-slice-span.mdx | 38 +- .../execution-span-twirled-slice-span.mdx | 38 +- .../api/qiskit-ibm-runtime/execution-span.mdx | 2 +- docs/api/qiskit-ibm-runtime/executor-1-0.mdx | 36 + docs/api/qiskit-ibm-runtime/executor.mdx | 28 +- .../fake-provider-fake-aachen.mdx | 346 ++++++ .../fake-provider-fake-algiers.mdx | 49 +- .../fake-provider-fake-almaden-v2.mdx | 49 +- .../fake-provider-fake-armonk-v2.mdx | 49 +- .../fake-provider-fake-athens-v2.mdx | 49 +- .../fake-provider-fake-auckland.mdx | 49 +- .../fake-provider-fake-belem-v2.mdx | 49 +- .../fake-provider-fake-berlin.mdx | 346 ++++++ .../fake-provider-fake-boeblingen-v2.mdx | 49 +- .../fake-provider-fake-bogota-v2.mdx | 49 +- .../fake-provider-fake-boston.mdx | 346 ++++++ .../fake-provider-fake-brisbane.mdx | 49 +- .../fake-provider-fake-brooklyn-v2.mdx | 49 +- .../fake-provider-fake-brussels.mdx | 346 ++++++ .../fake-provider-fake-burlington-v2.mdx | 49 +- .../fake-provider-fake-cairo-v2.mdx | 49 +- .../fake-provider-fake-cambridge-v2.mdx | 49 +- .../fake-provider-fake-casablanca-v2.mdx | 49 +- .../fake-provider-fake-cusco.mdx | 49 +- .../fake-provider-fake-essex-v2.mdx | 49 +- .../fake-provider-fake-fez.mdx | 49 +- .../fake-provider-fake-fractional-backend.mdx | 49 +- .../fake-provider-fake-geneva.mdx | 49 +- .../fake-provider-fake-guadalupe-v2.mdx | 49 +- .../fake-provider-fake-hanoi-v2.mdx | 49 +- .../fake-provider-fake-jakarta-v2.mdx | 49 +- .../fake-provider-fake-johannesburg-v2.mdx | 49 +- .../fake-provider-fake-kawasaki.mdx | 49 +- .../fake-provider-fake-kingston.mdx | 346 ++++++ .../fake-provider-fake-kolkata-v2.mdx | 49 +- .../fake-provider-fake-kyiv.mdx | 49 +- .../fake-provider-fake-kyoto.mdx | 49 +- .../fake-provider-fake-lagos-v2.mdx | 49 +- .../fake-provider-fake-lima-v2.mdx | 49 +- .../fake-provider-fake-london-v2.mdx | 49 +- .../fake-provider-fake-manhattan-v2.mdx | 49 +- .../fake-provider-fake-manila-v2.mdx | 49 +- .../fake-provider-fake-marrakesh.mdx | 49 +- .../fake-provider-fake-melbourne-v2.mdx | 49 +- .../fake-provider-fake-miami.mdx | 346 ++++++ .../fake-provider-fake-montreal-v2.mdx | 49 +- .../fake-provider-fake-mumbai-v2.mdx | 49 +- .../fake-provider-fake-nairobi-v2.mdx | 49 +- .../fake-provider-fake-osaka.mdx | 49 +- .../fake-provider-fake-oslo.mdx | 49 +- .../fake-provider-fake-ourense-v2.mdx | 49 +- .../fake-provider-fake-paris-v2.mdx | 49 +- .../fake-provider-fake-peekskill.mdx | 49 +- .../fake-provider-fake-perth.mdx | 49 +- .../fake-provider-fake-pittsburgh.mdx | 346 ++++++ .../fake-provider-fake-poughkeepsie-v2.mdx | 49 +- .../fake-provider-fake-prague.mdx | 49 +- ...-provider-fake-provider-for-backend-v2.mdx | 6 +- .../fake-provider-fake-quebec.mdx | 49 +- .../fake-provider-fake-quito-v2.mdx | 49 +- .../fake-provider-fake-rochester-v2.mdx | 49 +- .../fake-provider-fake-rome-v2.mdx | 49 +- .../fake-provider-fake-santiago-v2.mdx | 49 +- .../fake-provider-fake-sherbrooke.mdx | 49 +- .../fake-provider-fake-singapore-v2.mdx | 49 +- .../fake-provider-fake-strasbourg.mdx | 346 ++++++ .../fake-provider-fake-sydney-v2.mdx | 49 +- .../fake-provider-fake-torino.mdx | 49 +- .../fake-provider-fake-toronto-v2.mdx | 49 +- .../fake-provider-fake-valencia-v2.mdx | 49 +- .../fake-provider-fake-vigo-v2.mdx | 49 +- .../fake-provider-fake-washington-v2.mdx | 49 +- .../fake-provider-fake-yorktown-v2.mdx | 49 +- docs/api/qiskit-ibm-runtime/fake-provider.mdx | 8 + docs/api/qiskit-ibm-runtime/ibm-backend.mdx | 93 +- ...antum-schemas-common-base-params-model.mdx | 2 +- ...antum-schemas-common-f-64-tensor-model.mdx | 8 +- ...chemas-common-pauli-lindblad-map-model.mdx | 6 +- ...-quantum-schemas-common-qpy-data-model.mdx | 103 ++ ...hemas-common-qpy-data-v13-to-v17-model.mdx | 104 ++ ...um-schemas-common-qpy-model-v13-to-v16.mdx | 12 +- ...um-schemas-common-qpy-model-v13-to-v17.mdx | 12 +- .../ibm-quantum-schemas-common-qpy-model.mdx | 12 +- ...as-common-samplex-model-ssv-1-to-ssv-2.mdx | 8 +- ...tum-schemas-common-samplex-model-ssv-1.mdx | 8 +- ...m-quantum-schemas-common-samplex-model.mdx | 8 +- ...bm-quantum-schemas-common-tensor-model.mdx | 8 +- ...chemas-executor-version-0-1-chunk-part.mdx | 2 +- ...chemas-executor-version-0-1-chunk-span.mdx | 2 +- ...xecutor-version-0-1-circuit-item-model.mdx | 4 +- ...as-executor-version-0-1-metadata-model.mdx | 2 +- ...mas-executor-version-0-1-options-model.mdx | 2 +- ...emas-executor-version-0-1-params-model.mdx | 2 +- ...utor-version-0-1-quantum-program-model.mdx | 4 +- ...-0-1-quantum-program-result-item-model.mdx | 2 +- ...rsion-0-1-quantum-program-result-model.mdx | 4 +- ...xecutor-version-0-1-samplex-item-model.mdx | 4 +- ...chemas-executor-version-0-2-chunk-part.mdx | 2 +- ...chemas-executor-version-0-2-chunk-span.mdx | 2 +- ...xecutor-version-0-2-circuit-item-model.mdx | 4 +- ...ecutor-version-0-2-item-metadata-model.mdx | 2 +- ...as-executor-version-0-2-metadata-model.mdx | 2 +- ...mas-executor-version-0-2-options-model.mdx | 2 +- ...emas-executor-version-0-2-params-model.mdx | 2 +- ...utor-version-0-2-quantum-program-model.mdx | 4 +- ...-0-2-quantum-program-result-item-model.mdx | 2 +- ...rsion-0-2-quantum-program-result-model.mdx | 2 +- ...xecutor-version-0-2-samplex-item-model.mdx | 4 +- ...tor-version-0-2-scheduler-timing-model.mdx | 2 +- ...ecutor-version-0-2-stretch-value-model.mdx | 2 +- ...chemas-executor-version-1-0-chunk-part.mdx | 90 ++ ...chemas-executor-version-1-0-chunk-span.mdx | 40 + ...xecutor-version-1-0-circuit-item-model.mdx | 50 + ...ecutor-version-1-0-item-metadata-model.mdx | 30 + ...as-executor-version-1-0-metadata-model.mdx | 24 + ...mas-executor-version-1-0-options-model.mdx | 56 + ...emas-executor-version-1-0-params-model.mdx | 36 + ...utor-version-1-0-quantum-program-model.mdx | 120 ++ ...-1-0-quantum-program-result-item-model.mdx | 30 + ...rsion-1-0-quantum-program-result-model.mdx | 50 + ...xecutor-version-1-0-samplex-item-model.mdx | 54 + ...tor-version-1-0-scheduler-timing-model.mdx | 32 + ...ecutor-version-1-0-stretch-value-model.mdx | 46 + ...on-0-1-linbdblad-result-metadata-model.mdx | 2 +- ...d-result-post-selection-metadata-model.mdx | 2 +- ...sion-0-1-noise-learner-v3-result-model.mdx | 2 +- ...ion-0-1-noise-learner-v3-results-model.mdx | 2 +- ...e-learner-v3-version-0-1-options-model.mdx | 2 +- ...se-learner-v3-version-0-1-params-model.mdx | 2 +- ...rsion-0-1-post-selection-options-model.mdx | 2 +- ...version-0-1-trex-result-metadata-model.mdx | 2 +- ...x-result-post-selection-metadata-model.mdx | 2 +- ...on-0-2-linbdblad-result-metadata-model.mdx | 2 +- ...d-result-post-selection-metadata-model.mdx | 2 +- ...sion-0-2-noise-learner-v3-result-model.mdx | 2 +- ...ion-0-2-noise-learner-v3-results-model.mdx | 2 +- ...e-learner-v3-version-0-2-options-model.mdx | 2 +- ...se-learner-v3-version-0-2-params-model.mdx | 2 +- ...rsion-0-2-post-selection-options-model.mdx | 2 +- ...version-0-2-trex-result-metadata-model.mdx | 2 +- ...x-result-post-selection-metadata-model.mdx | 2 +- .../ibm-quantum-schemas.mdx | 3 +- docs/api/qiskit-ibm-runtime/index.mdx | 4 + .../models-backend-configuration.mdx | 114 +- .../models-backend-properties.mdx | 36 +- .../models-backend-status.mdx | 8 +- .../qiskit-ibm-runtime/models-gate-config.mdx | 10 +- .../models-gate-properties.mdx | 10 +- docs/api/qiskit-ibm-runtime/models-nduv.mdx | 10 +- .../models-qasm-backend-configuration.mdx | 10 +- .../qiskit-ibm-runtime/models-uchannel-lo.mdx | 10 +- docs/api/qiskit-ibm-runtime/models.mdx | 10 +- .../noise-learner-noise-learner.mdx | 8 +- .../noise-learner-v3-noise-learner-v3.mdx | 78 ++ .../qiskit-ibm-runtime/noise-learner-v3.mdx | 24 + .../options-dynamical-decoupling-options.mdx | 11 +- .../options-environment-options.mdx | 14 +- .../options-estimator-options.mdx | 34 +- .../options-execution-options-v2.mdx | 8 +- .../options-layer-noise-learning-options.mdx | 18 +- ...options-measure-noise-learning-options.mdx | 6 +- .../options-models-environment-options.mdx | 66 ++ .../options-models-execution-options.mdx | 41 + .../options-models-executor-options.mdx | 44 + ...ptions-models-noise-learner-v3-options.mdx | 84 ++ .../options-models-post-selection-options.mdx | 68 ++ .../api/qiskit-ibm-runtime/options-models.mdx | 35 + .../options-noise-learner-options.mdx | 4 +- .../options-pec-options.mdx | 2 +- .../options-resilience-options-v2.mdx | 34 +- .../options-sampler-execution-options-v2.mdx | 10 +- .../options-sampler-options.mdx | 12 +- .../options-simulator-options.mdx | 20 +- .../options-twirling-options.mdx | 2 +- .../options-zne-options.mdx | 20 +- docs/api/qiskit-ibm-runtime/options.mdx | 30 +- .../qiskit-runtime-service.mdx | 80 +- .../quantum-program-quantum-program-item.mdx | 45 + .../quantum-program-quantum-program.mdx | 62 + .../qiskit-ibm-runtime/quantum-program.mdx | 27 + docs/api/qiskit-ibm-runtime/release-notes.mdx | 546 +++++---- .../results-item-metadata.mdx | 18 + .../results-noise-learner-v3-result.mdx | 70 ++ .../results-noise-learner-v3-results.mdx | 67 ++ .../results-quantum-program-item-result.mdx | 85 ++ .../results-quantum-program-result.mdx | 77 ++ docs/api/qiskit-ibm-runtime/results.mdx | 24 + .../qiskit-ibm-runtime/runtime-decoder.mdx | 18 +- .../qiskit-ibm-runtime/runtime-encoder.mdx | 20 +- .../api/qiskit-ibm-runtime/runtime-job-v2.mdx | 79 +- .../qiskit-ibm-runtime/runtime-service.mdx | 28 +- docs/api/qiskit-ibm-runtime/sampler-v2.mdx | 14 +- docs/api/qiskit-ibm-runtime/sampler.mdx | 2 +- docs/api/qiskit-ibm-runtime/schema-common.mdx | 2 + docs/api/qiskit-ibm-runtime/session.mdx | 38 +- .../transpiler-passes-convert-id-to-delay.mdx | 16 +- ...nspiler-passes-convert-isa-to-clifford.mdx | 14 +- ...-passes-convert-to-mid-circuit-measure.mdx | 6 +- .../transpiler-passes-fold-rzz-angle.mdx | 12 +- ...sses-scheduling-alap-schedule-analysis.mdx | 17 +- ...sses-scheduling-asap-schedule-analysis.mdx | 17 +- ...er-passes-scheduling-block-base-padder.mdx | 4 +- ...-dynamic-circuit-instruction-durations.mdx | 40 +- ...transpiler-passes-scheduling-pad-delay.mdx | 7 +- ...es-scheduling-pad-dynamical-decoupling.mdx | 13 +- .../transpiler-passes-scheduling.mdx | 16 +- docs/api/qiskit-ibm-runtime/transpiler.mdx | 12 +- ...utils-noise-learner-result-layer-error.mdx | 10 +- ...se-learner-result-pauli-lindblad-error.mdx | 6 +- .../visualization-draw-chunk-timings.mdx | 42 + ...alization-draw-circuit-schedule-timing.mdx | 2 +- .../visualization-draw-execution-spans.mdx | 2 +- .../visualization-draw-layer-error-map.mdx | 2 +- .../visualization-draw-layer-errors-swarm.mdx | 2 +- .../visualization-draw-zne-evs.mdx | 2 +- .../visualization-draw-zne-extrapolators.mdx | 2 +- docs/api/qiskit-ibm-runtime/visualization.mdx | 1 + .../docs/api/qiskit-ibm-runtime/objects.inv | Bin 63280 -> 72788 bytes .../qiskit-ibm-runtime/fake_provider-1.avif | Bin 13282 -> 2859 bytes .../qiskit-ibm-runtime/fake_provider-2.avif | Bin 17695 -> 3977 bytes .../qiskit-ibm-runtime/fake_provider-3.avif | Bin 5708 -> 3009 bytes ...untime-transpiler-passes-scheduling-1.avif | Bin 37387 -> 7400 bytes ...untime-transpiler-passes-scheduling-2.avif | Bin 61922 -> 10414 bytes ...s-scheduling-PadDynamicalDecoupling-1.avif | Bin 27496 -> 5588 bytes ...s-scheduling-PadDynamicalDecoupling-2.avif | Bin 24708 -> 4236 bytes .../twirling_strategy_options.avif | Bin 30768 -> 7015 bytes 237 files changed, 7584 insertions(+), 3012 deletions(-) delete mode 100644 docs/api/qiskit-ibm-runtime/_package.json delete mode 100644 docs/api/qiskit-ibm-runtime/_toc.json create mode 100644 docs/api/qiskit-ibm-runtime/executor-1-0.mdx create mode 100644 docs/api/qiskit-ibm-runtime/fake-provider-fake-aachen.mdx create mode 100644 docs/api/qiskit-ibm-runtime/fake-provider-fake-berlin.mdx create mode 100644 docs/api/qiskit-ibm-runtime/fake-provider-fake-boston.mdx create mode 100644 docs/api/qiskit-ibm-runtime/fake-provider-fake-brussels.mdx create mode 100644 docs/api/qiskit-ibm-runtime/fake-provider-fake-kingston.mdx create mode 100644 docs/api/qiskit-ibm-runtime/fake-provider-fake-miami.mdx create mode 100644 docs/api/qiskit-ibm-runtime/fake-provider-fake-pittsburgh.mdx create mode 100644 docs/api/qiskit-ibm-runtime/fake-provider-fake-strasbourg.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-data-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-data-v13-to-v17-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-chunk-part.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-chunk-span.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-circuit-item-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-item-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-metadata-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-options-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-params-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-result-item-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-result-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-samplex-item-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-scheduler-timing-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-stretch-value-model.mdx create mode 100644 docs/api/qiskit-ibm-runtime/noise-learner-v3-noise-learner-v3.mdx create mode 100644 docs/api/qiskit-ibm-runtime/noise-learner-v3.mdx create mode 100644 docs/api/qiskit-ibm-runtime/options-models-environment-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/options-models-execution-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/options-models-executor-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/options-models-noise-learner-v3-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/options-models-post-selection-options.mdx create mode 100644 docs/api/qiskit-ibm-runtime/options-models.mdx create mode 100644 docs/api/qiskit-ibm-runtime/quantum-program-quantum-program-item.mdx create mode 100644 docs/api/qiskit-ibm-runtime/quantum-program-quantum-program.mdx create mode 100644 docs/api/qiskit-ibm-runtime/quantum-program.mdx create mode 100644 docs/api/qiskit-ibm-runtime/results-item-metadata.mdx create mode 100644 docs/api/qiskit-ibm-runtime/results-noise-learner-v3-result.mdx create mode 100644 docs/api/qiskit-ibm-runtime/results-noise-learner-v3-results.mdx create mode 100644 docs/api/qiskit-ibm-runtime/results-quantum-program-item-result.mdx create mode 100644 docs/api/qiskit-ibm-runtime/results-quantum-program-result.mdx create mode 100644 docs/api/qiskit-ibm-runtime/results.mdx create mode 100644 docs/api/qiskit-ibm-runtime/visualization-draw-chunk-timings.mdx diff --git a/docs/api/qiskit-ibm-runtime/_package.json b/docs/api/qiskit-ibm-runtime/_package.json deleted file mode 100644 index d176e0e1a01..00000000000 --- a/docs/api/qiskit-ibm-runtime/_package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "qiskit-ibm-runtime", - "version": "0.46.1" -} diff --git a/docs/api/qiskit-ibm-runtime/_toc.json b/docs/api/qiskit-ibm-runtime/_toc.json deleted file mode 100644 index c622593b232..00000000000 --- a/docs/api/qiskit-ibm-runtime/_toc.json +++ /dev/null @@ -1,1052 +0,0 @@ -{ - "title": "Qiskit Runtime client", - "children": [ - { - "title": "API index", - "url": "/docs/api/qiskit-ibm-runtime" - }, - { - "title": "Release notes", - "useDivider": true, - "url": "/docs/api/qiskit-ibm-runtime/release-notes" - }, - { - "title": "qiskit_ibm_runtime", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/runtime-service" - }, - { - "title": "Batch", - "url": "/docs/api/qiskit-ibm-runtime/batch", - "untranslatable": true - }, - { - "title": "Estimator", - "url": "/docs/api/qiskit-ibm-runtime/estimator", - "untranslatable": true - }, - { - "title": "EstimatorV2", - "url": "/docs/api/qiskit-ibm-runtime/estimator-v2", - "untranslatable": true - }, - { - "title": "Executor", - "url": "/docs/api/qiskit-ibm-runtime/executor", - "untranslatable": true - }, - { - "title": "IBMBackend", - "url": "/docs/api/qiskit-ibm-runtime/ibm-backend", - "untranslatable": true - }, - { - "title": "QiskitRuntimeService", - "url": "/docs/api/qiskit-ibm-runtime/qiskit-runtime-service", - "untranslatable": true - }, - { - "title": "RuntimeDecoder", - "url": "/docs/api/qiskit-ibm-runtime/runtime-decoder", - "untranslatable": true - }, - { - "title": "RuntimeEncoder", - "url": "/docs/api/qiskit-ibm-runtime/runtime-encoder", - "untranslatable": true - }, - { - "title": "RuntimeJobV2", - "url": "/docs/api/qiskit-ibm-runtime/runtime-job-v2", - "untranslatable": true - }, - { - "title": "Sampler", - "url": "/docs/api/qiskit-ibm-runtime/sampler", - "untranslatable": true - }, - { - "title": "SamplerV2", - "url": "/docs/api/qiskit-ibm-runtime/sampler-v2", - "untranslatable": true - }, - { - "title": "Session", - "url": "/docs/api/qiskit-ibm-runtime/session", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.debug_tools", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/debug-tools" - }, - { - "title": "Neat", - "url": "/docs/api/qiskit-ibm-runtime/debug-tools-neat", - "untranslatable": true - }, - { - "title": "NeatPubResult", - "url": "/docs/api/qiskit-ibm-runtime/debug-tools-neat-pub-result", - "untranslatable": true - }, - { - "title": "NeatResult", - "url": "/docs/api/qiskit-ibm-runtime/debug-tools-neat-result", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.execution_span", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/execution-span" - }, - { - "title": "DoubleSliceSpan", - "url": "/docs/api/qiskit-ibm-runtime/execution-span-double-slice-span", - "untranslatable": true - }, - { - "title": "ExecutionSpan", - "url": "/docs/api/qiskit-ibm-runtime/execution-span-execution-span", - "untranslatable": true - }, - { - "title": "ExecutionSpans", - "url": "/docs/api/qiskit-ibm-runtime/execution-span-execution-spans", - "untranslatable": true - }, - { - "title": "ShapeType", - "url": "/docs/api/qiskit-ibm-runtime/execution-span-shape-type", - "untranslatable": true - }, - { - "title": "SliceSpan", - "url": "/docs/api/qiskit-ibm-runtime/execution-span-slice-span", - "untranslatable": true - }, - { - "title": "TwirledSliceSpan", - "url": "/docs/api/qiskit-ibm-runtime/execution-span-twirled-slice-span", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.fake_provider", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider" - }, - { - "title": "FakeAlgiers", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-algiers", - "untranslatable": true - }, - { - "title": "FakeAlmadenV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-almaden-v2", - "untranslatable": true - }, - { - "title": "FakeArmonkV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-armonk-v2", - "untranslatable": true - }, - { - "title": "FakeAthensV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-athens-v2", - "untranslatable": true - }, - { - "title": "FakeAuckland", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-auckland", - "untranslatable": true - }, - { - "title": "FakeBelemV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-belem-v2", - "untranslatable": true - }, - { - "title": "FakeBoeblingenV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-boeblingen-v2", - "untranslatable": true - }, - { - "title": "FakeBogotaV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-bogota-v2", - "untranslatable": true - }, - { - "title": "FakeBrisbane", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-brisbane", - "untranslatable": true - }, - { - "title": "FakeBrooklynV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-brooklyn-v2", - "untranslatable": true - }, - { - "title": "FakeBurlingtonV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-burlington-v2", - "untranslatable": true - }, - { - "title": "FakeCairoV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-cairo-v2", - "untranslatable": true - }, - { - "title": "FakeCambridgeV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-cambridge-v2", - "untranslatable": true - }, - { - "title": "FakeCasablancaV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-casablanca-v2", - "untranslatable": true - }, - { - "title": "FakeCusco", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-cusco", - "untranslatable": true - }, - { - "title": "FakeEssexV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-essex-v2", - "untranslatable": true - }, - { - "title": "FakeFez", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-fez", - "untranslatable": true - }, - { - "title": "FakeFractionalBackend", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-fractional-backend", - "untranslatable": true - }, - { - "title": "FakeGeneva", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-geneva", - "untranslatable": true - }, - { - "title": "FakeGuadalupeV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-guadalupe-v2", - "untranslatable": true - }, - { - "title": "FakeHanoiV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-hanoi-v2", - "untranslatable": true - }, - { - "title": "FakeJakartaV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-jakarta-v2", - "untranslatable": true - }, - { - "title": "FakeJohannesburgV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-johannesburg-v2", - "untranslatable": true - }, - { - "title": "FakeKawasaki", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-kawasaki", - "untranslatable": true - }, - { - "title": "FakeKolkataV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-kolkata-v2", - "untranslatable": true - }, - { - "title": "FakeKyiv", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyiv", - "untranslatable": true - }, - { - "title": "FakeKyoto", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyoto", - "untranslatable": true - }, - { - "title": "FakeLagosV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-lagos-v2", - "untranslatable": true - }, - { - "title": "FakeLimaV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-lima-v2", - "untranslatable": true - }, - { - "title": "FakeLondonV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-london-v2", - "untranslatable": true - }, - { - "title": "FakeManhattanV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-manhattan-v2", - "untranslatable": true - }, - { - "title": "FakeManilaV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-manila-v2", - "untranslatable": true - }, - { - "title": "FakeMarrakesh", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-marrakesh", - "untranslatable": true - }, - { - "title": "FakeMelbourneV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-melbourne-v2", - "untranslatable": true - }, - { - "title": "FakeMontrealV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-montreal-v2", - "untranslatable": true - }, - { - "title": "FakeMumbaiV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-mumbai-v2", - "untranslatable": true - }, - { - "title": "FakeNairobiV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-nairobi-v2", - "untranslatable": true - }, - { - "title": "FakeOsaka", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-osaka", - "untranslatable": true - }, - { - "title": "FakeOslo", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-oslo", - "untranslatable": true - }, - { - "title": "FakeOurenseV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-ourense-v2", - "untranslatable": true - }, - { - "title": "FakeParisV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-paris-v2", - "untranslatable": true - }, - { - "title": "FakePeekskill", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-peekskill", - "untranslatable": true - }, - { - "title": "FakePerth", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-perth", - "untranslatable": true - }, - { - "title": "FakePoughkeepsieV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-poughkeepsie-v2", - "untranslatable": true - }, - { - "title": "FakePrague", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-prague", - "untranslatable": true - }, - { - "title": "FakeProviderForBackendV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-provider-for-backend-v2", - "untranslatable": true - }, - { - "title": "FakeQuebec", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-quebec", - "untranslatable": true - }, - { - "title": "FakeQuitoV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-quito-v2", - "untranslatable": true - }, - { - "title": "FakeRochesterV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-rochester-v2", - "untranslatable": true - }, - { - "title": "FakeRomeV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-rome-v2", - "untranslatable": true - }, - { - "title": "FakeSantiagoV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-santiago-v2", - "untranslatable": true - }, - { - "title": "FakeSherbrooke", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-sherbrooke", - "untranslatable": true - }, - { - "title": "FakeSingaporeV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-singapore-v2", - "untranslatable": true - }, - { - "title": "FakeSydneyV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-sydney-v2", - "untranslatable": true - }, - { - "title": "FakeTorino", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-torino", - "untranslatable": true - }, - { - "title": "FakeTorontoV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-toronto-v2", - "untranslatable": true - }, - { - "title": "FakeValenciaV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-valencia-v2", - "untranslatable": true - }, - { - "title": "FakeVigoV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-vigo-v2", - "untranslatable": true - }, - { - "title": "FakeWashingtonV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-washington-v2", - "untranslatable": true - }, - { - "title": "FakeYorktownV2", - "url": "/docs/api/qiskit-ibm-runtime/fake-provider-fake-yorktown-v2", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.models", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/models" - }, - { - "title": "BackendConfiguration", - "url": "/docs/api/qiskit-ibm-runtime/models-backend-configuration", - "untranslatable": true - }, - { - "title": "BackendProperties", - "url": "/docs/api/qiskit-ibm-runtime/models-backend-properties", - "untranslatable": true - }, - { - "title": "BackendStatus", - "url": "/docs/api/qiskit-ibm-runtime/models-backend-status", - "untranslatable": true - }, - { - "title": "GateConfig", - "url": "/docs/api/qiskit-ibm-runtime/models-gate-config", - "untranslatable": true - }, - { - "title": "GateProperties", - "url": "/docs/api/qiskit-ibm-runtime/models-gate-properties", - "untranslatable": true - }, - { - "title": "Nduv", - "url": "/docs/api/qiskit-ibm-runtime/models-nduv", - "untranslatable": true - }, - { - "title": "QasmBackendConfiguration", - "url": "/docs/api/qiskit-ibm-runtime/models-qasm-backend-configuration", - "untranslatable": true - }, - { - "title": "UchannelLO", - "url": "/docs/api/qiskit-ibm-runtime/models-uchannel-lo", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.noise_learner", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/noise-learner" - }, - { - "title": "NoiseLearner", - "url": "/docs/api/qiskit-ibm-runtime/noise-learner-noise-learner", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.options", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/options" - }, - { - "title": "DynamicalDecouplingOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-dynamical-decoupling-options", - "untranslatable": true - }, - { - "title": "EnvironmentOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-environment-options", - "untranslatable": true - }, - { - "title": "EstimatorOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-estimator-options", - "untranslatable": true - }, - { - "title": "ExecutionOptionsV2", - "url": "/docs/api/qiskit-ibm-runtime/options-execution-options-v2", - "untranslatable": true - }, - { - "title": "LayerNoiseLearningOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-layer-noise-learning-options", - "untranslatable": true - }, - { - "title": "MeasureNoiseLearningOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-measure-noise-learning-options", - "untranslatable": true - }, - { - "title": "NoiseLearnerOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-noise-learner-options", - "untranslatable": true - }, - { - "title": "PecOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-pec-options", - "untranslatable": true - }, - { - "title": "ResilienceOptionsV2", - "url": "/docs/api/qiskit-ibm-runtime/options-resilience-options-v2", - "untranslatable": true - }, - { - "title": "SamplerExecutionOptionsV2", - "url": "/docs/api/qiskit-ibm-runtime/options-sampler-execution-options-v2", - "untranslatable": true - }, - { - "title": "SamplerOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-sampler-options", - "untranslatable": true - }, - { - "title": "SimulatorOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-simulator-options", - "untranslatable": true - }, - { - "title": "TwirlingOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-twirling-options", - "untranslatable": true - }, - { - "title": "ZneOptions", - "url": "/docs/api/qiskit-ibm-runtime/options-zne-options", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.transpiler.passes", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/transpiler" - }, - { - "title": "ConvertIdToDelay", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-id-to-delay", - "untranslatable": true - }, - { - "title": "ConvertISAToClifford", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-isa-to-clifford", - "untranslatable": true - }, - { - "title": "ConvertToMidCircuitMeasure", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-to-mid-circuit-measure", - "untranslatable": true - }, - { - "title": "FoldRzzAngle", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-fold-rzz-angle", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.transpiler.passes.scheduling", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling" - }, - { - "title": "ALAPScheduleAnalysis", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-alap-schedule-analysis", - "untranslatable": true - }, - { - "title": "ASAPScheduleAnalysis", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-asap-schedule-analysis", - "untranslatable": true - }, - { - "title": "BlockBasePadder", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-block-base-padder", - "untranslatable": true - }, - { - "title": "DynamicCircuitInstructionDurations", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-dynamic-circuit-instruction-durations", - "untranslatable": true - }, - { - "title": "PadDelay", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-delay", - "untranslatable": true - }, - { - "title": "PadDynamicalDecoupling", - "url": "/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-dynamical-decoupling", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.utils.noise_learner_result", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/noise-learner-result" - }, - { - "title": "LayerError", - "url": "/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-layer-error", - "untranslatable": true - }, - { - "title": "PauliLindbladError", - "url": "/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-pauli-lindblad-error", - "untranslatable": true - } - ] - }, - { - "title": "qiskit_ibm_runtime.visualization", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/visualization" - }, - { - "title": "draw_circuit_schedule_timing", - "url": "/docs/api/qiskit-ibm-runtime/visualization-draw-circuit-schedule-timing", - "untranslatable": true - }, - { - "title": "draw_execution_spans", - "url": "/docs/api/qiskit-ibm-runtime/visualization-draw-execution-spans", - "untranslatable": true - }, - { - "title": "draw_layer_error_map", - "url": "/docs/api/qiskit-ibm-runtime/visualization-draw-layer-error-map", - "untranslatable": true - }, - { - "title": "draw_layer_errors_swarm", - "url": "/docs/api/qiskit-ibm-runtime/visualization-draw-layer-errors-swarm", - "untranslatable": true - }, - { - "title": "draw_zne_evs", - "url": "/docs/api/qiskit-ibm-runtime/visualization-draw-zne-evs", - "untranslatable": true - }, - { - "title": "draw_zne_extrapolators", - "url": "/docs/api/qiskit-ibm-runtime/visualization-draw-zne-extrapolators", - "untranslatable": true - } - ] - }, - { - "title": "ibm_quantum_schemas", - "children": [ - { - "title": "IBM Quantum Schemas", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas", - "untranslatable": true - }, - { - "title": "ibm_quantum_schemas.common", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/schema-common" - }, - { - "title": "BaseParamsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-base-params-model", - "untranslatable": true - }, - { - "title": "F64TensorModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-f-64-tensor-model", - "untranslatable": true - }, - { - "title": "PauliLindbladMapModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-pauli-lindblad-map-model", - "untranslatable": true - }, - { - "title": "QpyModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model", - "untranslatable": true - }, - { - "title": "QpyModelV13ToV16", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v16", - "untranslatable": true - }, - { - "title": "QpyModelV13ToV17", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v17", - "untranslatable": true - }, - { - "title": "SamplexModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model", - "untranslatable": true - }, - { - "title": "SamplexModelSSV1", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1", - "untranslatable": true - }, - { - "title": "SamplexModelSSV1ToSSV2", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2", - "untranslatable": true - }, - { - "title": "TensorModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-tensor-model", - "untranslatable": true - } - ] - }, - { - "title": "ibm_quantum_schemas.executor.version_0_1", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/executor-0-1" - }, - { - "title": "ChunkPart", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-part", - "untranslatable": true - }, - { - "title": "ChunkSpan", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-span", - "untranslatable": true - }, - { - "title": "CircuitItemModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-circuit-item-model", - "untranslatable": true - }, - { - "title": "MetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-metadata-model", - "untranslatable": true - }, - { - "title": "OptionsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-options-model", - "untranslatable": true - }, - { - "title": "ParamsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-params-model", - "untranslatable": true - }, - { - "title": "QuantumProgramModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-model", - "untranslatable": true - }, - { - "title": "QuantumProgramResultItemModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model", - "untranslatable": true - }, - { - "title": "QuantumProgramResultModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model", - "untranslatable": true - }, - { - "title": "SamplexItemModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-samplex-item-model", - "untranslatable": true - } - ] - }, - { - "title": "ibm_quantum_schemas.executor.version_0_2", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/executor-0-2" - }, - { - "title": "ChunkPart", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-part", - "untranslatable": true - }, - { - "title": "ChunkSpan", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-span", - "untranslatable": true - }, - { - "title": "CircuitItemModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-circuit-item-model", - "untranslatable": true - }, - { - "title": "ItemMetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-item-metadata-model", - "untranslatable": true - }, - { - "title": "MetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-metadata-model", - "untranslatable": true - }, - { - "title": "OptionsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-options-model", - "untranslatable": true - }, - { - "title": "ParamsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-params-model", - "untranslatable": true - }, - { - "title": "QuantumProgramModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-model", - "untranslatable": true - }, - { - "title": "QuantumProgramResultItemModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model", - "untranslatable": true - }, - { - "title": "QuantumProgramResultModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model", - "untranslatable": true - }, - { - "title": "SamplexItemModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-samplex-item-model", - "untranslatable": true - }, - { - "title": "SchedulerTimingModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model", - "untranslatable": true - }, - { - "title": "StretchValueModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-stretch-value-model", - "untranslatable": true - } - ] - }, - { - "title": "ibm_quantum_schemas.noise_learner_v3.version_0_1", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/noise-learner-v3-0-1" - }, - { - "title": "LinbdbladResultMetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model", - "untranslatable": true - }, - { - "title": "LinbdbladResultPostSelectionMetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model", - "untranslatable": true - }, - { - "title": "NoiseLearnerV3ResultModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model", - "untranslatable": true - }, - { - "title": "NoiseLearnerV3ResultsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model", - "untranslatable": true - }, - { - "title": "OptionsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model", - "untranslatable": true - }, - { - "title": "ParamsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model", - "untranslatable": true - }, - { - "title": "PostSelectionOptionsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model", - "untranslatable": true - }, - { - "title": "TREXResultMetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model", - "untranslatable": true - }, - { - "title": "TREXResultPostSelectionMetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model", - "untranslatable": true - } - ] - }, - { - "title": "ibm_quantum_schemas.noise_learner_v3.version_0_2", - "untranslatable": true, - "children": [ - { - "title": "Module overview", - "url": "/docs/api/qiskit-ibm-runtime/noise-learner-v3-0-2" - }, - { - "title": "LinbdbladResultMetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model", - "untranslatable": true - }, - { - "title": "LinbdbladResultPostSelectionMetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model", - "untranslatable": true - }, - { - "title": "NoiseLearnerV3ResultModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model", - "untranslatable": true - }, - { - "title": "NoiseLearnerV3ResultsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model", - "untranslatable": true - }, - { - "title": "OptionsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model", - "untranslatable": true - }, - { - "title": "ParamsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model", - "untranslatable": true - }, - { - "title": "PostSelectionOptionsModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model", - "untranslatable": true - }, - { - "title": "TREXResultMetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model", - "untranslatable": true - }, - { - "title": "TREXResultPostSelectionMetadataModel", - "url": "/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model", - "untranslatable": true - } - ] - } - ], - "untranslatable": true - } - ], - "collapsed": true, - "untranslatable": true -} diff --git a/docs/api/qiskit-ibm-runtime/batch.mdx b/docs/api/qiskit-ibm-runtime/batch.mdx index 80093468b0a..677476dd7bc 100644 --- a/docs/api/qiskit-ibm-runtime/batch.mdx +++ b/docs/api/qiskit-ibm-runtime/batch.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.Batch # Batch - + Bases: [`Session`](session "qiskit_ibm_runtime.session.Session") Class for running jobs in batch execution mode. @@ -64,8 +64,6 @@ python_api_name: qiskit_ibm_runtime.Batch For more details, check the “[Run jobs in a batch](/docs/guides/run-jobs-batch)” page. - Batch constructor. - **Parameters** * **backend** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2)) – Instance of `Backend` class. @@ -102,7 +100,7 @@ python_api_name: qiskit_ibm_runtime.Batch ### backend - + Return backend for this session. **Returns** @@ -116,7 +114,7 @@ python_api_name: qiskit_ibm_runtime.Batch ### cancel - + Cancel all pending jobs in a session. **Return type** @@ -126,7 +124,9 @@ python_api_name: qiskit_ibm_runtime.Batch ### close - + + Close the session so new jobs will no longer be accepted. + Close the session so new jobs will no longer be accepted, but existing queued or running jobs will run to completion. The session will be terminated once there are no more pending jobs. **Return type** @@ -136,7 +136,7 @@ python_api_name: qiskit_ibm_runtime.Batch ### details - + Return session details. **Returns** @@ -165,8 +165,10 @@ python_api_name: qiskit_ibm_runtime.Batch ### from\_id - - Construct a Session object with a given `session_id`. For example: + + Construct a Session object with a given `session_id`. + + For example: ```python from qiskit_ibm_runtime import QiskitRuntimeService, Session @@ -179,15 +181,15 @@ python_api_name: qiskit_ibm_runtime.Batch **Parameters** - * **session\_id** (*str*) – the id of the session to be created. This must be an already existing session id. - - * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – - - instance of the `QiskitRuntimeService` class. + * **session\_id** (*str*) – The id of the session to be created. This must be an already existing session id. + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – Instance of the `QiskitRuntimeService` class. If using multiple instances, note that the active cloud instance in the `service` will be replaced with the one that has access to that `session_id`. Please check the [`QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") documentation on using multiple instances and the [`active_instance()`](qiskit-runtime-service#active_instance "qiskit_ibm_runtime.QiskitRuntimeService.active_instance") method for checking which is the active instance. + * **use\_fractional\_gates** (*bool*) – Whether or not to allow fractional gates for the backend that is used to create the session. + * **calibration\_id** (*str | None*) – The calibration id for the backend that is used to create the session. - **Raises:** + **Raises** - IBMInputValueError: If given session\_id does not exist. IBMRuntimeError: If the backend of the session is unknown. + * **IBMInputValueError** – If given session\_id does not exist. + * **IBMRuntimeError** – If the backend of the session is unknown. **Returns** @@ -200,7 +202,7 @@ python_api_name: qiskit_ibm_runtime.Batch ### status - + Return current session status. **Returns** @@ -220,7 +222,7 @@ python_api_name: qiskit_ibm_runtime.Batch ### usage - + Return session usage in seconds. Session usage is the time from when the first job starts until the session goes inactive, is closed, or when its last job completes, whichever happens last. diff --git a/docs/api/qiskit-ibm-runtime/debug-tools-neat-pub-result.mdx b/docs/api/qiskit-ibm-runtime/debug-tools-neat-pub-result.mdx index 0be93d7d029..665d3166b94 100644 --- a/docs/api/qiskit-ibm-runtime/debug-tools-neat-pub-result.mdx +++ b/docs/api/qiskit-ibm-runtime/debug-tools-neat-pub-result.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.NeatPubResult # NeatPubResult - + Bases: `object` A class to store the PUB results of `Neat`. @@ -31,7 +31,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.NeatPubResult ### \_\_mul\_\_ - + **Parameters** **other** (*int | float |* [*NeatPubResult*](#qiskit_ibm_runtime.debug_tools.NeatPubResult "qiskit_ibm_runtime.debug_tools.neat_results.NeatPubResult") *|*[*PubResult*](/docs/api/qiskit/qiskit.primitives.PubResult) *|*[*DataBin*](/docs/api/qiskit/qiskit.primitives.DataBin)) diff --git a/docs/api/qiskit-ibm-runtime/debug-tools-neat-result.mdx b/docs/api/qiskit-ibm-runtime/debug-tools-neat-result.mdx index 8f5aac0071d..2ac2941ef22 100644 --- a/docs/api/qiskit-ibm-runtime/debug-tools-neat-result.mdx +++ b/docs/api/qiskit-ibm-runtime/debug-tools-neat-result.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.NeatResult # NeatResult - + Bases: `object` A container for multiple [`NeatPubResult`](debug-tools-neat-pub-result "qiskit_ibm_runtime.debug_tools.NeatPubResult") objects. @@ -21,7 +21,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.NeatResult ### \_\_getitem\_\_ - + **Parameters** **index** (*int*) @@ -33,7 +33,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.NeatResult ### \_\_len\_\_ - + **Return type** int diff --git a/docs/api/qiskit-ibm-runtime/debug-tools-neat.mdx b/docs/api/qiskit-ibm-runtime/debug-tools-neat.mdx index 40d2d714adb..2ca4405fdc5 100644 --- a/docs/api/qiskit-ibm-runtime/debug-tools-neat.mdx +++ b/docs/api/qiskit-ibm-runtime/debug-tools-neat.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.Neat # Neat - + Bases: `object` A class to help understand the expected performance of estimator jobs. @@ -32,7 +32,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.Neat ### backend - + The backend used by this analyzer tool. **Return type** @@ -42,7 +42,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.Neat ### ideal\_sim - + Perform an ideal, noiseless simulation of the estimator task specified by `pubs`. This function uses `qiskit-aer`’s `Estimator` class to simulate the estimation task classically. @@ -53,7 +53,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.Neat **Parameters** - * **pubs** (*Sequence\[EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – The PUBs specifying the estimation task of interest. + * **pubs** (*Sequence\[*[*EstimatorPub*](/docs/api/qiskit/qiskit.primitives.EstimatorPub) *| tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – The PUBs specifying the estimation task of interest. * **cliffordize** (*bool*) – Whether or not to automatically apply the `ConvertISAToClifford` transpiler pass to the given `pubs` before performing the simulations. * **seed\_simulator** (*int | None*) – A seed for the simulator. * **precision** (*float*) – The target precision for the estimates of each expectation value in the returned results. @@ -69,7 +69,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.Neat ### noisy\_sim - + Perform a noisy simulation of the estimator task specified by `pubs`. This function uses `qiskit-aer`’s `Estimator` class to simulate the estimation task classically. @@ -80,7 +80,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.Neat **Parameters** - * **pubs** (*Sequence\[EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – The PUBs specifying the estimation task of interest. + * **pubs** (*Sequence\[*[*EstimatorPub*](/docs/api/qiskit/qiskit.primitives.EstimatorPub) *| tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – The PUBs specifying the estimation task of interest. * **cliffordize** (*bool*) – Whether or not to automatically apply the `ConvertISAToClifford` transpiler pass to the given `pubs` before performing the simulations. * **seed\_simulator** (*int | None*) – A seed for the simulator. * **precision** (*float*) – The target precision for the estimates of each expectation value in the returned results. @@ -96,14 +96,14 @@ python_api_name: qiskit_ibm_runtime.debug_tools.Neat ### to\_clifford - + Return the cliffordized version of the given `pubs`. This convenience method runs the `ConvertISAToClifford` transpiler pass on the PUBs’ circuits. **Parameters** - **pubs** (*Sequence\[EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – The PUBs to turn into Clifford PUBs. + **pubs** (*Sequence\[*[*EstimatorPub*](/docs/api/qiskit/qiskit.primitives.EstimatorPub) *| tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – The PUBs to turn into Clifford PUBs. **Returns** @@ -111,7 +111,7 @@ python_api_name: qiskit_ibm_runtime.debug_tools.Neat **Return type** - list\[*EstimatorPub*] + list\[[*EstimatorPub*](/docs/api/qiskit/qiskit.primitives.EstimatorPub)] diff --git a/docs/api/qiskit-ibm-runtime/estimator-v2.mdx b/docs/api/qiskit-ibm-runtime/estimator-v2.mdx index a895b3ad71d..d316df135d9 100644 --- a/docs/api/qiskit-ibm-runtime/estimator-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/estimator-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.EstimatorV2 # EstimatorV2 - + Bases: `BasePrimitiveV2`\[[`EstimatorOptions`](options-estimator-options "qiskit_ibm_runtime.options.estimator_options.EstimatorOptions")], `Estimator`, [`BaseEstimatorV2`](/docs/api/qiskit/qiskit.primitives.BaseEstimatorV2) Class for interacting with Qiskit Runtime Estimator primitive service. @@ -51,8 +51,6 @@ python_api_name: qiskit_ibm_runtime.EstimatorV2 print(f"Expectation values: {pub_result.data.evs}") ``` - Initializes the Estimator primitive. - **Parameters** * **mode** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) *|*[*Session*](session "qiskit_ibm_runtime.session.Session") *|*[*Batch*](batch "qiskit_ibm_runtime.batch.Batch") *| str | None*) – @@ -82,7 +80,7 @@ python_api_name: qiskit_ibm_runtime.EstimatorV2 ### options - Return options + Return options. ### version @@ -93,7 +91,7 @@ python_api_name: qiskit_ibm_runtime.EstimatorV2 ### backend - + Return the backend the primitive query will be run on. **Return type** @@ -103,12 +101,12 @@ python_api_name: qiskit_ibm_runtime.EstimatorV2 ### run - + Submit a request to the estimator primitive. **Parameters** - * **pubs** (*Iterable\[EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – An iterable of pub-like (primitive unified bloc) objects, such as tuples `(circuit, observables)` or `(circuit, observables, parameter_values)`. + * **pubs** (*Iterable\[*[*EstimatorPub*](/docs/api/qiskit/qiskit.primitives.EstimatorPub) *| tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – An iterable of pub-like (primitive unified bloc) objects, such as tuples `(circuit, observables)` or `(circuit, observables, parameter_values)`. * **precision** (*float | None*) – The target precision for expectation value estimates of each run Estimator Pub that does not specify its own precision. If None the estimator’s default precision value will be used. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/estimator.mdx b/docs/api/qiskit-ibm-runtime/estimator.mdx index ca237ab6dfa..6e3c237a2d6 100644 --- a/docs/api/qiskit-ibm-runtime/estimator.mdx +++ b/docs/api/qiskit-ibm-runtime/estimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.Estimator # Estimator - + alias of [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.estimator.EstimatorV2") diff --git a/docs/api/qiskit-ibm-runtime/execution-span-double-slice-span.mdx b/docs/api/qiskit-ibm-runtime/execution-span-double-slice-span.mdx index e44c63fa3cd..b05983a3cb3 100644 --- a/docs/api/qiskit-ibm-runtime/execution-span-double-slice-span.mdx +++ b/docs/api/qiskit-ibm-runtime/execution-span-double-slice-span.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.DoubleSliceSpan # DoubleSliceSpan - + Bases: [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.execution_span.ExecutionSpan") An [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. @@ -31,11 +31,15 @@ python_api_name: qiskit_ibm_runtime.execution_span.DoubleSliceSpan ### pub\_idxs - + + Which pubs, by index, have dependence on one or more execution spans present. + ### size - + + The total number of results with dependence on this execution span, across all pubs. + ### start @@ -53,7 +57,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.DoubleSliceSpan ### contains\_pub - + Return whether the pub with the given index has data with dependence on this span. **Parameters** @@ -71,18 +75,12 @@ python_api_name: qiskit_ibm_runtime.execution_span.DoubleSliceSpan ### filter\_by\_pub - - Return a new span whose slices are filtered to the provided pub indices. - - For example, if this span contains slice information for pubs with indices 1, 3, 4 and `[1, 4]` is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise. + + Return a new set of spans where each one has been filtered to the specified pubs. **Parameters** - **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. - - **Returns** - - A new filtered span. + **pub\_idx** (*int | Iterable\[int]*) **Return type** @@ -91,20 +89,12 @@ python_api_name: qiskit_ibm_runtime.execution_span.DoubleSliceSpan ### mask - - Return an array-valued mask specifying which parts of a pub result depend on this span. + + Return array-valued mask specifying which parts of a pub result depend on this span. **Parameters** - **pub\_idx** (*int*) – The index of the pub to return a mask for. - - **Returns** - - An array with the same shape as the pub data. - - **Raises** - - **KeyError** – if the pub is not included in the span + **pub\_idx** (*int*) **Return type** diff --git a/docs/api/qiskit-ibm-runtime/execution-span-execution-span.mdx b/docs/api/qiskit-ibm-runtime/execution-span-execution-span.mdx index f96dffcb3d9..c348a1dcfde 100644 --- a/docs/api/qiskit-ibm-runtime/execution-span-execution-span.mdx +++ b/docs/api/qiskit-ibm-runtime/execution-span-execution-span.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpan # ExecutionSpan - + Bases: `ABC` Abstract parent for classes that store an execution time span for a subset of job data. @@ -41,7 +41,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpan The total number of results with dependence on this execution span, across all pubs. - This attribute is equivalent to the sum of the elements of all present [`mask()`](#qiskit_ibm_runtime.execution_span.ExecutionSpan.mask "qiskit_ibm_runtime.execution_span.ExecutionSpan.mask")s. For sampler results, it represents the total number of shots with dependence on this execution span. + This attribute is equivalent to the sum of the elements of all present [`mask()`](#qiskit_ibm_runtime.execution_span.ExecutionSpan.mask "qiskit_ibm_runtime.execution_span.ExecutionSpan.mask")\s. For sampler results, it represents the total number of shots with dependence on this execution span. Combine this attribute with [`filter_by_pub()`](#qiskit_ibm_runtime.execution_span.ExecutionSpan.filter_by_pub "qiskit_ibm_runtime.execution_span.ExecutionSpan.filter_by_pub") to find the size of some particular pub: @@ -66,7 +66,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpan ### contains\_pub - + Return whether the pub with the given index has data with dependence on this span. **Parameters** @@ -84,7 +84,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpan ### filter\_by\_pub - + Return a new span whose slices are filtered to the provided pub indices. For example, if this span contains slice information for pubs with indices 1, 3, 4 and `[1, 4]` is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise. @@ -104,7 +104,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpan ### mask - + Return an array-valued mask specifying which parts of a pub result depend on this span. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/execution-span-execution-spans.mdx b/docs/api/qiskit-ibm-runtime/execution-span-execution-spans.mdx index 02a7e657c3d..0c3a804221e 100644 --- a/docs/api/qiskit-ibm-runtime/execution-span-execution-spans.mdx +++ b/docs/api/qiskit-ibm-runtime/execution-span-execution-spans.mdx @@ -8,12 +8,12 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpans # ExecutionSpans - + Bases: `object` A collection of timings for pub results. - This class is a list-like containing [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan")s, where each execution span represents a time window of data collection, and contains a reference to exactly which of the data were collected during the window. + This class is a list-like containing [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan")\s, where each execution span represents a time window of data collection, and contains a reference to exactly which of the data were collected during the window. It is possible for distinct time windows to overlap. This is not because a QPU was performing multiple executions at once, but is instead an artifact of certain classical processing that may happen concurrently with quantum execution. The guarantee being made is that the referenced data definitely occurred in the reported execution span, but not necessarily that the limits of the time window are as tight as possible. @@ -51,11 +51,11 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpans ### \_\_getitem\_\_ - + ### \_\_len\_\_ - + **Return type** int @@ -63,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpans ### draw - + Draw these execution spans. @@ -87,7 +87,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpans ### filter\_by\_pub - + Return a new set of spans where each one has been filtered to the specified pubs. See also :meth:\~.ExecutionSpan.filter\_by\_pub\`. @@ -103,7 +103,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.ExecutionSpans ### sort - + Return the same execution spans, sorted. Sorting is done by the [`start`](execution-span-execution-span#start "qiskit_ibm_runtime.execution_span.ExecutionSpan.start") timestamp of each execution span. diff --git a/docs/api/qiskit-ibm-runtime/execution-span-slice-span.mdx b/docs/api/qiskit-ibm-runtime/execution-span-slice-span.mdx index 739aa3a1646..febcb79872b 100644 --- a/docs/api/qiskit-ibm-runtime/execution-span-slice-span.mdx +++ b/docs/api/qiskit-ibm-runtime/execution-span-slice-span.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.SliceSpan # SliceSpan - + Bases: [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.execution_span.ExecutionSpan") An [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. @@ -31,11 +31,15 @@ python_api_name: qiskit_ibm_runtime.execution_span.SliceSpan ### pub\_idxs - + + Which pubs, by index, have dependence on one or more execution spans present. + ### size - + + The total number of results with dependence on this execution span, across all pubs. + ### start @@ -53,7 +57,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.SliceSpan ### contains\_pub - + Return whether the pub with the given index has data with dependence on this span. **Parameters** @@ -71,18 +75,12 @@ python_api_name: qiskit_ibm_runtime.execution_span.SliceSpan ### filter\_by\_pub - - Return a new span whose slices are filtered to the provided pub indices. - - For example, if this span contains slice information for pubs with indices 1, 3, 4 and `[1, 4]` is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise. + + Return a new set of spans where each one has been filtered to the specified pubs. **Parameters** - **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. - - **Returns** - - A new filtered span. + **pub\_idx** (*int | Iterable\[int]*) **Return type** @@ -91,20 +89,12 @@ python_api_name: qiskit_ibm_runtime.execution_span.SliceSpan ### mask - - Return an array-valued mask specifying which parts of a pub result depend on this span. + + Return array-valued mask specifying which parts of a pub result depend on this span. **Parameters** - **pub\_idx** (*int*) – The index of the pub to return a mask for. - - **Returns** - - An array with the same shape as the pub data. - - **Raises** - - **KeyError** – if the pub is not included in the span + **pub\_idx** (*int*) **Return type** diff --git a/docs/api/qiskit-ibm-runtime/execution-span-twirled-slice-span.mdx b/docs/api/qiskit-ibm-runtime/execution-span-twirled-slice-span.mdx index 62ac646e4ea..011da4ed13c 100644 --- a/docs/api/qiskit-ibm-runtime/execution-span-twirled-slice-span.mdx +++ b/docs/api/qiskit-ibm-runtime/execution-span-twirled-slice-span.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.TwirledSliceSpan # TwirledSliceSpan - + Bases: [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.execution_span.ExecutionSpan") An [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format when twirling. @@ -36,11 +36,15 @@ python_api_name: qiskit_ibm_runtime.execution_span.TwirledSliceSpan ### pub\_idxs - + + Which pubs, by index, have dependence on one or more execution spans present. + ### size - + + The total number of results with dependence on this execution span, across all pubs. + ### start @@ -58,7 +62,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.TwirledSliceSpan ### contains\_pub - + Return whether the pub with the given index has data with dependence on this span. **Parameters** @@ -76,18 +80,12 @@ python_api_name: qiskit_ibm_runtime.execution_span.TwirledSliceSpan ### filter\_by\_pub - - Return a new span whose slices are filtered to the provided pub indices. - - For example, if this span contains slice information for pubs with indices 1, 3, 4 and `[1, 4]` is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise. + + Return a new set of spans where each one has been filtered to the specified pubs. **Parameters** - **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. - - **Returns** - - A new filtered span. + **pub\_idx** (*int | Iterable\[int]*) **Return type** @@ -96,20 +94,12 @@ python_api_name: qiskit_ibm_runtime.execution_span.TwirledSliceSpan ### mask - - Return an array-valued mask specifying which parts of a pub result depend on this span. + + Return array-valued mask specifying which parts of a pub result depend on this span. **Parameters** - **pub\_idx** (*int*) – The index of the pub to return a mask for. - - **Returns** - - An array with the same shape as the pub data. - - **Raises** - - **KeyError** – if the pub is not included in the span + **pub\_idx** (*int*) **Return type** diff --git a/docs/api/qiskit-ibm-runtime/execution-span.mdx b/docs/api/qiskit-ibm-runtime/execution-span.mdx index 0e53e4e8f96..810d457a0de 100644 --- a/docs/api/qiskit-ibm-runtime/execution-span.mdx +++ b/docs/api/qiskit-ibm-runtime/execution-span.mdx @@ -16,7 +16,7 @@ python_api_name: qiskit_ibm_runtime.execution_span ## Overview -An [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans") class instance is an iterable of [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan")s, where each iterand gives timing information about a chunk of data. Execution spans are returned as part of the metadata of a primitive job result. +An [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans") class instance is an iterable of [`ExecutionSpan`](execution-span-execution-span "qiskit_ibm_runtime.execution_span.ExecutionSpan")\s, where each iterand gives timing information about a chunk of data. Execution spans are returned as part of the metadata of a primitive job result. ## Classes diff --git a/docs/api/qiskit-ibm-runtime/executor-1-0.mdx b/docs/api/qiskit-ibm-runtime/executor-1-0.mdx new file mode 100644 index 00000000000..4901f66865d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/executor-1-0.mdx @@ -0,0 +1,36 @@ +--- +title: version_1_0 (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0 in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: ibm_quantum_schemas.executor.version_1_0 +--- + + + + + +# Executor v1.0 + +`ibm_quantum_schemas.executor.version_1_0` + +Models for `Executor` `v1.0`. + +## Classes + +| | | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | +| [`ParamsModel`](ibm-quantum-schemas-executor-version-1-0-params-model "ibm_quantum_schemas.executor.version_1_0.ParamsModel") | A model describing the Executor program inputs. | +| [`QuantumProgramModel`](ibm-quantum-schemas-executor-version-1-0-quantum-program-model "ibm_quantum_schemas.executor.version_1_0.QuantumProgramModel") | Model to store a quantum program. | +| [`CircuitItemModel`](ibm-quantum-schemas-executor-version-1-0-circuit-item-model "ibm_quantum_schemas.executor.version_1_0.CircuitItemModel") | Execution specifications for a single quantum circuit. | +| [`SamplexItemModel`](ibm-quantum-schemas-executor-version-1-0-samplex-item-model "ibm_quantum_schemas.executor.version_1_0.SamplexItemModel") | Execution specifications for a single quantum circuit. | +| [`OptionsModel`](ibm-quantum-schemas-executor-version-1-0-options-model "ibm_quantum_schemas.executor.version_1_0.OptionsModel") | Runtime options. | +| [`QuantumProgramResultModel`](ibm-quantum-schemas-executor-version-1-0-quantum-program-result-model "ibm_quantum_schemas.executor.version_1_0.QuantumProgramResultModel") | Result from executing a quantum program. | +| [`QuantumProgramResultItemModel`](ibm-quantum-schemas-executor-version-1-0-quantum-program-result-item-model "ibm_quantum_schemas.executor.version_1_0.QuantumProgramResultItemModel") | Results for a single quantum program item. | +| [`ItemMetadataModel`](ibm-quantum-schemas-executor-version-1-0-item-metadata-model "ibm_quantum_schemas.executor.version_1_0.ItemMetadataModel") | Per-item metadata for quantum program results. | +| [`SchedulerTimingModel`](ibm-quantum-schemas-executor-version-1-0-scheduler-timing-model "ibm_quantum_schemas.executor.version_1_0.SchedulerTimingModel") | Describes the timing of a scheduled circuit. | +| [`StretchValueModel`](ibm-quantum-schemas-executor-version-1-0-stretch-value-model "ibm_quantum_schemas.executor.version_1_0.StretchValueModel") | Describes circuit stretch value resolutions. | +| [`MetadataModel`](ibm-quantum-schemas-executor-version-1-0-metadata-model "ibm_quantum_schemas.executor.version_1_0.MetadataModel") | Execution metadata. | +| [`ChunkSpan`](ibm-quantum-schemas-executor-version-1-0-chunk-span "ibm_quantum_schemas.executor.version_1_0.ChunkSpan") | Timing information about a single chunk of execution. | +| [`ChunkPart`](ibm-quantum-schemas-executor-version-1-0-chunk-part "ibm_quantum_schemas.executor.version_1_0.ChunkPart") | A description of the contents of a single part of an execution chunk. | + diff --git a/docs/api/qiskit-ibm-runtime/executor.mdx b/docs/api/qiskit-ibm-runtime/executor.mdx index d48ae4011f9..d7c03b924e8 100644 --- a/docs/api/qiskit-ibm-runtime/executor.mdx +++ b/docs/api/qiskit-ibm-runtime/executor.mdx @@ -8,10 +8,10 @@ python_api_name: qiskit_ibm_runtime.Executor # Executor - + Bases: `object` - Class for running `QuantumProgram`s. + Class for running [`QuantumProgram`](quantum-program-quantum-program "qiskit_ibm_runtime.quantum_program.QuantumProgram")\s. The [`run()`](#qiskit_ibm_runtime.Executor.run "qiskit_ibm_runtime.Executor.run") method can be used to submit a quantum program to be executed on a backend. @@ -31,17 +31,17 @@ python_api_name: qiskit_ibm_runtime.Executor **Parameters** - * **mode** ([*IBMBackend*](ibm-backend "qiskit_ibm_runtime.IBMBackend") *|*[*Session*](session "qiskit_ibm_runtime.Session") *|*[*Batch*](batch "qiskit_ibm_runtime.Batch") *| None*) – + * **mode** (*BackendV2 |* [*Session*](session "qiskit_ibm_runtime.Session") *|*[*Batch*](batch "qiskit_ibm_runtime.Batch") *| None*) – The execution mode used to make the query. It can be: - * A [`IBMBackend`](ibm-backend "qiskit_ibm_runtime.IBMBackend") if you are using job mode. + * A `BackendV2` if you are using job mode. * A [`Session`](session "qiskit_ibm_runtime.Session") if you are using session execution mode. * A [`Batch`](batch "qiskit_ibm_runtime.Batch") if you are using batch execution mode. Refer to the [Qiskit Runtime documentation](/docs/guides/execution-modes) for more information about the `Execution modes`. - * **options** (*ExecutorOptions | dict | None*) – Executor options, see `ExecutorOptions` for detailed description. This can be an `ExecutorOptions` instance or a dictionary that will be used to construct one. + * **options** ([*ExecutorOptions*](options-models-executor-options "qiskit_ibm_runtime.options_models.executor_options.ExecutorOptions")) – Executor options, see `ExecutorOptions` for detailed description. This can be an `ExecutorOptions` instance or a dictionary that will be used to construct one. **Raises** @@ -52,20 +52,30 @@ python_api_name: qiskit_ibm_runtime.Executor ### options - + The options of this executor. ## Methods + ### backend + + + Return the backend the primitive query will be run on. + + **Return type** + + BackendV2 + + ### run - + Run a quantum program. **Parameters** - **program** (*QuantumProgram*) – The program to run. + **program** ([*QuantumProgram*](quantum-program-quantum-program "qiskit_ibm_runtime.quantum_program.QuantumProgram")) – The program to run. **Returns** @@ -73,7 +83,7 @@ python_api_name: qiskit_ibm_runtime.Executor **Return type** - [*RuntimeJobV2*](runtime-job-v2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2") + [RuntimeJobV2](runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2") diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-aachen.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-aachen.mdx new file mode 100644 index 00000000000..9d3ca123eec --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-aachen.mdx @@ -0,0 +1,346 @@ +--- +title: FakeAachen (latest version) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeAachen in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeAachen +--- + +# FakeAachen + + + Bases: `FakeBackendV2` + + A fake 156 qubit backend. + + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals. + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + Return the maximum number of circuits that can be run in a single job. + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeAachen.run "qiskit_ibm_runtime.fake_provider.FakeAachen.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties. + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart. + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-algiers.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-algiers.mdx index 0ed3b079343..9924ce7b8a0 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-algiers.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-algiers.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers # FakeAlgiers - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-almaden-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-almaden-v2.mdx index 622bc261ab7..c0865643a50 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-almaden-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-almaden-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 # FakeAlmadenV2 - + Bases: `FakeBackendV2` A fake Almaden V2 backend. @@ -23,17 +23,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 15 ↔ 16 ↔ 17 ↔ 18 ↔ 19 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -43,7 +56,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### dirname - + ### dt @@ -60,7 +73,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -82,6 +95,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -129,7 +144,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### props\_filename - + ### provider @@ -187,7 +202,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -205,7 +220,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### configuration - + Return the backend configuration. **Return type** @@ -215,8 +230,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -240,7 +255,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -252,13 +267,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -285,7 +300,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -326,7 +341,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-armonk-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-armonk-v2.mdx index 7db67210484..1a6a2603a6a 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-armonk-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-armonk-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 # FakeArmonkV2 - + Bases: `FakeBackendV2` A fake 1 qubit backend. @@ -17,17 +17,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 0 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -37,7 +50,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### dirname - + ### dt @@ -54,7 +67,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -76,6 +89,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -123,7 +138,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### props\_filename - + ### provider @@ -181,7 +196,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -199,7 +214,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### configuration - + Return the backend configuration. **Return type** @@ -209,8 +224,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -234,7 +249,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -246,13 +261,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -279,7 +294,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -320,7 +335,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-athens-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-athens-v2.mdx index 0863104b20b..252c07db113 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-athens-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-athens-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 # FakeAthensV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-auckland.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-auckland.mdx index fe10bbe4ae5..5d7a6d372f3 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-auckland.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-auckland.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland # FakeAuckland - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-belem-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-belem-v2.mdx index 56f2b540f0a..fb8c6e5db0c 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-belem-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-belem-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 # FakeBelemV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-berlin.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-berlin.mdx new file mode 100644 index 00000000000..18a4832f45a --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-berlin.mdx @@ -0,0 +1,346 @@ +--- +title: FakeBerlin (latest version) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBerlin in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBerlin +--- + +# FakeBerlin + + + Bases: `FakeBackendV2` + + A fake 120 qubit backend. + + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals. + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + Return the maximum number of circuits that can be run in a single job. + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBerlin.run "qiskit_ibm_runtime.fake_provider.FakeBerlin.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties. + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart. + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-boeblingen-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-boeblingen-v2.mdx index d57c25bcf6e..04adf6a8393 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-boeblingen-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-boeblingen-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 # FakeBoeblingenV2 - + Bases: `FakeBackendV2` A fake Boeblingen V2 backend. @@ -23,17 +23,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 15 ↔ 16 ↔ 17 ↔ 18 ↔ 19 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -43,7 +56,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### dirname - + ### dt @@ -60,7 +73,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -82,6 +95,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -129,7 +144,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### props\_filename - + ### provider @@ -187,7 +202,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -205,7 +220,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### configuration - + Return the backend configuration. **Return type** @@ -215,8 +230,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -240,7 +255,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -252,13 +267,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -285,7 +300,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -326,7 +341,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-bogota-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-bogota-v2.mdx index 08fa2e6bebf..7491ce3ba54 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-bogota-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-bogota-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 # FakeBogotaV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-boston.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-boston.mdx new file mode 100644 index 00000000000..fd25f8a5f90 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-boston.mdx @@ -0,0 +1,346 @@ +--- +title: FakeBoston (latest version) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBoston in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoston +--- + +# FakeBoston + + + Bases: `FakeBackendV2` + + A fake 156 qubit backend. + + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals. + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + Return the maximum number of circuits that can be run in a single job. + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBoston.run "qiskit_ibm_runtime.fake_provider.FakeBoston.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties. + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart. + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-brisbane.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-brisbane.mdx index c6147bea556..9b7b8a80fb8 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-brisbane.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-brisbane.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane # FakeBrisbane - + Bases: `FakeBackendV2` A fake 127 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-brooklyn-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-brooklyn-v2.mdx index 7e156528bfe..e44ac962bde 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-brooklyn-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-brooklyn-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 # FakeBrooklynV2 - + Bases: `FakeBackendV2` A fake Brooklyn V2 backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-brussels.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-brussels.mdx new file mode 100644 index 00000000000..3d997081afd --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-brussels.mdx @@ -0,0 +1,346 @@ +--- +title: FakeBrussels (latest version) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBrussels in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrussels +--- + +# FakeBrussels + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals. + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + Return the maximum number of circuits that can be run in a single job. + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBrussels.run "qiskit_ibm_runtime.fake_provider.FakeBrussels.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties. + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart. + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-burlington-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-burlington-v2.mdx index 6cac4abb3c8..f516aad1015 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-burlington-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-burlington-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 # FakeBurlingtonV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. @@ -19,17 +19,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 2 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -39,7 +52,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### dirname - + ### dt @@ -56,7 +69,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -78,6 +91,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -125,7 +140,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### props\_filename - + ### provider @@ -183,7 +198,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -201,7 +216,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### configuration - + Return the backend configuration. **Return type** @@ -211,8 +226,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -236,7 +251,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -248,13 +263,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -281,7 +296,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -322,7 +337,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-cairo-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-cairo-v2.mdx index 7ae5e56fdde..39e4d792121 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-cairo-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-cairo-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 # FakeCairoV2 - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-cambridge-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-cambridge-v2.mdx index 1a62cb4997a..0ed468e13b7 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-cambridge-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-cambridge-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 # FakeCambridgeV2 - + Bases: `FakeBackendV2` A fake Cambridge backend. @@ -25,17 +25,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 19 ↔ 20 ↔ 21 ↔ 22 ↔ 23 ↔ 24 ↔ 25 ↔ 26 ↔ 27 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -45,7 +58,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### dirname - + ### dt @@ -62,7 +75,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -84,6 +97,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -131,7 +146,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### props\_filename - + ### provider @@ -189,7 +204,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -207,7 +222,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### configuration - + Return the backend configuration. **Return type** @@ -217,8 +232,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -242,7 +257,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -254,13 +269,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -287,7 +302,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -328,7 +343,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-casablanca-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-casablanca-v2.mdx index 8ff6229fe59..91669aad0a1 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-casablanca-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-casablanca-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 # FakeCasablancaV2 - + Bases: `FakeBackendV2` A fake 7 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-cusco.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-cusco.mdx index 31d7fb633b3..49bbfaea00b 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-cusco.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-cusco.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco # FakeCusco - + Bases: `FakeBackendV2` A fake 127 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-essex-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-essex-v2.mdx index 87c5d477170..3fd7207eb6e 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-essex-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-essex-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 # FakeEssexV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. @@ -21,17 +21,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 4 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -41,7 +54,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### dirname - + ### dt @@ -58,7 +71,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -80,6 +93,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -127,7 +142,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### props\_filename - + ### provider @@ -185,7 +200,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -203,7 +218,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### configuration - + Return the backend configuration. **Return type** @@ -213,8 +228,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -238,7 +253,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -250,13 +265,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -283,7 +298,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -324,7 +339,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-fez.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-fez.mdx index 54d09cb39c6..8c5f7200b62 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-fez.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-fez.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez # FakeFez - + Bases: `FakeBackendV2` A fake 156 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFez ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-fractional-backend.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-fractional-backend.mdx index 853d7efd5ac..609a7d46372 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-fractional-backend.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-fractional-backend.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend # FakeFractionalBackend - + Bases: `FakeBackendV2` A fake 5 qubit backend with dynamic and fractional feature modeled based on FakeLima. @@ -20,17 +20,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend * Pulse calibrations (fractional gates don’t support calibration). * Gate properties of all instructions. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -40,7 +53,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend ### dirname - + ### dt @@ -57,7 +70,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -79,6 +92,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -126,7 +141,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend ### props\_filename - + ### provider @@ -184,7 +199,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -202,7 +217,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend ### configuration - + Return the backend configuration. **Return type** @@ -212,8 +227,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -237,7 +252,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -249,13 +264,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -282,7 +297,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -323,7 +338,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeFractionalBackend ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-geneva.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-geneva.mdx index ad57a254935..b57e19ccdb9 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-geneva.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-geneva.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva # FakeGeneva - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-guadalupe-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-guadalupe-v2.mdx index 3590baf65ef..e3c7f2a5eb0 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-guadalupe-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-guadalupe-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 # FakeGuadalupeV2 - + Bases: `FakeBackendV2` A fake 16 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-hanoi-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-hanoi-v2.mdx index b6392158673..6dacaae09f9 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-hanoi-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-hanoi-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 # FakeHanoiV2 - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-jakarta-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-jakarta-v2.mdx index abbb8bf1f3d..fa06b6ed882 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-jakarta-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-jakarta-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 # FakeJakartaV2 - + Bases: `FakeBackendV2` A fake 7 qubit V2 backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-johannesburg-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-johannesburg-v2.mdx index 78123161d84..e03547b00a5 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-johannesburg-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-johannesburg-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 # FakeJohannesburgV2 - + Bases: `FakeBackendV2` A fake Johannesburg V2 backend. @@ -23,17 +23,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 15 ↔ 16 ↔ 17 ↔ 18 ↔ 19 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -43,7 +56,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### dirname - + ### dt @@ -60,7 +73,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -82,6 +95,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -129,7 +144,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### props\_filename - + ### provider @@ -187,7 +202,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -205,7 +220,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### configuration - + Return the backend configuration. **Return type** @@ -215,8 +230,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -240,7 +255,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -252,13 +267,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -285,7 +300,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -326,7 +341,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-kawasaki.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kawasaki.mdx index b9ac997985d..410bf39ac46 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-kawasaki.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kawasaki.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki # FakeKawasaki - + Bases: `FakeBackendV2` A fake 127 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-kingston.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kingston.mdx new file mode 100644 index 00000000000..1896bcbafa8 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kingston.mdx @@ -0,0 +1,346 @@ +--- +title: FakeKingston (latest version) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeKingston in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeKingston +--- + +# FakeKingston + + + Bases: `FakeBackendV2` + + A fake 156 qubit backend. + + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals. + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + Return the maximum number of circuits that can be run in a single job. + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeKingston.run "qiskit_ibm_runtime.fake_provider.FakeKingston.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties. + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart. + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-kolkata-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kolkata-v2.mdx index 403e24e4524..0fd99a7e7a8 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-kolkata-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kolkata-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 # FakeKolkataV2 - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyiv.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyiv.mdx index a69ba9a637e..85a68bd4da0 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyiv.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyiv.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv # FakeKyiv - + Bases: `FakeBackendV2` A fake 127 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyoto.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyoto.mdx index feda1b3234d..0de65c19ffd 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyoto.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-kyoto.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto # FakeKyoto - + Bases: `FakeBackendV2` A fake 127 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-lagos-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-lagos-v2.mdx index 9d5df7a35f8..9feb4af440c 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-lagos-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-lagos-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 # FakeLagosV2 - + Bases: `FakeBackendV2` A fake 7 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-lima-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-lima-v2.mdx index 58875189adc..cf4086bb43a 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-lima-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-lima-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 # FakeLimaV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-london-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-london-v2.mdx index eb73490ddc8..921c5345c2f 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-london-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-london-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 # FakeLondonV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. @@ -21,17 +21,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 4 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -41,7 +54,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### dirname - + ### dt @@ -58,7 +71,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -80,6 +93,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -127,7 +142,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### props\_filename - + ### provider @@ -185,7 +200,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -203,7 +218,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### configuration - + Return the backend configuration. **Return type** @@ -213,8 +228,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -238,7 +253,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -250,13 +265,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -283,7 +298,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -324,7 +339,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-manhattan-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-manhattan-v2.mdx index a98e58e8568..769fba1aa9f 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-manhattan-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-manhattan-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 # FakeManhattanV2 - + Bases: `FakeBackendV2` A fake Manhattan backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-manila-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-manila-v2.mdx index 76b7a53a7f7..693e0912843 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-manila-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-manila-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 # FakeManilaV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-marrakesh.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-marrakesh.mdx index 0e10c26fa92..16dfa943723 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-marrakesh.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-marrakesh.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh # FakeMarrakesh - + Bases: `FakeBackendV2` A fake 156 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-melbourne-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-melbourne-v2.mdx index f695096dca5..fdecabd9cd8 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-melbourne-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-melbourne-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 # FakeMelbourneV2 - + Bases: `FakeBackendV2` A fake 15 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-miami.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-miami.mdx new file mode 100644 index 00000000000..b42fd702d20 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-miami.mdx @@ -0,0 +1,346 @@ +--- +title: FakeMiami (latest version) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeMiami in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeMiami +--- + +# FakeMiami + + + Bases: `FakeBackendV2` + + A fake 120 qubit backend. + + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals. + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + Return the maximum number of circuits that can be run in a single job. + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeMiami.run "qiskit_ibm_runtime.fake_provider.FakeMiami.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties. + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart. + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-montreal-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-montreal-v2.mdx index b13abdbe46f..115bdb6ea7e 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-montreal-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-montreal-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 # FakeMontrealV2 - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-mumbai-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-mumbai-v2.mdx index b4d3c2be4d3..ffff78d5ea2 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-mumbai-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-mumbai-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 # FakeMumbaiV2 - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-nairobi-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-nairobi-v2.mdx index 720191e1473..c74f9be692a 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-nairobi-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-nairobi-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 # FakeNairobiV2 - + Bases: `FakeBackendV2` A fake 7 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-osaka.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-osaka.mdx index 0472cfa0853..e5ddf3f2ab4 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-osaka.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-osaka.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka # FakeOsaka - + Bases: `FakeBackendV2` A fake 127 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-oslo.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-oslo.mdx index 9a3a9baead3..71475f6369f 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-oslo.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-oslo.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo # FakeOslo - + Bases: `FakeBackendV2` A fake 7 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-ourense-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-ourense-v2.mdx index 83a6d8da307..dabd1c05ab9 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-ourense-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-ourense-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 # FakeOurenseV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. @@ -19,17 +19,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 2 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -39,7 +52,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### dirname - + ### dt @@ -56,7 +69,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -78,6 +91,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -125,7 +140,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### props\_filename - + ### provider @@ -183,7 +198,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -201,7 +216,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### configuration - + Return the backend configuration. **Return type** @@ -211,8 +226,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -236,7 +251,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -248,13 +263,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -281,7 +296,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -322,7 +337,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-paris-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-paris-v2.mdx index 25b83a3c983..db681551243 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-paris-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-paris-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 # FakeParisV2 - + Bases: `FakeBackendV2` A fake Paris backend. @@ -25,17 +25,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 09 20 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -45,7 +58,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### dirname - + ### dt @@ -62,7 +75,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -84,6 +97,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -131,7 +146,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### props\_filename - + ### provider @@ -189,7 +204,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -207,7 +222,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### configuration - + Return the backend configuration. **Return type** @@ -217,8 +232,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -242,7 +257,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -254,13 +269,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -287,7 +302,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -328,7 +343,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-peekskill.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-peekskill.mdx index 798c7f0fbef..87207e1f4e6 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-peekskill.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-peekskill.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill # FakePeekskill - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-perth.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-perth.mdx index 264befb3b15..1aebb410df7 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-perth.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-perth.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth # FakePerth - + Bases: `FakeBackendV2` A fake 7 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-pittsburgh.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-pittsburgh.mdx new file mode 100644 index 00000000000..c79cf492dc2 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-pittsburgh.mdx @@ -0,0 +1,346 @@ +--- +title: FakePittsburgh (latest version) +description: API reference for qiskit_ibm_runtime.fake_provider.FakePittsburgh in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakePittsburgh +--- + +# FakePittsburgh + + + Bases: `FakeBackendV2` + + A fake 156 qubit backend. + + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals. + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + Return the maximum number of circuits that can be run in a single job. + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakePittsburgh.run "qiskit_ibm_runtime.fake_provider.FakePittsburgh.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties. + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart. + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-poughkeepsie-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-poughkeepsie-v2.mdx index 52b6162667d..96a82559979 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-poughkeepsie-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-poughkeepsie-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 # FakePoughkeepsieV2 - + Bases: `FakeBackendV2` A fake Poughkeepsie backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-prague.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-prague.mdx index c402f5b9907..b0e6d307899 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-prague.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-prague.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague # FakePrague - + Bases: `FakeBackendV2` A fake 33 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-provider-for-backend-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-provider-for-backend-v2.mdx index 281805f1d2e..40b7290a20f 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-provider-for-backend-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-provider-for-backend-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2 # FakeProviderForBackendV2 - + Bases: `object` Fake provider containing fake V2 backends. @@ -19,7 +19,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2 ### backend - + Filter backends in provider by name. **Parameters** @@ -34,7 +34,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2 ### backends - + Return all backends accessible via this account. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-quebec.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-quebec.mdx index e8b1dabdfcd..35b4ef90ad9 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-quebec.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-quebec.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec # FakeQuebec - + Bases: `FakeBackendV2` A fake 127 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-quito-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-quito-v2.mdx index 6f4ff2ca5f6..dd2f0dd30e9 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-quito-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-quito-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 # FakeQuitoV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-rochester-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-rochester-v2.mdx index e0289bf8f60..2c1fff3b62a 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-rochester-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-rochester-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 # FakeRochesterV2 - + Bases: `FakeBackendV2` A fake Rochester backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-rome-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-rome-v2.mdx index 1ccf5770fa7..dc53c184647 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-rome-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-rome-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 # FakeRomeV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-santiago-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-santiago-v2.mdx index 9112b8f6a35..cbaad526d2e 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-santiago-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-santiago-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 # FakeSantiagoV2 - + Bases: `FakeBackendV2` A fake Santiago backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-sherbrooke.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-sherbrooke.mdx index 579b974bed1..d017737bec5 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-sherbrooke.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-sherbrooke.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke # FakeSherbrooke - + Bases: `FakeBackendV2` A fake 127 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-singapore-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-singapore-v2.mdx index 3154702f2cb..20ec18cc323 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-singapore-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-singapore-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 # FakeSingaporeV2 - + Bases: `FakeBackendV2` A fake Singapore backend. @@ -23,17 +23,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 15 ↔ 16 ↔ 17 ↔ 18 ↔ 19 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -43,7 +56,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### dirname - + ### dt @@ -60,7 +73,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -82,6 +95,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -129,7 +144,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### props\_filename - + ### provider @@ -187,7 +202,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -205,7 +220,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### configuration - + Return the backend configuration. **Return type** @@ -215,8 +230,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -240,7 +255,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -252,13 +267,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -285,7 +300,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -326,7 +341,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-strasbourg.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-strasbourg.mdx new file mode 100644 index 00000000000..bf575e0100f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-strasbourg.mdx @@ -0,0 +1,346 @@ +--- +title: FakeStrasbourg (latest version) +description: API reference for qiskit_ibm_runtime.fake_provider.FakeStrasbourg in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeStrasbourg +--- + +# FakeStrasbourg + + + Bases: `FakeBackendV2` + + A fake 127 qubit backend. + + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options + + ## Attributes + + ### backend\_name + + + + ### conf\_filename + + + + ### coupling\_map + + + Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object + + + ### dirname + + + + ### dt + + + Return the system time resolution of input signals + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + ### dtm + + + Return the system time resolution of output signals. + + **Returns** + + The output signal timestep in seconds. + + + ### instruction\_durations + + + Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. + + + ### instructions + + + A list of Instruction tuples on the backend of the form `(instruction, (qubits))` + + + ### max\_circuits + + + Return the maximum number of circuits that can be run in a single job. + + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. + + + ### meas\_map + + + Return the grouping of measurements which are multiplexed + + This is required to be implemented if the backend supports Pulse scheduling. + + **Returns** + + The grouping of measurements which are multiplexed + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the measurement mapping + + + ### num\_qubits + + + Return the number of qubits the backend has. + + + ### operation\_names + + + A list of instruction names that the backend supports. + + + ### operations + + + A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. + + + ### options + + + Return the options for the backend + + The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeStrasbourg.run "qiskit_ibm_runtime.fake_provider.FakeStrasbourg.run") method. + + + ### props\_filename + + + + ### provider + + + Return the backend provider. + + **Returns** + + the provider responsible for the backend. + + **Return type** + + provider + + + ### target + + + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. + + **Return type** + + Target + + + ### version + + + + ### name + + + Name of the backend. + + + ### description + + + Optional human-readable description. + + + ### online\_date + + + Date that the backend came online. + + + ### backend\_version + + + Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + + + ## Methods + + ### check\_faulty + + + Check if the input circuit uses faulty qubits or edges. + + **Parameters** + + **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + + **Raises** + + **ValueError** – If an instruction operating on a faulty qubit or edge is found. + + **Return type** + + None + + + ### configuration + + + Return the backend configuration. + + **Return type** + + [*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") + + + ### properties + + + Return the backend properties. + + **Parameters** + + **refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file. + + **Returns** + + The backend properties. + + **Return type** + + [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") + + + ### qubit\_properties + + + Return QubitProperties for a given qubit. + + If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + + **Parameters** + + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + + **Returns** + + The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + + **Raises** + + **NotImplementedError** – if the backend doesn’t support querying the qubit properties + + **Return type** + + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + + + ### refresh + + + Update the data files from its real counterpart. + + This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: + + * `../fake_provider/backends/{backend_name}/conf_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/defs_{backend_name}.json` + * `../fake_provider/backends/{backend_name}/props_{backend_name}.json` + + The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled. + + **Parameters** + + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance + * **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates. + + **Raises** + + * **ValueError** – if the provided service is a non-QiskitRuntimeService instance. + * **Exception** – If the real target doesn’t exist or can’t be accessed + + **Return type** + + None + + + ### run + + + Run on the fake backend using a simulator. + + This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. + + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. + + Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + + **Parameters** + + * **run\_input** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| list\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*]*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) + * **options** (*dict*) – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + + **Returns** + + The job object for the run + + **Return type** + + [*Job*](/docs/api/qiskit/qiskit.providers.Job) + + + ### set\_options + + + Set the options fields for the backend + + This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + + **Parameters** + + **fields** – The fields to update the options + + **Raises** + + **AttributeError** – If the field passed in is not part of the options + + + ### status + + + Return the backend status. + + **Returns** + + The status of the backend. + + **Return type** + + [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") + + + diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-sydney-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-sydney-v2.mdx index d25bbeaa5bb..6aced9ddbf7 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-sydney-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-sydney-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 # FakeSydneyV2 - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-torino.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-torino.mdx index e0f8b6a3c6b..b4aa31b12c2 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-torino.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-torino.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino # FakeTorino - + Bases: `FakeBackendV2` A fake 133 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-toronto-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-toronto-v2.mdx index a37d89d8315..b9a1097af48 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-toronto-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-toronto-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 # FakeTorontoV2 - + Bases: `FakeBackendV2` A fake 27 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-valencia-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-valencia-v2.mdx index 3cee9c4aec3..15f12ebffea 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-valencia-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-valencia-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 # FakeValenciaV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-vigo-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-vigo-v2.mdx index f3ce5fbca57..ee63d78e6e7 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-vigo-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-vigo-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 # FakeVigoV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. @@ -19,17 +19,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 2 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -39,7 +52,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### dirname - + ### dt @@ -56,7 +69,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -78,6 +91,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -125,7 +140,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### props\_filename - + ### provider @@ -183,7 +198,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -201,7 +216,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### configuration - + Return the backend configuration. **Return type** @@ -211,8 +226,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -236,7 +251,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -248,13 +263,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -281,7 +296,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -322,7 +337,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-washington-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-washington-v2.mdx index 11a243a04ad..cf14aff32f2 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-washington-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-washington-v2.mdx @@ -8,22 +8,35 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 # FakeWashingtonV2 - + Bases: `FakeBackendV2` A fake 127 qubit backend. - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -33,7 +46,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### dirname - + ### dt @@ -50,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -72,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -119,7 +134,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### props\_filename - + ### provider @@ -177,7 +192,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -195,7 +210,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### configuration - + Return the backend configuration. **Return type** @@ -205,8 +220,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -230,7 +245,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -242,13 +257,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -275,7 +290,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -316,7 +331,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider-fake-yorktown-v2.mdx b/docs/api/qiskit-ibm-runtime/fake-provider-fake-yorktown-v2.mdx index e167846c399..94e45e2537e 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider-fake-yorktown-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider-fake-yorktown-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 # FakeYorktownV2 - + Bases: `FakeBackendV2` A fake 5 qubit backend. @@ -21,17 +21,30 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 4 ``` - FakeBackendV2 initializer. + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes ### backend\_name - + ### conf\_filename - + ### coupling\_map @@ -41,7 +54,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### dirname - + ### dt @@ -58,7 +71,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -80,6 +93,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. @@ -127,7 +142,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### props\_filename - + ### provider @@ -185,7 +200,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -203,7 +218,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### configuration - + Return the backend configuration. **Return type** @@ -213,8 +228,8 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### properties - - Return the backend properties + + Return the backend properties. **Parameters** @@ -238,7 +253,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -250,13 +265,13 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - - Update the data files from its real counterpart + + Update the data files from its real counterpart. This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation: @@ -283,7 +298,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### run - + Run on the fake backend using a simulator. This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.Job) object. @@ -324,7 +339,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/fake-provider.mdx b/docs/api/qiskit-ibm-runtime/fake-provider.mdx index ec95a5df536..85613696909 100644 --- a/docs/api/qiskit-ibm-runtime/fake-provider.mdx +++ b/docs/api/qiskit-ibm-runtime/fake-provider.mdx @@ -96,16 +96,20 @@ Fake V2 backends are fake backends with IBM Quantum systems snapshots implemente | | | | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| [`FakeAachen`](fake-provider-fake-aachen "qiskit_ibm_runtime.fake_provider.FakeAachen") | A fake 156 qubit backend. | | [`FakeAlgiers`](fake-provider-fake-algiers "qiskit_ibm_runtime.fake_provider.FakeAlgiers") | A fake 27 qubit backend. | | [`FakeAlmadenV2`](fake-provider-fake-almaden-v2 "qiskit_ibm_runtime.fake_provider.FakeAlmadenV2") | A fake Almaden V2 backend. | | [`FakeArmonkV2`](fake-provider-fake-armonk-v2 "qiskit_ibm_runtime.fake_provider.FakeArmonkV2") | A fake 1 qubit backend. | | [`FakeAthensV2`](fake-provider-fake-athens-v2 "qiskit_ibm_runtime.fake_provider.FakeAthensV2") | A fake 5 qubit backend. | | [`FakeAuckland`](fake-provider-fake-auckland "qiskit_ibm_runtime.fake_provider.FakeAuckland") | A fake 27 qubit backend. | | [`FakeBelemV2`](fake-provider-fake-belem-v2 "qiskit_ibm_runtime.fake_provider.FakeBelemV2") | A fake 5 qubit backend. | +| [`FakeBerlin`](fake-provider-fake-berlin "qiskit_ibm_runtime.fake_provider.FakeBerlin") | A fake 120 qubit backend. | | [`FakeBoeblingenV2`](fake-provider-fake-boeblingen-v2 "qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2") | A fake Boeblingen V2 backend. | | [`FakeBogotaV2`](fake-provider-fake-bogota-v2 "qiskit_ibm_runtime.fake_provider.FakeBogotaV2") | A fake 5 qubit backend. | +| [`FakeBoston`](fake-provider-fake-boston "qiskit_ibm_runtime.fake_provider.FakeBoston") | A fake 156 qubit backend. | | [`FakeBrisbane`](fake-provider-fake-brisbane "qiskit_ibm_runtime.fake_provider.FakeBrisbane") | A fake 127 qubit backend. | | [`FakeBrooklynV2`](fake-provider-fake-brooklyn-v2 "qiskit_ibm_runtime.fake_provider.FakeBrooklynV2") | A fake Brooklyn V2 backend. | +| [`FakeBrussels`](fake-provider-fake-brussels "qiskit_ibm_runtime.fake_provider.FakeBrussels") | A fake 127 qubit backend. | | [`FakeBurlingtonV2`](fake-provider-fake-burlington-v2 "qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2") | A fake 5 qubit backend. | | [`FakeCairoV2`](fake-provider-fake-cairo-v2 "qiskit_ibm_runtime.fake_provider.FakeCairoV2") | A fake 27 qubit backend. | | [`FakeCambridgeV2`](fake-provider-fake-cambridge-v2 "qiskit_ibm_runtime.fake_provider.FakeCambridgeV2") | A fake Cambridge backend. | @@ -119,6 +123,7 @@ Fake V2 backends are fake backends with IBM Quantum systems snapshots implemente | [`FakeJakartaV2`](fake-provider-fake-jakarta-v2 "qiskit_ibm_runtime.fake_provider.FakeJakartaV2") | A fake 7 qubit V2 backend. | | [`FakeJohannesburgV2`](fake-provider-fake-johannesburg-v2 "qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2") | A fake Johannesburg V2 backend. | | [`FakeKawasaki`](fake-provider-fake-kawasaki "qiskit_ibm_runtime.fake_provider.FakeKawasaki") | A fake 127 qubit backend. | +| [`FakeKingston`](fake-provider-fake-kingston "qiskit_ibm_runtime.fake_provider.FakeKingston") | A fake 156 qubit backend. | | [`FakeKolkataV2`](fake-provider-fake-kolkata-v2 "qiskit_ibm_runtime.fake_provider.FakeKolkataV2") | A fake 27 qubit backend. | | [`FakeKyiv`](fake-provider-fake-kyiv "qiskit_ibm_runtime.fake_provider.FakeKyiv") | A fake 127 qubit backend. | | [`FakeKyoto`](fake-provider-fake-kyoto "qiskit_ibm_runtime.fake_provider.FakeKyoto") | A fake 127 qubit backend. | @@ -130,6 +135,7 @@ Fake V2 backends are fake backends with IBM Quantum systems snapshots implemente | [`FakeManilaV2`](fake-provider-fake-manila-v2 "qiskit_ibm_runtime.fake_provider.FakeManilaV2") | A fake 5 qubit backend. | | [`FakeMarrakesh`](fake-provider-fake-marrakesh "qiskit_ibm_runtime.fake_provider.FakeMarrakesh") | A fake 156 qubit backend. | | [`FakeMelbourneV2`](fake-provider-fake-melbourne-v2 "qiskit_ibm_runtime.fake_provider.FakeMelbourneV2") | A fake 15 qubit backend. | +| [`FakeMiami`](fake-provider-fake-miami "qiskit_ibm_runtime.fake_provider.FakeMiami") | A fake 120 qubit backend. | | [`FakeMontrealV2`](fake-provider-fake-montreal-v2 "qiskit_ibm_runtime.fake_provider.FakeMontrealV2") | A fake 27 qubit backend. | | [`FakeMumbaiV2`](fake-provider-fake-mumbai-v2 "qiskit_ibm_runtime.fake_provider.FakeMumbaiV2") | A fake 27 qubit backend. | | [`FakeNairobiV2`](fake-provider-fake-nairobi-v2 "qiskit_ibm_runtime.fake_provider.FakeNairobiV2") | A fake 7 qubit backend. | @@ -139,6 +145,7 @@ Fake V2 backends are fake backends with IBM Quantum systems snapshots implemente | [`FakeParisV2`](fake-provider-fake-paris-v2 "qiskit_ibm_runtime.fake_provider.FakeParisV2") | A fake Paris backend. | | [`FakePeekskill`](fake-provider-fake-peekskill "qiskit_ibm_runtime.fake_provider.FakePeekskill") | A fake 27 qubit backend. | | [`FakePerth`](fake-provider-fake-perth "qiskit_ibm_runtime.fake_provider.FakePerth") | A fake 7 qubit backend. | +| [`FakePittsburgh`](fake-provider-fake-pittsburgh "qiskit_ibm_runtime.fake_provider.FakePittsburgh") | A fake 156 qubit backend. | | [`FakePrague`](fake-provider-fake-prague "qiskit_ibm_runtime.fake_provider.FakePrague") | A fake 33 qubit backend. | | [`FakePoughkeepsieV2`](fake-provider-fake-poughkeepsie-v2 "qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2") | A fake Poughkeepsie backend. | | [`FakeQuebec`](fake-provider-fake-quebec "qiskit_ibm_runtime.fake_provider.FakeQuebec") | A fake 127 qubit backend. | @@ -148,6 +155,7 @@ Fake V2 backends are fake backends with IBM Quantum systems snapshots implemente | [`FakeSantiagoV2`](fake-provider-fake-santiago-v2 "qiskit_ibm_runtime.fake_provider.FakeSantiagoV2") | A fake Santiago backend. | | [`FakeSherbrooke`](fake-provider-fake-sherbrooke "qiskit_ibm_runtime.fake_provider.FakeSherbrooke") | A fake 127 qubit backend. | | [`FakeSingaporeV2`](fake-provider-fake-singapore-v2 "qiskit_ibm_runtime.fake_provider.FakeSingaporeV2") | A fake Singapore backend. | +| [`FakeStrasbourg`](fake-provider-fake-strasbourg "qiskit_ibm_runtime.fake_provider.FakeStrasbourg") | A fake 127 qubit backend. | | [`FakeSydneyV2`](fake-provider-fake-sydney-v2 "qiskit_ibm_runtime.fake_provider.FakeSydneyV2") | A fake 27 qubit backend. | | [`FakeTorino`](fake-provider-fake-torino "qiskit_ibm_runtime.fake_provider.FakeTorino") | A fake 133 qubit backend. | | [`FakeTorontoV2`](fake-provider-fake-toronto-v2 "qiskit_ibm_runtime.fake_provider.FakeTorontoV2") | A fake 27 qubit backend. | diff --git a/docs/api/qiskit-ibm-runtime/ibm-backend.mdx b/docs/api/qiskit-ibm-runtime/ibm-backend.mdx index c53a6eda689..18df76f8eff 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-backend.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-backend.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend # IBMBackend - + Bases: [`BackendV2`](/docs/api/qiskit/qiskit.providers.BackendV2) Backend class interfacing with an IBM Quantum backend. @@ -119,15 +119,33 @@ python_api_name: qiskit_ibm_runtime.IBMBackend > > * revision: Revision version of this processor. > > * segment: Segment this processor belongs to within a larger chip. - IBMBackend constructor. - **Parameters** * **configuration** ([*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.QasmBackendConfiguration")) – Backend configuration. - * **service** ([*qiskit\_runtime\_service.QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – Instance of QiskitRuntimeService. + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService")) – Instance of QiskitRuntimeService. * **api\_client** (*RuntimeClient*) – IBM client used to communicate with the server. + * **instance** (*str | None*) – The service instance to use. * **calibration\_id** (*str | None*) – An optional calibration id to use for this backend + + Initialize a BackendV2 based backend + + **Parameters** + + * **provider** – An optional backwards reference to the provider object that the backend is from + * **name** – An optional name for the backend + * **description** – An optional description of the backend + * **online\_date** – An optional datetime the backend was brought online + * **backend\_version** – An optional backend version string. This differs from the [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) attribute as [`version`](/docs/api/qiskit/qiskit.providers.BackendV2#version) is for the abstract `Backend` abstract interface version of the object while `backend_version` is for versioning the backend itself. + * **fields** – kwargs for the values to use to override the default options. + * **configuration** ([*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.QasmBackendConfiguration")) + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService")) + * **api\_client** (*RuntimeClient*) * **instance** (*str | None*) + * **calibration\_id** (*str | None*) + + **Raises** + + **AttributeError** – If a field is specified that’s outside the backend’s options ## Attributes @@ -158,7 +176,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### dtm - Return the system time resolution of output signals + Return the system time resolution of output signals. **Returns** @@ -184,13 +202,15 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### max\_circuits + Return the maximum number of circuits that can be run in a single job. + This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. ### meas\_map - Return the grouping of measurements which are multiplexed + Return the grouping of measurements which are multiplexed. This is required to be implemented if the backend supports Pulse scheduling. @@ -242,7 +262,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### service - Return the `service` object + Return the `service` object. **Returns** @@ -291,8 +311,8 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### \_\_call\_\_ - - Call self as a function. + + Return the backend instance when called as a function. **Return type** @@ -301,12 +321,12 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** - **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check. + **circuit** (*QuantumCircuit*) – Circuit to check. **Raises** @@ -319,7 +339,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### configuration - + Return the backend configuration. Backend configuration contains fixed information about the backend, such as its name, number of qubits, basis gates, coupling map, quantum volume, etc. @@ -330,9 +350,9 @@ python_api_name: qiskit_ibm_runtime.IBMBackend **IBM backends may also include the following properties:** - * **`supported_features`: a list of strings of supported features like “qasm3” for dynamic** + * **`supported_features`: a list of strings of supported features like “qasm3” for** - circuits support. + dynamic circuits support. * **`parallel_compilation`: a boolean of whether or not the backend can process multiple** @@ -349,7 +369,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### get\_translation\_stage\_plugin - + Return the default translation stage plugin name for IBM backends. **Return type** @@ -359,7 +379,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### properties - + Return the backend properties, subject to optional filtering. This data describes qubits properties (such as T1 and T2), gates properties (such as gate length and error), and other general properties of the backend. @@ -369,7 +389,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend **Parameters** * **refresh** (*bool*) – If `True`, re-query the server for the backend properties. Otherwise, return a cached version. - * **datetime** (*datetime | None*) – By specifying datetime, this function returns an instance of the `BackendProperties` whose timestamp is closest to, but older than, the specified datetime. + * **datetime** (*python\_datetime | None*) – By specifying datetime, this function returns an instance of the `BackendProperties` whose timestamp is closest to, but older than, the specified datetime. **Returns** @@ -382,7 +402,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend **Return type** - [*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties") | None + [BackendProperties](models-backend-properties "qiskit_ibm_runtime.models.BackendProperties") | None ### qubit\_properties @@ -394,7 +414,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend **Parameters** - **qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + **qubit** (*int | list\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order **Returns** @@ -406,12 +426,12 @@ python_api_name: qiskit_ibm_runtime.IBMBackend **Return type** - [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] + [*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | list\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)] ### refresh - + Retrieve the newest backend configuration and refresh the current backend target. **Return type** @@ -421,7 +441,9 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### run - + + Run a job in the backend. + **Raises** **IBMBackendError** – The run() method is no longer supported. @@ -449,7 +471,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### status - + Return the backend status. @@ -469,28 +491,9 @@ python_api_name: qiskit_ibm_runtime.IBMBackend [*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus") - ### submit - - - Submit a quantum program for execution. - - **Parameters** - - * **program** (*QuantumProgram*) – The program to execute. - * **options** (*ExecutorOptions | None*) – Execution options. - - **Returns** - - A job. - - **Return type** - - [*RuntimeJobV2*](runtime-job-v2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2") - - ### target\_history - + A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend. **Returns** @@ -499,11 +502,11 @@ python_api_name: qiskit_ibm_runtime.IBMBackend **Parameters** - **datetime** (*datetime | None*) + **datetime** (*python\_datetime | None*) **Return type** - [*Target*](/docs/api/qiskit/qiskit.transpiler.Target) + Target diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-base-params-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-base-params-model.mdx index 1026355bae6..a3d150c62d8 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-base-params-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-base-params-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.BaseParamsModel # BaseParamsModel - + Bases: `BaseModel` Model of a runtime program’s inner parameters. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-f-64-tensor-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-f-64-tensor-model.mdx index f90aebf328d..ac4e6100a3e 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-f-64-tensor-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-f-64-tensor-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.F64TensorModel # F64TensorModel - + Bases: [`TensorModel`](ibm-quantum-schemas-common-tensor-model "ibm_quantum_schemas.common.tensor.TensorModel") Model of tensor data specialized to f64. @@ -49,13 +49,13 @@ python_api_name: ibm_quantum_schemas.common.F64TensorModel ### check\_sizes - + Cross-validate that all sizes are consistent. ### from\_numpy - + Instantiate from a NumPy array. **Parameters** @@ -65,7 +65,7 @@ python_api_name: ibm_quantum_schemas.common.F64TensorModel ### to\_numpy - + Convert to a NumPy Array. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-pauli-lindblad-map-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-pauli-lindblad-map-model.mdx index 1cf90d17771..c4f2bee8f9e 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-pauli-lindblad-map-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-pauli-lindblad-map-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.PauliLindbladMapModel # PauliLindbladMapModel - + Bases: `BaseModel` Encoding of a sparse Pauli Lindblad map. @@ -33,7 +33,7 @@ python_api_name: ibm_quantum_schemas.common.PauliLindbladMapModel ### from\_pauli\_lindblad\_map - + Encode a [`qiskit.quantum_info.PauliLindbladMap`](/docs/api/qiskit/qiskit.quantum_info.PauliLindbladMap) into this model. **Parameters** @@ -47,7 +47,7 @@ python_api_name: ibm_quantum_schemas.common.PauliLindbladMapModel ### to\_pauli\_lindblad\_map - + Decode this model into a [`qiskit.quantum_info.PauliLindbladMap`](/docs/api/qiskit/qiskit.quantum_info.PauliLindbladMap). **Return type** diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-data-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-data-model.mdx new file mode 100644 index 00000000000..b973a76d1c0 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-data-model.mdx @@ -0,0 +1,103 @@ +--- +title: QpyDataModel (latest version) +description: API reference for ibm_quantum_schemas.common.QpyDataModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.QpyDataModel +--- + + + +# QpyDataModel + + + Bases: `BaseModel`, `Generic`\[`T`] + + QPY-encoded Qiskit objects. + + ### b64\_data + + + Base-64 encoded data of the QPY serialization of some Qiskit objects. + + **Validated by** + + * `cross_validate_qpy_info` + + + ### num\_programs + + + The number of distinct elements in the Python encoding. + + **Constraints** + + * **ge** = 1 + + **Validated by** + + * `cross_validate_qpy_info` + + + ### qpy\_version + + + The QPY encoding version. + + **Constraints** + + * **ge** = 10 + + **Validated by** + + * `cross_validate_qpy_info` + + + ### cross\_validate\_qpy\_info + + + Check that the encoded qpy information matches expectations. + + + ### from\_python + + + Create a model instance from Python data of the correct type. + + The returned instance owns a reference to the provided data. This instance may be returned by [`to_python()`](#ibm_quantum_schemas.common.QpyDataModel.to_python "ibm_quantum_schemas.common.QpyDataModel.to_python") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the data and possible side-effects of their mutations. + + **Parameters** + + * **data** (*list\[T]*) – The data to base64 encode in the new model instance. + * **qpy\_version** (*int*) – The QPY version to encode with. + + **Returns** + + A new model instance. + + **Return type** + + *Self* + + + ### to\_python + + + Return a Python representation of the encoded data in the model. + + When `use_cached` is false, or when no cached version exists, [`b64_data`](#ibm_quantum_schemas.common.QpyDataModel.b64_data "ibm_quantum_schemas.common.QpyDataModel.b64_data") is decoded and loaded into a new Python instance. Users of this class are responsible for managing cached instances of the Python data and possible side-effects of their mutations. + + **Parameters** + + **use\_cached** (*bool*) – Whether to return the cached instance (if it exists). + + **Returns** + + Python data. + + **Return type** + + list\[*T*] + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-data-v13-to-v17-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-data-v13-to-v17-model.mdx new file mode 100644 index 00000000000..e8f6ed250c9 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-data-v13-to-v17-model.mdx @@ -0,0 +1,104 @@ +--- +title: QpyDataV13ToV17Model (latest version) +description: API reference for ibm_quantum_schemas.common.QpyDataV13ToV17Model in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.common.QpyDataV13ToV17Model +--- + + + +# QpyDataV13ToV17Model + + + Bases: [`QpyDataModel`](ibm-quantum-schemas-common-qpy-data-model "ibm_quantum_schemas.common.qpy.QpyDataModel"), `Generic`\[`T`] + + QPY encoded circuit list with restricted version range. + + ### b64\_data + + + Base-64 encoded data of the QPY serialization of some Qiskit objects. + + **Validated by** + + * `cross_validate_qpy_info` + + + ### num\_programs + + + The number of distinct elements in the Python encoding. + + **Constraints** + + * **ge** = 1 + + **Validated by** + + * `cross_validate_qpy_info` + + + ### qpy\_version + + + The QPY encoding version. + + **Constraints** + + * **ge** = 13 + * **le** = 17 + + **Validated by** + + * `cross_validate_qpy_info` + + + ### cross\_validate\_qpy\_info + + + Check that the encoded qpy information matches expectations. + + + ### from\_python + + + Create a model instance from Python data of the correct type. + + The returned instance owns a reference to the provided data. This instance may be returned by [`to_python()`](#ibm_quantum_schemas.common.QpyDataV13ToV17Model.to_python "ibm_quantum_schemas.common.QpyDataV13ToV17Model.to_python") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the data and possible side-effects of their mutations. + + **Parameters** + + * **data** (*list\[T]*) – The data to base64 encode in the new model instance. + * **qpy\_version** (*int*) – The QPY version to encode with. + + **Returns** + + A new model instance. + + **Return type** + + *Self* + + + ### to\_python + + + Return a Python representation of the encoded data in the model. + + When `use_cached` is false, or when no cached version exists, [`b64_data`](#ibm_quantum_schemas.common.QpyDataV13ToV17Model.b64_data "ibm_quantum_schemas.common.QpyDataV13ToV17Model.b64_data") is decoded and loaded into a new Python instance. Users of this class are responsible for managing cached instances of the Python data and possible side-effects of their mutations. + + **Parameters** + + **use\_cached** (*bool*) – Whether to return the cached instance (if it exists). + + **Returns** + + Python data. + + **Return type** + + list\[*T*] + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v16.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v16.mdx index 650b3c93efc..4b8986eb24d 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v16.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v16.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.QpyModelV13ToV16 # QpyModelV13ToV16 - + Bases: [`QpyModel`](ibm-quantum-schemas-common-qpy-model "ibm_quantum_schemas.common.qpy.QpyModel") QPY encoded circuits with restricted version range. @@ -42,13 +42,13 @@ python_api_name: ibm_quantum_schemas.common.QpyModelV13ToV16 ### cross\_validate\_qpy\_version - + Check that the reported version matches the encoded version. ### from\_quantum\_circuit - + Create a model instance from a quantum circuit. The returned instance owns a reference to the provided circuit. This instance may be returned by [`to_quantum_circuit()`](#ibm_quantum_schemas.common.QpyModelV13ToV16.to_quantum_circuit "ibm_quantum_schemas.common.QpyModelV13ToV16.to_quantum_circuit") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. @@ -61,11 +61,15 @@ python_api_name: ibm_quantum_schemas.common.QpyModelV13ToV16 **Returns** A new model instance. + + **Return type** + + *Self* ### to\_quantum\_circuit - + Return a decoded quantum circuit instance. When `use_cached` is false, or when no cached version exists, [`circuit_b64`](#ibm_quantum_schemas.common.QpyModelV13ToV16.circuit_b64 "ibm_quantum_schemas.common.QpyModelV13ToV16.circuit_b64") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v17.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v17.mdx index 3f146b21a0c..551053ab56a 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v17.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model-v13-to-v17.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.QpyModelV13ToV17 # QpyModelV13ToV17 - + Bases: [`QpyModel`](ibm-quantum-schemas-common-qpy-model "ibm_quantum_schemas.common.qpy.QpyModel") QPY encoded circuits with restricted version range. @@ -42,13 +42,13 @@ python_api_name: ibm_quantum_schemas.common.QpyModelV13ToV17 ### cross\_validate\_qpy\_version - + Check that the reported version matches the encoded version. ### from\_quantum\_circuit - + Create a model instance from a quantum circuit. The returned instance owns a reference to the provided circuit. This instance may be returned by [`to_quantum_circuit()`](#ibm_quantum_schemas.common.QpyModelV13ToV17.to_quantum_circuit "ibm_quantum_schemas.common.QpyModelV13ToV17.to_quantum_circuit") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. @@ -61,11 +61,15 @@ python_api_name: ibm_quantum_schemas.common.QpyModelV13ToV17 **Returns** A new model instance. + + **Return type** + + *Self* ### to\_quantum\_circuit - + Return a decoded quantum circuit instance. When `use_cached` is false, or when no cached version exists, [`circuit_b64`](#ibm_quantum_schemas.common.QpyModelV13ToV17.circuit_b64 "ibm_quantum_schemas.common.QpyModelV13ToV17.circuit_b64") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model.mdx index 668deff32d0..cafc12eea3a 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-qpy-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.QpyModel # QpyModel - + Bases: `BaseModel` A QPY-encoded quantum circuit. @@ -41,13 +41,13 @@ python_api_name: ibm_quantum_schemas.common.QpyModel ### cross\_validate\_qpy\_version - + Check that the reported version matches the encoded version. ### from\_quantum\_circuit - + Create a model instance from a quantum circuit. The returned instance owns a reference to the provided circuit. This instance may be returned by [`to_quantum_circuit()`](#ibm_quantum_schemas.common.QpyModel.to_quantum_circuit "ibm_quantum_schemas.common.QpyModel.to_quantum_circuit") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. @@ -60,11 +60,15 @@ python_api_name: ibm_quantum_schemas.common.QpyModel **Returns** A new model instance. + + **Return type** + + *Self* ### to\_quantum\_circuit - + Return a decoded quantum circuit instance. When `use_cached` is false, or when no cached version exists, [`circuit_b64`](#ibm_quantum_schemas.common.QpyModel.circuit_b64 "ibm_quantum_schemas.common.QpyModel.circuit_b64") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the circuit and possible side-effects of their mutations. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2.mdx index d731a0ee4d1..cbb440cc578 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1-to-ssv-2.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2 # SamplexModelSSV1ToSSV2 - + Bases: [`SamplexModel`](ibm-quantum-schemas-common-samplex-model "ibm_quantum_schemas.common.samplex.SamplexModel") A samplex model constrained to use samplex serialization versions (SSV) 1 or 2. @@ -42,13 +42,13 @@ python_api_name: ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2 ### cross\_validate\_ssv\_version - + Check that the reported version matches the encoded version. ### from\_samplex - + Create a model instance from a samplex. The returned instance owns a reference to the provided samplex. This instance may be returned by [`to_samplex()`](#ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2.to_samplex "ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2.to_samplex") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. @@ -65,7 +65,7 @@ python_api_name: ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2 ### to\_samplex - + Return a decoded samplex instance. When `use_cached` is false, or when no cached version exists, [`samplex_json`](#ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2.samplex_json "ibm_quantum_schemas.common.SamplexModelSSV1ToSSV2.samplex_json") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1.mdx index 95bb660c2c2..a40525c965d 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model-ssv-1.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.SamplexModelSSV1 # SamplexModelSSV1 - + Bases: [`SamplexModel`](ibm-quantum-schemas-common-samplex-model "ibm_quantum_schemas.common.samplex.SamplexModel") A samplex model constrained to use samplex serialization version (SSV) 1. @@ -42,13 +42,13 @@ python_api_name: ibm_quantum_schemas.common.SamplexModelSSV1 ### cross\_validate\_ssv\_version - + Check that the reported version matches the encoded version. ### from\_samplex - + Create a model instance from a samplex. The returned instance owns a reference to the provided samplex. This instance may be returned by [`to_samplex()`](#ibm_quantum_schemas.common.SamplexModelSSV1.to_samplex "ibm_quantum_schemas.common.SamplexModelSSV1.to_samplex") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. @@ -65,7 +65,7 @@ python_api_name: ibm_quantum_schemas.common.SamplexModelSSV1 ### to\_samplex - + Return a decoded samplex instance. When `use_cached` is false, or when no cached version exists, [`samplex_json`](#ibm_quantum_schemas.common.SamplexModelSSV1.samplex_json "ibm_quantum_schemas.common.SamplexModelSSV1.samplex_json") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model.mdx index 6242ddd32b7..cd294d70f84 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-samplex-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.SamplexModel # SamplexModel - + Bases: `BaseModel` A QPY-encoded quantum circuit. @@ -41,13 +41,13 @@ python_api_name: ibm_quantum_schemas.common.SamplexModel ### cross\_validate\_ssv\_version - + Check that the reported version matches the encoded version. ### from\_samplex - + Create a model instance from a samplex. The returned instance owns a reference to the provided samplex. This instance may be returned by [`to_samplex()`](#ibm_quantum_schemas.common.SamplexModel.to_samplex "ibm_quantum_schemas.common.SamplexModel.to_samplex") depending on the value of `use_cached`. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. @@ -64,7 +64,7 @@ python_api_name: ibm_quantum_schemas.common.SamplexModel ### to\_samplex - + Return a decoded samplex instance. When `use_cached` is false, or when no cached version exists, [`samplex_json`](#ibm_quantum_schemas.common.SamplexModel.samplex_json "ibm_quantum_schemas.common.SamplexModel.samplex_json") is decoded and loaded into a new instance. Users of this class are responsible for managing cached instances of the samplex and possible side-effects of their mutations. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-tensor-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-tensor-model.mdx index a62c73632a3..dc425c8f84e 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-tensor-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-common-tensor-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.common.TensorModel # TensorModel - + Bases: `BaseModel` Model of tensor data. @@ -49,13 +49,13 @@ python_api_name: ibm_quantum_schemas.common.TensorModel ### check\_sizes - + Cross-validate that all sizes are consistent. ### from\_numpy - + Instantiate from a NumPy array. **Parameters** @@ -65,7 +65,7 @@ python_api_name: ibm_quantum_schemas.common.TensorModel ### to\_numpy - + Convert to a NumPy Array. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-part.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-part.mdx index 24035889552..a0abb28fdd9 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-part.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-part.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.ChunkPart # ChunkPart - + Bases: `BaseModel` A description of the contents of a single part of an execution chunk. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-span.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-span.mdx index afc64d7f2f7..21d4d9e0009 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-span.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-chunk-span.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.ChunkSpan # ChunkSpan - + Bases: `BaseModel` Timing information about a single chunk of execution. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-circuit-item-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-circuit-item-model.mdx index 0c9ae1fb030..ae1bc9324ba 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-circuit-item-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-circuit-item-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.CircuitItemModel # CircuitItemModel - + Bases: `BaseModel` Execution specifications for a single quantum circuit. @@ -61,7 +61,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.CircuitItemModel ### cross\_validate - + Check for mutual compatibility of types and shapes of attributes. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-metadata-model.mdx index 8d3ca090634..a7b74eaacdd 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.MetadataModel # MetadataModel - + Bases: `BaseModel` Execution metadata. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-options-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-options-model.mdx index ef031f65680..7f2f28f9675 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-options-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-options-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.OptionsModel # OptionsModel - + Bases: `BaseModel` Runtime options. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-params-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-params-model.mdx index d16607f22bc..3bb51de4094 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-params-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-params-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.ParamsModel # ParamsModel - + Bases: [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.base_params.BaseParamsModel") Schema version 1 of the inner parameters. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-model.mdx index fcb034b8ba5..893eb14ef5b 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.QuantumProgramModel # QuantumProgramModel - + Bases: `BaseModel` Model to store a quantum program. @@ -41,7 +41,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.QuantumProgramModel ### check\_chunk\_sizes\_are\_consistent - + Check that all program items set chunk sizes consistently. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model.mdx index 9f317442503..8ab0349817e 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-item-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.QuantumProgramResultIt # QuantumProgramResultItemModel - + Bases: `BaseModel` Results for a single quantum program item. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model.mdx index 7bf78be107f..678de35c2d4 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-quantum-program-result-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.QuantumProgramResultMo # QuantumProgramResultModel - + Bases: `BaseModel` Result from executing a quantum program. @@ -39,7 +39,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.QuantumProgramResultMo ### upgrade\_none\_to\_metadata - + Upgrade none values to empty metadata. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-samplex-item-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-samplex-item-model.mdx index 1d093db97c1..2dffe24a205 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-samplex-item-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-1-samplex-item-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.SamplexItemModel # SamplexItemModel - + Bases: `BaseModel` Execution specifications for a single quantum circuit. @@ -81,7 +81,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_1.SamplexItemModel ### cross\_validate - + Check for mutual compatibility of types and shapes of attributes. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-part.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-part.mdx index 2c04ae0567d..ae924b1ff33 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-part.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-part.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.ChunkPart # ChunkPart - + Bases: `BaseModel` A description of the contents of a single part of an execution chunk. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-span.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-span.mdx index ac6d631bee8..ba5510afd3e 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-span.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-chunk-span.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.ChunkSpan # ChunkSpan - + Bases: `BaseModel` Timing information about a single chunk of execution. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-circuit-item-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-circuit-item-model.mdx index b66c5e401d2..e72eca51db2 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-circuit-item-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-circuit-item-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.CircuitItemModel # CircuitItemModel - + Bases: `BaseModel` Execution specifications for a single quantum circuit. @@ -61,7 +61,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.CircuitItemModel ### cross\_validate - + Check for mutual compatibility of types and shapes of attributes. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-item-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-item-metadata-model.mdx index fda520c6ffd..6c62cc1dfb5 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-item-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-item-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.ItemMetadataModel # ItemMetadataModel - + Bases: `BaseModel` Per-item metadata for quantum program results. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-metadata-model.mdx index 28f88c513c0..5c38e1ca9c2 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.MetadataModel # MetadataModel - + Bases: `BaseModel` Execution metadata. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-options-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-options-model.mdx index 08c0d6802ea..9c141ae1a8d 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-options-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-options-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.OptionsModel # OptionsModel - + Bases: `BaseModel` Runtime options. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-params-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-params-model.mdx index cf6e0ab5a16..8a9abda8565 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-params-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-params-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.ParamsModel # ParamsModel - + Bases: [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.base_params.BaseParamsModel") A model describing the Executor program inputs. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-model.mdx index d5b29fe6af5..b6c8ae7d8ff 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.QuantumProgramModel # QuantumProgramModel - + Bases: `BaseModel` Model to store a quantum program. @@ -75,7 +75,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.QuantumProgramModel ### check\_chunk\_sizes\_are\_consistent - + Check that all program items set chunk sizes consistently. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model.mdx index 6af0a36bab9..777628270b6 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-item-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.QuantumProgramResultIt # QuantumProgramResultItemModel - + Bases: `BaseModel` Results for a single quantum program item. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model.mdx index 6c8d1b3e914..b24e2effbb6 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-quantum-program-result-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.QuantumProgramResultMo # QuantumProgramResultModel - + Bases: `BaseModel` Result from executing a quantum program. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-samplex-item-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-samplex-item-model.mdx index c4e704b420a..841948a8178 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-samplex-item-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-samplex-item-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.SamplexItemModel # SamplexItemModel - + Bases: `BaseModel` Execution specifications for a single quantum circuit. @@ -81,7 +81,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.SamplexItemModel ### cross\_validate - + Check for mutual compatibility of types and shapes of attributes. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model.mdx index ab150d464bd..def9dc46583 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-scheduler-timing-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.SchedulerTimingModel # SchedulerTimingModel - + Bases: `BaseModel` Describes the timing of a scheduled circuit. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-stretch-value-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-stretch-value-model.mdx index ff565559217..cb7e723c016 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-stretch-value-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-0-2-stretch-value-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.executor.version_0_2.StretchValueModel # StretchValueModel - + Bases: `BaseModel` Describes circuit stretch value resolutions. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-chunk-part.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-chunk-part.mdx new file mode 100644 index 00000000000..2faea2f8d40 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-chunk-part.mdx @@ -0,0 +1,90 @@ +--- +title: ChunkPart (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.ChunkPart in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.ChunkPart +--- + + + +# ChunkPart + + + Bases: `BaseModel` + + A description of the contents of a single part of an execution chunk. + + ### element\_range + + + Which elements of the item were executed in this chunk part. + + This range has entries `(start_idx, stop_idx, step)` that slice the flattened shape of the corresponding quantum program item, after the `permutation` has been applied. That is, this part corresponds to the data elements `flatten(permute(arr))[start_idx:stop_idx:step]` for some data array `arr` whose shape matches the corresponding item shape. The lower index is inclusive, the upper index is exclusive, and the step must be positive. + + It should hold that `size == max(0, ceil((stop_idx - start_idx) / step))`. + + **Validated by** + + * `cross_validate` + * `must_be_a_valid_range` + + + ### idx\_item + + + The index of an item in a quantum program. + + **Validated by** + + * `cross_validate` + + + ### permutation + + + A permutation vector of the item shape before slicing elements with the `element_range`. + + This list should hold contiguous integers starting at 0, in some order. The convention is that `permuted_shape[i] = shape[permutation[i]]` for every dimension index `i`. + + **Validated by** + + * `cross_validate` + * `must_be_permutation_of_range` + + + ### size + + + The number of elements from the quantum program item that were executed. + + For example, if a quantum program item has shape `(10, 5)`, then it has a total of `50` elements, so that if this `size` is `10`, it constitutes 20% of the total work for the item. + + **Validated by** + + * `cross_validate` + + + ### cross\_validate + + + Check for mutual compatibility of types and shapes of attributes. + + **Return type** + + *Self* + + + ### must\_be\_a\_valid\_range + + + Check that we have a valid range tuple. + + + ### must\_be\_permutation\_of\_range + + + Check that we have a valid permutation vector. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-chunk-span.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-chunk-span.mdx new file mode 100644 index 00000000000..7cfec929d99 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-chunk-span.mdx @@ -0,0 +1,40 @@ +--- +title: ChunkSpan (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.ChunkSpan in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.ChunkSpan +--- + + + +# ChunkSpan + + + Bases: `BaseModel` + + Timing information about a single chunk of execution. + + + This span may include some amount of non-circuit time. + + + ### parts + + + A description of which parts of a quantum program are contained in this chunk. + + + ### start + + + The start time of the execution chunk in UTC. + + + ### stop + + + The stop time of the execution chunk in UTC. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-circuit-item-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-circuit-item-model.mdx new file mode 100644 index 00000000000..bc0bd9ea57b --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-circuit-item-model.mdx @@ -0,0 +1,50 @@ +--- +title: CircuitItemModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.CircuitItemModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.CircuitItemModel +--- + + + +# CircuitItemModel + + + Bases: `BaseModel` + + Execution specifications for a single quantum circuit. + + The circuit for each item is store separately in `QuantumProgramModel`. + + ### chunk\_size + + + The maximum number circuit arguments to bind to the circuit per shot loop. + + When `"auto"`, the number is chosen server-side with heuristics designed to optimize execution speed. A quantum program must have items where either all chunk sizes are integer-valued, or all chunk sizes are `"auto"`. Integer values are only allowed inside of session exection mode. + + + ### circuit\_arguments + + + Arguments to the parameters of the circuit. + + The last axis is over `circuit.parameters`. Execution broadcasts over the preceding axes; expect one result per element of the leading shape. + + + ### item\_type + + + The type of quantum program item. + + + ### shape + + + The shape of this item. + + This shape must extend (via broadcasting) the implicit shape of the :attr:\~circuit\_arguments\`. The non-trivial axes it introduces represent replications. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-item-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-item-metadata-model.mdx new file mode 100644 index 00000000000..e56bcfd039b --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-item-metadata-model.mdx @@ -0,0 +1,30 @@ +--- +title: ItemMetadataModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.ItemMetadataModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.ItemMetadataModel +--- + + + +# ItemMetadataModel + + + Bases: `BaseModel` + + Per-item metadata for quantum program results. + + ### scheduler\_timing + + + Scheduled circuit timing information, if it is available. + + + ### stretch\_values + + + Stretch value resolution, if it is available. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-metadata-model.mdx new file mode 100644 index 00000000000..9ab8ea69057 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-metadata-model.mdx @@ -0,0 +1,24 @@ +--- +title: MetadataModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.MetadataModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.MetadataModel +--- + + + +# MetadataModel + + + Bases: `BaseModel` + + Execution metadata. + + ### chunk\_timing + + + Timing information about all executed chunks of a quantum program. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-options-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-options-model.mdx new file mode 100644 index 00000000000..a9d928f14d2 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-options-model.mdx @@ -0,0 +1,56 @@ +--- +title: OptionsModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.OptionsModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.OptionsModel +--- + + + +# OptionsModel + + + Bases: `BaseModel` + + Runtime options. + + ### experimental + + + Experimental options. + + These options are not guaranteed to be stable and may change or be removed without notice. + + + ### init\_qubits + + + Whether to reset the qubits to the ground state for each shot. + + + ### rep\_delay + + + The repetition delay. + + This is the delay between the end of one circuit and the start of the next within a shot loop. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. When this value is `None`, the default value `backend.default_rep_delay` is used. + + + ### scheduler\_timing + + + Whether to return circuit schedule timing of each provided quantum circuit. + + Setting this value to true will cause corresponding metadata of every program item to be populated in the returned data. + + + ### stretch\_values + + + Whether to return numeric resolutions of stretches for each provided quantum circuit. + + Setting this value to true will cause corresponding metadata of every program item to be populated in the returned data. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-params-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-params-model.mdx new file mode 100644 index 00000000000..7bb0e64e5fa --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-params-model.mdx @@ -0,0 +1,36 @@ +--- +title: ParamsModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.ParamsModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.ParamsModel +--- + + + +# ParamsModel + + + Bases: [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.base_params.BaseParamsModel") + + A model describing the Executor program inputs. + + ### options + + + Options for runtime. + + + ### quantum\_program + + + The quantum program to execution. + + + ### schema\_version + + + Version of the params schema being used. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-model.mdx new file mode 100644 index 00000000000..9d44384710d --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-model.mdx @@ -0,0 +1,120 @@ +--- +title: QuantumProgramModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.QuantumProgramModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.QuantumProgramModel +--- + + + +# QuantumProgramModel + + + Bases: `BaseModel` + + Model to store a quantum program. + + ### circuits + + + One quantum circuit for every element of `items`. + + These are stored outside of `items` to cosituate them inside of one QPY blob. + + **Validated by** + + * `check_chunk_sizes_are_consistent` + * `check_circuit_count_is_consistent` + + + ### items + + + Items of the program. + + **Validated by** + + * `check_chunk_sizes_are_consistent` + * `check_circuit_count_is_consistent` + + + ### meas\_level + + + The level at which to return all classical register measurement results. + + This option sets the return type of all classical registers in all quantum program items and determines whether the raw complex data from low-level measurement devices is discriminated into bits or not. + + > * **“classified”: Classical register data is returned as boolean arrays with the intrinsic shape** + > + > `(num_shots, creg_size)`. + > + > * **“kerneled”: Classical register data is returned as a complex array with the intrinsic shape** + > + > `(num_shots, creg_size)`, where each entry represents an IQ data point (resulting from kerneling the measurement trace) in arbitrary units. + > + > * **“avg\_kerneled”: Classical register data is returned as a complex array with the intrinsic** + > + > shape `(creg_size,)`, where data is equivalent to “kerneled” except additionally averaged over shots. + > + > * “both”: Both classified and kerneled data is returned for every classical register. + + **Validated by** + + * `check_chunk_sizes_are_consistent` + * `check_circuit_count_is_consistent` + + + ### passthrough\_data + + + Arbitrary nested data passed through execution without modification. + + **Validated by** + + * `check_chunk_sizes_are_consistent` + * `check_circuit_count_is_consistent` + + + ### semantic\_role + + + Semantic role indicating how execution results may be post-processed by runtime clients. + + Reserved system values include ‘sampler-v2’ and ‘estimator-v2’, and are subject to change without notice. Third party clients should not set or depend on this value. + + **Validated by** + + * `check_chunk_sizes_are_consistent` + * `check_circuit_count_is_consistent` + + + ### shots + + + The number of shots for each individually bound circuit. + + **Constraints** + + * **ge** = 1 + + **Validated by** + + * `check_chunk_sizes_are_consistent` + * `check_circuit_count_is_consistent` + + + ### check\_chunk\_sizes\_are\_consistent + + + Check that all program items set chunk sizes consistently. + + + ### check\_circuit\_count\_is\_consistent + + + Check that there is one circuit for every item. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-result-item-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-result-item-model.mdx new file mode 100644 index 00000000000..481a16cfb21 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-result-item-model.mdx @@ -0,0 +1,30 @@ +--- +title: QuantumProgramResultItemModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.QuantumProgramResultItemModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.QuantumProgramResultItemModel +--- + + + +# QuantumProgramResultItemModel + + + Bases: `BaseModel` + + Results for a single quantum program item. + + ### metadata + + + Metadata pertaining to the execution of this particular quantum program item. + + + ### results + + + A map from results to their tensor values. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-result-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-result-model.mdx new file mode 100644 index 00000000000..321fc2aaaf6 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-quantum-program-result-model.mdx @@ -0,0 +1,50 @@ +--- +title: QuantumProgramResultModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.QuantumProgramResultModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.QuantumProgramResultModel +--- + + + +# QuantumProgramResultModel + + + Bases: `BaseModel` + + Result from executing a quantum program. + + ### data + + + Resulting data for each quantum program item. + + + ### metadata + + + Execution metadata pertaining to the job as a whole. + + + ### passthrough\_data + + + Arbitrary nested data passed through execution without modification. + + + ### schema\_version + + + Schema version of the result type. + + + ### semantic\_role + + + Semantic role indicating how execution results may be post-processed by runtime clients. + + Reserved system values include ‘sampler-v2’ and ‘estimator-v2’, and are subject to change without notice. Third party clients should not set or depend on this value. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-samplex-item-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-samplex-item-model.mdx new file mode 100644 index 00000000000..7030c9ed759 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-samplex-item-model.mdx @@ -0,0 +1,54 @@ +--- +title: SamplexItemModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.SamplexItemModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.SamplexItemModel +--- + + + +# SamplexItemModel + + + Bases: `BaseModel` + + Execution specifications for a single quantum circuit. + + The circuit for each item is store separately in `QuantumProgramModel`. + + ### chunk\_size + + + The maximum number circuit arguments to bind to the circuit per shot loop. + + When `"auto"`, the number is chosen server-side with heuristics designed to optimize execution speed. A quantum program must have items where either all chunk sizes are integer-valued, or all chunk sizes are `"auto"`. Integer values are only allowed inside of session exection mode. + + + ### item\_type + + + The type of quantum program item. + + + ### samplex + + + A JSON-encoded samplex. + + + ### samplex\_arguments + + + Arguments to the samplex. + + + ### shape + + + The shape of this item. + + This shape must extend (via broadcasting) the implicit shape of the :attr:\~samplex\_arguments\`. The non-trivial axes it introduces enumerate randomizations. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-scheduler-timing-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-scheduler-timing-model.mdx new file mode 100644 index 00000000000..33b768ae63e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-scheduler-timing-model.mdx @@ -0,0 +1,32 @@ +--- +title: SchedulerTimingModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.SchedulerTimingModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.SchedulerTimingModel +--- + + + +# SchedulerTimingModel + + + Bases: `BaseModel` + + Describes the timing of a scheduled circuit. + + All timing information is expressed in terms of multiples of the quantity `dt`, time step duration of the control electronics, which can be queried in backend and target properties. + + ### circuit\_duration + + + The duration of the circuit in `dt` steps. + + + ### timing + + + A description of circuit timing in a comma-separated text format. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-stretch-value-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-stretch-value-model.mdx new file mode 100644 index 00000000000..e87b6f25e40 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-executor-version-1-0-stretch-value-model.mdx @@ -0,0 +1,46 @@ +--- +title: StretchValueModel (latest version) +description: API reference for ibm_quantum_schemas.executor.version_1_0.StretchValueModel in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: ibm_quantum_schemas.executor.version_1_0.StretchValueModel +--- + + + +# StretchValueModel + + + Bases: `BaseModel` + + Describes circuit stretch value resolutions. + + All timing information is expressed in terms of multiples of the quantity `dt`, time step duration of the control electronics, which can be queried in backend and target properties. + + ### expanded\_values + + + A sequence of pairs `(time, duration)` indicating the time and duration of each delay. + + All units are `dt`, where the `time` denotes the absolute time of a delay in the circuit schedule, and the `duration` denotes the total duration of the delay. + + + ### name + + + The name of the stretch. + + + ### remainder + + + The time left over if `value` were to be used each stretch, in units of `dt`. + + + ### value + + + The resolved stretch value, up to the remainder, in units of `dt`. + + + diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model.mdx index 03e08214888..d94a90b6c5c 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.LinbdbladResul # LinbdbladResultMetadataModel - + Bases: `BaseModel` The metadata of a single Lindblad result of a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model.mdx index 931594a11d7..f78d1f295bf 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-linbdblad-result-post-selection-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.LinbdbladResul # LinbdbladResultPostSelectionMetadataModel - + Bases: `BaseModel` The post selection metadata of a single Linbdblad result of a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model.mdx index b4aac9c6841..6eefda33c2f 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-result-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.NoiseLearnerV3 # NoiseLearnerV3ResultModel - + Bases: `BaseModel` Results for a single noise learner V3 item. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model.mdx index f5ff8e75b78..7da402e0dcf 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-noise-learner-v3-results-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.NoiseLearnerV3 # NoiseLearnerV3ResultsModel - + Bases: `BaseModel` Result from executing a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model.mdx index 51aa96557e4..09cb8deb915 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-options-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.OptionsModel # OptionsModel - + Bases: `BaseModel` Runtime options with all fields set. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model.mdx index e8b0315a218..83a7009d2d2 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-params-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.ParamsModel # ParamsModel - + Bases: [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.base_params.BaseParamsModel") Schema version 1 of the inner parameters. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model.mdx index 0032ada42ff..020b7b58789 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-post-selection-options-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.PostSelectionO # PostSelectionOptionsModel - + Bases: `BaseModel` Runtime options for post selection. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model.mdx index f69bb087427..913c0c783a4 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.TREXResultMeta # TREXResultMetadataModel - + Bases: `BaseModel` The metadata of a single TREX result of a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model.mdx index 24d1acfa81e..98bea95aed5 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-1-trex-result-post-selection-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_1.TREXResultPost # TREXResultPostSelectionMetadataModel - + Bases: `BaseModel` The post selection metadata of a single TREX result of a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model.mdx index 1cf86193556..9885a0e69d5 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.LinbdbladResul # LinbdbladResultMetadataModel - + Bases: `BaseModel` The metadata of a single Lindblad result of a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model.mdx index 79408b885ea..3e06b581d24 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-linbdblad-result-post-selection-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.LinbdbladResul # LinbdbladResultPostSelectionMetadataModel - + Bases: `BaseModel` The post selection metadata of a single Linbdblad result of a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model.mdx index 8cb6fa5b128..adf818ae6bd 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-result-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.NoiseLearnerV3 # NoiseLearnerV3ResultModel - + Bases: `BaseModel` Results for a single noise learner V3 item. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model.mdx index 0992b77d4a9..1733b28b1ab 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-noise-learner-v3-results-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.NoiseLearnerV3 # NoiseLearnerV3ResultsModel - + Bases: `BaseModel` Result from executing a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model.mdx index a27a4379bd1..61acb2192be 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-options-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.OptionsModel # OptionsModel - + Bases: `BaseModel` Runtime options with all fields set. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model.mdx index 200b10e41f1..4af2d6c3f13 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-params-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.ParamsModel # ParamsModel - + Bases: [`BaseParamsModel`](ibm-quantum-schemas-common-base-params-model "ibm_quantum_schemas.common.base_params.BaseParamsModel") Schema version 1 of the inner parameters. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model.mdx index e49ef9a7b69..74ff6f54195 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-post-selection-options-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.PostSelectionO # PostSelectionOptionsModel - + Bases: `BaseModel` Runtime options for post selection. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model.mdx index 17983480a4d..b9a7840a892 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.TREXResultMeta # TREXResultMetadataModel - + Bases: `BaseModel` The metadata of a single TREX result of a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model.mdx index cc5b2bf0e2a..7f2dede8317 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas-noise-learner-v3-version-0-2-trex-result-post-selection-metadata-model.mdx @@ -10,7 +10,7 @@ python_api_name: ibm_quantum_schemas.noise_learner_v3.version_0_2.TREXResultPost # TREXResultPostSelectionMetadataModel - + Bases: `BaseModel` The post selection metadata of a single TREX result of a noise learner v3 job. diff --git a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas.mdx b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas.mdx index 1016df2924b..ea230506025 100644 --- a/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas.mdx +++ b/docs/api/qiskit-ibm-runtime/ibm-quantum-schemas.mdx @@ -13,11 +13,12 @@ python_api_name: IBM Quantum Schemas The `ibm_quantum_schemas` package contains the `Pydantic` models that describe the inputs and outputs of IBM Quantum primitives and programs, to allow easier programmatic interfacing from Python. - This package is a [separate dependency](https://pypi.org/project/ibm-quantum-schemas/). This documentations refers to version `0.5.20260320`. + This package is a [separate dependency](https://pypi.org/project/ibm-quantum-schemas/). This documentations refers to version `0.7.20260419`. * [Executor v0.1 (`ibm_quantum_schemas.executor.version_0_1`)](executor-0-1) * [Executor v0.2 (`ibm_quantum_schemas.executor.version_0_2`)](executor-0-2) +* [Executor v1.0 (`ibm_quantum_schemas.executor.version_1_0`)](executor-1-0) * [NoiseLearnerV3 v0.1 (`ibm_quantum_schemas.noise_learner_v3.version_0_1`)](noise-learner-v3-0-1) * [NoiseLearnerV3 v0.2 (`ibm_quantum_schemas.noise_learner_v3.version_0_2`)](noise-learner-v3-0-2) * [Common models (`ibm_quantum_schemas.common`)](schema-common) diff --git a/docs/api/qiskit-ibm-runtime/index.mdx b/docs/api/qiskit-ibm-runtime/index.mdx index b2d7a6a6f66..f67a3752f50 100644 --- a/docs/api/qiskit-ibm-runtime/index.mdx +++ b/docs/api/qiskit-ibm-runtime/index.mdx @@ -8,9 +8,13 @@ description: Index of all the modules in the latest version of qiskit-ibm-runtim # `qiskit-ibm-runtime` API reference * [Qiskit Runtime (`qiskit_ibm_runtime`)](runtime-service) +* [Quantum Programs (`qiskit_ibm_runtime.quantum_program`)](quantum-program) * [Noise learner (`qiskit_ibm_runtime.noise_learner.NoiseLearner`)](noise-learner) * [NoiseLearner result classes (`qiskit_ibm_runtime.utils.noise_learner_result`)](noise-learner-result) +* [Noise learner V3 (`qiskit_ibm_runtime.noise_learner_v3`)](noise-learner-v3) * [Primitive options (`qiskit_ibm_runtime.options`)](options) +* [Primitive options models (`qiskit_ibm_runtime.options_models`)](options-models) +* [Result classes (`qiskit_ibm_runtime.results`)](results) * [Transpiler passes (`qiskit_ibm_runtime.transpiler.passes`)](transpiler) * [Transpiler scheduling passes (`qiskit_ibm_runtime.transpiler.passes.scheduling`)](transpiler-passes-scheduling) * [Fake Provider (`qiskit_ibm_runtime.fake_provider`)](fake-provider) diff --git a/docs/api/qiskit-ibm-runtime/models-backend-configuration.mdx b/docs/api/qiskit-ibm-runtime/models-backend-configuration.mdx index f6a37fdca37..3ffad757d00 100644 --- a/docs/api/qiskit-ibm-runtime/models-backend-configuration.mdx +++ b/docs/api/qiskit-ibm-runtime/models-backend-configuration.mdx @@ -8,88 +8,48 @@ python_api_name: qiskit_ibm_runtime.models.BackendConfiguration # BackendConfiguration - + Bases: [`QasmBackendConfiguration`](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration") Backwards compat shim representing an abstract backend configuration. - Initialize a QasmBackendConfiguration Object + ## Attributes **Parameters** - * **backend\_name** (*str*) – The backend name - - * **backend\_version** (*str*) – The backend version in the form X.Y.Z - - * **n\_qubits** (*int*) – the number of qubits for the backend - - * **basis\_gates** (*list*) – The list of strings for the basis gates of the backends - - * **gates** (*list*) – The list of GateConfig objects for the basis gates of the backend - - * **local** (*bool*) – True if the backend is local or False if remote - - * **simulator** (*bool*) – True if the backend is a simulator - - * **conditional** (*bool*) – True if the backend supports conditional operations - - * **open\_pulse** (*bool*) – True if the backend supports OpenPulse - - * **memory** (*bool*) – True if the backend supports memory - - * **coupling\_map** (*list*) – The coupling map for the device - - * **meas\_levels** (*list\[int] | None*) – Supported measurement levels. - - * **meas\_kernels** (*list\[str] | None*) – Supported measurement kernels. - - * **discriminators** (*list\[str] | None*) – Supported discriminators. - - * **meas\_map** (*list | None*) – Grouping of measurement which are multiplexed - - * **supported\_instructions** (*list\[str] | None*) – Instructions supported by the backend. - - * **dynamic\_reprate\_enabled** (*bool*) – whether delay between programs can be set dynamically (ie via `rep_delay`). Defaults to False. - - * **rep\_delay\_range** (*list\[float] | None*) – 2d list defining supported range of repetition delays for backend in μs. First entry is lower end of the range, second entry is higher end of the range. Optional, but will be specified when `dynamic_reprate_enabled=True`. - - * **default\_rep\_delay** (*float | None*) – Value of `rep_delay` if not specified by user and `dynamic_reprate_enabled=True`. - - * **sample\_name** (*str | None*) – Sample name for the backend - - * **n\_registers** (*int | None*) – Number of register slots available for feedback (if conditional is True) - - * **register\_map** (*list | None*) – An array of dimension n\_qubits X n\_registers that specifies whether a qubit can store a measurement in a certain register slot. - - * **configurable** (*bool | None*) – True if the backend is configurable, if the backend is a simulator - - * **credits\_required** (*bool | None*) – True if backend requires credits to run a job. - - * **online\_date** (*datetime | None*) – The date that the device went online - - * **display\_name** (*str | None*) – Alternate name field for the backend - - * **description** (*str | None*) – A description for the backend - - * **tags** (*list | None*) – A list of string tags to describe the backend - - * **dt** (*float | None*) – Qubit drive channel timestep in nanoseconds. - - * **dtm** (*float | None*) – Measurement drive channel timestep in nanoseconds. - - * **processor\_type** (*dict | None*) – - - Processor type for this backend. A dictionary of the form `{"family": , "revision": , segment: }` such as `{"family": "Canary", "revision": "1.0", segment: "A"}`. - - * family: Processor family of this backend. - * revision: Revision version of this processor. - * segment: Segment this processor belongs to within a larger chip. - - * **parametric\_pulses** (*list | None*) – A list of pulse shapes which are supported on the backend. For example: `['gaussian', 'constant']` - - * **\*\*kwargs** (*Any*) – optional fields - - ## Attributes + * **backend\_name** (*str*) + * **backend\_version** (*str*) + * **n\_qubits** (*int*) + * **basis\_gates** (*list*) + * **gates** (*list*) + * **local** (*bool*) + * **simulator** (*bool*) + * **conditional** (*bool*) + * **open\_pulse** (*bool*) + * **memory** (*bool*) + * **coupling\_map** (*list*) + * **meas\_levels** (*list\[int] | None*) + * **meas\_kernels** (*list\[str] | None*) + * **discriminators** (*list\[str] | None*) + * **meas\_map** (*list | None*) + * **supported\_instructions** (*list\[str] | None*) + * **dynamic\_reprate\_enabled** (*bool*) + * **rep\_delay\_range** (*list\[float] | None*) + * **default\_rep\_delay** (*float | None*) + * **sample\_name** (*str | None*) + * **n\_registers** (*int | None*) + * **register\_map** (*list | None*) + * **configurable** (*bool | None*) + * **credits\_required** (*bool | None*) + * **online\_date** (*datetime | None*) + * **display\_name** (*str | None*) + * **description** (*str | None*) + * **tags** (*list | None*) + * **dt** (*float | None*) + * **dtm** (*float | None*) + * **processor\_type** (*dict | None*) + * **parametric\_pulses** (*list | None*) + * **kwargs** (*Any*) ### num\_qubits @@ -103,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendConfiguration ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -121,7 +81,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendConfiguration ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/models-backend-properties.mdx b/docs/api/qiskit-ibm-runtime/models-backend-properties.mdx index acc1885e28b..ce6d7cfa52f 100644 --- a/docs/api/qiskit-ibm-runtime/models-backend-properties.mdx +++ b/docs/api/qiskit-ibm-runtime/models-backend-properties.mdx @@ -8,15 +8,13 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties # BackendProperties - + Bases: `object` - Class representing backend properties + Class representing backend properties. This holds backend properties measured by the provider. All properties which are provided optionally. These properties may describe qubits, gates, or other general properties of the backend. - Initialize a BackendProperties instance. - **Parameters** * **backend\_name** (*str*) – Backend name. @@ -31,7 +29,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### faulty\_gates - + Return a list of faulty gates. **Return type** @@ -41,7 +39,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### faulty\_qubits - + Return a list of faulty qubits. **Return type** @@ -51,7 +49,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### frequency - + Return the frequency of the given qubit. **Parameters** @@ -69,7 +67,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### from\_dict - + Create a new BackendProperties object from a dictionary. **Parameters** @@ -87,7 +85,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### gate\_error - + Return gate error estimates from backend properties. **Parameters** @@ -106,7 +104,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### gate\_length - + Return the duration of the gate in units of seconds. **Parameters** @@ -125,7 +123,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### gate\_property - + Return the property of the given gate. **Parameters** @@ -149,7 +147,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### is\_gate\_operational - + Return the operational status of the given gate. **Parameters** @@ -168,7 +166,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### is\_qubit\_operational - + Return the operational status of the given qubit. **Parameters** @@ -186,7 +184,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### qubit\_property - + Return the property of the given qubit. **Parameters** @@ -209,7 +207,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### readout\_error - + Return the readout error of the given qubit. **Parameters** @@ -227,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### readout\_length - + Return the readout length \[sec] of the given qubit. **Parameters** @@ -245,7 +243,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### t1 - + Return the T1 time of the given qubit. **Parameters** @@ -263,7 +261,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### t2 - + Return the T2 time of the given qubit. **Parameters** @@ -281,7 +279,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendProperties ### to\_dict - + Return a dictionary format representation of the BackendProperties. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/models-backend-status.mdx b/docs/api/qiskit-ibm-runtime/models-backend-status.mdx index 658a632586d..311dcf97a83 100644 --- a/docs/api/qiskit-ibm-runtime/models-backend-status.mdx +++ b/docs/api/qiskit-ibm-runtime/models-backend-status.mdx @@ -8,13 +8,11 @@ python_api_name: qiskit_ibm_runtime.models.BackendStatus # BackendStatus - + Bases: `object` Class representing Backend Status. - Initialize a BackendStatus object - **Parameters** * **backend\_name** (*str*) – The backend’s name @@ -31,7 +29,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendStatus ### from\_dict - + Create a new BackendStatus object from a dictionary. **Parameters** @@ -49,7 +47,7 @@ python_api_name: qiskit_ibm_runtime.models.BackendStatus ### to\_dict - + Return a dictionary format representation of the BackendStatus. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/models-gate-config.mdx b/docs/api/qiskit-ibm-runtime/models-gate-config.mdx index f341290eb8a..72d3057d351 100644 --- a/docs/api/qiskit-ibm-runtime/models-gate-config.mdx +++ b/docs/api/qiskit-ibm-runtime/models-gate-config.mdx @@ -8,10 +8,10 @@ python_api_name: qiskit_ibm_runtime.models.GateConfig # GateConfig - + Bases: `object` - Class representing a Gate Configuration + Class representing a Gate Configuration. ### name @@ -31,8 +31,6 @@ python_api_name: qiskit_ibm_runtime.models.GateConfig definition of this gate in terms of OpenQASM 2 primitives U and CX. - Initialize a GateConfig object - **Parameters** * **name** (*str*) – the gate name as it will be referred to in OpenQASM. @@ -47,7 +45,7 @@ python_api_name: qiskit_ibm_runtime.models.GateConfig ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -65,7 +63,7 @@ python_api_name: qiskit_ibm_runtime.models.GateConfig ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/models-gate-properties.mdx b/docs/api/qiskit-ibm-runtime/models-gate-properties.mdx index 107754e7102..5a028e0b0a1 100644 --- a/docs/api/qiskit-ibm-runtime/models-gate-properties.mdx +++ b/docs/api/qiskit-ibm-runtime/models-gate-properties.mdx @@ -8,10 +8,10 @@ python_api_name: qiskit_ibm_runtime.models.GateProperties # GateProperties - + Bases: `object` - Class representing a gate’s properties + Class representing a gate’s properties. ### qubits @@ -31,8 +31,6 @@ python_api_name: qiskit_ibm_runtime.models.GateProperties parameters. - Initialize a new [`GateProperties`](#qiskit_ibm_runtime.models.GateProperties "qiskit_ibm_runtime.models.GateProperties") object - **Parameters** * **qubits** (*list\[int]*) – A list of integers representing qubits @@ -44,7 +42,7 @@ python_api_name: qiskit_ibm_runtime.models.GateProperties ### from\_dict - + Create a new Gate object from a dictionary. **Parameters** @@ -62,7 +60,7 @@ python_api_name: qiskit_ibm_runtime.models.GateProperties ### to\_dict - + Return a dictionary format representation of the BackendStatus. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/models-nduv.mdx b/docs/api/qiskit-ibm-runtime/models-nduv.mdx index 85a3b8a3e0d..b9c8e978a45 100644 --- a/docs/api/qiskit-ibm-runtime/models-nduv.mdx +++ b/docs/api/qiskit-ibm-runtime/models-nduv.mdx @@ -8,10 +8,10 @@ python_api_name: qiskit_ibm_runtime.models.Nduv # Nduv - + Bases: `object` - Class representing name-date-unit-value + Class representing name-date-unit-value. ### date @@ -37,8 +37,6 @@ python_api_name: qiskit_ibm_runtime.models.Nduv value. - Initialize a new name-date-unit-value object - **Parameters** * **date** (*datetime*) – Date field @@ -50,7 +48,7 @@ python_api_name: qiskit_ibm_runtime.models.Nduv ### from\_dict - + Create a new Nduv object from a dictionary. **Parameters** @@ -68,7 +66,7 @@ python_api_name: qiskit_ibm_runtime.models.Nduv ### to\_dict - + Return a dictionary format representation of the object. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/models-qasm-backend-configuration.mdx b/docs/api/qiskit-ibm-runtime/models-qasm-backend-configuration.mdx index a4cb8bd643d..2526e0b3422 100644 --- a/docs/api/qiskit-ibm-runtime/models-qasm-backend-configuration.mdx +++ b/docs/api/qiskit-ibm-runtime/models-qasm-backend-configuration.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.models.QasmBackendConfiguration # QasmBackendConfiguration - + Bases: `object` Class representing an OpenQASM 2.0 Backend Configuration. @@ -73,8 +73,6 @@ python_api_name: qiskit_ibm_runtime.models.QasmBackendConfiguration backend supports memory. - Initialize a QasmBackendConfiguration Object - **Parameters** * **backend\_name** (*str*) – The backend name @@ -147,7 +145,7 @@ python_api_name: qiskit_ibm_runtime.models.QasmBackendConfiguration * **parametric\_pulses** (*list | None*) – A list of pulse shapes which are supported on the backend. For example: `['gaussian', 'constant']` - * **\*\*kwargs** (*Any*) – optional fields + * **kwargs** (*Any*) – optional fields ## Attributes @@ -163,7 +161,7 @@ python_api_name: qiskit_ibm_runtime.models.QasmBackendConfiguration ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -181,7 +179,7 @@ python_api_name: qiskit_ibm_runtime.models.QasmBackendConfiguration ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/models-uchannel-lo.mdx b/docs/api/qiskit-ibm-runtime/models-uchannel-lo.mdx index ea3cca13b60..6dd54bd1e38 100644 --- a/docs/api/qiskit-ibm-runtime/models-uchannel-lo.mdx +++ b/docs/api/qiskit-ibm-runtime/models-uchannel-lo.mdx @@ -8,10 +8,10 @@ python_api_name: qiskit_ibm_runtime.models.UchannelLO # UchannelLO - + Bases: `object` - Class representing a U Channel LO + Class representing a U Channel LO. ### q @@ -25,8 +25,6 @@ python_api_name: qiskit_ibm_runtime.models.UchannelLO Scale factor for qubit frequency. - Initialize a UchannelLOSchema object - **Parameters** * **q** (*int*) – Qubit that scale corresponds too. Must be >= 0. @@ -40,7 +38,7 @@ python_api_name: qiskit_ibm_runtime.models.UchannelLO ### from\_dict - + Create a new UchannelLO object from a dictionary. **Parameters** @@ -58,7 +56,7 @@ python_api_name: qiskit_ibm_runtime.models.UchannelLO ### to\_dict - + Return a dictionary format representation of the UChannelLO. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/models.mdx b/docs/api/qiskit-ibm-runtime/models.mdx index c60204891f0..bc1e1811d92 100644 --- a/docs/api/qiskit-ibm-runtime/models.mdx +++ b/docs/api/qiskit-ibm-runtime/models.mdx @@ -22,10 +22,10 @@ Qiskit schema-conformant objects used by the backends and providers. | ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | | [`BackendConfiguration`](models-backend-configuration "qiskit_ibm_runtime.models.BackendConfiguration")(backend\_name, ...\[, ...]) | Backwards compat shim representing an abstract backend configuration. | | [`QasmBackendConfiguration`](models-qasm-backend-configuration "qiskit_ibm_runtime.models.QasmBackendConfiguration")(backend\_name, ...) | Class representing an OpenQASM 2.0 Backend Configuration. | -| [`BackendProperties`](models-backend-properties "qiskit_ibm_runtime.models.BackendProperties")(backend\_name, ...) | Class representing backend properties | +| [`BackendProperties`](models-backend-properties "qiskit_ibm_runtime.models.BackendProperties")(backend\_name, ...) | Class representing backend properties. | | [`BackendStatus`](models-backend-status "qiskit_ibm_runtime.models.BackendStatus")(backend\_name, backend\_version, ...) | Class representing Backend Status. | -| [`UchannelLO`](models-uchannel-lo "qiskit_ibm_runtime.models.UchannelLO")(q, scale) | Class representing a U Channel LO | -| [`GateConfig`](models-gate-config "qiskit_ibm_runtime.models.GateConfig")(name, parameters, qasm\_def\[, ...]) | Class representing a Gate Configuration | -| [`GateProperties`](models-gate-properties "qiskit_ibm_runtime.models.GateProperties")(qubits, gate, parameters, ...) | Class representing a gate's properties | -| [`Nduv`](models-nduv "qiskit_ibm_runtime.models.Nduv")(date, name, unit, value) | Class representing name-date-unit-value | +| [`UchannelLO`](models-uchannel-lo "qiskit_ibm_runtime.models.UchannelLO")(q, scale) | Class representing a U Channel LO. | +| [`GateConfig`](models-gate-config "qiskit_ibm_runtime.models.GateConfig")(name, parameters, qasm\_def\[, ...]) | Class representing a Gate Configuration. | +| [`GateProperties`](models-gate-properties "qiskit_ibm_runtime.models.GateProperties")(qubits, gate, parameters, ...) | Class representing a gate's properties. | +| [`Nduv`](models-nduv "qiskit_ibm_runtime.models.Nduv")(date, name, unit, value) | Class representing name-date-unit-value. | diff --git a/docs/api/qiskit-ibm-runtime/noise-learner-noise-learner.mdx b/docs/api/qiskit-ibm-runtime/noise-learner-noise-learner.mdx index 2a5a8cc2dfd..db3390acc8c 100644 --- a/docs/api/qiskit-ibm-runtime/noise-learner-noise-learner.mdx +++ b/docs/api/qiskit-ibm-runtime/noise-learner-noise-learner.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.noise_learner.NoiseLearner # NoiseLearner - + Bases: `object` Class for executing noise learning experiments. @@ -85,7 +85,7 @@ python_api_name: qiskit_ibm_runtime.noise_learner.NoiseLearner ### backend - + Return the backend the primitive query will be run on. **Return type** @@ -95,14 +95,14 @@ python_api_name: qiskit_ibm_runtime.noise_learner.NoiseLearner ### run - + Submit a request to the noise learner program. This function breaks the given list of circuits into a list of unique layers, following the strategy set by the `twirling_strategy` field specified in the `options` (see `NoiseLearnerOptions` for more details) and sorting them based on the number of times they occur in the various circuits. Then, it runs the noise learning experiment for as many layers as specified by the `max_layers_to_learn` field in the `options`, prioritizing layers that occur more frequently. **Parameters** - **circuits** (*Iterable\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| EstimatorPub | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – An iterable of circuits to run the noise learner program for. Alternatively, estimator pub-like (primitive unified bloc) objects can be specified, such as tuples `(circuit, observables)` or `(circuit, observables, parameter_values)`. In this case, the pub-like objects are converted to a list of circuits, and all the other fields (such as `observables` and `parameter_values`) are ignored. + **circuits** (*Iterable\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *|*[*EstimatorPub*](/docs/api/qiskit/qiskit.primitives.EstimatorPub) *| tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, str |* [*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli) *|*[*SparsePauliOp*](/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp) *|*[*SparseObservable*](/docs/api/qiskit/qiskit.quantum_info.SparseObservable) *| Mapping\[str |*[*Pauli*](/docs/api/qiskit/qiskit.quantum_info.Pauli)*, float] | \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes], Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Real]]*) – An iterable of circuits to run the noise learner program for. Alternatively, estimator pub-like (primitive unified bloc) objects can be specified, such as tuples `(circuit, observables)` or `(circuit, observables, parameter_values)`. In this case, the pub-like objects are converted to a list of circuits, and all the other fields (such as `observables` and `parameter_values`) are ignored. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/noise-learner-v3-noise-learner-v3.mdx b/docs/api/qiskit-ibm-runtime/noise-learner-v3-noise-learner-v3.mdx new file mode 100644 index 00000000000..b9c8611f894 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/noise-learner-v3-noise-learner-v3.mdx @@ -0,0 +1,78 @@ +--- +title: NoiseLearnerV3 (latest version) +description: API reference for qiskit_ibm_runtime.noise_learner_v3.NoiseLearnerV3 in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.noise_learner_v3.NoiseLearnerV3 +--- + +# NoiseLearnerV3 + + + Bases: `object` + + Class for executing noise learning experiments. + + The noise learner allows characterizing the noise processes affecting target instructions, based on the Pauli-Lindblad noise model described in \[1]. The instructions provided to the [`run()`](#qiskit_ibm_runtime.noise_learner_v3.NoiseLearnerV3.run "qiskit_ibm_runtime.noise_learner_v3.NoiseLearnerV3.run") method must contain a twirled-annotated [`BoxOp`](/docs/api/qiskit/qiskit.circuit.BoxOp) containing ISA operations. The result of a noise learner job contains a list of [`NoiseLearnerV3Result`](results-noise-learner-v3-result "qiskit_ibm_runtime.results.NoiseLearnerV3Result") objects, one for each given instruction. + + **Parameters** + + * **mode** (*BackendV2 |* [*Session*](session "qiskit_ibm_runtime.Session") *|*[*Batch*](batch "qiskit_ibm_runtime.Batch") *| None*) – + + The execution mode used to make the primitive query. It can be: + + * A `Backend` if you are using job mode. + * A `Session` if you are using session execution mode. + * A `Batch` if you are using batch execution mode. + + Refer to the [Qiskit Runtime documentation](/docs/guides/execution-modes) for more information about the execution modes. + + * **options** ([*NoiseLearnerV3Options*](options-models-noise-learner-v3-options "qiskit_ibm_runtime.options_models.noise_learner_v3_options.NoiseLearnerV3Options")) – The desired options. + + **References** + + 1. E. van den Berg, Z. Minev, A. Kandala, K. Temme, *Probabilistic error cancellation with sparse Pauli–Lindblad models on noisy quantum processors*, Nature Physics volume 19, pages 1116–1121 (2023). [arXiv:2201.09866 \[quant-ph\]](https://arxiv.org/abs/2201.09866) + + ## Attributes + + ### options + + + The options in this noise learner. + + + ## Methods + + ### backend + + + Return the backend the primitive query will be run on. + + **Return type** + + BackendV2 + + + ### run + + + Submit a request to the noise learner program. + + **Parameters** + + **instructions** (*Iterable\[CircuitInstruction]*) – The instructions to learn the noise of. + + **Returns** + + The submitted job. + + **Raises** + + **IBMInputValueError** – If the instructions cannot be used with the noise learner, such as: \* If an instruction contains a box without twirl annotation. \* If an instruction contains unphysical qubits, i.e., qubits that do not belong to the “physical” register `QuantumRegister(backend.num_qubits, 'q')` for the backend in use. \* If an instruction contains a box with non-ISA gates. \* If an instruction cannot be learned by any of the supported learning protocols. + + **Return type** + + [RuntimeJobV2](runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2") + + + diff --git a/docs/api/qiskit-ibm-runtime/noise-learner-v3.mdx b/docs/api/qiskit-ibm-runtime/noise-learner-v3.mdx new file mode 100644 index 00000000000..91a3731174f --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/noise-learner-v3.mdx @@ -0,0 +1,24 @@ +--- +title: noise_learner_v3 (latest version) +description: API reference for qiskit_ibm_runtime.noise_learner_v3 in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.noise_learner_v3 +--- + + + + + +# Noise learner V3 + +`qiskit_ibm_runtime.noise_learner_v3` + +The tools to characterize the noise processes affecting the instructions in noisy quantum circuits. + +## Classes + +| | | +| ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | +| [`NoiseLearnerV3`](noise-learner-v3-noise-learner-v3 "qiskit_ibm_runtime.noise_learner_v3.NoiseLearnerV3")(\[mode, options]) | Class for executing noise learning experiments. | + diff --git a/docs/api/qiskit-ibm-runtime/options-dynamical-decoupling-options.mdx b/docs/api/qiskit-ibm-runtime/options-dynamical-decoupling-options.mdx index a533bc53fb7..dd72ca8a3a5 100644 --- a/docs/api/qiskit-ibm-runtime/options-dynamical-decoupling-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-dynamical-decoupling-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.DynamicalDecouplingOptions # DynamicalDecouplingOptions - + Bases: `object` Options for dynamical decoupling (DD). @@ -34,12 +34,17 @@ python_api_name: qiskit_ibm_runtime.options.DynamicalDecouplingOptions ### extra\_slack\_distribution - Where to put extra timing delays due to rounding issues. Rounding issues arise because the discrete time step `dt` of the system cannot be divided. This option takes following values. + Where to put extra timing delays due to rounding issues. + + Rounding issues arise because the discrete time step `dt` of the system cannot be divided. This option takes following values. Default: `"middle"`. * `"middle"`: Put the extra slack to the interval at the middle of the sequence. - * `"edges"`: Divide the extra slack as evenly as possible into intervals at beginning and end of the sequence. + + * **`"edges"`: Divide the extra slack as evenly as possible into intervals at** + + beginning and end of the sequence. ### scheduling\_method diff --git a/docs/api/qiskit-ibm-runtime/options-environment-options.mdx b/docs/api/qiskit-ibm-runtime/options-environment-options.mdx index 6a16c36e0e7..e98c62f697d 100644 --- a/docs/api/qiskit-ibm-runtime/options-environment-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-environment-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.EnvironmentOptions # EnvironmentOptions - + Bases: `object` Options related to the execution environment. @@ -24,7 +24,9 @@ python_api_name: qiskit_ibm_runtime.options.EnvironmentOptions ### job\_tags - Tags to be assigned to the job. The tags can subsequently be used as a filter in the `qiskit_ibm_runtime.qiskit_runtime_service.jobs()` function call. + Tags to be assigned to the job. + + The tags can subsequently be used as a filter in the `qiskit_ibm_runtime.qiskit_runtime_service.jobs()` function call. Default: `None`. @@ -32,7 +34,9 @@ python_api_name: qiskit_ibm_runtime.options.EnvironmentOptions ### log\_level - logging level to set in the execution environment. The valid log levels are: `DEBUG`, `INFO`, `WARNING`, `ERROR`, and `CRITICAL`. + logging level to set in the execution environment. + + The valid log levels are: `DEBUG`, `INFO`, `WARNING`, `ERROR`, and `CRITICAL`. Default: `WARNING`. @@ -40,7 +44,9 @@ python_api_name: qiskit_ibm_runtime.options.EnvironmentOptions ### private - Boolean that indicates whether the job is marked as private. When set to true, input parameters are not returned, and the results can only be read once. After the job is completed, input parameters are deleted from the service. After the results are read, these are also deleted from the service. When set to false, the input parameters and results follow the standard retention behavior of the API. + Boolean that indicates whether the job is marked as private. + + When set to true, input parameters are not returned, and the results can only be read once. After the job is completed, input parameters are deleted from the service. After the results are read, these are also deleted from the service. When set to false, the input parameters and results follow the standard retention behavior of the API. Default: False. diff --git a/docs/api/qiskit-ibm-runtime/options-estimator-options.mdx b/docs/api/qiskit-ibm-runtime/options-estimator-options.mdx index ce6efacdd5f..4a213fedba2 100644 --- a/docs/api/qiskit-ibm-runtime/options-estimator-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-estimator-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.EstimatorOptions # EstimatorOptions - + Bases: `OptionsV2` Options for V2 Estimator. @@ -34,7 +34,9 @@ python_api_name: qiskit_ibm_runtime.options.EstimatorOptions ### default\_precision - The default precision to use for any PUB or `run()` call that does not specify one. Each Estimator PUB can specify its own precision. If the `run()` method is given a precision, then that value is used for all PUBs in the `run()` call that do not specify their own. + The default precision to use for any PUB or `run()` call that does not specify one. + + Each Estimator PUB can specify its own precision. If the `run()` method is given a precision, then that value is used for all PUBs in the `run()` call that do not specify their own. Default: 0.015625 (1 / sqrt(4096)). @@ -58,7 +60,9 @@ python_api_name: qiskit_ibm_runtime.options.EstimatorOptions ### dynamical\_decoupling - Suboptions for dynamical decoupling. See [`DynamicalDecouplingOptions`](options-dynamical-decoupling-options "qiskit_ibm_runtime.options.DynamicalDecouplingOptions") for all available options. + Suboptions for dynamical decoupling. + + See [`DynamicalDecouplingOptions`](options-dynamical-decoupling-options "qiskit_ibm_runtime.options.DynamicalDecouplingOptions") for all available options. ### environment @@ -74,7 +78,9 @@ python_api_name: qiskit_ibm_runtime.options.EstimatorOptions ### experimental - Experimental options. These options are subject to change without notification, and stability is not guaranteed. + Experimental options. + + These options are subject to change without notification, and stability is not guaranteed. ### max\_execution\_time @@ -84,17 +90,25 @@ python_api_name: qiskit_ibm_runtime.options.EstimatorOptions ### resilience - Advanced resilience options to fine-tune the resilience strategy. See [`ResilienceOptionsV2`](options-resilience-options-v2 "qiskit_ibm_runtime.options.ResilienceOptionsV2") for all available options. + Advanced resilience options to fine-tune the resilience strategy. + + See [`ResilienceOptionsV2`](options-resilience-options-v2 "qiskit_ibm_runtime.options.ResilienceOptionsV2") for all available options. ### resilience\_level - How much resilience to build against errors. Higher levels generate more accurate results, at the expense of longer processing times. + How much resilience to build against errors. + + Higher levels generate more accurate results, at the expense of longer processing times. * 0: No mitigation. + * 1: Minimal mitigation costs. Mitigate error associated with readout errors. - * 2: Medium mitigation costs. Typically reduces bias in estimators but is not guaranteed to be zero bias. + + * **2: Medium mitigation costs. Typically reduces bias in estimators but** + + is not guaranteed to be zero bias. Refer to the [Configure error mitigation for Qiskit Runtime](/docs/guides/configure-error-mitigation) guide for more information about the error mitigation methods used at each level. @@ -116,14 +130,16 @@ python_api_name: qiskit_ibm_runtime.options.EstimatorOptions ### twirling - Pauli twirling options. See [`TwirlingOptions`](options-twirling-options "qiskit_ibm_runtime.options.TwirlingOptions") for all available options. + Pauli twirling options. + + See [`TwirlingOptions`](options-twirling-options "qiskit_ibm_runtime.options.TwirlingOptions") for all available options. ## Methods ### update - + Update the options. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/options-execution-options-v2.mdx b/docs/api/qiskit-ibm-runtime/options-execution-options-v2.mdx index 8e2d2f724cb..9cf96b14efd 100644 --- a/docs/api/qiskit-ibm-runtime/options-execution-options-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/options-execution-options-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.ExecutionOptionsV2 # ExecutionOptionsV2 - + Bases: `object` Execution options for V2 primitives. @@ -29,7 +29,11 @@ python_api_name: qiskit_ibm_runtime.options.ExecutionOptionsV2 ### rep\_delay - The repetition delay. This is the delay between a measurement and the subsequent quantum circuit. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. Default is given by `backend.default_rep_delay`. + The repetition delay. + + This is the delay between a measurement and the subsequent quantum circuit. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. + + Default is given by `backend.default_rep_delay`. ## Methods diff --git a/docs/api/qiskit-ibm-runtime/options-layer-noise-learning-options.mdx b/docs/api/qiskit-ibm-runtime/options-layer-noise-learning-options.mdx index 147fb6ffeac..822aae3fb00 100644 --- a/docs/api/qiskit-ibm-runtime/options-layer-noise-learning-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-layer-noise-learning-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.LayerNoiseLearningOptions # LayerNoiseLearningOptions - + Bases: `object` Options for learning layer noise. This is only used by V2 Estimator. @@ -39,7 +39,9 @@ python_api_name: qiskit_ibm_runtime.options.LayerNoiseLearningOptions ### layer\_pair\_depths - The circuit depths (measured in number of pairs) to use in learning experiments. Pairs are used as the unit because we exploit the order-2 nature of our entangling gates in the noise learning implementation. A value of `3` would correspond to 6 layers of the layer of interest, for example. + The circuit depths (measured in number of pairs) to use in learning experiments. + + Pairs are used as the unit because we exploit the order-2 nature of our entangling gates in the noise learning implementation. A value of `3` would correspond to 6 layers of the layer of interest, for example. Default: (0, 1, 2, 4, 16, 32). @@ -47,7 +49,9 @@ python_api_name: qiskit_ibm_runtime.options.LayerNoiseLearningOptions ### max\_layers\_to\_learn - The max number of unique layers to learn. A `None` value indicates that there is no limit. If there are more unique layers present, then some layers will not be learned or mitigated. The learned layers are prioritized based on the number of times they occur in a set of run Estimator PUBs, and for equally occurring layers are further sorted by the number of two-qubit gates in the layer. + The max number of unique layers to learn. + + A `None` value indicates that there is no limit. If there are more unique layers present, then some layers will not be learned or mitigated. The learned layers are prioritized based on the number of times they occur in a set of run Estimator PUBs, and for equally occurring layers are further sorted by the number of two-qubit gates in the layer. Default: 4. @@ -55,7 +59,9 @@ python_api_name: qiskit_ibm_runtime.options.LayerNoiseLearningOptions ### num\_randomizations - The number of random circuits to use per learning circuit configuration. A configuration is a measurement basis and depth setting. For example, if your experiment has six depths, then setting this value to 32 will result in a total of `32 * 9 * 6` circuits that need to be executed (where `9` is the number of circuits that need to be implemented to measure all the required observables, see the note in the docstring for [`LayerNoiseLearningOptions`](#qiskit_ibm_runtime.options.LayerNoiseLearningOptions "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") for mode details), at [`shots_per_randomization`](#qiskit_ibm_runtime.options.LayerNoiseLearningOptions.shots_per_randomization "qiskit_ibm_runtime.options.LayerNoiseLearningOptions.shots_per_randomization") each. + The number of random circuits to use per learning circuit configuration. + + A configuration is a measurement basis and depth setting. For example, if your experiment has six depths, then setting this value to 32 will result in a total of `32 * 9 * 6` circuits that need to be executed (where `9` is the number of circuits that need to be implemented to measure all the required observables, see the note in the docstring for [`LayerNoiseLearningOptions`](#qiskit_ibm_runtime.options.LayerNoiseLearningOptions "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") for mode details), at [`shots_per_randomization`](#qiskit_ibm_runtime.options.LayerNoiseLearningOptions.shots_per_randomization "qiskit_ibm_runtime.options.LayerNoiseLearningOptions.shots_per_randomization") each. Default: 32. @@ -63,7 +69,9 @@ python_api_name: qiskit_ibm_runtime.options.LayerNoiseLearningOptions ### shots\_per\_randomization - The total number of shots to use per random learning circuit. A learning circuit is a random circuit at a specific learning depth with a specific measurement basis that is executed on hardware. + The total number of shots to use per random learning circuit. + + A learning circuit is a random circuit at a specific learning depth with a specific measurement basis that is executed on hardware. Default: 128. diff --git a/docs/api/qiskit-ibm-runtime/options-measure-noise-learning-options.mdx b/docs/api/qiskit-ibm-runtime/options-measure-noise-learning-options.mdx index 8c952f73b4d..82dbe0eaa66 100644 --- a/docs/api/qiskit-ibm-runtime/options-measure-noise-learning-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-measure-noise-learning-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.MeasureNoiseLearningOptions # MeasureNoiseLearningOptions - + Bases: `object` Options for measurement noise learning. This is only used by V2 Estimator. @@ -35,7 +35,9 @@ python_api_name: qiskit_ibm_runtime.options.MeasureNoiseLearningOptions ### shots\_per\_randomization - The number of shots to use for the learning experiment per random circuit. If “auto”, the value will be chosen automatically based on the input PUBs. + The number of shots to use for the learning experiment per random circuit. + + If “auto”, the value will be chosen automatically based on the input PUBs. Default: “auto”. diff --git a/docs/api/qiskit-ibm-runtime/options-models-environment-options.mdx b/docs/api/qiskit-ibm-runtime/options-models-environment-options.mdx new file mode 100644 index 00000000000..34aeeab904e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/options-models-environment-options.mdx @@ -0,0 +1,66 @@ +--- +title: EnvironmentOptions (latest version) +description: API reference for qiskit_ibm_runtime.options_models.EnvironmentOptions in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options_models.EnvironmentOptions +--- + +# EnvironmentOptions + + + Bases: `object` + + Options related to the execution environment. + + ## Attributes + + **Parameters** + + * **log\_level** (*Literal\['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL']*) + * **job\_tags** (*list\[str]*) + * **private** (*bool*) + * **max\_execution\_time** (*int | None*) + * **image** (*Annotated\[str, FieldInfo(annotation=NoneType, required=True, metadata=\[\_PydanticGeneralMetadata(pattern='\[a-zA-Z0-9]+(\[/.\\\\-\_]\[a-zA-Z0-9]+)\*:\[a-zA-Z0-9]+(\[.\\\\-\_]\[a-zA-Z0-9]+)\*\$')])] | None*) + + ### image + + + Runtime image used for this job. + + + ### job\_tags + + + Tags to be assigned to the job. + + The tags can subsequently be used as a filter in the `qiskit_ibm_runtime.qiskit_runtime_service.jobs()` function call. + + + ### log\_level + + + logging level to set in the execution environment. + + The valid log levels are: `DEBUG`, `INFO`, `WARNING`, `ERROR`, and `CRITICAL`. + + + ### max\_execution\_time + + + Maximum execution time in seconds. + + This value bounds system execution time (not wall clock time). System execution time is the amount of time that the system is dedicated to processing your job. If a job exceeds this time limit, it is forcibly cancelled. + + + ### private + + + Boolean that indicates whether the job is marked as private. + + When set to true, input parameters are not returned, and the results can only be read once. After the job is completed, input parameters are deleted from the service. After the results are read, these are also deleted from the service. When set to false, the input parameters and results follow the standard retention behavior of the API. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/options-models-execution-options.mdx b/docs/api/qiskit-ibm-runtime/options-models-execution-options.mdx new file mode 100644 index 00000000000..9691c865640 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/options-models-execution-options.mdx @@ -0,0 +1,41 @@ +--- +title: ExecutionOptions (latest version) +description: API reference for qiskit_ibm_runtime.options_models.ExecutionOptions in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options_models.ExecutionOptions +--- + +# ExecutionOptions + + + Bases: `object` + + Low-level execution options. + + ## Attributes + + **Parameters** + + * **init\_qubits** (*bool*) + * **rep\_delay** (*float | None*) + + ### init\_qubits + + + Whether to reset the qubits to the ground state for each shot. + + + ### rep\_delay + + + The repetition delay. + + This is the delay between a measurement and the subsequent quantum circuit. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. + + Default is given by `backend.default_rep_delay`. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/options-models-executor-options.mdx b/docs/api/qiskit-ibm-runtime/options-models-executor-options.mdx new file mode 100644 index 00000000000..4264b3729f0 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/options-models-executor-options.mdx @@ -0,0 +1,44 @@ +--- +title: ExecutorOptions (latest version) +description: API reference for qiskit_ibm_runtime.options_models.ExecutorOptions in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options_models.ExecutorOptions +--- + +# ExecutorOptions + + + Bases: `object` + + Options for the executor. + + ## Attributes + + **Parameters** + + * **environment** ([*EnvironmentOptions*](options-models-environment-options "qiskit_ibm_runtime.options_models.environment_options.EnvironmentOptions")) + * **execution** ([*ExecutionOptions*](options-models-execution-options "qiskit_ibm_runtime.options_models.execution_options.ExecutionOptions")) + * **experimental** (*dict*) + + ### environment + + + Options related to the execution environment. + + + ### execution + + + Low-level execution options. + + + ### experimental + + + Experimental options that are passed to the executor. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/options-models-noise-learner-v3-options.mdx b/docs/api/qiskit-ibm-runtime/options-models-noise-learner-v3-options.mdx new file mode 100644 index 00000000000..2cf6a9010cf --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/options-models-noise-learner-v3-options.mdx @@ -0,0 +1,84 @@ +--- +title: NoiseLearnerV3Options (latest version) +description: API reference for qiskit_ibm_runtime.options_models.NoiseLearnerV3Options in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options_models.NoiseLearnerV3Options +--- + +# NoiseLearnerV3Options + + + Bases: `object` + + Options for [`NoiseLearnerV3`](noise-learner-v3-noise-learner-v3 "qiskit_ibm_runtime.noise_learner_v3.NoiseLearnerV3"). + + ## Attributes + + **Parameters** + + * **shots\_per\_randomization** (*Annotated\[int, FieldInfo(annotation=NoneType, required=True, metadata=\[Ge(ge=1)])]*) + * **num\_randomizations** (*Annotated\[int, FieldInfo(annotation=NoneType, required=True, metadata=\[Ge(ge=1)])]*) + * **layer\_pair\_depths** (*list\[Annotated\[int, FieldInfo(annotation=NoneType, required=True, metadata=\[Ge(ge=0)])]]*) + * **post\_selection** ([*PostSelectionOptions*](options-models-post-selection-options "qiskit_ibm_runtime.options_models.post_selection_options.PostSelectionOptions")) + * **experimental** (*dict*) + * **execution** ([*ExecutionOptions*](options-models-execution-options "qiskit_ibm_runtime.options_models.execution_options.ExecutionOptions")) + * **environment** ([*EnvironmentOptions*](options-models-environment-options "qiskit_ibm_runtime.options_models.environment_options.EnvironmentOptions")) + + ### environment + + + Options related to the execution environment. + + + ### execution + + + Low-level execution options. + + + ### experimental + + + Experimental options. + + These options are subject to change without notification, and stability is not guaranteed. + + + ### layer\_pair\_depths + + + The circuit depths (measured in number of pairs) to use in Pauli Lindblad experiments. + + Pairs are used as the unit because we exploit the order-2 nature of our entangling gates in the noise learning implementation. For example, a value of `3` corresponds to 6 repetitions of the layer of interest. + + + This field is ignored by TREX experiments. + + + + ### num\_randomizations + + + The number of random circuits to use per learning circuit configuration. + + For TREX experiments, a configuration is a measurement basis. + + For Pauli Lindblad experiments, a configuration is a measurement basis and depth setting. For example, if your experiment has six depths, then setting this value to `32` will result in a total of `32 * 9 * 6` circuits that need to be executed (where `9` is the number of circuits that need to be implemented to measure all the required observables, see the note in the docstring for [`NoiseLearnerOptions`](options-noise-learner-options "qiskit_ibm_runtime.options.NoiseLearnerOptions") for mode details), at [`shots_per_randomization`](#qiskit_ibm_runtime.options_models.NoiseLearnerV3Options.shots_per_randomization "qiskit_ibm_runtime.options_models.NoiseLearnerV3Options.shots_per_randomization") each. + + + ### post\_selection + + + Options for post selecting the results of noise learning circuits. + + + ### shots\_per\_randomization + + + The total number of shots to use per randomized learning circuit. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/options-models-post-selection-options.mdx b/docs/api/qiskit-ibm-runtime/options-models-post-selection-options.mdx new file mode 100644 index 00000000000..6296e8cd37c --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/options-models-post-selection-options.mdx @@ -0,0 +1,68 @@ +--- +title: PostSelectionOptions (latest version) +description: API reference for qiskit_ibm_runtime.options_models.PostSelectionOptions in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.options_models.PostSelectionOptions +--- + +# PostSelectionOptions + + + Bases: `object` + + Options for post selecting results. + + ## Attributes + + **Parameters** + + * **enable** (*bool*) + * **x\_pulse\_type** (*Literal\['xslow', 'rx']*) + * **strategy** (*Literal\['node', 'edge']*) + + ### enable + + + Whether to enable Post Selection when performing learning experiments. + + If `True`, Post Selection is applied to all the learning circuits. In particular, the following steps are undertaken: + + * **Using the passes in** + + `qiskit_addon_utils.noise_management.post_selection.transpiler.passes`, the learning circuits are modified by adding measurements on the spectator qubits, as well as post selection measurements. + + * **The results of each individual learning circuits are post selected by discarding the shots** + + where one or more bits failed to flip, as explained in the docstring of `qiskit_addon_utils.noise_management.post_selection.PostSelector.compute_mask()`. + + If `False`, all the other Post Selection options will be ignored. + + + ### strategy + + + The strategy used to decide if a shot should be kept or discarded. + + The available startegies are: + + * `'node'`: Discard every shot where one or more bits failed to flip. Keep every other shot. + + * **`'edge'`: Discard every shot where there exists a pair of neighbouring qubits for which** + + both of the bits failed to flip. Keep every other shot. + + See the dosctrings of `PostSelector` and `PostSelector.compute_mask()` for more details. + + Defaults to `node`. + + + ### x\_pulse\_type + + + The type of the X-pulse used for the post selection measurements. + + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/options-models.mdx b/docs/api/qiskit-ibm-runtime/options-models.mdx new file mode 100644 index 00000000000..24a7d43e938 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/options-models.mdx @@ -0,0 +1,35 @@ +--- +title: options_models (latest version) +description: API reference for qiskit_ibm_runtime.options_models in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.options_models +--- + + + + + +# Primitive options models + +`qiskit_ibm_runtime.options_models` + +Options that can be passed to the [`Executor`](executor "qiskit_ibm_runtime.Executor") and `NoiseLearnerV3`. + +## Classes + +### Base primitive options + +| | | +| ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| [`ExecutorOptions`](options-models-executor-options "qiskit_ibm_runtime.options_models.ExecutorOptions") | Options for the executor. | +| [`NoiseLearnerV3Options`](options-models-noise-learner-v3-options "qiskit_ibm_runtime.options_models.NoiseLearnerV3Options") | Options for [`NoiseLearnerV3`](noise-learner-v3-noise-learner-v3 "qiskit_ibm_runtime.noise_learner_v3.NoiseLearnerV3"). | + +### Suboptions + +| | | +| ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------- | +| [`EnvironmentOptions`](options-models-environment-options "qiskit_ibm_runtime.options_models.EnvironmentOptions") | Options related to the execution environment. | +| [`ExecutionOptions`](options-models-execution-options "qiskit_ibm_runtime.options_models.ExecutionOptions") | Low-level execution options. | +| [`PostSelectionOptions`](options-models-post-selection-options "qiskit_ibm_runtime.options_models.PostSelectionOptions") | Options for post selecting results. | + diff --git a/docs/api/qiskit-ibm-runtime/options-noise-learner-options.mdx b/docs/api/qiskit-ibm-runtime/options-noise-learner-options.mdx index 05279ee82d4..8905a576577 100644 --- a/docs/api/qiskit-ibm-runtime/options-noise-learner-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-noise-learner-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.NoiseLearnerOptions # NoiseLearnerOptions - + Bases: `OptionsV2` Options for [`NoiseLearner`](noise-learner-noise-learner "qiskit_ibm_runtime.noise_learner.NoiseLearner"). @@ -120,7 +120,7 @@ python_api_name: qiskit_ibm_runtime.options.NoiseLearnerOptions ### update - + Update the options. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/options-pec-options.mdx b/docs/api/qiskit-ibm-runtime/options-pec-options.mdx index c370790b5fb..a55c3b8871d 100644 --- a/docs/api/qiskit-ibm-runtime/options-pec-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-pec-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.PecOptions # PecOptions - + Bases: `object` Probabalistic error cancellation mitigation options. This is only used by V2 Estimator. diff --git a/docs/api/qiskit-ibm-runtime/options-resilience-options-v2.mdx b/docs/api/qiskit-ibm-runtime/options-resilience-options-v2.mdx index 1c5f8735e6c..53a95d94b31 100644 --- a/docs/api/qiskit-ibm-runtime/options-resilience-options-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/options-resilience-options-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.ResilienceOptionsV2 # ResilienceOptionsV2 - + Bases: `object` Resilience options for V2 Estimator. @@ -29,13 +29,17 @@ python_api_name: qiskit_ibm_runtime.options.ResilienceOptionsV2 ### layer\_noise\_learning - Layer noise learning options. See [`LayerNoiseLearningOptions`](options-layer-noise-learning-options "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") for all options. + Layer noise learning options. + + See [`LayerNoiseLearningOptions`](options-layer-noise-learning-options "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") for all options. ### layer\_noise\_model - A `NoiseLearnerResult` or a sequence of `LayerError` objects. If `None`, all the mitigation strategies that require noise data (e.g., PEC and PEA) perform a noise-learning stage. Otherwise, this noise-learning stage is skipped, and instead gather the required information from `layer_noise_model`. Layers whose information is missing in `layer_noise_model` are treated as noiseless and their noise is not mitigated. + A `NoiseLearnerResult` or a sequence of `LayerError` objects. + + If `None`, all the mitigation strategies that require noise data (e.g., PEC and PEA) perform a noise-learning stage. Otherwise, this noise-learning stage is skipped, and instead gather the required information from `layer_noise_model`. Layers whose information is missing in `layer_noise_model` are treated as noiseless and their noise is not mitigated. Default: `None`. @@ -43,7 +47,9 @@ python_api_name: qiskit_ibm_runtime.options.ResilienceOptionsV2 ### measure\_mitigation - Whether to enable measurement error mitigation method. If you enable measurement mitigation, you can fine-tune its noise learning by using [`measure_noise_learning`](#qiskit_ibm_runtime.options.ResilienceOptionsV2.measure_noise_learning "qiskit_ibm_runtime.options.ResilienceOptionsV2.measure_noise_learning"). See [`MeasureNoiseLearningOptions`](options-measure-noise-learning-options "qiskit_ibm_runtime.options.MeasureNoiseLearningOptions") for all measurement mitigation noise learning options. + Whether to enable measurement error mitigation method. + + If you enable measurement mitigation, you can fine-tune its noise learning by using [`measure_noise_learning`](#qiskit_ibm_runtime.options.ResilienceOptionsV2.measure_noise_learning "qiskit_ibm_runtime.options.ResilienceOptionsV2.measure_noise_learning"). See [`MeasureNoiseLearningOptions`](options-measure-noise-learning-options "qiskit_ibm_runtime.options.MeasureNoiseLearningOptions") for all measurement mitigation noise learning options. If `measure_mitigation` is `Unset`, it is determined by the server according to the resilience level: it is `False` for resilience level 0, and `True` for resilience levels 1 and 2. @@ -51,19 +57,25 @@ python_api_name: qiskit_ibm_runtime.options.ResilienceOptionsV2 ### measure\_noise\_learning - Additional measurement noise learning options. See [`MeasureNoiseLearningOptions`](options-measure-noise-learning-options "qiskit_ibm_runtime.options.MeasureNoiseLearningOptions") for all options. + Additional measurement noise learning options. + + See [`MeasureNoiseLearningOptions`](options-measure-noise-learning-options "qiskit_ibm_runtime.options.MeasureNoiseLearningOptions") for all options. ### pec - Additional probabalistic error cancellation mitigation options. See [`PecOptions`](options-pec-options "qiskit_ibm_runtime.options.PecOptions") for all options. + Additional probabalistic error cancellation mitigation options. + + See [`PecOptions`](options-pec-options "qiskit_ibm_runtime.options.PecOptions") for all options. ### pec\_mitigation - Whether to turn on Probabilistic Error Cancellation error mitigation method. If you enable PEC, you can fine-tune its options by using [`pec`](#qiskit_ibm_runtime.options.ResilienceOptionsV2.pec "qiskit_ibm_runtime.options.ResilienceOptionsV2.pec"). See [`PecOptions`](options-pec-options "qiskit_ibm_runtime.options.PecOptions") for additional PEC-related options. + Whether to turn on Probabilistic Error Cancellation error mitigation method. + + If you enable PEC, you can fine-tune its options by using [`pec`](#qiskit_ibm_runtime.options.ResilienceOptionsV2.pec "qiskit_ibm_runtime.options.ResilienceOptionsV2.pec"). See [`PecOptions`](options-pec-options "qiskit_ibm_runtime.options.PecOptions") for additional PEC-related options. Default: False. @@ -71,13 +83,17 @@ python_api_name: qiskit_ibm_runtime.options.ResilienceOptionsV2 ### zne - Additional zero-noise extrapolation mitigation options. See [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") for all options. + Additional zero-noise extrapolation mitigation options. + + See [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") for all options. ### zne\_mitigation - Whether to turn on Zero-Noise Extrapolation error mitigation method. If you enable ZNE, you can fine-tune its options by using [`zne`](#qiskit_ibm_runtime.options.ResilienceOptionsV2.zne "qiskit_ibm_runtime.options.ResilienceOptionsV2.zne"). See [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") for additional ZNE related options. + Whether to turn on Zero-Noise Extrapolation error mitigation method. + + If you enable ZNE, you can fine-tune its options by using [`zne`](#qiskit_ibm_runtime.options.ResilienceOptionsV2.zne "qiskit_ibm_runtime.options.ResilienceOptionsV2.zne"). See [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") for additional ZNE related options. If `zne_mitigation` is `Unset`, it is determined by the server according to the resilience level: it is `False` for resilience levels 0 and 1, and `True` for resilience level 2. diff --git a/docs/api/qiskit-ibm-runtime/options-sampler-execution-options-v2.mdx b/docs/api/qiskit-ibm-runtime/options-sampler-execution-options-v2.mdx index fda2f51617b..f284d9148e1 100644 --- a/docs/api/qiskit-ibm-runtime/options-sampler-execution-options-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/options-sampler-execution-options-v2.mdx @@ -8,10 +8,10 @@ python_api_name: qiskit_ibm_runtime.options.SamplerExecutionOptionsV2 # SamplerExecutionOptionsV2 - + Bases: [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.execution_options.ExecutionOptionsV2") - Extension of [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") for the sampler primitive. + Extends [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") for the sampler primitive. ## Attributes @@ -46,7 +46,11 @@ python_api_name: qiskit_ibm_runtime.options.SamplerExecutionOptionsV2 ### rep\_delay - The repetition delay. This is the delay between a measurement and the subsequent quantum circuit. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. Default is given by `backend.default_rep_delay`. + The repetition delay. + + This is the delay between a measurement and the subsequent quantum circuit. This is only supported on backends that have `backend.dynamic_reprate_enabled=True`. It must be from the range supplied by `backend.rep_delay_range`. + + Default is given by `backend.default_rep_delay`. ## Methods diff --git a/docs/api/qiskit-ibm-runtime/options-sampler-options.mdx b/docs/api/qiskit-ibm-runtime/options-sampler-options.mdx index 5edc9541e57..a1a846512ce 100644 --- a/docs/api/qiskit-ibm-runtime/options-sampler-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-sampler-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.SamplerOptions # SamplerOptions - + Bases: `OptionsV2` Options for V2 Sampler. @@ -48,7 +48,9 @@ python_api_name: qiskit_ibm_runtime.options.SamplerOptions ### execution - Execution time options. See [`SamplerExecutionOptionsV2`](options-sampler-execution-options-v2 "qiskit_ibm_runtime.options.SamplerExecutionOptionsV2") for all available options. + Execution time options. + + See [`SamplerExecutionOptionsV2`](options-sampler-execution-options-v2 "qiskit_ibm_runtime.options.SamplerExecutionOptionsV2") for all available options. ### experimental @@ -68,14 +70,16 @@ python_api_name: qiskit_ibm_runtime.options.SamplerOptions ### twirling - Pauli twirling options. See [`TwirlingOptions`](options-twirling-options "qiskit_ibm_runtime.options.TwirlingOptions") for all available options. + Pauli twirling options. + + See [`TwirlingOptions`](options-twirling-options "qiskit_ibm_runtime.options.TwirlingOptions") for all available options. ## Methods ### update - + Update the options. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/options-simulator-options.mdx b/docs/api/qiskit-ibm-runtime/options-simulator-options.mdx index 0871fe600f6..41ec491ddeb 100644 --- a/docs/api/qiskit-ibm-runtime/options-simulator-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-simulator-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.SimulatorOptions # SimulatorOptions - + Bases: `object` Simulator options. @@ -27,7 +27,9 @@ python_api_name: qiskit_ibm_runtime.options.SimulatorOptions ### basis\_gates - List of basis gate names to unroll to. For example, `['u1', 'u2', 'u3', 'cx']`. Unrolling is not done if not set. + List of basis gate names to unroll to. + + For example, `['u1', 'u2', 'u3', 'cx']`. Unrolling is not done if not set. Default: all basis gates supported by the simulator. @@ -35,7 +37,9 @@ python_api_name: qiskit_ibm_runtime.options.SimulatorOptions ### coupling\_map - Directed coupling map to target in mapping. If the coupling map is symmetric, both directions need to be specified. Each entry in the list specifies a directed two-qubit interaction, e.g: `[[0, 1], [0, 3], [1, 2], [1, 5], [2, 5], [4, 1], [5, 3]]`. + Directed coupling map to target in mapping. + + If the coupling map is symmetric, both directions need to be specified. Each entry in the list specifies a directed two-qubit interaction, e.g: `[[0, 1], [0, 3], [1, 2], [1, 5], [2, 5], [4, 1], [5, 3]]`. Default: `None`, which implies no connectivity constraints. @@ -43,7 +47,9 @@ python_api_name: qiskit_ibm_runtime.options.SimulatorOptions ### noise\_model - Noise model for the simulator. This option is only supported in local testing mode. + Noise model for the simulator. + + This option is only supported in local testing mode. Default: `None`. @@ -60,8 +66,10 @@ python_api_name: qiskit_ibm_runtime.options.SimulatorOptions ### set\_backend - - Set backend for simulation. This method changes noise\_model, coupling\_map, basis\_gates according to given backend. + + Set backend for simulation. + + This method changes noise\_model, coupling\_map, basis\_gates according to given backend. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/options-twirling-options.mdx b/docs/api/qiskit-ibm-runtime/options-twirling-options.mdx index f385e7ccacb..9c83c0a13a8 100644 --- a/docs/api/qiskit-ibm-runtime/options-twirling-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-twirling-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.TwirlingOptions # TwirlingOptions - + Bases: `object` Twirling options. diff --git a/docs/api/qiskit-ibm-runtime/options-zne-options.mdx b/docs/api/qiskit-ibm-runtime/options-zne-options.mdx index 63c937bc5fc..24ea851595f 100644 --- a/docs/api/qiskit-ibm-runtime/options-zne-options.mdx +++ b/docs/api/qiskit-ibm-runtime/options-zne-options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.ZneOptions # ZneOptions - + Bases: `object` Zero noise extrapolation mitigation options. This is only used by the V2 Estimator. @@ -69,7 +69,7 @@ python_api_name: qiskit_ibm_runtime.options.ZneOptions Noise factors to evaluate the fit extrapolation models at. - If unset, this will default to `[0, *noise_factors]`. This option does not affect execution or model fitting in any way, it only determines the points at which the `extrapolator`\s are evaluated to be returned in the data fields called `evs_extrapolated` and `stds_extrapolated`. + If unset, this will default to `[0, *noise_factors]`. This option does not affect execution or model fitting in any way, it only determines the points at which the `extrapolator`s are evaluated to be returned in the data fields called `evs_extrapolated` and `stds_extrapolated`. ### extrapolator @@ -79,11 +79,21 @@ python_api_name: qiskit_ibm_runtime.options.ZneOptions The available options are: - > * `"exponential"`, which fits the data using an exponential decaying function defined as $f(x; A, \tau) = A e^{-x/\tau}$, where $A = f(0; A, \tau)$ is the value at zero noise ($x=0$) and $\tau>0$ is a positive rate. + > * **`"exponential"`, which fits the data using an exponential decaying function** + > + > defined as $f(x; A, \tau) = A e^{-x/\tau}$, where $A = f(0; A, \tau)$ is the value at zero noise ($x=0$) and $\tau>0$ is a positive rate. + > > * `"double_exponential"`, which uses a sum of two exponential as in Ref. 1. - > * `"polynomial_degree_(1 <= k <= 7)"`, which uses a polynomial function defined as $f(x; c_0, c_1, \ldots, c_k) = \sum_{i=0, k} c_i x^i$. + > + > * **`"polynomial_degree_(1 <= k <= 7)"`, which uses a polynomial function defined as** + > + > $f(x; c_0, c_1, \ldots, c_k) = \sum_{i=0, k} c_i x^i$. + > > * `"linear"`, which is equivalent to `"polynomial_degree_1"`. - > * `"fallback"`, which simply returns the raw data corresponding to the lowest noise factor (typically `1`) without performing any sort of extrapolation. + > + > * **`"fallback"`, which simply returns the raw data corresponding to the lowest noise** + > + > factor (typically `1`) without performing any sort of extrapolation. The extrapolated values (`evs_extrapolated` and `stds_extrapolated`) are sorted according to the order of the provided extrapolators. If more than one extrapolator is specified, the `evs` and `stds` reported in the result’s data refer to the first successful extrapolator, where an extrapolator success is determined heuristically. diff --git a/docs/api/qiskit-ibm-runtime/options.mdx b/docs/api/qiskit-ibm-runtime/options.mdx index f2d3f896bdb..f4aa2fcca04 100644 --- a/docs/api/qiskit-ibm-runtime/options.mdx +++ b/docs/api/qiskit-ibm-runtime/options.mdx @@ -40,7 +40,7 @@ estimator = EstimatorV2(mode=backend) estimator.options.update(resilience_level=1) ``` -Refer to [`SamplerOptions`](options-sampler-options "qiskit_ibm_runtime.options.SamplerOptions") and [`EstimatorOptions`](options-estimator-options "qiskit_ibm_runtime.options.EstimatorOptions") for V2 Sampler and V2 Estimator options, respectively. +Refer to [`qiskit_ibm_runtime.options.SamplerOptions`](options-sampler-options "qiskit_ibm_runtime.options.SamplerOptions") and [`EstimatorOptions`](options-estimator-options "qiskit_ibm_runtime.options.EstimatorOptions") for V2 Sampler and V2 Estimator options, respectively. If an option is not specified, the server default value is used. The default values are subject to change. Refer to this current module’s documentation for the latest defaults. @@ -57,18 +57,18 @@ Refer to [`SamplerOptions`](options-sampler-options "qiskit_ibm_runtime.options. ### Suboptions -| | | -| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -| [`NoiseLearnerOptions`](options-noise-learner-options "qiskit_ibm_runtime.options.NoiseLearnerOptions") | Options for [`NoiseLearner`](noise-learner-noise-learner "qiskit_ibm_runtime.noise_learner.NoiseLearner"). | -| [`DynamicalDecouplingOptions`](options-dynamical-decoupling-options "qiskit_ibm_runtime.options.DynamicalDecouplingOptions") | Options for dynamical decoupling (DD). | -| [`ResilienceOptionsV2`](options-resilience-options-v2 "qiskit_ibm_runtime.options.ResilienceOptionsV2") | Resilience options for V2 Estimator. | -| [`LayerNoiseLearningOptions`](options-layer-noise-learning-options "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") | Options for learning layer noise. | -| [`MeasureNoiseLearningOptions`](options-measure-noise-learning-options "qiskit_ibm_runtime.options.MeasureNoiseLearningOptions") | Options for measurement noise learning. | -| [`PecOptions`](options-pec-options "qiskit_ibm_runtime.options.PecOptions") | Probabalistic error cancellation mitigation options. | -| [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") | Zero noise extrapolation mitigation options. | -| [`TwirlingOptions`](options-twirling-options "qiskit_ibm_runtime.options.TwirlingOptions") | Twirling options. | -| [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") | Execution options for V2 primitives. | -| [`SamplerExecutionOptionsV2`](options-sampler-execution-options-v2 "qiskit_ibm_runtime.options.SamplerExecutionOptionsV2") | Extension of [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") for the sampler primitive. | -| [`EnvironmentOptions`](options-environment-options "qiskit_ibm_runtime.options.EnvironmentOptions") | Options related to the execution environment. | -| [`SimulatorOptions`](options-simulator-options "qiskit_ibm_runtime.options.SimulatorOptions") | Simulator options. | +| | | +| -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| [`NoiseLearnerOptions`](options-noise-learner-options "qiskit_ibm_runtime.options.NoiseLearnerOptions") | Options for [`NoiseLearner`](noise-learner-noise-learner "qiskit_ibm_runtime.noise_learner.NoiseLearner"). | +| [`DynamicalDecouplingOptions`](options-dynamical-decoupling-options "qiskit_ibm_runtime.options.DynamicalDecouplingOptions") | Options for dynamical decoupling (DD). | +| [`ResilienceOptionsV2`](options-resilience-options-v2 "qiskit_ibm_runtime.options.ResilienceOptionsV2") | Resilience options for V2 Estimator. | +| [`LayerNoiseLearningOptions`](options-layer-noise-learning-options "qiskit_ibm_runtime.options.LayerNoiseLearningOptions") | Options for learning layer noise. | +| [`MeasureNoiseLearningOptions`](options-measure-noise-learning-options "qiskit_ibm_runtime.options.MeasureNoiseLearningOptions") | Options for measurement noise learning. | +| [`PecOptions`](options-pec-options "qiskit_ibm_runtime.options.PecOptions") | Probabalistic error cancellation mitigation options. | +| [`ZneOptions`](options-zne-options "qiskit_ibm_runtime.options.ZneOptions") | Zero noise extrapolation mitigation options. | +| [`TwirlingOptions`](options-twirling-options "qiskit_ibm_runtime.options.TwirlingOptions") | Twirling options. | +| [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") | Execution options for V2 primitives. | +| [`SamplerExecutionOptionsV2`](options-sampler-execution-options-v2 "qiskit_ibm_runtime.options.SamplerExecutionOptionsV2") | Extends [`ExecutionOptionsV2`](options-execution-options-v2 "qiskit_ibm_runtime.options.ExecutionOptionsV2") for the sampler primitive. | +| [`EnvironmentOptions`](options-environment-options "qiskit_ibm_runtime.options.EnvironmentOptions") | Options related to the execution environment. | +| [`SimulatorOptions`](options-simulator-options "qiskit_ibm_runtime.options.SimulatorOptions") | Simulator options. | diff --git a/docs/api/qiskit-ibm-runtime/qiskit-runtime-service.mdx b/docs/api/qiskit-ibm-runtime/qiskit-runtime-service.mdx index 355f326bbcb..1ea21fdfc08 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit-runtime-service.mdx +++ b/docs/api/qiskit-ibm-runtime/qiskit-runtime-service.mdx @@ -8,13 +8,11 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService # QiskitRuntimeService - + Bases: `object` Class for interacting with the Qiskit Runtime service. - QiskitRuntimeService constructor. - Recommended uses: * Direct instantiation: @@ -45,29 +43,39 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService The minimum required information for service authentication to a non-local channel is the `token`. The `local` channel doesn’t require authentication. For non-local channels, it is recommended to always provide the relevant `instance` to minimize API calls. If an `instance` is not defined, the service will fetch all instances accessible within the account, filtered by `region`, `plans_preference`, and `tags`. If `plans_preference` is not set, free and trial instances will be prioritized over paid instances. + When using multiple instances, [`QiskitRuntimeService`](#qiskit_ibm_runtime.QiskitRuntimeService "qiskit_ibm_runtime.QiskitRuntimeService") will internally manage which instance is active at a given time. Methods such as [`backend()`](#qiskit_ibm_runtime.QiskitRuntimeService.backend "qiskit_ibm_runtime.QiskitRuntimeService.backend"), [`backends()`](#qiskit_ibm_runtime.QiskitRuntimeService.backends "qiskit_ibm_runtime.QiskitRuntimeService.backends"), [`job()`](#qiskit_ibm_runtime.QiskitRuntimeService.job "qiskit_ibm_runtime.QiskitRuntimeService.job") and [`jobs()`](#qiskit_ibm_runtime.QiskitRuntimeService.jobs "qiskit_ibm_runtime.QiskitRuntimeService.jobs") can result in changing the active instance. It is recommended to use the [`active_instance()`](#qiskit_ibm_runtime.QiskitRuntimeService.active_instance "qiskit_ibm_runtime.QiskitRuntimeService.active_instance") method for checking which instance is active, or use a separate [`QiskitRuntimeService`](#qiskit_ibm_runtime.QiskitRuntimeService "qiskit_ibm_runtime.QiskitRuntimeService") object per instance for more fine-grained control. + Also note that only one account per API token can be used. The API token is linked to the account it was created in. If you want to use multiple accounts, you must create multiple API tokens. The service will attempt to load an account from file if (a) no explicit `token` was provided during instantiation or (b) a `name` is specified, even if an explicit `token` was provided to the service constructor. The account will be selected based on the following criteria: - * If a `filename` is specified, account details will be loaded from `filename`, else they will be loaded from the default configuration file. - * If a `name` is specified, the corresponding account details will be loaded from the configuration file, including `channel`, `token`, `instance`, `region`, `plans_preference`, and the advanced configuration parameters: `url`, `url_resolver`, `private_endpoint`, `verify`, and `proxies`. **Important Note**: An explicit `instance` value provided during instantiation will **overwrite** the value of the loaded `instance`. - * If no `name` is specified: if `channel` is specified, the service will load the default account associated with that channel from the configuration file. Else, it will fall back to the overall default account, defined when calling [`save_account()`](#qiskit_ibm_runtime.QiskitRuntimeService.save_account "qiskit_ibm_runtime.QiskitRuntimeService.save_account") with `set_as_default=True`. + * **If a `filename` is specified, account details will be loaded from `filename`,** + + else they will be loaded from the default configuration file. + + * **If a `name` is specified, the corresponding account details will be loaded from** + + the configuration file, including `channel`, `token`, `instance`, `region`, `plans_preference`, and the advanced configuration parameters: `url`, `url_resolver`, `private_endpoint`, `verify`, and `proxies`. **Important Note**: An explicit `instance` value provided during instantiation will **overwrite** the value of the loaded `instance`. + + * **If no `name` is specified: if `channel` is specified, the service will load the** + + default account associated with that channel from the configuration file. Else, it will fall back to the overall default account, defined when calling [`save_account()`](#qiskit_ibm_runtime.QiskitRuntimeService.save_account "qiskit_ibm_runtime.QiskitRuntimeService.save_account") with `set_as_default=True`. **Parameters** - * **channel** (*Optional\[ChannelType]*) – String that identifies the service platform. This is set to `ibm_quantum_platform` by default, but can additionally take `local` and `ibm_cloud` as values. `ibm_cloud` is a legacy option and points to the same path as `ibm_quantum_platform`, the recommended value is ibm\_quantum\_platform\`. If `local` is selected, the local testing mode will be used, and primitive queries will run on a local simulator. For more details, check the [Qiskit Runtime local testing mode](/docs/guides/local-testing-mode) documentation. For non-local modes, the channel is used to resolve the default API URL value. `ibm_cloud` was the identifier for the legacy IBM Cloud platform, and its URL will be redirected to the new `ibm_quantum_platform` address. - * **token** (*Optional\[str]*) – IBM Cloud API key. Providing an API key is required for IQP authentication. If not provided explicitly, the default saved account will be queried for this API key. - * **url** (*Optional\[str]*) – Base API URL. Defaults to `https://cloud.ibm.com` for non-local channels accessing the IBM Quantum Platform (e.g., `ibm_quantum_platform`, `ibm_cloud`). This URL is processed by a `url_resolver` to route requests to the correct service entrypoint. If you provide a custom `url`, you must also supply a matching `url_resolver`. The default resolver rewrites the base URL to `https://quantum.cloud.ibm.com/api/v[x]`. - * **filename** (*Optional\[str]*) – Full path of the file where the account is created. Default: \_DEFAULT\_ACCOUNT\_CONFIG\_JSON\_FILE. - * **name** (*Optional\[str]*) – Name of the account to load from file. - * **instance** (*Optional\[str]*) – The service instance to use. For `ibm_cloud` and `ibm_quantum_platform`, this is the Cloud Resource Name (CRN) or the service name. If set, it will define an instance for service instantiation, if not set, the service will fetch all instances accessible within the account following the specified filtering criteria. - * **proxies** (*Optional\[dict]*) – Proxy configuration. Supported optional keys are `urls` (a dictionary mapping protocol or protocol and host to the URL of the proxy, documented at [https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies](https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies)), `username_ntlm`, `password_ntlm` (username and password to enable NTLM user authentication) - * **verify** (*Optional\[bool]*) – Whether to verify the server’s TLS certificate. - * **private\_endpoint** (*Optional\[bool]*) – Connect to private API URL. - * **url\_resolver** (*Optional\[Callable]*) – Function used to resolve the runtime URL. If not provided, a default resolver will be used to access different service endpoints. - * **region** (*Optional\[str]*) – Set a region preference for automatic instance selection. This argument is **ignored** if an `instance` is specified. Accepted values are `us-east` or `eu-de`. An instance with this region will be prioritized if an instance is not passed in. - * **plans\_preference** (*Optional\[List\[str]]*) – A list of account plan names ordered by priority for automatic instance selection. This argument is **ignored** if an `instance` is specified. Only instances with the given plan names will be considered. For example, if you want to avoid using your premium accounts you can just pass in `"open"` to only use your open plan instances. Accepted values include (but are not limited to): `open`, `premium`, `flex`, `on-prem`, `pay-as-you-go`. - * **tags** (*Optional\[List\[str]]*) – Set a list of tags to filter available instances for automatic instance selection. This argument is **ignored** if an `instance` is specified. + * **channel** – String that identifies the service platform. This is set to `ibm_quantum_platform` by default, but can additionally take `local` and `ibm_cloud` as values. `ibm_cloud` is a legacy option and points to the same path as `ibm_quantum_platform`, the recommended value is ibm\_quantum\_platform\`. If `local` is selected, the local testing mode will be used, and primitive queries will run on a local simulator. For more details, check the [Qiskit Runtime local testing mode](/docs/guides/local-testing-mode) documentation. For non-local modes, the channel is used to resolve the default API URL value. `ibm_cloud` was the identifier for the legacy IBM Cloud platform, and its URL will be redirected to the new `ibm_quantum_platform` address. + * **token** – IBM Cloud API key. Providing an API key is required for IQP authentication. If not provided explicitly, the default saved account will be queried for this API key. + * **url** – Base API URL. Defaults to `https://cloud.ibm.com` for non-local channels accessing the IBM Quantum Platform (e.g., `ibm_quantum_platform`, `ibm_cloud`). This URL is processed by a `url_resolver` to route requests to the correct service entrypoint. If you provide a custom `url`, you must also supply a matching `url_resolver`. The default resolver rewrites the base URL to `https://quantum.cloud.ibm.com/api/v[x]`. + * **filename** – Full path of the file where the account is created. Default: \_DEFAULT\_ACCOUNT\_CONFIG\_JSON\_FILE. + * **name** – Name of the account to load from file. + * **instance** – The service instance to use. For `ibm_cloud` and `ibm_quantum_platform`, this is the Cloud Resource Name (CRN) or the service name. If set, it will define an instance for service instantiation, if not set, the service will fetch all instances accessible within the account following the specified filtering criteria. + * **proxies** – Proxy configuration. Supported optional keys are `urls` (a dictionary mapping protocol or protocol and host to the URL of the proxy, documented at [https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies](https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies)), `username_ntlm`, `password_ntlm` (username and password to enable NTLM user authentication) + * **verify** – Whether to verify the server’s TLS certificate. + * **private\_endpoint** – Connect to private API URL. + * **url\_resolver** – Function used to resolve the runtime URL. If not provided, a default resolver will be used to access different service endpoints. + * **region** – Set a region preference for automatic instance selection. This argument is **ignored** if an `instance` is specified. Accepted values are `us-east` or `eu-de`. An instance with this region will be prioritized if an instance is not passed in. + * **plans\_preference** – A list of account plan names ordered by priority for automatic instance selection. This argument is **ignored** if an `instance` is specified. Only instances with the given plan names will be considered. For example, if you want to avoid using your premium accounts you can just pass in `"open"` to only use your open plan instances. Accepted values include (but are not limited to): `open`, `premium`, `flex`, `on-prem`, `pay-as-you-go`. + * **tags** – Set a list of tags to filter available instances for automatic instance selection. This argument is **ignored** if an `instance` is specified. **Returns** @@ -77,6 +85,8 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService **IBMInputValueError** – If an input is invalid. + Construct a `QiskitRuntimeService` instance. + ## Attributes ### channel @@ -93,7 +103,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### active\_account - + Return the IBM Quantum account currently in use for the session. **Returns** @@ -107,7 +117,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### active\_instance - + Return the crn of the current active instance. **Return type** @@ -117,7 +127,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### backend - + Return a single backend matching the specified filtering. **Parameters** @@ -143,7 +153,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### backends - + Return all backends accessible via this account, subject to optional filtering. **Parameters** @@ -206,7 +216,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### delete\_account - + Delete a saved account from disk. **Parameters** @@ -226,7 +236,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### delete\_job - + Delete a runtime job. Note that this operation cannot be reversed. @@ -247,10 +257,10 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### instances - - **Return a list that contains a series of dictionaries with the** + + Return a list of instances available for the active account. - following instance identifiers per instance: “crn”, “plan”, “name”. + Return a list that contains a series of dictionaries with the following instance identifiers per instance: “crn”, “plan”, “name”. **Returns** @@ -263,7 +273,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### job - + Retrieve a runtime job. **Parameters** @@ -286,7 +296,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### jobs - + Retrieve all runtime jobs, subject to optional filtering. **Parameters** @@ -318,7 +328,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### least\_busy - + Return the least busy available backend. **Parameters** @@ -335,7 +345,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService QiskitRuntimeService.least_busy(n_qubits=5, operational=True) ``` - * **kwargs** (*Any*) + * **kwargs** (*Any*) – Additional arguments passed to the backend query. **Returns** @@ -352,7 +362,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### save\_account - + Save the account to disk for future use. **Parameters** @@ -379,7 +389,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### saved\_accounts - + List the accounts saved on disk. **Parameters** @@ -404,7 +414,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService ### usage - + Return usage information for the current active instance. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/quantum-program-quantum-program-item.mdx b/docs/api/qiskit-ibm-runtime/quantum-program-quantum-program-item.mdx new file mode 100644 index 00000000000..85a575182fd --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/quantum-program-quantum-program-item.mdx @@ -0,0 +1,45 @@ +--- +title: QuantumProgramItem (latest version) +description: API reference for qiskit_ibm_runtime.quantum_program.QuantumProgramItem in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.quantum_program.QuantumProgramItem +--- + +# QuantumProgramItem + + + Bases: `ABC` + + An item of a [`QuantumProgram`](quantum-program-quantum-program "qiskit_ibm_runtime.quantum_program.QuantumProgram"). + + Each item has a [`shape`](#qiskit_ibm_runtime.quantum_program.QuantumProgramItem.shape "qiskit_ibm_runtime.quantum_program.QuantumProgramItem.shape") that determines the number of circuit executions. This shape is computed by broadcasting the *extrinsic* shapes of all input arrays. Input arrays have both extrinsic axes (leftmost, defining the sweep grid) and intrinsic axes (rightmost, determined by the data type). For example, `circuit_arguments` for a circuit with `n` parameters has intrinsic shape `(n,)`, so an array of shape `(5, 3, n)` has extrinsic shape `(5, 3)`. + + Output arrays returned by the executor follow the same convention: extrinsic axes match the item’s [`shape`](#qiskit_ibm_runtime.quantum_program.QuantumProgramItem.shape "qiskit_ibm_runtime.quantum_program.QuantumProgramItem.shape"), and intrinsic axes are determined by the output type (e.g., `(num_shots, creg_size)` for classical register data). + + **Parameters** + + * **circuit** (*QuantumCircuit*) – The circuit to be executed. + * **chunk\_size** (*int | None*) – The maximum number of bound circuits in each shot loop execution, or `None` to use a server-side heuristic to optimize speed. When not executing in a session, the server-side heuristic is always used and this value is ignored. + + ## Attributes + + ### shape + + + The extrinsic shape of this item, i.e. the broadcasted extrinsic shapes of all inputs. + + + ## Methods + + ### size + + + The total number elements in this item; the product of the entries of [`shape`](#qiskit_ibm_runtime.quantum_program.QuantumProgramItem.shape "qiskit_ibm_runtime.quantum_program.QuantumProgramItem.shape"). + + **Return type** + + int + + + diff --git a/docs/api/qiskit-ibm-runtime/quantum-program-quantum-program.mdx b/docs/api/qiskit-ibm-runtime/quantum-program-quantum-program.mdx new file mode 100644 index 00000000000..1d23f759117 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/quantum-program-quantum-program.mdx @@ -0,0 +1,62 @@ +--- +title: QuantumProgram (latest version) +description: API reference for qiskit_ibm_runtime.quantum_program.QuantumProgram in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.quantum_program.QuantumProgram +--- + +# QuantumProgram + + + Bases: `object` + + A quantum runtime executable. + + A quantum program consists of a list of ordered elements, each of which contains a single circuit and an array of associated parameter values. Executing a quantum program will sample the outcome of each circuit for the specified number of `shots` for each set of circuit arguments provided. + + **Parameters** + + * **shots** (*int*) – The number of shots for each circuit execution. + * **items** (*Iterable\[*[*QuantumProgramItem*](quantum-program-quantum-program-item "qiskit_ibm_runtime.quantum_program.QuantumProgramItem")*] | None*) – Items that comprise the program. + * **noise\_maps** (*dict\[str, PauliLindbladMap] | None*) – Noise maps to use with samplex items. + * **passthrough\_data** (*DataTree | None*) – Arbitrary nested data passed through execution without modification. + * **meas\_level** (*Literal\['classified', 'kerneled', 'avg\_kerneled']*) + + ## Methods + + ### append\_circuit\_item + + + Append a new `CircuitItem` to this program. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The circuit of this item. + * **circuit\_arguments** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray) *| None*) – A real-valued array of parameter values for the circuit. The last axis is intrinsic with size equal to the number of circuit parameters. Leading axes are extrinsic and define the sweep grid. + * **chunk\_size** (*int | None*) – The maximum number of bound circuits in each shot loop execution, or `None` to use a server-side heuristic to optimize speed. When not executing in a session, the server-side heuristic is always used and this value is ignored. + + **Return type** + + None + + + ### append\_samplex\_item + + + Append a new `SamplexItem` to this program. + + **Parameters** + + * **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – The circuit of this item. + * **samplex** (*Samplex*) – A samplex to draw random parameters for the circuit. + * **samplex\_arguments** (*dict\[str, Any] | None*) – A map from argument names to argument values for the samplex. Each argument array has intrinsic axes determined by its type (e.g., `parameter_values` has intrinsic shape `(n,)` for `n` parameters). The extrinsic shapes of all arguments are broadcasted together. + * **shape** (*tuple\[int, ...] | None*) – A shape that the item’s extrinsic shape must be broadcastable to. Axes where `shape` exceeds the shape implicit in `samplex_arguments` enumerate independent randomizations. + * **chunk\_size** (*int | None*) – The maximum number of bound circuits in each shot loop execution, or `None` to use a server-side heuristic to optimize speed. When not executing in a session, the server-side heuristic is always used and this value is ignored. + + **Return type** + + None + + + diff --git a/docs/api/qiskit-ibm-runtime/quantum-program.mdx b/docs/api/qiskit-ibm-runtime/quantum-program.mdx new file mode 100644 index 00000000000..66809ba5a9a --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/quantum-program.mdx @@ -0,0 +1,27 @@ +--- +title: quantum_program (latest version) +description: API reference for qiskit_ibm_runtime.quantum_program in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.quantum_program +--- + + + + + +# Quantum Programs + +`qiskit_ibm_runtime.quantum_program` + +## Overview + +A quantum program consists of a list of ordered elements, each of which contains a single circuit and an array of associated parameter values. Executing a quantum program will sample the outcome of each circuit for the specified number of `shots` for each set of circuit arguments provided. + +## Classes + +| | | +| -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [`QuantumProgram`](quantum-program-quantum-program "qiskit_ibm_runtime.quantum_program.QuantumProgram") | A quantum runtime executable. | +| [`QuantumProgramItem`](quantum-program-quantum-program-item "qiskit_ibm_runtime.quantum_program.QuantumProgramItem") | An item of a [`QuantumProgram`](quantum-program-quantum-program "qiskit_ibm_runtime.quantum_program.QuantumProgram"). | + diff --git a/docs/api/qiskit-ibm-runtime/release-notes.mdx b/docs/api/qiskit-ibm-runtime/release-notes.mdx index c9d909020b3..608150b2a6a 100644 --- a/docs/api/qiskit-ibm-runtime/release-notes.mdx +++ b/docs/api/qiskit-ibm-runtime/release-notes.mdx @@ -10,13 +10,55 @@ in_page_toc_max_heading_level: 2 +## 0.47.0 (2026-05-12) + +### New Features + +* Added the Executor and QuantumProgram classes, which allow taking full advantage of the set of capabilities offered by the Samplomatic \<[https://github.com/Qiskit/samplomatic>\_](https://github.com/Qiskit/samplomatic>_) package. + +* Added the NoiseLearnerV3 class to learn the noise of instructions that contain annotated boxes. + +* Added a script to fetch configuration and properties of a real backend. + +* One new fake backend, `FakeKingston`, has been added. This is a 156-qubit Heron r2 device. ([2711](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2711)) + +* The interactions with the IBM Cloud Platform services (which happen during `QiskitRuntimeService` instantation, with the service names `global_search`, `global_catalog` and `resource_controller`) now adhere to the [IBM Cloud SDK configuration mechanisms](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md#using-external-configuration), allowing for custom configuration to be passed via environment variables or credential files. ([2712](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2712)) + +* Added [`draw_chunk_timings()`](visualization-draw-chunk-timings "qiskit_ibm_runtime.visualization.draw_chunk_timings") to [`qiskit_ibm_runtime.visualization`](visualization#module-qiskit_ibm_runtime.visualization "qiskit_ibm_runtime.visualization") for plotting the execution timing of one or more instances of the new chunk timings container class, `ChunkTiming`, on an interactive barchart. A convenience `ChunkTiming.draw()` method is also available for the single-result case via `job.result().timing.draw()`. ([2727](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2727)) + +* Building on top of the fake backend snapshot script introduced in [2711](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2736), the script now also generates `__init__.py` and `fake_.py` files for each backend, and adds a new `-a`/`--account` argument to select a named account when fetching backend data from different cloud regions (for example, us-east versus eu-de). + + Using this updated script, the following missing fake backends have been added: `FakeAachen`, `FakeBerlin`, `FakeBoston`, `FakeBrussels`, `FakeMiami`, `FakePittsburgh`, and `FakeStrasbourg`. ([2736](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2736)) + +### Upgrade Notes + +* The `RuntimeJobV2.result()` and `RuntimeJobV2.wait_for_final_state()` methods now accept an optional `poll_interval` parameter, which allows customizing the interval between requests to the service. The default is now `0.5` seconds for non-session jobs, and `0.1` seconds for session jobs. ([2762](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2762)) + +### Deprecation Notes + +* The Python package `extras` have been refactored: + + * `common` and `documentation` are deprecated, and will be removed in `v0.48`. + * `performance` has been introduced for optional non-developer dependencies that provide additional performance or functionality. + * The development dependencies now have finer granularity (`style`, `style_local`, `test`, `doc`), with the `dev` extra continuing to allow a full development suite to be installed. ([2707](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2707)) + +### Bug Fixes + +* The `proxies` and `ssl_verification` arguments for `QiskitRuntimeService` are now propagated to the underlying HTTP requests to `` `GlobalSearchV2 ``, `GlobalCatalogV1`, and `IAMAuthenticator` services, allowing to instantiate `QiskitRuntimeService` correctly when using a proxy. ([2592](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2592)) +* Added ability to specify `calibration_id` and `use_fractional_gates` when initializing a session from a `session_id`. This fixes known bugs, namely that instantiating a `Session` object via `from_id` does not preserve the value of `calibration_id` set during the initial instantiation of the original `Session` nor the the value of `use_fractional_gates` set during the initial instantiation of the backend. ([2652](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2652)) +* `NoiseLearner.run()` now correctly supports generators, `map`, `filter`, generator expressions, and other single-pass iterators. Previously these were exhausted after the initial type check, causing jobs to be submitted with zero circuits. ([2759](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2759)) + + + ## 0.46.1 (2026-03-23) + + ### Bug Fixes * Corrected an issue where `setuptools_scm` was mistakenly pinned to `~=8.0` in the previous release. Restored the version constraint to `>=6.2`. - + ## 0.46.0 (2026-03-23) @@ -24,57 +66,63 @@ in_page_toc_max_heading_level: 2 * The minimal version of Qiskit required is now `2.2.0`. ([2689](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2689)) - + ## 0.45.1 (2026-02-12) - + ### Bug Fixes * While creating backend objects, .QiskitRuntimeService previously checked for only `rzz` gates in the backend’s basis gates to decide whether to use cache or create a new backend object. Now .QiskitRuntimeService will check for both `rzz` and `rx` gates in the backend’s basis gates to decide whether to refresh the configuration or fetch from cache. ([2524](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2524)) * The initialization of `QiskitRuntimeService` no longer fails if it is not possible to retrieve the catalog information of an instance (for example, due to the instance being archived). ([2603](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2603)) - + ## 0.45.0 (2026-01-08) + + ### New Features * `qiskit-ibm-runtime` is now compatible with Qiskit v2.3. * The `delete_job()` method has been reintroduced. ([2541](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2541)) - + ### Bug Fixes * Bugfix for [`QiskitRuntimeService.backend()`](qiskit-runtime-service#backend "qiskit_ibm_runtime.QiskitRuntimeService.backend") when the flag `use_fractional_gates=True` checks for either or both `Rx` and `Rzz` gates as opposed to only `Rzz` gates in the backend basis. ([2520](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2520)) - + ### Other Notes * The minimal version of Qiskit required is now `2.0.0`, as the `1.x` Qiskit series is no longer supported. ([2543](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2543)) - + ## 0.44.1 (2026-02-12) + + ### Deprecation Notes * Submitting circuits with non-empty `circuit.calibrations` is deprecated and will be removed in `qiskit-ibm-runtime` v0.45. ([2574](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2574)) - + ### Bug Fixes * While creating backend objects, .QiskitRuntimeService previously checked for only `rzz` gates in the backend’s basis gates to decide whether to use cache or create a new backend object. Now .QiskitRuntimeService will check for both `rzz` and `rx` gates in the backend’s basis gates to decide whether to refresh the configuration or fetch from cache. ([2524](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2524)) * The initialization of `QiskitRuntimeService` no longer fails if it is not possible to retrieve the catalog information of an instance (for example, due to the instance being archived). ([2603](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2603)) - + ## 0.44.0 (2025-12-16) + + ### Upgrade Notes * If a backend that does not support fractional gates is requested by setting the flag `use_fractional_gates=True` in [`QiskitRuntimeService.backend()`](qiskit-runtime-service#backend "qiskit_ibm_runtime.QiskitRuntimeService.backend"), `IBMInputValueError` will be raised. ([2405](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2405)) @@ -102,7 +150,7 @@ in_page_toc_max_heading_level: 2 fig.show() ``` - + ### New Features @@ -171,34 +219,34 @@ in_page_toc_max_heading_level: 2 c_1: ════════════════════╩═ ``` - + ### Bug Fixes * IAM authentification bug fix when using a proxy configuration specified in `QiskitRuntimeService`. The patch injects the `proxies` and `verify` attributes from `QiskitRuntimeService` into `IAMTokenManager` when using cloud authentification (`CloudAuth`). ([2344](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2344)) - + ### Other Notes * The deprecated methods `check_pending_jobs()` and `delete_job()` methods, along with support for Python 3.9, have been removed. ([2439](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2439)) * Added `CircuitSchedule` as an optional input to `draw_circuit_schedule_timing()`. This allows for manual preprocessing of the circuit schedule timing data outside of its draw function. ([2457](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2457)) - + ## 0.43.1 (2025-10-23) - + ### Upgrade Notes * When initializing [`QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") with a saved account, the `warning` level log messages regarding the saved account name (or default account) have been lowered to the `info` level. ([2445](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2445)) - + ## 0.43 (2025-10-14) - + ### Deprecation Notes @@ -208,7 +256,7 @@ in_page_toc_max_heading_level: 2 * The `RuntimeOptions` class is deprecated. This class was originally only meant to be used with custom programs and is no longer needed. ([2435](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2435)) - + ### New Features @@ -294,17 +342,17 @@ in_page_toc_max_heading_level: 2 * The `ConvertISAToClifford` pass now supports Cliffordization of circuits containing fractional gates. ([2427](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2427)) - + ## 0.42.0 (2025-09-15) - + ### Bug Fixes * The [`QiskitRuntimeService.least_busy()`](qiskit-runtime-service#least_busy "qiskit_ibm_runtime.QiskitRuntimeService.least_busy") method’s behavior was inconsistent because it expected a fixed response from the API for the “reason” field, which is labeled as optional in the API schema. This has been fixed by no longer depending on this field. ([2411](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2411)) - + ### Upgrade notes @@ -329,7 +377,7 @@ in_page_toc_max_heading_level: 2 An error will also be raised if the account associated with the specified token does not have access to the given instance. This was the previously documented behavior in the `0.40.0` release notes. ([2408](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2408)) - + ### New Features @@ -337,11 +385,11 @@ in_page_toc_max_heading_level: 2 `IBMFractionalTranslationPlugin` is deprecated since it is no longer necessary. ([2366](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2366)) - + ## 0.41.1 (2025-08-18) - + ### Bug Fixes @@ -349,7 +397,7 @@ in_page_toc_max_heading_level: 2 Additionally, [`QiskitRuntimeService.least_busy()`](qiskit-runtime-service#least_busy "qiskit_ibm_runtime.QiskitRuntimeService.least_busy") now correctly returns the least busy backend in the cases where the `instance` parameter is passed in and when there is no default instance. ([2359](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2359)) - + ## 0.41.0 (2025-07-24) @@ -361,13 +409,13 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P > * [`QiskitRuntimeService.least_busy()`](qiskit-runtime-service#least_busy "qiskit_ibm_runtime.QiskitRuntimeService.least_busy") is significantly faster. > * [`QiskitRuntimeService.usage()`](qiskit-runtime-service#usage "qiskit_ibm_runtime.QiskitRuntimeService.usage") has been updated to return information regarding the current instance usage limit, consumption, and time remaining. - + ### Upgrade Notes * Because of the sunset of IBM Quantum Platform Classic, the `ibm_quantum` channel is no longer supported from `qiskit-ibm-runtime`. Saved `ibm_quantum` channel accounts and data will not be accessible. Use the `ibm_quantum_platform` channel instead. See our [migration guide](https://github.com/Qiskit/documentation/blob/00575e951e6b397cbd9cba016b653979369c8cd5/docs/migration-guides/classic-iqp-to-cloud-iqp.mdx) for more details. ([2289](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2289)) - + ### New Features @@ -404,7 +452,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * There is a new method `convert_to_rzz_valid_pub()`, which can be used to transform a PUB into an equivalent PUB that is compatible with Rzz constraints. The method currently does not support dynamic circuits and does not preserve global phase. ([2126](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2126)) - + ### Bug Fixes @@ -412,7 +460,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Fixed an issue in [`IBMBackend`](ibm-backend "qiskit_ibm_runtime.IBMBackend") where property changes, such as modifications to `basis_gates`, persisted even after the backend object was renewed. ([2283](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2283)) * Fixed the serialization of execution spans, to ensure that executions of old versions of qiskit-ibm-runtime will not crash when trying to decode newly encoded execution spans. However the deserialization with old versions will now return the execution spans in the format of a dictionary, and not in the form of an [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans") object. As part of this work, we also removed the `data_slice_version` field from [`TwirledSliceSpan`](execution-span-twirled-slice-span "qiskit_ibm_runtime.execution_span.TwirledSliceSpan"); twirled slice spans that are aware of the pub shots are now managed by a new class `TwirledSliceSpanV2`. ([2347](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2347)) - + ### Other Notes @@ -420,28 +468,28 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * The deprecated [`IBMBackend`](ibm-backend "qiskit_ibm_runtime.IBMBackend") and `FakeBackendV2` `defaults()` methods have been removed. They were deprecated in the v0.38.0 release. Pulse defaults have also been removed from all fake backends. ([2238](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2238)) * Improved the error message returned when [`ExecutionSpan.mask()`](execution-span-execution-span#mask "qiskit_ibm_runtime.execution_span.ExecutionSpan.mask") is called for a PUB that’s not contained in the span. ([2311](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2311)) - + ## 0.40.1 (2025-06-04) - + ### Bug Fixes * Fixed an issue where if there was no instance saved nor passed in at initialization, the service could not make any API calls until [`QiskitRuntimeService.backend()`](qiskit-runtime-service#backend "qiskit_ibm_runtime.QiskitRuntimeService.backend") or [`QiskitRuntimeService.backends()`](qiskit-runtime-service#backends "qiskit_ibm_runtime.QiskitRuntimeService.backends") is called first. * Fixed a bug where if `use_fractional_gates` is set but the backend configuration was already cached, the incorrect configuration could be returned. ([2269](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2269)) - + ### Other Notes * Error messages related to `rzz` gate angles being outside of the allowed range of 0 to $\pi/2$ during circuit validation have been updated to clarify that the angle value requested in the circuit was the problem and not an angle value provided by the backend. ([2276](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2276)) - + ## 0.40.0 (2025-05-28) - + ### New Features @@ -515,24 +563,24 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P There is also a new `private()` property that returns whether or not a job is private. ([2263](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2263)) - + ### Bug Fixes * The call to `defaults()` in `target()` was removed because backend defaults are no longer used in the target generation. ([2261](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2261)) - + ## 0.39.0 (2025-05-13) - + ### New Features * The maximum supported QPY service version is now 14. ([2231](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2231)) * Pub inputs to [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.EstimatorV2") are now subject to a new validation step that checks that observables consist of Pauli operations that only contain \{I, X, Y, Z}. ([2254](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2254)) - + ### Bug Fixes @@ -540,18 +588,18 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Removed the incorrect `Optional` type hint for the `backend` parameter in [`Session`](session "qiskit_ibm_runtime.Session") and [`Batch`](batch "qiskit_ibm_runtime.Batch"). ([2222](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2222)) * [`Session.from_id()`](session#from_id "qiskit_ibm_runtime.Session.from_id") now raises an error if the session does not have a known backend. This is usually the case if there haven’t been any jobs run in the session yet. ([2226](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2226)) - + ### Other Notes * IBM Cloud accounts will now use an access token to call the Qiskit Runtime API instead of the token provided by the user. ([2102](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2102)) * `IBMInputValueError` now inherits from `ValueError`, in addition to the existing parent class `IBMError`. Some validation functions that previously raised `ValueError` exceptions now raise `IBMInputValueError` exceptions. ([2250](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2250)) - + ## 0.38.0 (2025-04-15) - + ### Deprecation Notes @@ -559,35 +607,35 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Since pulse gates are no longer supported, the [`IBMBackend`](ibm-backend "qiskit_ibm_runtime.IBMBackend") and `FakeBackendV2` `defaults()` method has been deprecated and will be removed no sooner than three months from this release. While the method still exists, these pulse defaults are no longer used to construct the backend target. ([2186](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2186)) * The `ibm_quantum` channel option is deprecated and will be sunset on 1 July. After this date, `ibm_cloud`, `ibm_quantum_platform`, and `local` will be the only valid channels. For help migrating to the new IBM Quantum Platform on the `ibm_cloud` channel, read the [migration guide](https://github.com/Qiskit/documentation/blob/00575e951e6b397cbd9cba016b653979369c8cd5/docs/migration-guides/classic-iqp-to-cloud-iqp.mdx). ([2205](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2205)) - + ### New Features * Attributes from the configuration of fake backends can now be retrieved directly with `backend.`. ([2202](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2202)) - + ### Bug Fixes * Fixed a bug where `DoubleSliceSpan.mask()` and `TwirledSliceSpan.mask()` error when they contain a one-dimensional slice. ([2184](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2184)) - + ### Upgrade Notes * Since support for streaming results was removed in `0.32.0`, the remaining related websocket code has been removed. As a part of this process, the environment option `callback` is deprecated, as well as the parameters `client_params` and `user_callback` in `BaseRuntimeJob`. ([2143](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2143)) - + ## 0.37.0 (2025-03-13) - + ### Deprecation Notes * The `IBMBackend` attributes `max_shots` and `max_experiments`, as well as the property `max_circuits` have all been deprecated. These attribute values used to represent the maximum number of shots and circuits that could be submitted in one job but that is no longer the case. See the [job limits guide](/docs/guides/job-limits#job-limits) for details. ([2166](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2166)) - + ### New Features @@ -601,7 +649,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Added a warning when a primitive is initialized outside of a session or batch context manager. In this scenario, the job will run in job mode instead of the session or batch. ([2152](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2152)) - + ### Bug Fixes @@ -609,21 +657,21 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * [ConvertConditionsToIfOps](/docs/api/qiskit/1.4/qiskit.transpiler.passes.ConvertConditionsToIfOps) now correctly runs at all optimization levels of the scheduling plugins for dynamic circuits, when using Qiskit 1.x. ([2154](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2154)) * When retrieving jobs with [`jobs()`](qiskit-runtime-service#jobs "qiskit_ibm_runtime.QiskitRuntimeService.jobs"), there is no way to distinguish between v1 and v2 primitives. Since the v1 primitives were completely removed over 6 months ago in `0.28.0`, jobs returned from `jobs()` will now default to `RuntimeJobV2`. ([2156](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2156)) - + ## 0.36.1 (2025-02-14) - + ### Bug Fixes * Fixed an issue where not having `qiskit-aer` installed would cause an import error. ([2144](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2144)) - + ## 0.36.0 (2025-02-14) - + ### Upgrade Notes @@ -635,11 +683,11 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P > * The `NoiseLearnerResult` properties `generators` and `rates` have been removed. They can still be accessed in the `error` property. > * The utility function `get_runtime_api_base_url()` has been removed. ([2124](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2124)) - + ## 0.35.0 (2025-02-04) - + ### Upgrade Notes @@ -648,18 +696,18 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Parameter expressions with RZZ gates will be checked against the values assigned to them in the PUB. An `IBMInputValueError` will be raised if parameter values specified in the PUB make a parameter expression evaluate to an invalid angle (negative, or greater than `pi/2`). ([2093](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2093)) * When there is a maintenance outage, an appropriate error message will be raised when trying to initialize the `QiskitRuntimeService`. ([2100](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2100)) - + ### New Features * Jobs run in the local testing mode will now return an instance of a new class, `LocalRuntimeJob`. This new class inherits from Qiskit’s `PrimitiveJob` class while adding the methods and properties found in `BaseRuntimeJob`. This way, running jobs in the local testing mode will be more similar to running jobs on a real backend. ([2057](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2057)) * Two new fake backends, `FakeFez` and `FakeMarrakesh`, have been added. These are 156-qubit Heron devices. ([2112](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2112)) - + ## 0.34.0 (2024-12-05) - + ### New Features @@ -677,7 +725,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P The new pass modifies the input quantum circuit, so that all `RZZ` gates in the circuit have an angle parameter within \[0, pi/2] which is supported by IBM Quantum processors. ([2043](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2043)) - + ### Upgrade Notes @@ -687,7 +735,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Previously, passing a backend as the mode into `SamplerV2` or `EstimatorV2` ran jobs in job mode, even if a session context manager was open. These jobs will now run inside of the open session. Additionally, if a backend that is different from the session backend is passed in as the mode, an error will be raised. * `Service` is no longer a valid parameter in `Session` and `Batch`. ([2027](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2027)) - + ### Bug Fixes @@ -697,7 +745,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Invalid or non-existing backend configurations on the server will no longer prevent all backends from being retrieved with `service.backends()`. ([2048](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2048)) * Pin `pydantic` dependency version to `<2.10` to avoid a regression breaking the build process. ([2049](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2049)) - + ### Other Notes @@ -707,54 +755,54 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P > * Use `pip install -e ".[dev]"` to install the development dependencies. > * Use `pip install -e ".[visualization]"` to install the visualization dependencies. ([2053](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2053)) - + ## 0.33.2 (2024-11-11) - + ### Bug Fixes * Fixed an issue where the RZZ validation did not handle parameter expressions correctly. ([2035](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2035)) - + ## 0.33.1 (2024-11-08) - + ### Other Notes * Added a private alias to `decode_backend_configuration()`. ([2028](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2028)) - + ## 0.33.0 (2024-11-07) - + ### New Features * Added [`draw_layer_errors_swarm()`](visualization-draw-layer-errors-swarm "qiskit_ibm_runtime.visualization.draw_layer_errors_swarm") which draws a swarm plot of one or more [`LayerError`](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError") objects. Also added the convenience method [`draw_swarm()`](utils-noise-learner-result-layer-error#draw_swarm "qiskit_ibm_runtime.utils.noise_learner_result.LayerError.draw_swarm") to invoke the drawing function on a particular instance. ([1988](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1988)) * Added [`TwirledSliceSpan`](execution-span-twirled-slice-span "qiskit_ibm_runtime.execution_span.TwirledSliceSpan"), an `ExecutionSpan` to be used when twirling is enabled in the Sampler. In particular, it keeps track of an extra shape axis corresponding to twirling randomizations, and also whether this axis exists at the front of the shape tuple, or right before the shots axis. ([2011](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2011)) - + ### Upgrade Notes * The remaining fake V1 backends - `FakeMelbourne`, `FakePoughkeepsie`, `FakeTenerife`, `FakeTokyo`, and `FakeRueschlikon` have been removed. ([2012](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2012)) - + ### Bug Fixes * Fixed the location of hover text on the `draw_execution_spans()` function. Previous to this fix, they were drawn on the wrong markers. ([2014](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2014)) - + ## 0.32.0 (2024-10-30) - + ### New Features @@ -778,7 +826,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Each of [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.SamplerV2"), [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.EstimatorV2"), and [`noise_learner.NoiseLearner`](noise-learner-noise-learner "qiskit_ibm_runtime.noise_learner.NoiseLearner") now has a `backend()` method that returns the backend that the class is configured with. ([1995](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1995)) - + ### Upgrade Notes @@ -792,34 +840,34 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P > * If your organization has an existing IBM Quantum Premium Plan instance: migrate to the Q-CTRL Performance Management Function, found in the [Qiskit Functions Catalog](https://quantum.ibm.com/functions). > * To continue using Qiskit Runtime with IBM Cloud: migrate to Q-CTRL Fire Opal, the same performance management product accessible directly through Q-CTRL. You can [connect your IBM Cloud API key and Qiskit Runtime CRN](https://docs.q-ctrl.com/fire-opal/discover/hardware-providers/how-to-migrate-from-performance-management-on-ibm-cloud) to Fire Opal. ([1966](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1966)) - + ## 0.31.0 (2024-10-15) - + ### New Features * Added Noisy Estimator Analyzer Tool (NEAT), a class to help understand the expected performance of Estimator jobs. ([1950](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1950)) * Updated the ISA check to validate that the `rzz` angle is between `[0, pi/2]`. ([1953](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1953)) - + ### Upgrade Notes * Fake V1 backends have been removed. ([1946](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1946)) - + ### Bug Fixes * Fixed an issue with ISA validation where a change related to connectivity inside control operations was not applied correctly. ([1954](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1954)) - + ## 0.30.0 (2024-09-23) - + ### Deprecation Notes @@ -832,7 +880,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * In a future release, `RuntimeJob.status()` will be returned as a string instead of an instance of `JobStatus`. ([1933](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1933)) - + ### New Features @@ -855,7 +903,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * The `use_fractional_gates` flag for `QiskitRuntimeService.backend()` and `QiskitRuntimeService.backends()` can now be `None`. When set to `None`, no instruction filtering is done, and the returned backend target may contain both fractional gates and control flow operations. ([1938](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1938)) - + ### Upgrade Notes @@ -869,33 +917,33 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * In `Service.backend()`, “name” is now a required parameter * `Service.get_backend()` has been removed and replaced with `backend()` ([1907](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1907)) - + ### Bug Fixes * Fixed a bug where primitives could not be run in the session context with fractional gates. ([1922](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1922)) - + ## 0.29.1 (2024-09-17) - + ### New Features * Added logic to encode and decode `NoiseLearnerResult`. ([1908](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1908)) - + ## 0.29.0 (2024-09-04) - + ### Deprecation Notes * The simulator option `noise_model` is now deprecated for jobs running on real devices. `noise_model` will still be an acceptable option when using the local testing mode. ([1892](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1892)) - + ### New Features @@ -903,7 +951,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Added a new `private` option under `EnvironmentOptions`. ([1888](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1888)) * Added `fallback` option to ZNE extrapolators. ([1902](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1902)) - + ### Bug Fixes @@ -911,54 +959,54 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Revert a previous change to `backend.target` where the target was no longer being cached. ([1891](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1891)) * Fixed an issue where `Session.from_id()` would create a new empty session. ([1896](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1896)) - + ## 0.28.0 (2024-08-15) - + ### New Features * `ResilienceOptionsV2` has a new field `layer_noise_model`. When this field is set, all the mitigation strategies that require noise data skip the noise learning stage, and instead gather the required information from `layer_noise_model`. ([1858](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1858)) - + ### Upgrade Notes * The V1 Primitives `SamplerV1` and `EstimatorV1` have been completely removed. Please see the [migration guide](/docs/guides/v2-primitives) and use the V2 Primitives instead. ([1857](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1857)) * The `service` parameter is now required in `Session.from_id()`. ([1868](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1868)) - + ## 0.27.1 (2024-08-12) - + ### New Features * Added logic to encode and decode `PauliLindbladError` and `LayerError`. ([1853](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1853)) - + ## 0.27.0 (2024-08-08) - + ### New Features * Added `PauliLindbladError` and `LayerError` classes to represent layers noise processes. ([1844](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1844)) - + ### Bug Fixes * Fixed an issue with using the aer simulator and local service mode with sessions. ([1838](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1838)) - + ## 0.26.0 (2024-07-31) - + ### Deprecation Notes @@ -967,7 +1015,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Passing in `service` in `Session`, `Batch` has been deprecated. The `service` parameter is no longer necessary because the service can be extracted from the backend. ([1826](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1826)) * Since backend modules from `qiskit.providers.models` including `BackendProperties` and `BackendConfiguration` are deprecated in Qiskit 1.2, they have been copied into `qiskit-ibm-runtime`. Make sure to upgrade to the latest version, `0.26.0`, to use these classes. ([1803](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1803)) - + ### New Features @@ -989,7 +1037,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Added `NoiseLearner` and related functionality, such as `NoiseLearnerOptions` and `NoiseLearnerResults`. ([1805](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1805)) - + ### Bug Fixes @@ -998,18 +1046,18 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * The options validation for checking if `zne_mitigation` or `pec_mitigation` are set to `True` when using other related options has been removed. ([1792](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1792)) * Fixed an issue where users were unable to retrieve job results if the python library `simplejson` was installed in their environment. ([1800](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1800)) - + ## 0.25.0 (2024-07-02) - + ### Deprecation Notes * The `optimization_level` option in `EstimatorV2` is deprecated. Instead, you can perform circuit optimization using the Qiskit transpiler or Qiskit transpiler service. ([1748](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1748)) * `qiskit_ibm_runtime.RuntimeJobV2.interim_results()`, `qiskit_ibm_runtime.RuntimeJobV2.stream_results()`, `qiskit_ibm_runtime.RuntimeJob.interim_results()`, and `qiskit_ibm_runtime.RuntimeJob.stream_results()` are now all deprecated. ([1776](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1776)) - + ### New Features @@ -1017,21 +1065,21 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Added an `instance` property to `BaseRuntimeJob` which returns the instance where the job was run. ([1771](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1771)) * `default_shots` are now a supported option when using `EstimatorV2` in local testing mode. ([1773](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1773)) - + ## 0.24.1 (2024-06-18) - + ### Bug Fixes * Disallowing fractional gates by default, so backend target would not exclude control flow. ([1755](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1755)) - + ## 0.24.0 (2024-06-10) - + ### Deprecation Notes @@ -1049,7 +1097,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Specifying options without the full dictionary structure is deprecated. Instead, pass in a fully structured dictionary. For example, use `{'environment': {'log_level': 'INFO'}}` instead of `{'log_level': 'INFO'}`. ([1731](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1731)) - + ### New Features @@ -1084,13 +1132,13 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Qiskit version `1.1` is now supported and required. ([1700](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1700)) - + ### Upgrade Notes * [`QiskitRuntimeService.backends()`](qiskit-runtime-service#backends "qiskit_ibm_runtime.QiskitRuntimeService.backends") now always returns a new `IBMBackend` instance even when the same query is used. The backend properties and defaults data are retrieved from the server for every instance when they are accessed for the first time, while the configuration data is cached internally in the service instance. ([1732](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1732)) - + ### Bug Fixes @@ -1102,18 +1150,18 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Fixed nested experimental suboptions override non-experimental suboptions. ([1731](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1731)) * The backend utils method `convert_to_target` has been replaced with the [convert\_to\_target](/docs/api/qiskit/1.4/qiskit.providers.convert_to_target) method from Qiskit. This fixes some issues related to target generation and calibration data. ([1600](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1600)) - + ## 0.23.0 (2024-04-15) - + ### Deprecation Notes * [backend.run()](/docs/api/qiskit-ibm-runtime/ibm-backend#run) has been deprecated. Please use the primitives instead. More details can be found in the [migration guide](https://github.com/Qiskit/documentation/blob/2d2c2fcad47dd9e7ac1cc6807527dfccd796ea24/docs/migration-guides/qiskit-runtime.mdx) . ([1561](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1561)) * In a future release, the `service` parameter in [from\_id()](/docs/api/qiskit-ibm-runtime/session#from_id) will be required. ([1311](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1311)) - + ### New Features @@ -1123,7 +1171,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.SamplerV2") now supports twirling. Twirling will only be applied to those measurement registers not involved within a conditional logic. ([1557](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1557)) * Session [details()](/docs/api/qiskit-ibm-runtime/session#details) now includes a new field, `usage_time`. Usage is defined as the time a quantum system is committed to complete a job. ([1567](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1567)) - + ### Bug Fixes @@ -1132,59 +1180,59 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Fixed a bug with encoding/decoding `ParameterExpression`. ([1521](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1521)) * Fixed an issue where the [in\_final\_state()](/docs/api/qiskit-ibm-runtime/runtime-job-v2#in_final_state) method in [`RuntimeJobV2`](runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2") would not update the status when called. ([1547](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1547)) - + ## 0.22.0 (2024-03-21) - + ### Upgrade Notes * Modify `skip_reset_qubits` optional flag to the constructor for [`PadDynamicalDecoupling`](transpiler-passes-scheduling-pad-dynamical-decoupling "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling"). If `False`, dynamical decoupling is applied on qubits regardless of their state, even on delays that are at the beginning of a circuit. This option now matches the behavior in Qiskit. ([1409](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1409)) - + ### New Features * A new local testing mode is added. It allows you to validate your quantum prorams before sending them to a physical system. The local testing mode is activated if one of the fake backends in `qiskit_ibm_runtime.fake_provider` or a Qiskit Aer backend instance is used when instantiating a primitive or a session. ([1495](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1495)) - + ### Bug Fixes * Fix a bug that caused setting of `resilience_level=0` in `EstimatorV2` to be ignored (and the default value used instead). ([1541](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1541)) - + ## 0.21.2 (2024-03-18) - + ### Bug Fixes * Fixed a bug where `RuntimeDecoder` could import arbitrary classes. ([1527](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1527)) - + ## 0.21.1 - + ### Bug Fixes * Fixed a bug where `SamplerV1` and `EstimatorV1` could not be imported because of an issue with how the aliases were defined. - + ## 0.21.0 - + ### Upgrade Notes * Circuits that do not match the target hardware definition are no longer supported by Qiskit Runtime primitives, unless `channel_strategy="q-ctrl"` is used. See the transpilation documentation ([transpile](/docs/guides/transpile)) for instructions to transform circuits and the primitive examples ([run/primitives-examples](/docs/guides/estimator-examples)) to see this coupled with operator transformations. - + ### Deprecation Notes @@ -1192,7 +1240,7 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P It will also be a required parameter for `qiskit_ibm_runtime.Session` and `qiskit_ibm_runtime.Batch`. - + ### Bug Fixes @@ -1200,11 +1248,11 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Fixed a bug where retrieving a fake backend through `FakeProviderForBackendV2.backend()` would result in a type error. * Fixes the check for ISA circuits to allow pulse gates and circuits that don’t have layout. - + ## 0.20.0 - + ### New Features @@ -1222,57 +1270,57 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P The sessions functionality will not change but note that `backend.run()` sessions prior to this release will no longer be supported after March 31, 2024. Please update your `qiskit-ibm-runtime` version as soon as possible before this date. - + ### Deprecation Notes * Circuits that do not match the target hardware definition will no longer be supported after March 1, 2024. See the transpilation documentation ([transpile](/docs/guides/transpile)) for instructions to transform circuits and the primitive examples ([run/primitives-examples](/docs/guides/estimator-examples)) to see this coupled with operator transformations. - + ### Bug Fixes * Fix assignment of instruction durations when scheduling circuits with control flow. Prior to this fix, the indices for instructions on inner blocks were not mapped to the physical indices in the outer dag. - + ### Other Notes * The `InstructionDurations` durations input is now also required for the constructor of `PadDelay`. - + ## 0.19.1 - + ### Upgrade Notes * Extend `DynamicCircuitInstructions.from_backend()` to extract and patch durations from both `BackendV1` and `BackendV2` objects. Also add `DynamicCircuitInstructions.from_target()` to use a `Target` object instead. - + ### Bug Fixes * Fix the patching of `DynamicCircuitInstructions` for instructions with durations that are not in units of `dt`. * Fixed an issue with the `qpy.dump()` function, when the `use_symengine` flag was set to a truthy object that evaluated to `True` but was not actually the boolean `True` the generated QPY payload would be corrupt. - + ## 0.19.0 - + ### Upgrade Notes * qiskit-ibm-provider is pending deprecation, and therefore will no longer be a dependency for qiskit-ibm-runtime. * qiskit-ibm-runtime is now compatible with Qiskit versions >= 0.45, including 1.0.0. - + ## 0.18.0 - + ### New Features @@ -1280,30 +1328,30 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Added `max_time` parameter to `IBMBackend.open_session()`. * Added a method `RuntimeJob.queue_info()` to get the queue information from the backend. This feature was transferred from `qiskit_ibm_provider`. - + ### Deprecation Notes * `QiskitRuntimeService.runtime()` has been deprecated. - + ### Bug Fixes * Many methods in [RuntimeJob](/docs/api/qiskit-ibm-runtime/0.41/runtime-job) require retrieving the job data from the API with `job_get()`. This API call will now exclude the `params` field by default because they are only necessary in [qiskit\_ibm\_runtime.RuntimeJob.inputs()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#inputs). - + ## 0.17.0 - + ### New Features * Added a new method [properties()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#properties) which returns the backend properties of the job at the time the job was run. * [details()](/docs/api/qiskit-ibm-runtime/session#details) has a new field, activated\_at, which is the timestamp of when the session was changed to active. - + ### Bug Fixes @@ -1321,49 +1369,49 @@ The qiskit-ibm-runtime `v0.41.0` release focuses on the removal of IBM Quantum P * Fixed an issue where retrieving the coupling\_map of some backends would result in a NameError. - + ## 0.16.0 - + ### Prelude Sessions are now thread-safe and allow for multiple concurrent interactive experiments. - + ### New Features * Sessions are now thread-safe. - + ### Upgrade Notes * Methods related to using custom programs are removed. - + ### Bug Fixes * If a cloud instance that is `q-ctrl` enabled is used while `q-ctrl` is not passed in as the `channel_strategy`, an error will be raised. - + ## 0.15.1 - + ### Bug Fixes * Reverting 0.15.0 changes to [from\_id()](/docs/api/qiskit-ibm-runtime/session#from_id) because it was a breaking change without proper deprecation. - + ## 0.15.0 - + ### New Features @@ -1400,13 +1448,13 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Removed storing result in `RuntimeJob._results`. Instead retrieve results every time the `results()` method is called. - + ### Deprecation Notes * Usage of the `~/.qiskit/qiskitrc.json` file for account information has been deprecated. Use `~/.qiskit/qiskit-ibm.json` instead. - + ### Bug Fixes @@ -1415,34 +1463,34 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * The `backend` parameter in [from\_id()](/docs/api/qiskit-ibm-runtime/session#from_id) is being deprecated because sessions do not support multiple backends. Additionally, the `service` parameter is no longer optional. * The `circuit_indices` and `observable_indices` run inputs for [Estimator](/docs/api/qiskit-ibm-runtime/estimator) and [Sampler](/docs/api/qiskit-ibm-runtime/sampler) have been completely removed. - + ### Other Notes * Added migration code for running `backend.run` in qiskit\_ibm\_runtime instead of in qiskit\_ibm\_provider. - + ## 0.14.0 - + ### New Features * There is a new class, `qiskit_ibm_runtime.Batch` that currently works the same way as [qiskit\_ibm\_runtime.Session](/docs/api/qiskit-ibm-runtime/session) but will later be updated to better support submitting multiple jobs at once. * Arbitrary keys and values are no longer allowed in `Options`. - + ### Deprecation Notes * Custom programs are being deprecated as of qiskit-ibm-runtime 0.14.0 and will be removed on November 27, 2023. Users can instead convert their custom programs to use Qiskit Runtime primitives with Qiskit Serverless. Refer to the migration guide for instructions: [https://qiskit.github.io/qiskit-serverless/migration/migration\_from\_qiskit\_runtime\_programs.html](https://qiskit.github.io/qiskit-serverless/migration/migration_from_qiskit_runtime_programs.html) - + ## 0.13.0 - + ### New Features @@ -1452,7 +1500,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * At initialization, if not passed in directly, the default `instance` selected by the provider will be logged at the “INFO” level. When running a job, if the backend selected is not in the default instance but in a different instance the user also has access to, that instance will also be logged. - + ### Upgrade Notes @@ -1460,18 +1508,18 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper The old close method behavior has been moved to a new method, [qiskit\_ibm\_runtime.Session.cancel()](/docs/api/qiskit-ibm-runtime/session#cancel), where all queued jobs within a session are cancelled and terminated. - + ### Bug Fixes * Fixed a bug where `shots` passed in as a numpy type were not being serialized correctly. * Fixed a bug in [target\_history()](/docs/api/qiskit-ibm-runtime/ibm-backend#target_history) where the datetime parameter was not being used to retrieve backend properties from the specified date. - + ## 0.12.2 - + ### New Features @@ -1480,17 +1528,17 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Added new method `Session.from_id` which creates a new session with a given id. * There will now be a warning if a user submits a job that is predicted to exceed their system execution time monthly quota of 10 minutes. This only applies to jobs run on real hardware in the instance `ibm-q/open/main`. If the job does end up exceeding the quota, it will be canceled. - + ### Upgrade Notes * Job error messages now include the error code. Error codes can be found in [errors](/docs/errors). - + ## 0.12.1 - + ### New Features @@ -1498,7 +1546,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Users can now pass in a value of `default` to the `channel_strategy` parameter in [qiskit\_ibm\_runtime.QiskitRuntimeService](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service). Now, if an account is configured with a certain channel strategy, the user can override it by passing in `default`. * The Sampler and Estimator primitives have been enhanced to incorporate custom validation procedures when the channel\_strategy property within the :class:qiskit\_ibm\_runtime.QiskitRuntimeService is configured as “q-ctrl.” This customized validation logic effectively rectifies incorrect input options and safeguards users against inadvertently disabling Q-CTRL’s performance enhancements. - + ### Bug Fixes @@ -1507,11 +1555,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Job error messages will no longer be returned in all uppercase. * The max\_execution\_time option is now based on system execution time instead of wall clock time. System execution time is the amount of time that the system is dedicated to processing your job. If a job exceeds this time limit, it is forcibly cancelled. Simulator jobs continue to use wall clock time. - + ## 0.12.0 - + ### New Features @@ -1530,19 +1578,19 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * There is a new parameter, `channel_strategy` that can be set in the initialization of [qiskit\_ibm\_runtime.QiskitRuntimeService](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service) or saved in [qiskit\_ibm\_runtime.QiskitRuntimeService.save\_account()](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#save_account). If `channel_strategy` is set to `q-ctrl`, all jobs within the service will use the Q-CTRL error mitigation strategy. - + ### Upgrade Notes * Circuits and other input parameters will no longer be automatically stored in runtime jobs. They can still be retrieved with [qiskit\_ibm\_runtime.RuntimeJob.inputs()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#inputs). - + ### Deprecation Notes * The `noise_amplifier` resilience options is deprecated. After the deprecation period, only local folding amplification will be supported. Refer to [https://github.com/qiskit-community/prototype-zne](https://github.com/qiskit-community/prototype-zne) for global folding amplification. - + ### Bug Fixes @@ -1550,11 +1598,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Fixes a race condition in the test test\_cancel\_running\_job() in test\_job.py where job cancellation could not be performed. Refer to #1019 \<[https://github.com/Qiskit/qiskit-ibm-runtime/issues/1019](https://github.com/Qiskit/qiskit-ibm-runtime/issues/1019)>\_ for more details. * Previously we added validation when jobs were run to make sure the number of circuits was not greater than the maximum for that backend, `backend.max_circuits`. This limit isn’t actually necessary for primtives run from within a session. - + ## 0.11.3 - + ### New Features @@ -1564,11 +1612,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * There is a new method [update\_tags()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#update_tags) that can be used to update the `job_tags` of a job. * If `instance` is provided as parameter to [qiskit\_ibm\_runtime.QiskitRuntimeService](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service), then this is used as a filter in `QiskitRuntimeService.backends()`. If `instance` is not recognized as one of the provider instances, an exception will be raised. Previously, we only issued a warning. - + ## 0.11.2 - + ### New Features @@ -1589,28 +1637,28 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper options.simulator.seed_simulator = 42 ``` - + ### Bug Fixes * Fixed infinite recursion when attempting to deepcopy an IBMBackend. Added a method `qiskit_ibm_runtime.IBMBackend.deepcopy()`. * Fixed an issue where circuit metadata was not being serialized correctly resulting in a type error. - + ## 0.11.1 - + ### Deprecation Notes * In [qiskit\_ibm\_runtime.RuntimeJob.metrics()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#metrics), the bss field will be replaced by usage. - + ## 0.11.0 - + ### New Features @@ -1630,59 +1678,59 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper options.simulator = {"coupling_map": CouplingMap.from_line(10)} ``` - + ### Upgrade Notes * A default session is no longer open for you if you pass a backend name or backend instance to [qiskit\_ibm\_runtime.Sampler](/docs/api/qiskit-ibm-runtime/sampler) or [qiskit\_ibm\_runtime.Estimator](/docs/api/qiskit-ibm-runtime/estimator) constructors. The primitive will instead run without a session. In addition, you should now use the `backend` parameter to pass a backend name or instance instead of the `session` parameter (which can continue to be used to pass a session). * The first parameter of the [qiskit\_ibm\_runtime.Sampler](/docs/api/qiskit-ibm-runtime/sampler) and [qiskit\_ibm\_runtime.Estimator](/docs/api/qiskit-ibm-runtime/estimator) constructors is now `backend` instead of `session`. - + ### Deprecation Notes * Passing a backend name or backend instance to the `session` parameter when initializing a [qiskit\_ibm\_runtime.Sampler](/docs/api/qiskit-ibm-runtime/sampler) or [qiskit\_ibm\_runtime.Estimator](/docs/api/qiskit-ibm-runtime/estimator) has been deprecated. Please use the `backend` parameter instead. You can continue to pass a session using the `session` parameter. - + ## 0.10.0 - + ### New Features * Python 3.11 is now supported. - + ### Upgrade Notes * Added error messages in case the user defines unsupported values for ‘max\_execution\_time’. Previously, this validation was done on the server side. - + ### Bug Fixes * Added deserialization of the params of RuntimeJob.inputs. Previously, the circuits were returned in serialized format. Fixes issue [#829](https://github.com/Qiskit/qiskit-ibm-runtime/issues/829). * Allow for users to retrieve all backends even if one of the backends has a missing configuration. The backend without a configuration will not be returned. - + ## 0.9.4 - + ### New Features * Added methods to validate input options to `transpilation` and `environment` options. - + ### Upgrade Notes * When constructing a backend `qiskit.transpiler.Target`, faulty qubits and gates from the backend configuration will be filtered out. - + ### Deprecation Notes @@ -1694,41 +1742,41 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper Within `RuntimeOptions` `backend_name` is no longer supported. Please use `backend` instead. - + ### Bug Fixes * Fixed a bug where retrieving a job from a backend without `noise_model` or `seed_simulator` options would result in a key error. - + ## 0.9.3 - + ### Upgrade Notes * Added error messages in case the user defines unsupported values for ‘optimization\_level’ or for ‘resilience\_level’. Added validation checking for options given as input to `resilience`. Previously, this validation was done on the server side. By adding them on the client side, response will be much faster upon failure. The environment variable `QISKIT_RUNTIME_SKIP_OPTIONS_VALIDATION` is used to control validation. If set, validation will be skipped. * Backend configurations are no longer loaded when [QiskitRuntimeService](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service) is initialized. Instead, the configuration is only loaded and cached during [get\_backend()](/docs/api/qiskit-ibm-runtime/0.29/qiskit-runtime-service#get_backend) and [backends()](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends). - + ### Bug Fixes * When creating an Option object and passing an input option to `resilience_options`, this option was included in `resilience_options`, but the other, default options were removed. This was fixed, so now inputs are handled correctly, like other option types. - + ## 0.9.2 - + ### New Features * Added a new argument called `session_time` to the program\_run method and `qiskit_ibm_runtime.RuntimeOptions`. Now values entered by the user for session `max_time` will be sent to the server side as `session_time`. This allows users to specify different values for session `max_time` and `max_execution_time`. * Added the method [target\_history()](/docs/api/qiskit-ibm-runtime/ibm-backend#target_history). This method is similar to [target()](/docs/api/qiskit-ibm-runtime/ibm-backend#target). The difference is that the new method enables the user to pass a datetime parameter, to retrieve historical data from the backend. - + ### Upgrade Notes @@ -1736,7 +1784,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * If a job is returned without a backend, retrieving the backend through [qiskit\_ibm\_runtime.RuntimeJob.backend()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#backend) will re-retrieve data from the server and attempt to update the backend. Additionally, `job_id` and `backend`, which were deprecated attributes of [qiskit\_ibm\_runtime.RuntimeJob](/docs/api/qiskit-ibm-runtime/0.41/runtime-job) have now been removed. * Added a user warning when the user passes an option that is not supported in Options. - + ### Bug Fixes @@ -1745,11 +1793,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * If an instance is passed in to [qiskit\_ibm\_runtime.QiskitRuntimeService.get\_backend()](/docs/api/qiskit-ibm-runtime/0.29/qiskit-runtime-service#get_backend) and then the backend is used in a session, all jobs within the session will be run from the original instance passed in. * Removed additional decomposition of `BlueprintCircuit`s in the JSON encoder. This was introduced as a bugfix, but has since been fixed. Still doing the decomposition led to possible problems if the decomposed circuit was not in the correct basis set of the backend anymore. - + ## 0.9.1 - + ### Upgrade Notes @@ -1767,47 +1815,47 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper name = "my_account",) ``` - + ### Deprecation Notes * `backend` is no longer a supported option when using [qiskit\_ibm\_runtime.Session.run()](/docs/api/qiskit-ibm-runtime/0.29/session#run). Sessions do not support multiple cross backends. Additionally, an exception will be raised if a backend passed in through options does not match the original session backend in an active session. - + ### Bug Fixes * `ECRGate` and `CZGate` mappings have been added to the `Target` constructor to fix a tranpile bug. - + ### Other Notes * Since error messages from a failing job may be long, we shortened them so that they begin from the last `Traceback` in the message. - + ## 0.9.0 - + ### Upgrade Notes * Changed the default values for `optimization_level` and for `resilience_level` in `qiskit_ibm_runtime.Options`. If their values are defined by the user, they are not modified. If not set, if the backend is a noiseless simulator then `optimization_level` is set to 1 and `resilience_level` is set to 0; Otherwise, they are be set to 3 and 1 respectively. * [session\_id()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#session_id) and [tags()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#tags) were added for an easy way to return the session\_id and job\_tags of a job. - + ### Bug Fixes * Fixed a bug where jobs that did not run before a session closes are not actually run as a part of that session. Jobs should run as a part of a session even if that session is closed by the exit of the context manager. * Fixes the issue wherein submitting a large job fails due to write operation timeout. - + ## 0.8.0 - + ### New Features @@ -1815,29 +1863,29 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Advanced resilience options can now be set under `options.resilience`. See `qiskit_ibm_runtime.options.ResilienceOptions` for all available options. * You can now specify a pair of result decoders for the `result_decoder` parameter of [qiskit\_ibm\_runtime.QiskitRuntimeService.run()](/docs/api/qiskit-ibm-runtime/0.29/qiskit-runtime-service#run) method. If a pair is specified, the first one is used to decode interim results and the second the final results. - + ### Upgrade Notes * The default `resilience_level` option for has been changed from 0 to 1. In addition, the default `optimization_level` option has been changed from 1 to 3. - + ### Deprecation Notes * The transpilation options `translation_method` and `timing_constraints` have been deprecated. - + ### Bug Fixes * If a [qiskit\_ibm\_runtime.IBMBackend](/docs/api/qiskit-ibm-runtime/ibm-backend) instance is passed to the [qiskit\_ibm\_runtime.Session](/docs/api/qiskit-ibm-runtime/session) constructor, the service used to initialize the `IBMBackend` instance is used for the session instead of the default account service. - + ## 0.7.0 - + ### New Features @@ -1845,13 +1893,13 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * The [qiskit\_ibm\_runtime.options.EnvironmentOptions](/docs/api/qiskit-ibm-runtime/options-environment-options) class now accepts a `callback` parameter. This parameter can be used to stream the interim and final results of the primitives. * The `qiskit_ibm_runtime.Options` class now accepts `max_execution_time` as a first level option and `job_tags` as an option under `environment`. `qiskit_ibm_runtime.RuntimeOptions` has also been updated to include these two parameters. - + ### Upgrade Notes * This version of qiskit-ibm-runtime requires qiskit-terra version 0.22 or higher. The `requirements.txt` file has been updated accordingly. - + ### Deprecation Notes @@ -1859,7 +1907,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Passing `instance` parameter to the [qiskit\_ibm\_runtime.QiskitRuntimeService.run()](/docs/api/qiskit-ibm-runtime/0.29/qiskit-runtime-service#run) has been deprecated. Instead, you can pass the `instance` parameter inside the `options` parameter. * Passing `job_tags` and `max_execution_time` as parameters to [qiskit\_ibm\_runtime.QiskitRuntimeService](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service) has been deprecated. Please pass them inside `options`. - + ### Bug Fixes @@ -1869,7 +1917,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper ## 0.7.0rc2 - + ### Upgrade Notes @@ -1877,7 +1925,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * [Sampler](/docs/api/qiskit-ibm-runtime/sampler) is updated to return `SamplerResult` with `SamplerResult.quasi_dists` as a list of `QuasiDistrbution`. It used to set a list of `dict` as `SamplerResult.quasi_dists`, but it did not follow the design of `SamplerResult`. * The [RuntimeJob](/docs/api/qiskit-ibm-runtime/0.41/runtime-job) class is now a subclass of `qiskit.providers.Job`. - + ### Deprecation Notes @@ -1888,13 +1936,13 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper ## 0.7.0rc1 - + ### Prelude There are significant changes to how primitives are invoked within a session, and the options available to the primitives. Please review the rest of the release notes and the tutorials for full information. - + ### New Features @@ -1953,7 +2001,7 @@ There are significant changes to how primitives are invoked within a session, an * The [qiskit\_ibm\_runtime.QiskitRuntimeService](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service) `channel` can now be stored as an environment variable, `QISKIT_IBM_CHANNEL`. This way, when using Runtime Primitives, the service does not have to be instantiated manually and can instead be created directly from environment variables. - + ### Upgrade Notes @@ -1976,7 +2024,7 @@ There are significant changes to how primitives are invoked within a session, an * Since some accounts have many runtime programs, caching a list of all programs on the first call of `programs()` has been removed. Instead, programs will only be cached up to the `limit` given, which has a default value of 20. - + ### Deprecation Notes @@ -1994,17 +2042,17 @@ There are significant changes to how primitives are invoked within a session, an options.transpilation.skip_transpilation = True ``` - + ### Bug Fixes * Fixes issue [#428](https://github.com/Qiskit/qiskit-ibm-runtime/issues/428) by raising the minimum required `qiskit-terra` version to `0.21.0`, since latest version of `qiskit-ibm-runtime` is not compatible with `0.20.0` or earlier of `qiskit-terra`. - + ## 0.6.0 - + ### Upgrade Notes @@ -2021,17 +2069,17 @@ There are significant changes to how primitives are invoked within a session, an * `IBMRuntimeService` class which was deprecated earlier is now removed. Use [QiskitRuntimeService](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service) class going forward. - + ## 0.5.0 - + ### Prelude This release leverages the API and Queue enhancements to become more runtime session aware. As a result when using the primitives (sampler and estimator), runtime jobs in the same session will skip to the front of the queue, thereby speeding up the runtime session, once it has started. - + ### New Features @@ -2044,7 +2092,7 @@ This release leverages the API and Queue enhancements to become more runtime ses backend.service # QiskitRuntimeService instance used to instantiate the backend ``` - + ### Upgrade Notes @@ -2101,11 +2149,11 @@ This release leverages the API and Queue enhancements to become more runtime ses * [qubit\_properties()](/docs/api/qiskit-ibm-runtime/ibm-backend#qubit_properties) will now return a sub class of `QubitProperties` called `IBMQubitProperties` and will expose anharmonicity in addition to the t1, t2 and frequency already exposed by the `QubitProperties` class. - + ## 0.4.0 - + ### Upgrade Notes @@ -2190,55 +2238,55 @@ This release leverages the API and Queue enhancements to become more runtime ses result = sampler(circuit_indices=[0], ...) ``` - + ### Deprecation Notes * `IBMRuntimeService`, `IBMEstimator` and `IBMSampler` classes have been deprecated and will be removed in a future release. Use [QiskitRuntimeService](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service), [Estimator](/docs/api/qiskit-ibm-runtime/estimator) and [Sampler](/docs/api/qiskit-ibm-runtime/sampler) classes instead. See upgrade notes section for a detailed explanation with examples. - + ## 0.3.0 - + ### Upgrade Notes * A new parameter `channel` has now been added to `qiskit_ibm_runtime.IBMRuntimeService` class and also to methods like `save_account()`, `saved_accounts()` and `delete_account()`. It can be set to `ibm_quantum` or `ibm_cloud` to authenticate to either of the two different channels through which Qiskit Runtime service is currently offered. `channel` replaces the `auth` parameter which has now been deprecated. - + ### Deprecation Notes * The `auth` parameter to `qiskit_ibm_runtime.IBMRuntimeService` class and also to methods like `save_account()`, `saved_accounts()` and `delete_account()` has now been deprecated and will be removed in a future release. Please use the new `channel` parameter instead. - + ### Bug Fixes * Fixed [#291](https://github.com/Qiskit/qiskit-ibm-runtime/issues/219) where passing a single `QuantumCircuit` to sampler or estimator primitives was throwing an error. - + ## 0.2.0 - + ### New Features * `qiskit_ibm_runtime.IBMEstimator` and `qiskit_ibm_runtime.IBMSampler` classes now allow you to easily interact with the `estimator` and `sampler` primitive programs. Refer to the examples in the respective class doc strings to learn more about how to use them. - + ### Bug Fixes * Fixed a bug where [qiskit\_ibm\_runtime.RuntimeJob.wait\_for\_final\_state()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#wait_for_final_state) would result in a NoneType error if the job already completed and [qiskit\_ibm\_runtime.RuntimeJob.status()](/docs/api/qiskit-ibm-runtime/0.41/runtime-job#status) was called beforehand. - + ## 0.1.0 - + ### Prelude @@ -2248,13 +2296,13 @@ This new package is built upon the work already done in qiskit.providers.ibmq.ru qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby you have to install it separately using `pip install qiskit-ibm-runtime`. - + ### New Features * `qiskit_ibm_runtime.IBMRuntimeService.least_busy()` will now allow you find the least busy backend. - + ### Upgrade Notes @@ -2315,35 +2363,35 @@ qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby yo * Final result is also streamed now after interim results when you specify a `callback` to `qiskit_ibm_runtime.IBMRuntimeService.run()` or [qiskit\_ibm\_runtime.RuntimeJob.stream\_results()](/docs/api/qiskit-ibm-runtime/0.30/runtime-job#stream_results). - + ## 0.1.0rc2 - + ### New Features * For convenience, you can now set the `IBM Cloud service name` as a value for the account `instance` parameter. If you choose to set the name instead of the `CRN`, the initialization time of the `qiskit_ibm_runtime.IBMRuntimeService` class is slightly higher because the required `CRN` value is internally resolved via IBM Cloud APIs. - + ### Bug Fixes * [qiskit\_ibm\_runtime.utils.json.RuntimeEncoder](/docs/api/qiskit-ibm-runtime/runtime-encoder) and [qiskit\_ibm\_runtime.utils.json.RuntimeDecoder](/docs/api/qiskit-ibm-runtime/runtime-decoder) have been updated to handle instances of the Instruction class. * Fixed an issue where numpy ndarrays with object types could not be serialized. [qiskit\_ibm\_runtime.utils.json.RuntimeEncoder](/docs/api/qiskit-ibm-runtime/runtime-encoder) and [qiskit\_ibm\_runtime.utils.json.RuntimeDecoder](/docs/api/qiskit-ibm-runtime/runtime-decoder) have been updated to handle these ndarrays. - + ## 0.1.0rc1 - + ### New Features * You can now pass `instance` parameter in the hub/group/project format to `qiskit_ibm_runtime.IBMRuntimeService.jobs()` to filter jobs. Currently only supported for legacy authentication. * You can now use the [qiskit\_ibm\_runtime.RuntimeJob.interim\_results()](/docs/api/qiskit-ibm-runtime/0.30/runtime-job#interim_results) method to retrieve runtime program interim results. Note that interim results will only be available for up to two days. - + ### Upgrade Notes @@ -2351,7 +2399,7 @@ qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby yo * When uploading a program with `qiskit_ibm_runtime.IBMRuntimeService.upload_program()`, the program description is now optional. * When printing programs with `qiskit_ibm_runtime.IBMRuntimeService.pprint_programs()`, `backend_requirements` will now be listed. - + ### Bug Fixes diff --git a/docs/api/qiskit-ibm-runtime/results-item-metadata.mdx b/docs/api/qiskit-ibm-runtime/results-item-metadata.mdx new file mode 100644 index 00000000000..5b0229e2623 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/results-item-metadata.mdx @@ -0,0 +1,18 @@ +--- +title: ItemMetadata (latest version) +description: API reference for qiskit_ibm_runtime.results.ItemMetadata in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.results.ItemMetadata +--- + +# ItemMetadata + + + Bases: `object` + + Metadata about the execution of a single item of a quantum program. + + ## Methods + + diff --git a/docs/api/qiskit-ibm-runtime/results-noise-learner-v3-result.mdx b/docs/api/qiskit-ibm-runtime/results-noise-learner-v3-result.mdx new file mode 100644 index 00000000000..b6c7db8feaf --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/results-noise-learner-v3-result.mdx @@ -0,0 +1,70 @@ +--- +title: NoiseLearnerV3Result (latest version) +description: API reference for qiskit_ibm_runtime.results.NoiseLearnerV3Result in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.results.NoiseLearnerV3Result +--- + +# NoiseLearnerV3Result + + + Bases: `object` + + Results of a noise learner experiment for a single instruction, in Pauli Lindblad format. + + An error channel Pauli Lindblad $E$ acting on a state $\rho$ can be expressed in Pauli Lindblad format as $E(\rho) = e^{\sum_j r_j D_{P_j}}(\rho)$, $P_j$ are Pauli operators (or “generators”) and $r_j$ are floats (or “rates”) \[1]. The equivalent Pauli error channel can be constructed as a composition of single-Pauli channel terms + +$$ +E = e^{\sum_j r_j D_{P_j}} = \prod_j e^{r_j D_{P_j}} += prod_j \left( (1 - p_j) S_I + p_j S_{P_j} \right) +$$ + + where $p_j = \frac12 - \frac12 e^{-2 r_j}$. + + Some strategies for learning noise channels, such as the Pauli Lindblad learning protocol in Ref. \[1], produce degenerate terms, meaning that they learn products of rates as opposed to individual rates. + + **References** + + 1. E. van den Berg, Z. Minev, A. Kandala, K. Temme, *Probabilistic error cancellation with sparse Pauli–Lindblad models on noisy quantum processors*, Nature Physics volume 19, pages 1116–1121 (2023). [arXiv:2201.09866 \[quant-ph\]](https://arxiv.org/abs/2201.09866) + + ## Methods + + ### \_\_len\_\_ + + + **Return type** + + int + + + ### from\_generators + + + Construct from a collection of generators and rates. + + **Parameters** + + * **generators** (*Iterable\[QubitSparsePauliList]*) – The generators describing the noise channel in the Pauli Lindblad format. This is a list of [`QubitSparsePauliList`](/docs/api/qiskit/qiskit.quantum_info.QubitSparsePauliList) objects, as opposed to a list of [`QubitSparsePauli`](/docs/api/qiskit/qiskit.quantum_info.QubitSparsePauli), in order to capture degeneracies present within the model. + * **rates** (*Iterable\[float]*) – The rates of the individual generators. The `i`-th element in this list represents the rate of all the Paulis in the `i`-th generator. + * **rates\_std** (*Iterable\[float] | None*) – The standard deviation associated to the rates of the generators. If `None`, it sets all the standard deviations to `0`. + * **metadata** (*Metadata | None*) – A dictionary of metadata. + + **Return type** + + [NoiseLearnerV3Result](#qiskit_ibm_runtime.results.NoiseLearnerV3Result "qiskit_ibm_runtime.results.NoiseLearnerV3Result") + + + ### to\_pauli\_lindblad\_map + + + Transform this result to a Pauli Lindblad map. + + The Pauli terms in the generators are indexed in physical qubit order, that is, the order of the qubits in the outer-most circuit. + + **Return type** + + [*PauliLindbladMap*](/docs/api/qiskit/qiskit.quantum_info.PauliLindbladMap) + + + diff --git a/docs/api/qiskit-ibm-runtime/results-noise-learner-v3-results.mdx b/docs/api/qiskit-ibm-runtime/results-noise-learner-v3-results.mdx new file mode 100644 index 00000000000..2cdee115e15 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/results-noise-learner-v3-results.mdx @@ -0,0 +1,67 @@ +--- +title: NoiseLearnerV3Results (latest version) +description: API reference for qiskit_ibm_runtime.results.NoiseLearnerV3Results in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.results.NoiseLearnerV3Results +--- + +# NoiseLearnerV3Results + + + Bases: `object` + + The results of a noise learner experiment. + + **Parameters** + + * **data** (*Iterable\[*[*NoiseLearnerV3Result*](results-noise-learner-v3-result "qiskit_ibm_runtime.results.NoiseLearnerV3Result")*]*) – The data in this result object. + * **metadata** (*Metadata | None*) – A dictionary of metadata. + + ## Methods + + ### \_\_getitem\_\_ + + + **Parameters** + + **idx** (*int*) + + **Return type** + + [*NoiseLearnerV3Result*](results-noise-learner-v3-result "qiskit_ibm_runtime.results.noise_learner_v3.NoiseLearnerV3Result") + + + ### \_\_len\_\_ + + + **Return type** + + int + + + ### to\_dict + + + Convert to dictionary from `InjectNoise.ref` to `PauliLindbladMap` objects. + + This function iterates over a sequence of instructions, extracts the `ref` value from the inject noise annotation of each instruction, and returns a dictionary mapping those refs to the corresponding noise data (in `PauliLindbladMap` format) stored in this [`NoiseLearnerV3Results`](#qiskit_ibm_runtime.results.NoiseLearnerV3Results "qiskit_ibm_runtime.results.NoiseLearnerV3Results") object. + + **Parameters** + + * **instructions** (*Sequence\[CircuitInstruction]*) – The instructions to get the refs from. + * **require\_refs** (*bool*) – Whether to raise if some of the instructions do not own an inject noise annotation. If `False`, all the instructions that do not contain an inject noise annotations are simply skipped when constructing the returned dictionary. + + **Raises** + + * **ValueError** – If `instructions` contains a number of elements that is not equal to the item in this [`NoiseLearnerV3Results`](#qiskit_ibm_runtime.results.NoiseLearnerV3Results "qiskit_ibm_runtime.results.NoiseLearnerV3Results") object. + * **ValueError** – If some of the instructions do not contain a box. + * **ValueError** – If multiple instructions have the same `ref`. + * **ValueError** – If some of the instructions have no inject noise annotation and `require_refs` if `True`. + + **Return type** + + dict\[int, PauliLindbladMap] + + + diff --git a/docs/api/qiskit-ibm-runtime/results-quantum-program-item-result.mdx b/docs/api/qiskit-ibm-runtime/results-quantum-program-item-result.mdx new file mode 100644 index 00000000000..21106bf5741 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/results-quantum-program-item-result.mdx @@ -0,0 +1,85 @@ +--- +title: QuantumProgramItemResult (latest version) +description: API reference for qiskit_ibm_runtime.results.QuantumProgramItemResult in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.results.QuantumProgramItemResult +--- + +# QuantumProgramItemResult + + + Bases: `MutableMapping` + + A container to store results for a single item of a `QuantumProgram`. + + **Parameters** + + * **result** (*dict\[str, np.ndarray]*) – A dictionary with array-valued data. + * **metadata** ([*ItemMetadata*](results-item-metadata "qiskit_ibm_runtime.results.ItemMetadata") *| None*) – The metadata produced for the individual item. + + ## Methods + + ### \_\_getitem\_\_ + + + **Parameters** + + **key** (*str*) + + **Return type** + + np.ndarray + + + ### \_\_len\_\_ + + + **Return type** + + int + + + ### clear + + + + ### get + + + + ### items + + + + ### keys + + + + ### pop + + + If key is not found, d is returned if given, otherwise KeyError is raised. + + + ### popitem + + + as a 2-tuple; but raise KeyError if D is empty. + + + ### setdefault + + + + ### update + + + If E present and has a .keys() method, does: for k in E: D\[k] = E\[k] If E present and lacks .keys() method, does: for (k, v) in E: D\[k] = v In either case, this is followed by: for k, v in F.items(): D\[k] = v + + + ### values + + + + diff --git a/docs/api/qiskit-ibm-runtime/results-quantum-program-result.mdx b/docs/api/qiskit-ibm-runtime/results-quantum-program-result.mdx new file mode 100644 index 00000000000..285fbe3b363 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/results-quantum-program-result.mdx @@ -0,0 +1,77 @@ +--- +title: QuantumProgramResult (latest version) +description: API reference for qiskit_ibm_runtime.results.QuantumProgramResult in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.results.QuantumProgramResult +--- + +# QuantumProgramResult + + + Bases: `object` + + A container to store results from executing a `QuantumProgram`. + + **Parameters** + + * **data** (*Sequence\[dict\[str, np.ndarray] |* [*QuantumProgramItemResult*](results-quantum-program-item-result "qiskit_ibm_runtime.results.QuantumProgramItemResult")*]*) – A list of dictionaries with array-valued data. + * **metadata** (*Metadata | None*) – A dictionary of metadata. + * **passthrough\_data** (*DataTree | None*) – Arbitrary nested data passed through execution without modification. + + ## Attributes + + ### timing + + + Execution timing information of these results. + + A single executor job may be broken up into chunks of work that are executed serially. This property stores information about their timing. Most notably, for each chunk of execution, a start and stop timestamp are provided that bound the window in which the data was collected. + + To draw the timings for a single result: + + ```python + job.result().timing.draw() + ``` + + To draw the timings for several results on one plot: + + ```python + from qiskit_ibm_runtime.visualization import draw_chunk_timings + + draw_chunk_timings( + job1.result().timing, + job2.result().timing, + names=["job 1", "job 2"], + common_start=True, + ) + ``` + + **Returns** + + A `ChunkTiming` collection. + + + ## Methods + + ### \_\_getitem\_\_ + + + **Parameters** + + **idx** (*int*) + + **Return type** + + [*QuantumProgramItemResult*](results-quantum-program-item-result "qiskit_ibm_runtime.results.quantum_program.QuantumProgramItemResult") + + + ### \_\_len\_\_ + + + **Return type** + + int + + + diff --git a/docs/api/qiskit-ibm-runtime/results.mdx b/docs/api/qiskit-ibm-runtime/results.mdx new file mode 100644 index 00000000000..ff36c500d6e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/results.mdx @@ -0,0 +1,24 @@ +--- +title: results (latest version) +description: API reference for qiskit_ibm_runtime.results in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_runtime.results +--- + + + + + +# Result classes + +`qiskit_ibm_runtime.results` + +| | | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| [`NoiseLearnerV3Result`](results-noise-learner-v3-result "qiskit_ibm_runtime.results.NoiseLearnerV3Result") | Results of a noise learner experiment for a single instruction, in Pauli Lindblad format. | +| [`NoiseLearnerV3Results`](results-noise-learner-v3-results "qiskit_ibm_runtime.results.NoiseLearnerV3Results") | The results of a noise learner experiment. | +| [`ItemMetadata`](results-item-metadata "qiskit_ibm_runtime.results.ItemMetadata") | Metadata about the execution of a single item of a quantum program. | +| [`QuantumProgramResult`](results-quantum-program-result "qiskit_ibm_runtime.results.QuantumProgramResult") | A container to store results from executing a `QuantumProgram`. | +| [`QuantumProgramItemResult`](results-quantum-program-item-result "qiskit_ibm_runtime.results.QuantumProgramItemResult") | A container to store results for a single item of a `QuantumProgram`. | + diff --git a/docs/api/qiskit-ibm-runtime/runtime-decoder.mdx b/docs/api/qiskit-ibm-runtime/runtime-decoder.mdx index 083d69b358b..164d987d8ef 100644 --- a/docs/api/qiskit-ibm-runtime/runtime-decoder.mdx +++ b/docs/api/qiskit-ibm-runtime/runtime-decoder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeDecoder # RuntimeDecoder - + Bases: `JSONDecoder` JSON Decoder used by runtime service. @@ -34,13 +34,23 @@ python_api_name: qiskit_ibm_runtime.RuntimeDecoder ### decode - - Return the Python representation of `s` (a `str` instance containing a JSON document). + + Return the Python representation of a string `s` containing a JSON document. + + Applies additional conversion for executor program and NLV3’s `params`, preserving the superclass `decode()` output in all other cases. + + **Parameters** + + **s** (*str*) – a string containing a JSON document. + + **Return type** + + *Any* ### object\_hook - + Called to decode object. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/runtime-encoder.mdx b/docs/api/qiskit-ibm-runtime/runtime-encoder.mdx index 6b1ef0782ff..aa02eaa0a7f 100644 --- a/docs/api/qiskit-ibm-runtime/runtime-encoder.mdx +++ b/docs/api/qiskit-ibm-runtime/runtime-encoder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeEncoder # RuntimeEncoder - + Bases: `JSONEncoder` JSON Encoder used by runtime service. @@ -45,22 +45,8 @@ python_api_name: qiskit_ibm_runtime.RuntimeEncoder ### default - - Implement this method in a subclass such that it returns a serializable object for `o`, or calls the base implementation (to raise a `TypeError`). - - For example, to support arbitrary iterators, you could implement default like this: - - ```python - def default(self, o): - try: - iterable = iter(o) - except TypeError: - pass - else: - return list(iterable) - # Let the base class default method raise the TypeError - return JSONEncoder.default(self, o) - ``` + + Return a serializable object for `obj`. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/runtime-job-v2.mdx b/docs/api/qiskit-ibm-runtime/runtime-job-v2.mdx index 4c671642bdf..268760885e6 100644 --- a/docs/api/qiskit-ibm-runtime/runtime-job-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/runtime-job-v2.mdx @@ -8,13 +8,11 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 # RuntimeJobV2 - + Bases: [`BasePrimitiveJob`](/docs/api/qiskit/qiskit.primitives.BasePrimitiveJob)\[[`PrimitiveResult`](/docs/api/qiskit/qiskit.primitives.PrimitiveResult), `Literal`\[‘INITIALIZING’, ‘QUEUED’, ‘RUNNING’, ‘CANCELLED’, ‘DONE’, ‘ERROR’]], `BaseRuntimeJob` Representation of a runtime V2 primitive execution. - RuntimeJob constructor. - **Parameters** * **backend** (*Backend*) – The backend instance used to run this job. @@ -30,6 +28,24 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 * **version** (*int | None*) – Primitive version. * **private** (*bool | None*) – Marks job as private. + Initializes the primitive job. + + **Parameters** + + * **job\_id** (*str*) – A unique id in the context of the primitive used to run the job. + * **kwargs** – Any key value metadata to associate with this job. + * **backend** (*Backend*) + * **api\_client** (*RuntimeClient*) + * **program\_id** (*str*) + * **service** ([*qiskit\_runtime\_service.QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) + * **creation\_date** (*str | None*) + * **result\_decoder** (*type\[ResultDecoder] | Sequence\[type\[ResultDecoder]] | None*) + * **image** (*str | None*) + * **session\_id** (*str | None*) + * **tags** (*list | None*) + * **version** (*int | None*) + * **private** (*bool | None*) + ## Attributes ### ERROR @@ -79,7 +95,11 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### primitive\_id - Primitive name. :returns: Primitive this job is for. + Primitive name. + + **Returns** + + Primitive this job is for. ### private @@ -122,7 +142,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### backend - + Return the backend where this job was executed. Retrieve data again if backend is None. **Raises** @@ -140,7 +160,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### cancel - + Cancel the job. **Raises** @@ -155,7 +175,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -165,7 +185,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### done - + Return whether the job has successfully run. **Return type** @@ -175,7 +195,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### error\_message - + Returns the reason if the job failed. **Returns** @@ -189,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### errored - + Return whether the job has failed. **Return type** @@ -199,7 +219,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -219,7 +239,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### logs - + Return job logs. @@ -241,7 +261,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### metrics - + Return job metrics. **Returns** @@ -263,7 +283,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### properties - + Return the backend properties for this job. **Parameters** @@ -281,17 +301,25 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### result - + Return the results of the job. **Parameters** * **timeout** (*float | None*) – Number of seconds to wait for job. + * **decoder** (*type\[ResultDecoder] | None*) – A `ResultDecoder` subclass used to decode job results. + * **poll\_interval** (*float | None*) – + + Number of seconds to wait between successive queries of the job’s status. of the job. + + * For non-session jobs, the default is `500ms`, and the floor value is `100ms`. + * For session jobs, the default and the floor value are `100ms`. + **Returns** - Runtime job result. + Runtime job result (post-processed if applicable). **Raises** @@ -306,7 +334,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### running - + Return whether the job is actively running. **Return type** @@ -316,7 +344,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### status - + Return the status of the job. **Returns** @@ -330,7 +358,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### update\_tags - + Update the tags associated with this job. **Parameters** @@ -352,7 +380,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### usage - + Return job usage in seconds. **Return type** @@ -362,12 +390,19 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### wait\_for\_final\_state - + Poll for the job status from the API until the status is in a final state. **Parameters** - **timeout** (*float | None*) – Seconds to wait for the job. If `None`, wait indefinitely. + * **timeout** (*float | None*) – Seconds to wait for the job. If `None`, wait indefinitely. + + * **poll\_interval** (*float | None*) – + + Number of seconds to wait between querying the service for the status of the job. + + * For non-session jobs, the default is `500ms`, and the floor value is `100ms`. + * For session jobs, the default and the floor value is `100ms`. **Raises** diff --git a/docs/api/qiskit-ibm-runtime/runtime-service.mdx b/docs/api/qiskit-ibm-runtime/runtime-service.mdx index 1d6381a4b71..11b58ba2343 100644 --- a/docs/api/qiskit-ibm-runtime/runtime-service.mdx +++ b/docs/api/qiskit-ibm-runtime/runtime-service.mdx @@ -151,18 +151,18 @@ logging.getLogger('qiskit_ibm_runtime').setLevel(logging.WARNING) ## Classes -| | | -| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- | -| [`QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") | Class for interacting with the Qiskit Runtime service. | -| [`Estimator`](estimator "qiskit_ibm_runtime.Estimator") | alias of [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.estimator.EstimatorV2") | -| [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.EstimatorV2") | Class for interacting with Qiskit Runtime Estimator primitive service. | -| [`Sampler`](sampler "qiskit_ibm_runtime.Sampler") | alias of [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.sampler.SamplerV2") | -| [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.SamplerV2") | Class for interacting with Qiskit Runtime Sampler primitive service. | -| [`Executor`](executor "qiskit_ibm_runtime.Executor") | Class for running `QuantumProgram`s. | -| [`Session`](session "qiskit_ibm_runtime.Session") | Class for creating a Qiskit Runtime session. | -| [`Batch`](batch "qiskit_ibm_runtime.Batch") | Class for running jobs in batch execution mode. | -| [`IBMBackend`](ibm-backend "qiskit_ibm_runtime.IBMBackend") | Backend class interfacing with an IBM Quantum backend. | -| [`RuntimeJobV2`](runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2") | Representation of a runtime V2 primitive execution. | -| [`RuntimeEncoder`](runtime-encoder "qiskit_ibm_runtime.RuntimeEncoder") | JSON Encoder used by runtime service. | -| [`RuntimeDecoder`](runtime-decoder "qiskit_ibm_runtime.RuntimeDecoder") | JSON Decoder used by runtime service. | +| | | +| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | +| [`QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") | Class for interacting with the Qiskit Runtime service. | +| [`Estimator`](estimator "qiskit_ibm_runtime.Estimator") | alias of [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.estimator.EstimatorV2") | +| [`EstimatorV2`](estimator-v2 "qiskit_ibm_runtime.EstimatorV2") | Class for interacting with Qiskit Runtime Estimator primitive service. | +| [`Sampler`](sampler "qiskit_ibm_runtime.Sampler") | alias of [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.sampler.SamplerV2") | +| [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.SamplerV2") | Class for interacting with Qiskit Runtime Sampler primitive service. | +| [`Executor`](executor "qiskit_ibm_runtime.Executor") | Class for running [`QuantumProgram`](quantum-program-quantum-program "qiskit_ibm_runtime.quantum_program.QuantumProgram")\s. | +| [`Session`](session "qiskit_ibm_runtime.Session") | Class for creating a Qiskit Runtime session. | +| [`Batch`](batch "qiskit_ibm_runtime.Batch") | Class for running jobs in batch execution mode. | +| [`IBMBackend`](ibm-backend "qiskit_ibm_runtime.IBMBackend") | Backend class interfacing with an IBM Quantum backend. | +| [`RuntimeJobV2`](runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2") | Representation of a runtime V2 primitive execution. | +| [`RuntimeEncoder`](runtime-encoder "qiskit_ibm_runtime.RuntimeEncoder") | JSON Encoder used by runtime service. | +| [`RuntimeDecoder`](runtime-decoder "qiskit_ibm_runtime.RuntimeDecoder") | JSON Decoder used by runtime service. | diff --git a/docs/api/qiskit-ibm-runtime/sampler-v2.mdx b/docs/api/qiskit-ibm-runtime/sampler-v2.mdx index 6bc9fa2dc3b..6863647a951 100644 --- a/docs/api/qiskit-ibm-runtime/sampler-v2.mdx +++ b/docs/api/qiskit-ibm-runtime/sampler-v2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.SamplerV2 # SamplerV2 - + Bases: `BasePrimitiveV2`\[[`SamplerOptions`](options-sampler-options "qiskit_ibm_runtime.options.sampler_options.SamplerOptions")], `Sampler`, [`BaseSamplerV2`](/docs/api/qiskit/qiskit.primitives.BaseSamplerV2) Class for interacting with Qiskit Runtime Sampler primitive service. @@ -19,8 +19,6 @@ python_api_name: qiskit_ibm_runtime.SamplerV2 The [`run()`](#qiskit_ibm_runtime.SamplerV2.run "qiskit_ibm_runtime.SamplerV2.run") method can be used to submit circuits and parameters to the Sampler primitive. - Initializes the Sampler primitive. - **Parameters** * **mode** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2) *|*[*Session*](session "qiskit_ibm_runtime.session.Session") *|*[*Batch*](batch "qiskit_ibm_runtime.batch.Batch") *| None*) – @@ -33,7 +31,7 @@ python_api_name: qiskit_ibm_runtime.SamplerV2 Refer to the [Qiskit Runtime documentation](/docs/guides/execution-modes) for more information about the `Execution modes`. - * **options** (*dict |* [*SamplerOptions*](options-sampler-options "qiskit_ibm_runtime.options.sampler_options.SamplerOptions") *| None*) – Sampler options, see `SamplerOptions` for detailed description. + * **options** (*dict |* [*SamplerOptions*](options-sampler-options "qiskit_ibm_runtime.options.sampler_options.SamplerOptions") *| None*) – Sampler options, see [`qiskit_ibm_runtime.options.SamplerOptions`](options-sampler-options "qiskit_ibm_runtime.options.SamplerOptions") for detailed description. ## Attributes @@ -50,7 +48,7 @@ python_api_name: qiskit_ibm_runtime.SamplerV2 ### options - Return options + Return options. ### version @@ -61,7 +59,7 @@ python_api_name: qiskit_ibm_runtime.SamplerV2 ### backend - + Return the backend the primitive query will be run on. **Return type** @@ -71,12 +69,12 @@ python_api_name: qiskit_ibm_runtime.SamplerV2 ### run - + Submit a request to the sampler primitive. **Parameters** - * **pubs** (*Iterable\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | Tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | Tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Integral | None]]*) – An iterable of pub-like objects. For example, a list of circuits or tuples `(circuit, parameter_values)`. + * **pubs** (*Iterable\[*[*SamplerPub*](/docs/api/qiskit/qiskit.primitives.SamplerPub) *|*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit) *| tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]]] | tuple\[*[*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)*, Mapping\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str | tuple\[*[*Parameter*](/docs/api/qiskit/qiskit.circuit.Parameter) *| str, ...], \_Buffer | \_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]] | \_NestedSequence\[\_SupportsArray\[*[*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype)*\[Any]]] | bool | int | float | complex | str | bytes | \_NestedSequence\[bool | int | float | complex | str | bytes]], Integral | None]]*) – An iterable of pub-like objects. For example, a list of circuits or tuples `(circuit, parameter_values)`. * **shots** (*int | None*) – The total number of shots to sample for each sampler pub that does not specify its own shots. If `None`, the primitive’s default shots value will be used, which can vary by implementation. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/sampler.mdx b/docs/api/qiskit-ibm-runtime/sampler.mdx index 3779e96e353..aaa2ef0a8f6 100644 --- a/docs/api/qiskit-ibm-runtime/sampler.mdx +++ b/docs/api/qiskit-ibm-runtime/sampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.Sampler # Sampler - + alias of [`SamplerV2`](sampler-v2 "qiskit_ibm_runtime.sampler.SamplerV2") diff --git a/docs/api/qiskit-ibm-runtime/schema-common.mdx b/docs/api/qiskit-ibm-runtime/schema-common.mdx index e20d52314a2..33746a04009 100644 --- a/docs/api/qiskit-ibm-runtime/schema-common.mdx +++ b/docs/api/qiskit-ibm-runtime/schema-common.mdx @@ -20,6 +20,8 @@ Models that provide common functionality. | | | | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| [`QpyDataModel`](ibm-quantum-schemas-common-qpy-data-model "ibm_quantum_schemas.common.QpyDataModel") | QPY-encoded Qiskit objects. | +| [`QpyDataV13ToV17Model`](ibm-quantum-schemas-common-qpy-data-v13-to-v17-model "ibm_quantum_schemas.common.QpyDataV13ToV17Model") | QPY encoded circuit list with restricted version range. | | [`QpyModel`](ibm-quantum-schemas-common-qpy-model "ibm_quantum_schemas.common.QpyModel") | A QPY-encoded quantum circuit. | | [`QpyModelV13ToV16`](ibm-quantum-schemas-common-qpy-model-v13-to-v16 "ibm_quantum_schemas.common.QpyModelV13ToV16") | QPY encoded circuits with restricted version range. | | [`QpyModelV13ToV17`](ibm-quantum-schemas-common-qpy-model-v13-to-v17 "ibm_quantum_schemas.common.QpyModelV13ToV17") | QPY encoded circuits with restricted version range. | diff --git a/docs/api/qiskit-ibm-runtime/session.mdx b/docs/api/qiskit-ibm-runtime/session.mdx index 5bf951fd70f..3eba8c61f18 100644 --- a/docs/api/qiskit-ibm-runtime/session.mdx +++ b/docs/api/qiskit-ibm-runtime/session.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.Session # Session - + Bases: `object` Class for creating a Qiskit Runtime session. @@ -46,8 +46,6 @@ python_api_name: qiskit_ibm_runtime.Session print(f"Counts: {pub_result.data.cr.get_counts()}") ``` - Session constructor. - **Parameters** * **backend** (*BackendV2*) – Instance of `Backend` class. @@ -84,7 +82,7 @@ python_api_name: qiskit_ibm_runtime.Session ### backend - + Return backend for this session. **Returns** @@ -98,7 +96,7 @@ python_api_name: qiskit_ibm_runtime.Session ### cancel - + Cancel all pending jobs in a session. **Return type** @@ -108,7 +106,9 @@ python_api_name: qiskit_ibm_runtime.Session ### close - + + Close the session so new jobs will no longer be accepted. + Close the session so new jobs will no longer be accepted, but existing queued or running jobs will run to completion. The session will be terminated once there are no more pending jobs. **Return type** @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.Session ### details - + Return session details. **Returns** @@ -147,8 +147,10 @@ python_api_name: qiskit_ibm_runtime.Session ### from\_id - - Construct a Session object with a given `session_id`. For example: + + Construct a Session object with a given `session_id`. + + For example: ```python from qiskit_ibm_runtime import QiskitRuntimeService, Session @@ -161,15 +163,15 @@ python_api_name: qiskit_ibm_runtime.Session **Parameters** - * **session\_id** (*str*) – the id of the session to be created. This must be an already existing session id. - - * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – - - instance of the `QiskitRuntimeService` class. + * **session\_id** (*str*) – The id of the session to be created. This must be an already existing session id. + * **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – Instance of the `QiskitRuntimeService` class. If using multiple instances, note that the active cloud instance in the `service` will be replaced with the one that has access to that `session_id`. Please check the [`QiskitRuntimeService`](qiskit-runtime-service "qiskit_ibm_runtime.QiskitRuntimeService") documentation on using multiple instances and the [`active_instance()`](qiskit-runtime-service#active_instance "qiskit_ibm_runtime.QiskitRuntimeService.active_instance") method for checking which is the active instance. + * **use\_fractional\_gates** (*bool*) – Whether or not to allow fractional gates for the backend that is used to create the session. + * **calibration\_id** (*str | None*) – The calibration id for the backend that is used to create the session. - **Raises:** + **Raises** - IBMInputValueError: If given session\_id does not exist. IBMRuntimeError: If the backend of the session is unknown. + * **IBMInputValueError** – If given session\_id does not exist. + * **IBMRuntimeError** – If the backend of the session is unknown. **Returns** @@ -182,7 +184,7 @@ python_api_name: qiskit_ibm_runtime.Session ### status - + Return current session status. **Returns** @@ -202,7 +204,7 @@ python_api_name: qiskit_ibm_runtime.Session ### usage - + Return session usage in seconds. Session usage is the time from when the first job starts until the session goes inactive, is closed, or when its last job completes, whichever happens last. diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-id-to-delay.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-id-to-delay.mdx index 07378759683..e436cff3bf2 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-id-to-delay.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-id-to-delay.mdx @@ -8,12 +8,12 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.ConvertIdToDelay # ConvertIdToDelay - + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) - Convert `qiskit.circuit.library.standard_gates.IGate` to a delay of the corresponding length. + Convert `qiskit.circuit.library.standard_gates.IGate` to a corresponding delay. - Convert [`qiskit.circuit.library.IGate`](/docs/api/qiskit/qiskit.circuit.library.IGate) to a Convert [`qiskit.circuit.Delay`](/docs/api/qiskit/circuit#qiskit.circuit.Delay). + Convert [`qiskit.circuit.library.IGate`](/docs/api/qiskit/qiskit.circuit.library.IGate) to a [`qiskit.circuit.Delay`](/docs/api/qiskit/circuit#qiskit.circuit.Delay) of corresponding length. **Parameters** @@ -91,16 +91,12 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.ConvertIdToDelay ### run - - Run a pass on the DAGCircuit. This is implemented by the pass developer. + + Run the pass on the DAGCircuit. **Parameters** - **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – the dag on which the pass is run. - - **Raises** - - **NotImplementedError** – when this is left unimplemented for a pass. + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) **Return type** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-isa-to-clifford.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-isa-to-clifford.mdx index 44b26571819..9fa35b50437 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-isa-to-clifford.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-isa-to-clifford.mdx @@ -8,12 +8,12 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.ConvertISAToClifford # ConvertISAToClifford - + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) Convert the gates of an ISA circuit to Clifford gates. - ISA circuits only contain Clifford gates from a restricted set or [`qiskit.circuit.library.RZGate`](/docs/api/qiskit/qiskit.circuit.library.RZGate)s by arbitrary angles. To convert them to Clifford circuits, this pass rounds the angle of every [`qiskit.circuit.library.RZGate`](/docs/api/qiskit/qiskit.circuit.library.RZGate) or [`qiskit.circuit.library.RZZGate`](/docs/api/qiskit/qiskit.circuit.library.RZZGate) or [`qiskit.circuit.library.RXGate`](/docs/api/qiskit/qiskit.circuit.library.RXGate) to the closest multiple of pi/2 (or to a random multiple of pi/2 if the angle is unspecified), while it skips every Clifford gate, measurement, and barrier. + ISA circuits only contain Clifford gates from a restricted set or [`qiskit.circuit.library.RZGate`](/docs/api/qiskit/qiskit.circuit.library.RZGate)\s by arbitrary angles. To convert them to Clifford circuits, this pass rounds the angle of every [`qiskit.circuit.library.RZGate`](/docs/api/qiskit/qiskit.circuit.library.RZGate) or [`qiskit.circuit.library.RZZGate`](/docs/api/qiskit/qiskit.circuit.library.RZZGate) or [`qiskit.circuit.library.RXGate`](/docs/api/qiskit/qiskit.circuit.library.RXGate) to the closest multiple of pi/2 (or to a random multiple of pi/2 if the angle is unspecified), while it skips every Clifford gate, measurement, and barrier. ```python import numpy as np @@ -113,16 +113,12 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.ConvertISAToClifford ### run - - Run a pass on the DAGCircuit. This is implemented by the pass developer. + + Run the pass on the DAGCircuit. **Parameters** - **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – the dag on which the pass is run. - - **Raises** - - **NotImplementedError** – when this is left unimplemented for a pass. + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) **Return type** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-to-mid-circuit-measure.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-to-mid-circuit-measure.mdx index 891cdeb8a5d..6bb92f08359 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-to-mid-circuit-measure.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-convert-to-mid-circuit-measure.mdx @@ -8,10 +8,10 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.ConvertToMidCircuitMeasure # ConvertToMidCircuitMeasure - + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) - This pass replaces terminal measures in the middle of the circuit with MidCircuitMeasure instructions. + Transpiler pass replacing mid-circuit terminal measure instructions. Transpiler pass that replaces terminal measure instructions in non-terminal locations with `MidCircuitMeasure` instructions. By default, these will be `measure_2`, but the pass accepts custom `measure_` definitions. This pass is expected to run after routing, as it will check that `MidCircuitMeasure` is supported in the corresponding physical qubit. @@ -97,7 +97,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.ConvertToMidCircuitMeasure ### run - + Run the pass on a dag. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-fold-rzz-angle.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-fold-rzz-angle.mdx index 2ccdf95dbdd..13378386f9b 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-fold-rzz-angle.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-fold-rzz-angle.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.FoldRzzAngle # FoldRzzAngle - + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) Fold Rzz gate angle into calibrated range of 0-pi/2 with local gate tweaks. @@ -92,16 +92,12 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.FoldRzzAngle ### run - - Run a pass on the DAGCircuit. This is implemented by the pass developer. + + Run the pass on the DAGCircuit. **Parameters** - **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) – the dag on which the pass is run. - - **Raises** - - **NotImplementedError** – when this is left unimplemented for a pass. + **dag** ([*DAGCircuit*](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit)) **Return type** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-alap-schedule-analysis.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-alap-schedule-analysis.mdx index bac09dcace5..5d83c0b6f67 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-alap-schedule-analysis.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-alap-schedule-analysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAna # ALAPScheduleAnalysis - + Bases: `BaseDynamicCircuitAnalysis` Dynamic circuits as-late-as-possible (ALAP) scheduling analysis pass. @@ -19,20 +19,15 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAna The primary differences are that: - * **Resets and control-flow currently trigger the end of a “quantum block”. The period between the end** + * **Resets and control-flow currently trigger the end of a “quantum block”. The period between** - of the block and the next is *nondeterministic* ie., we do not know when the next block will begin (as we could be evaluating a classical function of nondeterministic length) and therefore the next block starts at a *relative* t=0. + the end of the block and the next is *nondeterministic* ie., we do not know when the next block will begin (as we could be evaluating a classical function of nondeterministic length) and therefore the next block starts at a *relative* t=0. * During a measurement it is possible to apply gates in parallel on disjoint qubits. - * Measurements and resets on disjoint qubits happen simultaneously and are part of the same block. + * **Measurements and resets on disjoint qubits happen simultaneously and are part of the same** - Scheduler for dynamic circuit backends. - - **Parameters** - - * **durations** – Durations of instructions to be used in scheduling. - * **block\_ordering\_callable** – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. + block. ## Attributes @@ -105,7 +100,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAna ### run - + Run the ASAPSchedule pass on dag. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-asap-schedule-analysis.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-asap-schedule-analysis.mdx index 622818f51cb..ffffdd98e9f 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-asap-schedule-analysis.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-asap-schedule-analysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAna # ASAPScheduleAnalysis - + Bases: `BaseDynamicCircuitAnalysis` Dynamic circuits as-soon-as-possible (ASAP) scheduling analysis pass. @@ -19,20 +19,15 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAna The primary differences are that: - * **Resets and control-flow currently trigger the end of a “quantum block”. The period between the end** + * **Resets and control-flow currently trigger the end of a “quantum block”. The period between** - of the block and the next is *nondeterministic* ie., we do not know when the next block will begin (as we could be evaluating a classical function of nondeterministic length) and therefore the next block starts at a *relative* t=0. + the end of the block and the next is *nondeterministic* ie., we do not know when the next block will begin (as we could be evaluating a classical function of nondeterministic length) and therefore the next block starts at a *relative* t=0. * During a measurement it is possible to apply gates in parallel on disjoint qubits. - * Measurements and resets on disjoint qubits happen simultaneously and are part of the same block. + * **Measurements and resets on disjoint qubits happen simultaneously and are part of the same** - Scheduler for dynamic circuit backends. - - **Parameters** - - * **durations** – Durations of instructions to be used in scheduling. - * **block\_ordering\_callable** – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. + block. ## Attributes @@ -105,7 +100,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAna ### run - + Run the ALAPSchedule pass on dag. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-block-base-padder.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-block-base-padder.mdx index 9f532eb09db..6ac3c5e9008 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-block-base-padder.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-block-base-padder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder # BlockBasePadder - + Bases: [`TransformationPass`](/docs/api/qiskit/qiskit.transpiler.TransformationPass) The base class of padding pass. @@ -95,7 +95,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder ### run - + Run the padding pass on `dag`. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-dynamic-circuit-instruction-durations.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-dynamic-circuit-instruction-durations.mdx index e210d343b6e..583fe499e2b 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-dynamic-circuit-instruction-durations.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-dynamic-circuit-instruction-durations.mdx @@ -8,12 +8,14 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitI # DynamicCircuitInstructionDurations - + Bases: [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) - For dynamic circuits the IBM Qiskit backend currently reports instruction durations that differ compared with those required for the legacy Qobj-based path. For now we use this class to report updated InstructionDurations. TODO: This would be mitigated by a specialized Backend/Target for dynamic circuit backends. + Dynamic circuit instructions durations. - Dynamic circuit instruction durations. + For dynamic circuits the IBM Qiskit backend currently reports instruction durations that differ compared with those required for the legacy Qobj-based path. For now we use this class to report updated InstructionDurations. + + TODO: This would be mitigated by a specialized Backend/Target for dynamic circuit backends. ## Attributes @@ -35,16 +37,16 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitI ### from\_backend - - Construct a `DynamicInstructionDurations` object from the backend. :param backend: backend from which durations (gate lengths) and dt are extracted. + + Construct a `DynamicInstructionDurations` object from the backend. - **Returns** + **Parameters** - The InstructionDurations constructed from backend. + **backend** ([*Backend*](/docs/api/qiskit/qiskit.providers.Backend)) – backend from which durations (gate lengths) and dt are extracted. - **Parameters** + **Returns** - **backend** ([*Backend*](/docs/api/qiskit/qiskit.providers.Backend)) + The InstructionDurations constructed from backend. **Return type** @@ -53,16 +55,16 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitI ### from\_target - - Construct a `DynamicInstructionDurations` object from the target. :param target: target from which durations (gate lengths) and dt are extracted. + + Construct a `DynamicInstructionDurations` object from the target. - **Returns** + **Parameters** - The InstructionDurations constructed from backend. + **target** ([*Target*](/docs/api/qiskit/qiskit.transpiler.Target)) – target from which durations (gate lengths) and dt are extracted. - **Parameters** + **Returns** - **target** ([*Target*](/docs/api/qiskit/qiskit.transpiler.Target)) + The InstructionDurations constructed from backend. **Return type** @@ -112,12 +114,14 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitI ### update - - Update self with inst\_durations (inst\_durations overwrite self). Overrides the default durations for certain hardcoded instructions. + + Update self with inst\_durations (inst\_durations overwrite self). + + Overrides the default durations for certain hardcoded instructions. **Parameters** - * **inst\_durations** (*List\[Tuple\[str, Iterable\[int] | None, float, Iterable\[float] | None, str]] | List\[Tuple\[str, Iterable\[int] | None, float, Iterable\[float] | None]] | List\[Tuple\[str, Iterable\[int] | None, float, str]] | List\[Tuple\[str, Iterable\[int] | None, float]] |* [*InstructionDurations*](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) *| None*) – Instruction durations to be merged into self (overwriting self). + * **inst\_durations** (*list\[tuple\[str, Iterable\[int] | None, float, Iterable\[float] | None, str]] | list\[tuple\[str, Iterable\[int] | None, float, Iterable\[float] | None]] | list\[tuple\[str, Iterable\[int] | None, float, str]] | list\[tuple\[str, Iterable\[int] | None, float]] |* [*InstructionDurations*](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) *| None*) – Instruction durations to be merged into self (overwriting self). * **dt** (*float | None*) – Sampling duration in seconds of the target backend. **Returns** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-delay.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-delay.mdx index f979cd84132..8a75603c712 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-delay.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-delay.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay # PadDelay - + Bases: [`BlockBasePadder`](transpiler-passes-scheduling-block-base-padder "qiskit_ibm_runtime.transpiler.passes.scheduling.block_base_padder.BlockBasePadder") Padding idle time with Delay instructions. @@ -29,14 +29,13 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay See [`BlockBasePadder`](transpiler-passes-scheduling-block-base-padder "qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder") pass for details. - Create new padding delay pass. - **Parameters** * **durations** – Durations of instructions to be used in scheduling. * **fill\_very\_end** – Set `True` to fill the end of circuit with delay. * **schedule\_idle\_qubits** – Set to true if you’d like a delay inserted on idle qubits. This is useful for timeline visualizations, but may cause issues for execution on large backends. * **block\_ordering\_callable** – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. + * **target** – The backend compilation target. ## Attributes @@ -109,7 +108,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay ### run - + Run the padding pass on `dag`. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-dynamical-decoupling.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-dynamical-decoupling.mdx index 20c24b7d64d..53caa1be463 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-dynamical-decoupling.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling-pad-dynamical-decoupling.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDec # PadDynamicalDecoupling - + Bases: [`BlockBasePadder`](transpiler-passes-scheduling-block-base-padder "qiskit_ibm_runtime.transpiler.passes.scheduling.block_base_padder.BlockBasePadder") Dynamical decoupling insertion pass for IBM dynamic circuit backends. @@ -73,8 +73,6 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDec You need to call [`ALAPScheduleAnalysis`](transpiler-passes-scheduling-alap-schedule-analysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis") before running dynamical decoupling to guarantee your circuit satisfies acquisition alignment constraints for dynamic circuit backends. - Dynamical decoupling initializer. - **Parameters** * **durations** – Durations of instructions to be used in scheduling. @@ -94,7 +92,10 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDec The option to control the behavior of DD sequence generation. The duration of the DD sequence should be identical to an idle time in the scheduled quantum circuit, however, the delay in between gates comprising the sequence should be integer number in units of dt, and it might be further truncated when `pulse_alignment` is specified. This sometimes results in the duration of the created sequence being shorter than the idle time that you want to fill with the sequence, i.e. extra slack. This option takes following values. > * ”middle”: Put the extra slack to the interval at the middle of the sequence. - > * ”edges”: Divide the extra slack as evenly as possible into intervals at beginning and end of the sequence. + > + > * **”edges”: Divide the extra slack as evenly as possible into** + > + > intervals at beginning and end of the sequence. * **sequence\_min\_length\_ratios** – List of minimum delay length to DD sequence ratio to satisfy in order to insert the DD sequence. For example if the X-X dynamical decoupling sequence is 320dt samples long and the available delay is 384dt it has a ratio of 384dt/320dt=1.2. From the perspective of dynamical decoupling this is likely to add more control noise than decoupling error rate reductions. The defaults value is 2.0. @@ -110,6 +111,8 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDec * **block\_ordering\_callable** – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. + * **target** – The backend compilation target. + **Raises** * **TranspilerError** – When invalid DD sequence is specified. @@ -187,7 +190,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDec ### run - + Run the padding pass on `dag`. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling.mdx b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling.mdx index 4bebe7dfc0d..006112b6717 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler-passes-scheduling.mdx @@ -22,14 +22,14 @@ A collection of scheduling passes for working with IBM Quantum’s next-generati ## Classes -| | | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [`BlockBasePadder`](transpiler-passes-scheduling-block-base-padder "qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder") | The base class of padding pass. | -| [`ALAPScheduleAnalysis`](transpiler-passes-scheduling-alap-schedule-analysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis") | Dynamic circuits as-late-as-possible (ALAP) scheduling analysis pass. | -| [`ASAPScheduleAnalysis`](transpiler-passes-scheduling-asap-schedule-analysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis") | Dynamic circuits as-soon-as-possible (ASAP) scheduling analysis pass. | -| [`DynamicCircuitInstructionDurations`](transpiler-passes-scheduling-dynamic-circuit-instruction-durations "qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations") | For dynamic circuits the IBM Qiskit backend currently reports instruction durations that differ compared with those required for the legacy Qobj-based path. | -| [`PadDelay`](transpiler-passes-scheduling-pad-delay "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay") | Padding idle time with Delay instructions. | -| [`PadDynamicalDecoupling`](transpiler-passes-scheduling-pad-dynamical-decoupling "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling") | Dynamical decoupling insertion pass for IBM dynamic circuit backends. | +| | | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | +| [`BlockBasePadder`](transpiler-passes-scheduling-block-base-padder "qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder") | The base class of padding pass. | +| [`ALAPScheduleAnalysis`](transpiler-passes-scheduling-alap-schedule-analysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis") | Dynamic circuits as-late-as-possible (ALAP) scheduling analysis pass. | +| [`ASAPScheduleAnalysis`](transpiler-passes-scheduling-asap-schedule-analysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis") | Dynamic circuits as-soon-as-possible (ASAP) scheduling analysis pass. | +| [`DynamicCircuitInstructionDurations`](transpiler-passes-scheduling-dynamic-circuit-instruction-durations "qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations") | Dynamic circuit instructions durations. | +| [`PadDelay`](transpiler-passes-scheduling-pad-delay "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay") | Padding idle time with Delay instructions. | +| [`PadDynamicalDecoupling`](transpiler-passes-scheduling-pad-dynamical-decoupling "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling") | Dynamical decoupling insertion pass for IBM dynamic circuit backends. | ## Example usage diff --git a/docs/api/qiskit-ibm-runtime/transpiler.mdx b/docs/api/qiskit-ibm-runtime/transpiler.mdx index 50c70436df3..4e1c6fcd5a7 100644 --- a/docs/api/qiskit-ibm-runtime/transpiler.mdx +++ b/docs/api/qiskit-ibm-runtime/transpiler.mdx @@ -16,12 +16,12 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes A collection of transpiler passes. Refer to [/guides/transpile](/docs/guides/transpile) to learn more about transpilation and passes. -| | | -| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | -| [`ConvertIdToDelay`](transpiler-passes-convert-id-to-delay "qiskit_ibm_runtime.transpiler.passes.ConvertIdToDelay") | Convert `qiskit.circuit.library.standard_gates.IGate` to a delay of the corresponding length. | -| [`ConvertISAToClifford`](transpiler-passes-convert-isa-to-clifford "qiskit_ibm_runtime.transpiler.passes.ConvertISAToClifford") | Convert the gates of an ISA circuit to Clifford gates. | -| [`FoldRzzAngle`](transpiler-passes-fold-rzz-angle "qiskit_ibm_runtime.transpiler.passes.FoldRzzAngle") | Fold Rzz gate angle into calibrated range of 0-pi/2 with local gate tweaks. | -| [`ConvertToMidCircuitMeasure`](transpiler-passes-convert-to-mid-circuit-measure "qiskit_ibm_runtime.transpiler.passes.ConvertToMidCircuitMeasure") | This pass replaces terminal measures in the middle of the circuit with MidCircuitMeasure instructions. | +| | | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| [`ConvertIdToDelay`](transpiler-passes-convert-id-to-delay "qiskit_ibm_runtime.transpiler.passes.ConvertIdToDelay") | Convert `qiskit.circuit.library.standard_gates.IGate` to a corresponding delay. | +| [`ConvertISAToClifford`](transpiler-passes-convert-isa-to-clifford "qiskit_ibm_runtime.transpiler.passes.ConvertISAToClifford") | Convert the gates of an ISA circuit to Clifford gates. | +| [`FoldRzzAngle`](transpiler-passes-fold-rzz-angle "qiskit_ibm_runtime.transpiler.passes.FoldRzzAngle") | Fold Rzz gate angle into calibrated range of 0-pi/2 with local gate tweaks. | +| [`ConvertToMidCircuitMeasure`](transpiler-passes-convert-to-mid-circuit-measure "qiskit_ibm_runtime.transpiler.passes.ConvertToMidCircuitMeasure") | Transpiler pass replacing mid-circuit terminal measure instructions. | See [`qiskit_ibm_runtime.transpiler.passes.scheduling`](transpiler-passes-scheduling#module-qiskit_ibm_runtime.transpiler.passes.scheduling "qiskit_ibm_runtime.transpiler.passes.scheduling") for a collection of scheduling passes. diff --git a/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-layer-error.mdx b/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-layer-error.mdx index bc87b9e3c18..63b8652e0b5 100644 --- a/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-layer-error.mdx +++ b/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-layer-error.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.utils.noise_learner_result.LayerError # LayerError - + Bases: `object` The error channel (in Pauli-Lindblad format) of a single layer of instructions. @@ -34,7 +34,9 @@ python_api_name: qiskit_ibm_runtime.utils.noise_learner_result.LayerError ### error - The error channel in this `LayerError`, or `None` if the error channel is either unknown or explicitly disabled. + The error channel in this `LayerError`, or `None`. + + Return `None` if the error channel is either unknown or explicitly disabled. ### num\_qubits @@ -53,7 +55,7 @@ python_api_name: qiskit_ibm_runtime.utils.noise_learner_result.LayerError ### draw\_map - + Draw a map view of a this layer error. **Parameters** @@ -108,7 +110,7 @@ python_api_name: qiskit_ibm_runtime.utils.noise_learner_result.LayerError ### draw\_swarm - + Draw a swarm plot of the rates in this layer error. This function plots the rates along a vertical axes, offsetting the rates along the `x` axis so that they do not overlap with each other. diff --git a/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-pauli-lindblad-error.mdx b/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-pauli-lindblad-error.mdx index 5c81f2dc308..c0c3813ed9f 100644 --- a/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-pauli-lindblad-error.mdx +++ b/docs/api/qiskit-ibm-runtime/utils-noise-learner-result-pauli-lindblad-error.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladErro # PauliLindbladError - + Bases: `object` A Pauli error channel generated by a Pauli Lindblad dissipators. @@ -63,7 +63,9 @@ $$ ### restrict\_num\_bodies - + + Pauli-Lindblad error containing only those terms acting on exactly `num_qubits` qubits. + The [`PauliLindbladError`](#qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError "qiskit_ibm_runtime.utils.noise_learner_result.PauliLindbladError") containing only those terms acting on exactly `num_qubits` qubits. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/visualization-draw-chunk-timings.mdx b/docs/api/qiskit-ibm-runtime/visualization-draw-chunk-timings.mdx new file mode 100644 index 00000000000..9c8d06a241e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/visualization-draw-chunk-timings.mdx @@ -0,0 +1,42 @@ +--- +title: draw_chunk_timings (latest version) +description: API reference for qiskit_ibm_runtime.visualization.draw_chunk_timings in the latest version of qiskit-ibm-runtime +in_page_toc_min_heading_level: 1 +python_api_type: function +python_api_name: qiskit_ibm_runtime.visualization.draw_chunk_timings +--- + + + +# qiskit\_ibm\_runtime.visualization.draw\_chunk\_timings + + + Draw one or more `ChunkTiming` on a bar plot. + + Each chunk corresponds to a single execution window on the backend. The y-axis represents cumulative work completed across chunks — in units of elements executed, or as a percentage if `normalize_y=True`. + + When comparing multiple `ChunkTiming` (e.g. from different jobs), use `common_start=True` to align traces at $t=0$ for direct comparison. + + + For a simpler single-trace interface for data from an executor job, call `draw()` directly on `job.result().timings`. + + + **Parameters** + + * **timings** (*ChunkTiming*) – One or more `ChunkTiming` collections. + * **names** (*str | Iterable\[str] | None*) – Name or names to assign to the respective `timings`. When provided, a legend is shown by default. + * **common\_start** (*bool*) – Whether to shift each collection’s chunks so that its first chunk starts at $t=0$. Useful for comparing timings from different jobs side by side. + * **normalize\_y** (*bool*) – Whether to display the y-axis units as a percentage of work complete, rather than cumulative elements completed. + * **line\_width** (*int*) – The thickness of line segments. + * **show\_legend** (*bool | None*) – Whether to show a legend. By default, shown only when `names` is provided. + * **tz** (*timezone | None*) – The timezone to use for displaying times. `None` (default) uses the local system timezone. Pass `datetime.timezone.utc` to display times in UTC. + + **Returns** + + A plotly figure. + + **Return type** + + PlotlyFigure + + diff --git a/docs/api/qiskit-ibm-runtime/visualization-draw-circuit-schedule-timing.mdx b/docs/api/qiskit-ibm-runtime/visualization-draw-circuit-schedule-timing.mdx index 8cd44322074..1026abf96f0 100644 --- a/docs/api/qiskit-ibm-runtime/visualization-draw-circuit-schedule-timing.mdx +++ b/docs/api/qiskit-ibm-runtime/visualization-draw-circuit-schedule-timing.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.visualization.draw_circuit_schedule_timing # qiskit\_ibm\_runtime.visualization.draw\_circuit\_schedule\_timing - + Draw a circuit schedule timing for `CircuitSchedule`. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/visualization-draw-execution-spans.mdx b/docs/api/qiskit-ibm-runtime/visualization-draw-execution-spans.mdx index d4ad156027d..a87badcc06d 100644 --- a/docs/api/qiskit-ibm-runtime/visualization-draw-execution-spans.mdx +++ b/docs/api/qiskit-ibm-runtime/visualization-draw-execution-spans.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.visualization.draw_execution_spans # qiskit\_ibm\_runtime.visualization.draw\_execution\_spans - + Draw one or more [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans") on a bar plot. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/visualization-draw-layer-error-map.mdx b/docs/api/qiskit-ibm-runtime/visualization-draw-layer-error-map.mdx index 4a14aee08f6..e71e6575574 100644 --- a/docs/api/qiskit-ibm-runtime/visualization-draw-layer-error-map.mdx +++ b/docs/api/qiskit-ibm-runtime/visualization-draw-layer-error-map.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.visualization.draw_layer_error_map # qiskit\_ibm\_runtime.visualization.draw\_layer\_error\_map - + Draw a map view of a [`LayerError`](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError"). **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/visualization-draw-layer-errors-swarm.mdx b/docs/api/qiskit-ibm-runtime/visualization-draw-layer-errors-swarm.mdx index f1dec57ec25..c31e3621f60 100644 --- a/docs/api/qiskit-ibm-runtime/visualization-draw-layer-errors-swarm.mdx +++ b/docs/api/qiskit-ibm-runtime/visualization-draw-layer-errors-swarm.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.visualization.draw_layer_errors_swarm # qiskit\_ibm\_runtime.visualization.draw\_layer\_errors\_swarm - + Draw a swarm plot for the given list of layer errors. This function plots the rates of each of the given layer errors along a vertical axes, offsetting the rates along the `x` axis to minimize the overlap between the markers. It helps visualizing the distribution of errors for different layer errors, as well as to track (using the `connected` argument) the evolution of specific generators across different layers. diff --git a/docs/api/qiskit-ibm-runtime/visualization-draw-zne-evs.mdx b/docs/api/qiskit-ibm-runtime/visualization-draw-zne-evs.mdx index 6df4beddee0..0ab1e968ea4 100644 --- a/docs/api/qiskit-ibm-runtime/visualization-draw-zne-evs.mdx +++ b/docs/api/qiskit-ibm-runtime/visualization-draw-zne-evs.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.visualization.draw_zne_evs # qiskit\_ibm\_runtime.visualization.draw\_zne\_evs - + Plot the zero noise extrapolation data in an `EstimatorPubResult`. This function generates a subfigure for each estimated expectation value. diff --git a/docs/api/qiskit-ibm-runtime/visualization-draw-zne-extrapolators.mdx b/docs/api/qiskit-ibm-runtime/visualization-draw-zne-extrapolators.mdx index 4a16f444080..2ed8b77263a 100644 --- a/docs/api/qiskit-ibm-runtime/visualization-draw-zne-extrapolators.mdx +++ b/docs/api/qiskit-ibm-runtime/visualization-draw-zne-extrapolators.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.visualization.draw_zne_extrapolators # qiskit\_ibm\_runtime.visualization.draw\_zne\_extrapolators - + Plot the zero noise extrapolation data in an `EstimatorPubResult`. This function generates a subfigure for each extrapolator. diff --git a/docs/api/qiskit-ibm-runtime/visualization.mdx b/docs/api/qiskit-ibm-runtime/visualization.mdx index 56399f424d6..28732059a31 100644 --- a/docs/api/qiskit-ibm-runtime/visualization.mdx +++ b/docs/api/qiskit-ibm-runtime/visualization.mdx @@ -20,6 +20,7 @@ A suite of functions for visualizing qiskit-ibm-runtime’s objects. | | | | -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| [`draw_chunk_timings`](visualization-draw-chunk-timings "qiskit_ibm_runtime.visualization.draw_chunk_timings") | Draw one or more `ChunkTiming` on a bar plot. | | [`draw_execution_spans`](visualization-draw-execution-spans "qiskit_ibm_runtime.visualization.draw_execution_spans") | Draw one or more [`ExecutionSpans`](execution-span-execution-spans "qiskit_ibm_runtime.execution_span.ExecutionSpans") on a bar plot. | | [`draw_layer_error_map`](visualization-draw-layer-error-map "qiskit_ibm_runtime.visualization.draw_layer_error_map") | Draw a map view of a [`LayerError`](utils-noise-learner-result-layer-error "qiskit_ibm_runtime.utils.noise_learner_result.LayerError"). | | [`draw_layer_errors_swarm`](visualization-draw-layer-errors-swarm "qiskit_ibm_runtime.visualization.draw_layer_errors_swarm") | Draw a swarm plot for the given list of layer errors. | diff --git a/public/docs/api/qiskit-ibm-runtime/objects.inv b/public/docs/api/qiskit-ibm-runtime/objects.inv index 6472ea19bc33f4c64d6598b9c0baf74cedd5fe64..9a07309c0fcad61d1362b590de907634be23ab8c 100644 GIT binary patch literal 72788 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 z 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 hS;^Bbw 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 diff --git a/public/docs/images/api/qiskit-ibm-runtime/fake_provider-1.avif b/public/docs/images/api/qiskit-ibm-runtime/fake_provider-1.avif index 36f641a527f47d29e125479de394593b34f51184..aba725dd64fdb39228d7e0bdb27bae58d50e4d9b 100644 GIT binary patch literal 2859 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 literal 13282 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 diff --git a/public/docs/images/api/qiskit-ibm-runtime/fake_provider-2.avif b/public/docs/images/api/qiskit-ibm-runtime/fake_provider-2.avif index 14a5e98070dae651b02237b6d39b5af478ef2594..8a8b342bc79302947be9928709a698e6d89f3e26 100644 GIT binary patch literal 3977 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 diff --git a/public/docs/images/api/qiskit-ibm-runtime/fake_provider-3.avif b/public/docs/images/api/qiskit-ibm-runtime/fake_provider-3.avif index 7f7651959ca66c78e6ff8943ab219c018809ca03..edaf383d03b087b3869cd360ff6d033ed5337e7a 100644 GIT binary patch literal 3009 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 diff --git a/public/docs/images/api/qiskit-ibm-runtime/qiskit_ibm_runtime-transpiler-passes-scheduling-1.avif b/public/docs/images/api/qiskit-ibm-runtime/qiskit_ibm_runtime-transpiler-passes-scheduling-1.avif index 0cd33266665acda9faec8850188f5c84d31cf184..521409b8d7e103626941ecab8ed7f24b3d65b4f5 100644 GIT binary patch literal 7400 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 N8Py8-Yzx~M`G4Nsx*7lg literal 61922 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 c??NO!l=DJ9a~pfu8mf^_eKAe|3- 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 Q`nj$)^epL>|C$rxe}_bG-2eap literal 27496 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

{ zvf|_gR!2Pczqng3kGHlDzmOwO?JZ|OPG+}kn5mI*o^mK1EBBx|Gn>1dQX_F5yy+F5 zxW10BdIRxS5`tc*xG&P_DBj!V^Jv6>9{XlmQre1Mh%2`CCGNH5!{7pBW%>8@W)e!r zf)=MW?U`Vo-IIpxHfosR5N5ctIKKZVatwxFB;CUXIp$k+ZJY|?C{CfF(Fy+Ph-Uh& z1z8ZGM{3OC2n**0<%EXQXCbfc~x|9dQ%#KtxD}QI1mzX1LFSTtXCNEEapYJx5x)zv?!+c*)4` zS(jG&?BG$1MCyg3Otcfs`sVwK5>l~Li@O=Q^wT7q38!;{o@K9im+^MjAJmX`8+eVW z8Ms;D;(FQC^rKoz%@O9>;kesZq4oi=0iw(zAjWWZ$y@OFp%x7WU6<0Mm}4&;U0{4X zmpm3b-)Wr~^I)m1}eXVO@(6pI5hvJgbI zq*-uCd@p;sOW!|7I>GMC8RGe1E4=5D-mKT&CIEQY(e$+k%sw+ z%p7yz4BK?%9!9VQh**R~8)3;onSxvTfSBd(pBo#yeCi6K!yJ1!Qr!WAdIsp zf-7p>1U5?4P-){pv_KFW0tQ92Y{JI1IhC7t*-U&GOUkV+VZDA37Z(OA3NJuPp&*d) zUWUOU3)V>U%j*R|&-hMra;bYt(TjB}K_-ZzC-EfVF#r%5b;28`470wz+M9Z3F$Sam_}2{IH?hKB3c;!1H+2B1=41e}4!1=7!esSaUcfL7A+ z+FKeZ+g$NVzIPrLWU?*9M+o^(85(P zsm>1s@#vQMcFKA_+Ne26R);1o>}p-MnOf{6_vJ%sa@5b4NcUb(m4TQigdI?)>h5uc zLX``tcN}<~oqv3{LcIZ?xuL5NDg7KMvESzlfKVr zy>>vO6g&0oKyA~tjXg)ATqo5omRElE^zy<$(Bm#BX;HC6Ybz_*2vERns)iLWtn;OH z4Q!{twx@*T>4BQXDLB4I@8Tp5v+<>*YEKy%y!JBF6@S7SQYl^I;sGgYSZX&%lpY1Aq~@$AFI2 zE3{()(SF_y42iOEu`CXq`MVG}{%^-F0tCPZvA7^$&C}DGtozN$cf+H+)ba@n^ELIC zBwHzw`(W9;x&AIRceubk5@ZBB5+tH`cs$Qsnd)4Ku!03A6xcwfP{coyC0q+3j0nz+ zj*SKVZnxzZ5WvBfKm^|_|7xYz8&nYH9v@`tJ|e~oNaOYi#4idG2e8WFliqZ8mezWv zY3>O>N9paoKB%!8^hHtLW5zIp)Cy*8Kp6oQHgwPeSY$T6uVj~J`|g8vIp8-!U^Oc; zP6E1WShgGT=@|Y-)57&K{|~Zl`tI)TdcfwTqGP{}OhUlAMojRa<2cU`D*c?VC;&Y0z8(&fM*a!kMeN5;eIMT5F*$c@CgAwc;yxK#*~$PD)BdZn(% z5WYNYR+B*%MP3-BvD81aF=_z7gpz6H8_tp#xi~I1T7Cyg{FGS z*(x{J&;|N}>{1TFC$ygR1I8jV+8q}!!=MwvKJfahsOUEH>_tGyM<|*3wOIzPFCM$S zv(WO_&wyxC|DJR@a)c@DEOGlPasU148su*L8`s6(#mZo^`tQ#G{aq>if4rB=TcOO4 z4SaW83WFbrI!08|BU+jftuPj@R`3r>OhimdP()l%Ok7(`3?m|g5s^ZRh+srS$ZL<^ z{mTiCcuU)Bo`0Sop)Dc`M`I+#ew~mSXOj*m@c;7@h_;Sa1frRv^PlJZ@gd^BpA+tS zNC(crAm?b|uMs`WT&+--%!tkoc%p-?`5|{JSAs3xNnA)&L`X*9kPVUOOuz^WJO1+s ZA-t=#aFu}@Bu7xF3rcFZ>@%jf{sHL(7q$QZ diff --git a/public/docs/images/api/qiskit-ibm-runtime/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-2.avif b/public/docs/images/api/qiskit-ibm-runtime/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-2.avif index e1664656fe87d355eddebf2bb6e8269b07d229b3..06c4b04b0384828969f6c217f3e1926bf68ece84 100644 GIT binary patch literal 4236 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 diff --git a/public/docs/images/api/qiskit-ibm-runtime/twirling_strategy_options.avif b/public/docs/images/api/qiskit-ibm-runtime/twirling_strategy_options.avif index ef7a86229e9bb76029c14170d2d1b85b26821c28..5ad7f76b4d94b91a46c0ebca0ede1f4f6ecf4330 100644 GIT binary patch literal 7015 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 C-edm& From d78eed458a1a29880b8b82573d9a0abe66dcff65 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Thu, 14 May 2026 13:24:22 -0400 Subject: [PATCH 4/5] Update dev docs --- docs/api/qiskit-ibm-runtime/dev/_package.json | 2 +- .../dev/fake_provider-1.avif | Bin 13136 -> 2859 bytes .../dev/fake_provider-2.avif | Bin 17567 -> 3896 bytes .../dev/fake_provider-3.avif | Bin 5301 -> 2974 bytes ...untime-transpiler-passes-scheduling-1.avif | Bin 37270 -> 7400 bytes ...untime-transpiler-passes-scheduling-2.avif | Bin 61864 -> 10414 bytes ...s-scheduling-PadDynamicalDecoupling-1.avif | Bin 27366 -> 5588 bytes ...s-scheduling-PadDynamicalDecoupling-2.avif | Bin 24568 -> 4236 bytes .../dev/twirling_strategy_options.avif | Bin 30650 -> 7015 bytes .../config/historical-pages-to-latest.json | 72 ++++++++++++++---- 10 files changed, 57 insertions(+), 17 deletions(-) diff --git a/docs/api/qiskit-ibm-runtime/dev/_package.json b/docs/api/qiskit-ibm-runtime/dev/_package.json index f9612ef444b..cd0ae3acc43 100644 --- a/docs/api/qiskit-ibm-runtime/dev/_package.json +++ b/docs/api/qiskit-ibm-runtime/dev/_package.json @@ -1,4 +1,4 @@ { "name": "qiskit-ibm-runtime", - "version": "0.47.0-dev" + "version": "0.48.0-dev" } diff --git a/public/docs/images/api/qiskit-ibm-runtime/dev/fake_provider-1.avif b/public/docs/images/api/qiskit-ibm-runtime/dev/fake_provider-1.avif index a18403da98cdce2f9d6f788671138681ea7209ae..aba725dd64fdb39228d7e0bdb27bae58d50e4d9b 100644 GIT binary patch literal 2859 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 literal 13136 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 OQjk@-op#gs>Hh#fqml0b diff --git a/public/docs/images/api/qiskit-ibm-runtime/dev/fake_provider-2.avif b/public/docs/images/api/qiskit-ibm-runtime/dev/fake_provider-2.avif index 829abcfb3bc17960fbe1c98b109ee9703cff1d65..c49686f679a21990486310160e47843791771557 100644 GIT binary patch literal 3896 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 diff --git a/public/docs/images/api/qiskit-ibm-runtime/dev/fake_provider-3.avif b/public/docs/images/api/qiskit-ibm-runtime/dev/fake_provider-3.avif index cbc2b252178e324770abdbf019406fc4eebecc46..ba62e9e952cc8a836bc8e80834e5670309d26152 100644 GIT binary patch literal 2974 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 literal 5301 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 diff --git a/public/docs/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime-transpiler-passes-scheduling-1.avif b/public/docs/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime-transpiler-passes-scheduling-1.avif index 2ceb841637a4e523156b9667332b1eb427c591ca..521409b8d7e103626941ecab8ed7f24b3d65b4f5 100644 GIT binary patch literal 7400 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 diff --git a/public/docs/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime-transpiler-passes-scheduling-2.avif b/public/docs/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime-transpiler-passes-scheduling-2.avif index 7ac8abc8a90ff4a34082a1b9079fcd217295d49f..229b7708321185af64ed83be63133c16b925c127 100644 GIT binary patch literal 10414 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 N8Py8-Yzx~M`G4Nsx*7lg literal 61864 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 t)K&KFRnb=3e!>Z3e*tA&PKN*h diff --git a/public/docs/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-1.avif b/public/docs/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-1.avif index bcdb5fb42b57aab88323336529ff7b09ecfd5423..27137bcb431fe5fbd16ec4bc80f2566e41195500 100644 GIT binary patch literal 5588 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 Q`nj$)^epL>|C$rxe}_bG-2eap literal 27366 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≥!+g-pqygS`PQgVp@p3NO$#D|#m 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 E02-kF5&!@I diff --git a/public/docs/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-2.avif b/public/docs/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime-transpiler-passes-scheduling-PadDynamicalDecoupling-2.avif index 414ea1265122d716a43984e72118cde05d8d2967..06c4b04b0384828969f6c217f3e1926bf68ece84 100644 GIT binary patch literal 4236 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 diff --git a/public/docs/images/api/qiskit-ibm-runtime/dev/twirling_strategy_options.avif b/public/docs/images/api/qiskit-ibm-runtime/dev/twirling_strategy_options.avif index 864da9dc684208372c7a73b381aa17f515fd6b6d..5ad7f76b4d94b91a46c0ebca0ede1f4f6ecf4330 100644 GIT binary patch literal 7015 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 diff --git a/scripts/config/historical-pages-to-latest.json b/scripts/config/historical-pages-to-latest.json index a355d65d6a7..76dd9b8569f 100644 --- a/scripts/config/historical-pages-to-latest.json +++ b/scripts/config/historical-pages-to-latest.json @@ -1124,6 +1124,8 @@ }, "qiskit-ibm-runtime": { "0.25": { + "_package.json": "/", + "_toc.json": "/", "estimator-v1": "/", "fake-provider-fake-almaden": "/", "fake-provider-fake-armonk": "/", @@ -1178,6 +1180,8 @@ "sampler-v1": "/" }, "0.26": { + "_package.json": "/", + "_toc.json": "/", "estimator-v1": "/", "fake-provider-fake-almaden": "/", "fake-provider-fake-armonk": "/", @@ -1231,6 +1235,8 @@ "sampler-v1": "/" }, "0.27": { + "_package.json": "/", + "_toc.json": "/", "estimator-v1": "/", "fake-provider-fake-almaden": "/", "fake-provider-fake-armonk": "/", @@ -1284,6 +1290,8 @@ "sampler-v1": "/" }, "0.28": { + "_package.json": "/", + "_toc.json": "/", "fake-provider-fake-almaden": "/", "fake-provider-fake-armonk": "/", "fake-provider-fake-athens": "/", @@ -1331,6 +1339,8 @@ "runtime-job": "/" }, "0.29": { + "_package.json": "/", + "_toc.json": "/", "fake-provider-fake-almaden": "/", "fake-provider-fake-armonk": "/", "fake-provider-fake-athens": "/", @@ -1378,6 +1388,8 @@ "runtime-job": "/" }, "0.30": { + "_package.json": "/", + "_toc.json": "/", "fake-provider-fake-almaden": "/", "fake-provider-fake-armonk": "/", "fake-provider-fake-athens": "/", @@ -1425,55 +1437,83 @@ "runtime-job": "/" }, "0.31": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.32": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.33": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.34": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.35": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.36": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.37": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.38": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.39": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.40": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, "0.41": { + "_package.json": "/", + "_toc.json": "/", "runtime-job": "/" }, - "0.42": {}, - "0.43": {}, - "0.44": {}, - "0.45": {}, - "0.46": {}, + "0.42": { + "_package.json": "/", + "_toc.json": "/" + }, + "0.43": { + "_package.json": "/", + "_toc.json": "/" + }, + "0.44": { + "_package.json": "/", + "_toc.json": "/" + }, + "0.45": { + "_package.json": "/", + "_toc.json": "/" + }, + "0.46": { + "_package.json": "/", + "_toc.json": "/" + }, "dev": { - "fake-provider-fake-aachen": "/", - "fake-provider-fake-berlin": "/", - "fake-provider-fake-boston": "/", - "fake-provider-fake-brussels": "/", - "fake-provider-fake-kingston": "/", - "fake-provider-fake-miami": "/", - "fake-provider-fake-pittsburgh": "/", - "fake-provider-fake-strasbourg": "/", - "ibm-quantum-schemas-common-qpy-data-model": "/", - "ibm-quantum-schemas-common-qpy-data-v13-to-v17-model": "/", - "visualization-draw-chunk-timings": "/" + "_package.json": "/", + "_toc.json": "/" } }, "qiskit-ibm-transpiler": { From 7c076a8e7d5b6712abe817b5253645699ebdf195 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Fri, 15 May 2026 11:42:54 -0400 Subject: [PATCH 5/5] Update ignores.ts --- scripts/js/lib/links/ignores.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/js/lib/links/ignores.ts b/scripts/js/lib/links/ignores.ts index 1b445b34d58..077d9d0322b 100644 --- a/scripts/js/lib/links/ignores.ts +++ b/scripts/js/lib/links/ignores.ts @@ -309,6 +309,7 @@ function _runtimeObjectsInv(): FilesToIgnores { "0.43/", "0.44/", "0.45/", + "0.46/", ].map((vers) => [ `public/docs/api/qiskit-ibm-runtime/${vers}objects.inv`, [