From 055b3253520f2c0266a2bc19f6ca9365aef1266e Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 25 Nov 2025 14:50:23 -0500 Subject: [PATCH 01/36] begin combining files --- docs/guides/get-qpu-information.ipynb | 212 +++++++++++++++++++++++++- 1 file changed, 210 insertions(+), 2 deletions(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index 958b2ba4e05..6a5e6f1433d 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -5,7 +5,7 @@ "id": "cbac187d-c590-404f-b451-8f4ec2292278", "metadata": {}, "source": [ - "# Get backend information with Qiskit" + "# Get backend information" ] }, { @@ -34,7 +34,7 @@ "id": "c05364ae-48e2-439e-8074-3a053731c744", "metadata": {}, "source": [ - "This page explains how to use Qiskit to find information about your available backends." + "This page explains how to find information about your available backends." ] }, { @@ -471,6 +471,214 @@ "backend.target[\"measure\"][(0,)]" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## QPU versioning\n", + "\n", + "Each QPU has a version number in the form X.Y.Z (major.minor.revision). A circuit compiled for a given version number is guaranteed to run on that QPU. If the revision number changes, the circuit will continue to run. If the major or minor number changes, the circuit is not guaranteed to run, although it may do so. The conditions under which a version number may change are listed below:\n", + "\n", + "### Major version\n", + "\n", + "The major version will increment for changes such as:\n", + "\n", + "* Sample changes.\n", + "* Major changes to the control electronics.\n", + "* Moving the QPU to a new location, if significant behavior changes result.\n", + "\n", + "### Minor version\n", + "\n", + "The minor version will increment for changes such as:\n", + "\n", + "* Warmup / cool-down cycles.\n", + "* Swapping out some electronics, if the replacement appreciably affects operation.\n", + "* Changing the direction of a controlled-NOT gate.\n", + "* Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software.\n", + "\n", + "### Revision version\n", + "\n", + "The revision version number will increment for fixes that do not break the existing compiled circuit. These changes include:\n", + "\n", + "* Manual calibrations to improve fidelities.\n", + "* Small electronics changes that don’t affect operation.\n", + "* QPU software updates.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Available details on the QPU information card\n", + "\n", + "Explore all public IBM QPUs by navigating to the [Compute resources](https://quantum.cloud.ibm.com/computers) page on IBM Quantum® Platform. Click any QPU to open its detailed information card.\n", + "\n", + "The first section of the QPU information card provides the following QPU details:\n", + "\n", + "[Name](#name) | [Qubits](#qubits) | [2Q error (best)](#2q-error-best) | [2Q error (layered)](#2q-error-layered) | [CLOPS (or CLOPS_h)](#clops-or-clops_h) | [Status](#status) | [Region](#region) | [QPU version](#qpu-version) | [Processor type](#processor-type) | [Basis gates](#native-gates-on-platform) | [Total pending jobs](#total-pending-jobs) | [Median 2Q error](#median-2q-error-heron-cz-eagle-ecr) |\n", + "[Median SX error](#median-sx-error) | [Median readout error](#median-readout-error) | [Median T1 (relaxation time)](#median-t1-relaxation-time) | [Median T2 (dephasing time)](#median-t2-dephasing-time)\n", + "\n", + "### Name\n", + "\n", + "The unique name assigned to a specific QPU. QPUs hosted on IBM Cloud® have names that begin with `ibm_*`. All QPUs are given a city name, e.g., `ibm_kingston`. This name does not indicate where the actual QPU is hosted. They are named after IBM® locations around the world.\n", + "\n", + "### Qubits\n", + "\n", + "The number of physical qubits in a QPU.\n", + "\n", + "### 2Q error (best)\n", + "\n", + "The lowest two-qubit (2Q) error on any edge of the device from the same batch of measurements used to calculate the median (see [Median 2Q error](#median-2q-error-heron-cz-eagle-ecr)).\n", + "\n", + "### 2Q error (layered) \n", + "\n", + "Average error per layered gate (EPLG) in a chain of 100 qubits. Average EPLG measures the average gate error in a layered chain of $N$ qubits ($N$=100 here). It is derived from a similar quantity known as the layer fidelity (LF) where EPLG$_{100}$ = 4/5(1-LF$^{\\frac{1}{99}}$) and layer fidelity is the process fidelity of the layered chain of $N$ qubits. For details, see the paper [Benchmarking quantum processor performance at scale](https://arxiv.org/abs/2311.05933). Note that in the paper EPLG is defined for process error, but for consistency with the individually reported gate errors here it is quoted for average gate error, thus the factor of 4/5. Find an [example notebook](https://github.com/qiskit-community/qiskit-device-benchmarking/blob/main/notebooks/layer_fidelity_single_chain.ipynb) in the Qiskit Community GitHub.\n", + "\n", + "### CLOPS (or CLOPS_h) \n", + "\n", + "Circuit layer operations per second, is a measure of how many layers of a 100x100 circuit (hardware-aware circuit) a QPU (quantum processing unit) can execute per unit of time. Find the [CLOPS code](https://github.com/qiskit-community/qiskit-device-benchmarking/tree/main/qiskit_device_benchmarking/clops#readme) in the Qiskit Community GitHub.\n", + "\n", + "### Status\n", + "\n", + "The QPU status; for example, `Online`, `Paused`, `Offline`, and so on.\n", + "\n", + "### Region\n", + "\n", + "Location of the data center where your data and experiments will be hosted and processed.\n", + "\n", + "### QPU version\n", + "\n", + "The version number of a QPU in the form `major.minor.revision`. See [QPU versioning](#qpu-versioning) for details on how this number is assigned.\n", + "\n", + "### Processor type\n", + "\n", + "Reflects the [topology](#coupling-map) and indicates the approximate qubit count.\n", + "\n", + "\n", + "### Basis gates\n", + "\n", + "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set. Note that the non-unitary operations are not listed here; use the [method in Qiskit](/docs/guides/get-qpu-information#native-gates-with-qiskit) to see all native gates and operations for a QPU. See a list of all native gates in [this table](#native-gates).\n", + "\n", + "### Total pending jobs\n", + "\n", + "The total number of jobs that you have submitted to this QPU.\n", + "\n", + "### Median 2Q error (Heron: CZ, Eagle: ECR)\n", + "\n", + "[Average gate fidelity](/docs/api/qiskit/quantum_info#average_gate_fidelity) of the two-qubit operation from randomized benchmarking. Measured in \"isolation\": batches with a minimum separation of two qubits between edges. This randomized benchmarking uses alternating layers of single-qubit Cliffords and two-qubit gates, and thus the final 2Q error value includes the error of the layer of single-qubit Cliffords. Find an [example notebook](https://github.com/qiskit-community/qiskit-device-benchmarking/blob/main/notebooks/device_rb_w_lf.ipynb) in the Qiskit Community GitHub. Find per-edge data in the [calibration data](#calibration-data) section of the QPU information card.\n", + "\n", + "### Median SX error\n", + "\n", + "[Average gate fidelity](/docs/api/qiskit/quantum_info#average_gate_fidelity) of the √X (SX) gate from randomized benchmarking, measured simultaneously on all qubits. The randomized benchmarking sequence includes SX, ID, and X gates, and it is assumed their errors are the same.\n", + "\n", + "### Median readout error\n", + "\n", + "Fidelity of the readout operation. Readout error is measured by preparing the qubit in the 0 (1) state and measuring the probability of an output in the 1 (0) state. The reported value is the average of these two errors. The median is taken over all qubits.\n", + "\n", + "### Median T1 (relaxation time)\n", + "\n", + "The T1 time represents the average duration a qubit remains in its excited state $|1\\rangle$ before decaying to its ground state $|0\\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s).\n", + "\n", + "### Median T2 (dephasing time)\n", + "\n", + "The T2 time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\\rangle$ and $|1\\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties. T2 is reported from a Hahn echo sequence.\n", + "\n", + "## Calibration data\n", + "\n", + "\n", + "If the benchmarking of a qubit or edge does not succeed over the course of several days, whether due to poor data quality or other internal factors, the reported error value is considered stale and will be reported as 1. This is not an indication that the qubit or edge is necessarily non-working or that the error is 1; rather, the error is considered undefined and you should proceed with caution when operating that qubit or gate. \n", + "\n", + "\n", + "The second section, Calibration data, provides qubit, connectivity, and gate data. You can choose to visualize the information as a map, graph, or table.\n", + "\n", + "You can customize the data that is shown in each view, using the drop-down menus. For example, in the map view, you can choose the data you want to see for qubits and connections. The colored bars associated with the diagram or graph indicate the range that is shown, with the average value marked. The color maximum and minimum change depending on the QPU.\n", + "\n", + "To download calibration data as a CSV file, click the download icon in the upper right corner of the Calibration data section.\n", + "\n", + "In addition to the information provided in the Details section of the card, the Calibration data section also includes the following:\n", + "\n", + "[Topology diagram or coupling map](#coupling-map) | [Readout assignment error](#readout-assignment-error) | [Prob meas0 prep1](#prob-meas0-prep1) | [Prob meas1 prep0](#prob-meas1-prep0) | [Readout length (ns)](#readout-length-ns) | [ID error / √x (sx) error / Pauli-X error / RX error](#finite-duration-discrete) | [Single-qubit gate length (ns)](#single-qubit-gate-length-ns)| [Z-axis rotation (RZ) error](#z-axis-rotation-rz-error) | [Operational](#operational) | [Gate length (ns)](#gate-length-ns) | [2Q error](#2q-error) | [RZZ error](#rzz-error-heron)\n", + "\n", + "\n", + "### Topology diagram or coupling map\n", + "\n", + "A diagram that indicates the pairs of qubits that support two-qubit gate operations between them. This is also called the coupling map or connectivity. Qubits are represented as circles and the supported two-qubit gate operations are displayed as lines connecting the qubits.\n", + "\n", + "### Readout assignment error\n", + "\n", + "The readout error quantifies the average probability of incorrectly measuring a qubit's state. It is commonly calculated as the mean of prob_meas0_prep1 and prob_meas1_prep0, providing a single metric for measurement fidelity.\n", + "\n", + "### Prob meas0 prep1\n", + "\n", + "This parameter indicates the probability of measuring a qubit in the $|0\\rangle$ state when it was intended to be prepared in the $|1\\rangle$ state, denoted as $P(0|1)$. It reflects errors in state preparation and measurement (SPAM), particularly measurement errors in superconducting qubits.\n", + "\n", + "### Prob meas1 prep0\n", + "\n", + "Similarly, this parameter represents the probability of measuring a qubit in the $|1\\rangle$ state when it was intended to be prepared in the $|0\\rangle$ state, denoted as $P(1|0)$. Like prob_meas0_prep1, it reflects SPAM errors, with measurement errors being the predominant contributor in superconducting qubits.\n", + "\n", + "### Readout length (ns)\n", + "\n", + "The readout_length specifies the duration of the readout operation for a qubit. It measures the time from the initiation of the measurement pulse to the completion of signal digitization, after which the system is ready for the next operation. Understanding this parameter is crucial for optimizing circuit execution, especially when incorporating mid-circuit measurements.\n", + "\n", + "\n", + "### ID error / √x (sx) error / Pauli-X error / RX error\n", + "\n", + "Error in the finite-duration discrete one-qubit gates, measured from randomized benchmarking. The randomized benchmarking sequence includes SX, ID, and X gates, and it is assumed their errors are the same. The ID gate is a delay of duration equal to the duration of the √X and X gates. The RX gate is also the same duration as the √X and X gates with variable amplitude, and so it is reported as having the same error as these gates.\n", + "\n", + "### Single-qubit gate length (ns)\n", + "\n", + "Duration of a single-qubit gate operation.\n", + "\n", + "### Z-axis rotation (RZ) error\n", + "\n", + "Error in the virtual RZ gate. Reported as all 0 since these are performed in software.\n", + "\n", + "### Operational\n", + "\n", + "Indicates whether the qubit can be utilized in circuits.\n", + "\n", + "### Gate length (ns)\n", + "\n", + "Duration of the two-qubit gate operation.\n", + "\n", + "\n", + "### 2Q error (Heron: CZ, Eagle: ECR)\n", + "\n", + "The 2Q error per edge from the same batch of measurements used to calculate the [2Q median](#median-2q-error-heron-cz-eagle-ecr) and [2Q best](#2q-error-best) errors.\n", + "\n", + "### RZZ error (Heron)\n", + "\n", + "Error in the RZZ gate averaged over the RZZ angles using a variant of randomized benchmarking for arbitrary unitaries.\n", + "\n", + "\n", + "## Two-qubit gate error (layered)\n", + "\n", + "The third section provides the expanded view of the lowest `two-qubit gate error (layered)` measured as a function of the number of qubits in the chain. The final value, at chain length 100, is the value presented in the Details section. In practice, six 100-qubit chains (pre-selected based on expected optimal performance) are measured, and the value reported for number of qubits `N` is the lowest error found in a subset length `N` chain searching over the six 100-qubit chains.\n", + "\n", + "\n", + "## View your resources\n", + "\n", + "To find your available QPUs, open the [Compute resources](https://quantum.cloud.ibm.com/computers) page (make sure you are signed in). Note that your selected region might impact the QPUs listed. Click a QPU to view its details.\n", + "\n", + "You can also view your available QPUs by using the [backends API.](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends) For example, the following code will return all of the backends that the specified instance (`my_instance`) can access:\n", + "\n", + "```python\n", + " QiskitRuntimeService(instance=\"my_instance_CRN\")\n", + " service.backends()\n", + "```\n", + "\n", + "\n", + "## Table of native gates and operations\n", + "\n", + "| Operation category | Name |\n", + "| :--- | :--- |\n", + "| Single-qubit gates | [`RZ`](/docs/api/qiskit/qiskit.circuit.library.RZGate), [`SX`](/docs/api/qiskit/qiskit.circuit.library.SXGate), [`X`](/docs/api/qiskit/qiskit.circuit.library.XGate), [`ID`](/docs/api/qiskit/qiskit.circuit.library.IGate), [`delay`](/docs/api/qiskit/circuit#qiskit.circuit.Delay) |\n", + "| Two-qubit gates | [`CZ`](/docs/api/qiskit/qiskit.circuit.library.CZGate), [`ECR`](/docs/api/qiskit/qiskit.circuit.library.ECRGate)|\n", + "| Fractional gates | [`RX`](/docs/api/qiskit/qiskit.circuit.library.RXGate) (single-qubit), [`RZZ`](/docs/api/qiskit/qiskit.circuit.library.RZZGate) (two-qubit) |\n", + "| Non-unitary instructions | [`measure`](/docs/api/qiskit/circuit#qiskit.circuit.Measure), [`reset`](/docs/api/qiskit/circuit#qiskit.circuit.Reset) |\n", + "| Control flow | [`if_else`](/docs/api/qiskit/qiskit.circuit.IfElseOp) (classical feedforward) |" + ] + }, { "cell_type": "markdown", "id": "89918e29-ee80-4c5e-9d25-c9331fa2f27e", From e3d7e0d8d2ddf5fcd93b8ad907f620060ca38dee Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 25 Nov 2025 14:54:07 -0500 Subject: [PATCH 02/36] limit h level for in-page toc --- docs/guides/get-qpu-information.ipynb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index 6a5e6f1433d..f738137c823 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -695,6 +695,8 @@ ], "metadata": { "description": "Find and filter available backends, get configuration and calibration data programmatically.", + "in_page_toc_max_heading_level": 2, + "in_page_toc_min_heading_level": 2, "kernelspec": { "display_name": "Python 3", "language": "python", From 4ae63b658a95aa95f8a34ac4e5e60ce34e102b46 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 25 Nov 2025 15:20:43 -0500 Subject: [PATCH 03/36] reconfigure headers, add twisties --- docs/guides/get-qpu-information.ipynb | 76 +++++++++++++++------------ 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index f738137c823..2dc9f5bc4a4 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -511,79 +511,84 @@ "source": [ "## Available details on the QPU information card\n", "\n", - "Explore all public IBM QPUs by navigating to the [Compute resources](https://quantum.cloud.ibm.com/computers) page on IBM Quantum® Platform. Click any QPU to open its detailed information card.\n", + "View a table of all public IBM QPUs by navigating to the [Compute resources](https://quantum.cloud.ibm.com/computers) page on IBM Quantum Platform. Click any QPU's name to open its detailed information card, which contains in-depth information, calibration data, and more.\n", + "\n", + "### Details section\n", "\n", "The first section of the QPU information card provides the following QPU details:\n", "\n", "[Name](#name) | [Qubits](#qubits) | [2Q error (best)](#2q-error-best) | [2Q error (layered)](#2q-error-layered) | [CLOPS (or CLOPS_h)](#clops-or-clops_h) | [Status](#status) | [Region](#region) | [QPU version](#qpu-version) | [Processor type](#processor-type) | [Basis gates](#native-gates-on-platform) | [Total pending jobs](#total-pending-jobs) | [Median 2Q error](#median-2q-error-heron-cz-eagle-ecr) |\n", "[Median SX error](#median-sx-error) | [Median readout error](#median-readout-error) | [Median T1 (relaxation time)](#median-t1-relaxation-time) | [Median T2 (dephasing time)](#median-t2-dephasing-time)\n", "\n", - "### Name\n", + "
\n", + "Click to browse details\n", + "#### Name\n", "\n", "The unique name assigned to a specific QPU. QPUs hosted on IBM Cloud® have names that begin with `ibm_*`. All QPUs are given a city name, e.g., `ibm_kingston`. This name does not indicate where the actual QPU is hosted. They are named after IBM® locations around the world.\n", "\n", - "### Qubits\n", + "#### Qubits\n", "\n", "The number of physical qubits in a QPU.\n", "\n", - "### 2Q error (best)\n", + "#### 2Q error (best)\n", "\n", "The lowest two-qubit (2Q) error on any edge of the device from the same batch of measurements used to calculate the median (see [Median 2Q error](#median-2q-error-heron-cz-eagle-ecr)).\n", "\n", - "### 2Q error (layered) \n", + "#### 2Q error (layered) \n", "\n", "Average error per layered gate (EPLG) in a chain of 100 qubits. Average EPLG measures the average gate error in a layered chain of $N$ qubits ($N$=100 here). It is derived from a similar quantity known as the layer fidelity (LF) where EPLG$_{100}$ = 4/5(1-LF$^{\\frac{1}{99}}$) and layer fidelity is the process fidelity of the layered chain of $N$ qubits. For details, see the paper [Benchmarking quantum processor performance at scale](https://arxiv.org/abs/2311.05933). Note that in the paper EPLG is defined for process error, but for consistency with the individually reported gate errors here it is quoted for average gate error, thus the factor of 4/5. Find an [example notebook](https://github.com/qiskit-community/qiskit-device-benchmarking/blob/main/notebooks/layer_fidelity_single_chain.ipynb) in the Qiskit Community GitHub.\n", "\n", - "### CLOPS (or CLOPS_h) \n", + "#### CLOPS (or CLOPS_h) \n", "\n", "Circuit layer operations per second, is a measure of how many layers of a 100x100 circuit (hardware-aware circuit) a QPU (quantum processing unit) can execute per unit of time. Find the [CLOPS code](https://github.com/qiskit-community/qiskit-device-benchmarking/tree/main/qiskit_device_benchmarking/clops#readme) in the Qiskit Community GitHub.\n", "\n", - "### Status\n", + "#### Status\n", "\n", "The QPU status; for example, `Online`, `Paused`, `Offline`, and so on.\n", "\n", - "### Region\n", + "#### Region\n", "\n", "Location of the data center where your data and experiments will be hosted and processed.\n", "\n", - "### QPU version\n", + "#### QPU version\n", "\n", "The version number of a QPU in the form `major.minor.revision`. See [QPU versioning](#qpu-versioning) for details on how this number is assigned.\n", "\n", - "### Processor type\n", + "#### Processor type\n", "\n", "Reflects the [topology](#coupling-map) and indicates the approximate qubit count.\n", "\n", "\n", - "### Basis gates\n", + "#### Basis gates\n", "\n", "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set. Note that the non-unitary operations are not listed here; use the [method in Qiskit](/docs/guides/get-qpu-information#native-gates-with-qiskit) to see all native gates and operations for a QPU. See a list of all native gates in [this table](#native-gates).\n", "\n", - "### Total pending jobs\n", + "#### Total pending jobs\n", "\n", "The total number of jobs that you have submitted to this QPU.\n", "\n", - "### Median 2Q error (Heron: CZ, Eagle: ECR)\n", + "#### Median 2Q error (Heron: CZ, Eagle: ECR)\n", "\n", "[Average gate fidelity](/docs/api/qiskit/quantum_info#average_gate_fidelity) of the two-qubit operation from randomized benchmarking. Measured in \"isolation\": batches with a minimum separation of two qubits between edges. This randomized benchmarking uses alternating layers of single-qubit Cliffords and two-qubit gates, and thus the final 2Q error value includes the error of the layer of single-qubit Cliffords. Find an [example notebook](https://github.com/qiskit-community/qiskit-device-benchmarking/blob/main/notebooks/device_rb_w_lf.ipynb) in the Qiskit Community GitHub. Find per-edge data in the [calibration data](#calibration-data) section of the QPU information card.\n", "\n", - "### Median SX error\n", + "#### Median SX error\n", "\n", "[Average gate fidelity](/docs/api/qiskit/quantum_info#average_gate_fidelity) of the √X (SX) gate from randomized benchmarking, measured simultaneously on all qubits. The randomized benchmarking sequence includes SX, ID, and X gates, and it is assumed their errors are the same.\n", "\n", - "### Median readout error\n", + "#### Median readout error\n", "\n", "Fidelity of the readout operation. Readout error is measured by preparing the qubit in the 0 (1) state and measuring the probability of an output in the 1 (0) state. The reported value is the average of these two errors. The median is taken over all qubits.\n", "\n", - "### Median T1 (relaxation time)\n", + "#### Median T1 (relaxation time)\n", "\n", "The T1 time represents the average duration a qubit remains in its excited state $|1\\rangle$ before decaying to its ground state $|0\\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s).\n", "\n", - "### Median T2 (dephasing time)\n", + "#### Median T2 (dephasing time)\n", "\n", "The T2 time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\\rangle$ and $|1\\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties. T2 is reported from a Hahn echo sequence.\n", + "
\n", "\n", - "## Calibration data\n", + "### Calibration data section\n", "\n", "\n", "If the benchmarking of a qubit or edge does not succeed over the course of several days, whether due to poor data quality or other internal factors, the reported error value is considered stale and will be reported as 1. This is not an indication that the qubit or edge is necessarily non-working or that the error is 1; rather, the error is considered undefined and you should proceed with caution when operating that qubit or gate. \n", @@ -595,63 +600,66 @@ "\n", "To download calibration data as a CSV file, click the download icon in the upper right corner of the Calibration data section.\n", "\n", - "In addition to the information provided in the Details section of the card, the Calibration data section also includes the following:\n", + "The Calibration data section includes the following:\n", "\n", "[Topology diagram or coupling map](#coupling-map) | [Readout assignment error](#readout-assignment-error) | [Prob meas0 prep1](#prob-meas0-prep1) | [Prob meas1 prep0](#prob-meas1-prep0) | [Readout length (ns)](#readout-length-ns) | [ID error / √x (sx) error / Pauli-X error / RX error](#finite-duration-discrete) | [Single-qubit gate length (ns)](#single-qubit-gate-length-ns)| [Z-axis rotation (RZ) error](#z-axis-rotation-rz-error) | [Operational](#operational) | [Gate length (ns)](#gate-length-ns) | [2Q error](#2q-error) | [RZZ error](#rzz-error-heron)\n", "\n", + "
\n", + "Click to browse calibration details\n", + "\n", "\n", - "### Topology diagram or coupling map\n", + "#### Topology diagram or coupling map\n", "\n", "A diagram that indicates the pairs of qubits that support two-qubit gate operations between them. This is also called the coupling map or connectivity. Qubits are represented as circles and the supported two-qubit gate operations are displayed as lines connecting the qubits.\n", "\n", - "### Readout assignment error\n", + "#### Readout assignment error\n", "\n", "The readout error quantifies the average probability of incorrectly measuring a qubit's state. It is commonly calculated as the mean of prob_meas0_prep1 and prob_meas1_prep0, providing a single metric for measurement fidelity.\n", "\n", - "### Prob meas0 prep1\n", + "#### Prob meas0 prep1\n", "\n", "This parameter indicates the probability of measuring a qubit in the $|0\\rangle$ state when it was intended to be prepared in the $|1\\rangle$ state, denoted as $P(0|1)$. It reflects errors in state preparation and measurement (SPAM), particularly measurement errors in superconducting qubits.\n", "\n", - "### Prob meas1 prep0\n", + "#### Prob meas1 prep0\n", "\n", "Similarly, this parameter represents the probability of measuring a qubit in the $|1\\rangle$ state when it was intended to be prepared in the $|0\\rangle$ state, denoted as $P(1|0)$. Like prob_meas0_prep1, it reflects SPAM errors, with measurement errors being the predominant contributor in superconducting qubits.\n", "\n", - "### Readout length (ns)\n", + "#### Readout length (ns)\n", "\n", "The readout_length specifies the duration of the readout operation for a qubit. It measures the time from the initiation of the measurement pulse to the completion of signal digitization, after which the system is ready for the next operation. Understanding this parameter is crucial for optimizing circuit execution, especially when incorporating mid-circuit measurements.\n", "\n", "\n", - "### ID error / √x (sx) error / Pauli-X error / RX error\n", + "#### ID error / √x (sx) error / Pauli-X error / RX error\n", "\n", "Error in the finite-duration discrete one-qubit gates, measured from randomized benchmarking. The randomized benchmarking sequence includes SX, ID, and X gates, and it is assumed their errors are the same. The ID gate is a delay of duration equal to the duration of the √X and X gates. The RX gate is also the same duration as the √X and X gates with variable amplitude, and so it is reported as having the same error as these gates.\n", "\n", - "### Single-qubit gate length (ns)\n", + "#### Single-qubit gate length (ns)\n", "\n", "Duration of a single-qubit gate operation.\n", "\n", - "### Z-axis rotation (RZ) error\n", + "#### Z-axis rotation (RZ) error\n", "\n", "Error in the virtual RZ gate. Reported as all 0 since these are performed in software.\n", "\n", - "### Operational\n", + "#### Operational\n", "\n", "Indicates whether the qubit can be utilized in circuits.\n", "\n", - "### Gate length (ns)\n", + "#### Gate length (ns)\n", "\n", "Duration of the two-qubit gate operation.\n", "\n", "\n", - "### 2Q error (Heron: CZ, Eagle: ECR)\n", + "#### 2Q error (Heron: CZ, Eagle: ECR)\n", "\n", "The 2Q error per edge from the same batch of measurements used to calculate the [2Q median](#median-2q-error-heron-cz-eagle-ecr) and [2Q best](#2q-error-best) errors.\n", "\n", - "### RZZ error (Heron)\n", + "#### RZZ error (Heron)\n", "\n", "Error in the RZZ gate averaged over the RZZ angles using a variant of randomized benchmarking for arbitrary unitaries.\n", + "
\n", "\n", - "\n", - "## Two-qubit gate error (layered)\n", + "### Two-qubit gate error (layered) section\n", "\n", "The third section provides the expanded view of the lowest `two-qubit gate error (layered)` measured as a function of the number of qubits in the chain. The final value, at chain length 100, is the value presented in the Details section. In practice, six 100-qubit chains (pre-selected based on expected optimal performance) are measured, and the value reported for number of qubits `N` is the lowest error found in a subset length `N` chain searching over the six 100-qubit chains.\n", "\n", @@ -695,8 +703,6 @@ ], "metadata": { "description": "Find and filter available backends, get configuration and calibration data programmatically.", - "in_page_toc_max_heading_level": 2, - "in_page_toc_min_heading_level": 2, "kernelspec": { "display_name": "Python 3", "language": "python", From d693655bf18c89ce1fe6f941f9883417a87c2afe Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 25 Nov 2025 16:10:33 -0500 Subject: [PATCH 04/36] wordsmith, rearrange --- docs/guides/get-qpu-information.ipynb | 48 ++++++++++++++------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index 2dc9f5bc4a4..670b6c07bfb 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -44,11 +44,12 @@ "source": [ "## List backends\n", "\n", - "To view the backends you have access to, you can either view a list on the [Compute resources page,](https://quantum.cloud.ibm.com/computers) or you can use the [`QiskitRuntimeService.backends()`](../api/qiskit-ibm-runtime/qiskit-runtime-service#backends) method. This method returns a list of [`IBMBackend`](../api/qiskit-ibm-runtime/ibm-backend) instances:\n", + "\n", + "### View backends available to you\n", "\n", - "\n", - "If you are logged in to a specific instance or region, or if you initialized the service with a specific instance or region by using `QiskitRuntimeService()`, only the backends available to you on that instance or region are returned.\n", - "" + "To view the backends you have access to, you can view a list on the [Compute resources page](https://quantum.cloud.ibm.com/computers) (note that your selected region might impact the QPUs listed). Click the filter icon and choose either \"All my instances\" or a specific instance name to see the available QPUs.\n", + "\n", + "You can also use the [`QiskitRuntimeService.backends()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends) method, as shown in the next code block. This method returns a list of [`IBMBackend`](../api/qiskit-ibm-runtime/ibm-backend) instances." ] }, { @@ -90,12 +91,23 @@ "service.backends()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "If you are logged in to a specific instance or region, or if you initialized the service with a specific instance or region by using `QiskitRuntimeService()`, only the backends available to you on that instance or region are returned.\n", + "" + ] + }, { "cell_type": "markdown", "id": "546f7270-66b9-43eb-a445-731ffa06a33f", "metadata": {}, "source": [ - "The [`QiskitRuntimeService.backend()`](../api/qiskit-ibm-runtime/qiskit-runtime-service#backend) method (note that this is singular: *backend*) takes the name of the backend as the input parameter and returns an [`IBMBackend`](../api/qiskit-ibm-runtime/ibm-backend) instance representing that particular backend:" + "### Search by a particular backend name\n", + "\n", + "The [`QiskitRuntimeService.backend()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backend) method (note that this is singular: *backend*) takes the name of the backend as the input parameter and returns an [`IBMBackend`](/docs/api/qiskit-ibm-runtime/ibm-backend) instance representing that particular backend:" ] }, { @@ -126,13 +138,13 @@ "source": [ "## Filter backends\n", "\n", - "You can also filter the available backends by their properties. For more general filters, set the `filters` argument to a function that accepts a backend object and returns `True` if it meets your criteria. Refer to the [API documentation](../api/qiskit-ibm-runtime/qiskit-runtime-service#backends) for more details.\n", + "You can also filter the available backends by their properties. For more general filters, set the `filters` argument to a function that accepts a backend object and returns `True` if it meets your criteria. Refer to the [API documentation](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends) for more details.\n", "\n", "The following code returns only backends that fit these criteria and are available to you _on your currently selected instance_:\n", "\n", "* Are real quantum devices (`simulator=False`)\n", "* Are currently operational (`operational=True`)\n", - "* Have at least 5 qubits (`min_num_qubits=5`)" + "* Have at least five qubits (`min_num_qubits=5`)" ] }, { @@ -509,9 +521,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Available details on the QPU information card\n", + "## Find QPU details on IBM Quantum Platform\n", "\n", - "View a table of all public IBM QPUs by navigating to the [Compute resources](https://quantum.cloud.ibm.com/computers) page on IBM Quantum Platform. Click any QPU's name to open its detailed information card, which contains in-depth information, calibration data, and more.\n", + "In addition to finding details programmatically, you can also use IBM Quantum Platform to view information about specific QPUs. Navigate to the [Compute resources](https://quantum.cloud.ibm.com/computers) page to view a table of all QPUs, then click the name of any QPU to open its detailed information card. The card contains details such as error rates, calibration data, and more.\n", "\n", "### Details section\n", "\n", @@ -663,18 +675,6 @@ "\n", "The third section provides the expanded view of the lowest `two-qubit gate error (layered)` measured as a function of the number of qubits in the chain. The final value, at chain length 100, is the value presented in the Details section. In practice, six 100-qubit chains (pre-selected based on expected optimal performance) are measured, and the value reported for number of qubits `N` is the lowest error found in a subset length `N` chain searching over the six 100-qubit chains.\n", "\n", - "\n", - "## View your resources\n", - "\n", - "To find your available QPUs, open the [Compute resources](https://quantum.cloud.ibm.com/computers) page (make sure you are signed in). Note that your selected region might impact the QPUs listed. Click a QPU to view its details.\n", - "\n", - "You can also view your available QPUs by using the [backends API.](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends) For example, the following code will return all of the backends that the specified instance (`my_instance`) can access:\n", - "\n", - "```python\n", - " QiskitRuntimeService(instance=\"my_instance_CRN\")\n", - " service.backends()\n", - "```\n", - "\n", "\n", "## Table of native gates and operations\n", "\n", @@ -702,7 +702,9 @@ } ], "metadata": { - "description": "Find and filter available backends, get configuration and calibration data programmatically.", + "description": "List and filter available backends, and find QPU details such as configuration and calibration data.", + "in_page_toc_max_heading_level": 2, + "in_page_toc_min_heading_level": 2, "kernelspec": { "display_name": "Python 3", "language": "python", @@ -720,7 +722,7 @@ "pygments_lexer": "ipython3", "version": "3" }, - "title": "Get backend information with Qiskit" + "title": "Get backend information" }, "nbformat": 4, "nbformat_minor": 4 From 996078093273177529f51b08058be9143b9b3893 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 25 Nov 2025 16:11:04 -0500 Subject: [PATCH 05/36] tox -e fix --- docs/guides/get-qpu-information.ipynb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index 670b6c07bfb..c73104b5cf9 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -93,6 +93,7 @@ }, { "cell_type": "markdown", + "id": "7bc88fb4-868a-4bb4-baec-05e85792f71f", "metadata": {}, "source": [ "\n", @@ -485,6 +486,7 @@ }, { "cell_type": "markdown", + "id": "85d95182-0996-4584-863a-0ecf549577d5", "metadata": {}, "source": [ "## QPU versioning\n", @@ -514,11 +516,12 @@ "\n", "* Manual calibrations to improve fidelities.\n", "* Small electronics changes that don’t affect operation.\n", - "* QPU software updates.\n" + "* QPU software updates." ] }, { "cell_type": "markdown", + "id": "7a3ef741-9431-4d1c-a9e8-a1c75789163b", "metadata": {}, "source": [ "## Find QPU details on IBM Quantum Platform\n", @@ -546,11 +549,11 @@ "\n", "The lowest two-qubit (2Q) error on any edge of the device from the same batch of measurements used to calculate the median (see [Median 2Q error](#median-2q-error-heron-cz-eagle-ecr)).\n", "\n", - "#### 2Q error (layered) \n", + "#### 2Q error (layered)\n", "\n", "Average error per layered gate (EPLG) in a chain of 100 qubits. Average EPLG measures the average gate error in a layered chain of $N$ qubits ($N$=100 here). It is derived from a similar quantity known as the layer fidelity (LF) where EPLG$_{100}$ = 4/5(1-LF$^{\\frac{1}{99}}$) and layer fidelity is the process fidelity of the layered chain of $N$ qubits. For details, see the paper [Benchmarking quantum processor performance at scale](https://arxiv.org/abs/2311.05933). Note that in the paper EPLG is defined for process error, but for consistency with the individually reported gate errors here it is quoted for average gate error, thus the factor of 4/5. Find an [example notebook](https://github.com/qiskit-community/qiskit-device-benchmarking/blob/main/notebooks/layer_fidelity_single_chain.ipynb) in the Qiskit Community GitHub.\n", "\n", - "#### CLOPS (or CLOPS_h) \n", + "#### CLOPS (or CLOPS_h)\n", "\n", "Circuit layer operations per second, is a measure of how many layers of a 100x100 circuit (hardware-aware circuit) a QPU (quantum processing unit) can execute per unit of time. Find the [CLOPS code](https://github.com/qiskit-community/qiskit-device-benchmarking/tree/main/qiskit_device_benchmarking/clops#readme) in the Qiskit Community GitHub.\n", "\n", @@ -603,7 +606,7 @@ "### Calibration data section\n", "\n", "\n", - "If the benchmarking of a qubit or edge does not succeed over the course of several days, whether due to poor data quality or other internal factors, the reported error value is considered stale and will be reported as 1. This is not an indication that the qubit or edge is necessarily non-working or that the error is 1; rather, the error is considered undefined and you should proceed with caution when operating that qubit or gate. \n", + "If the benchmarking of a qubit or edge does not succeed over the course of several days, whether due to poor data quality or other internal factors, the reported error value is considered stale and will be reported as 1. This is not an indication that the qubit or edge is necessarily non-working or that the error is 1; rather, the error is considered undefined and you should proceed with caution when operating that qubit or gate.\n", "\n", "\n", "The second section, Calibration data, provides qubit, connectivity, and gate data. You can choose to visualize the information as a map, graph, or table.\n", From 81c27c92b6c6a7d9f5a94137f5c07caac8bfd1cb Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 25 Nov 2025 16:14:14 -0500 Subject: [PATCH 06/36] update title again --- docs/guides/_toc.json | 2 +- docs/guides/get-qpu-information.ipynb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/_toc.json b/docs/guides/_toc.json index f0c6bbf9de4..f8b8d26f234 100644 --- a/docs/guides/_toc.json +++ b/docs/guides/_toc.json @@ -612,7 +612,7 @@ "url": "/docs/guides/qpu-information" }, { - "title": "Get backend information with Qiskit", + "title": "Backend details", "url": "/docs/guides/get-qpu-information" }, { diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index c73104b5cf9..a5803eb48c6 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -5,7 +5,7 @@ "id": "cbac187d-c590-404f-b451-8f4ec2292278", "metadata": {}, "source": [ - "# Get backend information" + "# Find information about backends" ] }, { @@ -725,7 +725,7 @@ "pygments_lexer": "ipython3", "version": "3" }, - "title": "Get backend information" + "title": "Backend details" }, "nbformat": 4, "nbformat_minor": 4 From 200d6607ac4f93d69a8a0b9fff33938706339c59 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 25 Nov 2025 16:21:31 -0500 Subject: [PATCH 07/36] rmv qpu-information file --- docs/guides/_toc.json | 4 - docs/guides/cloud-setup.mdx | 2 +- docs/guides/execute-on-hardware.mdx | 62 +++--- docs/guides/get-qpu-information.ipynb | 2 +- docs/guides/processor-types.mdx | 2 +- docs/guides/qpu-information.mdx | 210 ------------------ docs/guides/represent-quantum-computers.ipynb | 2 +- docs/guides/save-credentials.mdx | 2 +- qiskit_bot.yaml | 3 - 9 files changed, 36 insertions(+), 253 deletions(-) delete mode 100644 docs/guides/qpu-information.mdx diff --git a/docs/guides/_toc.json b/docs/guides/_toc.json index f8b8d26f234..801b4692f3a 100644 --- a/docs/guides/_toc.json +++ b/docs/guides/_toc.json @@ -607,10 +607,6 @@ "title": "Processor types", "url": "/docs/guides/processor-types" }, - { - "title": "QPU information", - "url": "/docs/guides/qpu-information" - }, { "title": "Backend details", "url": "/docs/guides/get-qpu-information" diff --git a/docs/guides/cloud-setup.mdx b/docs/guides/cloud-setup.mdx index f15865836cd..0a8b6b547fc 100644 --- a/docs/guides/cloud-setup.mdx +++ b/docs/guides/cloud-setup.mdx @@ -56,7 +56,7 @@ If you are using a trusted Python environment, such as a personal laptop, it is - [Overview of available plans.](plans-overview) - [Configure the Qiskit SDK locally.](configure-qiskit-local) - - [View your available QPUs.](/docs/guides/qpu-information#available) + - [View your available QPUs.](/docs/guides/get-qpu-information#available) - Follow the steps in [Hello world](/docs/tutorials/hello-world) to write and run a quantum program. - [Set up to use IBM Quantum Platform with REST API.](/docs/guides/cloud-setup-rest-api) - Try a [tutorial](/docs/tutorials). diff --git a/docs/guides/execute-on-hardware.mdx b/docs/guides/execute-on-hardware.mdx index 35c0151dd26..e27c64acd21 100644 --- a/docs/guides/execute-on-hardware.mdx +++ b/docs/guides/execute-on-hardware.mdx @@ -26,47 +26,47 @@ expectation values of observables corresponding to physical quantities or cost f ## Guides for executing on hardware ### Run with primitives -* [Introduction to primitives](./primitives) -* [Get started with primitives](./get-started-with-primitives) -* [PUBs and primitive results](./primitive-input-output) -* [Primitives examples](./primitives-examples) -* [Primitives with REST API](./primitives-rest-api) -* [Noise learning helper](./noise-learning) +* [Introduction to primitives](/docs/guides/primitives) +* [Get started with primitives](/docs/guides/get-started-with-primitives) +* [PUBs and primitive results](/docs/guides/primitive-input-output) +* [Primitives examples](/docs/guides/primitives-examples) +* [Primitives with REST API](/docs/guides/primitives-rest-api) +* [Noise learning helper](/docs/guides/noise-learning) * [Directed execution model (beta)](/docs/guides/directed-execution-model) ### Configure runtime options -* [Overview](./runtime-options-overview) -* [Specify options](./specify-runtime-options) -* [Configure error suppression](./configure-error-suppression) -* [Configure error mitigation](./configure-error-mitigation) -* [Error mitigation and suppression techniques](./error-mitigation-and-suppression-techniques) +* [Overview](/docs/guides/runtime-options-overview) +* [Specify options](/docs/guides/specify-runtime-options) +* [Configure error suppression](/docs/guides/configure-error-suppression) +* [Configure error mitigation](/docs/guides/configure-error-mitigation) +* [Error mitigation and suppression techniques](/docs/guides/error-mitigation-and-suppression-techniques) ### Execution modes -* [Introduction to execution modes](./execution-modes) -* [Choose the right execution mode](./choose-execution-mode) -* [Run jobs in a session](./run-jobs-session) -* [Run jobs in a batch](./run-jobs-batch) -* [Execution modes using REST API](./execution-modes-rest-api) +* [Introduction to execution modes](/docs/guides/execution-modes) +* [Choose the right execution mode](/docs/guides/choose-execution-mode) +* [Run jobs in a session](/docs/guides/run-jobs-session) +* [Run jobs in a batch](/docs/guides/run-jobs-batch) +* [Execution modes using REST API](/docs/guides/execution-modes-rest-api) * [Execution modes FAQs](/docs/guides/execution-modes-faq) ### Manage jobs -* [Monitor or cancel a job](./monitor-job) -* [Workload usage](./estimate-job-run-time) -* [Minimize job run time](./minimize-time) -* [Maximum execution time](./max-execution-time) -* [Job limits](./job-limits) +* [Monitor or cancel a job](/docs/guides/monitor-job) +* [Workload usage](/docs/guides/estimate-job-run-time) +* [Minimize job run time](/docs/guides/minimize-time) +* [Maximum execution time](/docs/guides/max-execution-time) +* [Job limits](/docs/guides/job-limits) * [Organize and search by job tags](/docs/guides/add-job-tags) ### QPU and platform information -* [Processor types](./processor-types) -* [QPU information](./qpu-information) -* [Calibration jobs](./calibration-jobs) -* [Get QPU information with Qiskit](./get-qpu-information) -* [Dynamic repetition rate execution](./repetition-rate-execution) -* [Retired QPUs](./retired-qpus) -* [Instances](./instances) -* [Fair-share scheduler](./fair-share-scheduler) -* [Manage cost](./manage-cost) -* [View cost](./view-cost) +* [Processor types](/docs/guides/processor-types) +* [QPU information](/docs/guides/qpu-information) +* [Calibration jobs](/docs/guides/calibration-jobs) +* [Get QPU information with Qiskit](/docs/guides/get-qpu-information) +* [Dynamic repetition rate execution](/docs/guides/repetition-rate-execution) +* [Retired QPUs](/docs/guides/retired-qpus) +* [Instances](/docs/guides/instances) +* [Fair-share scheduler](/docs/guides/fair-share-scheduler) +* [Manage cost](/docs/guides/manage-cost) +* [View cost](/docs/guides/view-cost) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index a5803eb48c6..2843a6ed14a 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -263,7 +263,7 @@ "\n", "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set.\n", "\n", - "You can view the native gates and operations for a QPU either [with Qiskit](#native-gates-with-qiskit), or on the IBM Quantum® Platform [Compute resources page](/docs/guides/qpu-information#native-gates-on-platform).\n", + "You can view the native gates and operations for a QPU either [with Qiskit](#native-gates-with-qiskit), or on the IBM Quantum® Platform [Compute resources page](#native-gates-on-platform).\n", "\n", "\n", "```python\n", diff --git a/docs/guides/processor-types.mdx b/docs/guides/processor-types.mdx index 05de9f6274d..d7a76b582a4 100644 --- a/docs/guides/processor-types.mdx +++ b/docs/guides/processor-types.mdx @@ -9,7 +9,7 @@ description: Information on IBM Quantum hardware and features of different proce Processor types are named for the general technology qualities that go into builds, consisting of the family and revision. Family (for example, Heron) refers to the size and scale of circuits possible on the chip. This is primarily determined by the number of qubits and the connectivity graph. Revisions (for example, r3) are design variants within a given family, often leading to performance improvements or tradeoffs. -To find the native gates and operations of a backend, use [this code](/docs/guides/get-qpu-information#native-gates-with-qiskit). You can see all native gates and operations in [this table](/docs/guides/qpu-information#native-gates). +To find the native gates and operations of a backend, use [this code](/docs/guides/get-qpu-information#native-gates-with-qiskit). You can see all native gates and operations in [this table](/docs/guides/get-qpu-information#native-gates). As new processor families are added, older families are retired. See the [Retired processor families](retired-qpus#families) section to learn more. diff --git a/docs/guides/qpu-information.mdx b/docs/guides/qpu-information.mdx deleted file mode 100644 index fd507400425..00000000000 --- a/docs/guides/qpu-information.mdx +++ /dev/null @@ -1,210 +0,0 @@ ---- -title: QPU information -description: Information about QPU calibration, properties, and versioning -in_page_toc_min_heading_level: 2 -in_page_toc_max_heading_level: 2 ---- - -# QPU information - -IBM® offers access to a wide variety of quantum processing units (QPUs). All QPUs deployed by IBM are based on superconducting qubit technology, as the control and scalability of this technology pave a clear path to achieving quantum advantage with these QPUs. - -Explore all public IBM QPUs by navigating to the [Compute resources](https://quantum.cloud.ibm.com/computers) page on IBM Quantum® Platform. Click any QPU to open its detailed information card. - -This page describes the detailed information you will find on the QPU information card. - -## QPU versioning - -Each QPU has a version number in the form X.Y.Z (major.minor.revision). A circuit compiled for a given version number is guaranteed to run on that QPU. If the revision number changes, the circuit will continue to run. If the major or minor number changes, the circuit is not guaranteed to run, although it may do so. The conditions under which a version number may change are listed below: - -### Major version - -The major version will increment for changes such as: - -* Sample changes. -* Major changes to the control electronics. -* Moving the QPU to a new location, if significant behavior changes result. - -### Minor version - -The minor version will increment for changes such as: - -* Warmup / cool-down cycles. -* Swapping out some electronics, if the replacement appreciably affects operation. -* Changing the direction of a controlled-NOT gate. -* Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software. - -### Revision version - -The revision version number will increment for fixes that do not break the existing compiled circuit. These changes include: - -* Manual calibrations to improve fidelities. -* Small electronics changes that don’t affect operation. -* QPU software updates. - -## QPU details - -The first section of the QPU information card provides the following QPU details: - -[Name](#name) | [Qubits](#qubits) | [2Q error (best)](#2q-error-best) | [2Q error (layered)](#2q-error-layered) | [CLOPS (or CLOPS_h)](#clops-or-clops_h) | [Status](#status) | [Region](#region) | [QPU version](#qpu-version) | [Processor type](#processor-type) | [Basis gates](#native-gates-on-platform) | [Total pending jobs](#total-pending-jobs) | [Median 2Q error](#median-2q-error-heron-cz-eagle-ecr) | -[Median SX error](#median-sx-error) | [Median readout error](#median-readout-error) | [Median T1 (relaxation time)](#median-t1-relaxation-time) | [Median T2 (dephasing time)](#median-t2-dephasing-time) - -### Name - -The unique name assigned to a specific QPU. QPUs hosted on IBM Cloud® have names that begin with `ibm_*`. All QPUs are given a city name, e.g., `ibm_kingston`. This name does not indicate where the actual QPU is hosted. They are named after IBM® locations around the world. - -### Qubits - -The number of physical qubits in a QPU. - -### 2Q error (best) - -The lowest two-qubit (2Q) error on any edge of the device from the same batch of measurements used to calculate the median (see [Median 2Q error](#median-2q-error-heron-cz-eagle-ecr)). - -### 2Q error (layered) - -Average error per layered gate (EPLG) in a chain of 100 qubits. Average EPLG measures the average gate error in a layered chain of $N$ qubits ($N$=100 here). It is derived from a similar quantity known as the layer fidelity (LF) where EPLG$_{100}$ = 4/5(1-LF$^{\frac{1}{99}}$) and layer fidelity is the process fidelity of the layered chain of $N$ qubits. For details, see the paper [Benchmarking quantum processor performance at scale](https://arxiv.org/abs/2311.05933). Note that in the paper EPLG is defined for process error, but for consistency with the individually reported gate errors here it is quoted for average gate error, thus the factor of 4/5. Find an [example notebook](https://github.com/qiskit-community/qiskit-device-benchmarking/blob/main/notebooks/layer_fidelity_single_chain.ipynb) in the Qiskit Community GitHub. - -### CLOPS (or CLOPS_h) - -Circuit layer operations per second, is a measure of how many layers of a 100x100 circuit (hardware-aware circuit) a QPU (quantum processing unit) can execute per unit of time. Find the [CLOPS code](https://github.com/qiskit-community/qiskit-device-benchmarking/tree/main/qiskit_device_benchmarking/clops#readme) in the Qiskit Community GitHub. - -### Status - -The QPU status; for example, `Online`, `Paused`, `Offline`, and so on. - -### Region - -Location of the data center where your data and experiments will be hosted and processed. - -### QPU version - -The version number of a QPU in the form `major.minor.revision`. See [QPU versioning](#qpu-versioning) for details on how this number is assigned. - -### Processor type - -Reflects the [topology](#coupling-map) and indicates the approximate qubit count. - - -### Basis gates - -Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set. Note that the non-unitary operations are not listed here; use the [method in Qiskit](/docs/guides/get-qpu-information#native-gates-with-qiskit) to see all native gates and operations for a QPU. See a list of all native gates in [this table](#native-gates). - -### Total pending jobs - -The total number of jobs that you have submitted to this QPU. - -### Median 2Q error (Heron: CZ, Eagle: ECR) - -[Average gate fidelity](/docs/api/qiskit/quantum_info#average_gate_fidelity) of the two-qubit operation from randomized benchmarking. Measured in "isolation": batches with a minimum separation of two qubits between edges. This randomized benchmarking uses alternating layers of single-qubit Cliffords and two-qubit gates, and thus the final 2Q error value includes the error of the layer of single-qubit Cliffords. Find an [example notebook](https://github.com/qiskit-community/qiskit-device-benchmarking/blob/main/notebooks/device_rb_w_lf.ipynb) in the Qiskit Community GitHub. Find per-edge data in the [calibration data](#calibration-data) section of the QPU information card. - -### Median SX error - -[Average gate fidelity](/docs/api/qiskit/quantum_info#average_gate_fidelity) of the √X (SX) gate from randomized benchmarking, measured simultaneously on all qubits. The randomized benchmarking sequence includes SX, ID, and X gates, and it is assumed their errors are the same. - -### Median readout error - -Fidelity of the readout operation. Readout error is measured by preparing the qubit in the 0 (1) state and measuring the probability of an output in the 1 (0) state. The reported value is the average of these two errors. The median is taken over all qubits. - -### Median T1 (relaxation time) - -The T1 time represents the average duration a qubit remains in its excited state $|1\rangle$ before decaying to its ground state $|0\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s). - -### Median T2 (dephasing time) - -The T2 time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\rangle$ and $|1\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties. T2 is reported from a Hahn echo sequence. - -## Calibration data - - -If the benchmarking of a qubit or edge does not succeed over the course of several days, whether due to poor data quality or other internal factors, the reported error value is considered stale and will be reported as 1. This is not an indication that the qubit or edge is necessarily non-working or that the error is 1; rather, the error is considered undefined and you should proceed with caution when operating that qubit or gate. - - -The second section, Calibration data, provides qubit, connectivity, and gate data. You can choose to visualize the information as a map, graph, or table. - -You can customize the data that is shown in each view, using the drop-down menus. For example, in the map view, you can choose the data you want to see for qubits and connections. The colored bars associated with the diagram or graph indicate the range that is shown, with the average value marked. The color maximum and minimum change depending on the QPU. - -To download calibration data as a CSV file, click the download icon in the upper right corner of the Calibration data section. - -In addition to the information provided in the Details section of the card, the Calibration data section also includes the following: - -[Topology diagram or coupling map](#coupling-map) | [Readout assignment error](#readout-assignment-error) | [Prob meas0 prep1](#prob-meas0-prep1) | [Prob meas1 prep0](#prob-meas1-prep0) | [Readout length (ns)](#readout-length-ns) | [ID error / √x (sx) error / Pauli-X error / RX error](#finite-duration-discrete) | [Single-qubit gate length (ns)](#single-qubit-gate-length-ns)| [Z-axis rotation (RZ) error](#z-axis-rotation-rz-error) | [Operational](#operational) | [Gate length (ns)](#gate-length-ns) | [2Q error](#2q-error) | [RZZ error](#rzz-error-heron) - - -### Topology diagram or coupling map - -A diagram that indicates the pairs of qubits that support two-qubit gate operations between them. This is also called the coupling map or connectivity. Qubits are represented as circles and the supported two-qubit gate operations are displayed as lines connecting the qubits. - -### Readout assignment error - -The readout error quantifies the average probability of incorrectly measuring a qubit's state. It is commonly calculated as the mean of prob_meas0_prep1 and prob_meas1_prep0, providing a single metric for measurement fidelity. - -### Prob meas0 prep1 - -This parameter indicates the probability of measuring a qubit in the $|0\rangle$ state when it was intended to be prepared in the $|1\rangle$ state, denoted as $P(0|1)$. It reflects errors in state preparation and measurement (SPAM), particularly measurement errors in superconducting qubits. - -### Prob meas1 prep0 - -Similarly, this parameter represents the probability of measuring a qubit in the $|1\rangle$ state when it was intended to be prepared in the $|0\rangle$ state, denoted as $P(1|0)$. Like prob_meas0_prep1, it reflects SPAM errors, with measurement errors being the predominant contributor in superconducting qubits. - -### Readout length (ns) - -The readout_length specifies the duration of the readout operation for a qubit. It measures the time from the initiation of the measurement pulse to the completion of signal digitization, after which the system is ready for the next operation. Understanding this parameter is crucial for optimizing circuit execution, especially when incorporating mid-circuit measurements. - - -### ID error / √x (sx) error / Pauli-X error / RX error - -Error in the finite-duration discrete one-qubit gates, measured from randomized benchmarking. The randomized benchmarking sequence includes SX, ID, and X gates, and it is assumed their errors are the same. The ID gate is a delay of duration equal to the duration of the √X and X gates. The RX gate is also the same duration as the √X and X gates with variable amplitude, and so it is reported as having the same error as these gates. - -### Single-qubit gate length (ns) - -Duration of a single-qubit gate operation. - -### Z-axis rotation (RZ) error - -Error in the virtual RZ gate. Reported as all 0 since these are performed in software. - -### Operational - -Indicates whether the qubit can be utilized in circuits. - -### Gate length (ns) - -Duration of the two-qubit gate operation. - - -### 2Q error (Heron: CZ, Eagle: ECR) - -The 2Q error per edge from the same batch of measurements used to calculate the [2Q median](#median-2q-error-heron-cz-eagle-ecr) and [2Q best](#2q-error-best) errors. - -### RZZ error (Heron) - -Error in the RZZ gate averaged over the RZZ angles using a variant of randomized benchmarking for arbitrary unitaries. - - -## Two-qubit gate error (layered) - -The third section provides the expanded view of the lowest `two-qubit gate error (layered)` measured as a function of the number of qubits in the chain. The final value, at chain length 100, is the value presented in the Details section. In practice, six 100-qubit chains (pre-selected based on expected optimal performance) are measured, and the value reported for number of qubits `N` is the lowest error found in a subset length `N` chain searching over the six 100-qubit chains. - - -## View your resources - -To find your available QPUs, open the [Compute resources](https://quantum.cloud.ibm.com/computers) page (make sure you are signed in). Note that your selected region might impact the QPUs listed. Click a QPU to view its details. - -You can also view your available QPUs by using the [backends API.](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends) For example, the following code will return all of the backends that the specified instance (`my_instance`) can access: - -```python - QiskitRuntimeService(instance="my_instance_CRN") - service.backends() -``` - - -## Table of native gates and operations - -| Operation category | Name | -| :--- | :--- | -| Single-qubit gates | [`RZ`](/docs/api/qiskit/qiskit.circuit.library.RZGate), [`SX`](/docs/api/qiskit/qiskit.circuit.library.SXGate), [`X`](/docs/api/qiskit/qiskit.circuit.library.XGate), [`ID`](/docs/api/qiskit/qiskit.circuit.library.IGate), [`delay`](/docs/api/qiskit/circuit#qiskit.circuit.Delay) | -| Two-qubit gates | [`CZ`](/docs/api/qiskit/qiskit.circuit.library.CZGate), [`ECR`](/docs/api/qiskit/qiskit.circuit.library.ECRGate)| -| Fractional gates | [`RX`](/docs/api/qiskit/qiskit.circuit.library.RXGate) (single-qubit), [`RZZ`](/docs/api/qiskit/qiskit.circuit.library.RZZGate) (two-qubit) | -| Non-unitary instructions | [`measure`](/docs/api/qiskit/circuit#qiskit.circuit.Measure), [`reset`](/docs/api/qiskit/circuit#qiskit.circuit.Reset) | -| Control flow | [`if_else`](/docs/api/qiskit/qiskit.circuit.IfElseOp) (classical feedforward) | \ No newline at end of file diff --git a/docs/guides/represent-quantum-computers.ipynb b/docs/guides/represent-quantum-computers.ipynb index 03872f463bc..c1c8892ba23 100644 --- a/docs/guides/represent-quantum-computers.ipynb +++ b/docs/guides/represent-quantum-computers.ipynb @@ -338,7 +338,7 @@ "\n", "\n", "\n", - " QPUs have default basis gates, but you can choose whatever gates you want, as long as you provide the instruction or add pulse gates (see [Create transpiler passes.](custom-transpiler-pass)) The default basis gates are those that calibrations have been done for on the QPU, so no further instruction/pulse gates need to be provided. For example, on some QPUs `cx` is the default two-qubit gate and `ecr` on others. See the list of possible [native gates and operations](/docs/guides/qpu-information#native-gates) for more details.\n", + " QPUs have default basis gates, but you can choose whatever gates you want, as long as you provide the instruction or add pulse gates (see [Create transpiler passes.](custom-transpiler-pass)) The default basis gates are those that calibrations have been done for on the QPU, so no further instruction/pulse gates need to be provided. For example, on some QPUs `cx` is the default two-qubit gate and `ecr` on others. See the list of possible [native gates and operations](/docs/guides/get-qpu-information#native-gates) for more details.\n", "" ] }, diff --git a/docs/guides/save-credentials.mdx b/docs/guides/save-credentials.mdx index 2116c9326ca..138fe3c6716 100644 --- a/docs/guides/save-credentials.mdx +++ b/docs/guides/save-credentials.mdx @@ -123,7 +123,7 @@ To view all credentials that you have saved, run `service.saved_accounts()`. No - [Initialize the Qiskit Runtime service](/docs/guides/initialize-account) in a trusted Python environment. - [Initialize the Qiskit Runtime service in an **untrusted environment**.](/docs/guides/cloud-setup-untrusted) - - [View your available QPUs.](/docs/guides/qpu-information#available) + - [View your available QPUs.](/docs/guides/get-qpu-information#available) - [Configure the Qiskit SDK locally.](/docs/guides/configure-qiskit-local) - Follow the steps in [Hello world](/docs/tutorials/hello-world) to write and run a quantum program. - [Set up to use IBM Quantum Platform with REST API.](/docs/guides/cloud-setup-rest-api) diff --git a/qiskit_bot.yaml b/qiskit_bot.yaml index 1080b70d678..00b38692fe4 100644 --- a/qiskit_bot.yaml +++ b/qiskit_bot.yaml @@ -346,9 +346,6 @@ notifications: - "@beckykd" "docs/guides/synthesize-unitary-operators": - "@Cryoris" - "docs/guides/qpu-information": - - "`@lerongil`" - - "@abbycross" "docs/guides/transpile": - "@kaelynj" - "@abbycross" From 9bf90259d4de82141502ae26d6a68ca0e711820e Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 25 Nov 2025 16:27:17 -0500 Subject: [PATCH 08/36] Cleanup after deleting file --- docs/guides/execute-on-hardware.mdx | 3 +-- docs/guides/get-qpu-information.ipynb | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/execute-on-hardware.mdx b/docs/guides/execute-on-hardware.mdx index e27c64acd21..9daf8e82924 100644 --- a/docs/guides/execute-on-hardware.mdx +++ b/docs/guides/execute-on-hardware.mdx @@ -60,9 +60,8 @@ expectation values of observables corresponding to physical quantities or cost f ### QPU and platform information * [Processor types](/docs/guides/processor-types) -* [QPU information](/docs/guides/qpu-information) +* [Backend details](/docs/guides/get-qpu-information) * [Calibration jobs](/docs/guides/calibration-jobs) -* [Get QPU information with Qiskit](/docs/guides/get-qpu-information) * [Dynamic repetition rate execution](/docs/guides/repetition-rate-execution) * [Retired QPUs](/docs/guides/retired-qpus) * [Instances](/docs/guides/instances) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index 2843a6ed14a..94fcf882fca 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -5,7 +5,7 @@ "id": "cbac187d-c590-404f-b451-8f4ec2292278", "metadata": {}, "source": [ - "# Find information about backends" + "# Backend details" ] }, { @@ -603,6 +603,7 @@ "The T2 time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\\rangle$ and $|1\\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties. T2 is reported from a Hahn echo sequence.\n", "\n", "\n", + "\n", "### Calibration data section\n", "\n", "\n", From c2151f29d472255de606fc6d390267d0d42bf125 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 25 Nov 2025 17:21:42 -0500 Subject: [PATCH 09/36] rmv brisbane --- docs/guides/get-qpu-information.ipynb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index 94fcf882fca..095f7153750 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -70,7 +70,6 @@ "data": { "text/plain": [ "[,\n", - " ,\n", " ,\n", " ,\n", " ,\n", @@ -120,7 +119,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -129,7 +128,7 @@ } ], "source": [ - "service.backend(\"ibm_brisbane\")" + "service.backend(\"ibm_kingston\")" ] }, { @@ -158,7 +157,6 @@ "data": { "text/plain": [ "[,\n", - " ,\n", " ,\n", " ,\n", " ,\n", @@ -229,7 +227,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Name: ibm_brisbane\n", + "Name: ibm_kingston\n", "Version: 2\n", "No. of qubits: 127\n", "\n" @@ -237,7 +235,7 @@ } ], "source": [ - "backend = service.backend(\"ibm_brisbane\")\n", + "backend = service.backend(\"ibm_kingston\")\n", "\n", "print(\n", " f\"Name: {backend.name}\\n\"\n", From 34e9fed73f0392c86b91e6e86a1be8c71e455892 Mon Sep 17 00:00:00 2001 From: abbycross Date: Mon, 8 Dec 2025 17:11:54 -0500 Subject: [PATCH 10/36] Apply suggestions from code review --- docs/guides/get-qpu-information.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index b9c0508698b..01bafb201e6 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -142,7 +142,7 @@ "\n", "* Are real quantum devices (`simulator=False`)\n", "* Are currently operational (`operational=True`)\n", - "* Have at least five qubits (`min_num_qubits=5`)" + "* Have at least a hundred qubits (`min_num_qubits=100`)" ] }, { @@ -257,7 +257,7 @@ "\n", "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set.\n", "\n", - "You can view the native gates and operations for a QPU either [with Qiskit](#native-gates-with-qiskit), or on the IBM Quantum® Platform [Compute resources page](#native-gates-on-platform).\n", + "You can view the native gates and supported instructions, including non-gate-type instructions, for a QPU [with Qiskit](#native-gates-with-qiskit). The IBM Quantum® Platform [Compute resources page](#native-gates-on-platform) lists the basis gates for a QPU. \n", "\n", "\n", "```python\n", From 25285d2c99d0307d5d6478cfa05e69f675e41bcf Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 8 Dec 2025 17:22:41 -0500 Subject: [PATCH 11/36] link to calibration jobs page --- docs/guides/get-qpu-information.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index 01bafb201e6..57c7e7e694c 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -286,7 +286,7 @@ "source": [ "## Dynamic backend information\n", "\n", - "Backends can also have properties that change whenever the backed is calibrated, such as qubit frequency and operation error rates. Backends are usually calibrated every 24 hours, and their properties update after the calibration sequence completes. These properties can be used when optimizing quantum circuits or to construct noise models for a classical simulator.\n", + "Backends can also have properties that change whenever the backed is calibrated, such as qubit frequency and operation error rates. Backend properties update after the calibration sequence completes. These properties can be used when optimizing quantum circuits or to construct noise models for a classical simulator. See the [Calibration jobs](/docs/guides/calibration-jobs) guide for more information.\n", "\n", "\n", "### Qubit properties\n", From 845e84070c9570dadeb64e4dade7b8363c840e0e Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 8 Dec 2025 17:30:11 -0500 Subject: [PATCH 12/36] transition to qubit properties code examples --- docs/guides/get-qpu-information.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index 57c7e7e694c..a15ca64568d 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -288,10 +288,8 @@ "\n", "Backends can also have properties that change whenever the backed is calibrated, such as qubit frequency and operation error rates. Backend properties update after the calibration sequence completes. These properties can be used when optimizing quantum circuits or to construct noise models for a classical simulator. See the [Calibration jobs](/docs/guides/calibration-jobs) guide for more information.\n", "\n", - "\n", "### Qubit properties\n", "\n", - "\n", "The `backend.properties().qubit_property()` returns information about the qubits' physical attributes. It contains a dictionary of various properties of the qubit, each paired with its value and the timestamp of the last calibration.\n", "\n", "- `T1 (Relaxation Time)`: The T1 time represents the average duration a qubit remains in its excited state $|1\\rangle$ before decaying to its ground state $|0\\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s).\n", @@ -308,7 +306,9 @@ "\n", "- `prob_meas1_prep0`: Similarly, this parameter represents the probability of measuring a qubit in the 1 state when it was intended to be prepared in the $|0\\rangle$ state, denoted as $P(1 | 0)$. Like prob_meas0_prep1, it reflects SPAM errors, with measurement errors being the predominant contributor in superconducting qubits.\n", "\n", - "- `readout_length`: The readout_length specifies the duration of the readout operation for a qubit. It measures the time from the initiation of the measurement pulse to the completion of signal digitization, after which the system is ready for the next operation. Understanding this parameter is crucial for optimizing circuit execution, especially when incorporating mid-circuit measurements." + "- `readout_length`: The readout_length specifies the duration of the readout operation for a qubit. It measures the time from the initiation of the measurement pulse to the completion of signal digitization, after which the system is ready for the next operation. Understanding this parameter is crucial for optimizing circuit execution, especially when incorporating mid-circuit measurements.\n", + "\n", + "The following code examples demonstrate how to list all properties, or retrieve specific properties, of a particular qubit." ] }, { From 282ac7b1467b96ab135a6f3a8abc07b0f1b89525 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 8 Dec 2025 17:44:06 -0500 Subject: [PATCH 13/36] schema link update --- docs/guides/get-qpu-information.ipynb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index a15ca64568d..7fb84f67cac 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -177,12 +177,17 @@ "id": "37fbdbc1-9f24-491b-8352-e56d767a5acd", "metadata": {}, "source": [ - "Use these keyword arguments to filter by any attribute in backend configuration ([JSON schema](https://github.com/Qiskit/ibm-quantum-schemas/blob/main/schemas/backend_configuration_schema.json)) or status ([JSON schema](https://github.com/Qiskit/ibm-quantum-schemas/blob/main/schemas/backend_status_schema.json)). A similar method is [`QiskitRuntimeService.least_busy()`](../api/qiskit-ibm-runtime/qiskit-runtime-service#least_busy), which takes the same filters as `backends()` but returns the backend that matches the filters and has the least number of jobs pending in the queue:" + "These JSON schemas list the keyword arguments to use when filtering by attribute.\n", + "\n", + "- [Backend configuration JSON schema](/docs/api/qiskit-ibm-runtime/models-backend-configuration) \n", + "- [Status JSON schema](/docs/api/qiskit-ibm-runtime/models-backend-status)\n", + "\n", + "A similar method is [`QiskitRuntimeService.least_busy()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#least_busy), which takes the same filters as `backends()` but returns the backend that matches the filters and has the least number of jobs pending in the queue:" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "846dfe4b-def3-49c1-9d2a-906fd2dc55de", "metadata": {}, "outputs": [ @@ -198,7 +203,7 @@ } ], "source": [ - "service.least_busy(operational=True, min_num_qubits=5)" + "service.least_busy(operational=True, min_num_qubits=100)" ] }, { From 4fa3fdfe710a5364862f263cd3003f243ec15fcc Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 8 Dec 2025 18:00:01 -0500 Subject: [PATCH 14/36] tox -e fix --- docs/guides/get-qpu-information.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/get-qpu-information.ipynb index 7fb84f67cac..b7290f57eda 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/get-qpu-information.ipynb @@ -179,7 +179,7 @@ "source": [ "These JSON schemas list the keyword arguments to use when filtering by attribute.\n", "\n", - "- [Backend configuration JSON schema](/docs/api/qiskit-ibm-runtime/models-backend-configuration) \n", + "- [Backend configuration JSON schema](/docs/api/qiskit-ibm-runtime/models-backend-configuration)\n", "- [Status JSON schema](/docs/api/qiskit-ibm-runtime/models-backend-status)\n", "\n", "A similar method is [`QiskitRuntimeService.least_busy()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#least_busy), which takes the same filters as `backends()` but returns the backend that matches the filters and has the least number of jobs pending in the queue:" @@ -262,7 +262,7 @@ "\n", "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set.\n", "\n", - "You can view the native gates and supported instructions, including non-gate-type instructions, for a QPU [with Qiskit](#native-gates-with-qiskit). The IBM Quantum® Platform [Compute resources page](#native-gates-on-platform) lists the basis gates for a QPU. \n", + "You can view the native gates and supported instructions, including non-gate-type instructions, for a QPU [with Qiskit](#native-gates-with-qiskit). The IBM Quantum® Platform [Compute resources page](#native-gates-on-platform) lists the basis gates for a QPU.\n", "\n", "\n", "```python\n", From ef3ffe7d37f832afa5b3009aca5311958d500d53 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Fri, 12 Dec 2025 17:20:07 -0500 Subject: [PATCH 15/36] try to avoid merge conflict... --- docs/guides/_toc.json | 1085 +++++++++++++++++++++-------------------- 1 file changed, 558 insertions(+), 527 deletions(-) diff --git a/docs/guides/_toc.json b/docs/guides/_toc.json index 801b4692f3a..bc5eca7da74 100644 --- a/docs/guides/_toc.json +++ b/docs/guides/_toc.json @@ -6,7 +6,7 @@ "title": "Get started", "children": [ { - "title": "Overview", + "title": "Introduction", "url": "/docs/guides" }, { @@ -14,284 +14,80 @@ "url": "/docs/guides/quick-start" }, { - "title": "Install", - "children": [ - { - "title": "Install Qiskit", - "url": "/docs/guides/install-qiskit" - }, - { - "title": "Online lab environments", - "url": "/docs/guides/online-lab-environments" - }, - { - "title": "Advanced install", - "children": [ - { - "title": "Install the Qiskit SDK from source", - "url": "/docs/guides/install-qiskit-source" - }, - { - "title": "Configure the Qiskit SDK locally", - "url": "/docs/guides/configure-qiskit-local" - }, - { - "title": "Install the Qiskit C API", - "url": "/docs/guides/install-c-api" - }, - { - "title": "Extend Qiskit in Python with C", - "url": "/docs/guides/c-extension-for-python" - } - ] - } - ] + "title": "Hello world", + "url": "/docs/guides/hello-world" }, { - "title": "Development workflow", + "title": "Installation options", "children": [ { - "title": "Introduction to Qiskit patterns", - "url": "/docs/guides/intro-to-patterns" + "title": "Install Qiskit", + "url": "/docs/guides/install-qiskit" }, { - "title": "Map the problem to circuits", - "url": "/docs/guides/map-problem-to-circuits" + "title": "Install the Qiskit SDK from source", + "url": "/docs/guides/install-qiskit-source" }, { - "title": "Optimize for hardware", - "url": "/docs/guides/optimize-for-hardware" + "title": "Configure the Qiskit SDK locally", + "url": "/docs/guides/configure-qiskit-local" }, { - "title": "Execute on hardware", - "url": "/docs/guides/execute-on-hardware" + "title": "Install the Qiskit C API", + "url": "/docs/guides/install-c-api" }, { - "title": "Post-process results", - "url": "/docs/guides/post-process-results" + "title": "Extend Qiskit in Python with C", + "url": "/docs/guides/c-extension-for-python" } ] }, { "title": "Latest updates", "url": "/docs/guides/latest-updates" - } - ], - "collapsible": false - }, - { - "title": "IBM Quantum Platform", - "children": [ - { - "title": "Set up IBM Quantum Platform", - "children": [ - { - "title": "Set up your IBM Cloud account", - "url": "/docs/guides/cloud-setup" - }, - { - "title": "Set up your IBM Cloud account - invited users", - "url": "/docs/guides/cloud-setup-invited", - "platform": "cloud" - }, - { - "title": "Set up your IBM Cloud account in an untrusted environment", - "url": "/docs/guides/cloud-setup-untrusted", - "platform": "cloud" - }, - { - "title": "Set up to use IBM Quantum Platform with REST API", - "url": "/docs/guides/cloud-setup-rest-api", - "platform": "cloud" - }, - { - "title": "Save your login credentials", - "url": "/docs/guides/save-credentials", - "platform": "cloud" - }, - { - "title": "Initialize your Qiskit Runtime service account", - "url": "/docs/guides/initialize-account", - "platform": "cloud" - }, - { - "title": "Set up for an organization", - "children": [ - { - "title": "Setup considerations", - "url": "/docs/guides/considerations-set-up-runtime" - }, - { - "title": "Configure IBM Quantum Platform", - "url": "/docs/guides/quickstart-steps-org" - } - ] - } - ] - }, - { - "title": "IBM Quantum plans", - "children": [ - { - "title": "Overview of plans", - "url": "/docs/guides/plans-overview" - }, - { - "title": "Upgrade from the Open Plan", - "url": "/docs/guides/upgrade-from-open" - }, - { - "title": "Manage cost on the Pay-As-You-Go Plan", - "url": "/docs/guides/manage-cost" - } - ] - }, - { - "title": "Work with instances", - "children": [ - { - "title": "Create and manage instances", - "url": "/docs/guides/instances" - }, - { - "title": "Set allocation limits", - "url": "/docs/guides/allocation-limits" - }, - { - "title": "Use IBM Cloud Platform APIs to access instances", - "url": "/docs/guides/access-instances-platform-apis" - } - ] }, { - "title": "Accounts, access groups, and policies", + "title": "Qiskit stack architecture", "children": [ { - "title": "Cloud account structure", - "url": "/docs/guides/cloud-account-structure" - }, - { - "title": "Create access groups and policies", - "url": "/docs/guides/access-groups" + "title": "Qiskit SDK", + "url": "/docs/guides/overview-qiskit-sdk" }, { - "title": "Set up custom roles", - "url": "/docs/guides/custom-roles" - } - ] - }, - { - "title": "Manage users", - "children": [ - { - "title": "Invite users and manage access", - "url": "/docs/guides/invite-and-manage-users" + "title": "Qiskit Runtime", + "url": "/docs/guides/overview-qiskit-runtime" }, { - "title": "Manage ID provider users", - "url": "/docs/guides/manage-appid" + "title": "Qiskit addons", + "url": "/docs/guides/addons" }, { - "title": "Manage IBM Cloud users", - "url": "/docs/guides/manage-cloud-users" + "title": "Qiskit ecosystem", + "url": "/docs/guides/overview-qiskit-ecosystem" } ] }, { - "title": "Logging", - "url": "/docs/guides/logging" + "title": "Development workflow", + "url": "/docs/guides/intro-to-patterns" } ], "collapsible": false }, - { - "title": "Qiskit Functions", - "children": [ - { - "title": "Introduction to Qiskit Functions", - "url": "/docs/guides/functions" - }, - { - "title": "Circuit functions", - "children": [ - { - "title": "IBM Circuit function", - "url": "/docs/guides/ibm-circuit-function" - }, - { - "title": "Algorithmiq Tensor-network error mitigation", - "url": "/docs/guides/algorithmiq-tem" - }, - { - "title": "Q-CTRL Performance Management", - "url": "/docs/guides/q-ctrl-performance-management" - }, - { - "title": "Qedma QESEM", - "url": "/docs/guides/qedma-qesem" - } - ] - }, + "title": "Tools and features", + "children":[ { - "title": "Application functions", - "children": [ - { - "title": "Kipu Quantum Iskay Quantum Optimizer", - "url": "/docs/guides/kipu-optimization" - }, - { - "title": "Multiverse Computing Singularity", - "url": "/docs/guides/multiverse-computing-singularity" - }, - { - "title": "Q-CTRL Optimization Solver", - "url": "/docs/guides/q-ctrl-optimization-solver" - }, - { - "title": "Quantum Portfolio Optimizer: A Qiskit Function by Global Data Quantum", - "url": "/docs/guides/global-data-quantum-optimizer" - }, - { - "title": "QUICK-PDE: A Qiskit Function by ColibriTD", - "url": "/docs/guides/colibritd-pde" - }, - { - "title": "Qunova Computing HI-VQE Chemistry", - "url": "/docs/guides/qunova-chemistry" - } - ] + "title": "Tools and features index", + "url": "/docs/guides/tool-index" }, { - "title": "Qiskit Function templates", + "title": "Map problem to circuits", "children": [ { - "title": "Introduction to Qiskit Function templates", - "url": "/docs/guides/qiskit-function-templates" + "title": "Quick overview", + "url": "/docs/guides/summary-map" }, - { - "title": "Template for chemistry simulation", - "url": "/docs/guides/function-template-chemistry-workflow" - }, - { - "title": "Template for Hamiltonian simulation", - "url": "/docs/guides/function-template-hamiltonian-simulation" - } - ] - } - ], - "collapsible": false - }, - { - "title": "Tools", - "children": [ - { - "title": "Introduction to Qiskit", - "url": "/docs/guides/tools-intro" - }, - { - "title": "Circuits and operators", - "children": [ { "title": "Circuit library", "url": "/docs/guides/circuit-library" @@ -341,44 +137,39 @@ "url": "/docs/guides/operator-class" }, { - "title": "Other circuit-building tools", + "title": "OpenQASM", "children": [ { - "title": "Pulse schedules", - "url": "/docs/guides/pulse" - }, - { - "title": "OpenQASM", - "children": [ - { - "title": "Intro to OpenQASM", - "url": "/docs/guides/introduction-to-qasm" - }, - { - "title": "OpenQASM 2 and the Qiskit SDK", - "url": "/docs/guides/interoperate-qiskit-qasm2" - }, - { - "title": "OpenQASM 3 and the Qiskit SDK", - "url": "/docs/guides/interoperate-qiskit-qasm3" - }, - { - "title": "OpenQASM 3 feature table", - "url": "/docs/guides/qasm-feature-table" - }, - { - "title": "OpenQASM 3.x live specification", - "url": "https://openqasm.com/" - } - ] + "title": "Intro to OpenQASM", + "url": "/docs/guides/introduction-to-qasm" + }, + { + "title": "OpenQASM 2 and the Qiskit SDK", + "url": "/docs/guides/interoperate-qiskit-qasm2" + }, + { + "title": "OpenQASM 3 and the Qiskit SDK", + "url": "/docs/guides/interoperate-qiskit-qasm3" + }, + { + "title": "OpenQASM 3 feature table", + "url": "/docs/guides/qasm-feature-table" + }, + { + "title": "OpenQASM 3.x live specification", + "url": "https://openqasm.com/" } ] } ] }, { - "title": "Transpiler", - "children": [ + "title": "Optimize circuits", + "children":[ + { + "title": "Quick overview", + "url": "/docs/guides/summary-optimize" + }, { "title": "Introduction to transpilation", "url": "/docs/guides/transpile" @@ -437,7 +228,7 @@ "url": "/docs/guides/custom-transpiler-pass" }, { - "title": "Transpile against custom backends", + "title": "Create and transpile against custom backends", "url": "/docs/guides/custom-backend" }, { @@ -453,14 +244,70 @@ "url": "/docs/guides/DAG-representation" } ] + }, + { + "title": "Approximate quantum compilation (AQC-Tensor)", + "children": [ + { + "title": "AQC-Tensor addon overview", + "url": "/docs/guides/qiskit-addons-aqc" + }, + { + "title": "Get started with AQC-Tensor", + "url": "/docs/guides/qiskit-addons-aqc-get-started" + } + ] + }, + { + "title": "Operator backpropagation (OBP)", + "children": [ + { + "title": "OBP addon overview", + "url": "/docs/guides/qiskit-addons-obp" + }, + { + "title": "Get started with OBP", + "url": "/docs/guides/qiskit-addons-obp-get-started" + } + ] + }, + { + "title": "Multi-product formulas (MPF)", + "children": [ + { + "title": "MPF addon overview", + "url": "/docs/guides/qiskit-addons-mpf" + }, + { + "title": "Get started with MPFs", + "url": "/docs/guides/qiskit-addons-mpf-get-started" + } + ] + }, + { + "title": "Circuit cutting (CC)", + "children": [ + { + "title": "Circuit cutting overview", + "url": "/docs/guides/qiskit-addons-cutting" + }, + { + "title": "Get started with gate cuts", + "url": "/docs/guides/qiskit-addons-cutting-gates" + }, + { + "title": "Get started with wire cuts", + "url": "/docs/guides/qiskit-addons-cutting-wires" + } + ] } ] }, { - "title": "Debugging tools", + "title": "Debug", "children": [ { - "title": "Introduction to debugging tools", + "title": "Quick overview", "url": "/docs/guides/debugging-tools" }, { @@ -486,287 +333,474 @@ { "title": "Efficient simulation of stabilizer circuits with Qiskit Aer primitives", "url": "/docs/guides/simulate-stabilizer-circuits" + }, + { + "title": "Visualization", + "children":[ + { + "title": "Visualize circuits", + "url": "/docs/guides/visualize-circuits" + }, + { + "title": "Visualize circuit timing", + "url": "/docs/guides/visualize-circuit-timing" + }, + { + "title": "Plot quantum states", + "url": "/docs/guides/plot-quantum-states" + }, + { + "title": "Visualize results", + "url": "/docs/guides/visualize-results" + } + ] } ] }, { - "title": "Primitives", + "title": "Execute on hardware", "children": [ { - "title": "Introduction to primitives", - "url": "/docs/guides/primitives" - }, - { - "title": "Get started with primitives", - "url": "/docs/guides/get-started-with-primitives" - }, - { - "title": "Primitive inputs and outputs", - "url": "/docs/guides/primitive-input-output" - }, - { - "title": "Primitives examples", - "url": "/docs/guides/primitives-examples" - }, - { - "title": "Primitives with REST API", - "url": "/docs/guides/primitives-rest-api" + "title": "Quick overview", + "url": "/docs/guides/summary-execute" }, + { - "title": "Noise learning", - "url": "/docs/guides/noise-learning" + "title": "Manage workload execution", + "children":[ + { + "title": "Workload usage", + "url": "/docs/guides/estimate-job-run-time" + }, + { + "title": "Minimize job run time", + "url": "/docs/guides/minimize-time" + }, + { + "title": "Maximum execution time", + "url": "/docs/guides/max-execution-time" + }, + { + "title": "Job limits", + "url": "/docs/guides/job-limits" + }, + { + "title": "Qubit initialization", + "url": "/docs/guides/repetition-rate-execution" + } + ] }, { - "title": "Directed execution model (beta)", - "url": "/docs/guides/directed-execution-model" + "title": "Primitives", + "children": [ + { + "title": "Introduction to primitives", + "url": "/docs/guides/primitives" + }, + { + "title": "Get started with primitives", + "url": "/docs/guides/get-started-with-primitives" + }, + { + "title": "Primitive inputs and outputs", + "url": "/docs/guides/primitive-input-output" + }, + { + "title": "Primitives examples", + "url": "/docs/guides/primitives-examples" + }, + { + "title": "Primitives with REST API", + "url": "/docs/guides/primitives-rest-api" + }, + { + "title": "Directed execution model (beta)", + "url": "/docs/guides/directed-execution-model" + }, + { + "title": "Introduction to options", + "url": "/docs/guides/runtime-options-overview" + }, + { + "title": "Specify options", + "url": "/docs/guides/specify-runtime-options" + } + ] }, { - "title": "Introduction to options", - "url": "/docs/guides/runtime-options-overview" - }, - { - "title": "Specify options", - "url": "/docs/guides/specify-runtime-options" - }, - { - "title": "Error mitigation and suppression techniques", - "url": "/docs/guides/error-mitigation-and-suppression-techniques" - }, - { - "title": "Configure error mitigation", - "url": "/docs/guides/configure-error-mitigation" + "title": "Execution modes", + "children": [ + { + "title": "Introduction to execution modes", + "url": "/docs/guides/execution-modes" + }, + { + "title": "Choose the right execution mode", + "url": "/docs/guides/choose-execution-mode" + }, + { + "title": "Run jobs in a batch", + "url": "/docs/guides/run-jobs-batch" + }, + { + "title": "Run jobs in a session", + "url": "/docs/guides/run-jobs-session" + }, + { + "title": "Execution modes using REST API", + "url": "/docs/guides/execution-modes-rest-api" + }, + { + "title": "Execution modes FAQ", + "url": "/docs/guides/execution-modes-faq" + } + ] }, { - "title": "Configure error suppression", - "url": "/docs/guides/configure-error-suppression" - } - ] - }, - { - "title": "Execution modes", - "children": [ - { - "title": "Introduction to execution modes", - "url": "/docs/guides/execution-modes" + "title": "Organize and search by job tags", + "url": "/docs/guides/add-job-tags" }, { - "title": "Choose the right execution mode", - "url": "/docs/guides/choose-execution-mode" + "title": "Retrieve and save job results", + "url": "/docs/guides/save-jobs" }, { - "title": "Run jobs in a batch", - "url": "/docs/guides/run-jobs-batch" + "title": "Monitor or cancel a job", + "url": "/docs/guides/monitor-job" }, { - "title": "Run jobs in a session", - "url": "/docs/guides/run-jobs-session" + "title": "Fair-share scheduler", + "url": "/docs/guides/fair-share-scheduler" }, { - "title": "Execution modes using REST API", - "url": "/docs/guides/execution-modes-rest-api" + "title": "Get backend information with Qiskit", + "url": "/docs/guides/get-qpu-information" } ] }, { - "title": "Manage jobs", + "title": "Manage noise", "children": [ { - "title": "Monitor or cancel a job", - "url": "/docs/guides/monitor-job" - }, - { - "title": "Workload usage", - "url": "/docs/guides/estimate-job-run-time" + "title": "Quick overview", + "url": "/docs/guides/summary-manage-noise" }, { - "title": "Minimize job run time", - "url": "/docs/guides/minimize-time" - }, - { - "title": "Maximum execution time", - "url": "/docs/guides/max-execution-time" - }, - { - "title": "Job limits", - "url": "/docs/guides/job-limits" + "title": "Noise learning", + "url": "/docs/guides/noise-learning" }, { - "title": "Organize and search by job tags", - "url": "/docs/guides/add-job-tags" + "title": "Directed execution model (beta)", + "url": "/docs/guides/directed-execution-model" }, { - "title": "Retrieve and save job results", - "url": "/docs/guides/save-jobs" - } - ] - }, - { - "title": "IBM quantum computers", - "children": [ - { - "title": "Processor types", - "url": "/docs/guides/processor-types" + "title": "Error mitigation and suppression techniques", + "url": "/docs/guides/error-mitigation-and-suppression-techniques" }, { - "title": "Backend details", - "url": "/docs/guides/get-qpu-information" + "title": "Configure error mitigation", + "url": "/docs/guides/configure-error-mitigation" }, { - "title": "Calibration jobs", - "url": "/docs/guides/calibration-jobs" + "title": "Configure error suppression", + "url": "/docs/guides/configure-error-suppression" }, { - "title": "Qubit initialization", - "url": "/docs/guides/repetition-rate-execution" + "title": "Sample-based quantum diagonalization (SQD)", + "children":[ + { + "title": "Sample-based quantum diagonalization (SQD) overview", + "url": "/docs/guides/qiskit-addons-sqd" + }, + { + "title": "Get started with SQD", + "url": "/docs/guides/qiskit-addons-sqd-get-started" + }, + { + "title": "SQD (HPC-ready)", + "url": "https://qiskit.github.io/qiskit-addon-sqd-hpc/" + } + ] }, { - "title": "Retired cloud QPUs", - "url": "/docs/guides/retired-qpus" + "title": "Mthree (M3)", + "url": "https://qiskit.github.io/qiskit-addon-mthree/" }, { - "title": "Fair-share scheduler", - "url": "/docs/guides/fair-share-scheduler" + "title": "Propagated noise absorption (PNA)", + "url": "https://qiskit.github.io/qiskit-addon-pna/" }, { - "title": "View cost", - "url": "/docs/guides/view-cost" + "title": "Shaded lightcones (SLC)", + "url": "https://qiskit.github.io/qiskit-addon-slc/" } ] }, { - "title": "Visualization", + "title": "Integrations", "children": [ { - "title": "Visualize circuits", - "url": "/docs/guides/visualize-circuits" - }, - { - "title": "Visualize circuit timing", - "url": "/docs/guides/visualize-circuit-timing", - "isNew": true, - "isNewDate": "2025-11-20" - }, - { - "title": "Plot quantum states", - "url": "/docs/guides/plot-quantum-states" - }, - { - "title": "Visualize results", - "url": "/docs/guides/visualize-results" - }, - { - "title": "IBM Quantum Composer", - "url": "/docs/guides/composer" + "title": "Create a provider", + "url": "/docs/guides/create-a-provider" } ] - }, + } + ], + "collapsible": false + }, + { + "title": "IBM Quantum services", + "children": [ { - "title": "Qiskit Serverless", + "title": "IBM Quantum Platform", "children": [ { - "title": "Qiskit Serverless overview", - "url": "/docs/guides/serverless" - }, - { - "title": "Write your first Qiskit Serverless program", - "url": "/docs/guides/serverless-first-program" - }, - { - "title": "Run your first Qiskit Serverless workload remotely", - "url": "/docs/guides/serverless-run-first-workload" + "title": "Account setup", + "children":[ + { + "title": "Set up your account", + "url": "/docs/guides/cloud-setup" + }, + { + "title": "Set up your account - invited users", + "url": "/docs/guides/cloud-setup-invited" + }, + { + "title": "Set up to use IBM Quantum Platform with REST API", + "url": "/docs/guides/cloud-setup-rest-api" + } + ] }, { - "title": "Manage Qiskit Serverless compute and data resources", - "url": "/docs/guides/serverless-manage-resources" + "title": "Authenticate", + "children":[ + { + "title": "Initialize your Qiskit Runtime service account", + "url": "/docs/guides/initialize-account" + }, + { + "title": "Save your login credentials", + "url": "/docs/guides/save-credentials" + }, + { + "title": "Authenticate in an untrusted environment", + "url": "/docs/guides/cloud-setup-untrusted" + } + ] }, { - "title": "Port code to Qiskit Serverless", - "url": "/docs/guides/serverless-port-code" - } - ] - }, - { - "title": "Qiskit addons", - "children": [ - { - "title": "Qiskit addons overview", - "url": "/docs/guides/addons" + "title": "Administrative tasks", + "children": [ + { + "title": "Setup considerations", + "url": "/docs/guides/considerations-set-up-runtime" + }, + { + "title": "Configure IBM Quantum Platform", + "url": "/docs/guides/quickstart-steps-org" + }, + { + "title": "Cloud account structure", + "url": "/docs/guides/cloud-account-structure" + }, + { + "title": "Create access groups and policies", + "url": "/docs/guides/access-groups" + }, + { + "title": "Set up custom roles", + "url": "/docs/guides/custom-roles" + }, + { + "title": "Invite users and manage access", + "url": "/docs/guides/invite-and-manage-users" + }, + { + "title": "Manage ID provider users", + "url": "/docs/guides/manage-appid" + }, + { + "title": "Manage IBM Cloud users", + "url": "/docs/guides/manage-cloud-users" + }, + { + "title": "Manage cost on the Pay-As-You-Go Plan", + "url": "/docs/guides/manage-cost" + }, + { + "title": "View cost", + "url": "/docs/guides/view-cost" + } + ] }, { - "title": "Qiskit addon utilities", - "url": "/docs/guides/qiskit-addons-utils" + "title": "IBM Quantum plans", + "children": [ + { + "title": "Overview of plans", + "url": "/docs/guides/plans-overview" + }, + { + "title": "Upgrade from the Open Plan", + "url": "/docs/guides/upgrade-from-open" + } + ] }, { - "title": "Sample-based quantum diagonalization (SQD)", + "title": "Work with instances", "children": [ { - "title": "SQD addon overview", - "url": "/docs/guides/qiskit-addons-sqd" + "title": "Create and manage instances", + "url": "/docs/guides/instances" }, { - "title": "Get started with SQD", - "url": "/docs/guides/qiskit-addons-sqd-get-started" + "title": "Set allocation limits", + "url": "/docs/guides/allocation-limits" + }, + { + "title": "Use IBM Cloud Platform APIs to access instances", + "url": "/docs/guides/access-instances-platform-apis" } ] }, { - "title": "Approximate quantum compilation (AQC-Tensor)", + "title": "IBM quantum computers", "children": [ { - "title": "AQC-Tensor addon overview", - "url": "/docs/guides/qiskit-addons-aqc" + "title": "Processor types", + "url": "/docs/guides/processor-types" }, { - "title": "Get started with AQC-Tensor", - "url": "/docs/guides/qiskit-addons-aqc-get-started" + "title": "Retired cloud QPUs", + "url": "/docs/guides/retired-qpus" + }, + { + "title": "Calibration jobs", + "url": "/docs/guides/calibration-jobs" } ] + } + ] + }, + { + "title": "Qiskit Functions", + "children": [ + { + "title": "Qiskit Functions overview", + "url": "/docs/guides/functions" }, { - "title": "Operator backpropagation (OBP)", + "title": "Circuit functions", "children": [ { - "title": "OBP addon overview", - "url": "/docs/guides/qiskit-addons-obp" + "title": "IBM Circuit function", + "url": "/docs/guides/ibm-circuit-function" }, { - "title": "Get started with OBP", - "url": "/docs/guides/qiskit-addons-obp-get-started" + "title": "Algorithmiq Tensor-network error mitigation", + "url": "/docs/guides/algorithmiq-tem" + }, + { + "title": "Q-CTRL Performance Management", + "url": "/docs/guides/q-ctrl-performance-management" + }, + { + "title": "Qedma QESEM", + "url": "/docs/guides/qedma-qesem" } ] }, { - "title": "Multi-product formulas (MPF)", + "title": "Application functions", "children": [ { - "title": "MPF addon overview", - "url": "/docs/guides/qiskit-addons-mpf" + "title": "Kipu Quantum Iskay Quantum Optimizer", + "url": "/docs/guides/kipu-optimization" }, { - "title": "Get started with MPFs", - "url": "/docs/guides/qiskit-addons-mpf-get-started" + "title": "Multiverse Computing Singularity", + "url": "/docs/guides/multiverse-computing-singularity" + }, + { + "title": "Q-CTRL Optimization Solver", + "url": "/docs/guides/q-ctrl-optimization-solver" + }, + { + "title": "Quantum Portfolio Optimizer: A Qiskit Function by Global Data Quantum", + "url": "/docs/guides/global-data-quantum-optimizer" + }, + { + "title": "QUICK-PDE: A Qiskit Function by ColibriTD", + "url": "/docs/guides/colibritd-pde" + }, + { + "title": "Qunova Computing HI-VQE Chemistry", + "url": "/docs/guides/qunova-chemistry" } ] }, { - "title": "Circuit cutting (CC)", + "title": "Qiskit Function templates", "children": [ { - "title": "Circuit cutting overview", - "url": "/docs/guides/qiskit-addons-cutting" + "title": "Introduction to Qiskit Function templates", + "url": "/docs/guides/qiskit-function-templates" }, { - "title": "Get started with gate cuts", - "url": "/docs/guides/qiskit-addons-cutting-gates" + "title": "Template for chemistry simulation", + "url": "/docs/guides/function-template-chemistry-workflow" }, { - "title": "Get started with wire cuts", - "url": "/docs/guides/qiskit-addons-cutting-wires" + "title": "Template for Hamiltonian simulation", + "url": "/docs/guides/function-template-hamiltonian-simulation" } ] } ] }, + { + "title": "Qiskit Serverless", + "children": [ + { + "title": "Qiskit Serverless overview", + "url": "/docs/guides/serverless" + }, + { + "title": "Write your first Qiskit Serverless program", + "url": "/docs/guides/serverless-first-program" + }, + { + "title": "Run your first Qiskit Serverless workload remotely", + "url": "/docs/guides/serverless-run-first-workload" + }, + { + "title": "Manage Qiskit Serverless compute and data resources", + "url": "/docs/guides/serverless-manage-resources" + }, + { + "title": "Port code to Qiskit Serverless", + "url": "/docs/guides/serverless-port-code" + } + ] + }, + { + "title": "IBM Quantum Composer", + "url": "/docs/guides/composer" + } + ], + "collapsible": false + }, + { + "title": "Additional resources", + "children": [ + { + "title": "Qiskit addon utilities", + "url": "/docs/guides/qiskit-addons-utils" + }, + { + "title": "Online lab environments", + "url": "/docs/guides/online-lab-environments" + }, { "title": "Qiskit Code Assistant", "children": [ @@ -789,33 +823,81 @@ { "title": "Qiskit Code Assistant - OpenAI API compatibility", "url": "/docs/guides/qiskit-code-assistant-openai-api" + }, + { + "title": "Qiskit MCP Servers", + "url": "/docs/guides/qiskit-mcp-servers" } ] - } - ], - "collapsible": false - }, - { - "title": "Additional resources", - "collapsible": false, - "children": [ + }, { - "title": "Support and FAQ", + "title": "Open-source resources", "children": [ { - "title": "Support", - "url": "/docs/guides/support" + "title": "Introduction", + "url": "/docs/guides/open-source" }, { - "title": "Frequently-asked questions", - "url": "/docs/guides/faq" + "title": "Code of conduct", + "url": "/docs/guides/code-of-conduct" }, { - "title": "Execution modes FAQ", - "url": "/docs/guides/execution-modes-faq" + "title": "Contributor license agreements", + "children": [ + { + "title": "Individual contributor", + "url": "/docs/open-source/qiskit-cla.pdf" + }, + { + "title": "Corporate contributor", + "url": "/docs/open-source/qiskit-corporate-cla.pdf" + } + ] + }, + { + "title": "Qiskit SDK", + "children": [ + { + "title": "Version strategy", + "url": "/docs/guides/qiskit-sdk-version-strategy" + }, + { + "title": "Contributor guide", + "url": "https://github.com/Qiskit/qiskit/blob/main/CONTRIBUTING.md" + }, + { + "title": "Maintainer guide", + "url": "https://github.com/Qiskit/qiskit/blob/main/MAINTAINING.md" + } + ] + }, + { + "title": "Qiskit ecosystem", + "url": "https://www.ibm.com/quantum/ecosystem" } ] }, + { + "title": "Logging", + "url": "/docs/guides/logging" + } + ] + }, + { + "title": "Support and FAQ", + "children": [ + { + "title": "Support", + "url": "/docs/guides/support" + }, + { + "title": "Error code registry", + "url": "/docs/errors" + }, + { + "title": "Frequently-asked questions", + "url": "/docs/guides/faq" + }, { "title": "Migration guides", "children": [ @@ -868,88 +950,37 @@ ] }, { - "title": "Open-source resources", + "title": "Security and compliance", + "collapsed": true, "children": [ { - "title": "Introduction", - "url": "/docs/guides/open-source" + "title": "Securing your data", + "url": "/docs/guides/secure-data" }, { - "title": "Code of conduct", - "url": "/docs/guides/code-of-conduct" + "title": "Understanding your responsibilities when using Qiskit Runtime", + "url": "/docs/guides/responsibilities" }, { - "title": "Contributor license agreements", - "children": [ - { - "title": "Individual contributor", - "url": "/docs/open-source/qiskit-cla.pdf" - }, - { - "title": "Corporate contributor", - "url": "/docs/open-source/qiskit-corporate-cla.pdf" - } - ] + "title": "Use virtual private endpoints for VPC", + "url": "/docs/guides/virtual-private-endpoints" }, + { - "title": "Qiskit SDK", - "children": [ - { - "title": "Version strategy", - "url": "/docs/guides/qiskit-sdk-version-strategy" - }, - { - "title": "Create a provider", - "url": "/docs/guides/create-a-provider" - }, - { - "title": "Contributor guide", - "url": "https://github.com/Qiskit/qiskit/blob/main/CONTRIBUTING.md" - }, - { - "title": "Maintainer guide", - "url": "https://github.com/Qiskit/qiskit/blob/main/MAINTAINING.md" - } - ] + "title": "High availability and disaster recovery", + "url": "/docs/guides/ha-dr" }, { - "title": "Qiskit ecosystem", - "url": "https://www.ibm.com/quantum/ecosystem" + "title": "Activity tracking events for Qiskit Runtime", + "url": "/docs/guides/observability" + }, + { + "title": "Protecting Qiskit Runtime Service resources with context-based restrictions", + "url": "/docs/guides/context-based-restrictions" } ] - }, - { - "title": "Security and compliance", - "collapsed": true, - "children": [ - { - "title": "Securing your data", - "url": "/docs/guides/secure-data" - }, - { - "title": "Understanding your responsibilities when using Qiskit Runtime", - "url": "/docs/guides/responsibilities" - }, - { - "title": "Use virtual private endpoints for VPC", - "url": "/docs/guides/virtual-private-endpoints" - }, - - { - "title": "High availability and disaster recovery", - "url": "/docs/guides/ha-dr" - }, - { - "title": "Activity tracking events for Qiskit Runtime", - "url": "/docs/guides/observability" - }, - { - "title": "Protecting Qiskit Runtime Service resources with context-based restrictions", - "url": "/docs/guides/context-based-restrictions" - } - ] - } + } ] } ] -} +} \ No newline at end of file From 915125a2395a8a3b92681c63f52b8c72d37d99dd Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 15 Dec 2025 18:47:39 -0500 Subject: [PATCH 16/36] work on tabbing page --- docs/guides/_toc.json | 4 +- ...nformation.ipynb => qpu-information.ipynb} | 268 ++++++++++-------- 2 files changed, 159 insertions(+), 113 deletions(-) rename docs/guides/{get-qpu-information.ipynb => qpu-information.ipynb} (77%) diff --git a/docs/guides/_toc.json b/docs/guides/_toc.json index bc5eca7da74..3ce6cef6f6f 100644 --- a/docs/guides/_toc.json +++ b/docs/guides/_toc.json @@ -473,8 +473,8 @@ "url": "/docs/guides/fair-share-scheduler" }, { - "title": "Get backend information with Qiskit", - "url": "/docs/guides/get-qpu-information" + "title": "View backend details", + "url": "/docs/guides/qpu-information" } ] }, diff --git a/docs/guides/get-qpu-information.ipynb b/docs/guides/qpu-information.ipynb similarity index 77% rename from docs/guides/get-qpu-information.ipynb rename to docs/guides/qpu-information.ipynb index b7290f57eda..0d5a0059c71 100644 --- a/docs/guides/get-qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -5,7 +5,7 @@ "id": "cbac187d-c590-404f-b451-8f4ec2292278", "metadata": {}, "source": [ - "# Backend details" + "# View backend details" ] }, { @@ -213,44 +213,54 @@ "source": [ "## Static backend information\n", "\n", - "Some information about a backend does not change regularly, such as its name, version, the number of qubits it has, and the types of features it supports. This information is available as attributes of the `backend` object.\n", + "Some information about a backend does not change regularly, such as its name, version, the number of qubits it has, and the types of features it supports. This information is available as attributes of the `backend` object. For a full list of attributes, see the [`IBMBackend` API documentation](/docs/api/qiskit-ibm-runtime/ibm-backend).\n", "\n", - "The following cell builds a description of a backend." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "8d070b69-1b6d-4faa-9a4a-d12aba47d0b7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Name: ibm_fez\n", - "Version: 2\n", - "No. of qubits: 156\n", - "\n" - ] - } - ], - "source": [ - "backend = service.backend(\"ibm_fez\")\n", + "### QPU versioning\n", "\n", - "print(\n", - " f\"Name: {backend.name}\\n\"\n", - " f\"Version: {backend.version}\\n\"\n", - " f\"No. of qubits: {backend.num_qubits}\\n\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "1fc62b0b-1975-4bdc-a968-fa5bff92a893", - "metadata": {}, - "source": [ - "For a full list of attributes, see the [`IBMBackend` API documentation](/docs/api/qiskit-ibm-runtime/ibm-backend)." + "Each QPU has a version number in the form X.Y.Z (major.minor.revision). A circuit compiled for a given version number is guaranteed to run on that QPU. If the revision number changes, the circuit will continue to run. If the major or minor number changes, the circuit is not guaranteed to run, although it may do so. \n", + "\n", + "The revision version number will increment for fixes that do not break the existing compiled circuit.\n", + "\n", + "The conditions under which a version or revision number can change are listed in the following table.\n", + "\n", + "| Major version | Minor version | Revision version |\n", + "| --- | --- | --- |\n", + "|
  • Sample changes
  • Major changes to the control electronics
  • Moving the QPU to a new location, if significant behavior changes result
|
  • Warmup / cool-down cycles
  • Swapping out some electronics, if the replacement appreciably affects operation
  • Changing the direction of a CNOT gate
  • Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software
|
  • Manual calibrations to improve fidelities
  • Small electronics changes that don’t affect operation
  • QPU software updates
|\n", + "\n", + "\n", + "| Major version | Minor version | Revision version |\n", + "| --- | --- | --- |\n", + "|Sample changes| Warmup / cool-down cycles | Manual calibrations to improve fidelities |\n", + "|Major changes to the control electronics| Swapping out some electronics, if the replacement appreciably affects operation| Small electronics changes that don’t affect operation |\n", + "|Moving the QPU to a new location, if significant behavior changes result| Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software| QPU software updates|\n", + "| |Changing the direction of a CNOT gate | |\n", + "\n", + "\n", + " \n", + "\n", + " ```python\n", + " backend = service.backend(\"ibm_example\")\n", + "\n", + " print(\n", + " f\"Name: {backend.name}\\n\"\n", + " f\"Version: {backend.version}\\n\"\n", + " f\"No. of qubits: {backend.num_qubits}\\n\"\n", + " )\n", + " ```\n", + "\n", + " ```\n", + " Name: ibm_example\n", + " Version: 2\n", + " No. of qubits: 156\n", + " ```\n", + "\n", + " \n", + " \n", + "\n", + " Navigate to the [Compute resources](https://quantum.cloud.ibm.com/computers) page to view a table of all QPUs, then click the name of any QPU to open its detailed information card. Find the QPU version under the Details section.\n", + "\n", + " \n", + "\n" ] }, { @@ -258,30 +268,51 @@ "id": "6a055938-0a1d-46ef-ae9c-60a7960d6d73", "metadata": {}, "source": [ - "## Native gates and operations\n", + "### Native gates and operations\n", "\n", - "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set.\n", + "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set. \n", "\n", - "You can view the native gates and supported instructions, including non-gate-type instructions, for a QPU [with Qiskit](#native-gates-with-qiskit). The IBM Quantum® Platform [Compute resources page](#native-gates-on-platform) lists the basis gates for a QPU.\n", + "You can view the native gates and supported instructions, including non-gate-type instructions, for a QPU with Qiskit. The IBM Quantum Platform Compute resources page lists the basis gates for a QPU.\n", "\n", - "\n", - "```python\n", "\n", - "from qiskit_ibm_runtime import QiskitRuntimeService\n", + " \n", + " \n", "\n", - "service = QiskitRuntimeService()\n", + " \n", + " ```python\n", + "\n", + " from qiskit_ibm_runtime import QiskitRuntimeService\n", + "\n", + " service = QiskitRuntimeService()\n", "\n", - "for backend in service.backends():\n", - " config = backend.configuration()\n", - " if \"simulator\" in config.backend_name:\n", - " continue\n", - " print(f\"Backend: {config.backend_name}\")\n", - " print(f\" Processor type: {config.processor_type}\")\n", - " print(f\" Supported instructions:\")\n", - " for instruction in config.supported_instructions:\n", - " print(f\" {instruction}\")\n", - " print()\n", - "```" + " for backend in service.backends():\n", + " config = backend.configuration()\n", + " if \"simulator\" in config.backend_name:\n", + " continue\n", + " print(f\"Backend: {config.backend_name}\")\n", + " print(f\" Processor type: {config.processor_type}\")\n", + " print(f\" Supported instructions:\")\n", + " for instruction in config.supported_instructions:\n", + " print(f\" {instruction}\")\n", + " print()\n", + " ```\n", + " \n", + " \n", + "\n", + " Navigate to the [Compute resources](https://quantum.cloud.ibm.com/computers) page to view a table of all QPUs, then click the name of any QPU to open its detailed information card. The basis gates for that QPU are listed in the Details section.\n", + " \n", + "\n", + "\n", + "\n", + "### Table of native gates and operations\n", + "\n", + "| Operation category | Name |\n", + "| :--- | :--- |\n", + "| Single-qubit gates | [`RZ`](/docs/api/qiskit/qiskit.circuit.library.RZGate), [`SX`](/docs/api/qiskit/qiskit.circuit.library.SXGate), [`X`](/docs/api/qiskit/qiskit.circuit.library.XGate), [`ID`](/docs/api/qiskit/qiskit.circuit.library.IGate), [`delay`](/docs/api/qiskit/circuit#qiskit.circuit.Delay) |\n", + "| Two-qubit gates | [`CZ`](/docs/api/qiskit/qiskit.circuit.library.CZGate), [`ECR`](/docs/api/qiskit/qiskit.circuit.library.ECRGate)|\n", + "| Fractional gates | [`RX`](/docs/api/qiskit/qiskit.circuit.library.RXGate) (single-qubit), [`RZZ`](/docs/api/qiskit/qiskit.circuit.library.RZZGate) (two-qubit) |\n", + "| Non-unitary instructions | [`measure`](/docs/api/qiskit/circuit#qiskit.circuit.Measure), [`reset`](/docs/api/qiskit/circuit#qiskit.circuit.Reset) |\n", + "| Control flow | [`if_else`](/docs/api/qiskit/qiskit.circuit.IfElseOp) (classical feedforward) |" ] }, { @@ -297,21 +328,82 @@ "\n", "The `backend.properties().qubit_property()` returns information about the qubits' physical attributes. It contains a dictionary of various properties of the qubit, each paired with its value and the timestamp of the last calibration.\n", "\n", - "- `T1 (Relaxation Time)`: The T1 time represents the average duration a qubit remains in its excited state $|1\\rangle$ before decaying to its ground state $|0\\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s).\n", "\n", - "- `T2 (Dephasing Time)`: The T2 time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\\rangle$ and $|1\\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties.\n", + "#### `T1` (Relaxation time)\n", "\n", - "- `frequency`: This parameter specifies the resonant frequency of the qubit, indicating the energy difference between the $|0\\rangle$ and $|1\\rangle$ states, expressed in hertz (Hz).\n", + "The T1 time represents the average duration a qubit remains in its excited state $|1\\rangle$ before decaying to its ground state $|0\\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s).\n", "\n", - "- `anharmonicity`: Anharmonicity is the difference in energy between the first and second excited states of the qubit, also expressed in hertz (Hz).\n", "\n", - "- `readout_error`: The readout error quantifies the average probability of incorrectly measuring a qubit's state. It is commonly calculated as the mean of prob_meas0_prep1 and prob_meas1_prep0, providing a single metric for measurement fidelity.\n", + "| | |\n", + "| --- | --- |\n", + "| **View with Qiskit** | `backend.properties().t1(qubit)` |\n", + "| **View on IBM Quantum Platform** | Details section |\n", "\n", - "- `prob_meas0_prep1`: This parameter indicates the probability of measuring a qubit in the 0 state when it was intended to be prepared in the $|1\\rangle$ state, denoted as $P(0 | 1)$. It reflects errors in state preparation and measurement (SPAM), particularly measurement errors in superconducting qubits.\n", + "#### `T2` (Dephasing time)\n", "\n", - "- `prob_meas1_prep0`: Similarly, this parameter represents the probability of measuring a qubit in the 1 state when it was intended to be prepared in the $|0\\rangle$ state, denoted as $P(1 | 0)$. Like prob_meas0_prep1, it reflects SPAM errors, with measurement errors being the predominant contributor in superconducting qubits.\n", + "The T2 time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\\rangle$ and $|1\\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties.\n", "\n", - "- `readout_length`: The readout_length specifies the duration of the readout operation for a qubit. It measures the time from the initiation of the measurement pulse to the completion of signal digitization, after which the system is ready for the next operation. Understanding this parameter is crucial for optimizing circuit execution, especially when incorporating mid-circuit measurements.\n", + "\n", + "| | |\n", + "| --- | --- |\n", + "| **View with Qiskit** | `backend.properties().t2(qubit)` |\n", + "| **View on IBM Quantum Platform** | Details section |\n", + "\n", + "#### `frequency`\n", + "\n", + "This parameter specifies the resonant frequency of the qubit, indicating the energy difference between the $|0\\rangle$ and $|1\\rangle$ states, expressed in hertz (Hz).\n", + "\n", + "\n", + "| | |\n", + "| --- | --- |\n", + "| **View with Qiskit** | `backend.properties().frequency(qubit)` |\n", + "| **View on IBM Quantum Platform** | - |\n", + "\n", + "#### `anharmonicity`\n", + "\n", + "Anharmonicity is the difference in energy between the first and second excited states of the qubit, also expressed in hertz (Hz).\n", + "\n", + "| | |\n", + "| --- | --- |\n", + "| **View with Qiskit** | `backend.properties().qubit_property(qubit, 'anharmonicity')`|\n", + "| **View on IBM Quantum Platform** | - |\n", + "\n", + "#### `readout_error`\n", + "\n", + "The readout error quantifies the average probability of incorrectly measuring a qubit's state. It is commonly calculated as the mean of `prob_meas0_prep1` and `prob_meas1_prep0`, providing a single metric for measurement fidelity.\n", + "\n", + "| | |\n", + "| --- | --- |\n", + "| **View with Qiskit** | `backend.properties().readout_error(qubit)`|\n", + "| **View on IBM Quantum Platform** | Details section |\n", + "\n", + "#### `prob_meas0_prep1`\n", + "\n", + "This parameter indicates the probability of measuring a qubit in the 0 state when it was intended to be prepared in the $|1\\rangle$ state, denoted as $P(0 | 1)$. It reflects errors in state preparation and measurement (SPAM), particularly measurement errors in superconducting qubits.\n", + "\n", + "\n", + "| | |\n", + "| --- | --- |\n", + "| **View with Qiskit** | `backend.properties().qubit_property(qubit, 'prob_meas0_prep1')`|\n", + "| **View on IBM Quantum Platform** | Calibration data section, table view |\n", + "\n", + "#### `prob_meas1_prep0`\n", + "\n", + "Similarly, this parameter represents the probability of measuring a qubit in the 1 state when it was intended to be prepared in the $|0\\rangle$ state, denoted as $P(1 | 0)$. Like prob_meas0_prep1, it reflects SPAM errors, with measurement errors being the predominant contributor in superconducting qubits.\n", + "\n", + "| | |\n", + "| --- | --- |\n", + "| **View with Qiskit** | `backend.properties().qubit_property(qubit, 'prob_meas0_prep0')`|\n", + "| **View on IBM Quantum Platform** | Calibration data section, table view |\n", + "\n", + "#### `readout_length`\n", + "\n", + "The `readout_length` specifies the duration of the readout operation for a qubit. It measures the time from the initiation of the measurement pulse to the completion of signal digitization, after which the system is ready for the next operation. Understanding this parameter is crucial for optimizing circuit execution, especially when incorporating mid-circuit measurements.\n", + "\n", + "| | |\n", + "| --- | --- |\n", + "| **View with Qiskit** | `backend.properties().readout_length(qubit)`|\n", + "| **View on IBM Quantum Platform** | Calibration data section, table view |\n", "\n", "The following code examples demonstrate how to list all properties, or retrieve specific properties, of a particular qubit." ] @@ -479,41 +571,6 @@ "backend.target[\"measure\"][(0,)]" ] }, - { - "cell_type": "markdown", - "id": "85d95182-0996-4584-863a-0ecf549577d5", - "metadata": {}, - "source": [ - "## QPU versioning\n", - "\n", - "Each QPU has a version number in the form X.Y.Z (major.minor.revision). A circuit compiled for a given version number is guaranteed to run on that QPU. If the revision number changes, the circuit will continue to run. If the major or minor number changes, the circuit is not guaranteed to run, although it may do so. The conditions under which a version number may change are listed below:\n", - "\n", - "### Major version\n", - "\n", - "The major version will increment for changes such as:\n", - "\n", - "* Sample changes.\n", - "* Major changes to the control electronics.\n", - "* Moving the QPU to a new location, if significant behavior changes result.\n", - "\n", - "### Minor version\n", - "\n", - "The minor version will increment for changes such as:\n", - "\n", - "* Warmup / cool-down cycles.\n", - "* Swapping out some electronics, if the replacement appreciably affects operation.\n", - "* Changing the direction of a controlled-NOT gate.\n", - "* Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software.\n", - "\n", - "### Revision version\n", - "\n", - "The revision version number will increment for fixes that do not break the existing compiled circuit. These changes include:\n", - "\n", - "* Manual calibrations to improve fidelities.\n", - "* Small electronics changes that don’t affect operation.\n", - "* QPU software updates." - ] - }, { "cell_type": "markdown", "id": "7a3ef741-9431-4d1c-a9e8-a1c75789163b", @@ -672,18 +729,7 @@ "\n", "### Two-qubit gate error (layered) section\n", "\n", - "The third section provides the expanded view of the lowest `two-qubit gate error (layered)` measured as a function of the number of qubits in the chain. The final value, at chain length 100, is the value presented in the Details section. In practice, six 100-qubit chains (pre-selected based on expected optimal performance) are measured, and the value reported for number of qubits `N` is the lowest error found in a subset length `N` chain searching over the six 100-qubit chains.\n", - "\n", - "\n", - "## Table of native gates and operations\n", - "\n", - "| Operation category | Name |\n", - "| :--- | :--- |\n", - "| Single-qubit gates | [`RZ`](/docs/api/qiskit/qiskit.circuit.library.RZGate), [`SX`](/docs/api/qiskit/qiskit.circuit.library.SXGate), [`X`](/docs/api/qiskit/qiskit.circuit.library.XGate), [`ID`](/docs/api/qiskit/qiskit.circuit.library.IGate), [`delay`](/docs/api/qiskit/circuit#qiskit.circuit.Delay) |\n", - "| Two-qubit gates | [`CZ`](/docs/api/qiskit/qiskit.circuit.library.CZGate), [`ECR`](/docs/api/qiskit/qiskit.circuit.library.ECRGate)|\n", - "| Fractional gates | [`RX`](/docs/api/qiskit/qiskit.circuit.library.RXGate) (single-qubit), [`RZZ`](/docs/api/qiskit/qiskit.circuit.library.RZZGate) (two-qubit) |\n", - "| Non-unitary instructions | [`measure`](/docs/api/qiskit/circuit#qiskit.circuit.Measure), [`reset`](/docs/api/qiskit/circuit#qiskit.circuit.Reset) |\n", - "| Control flow | [`if_else`](/docs/api/qiskit/qiskit.circuit.IfElseOp) (classical feedforward) |" + "The third section provides the expanded view of the lowest `two-qubit gate error (layered)` measured as a function of the number of qubits in the chain. The final value, at chain length 100, is the value presented in the Details section. In practice, six 100-qubit chains (pre-selected based on expected optimal performance) are measured, and the value reported for number of qubits `N` is the lowest error found in a subset length `N` chain searching over the six 100-qubit chains.\n" ] }, { @@ -721,7 +767,7 @@ "pygments_lexer": "ipython3", "version": "3" }, - "title": "Backend details" + "title": "View backend details" }, "nbformat": 4, "nbformat_minor": 4 From 571b12c97ebc77151fde45c27f14927cea2066d9 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 15 Dec 2025 19:02:54 -0500 Subject: [PATCH 17/36] fix checks --- docs/guides/processor-types.mdx | 2 +- docs/guides/qpu-information.ipynb | 11 ++++++----- docs/guides/represent-quantum-computers.ipynb | 2 +- docs/guides/save-credentials.mdx | 2 +- qiskit_bot.yaml | 2 +- scripts/config/notebook-testing.toml | 2 +- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/guides/processor-types.mdx b/docs/guides/processor-types.mdx index d7a76b582a4..04125f025f5 100644 --- a/docs/guides/processor-types.mdx +++ b/docs/guides/processor-types.mdx @@ -9,7 +9,7 @@ description: Information on IBM Quantum hardware and features of different proce Processor types are named for the general technology qualities that go into builds, consisting of the family and revision. Family (for example, Heron) refers to the size and scale of circuits possible on the chip. This is primarily determined by the number of qubits and the connectivity graph. Revisions (for example, r3) are design variants within a given family, often leading to performance improvements or tradeoffs. -To find the native gates and operations of a backend, use [this code](/docs/guides/get-qpu-information#native-gates-with-qiskit). You can see all native gates and operations in [this table](/docs/guides/get-qpu-information#native-gates). +To find the native gates and operations of a backend, use [this code](/docs/guides/qpu-information#native-gates-with-qiskit). You can see all native gates and operations in [this table](/docs/guides/qpu-information#native-gates). As new processor families are added, older families are retired. See the [Retired processor families](retired-qpus#families) section to learn more. diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 0d5a0059c71..10f139489ea 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -217,7 +217,7 @@ "\n", "### QPU versioning\n", "\n", - "Each QPU has a version number in the form X.Y.Z (major.minor.revision). A circuit compiled for a given version number is guaranteed to run on that QPU. If the revision number changes, the circuit will continue to run. If the major or minor number changes, the circuit is not guaranteed to run, although it may do so. \n", + "Each QPU has a version number in the form X.Y.Z (major.minor.revision). A circuit compiled for a given version number is guaranteed to run on that QPU. If the revision number changes, the circuit will continue to run. If the major or minor number changes, the circuit is not guaranteed to run, although it may do so.\n", "\n", "The revision version number will increment for fixes that do not break the existing compiled circuit.\n", "\n", @@ -260,7 +260,7 @@ " Navigate to the [Compute resources](https://quantum.cloud.ibm.com/computers) page to view a table of all QPUs, then click the name of any QPU to open its detailed information card. Find the QPU version under the Details section.\n", "\n", " \n", - "\n" + "" ] }, { @@ -268,9 +268,10 @@ "id": "6a055938-0a1d-46ef-ae9c-60a7960d6d73", "metadata": {}, "source": [ + "\n", "### Native gates and operations\n", "\n", - "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set. \n", + "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set.\n", "\n", "You can view the native gates and supported instructions, including non-gate-type instructions, for a QPU with Qiskit. The IBM Quantum Platform Compute resources page lists the basis gates for a QPU.\n", "\n", @@ -628,7 +629,7 @@ "\n", "#### Basis gates\n", "\n", - "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set. Note that the non-unitary operations are not listed here; use the [method in Qiskit](/docs/guides/get-qpu-information#native-gates-with-qiskit) to see all native gates and operations for a QPU. See a list of all native gates in [this table](#native-gates).\n", + "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set. Note that the non-unitary operations are not listed here; use the [method in Qiskit](/docs/guides/qpu-information#native-gates-with-qiskit) to see all native gates and operations for a QPU. See a list of all native gates in [this table](#native-gates).\n", "\n", "#### Total pending jobs\n", "\n", @@ -729,7 +730,7 @@ "\n", "### Two-qubit gate error (layered) section\n", "\n", - "The third section provides the expanded view of the lowest `two-qubit gate error (layered)` measured as a function of the number of qubits in the chain. The final value, at chain length 100, is the value presented in the Details section. In practice, six 100-qubit chains (pre-selected based on expected optimal performance) are measured, and the value reported for number of qubits `N` is the lowest error found in a subset length `N` chain searching over the six 100-qubit chains.\n" + "The third section provides the expanded view of the lowest `two-qubit gate error (layered)` measured as a function of the number of qubits in the chain. The final value, at chain length 100, is the value presented in the Details section. In practice, six 100-qubit chains (pre-selected based on expected optimal performance) are measured, and the value reported for number of qubits `N` is the lowest error found in a subset length `N` chain searching over the six 100-qubit chains." ] }, { diff --git a/docs/guides/represent-quantum-computers.ipynb b/docs/guides/represent-quantum-computers.ipynb index c1c8892ba23..03872f463bc 100644 --- a/docs/guides/represent-quantum-computers.ipynb +++ b/docs/guides/represent-quantum-computers.ipynb @@ -338,7 +338,7 @@ "\n", "\n", "\n", - " QPUs have default basis gates, but you can choose whatever gates you want, as long as you provide the instruction or add pulse gates (see [Create transpiler passes.](custom-transpiler-pass)) The default basis gates are those that calibrations have been done for on the QPU, so no further instruction/pulse gates need to be provided. For example, on some QPUs `cx` is the default two-qubit gate and `ecr` on others. See the list of possible [native gates and operations](/docs/guides/get-qpu-information#native-gates) for more details.\n", + " QPUs have default basis gates, but you can choose whatever gates you want, as long as you provide the instruction or add pulse gates (see [Create transpiler passes.](custom-transpiler-pass)) The default basis gates are those that calibrations have been done for on the QPU, so no further instruction/pulse gates need to be provided. For example, on some QPUs `cx` is the default two-qubit gate and `ecr` on others. See the list of possible [native gates and operations](/docs/guides/qpu-information#native-gates) for more details.\n", "" ] }, diff --git a/docs/guides/save-credentials.mdx b/docs/guides/save-credentials.mdx index 74bf0cba1a6..bf3ab8b7a9c 100644 --- a/docs/guides/save-credentials.mdx +++ b/docs/guides/save-credentials.mdx @@ -123,7 +123,7 @@ To view all credentials that you have saved, run `service.saved_accounts()`. No - [Initialize the Qiskit Runtime service](/docs/guides/initialize-account) in a trusted Python environment. - [Initialize the Qiskit Runtime service in an **untrusted environment**.](/docs/guides/cloud-setup-untrusted) - - [View your available QPUs.](/docs/guides/get-qpu-information#available) + - [View your available QPUs.](/docs/guides/qpu-information#available) - [Configure the Qiskit SDK locally.](/docs/guides/configure-qiskit-local) - Follow the steps in [Hello world](/docs/guides/hello-world) to write and run a quantum program. - [Set up to use IBM Quantum Platform with REST API.](/docs/guides/cloud-setup-rest-api) diff --git a/qiskit_bot.yaml b/qiskit_bot.yaml index a92b884cd70..4e0b669de67 100644 --- a/qiskit_bot.yaml +++ b/qiskit_bot.yaml @@ -139,7 +139,7 @@ notifications: - "@kaelynj" "docs/guides/measure-qubits": - "@beckykd" - "docs/guides/get-qpu-information": + "docs/guides/qpu-information": - "@frankharkins" - "@abbycross" - "`@mtreinish`" diff --git a/scripts/config/notebook-testing.toml b/scripts/config/notebook-testing.toml index 00183a18468..31977daea6e 100644 --- a/scripts/config/notebook-testing.toml +++ b/scripts/config/notebook-testing.toml @@ -26,7 +26,7 @@ notebooks = [ "docs/guides/dynamical-decoupling-pass-manager.ipynb", "docs/guides/error-mitigation-and-suppression-techniques.ipynb", "docs/guides/execution-modes-rest-api.ipynb", - "docs/guides/get-qpu-information.ipynb", + "docs/guides/qpu-information.ipynb", "docs/guides/interoperate-qiskit-qasm2.ipynb", "docs/guides/interoperate-qiskit-qasm3.ipynb", "docs/guides/local-testing-mode.ipynb", From 055372c73b2c36f0ff43a76ca8b50cf96f0ad88f Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 15 Dec 2025 19:17:06 -0500 Subject: [PATCH 18/36] fix missing variable --- docs/guides/qpu-information.ipynb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 10f139489ea..dff31c2b44f 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -298,7 +298,7 @@ " print()\n", " ```\n", " \n", - " \n", + " \n", "\n", " Navigate to the [Compute resources](https://quantum.cloud.ibm.com/computers) page to view a table of all QPUs, then click the name of any QPU to open its detailed information card. The basis gates for that QPU are listed in the Details section.\n", " \n", @@ -411,7 +411,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "74b54d1b-7db8-4879-b51f-d307f023c535", "metadata": {}, "outputs": [ @@ -428,6 +428,9 @@ ], "source": [ "# fundamental physical properties of qubit 1\n", + "\n", + "backend = service.backend(\"ibm_fez\")\n", + "\n", "backend.qubit_properties(1)" ] }, From f3e64a3859ab52c5d5ea381d7f0054f074e65fa6 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 16 Dec 2025 10:16:16 -0500 Subject: [PATCH 19/36] possible tables --- docs/guides/qpu-information.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index dff31c2b44f..cb6d55c6319 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -230,9 +230,9 @@ "\n", "| Major version | Minor version | Revision version |\n", "| --- | --- | --- |\n", - "|Sample changes| Warmup / cool-down cycles | Manual calibrations to improve fidelities |\n", - "|Major changes to the control electronics| Swapping out some electronics, if the replacement appreciably affects operation| Small electronics changes that don’t affect operation |\n", - "|Moving the QPU to a new location, if significant behavior changes result| Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software| QPU software updates|\n", + "|Sample changes| Warmup / cool-down cycles | QPU software updates |\n", + "|Major changes to the control electronics| Swapping out some electronics, if the replacement appreciably affects operation| Manual calibrations to improve fidelities |\n", + "|Moving the QPU to a new location, if significant behavior changes result| Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software| Small electronics changes that don’t affect operation |\n", "| |Changing the direction of a CNOT gate | |\n", "\n", "\n", From 97d5c4a1664e673bb7858292ae6e2c583556971e Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 16 Dec 2025 10:17:20 -0500 Subject: [PATCH 20/36] keep second table --- docs/guides/qpu-information.ipynb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index cb6d55c6319..17bdc32e327 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -225,11 +225,6 @@ "\n", "| Major version | Minor version | Revision version |\n", "| --- | --- | --- |\n", - "|
  • Sample changes
  • Major changes to the control electronics
  • Moving the QPU to a new location, if significant behavior changes result
|
  • Warmup / cool-down cycles
  • Swapping out some electronics, if the replacement appreciably affects operation
  • Changing the direction of a CNOT gate
  • Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software
|
  • Manual calibrations to improve fidelities
  • Small electronics changes that don’t affect operation
  • QPU software updates
|\n", - "\n", - "\n", - "| Major version | Minor version | Revision version |\n", - "| --- | --- | --- |\n", "|Sample changes| Warmup / cool-down cycles | QPU software updates |\n", "|Major changes to the control electronics| Swapping out some electronics, if the replacement appreciably affects operation| Manual calibrations to improve fidelities |\n", "|Moving the QPU to a new location, if significant behavior changes result| Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software| Small electronics changes that don’t affect operation |\n", From f727ea77035bb6aa5dfa13374afac69386ca1657 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 16 Dec 2025 13:53:05 -0500 Subject: [PATCH 21/36] Combine List and Filter backends --- docs/guides/qpu-information.ipynb | 215 +++++++++++------------------- 1 file changed, 75 insertions(+), 140 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 17bdc32e327..5eb8024621c 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -42,50 +42,47 @@ "id": "c9aec913-438d-4849-9ee1-ca531264b50e", "metadata": {}, "source": [ - "## List backends\n", + "## List or filter backends\n", "\n", "\n", "### View backends available to you\n", "\n", - "To view the backends you have access to, you can view a list on the [Compute resources page](https://quantum.cloud.ibm.com/computers) (note that your selected region might impact the QPUs listed). Click the filter icon and choose either \"All my instances\" or a specific instance name to see the available QPUs.\n", + "You can use either Qiskit or IBM Quantum Platform to view a list of backends available to you, or to search for a particular backend.\n", "\n", - "You can also use the [`QiskitRuntimeService.backends()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends) method, as shown in the next code block. This method returns a list of [`IBMBackend`](../api/qiskit-ibm-runtime/ibm-backend) instances." - ] - }, - { - "cell_type": "markdown", - "id": "61cf3942-2070-4917-90ab-44afdcbde92f", - "metadata": {}, - "source": [ - "To run the following code, be sure you have already authenticated to the service. See [Set up your IBM Cloud account](/docs/guides/cloud-setup) for more details." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "b169fd5c-5132-47ed-9baf-eecd37f8f668", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Initialize your account\n", - "from qiskit_ibm_runtime import QiskitRuntimeService\n", - "\n", - "service = QiskitRuntimeService()\n", - "\n", - "service.backends()" + "\n", + " \n", + " Use the [`QiskitRuntimeService.backends()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends) method, as shown in the next code block. This method returns a list of [`IBMBackend`](/docs/api/qiskit-ibm-runtime/ibm-backend) instances.\n", + "\n", + " To run the following code, be sure you have already authenticated to the service. See [Set up your IBM Cloud account](/docs/guides/cloud-setup) for more details.\n", + "\n", + " ```python\n", + " # Initialize your account\n", + " from qiskit_ibm_runtime import QiskitRuntimeService\n", + "\n", + " service = QiskitRuntimeService()\n", + "\n", + " service.backends()\n", + " ```\n", + " Output:\n", + " ```\n", + " [,\n", + " ]\n", + " ```\n", + "\n", + " To search for a specific backend, use the [`QiskitRuntimeService.backend()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backend) method (note that this is singular: *backend*), which takes the name of the backend as the input parameter and returns an [`IBMBackend`](/docs/api/qiskit-ibm-runtime/ibm-backend) instance representing that particular backend:\n", + "\n", + " ```python\n", + " service.backend(\"ibm_fez\")\n", + " ```\n", + " Output:\n", + " ```\n", + " \n", + " ```\n", + " \n", + " \n", + " To view the backends you have access to, navigate to the list of backends on the [Compute resources page](https://quantum.cloud.ibm.com/computers) (note that your selected region might impact the QPUs listed). Click the filter icon and choose either \"All my instances\" or a specific instance name to see the available QPUs.\n", + " \n", + "\n" ] }, { @@ -98,112 +95,50 @@ "
" ] }, - { - "cell_type": "markdown", - "id": "546f7270-66b9-43eb-a445-731ffa06a33f", - "metadata": {}, - "source": [ - "### Search by a particular backend name\n", - "\n", - "The [`QiskitRuntimeService.backend()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backend) method (note that this is singular: *backend*) takes the name of the backend as the input parameter and returns an [`IBMBackend`](/docs/api/qiskit-ibm-runtime/ibm-backend) instance representing that particular backend:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "424a7f11-6fd1-4599-a6e7-6fa722234b9a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "service.backend(\"ibm_fez\")" - ] - }, { "cell_type": "markdown", "id": "2a9fa4a7-4f2a-47ef-be70-b1e100b20d2a", "metadata": {}, "source": [ - "## Filter backends\n", - "\n", - "You can also filter the available backends by their properties. For more general filters, set the `filters` argument to a function that accepts a backend object and returns `True` if it meets your criteria. Refer to the [API documentation](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends) for more details.\n", - "\n", - "The following code returns only backends that fit these criteria and are available to you _on your currently selected instance_:\n", - "\n", - "* Are real quantum devices (`simulator=False`)\n", - "* Are currently operational (`operational=True`)\n", - "* Have at least a hundred qubits (`min_num_qubits=100`)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "cc7b0879-feaa-42da-955a-775b456198a1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Optionally pass in an instance, region, or both, to\n", - "# further filter the backends.\n", - "service = QiskitRuntimeService()\n", - "\n", - "service.backends(simulator=False, operational=True, min_num_qubits=5)" - ] - }, - { - "cell_type": "markdown", - "id": "37fbdbc1-9f24-491b-8352-e56d767a5acd", - "metadata": {}, - "source": [ - "These JSON schemas list the keyword arguments to use when filtering by attribute.\n", + "### Filter backends\n", "\n", - "- [Backend configuration JSON schema](/docs/api/qiskit-ibm-runtime/models-backend-configuration)\n", - "- [Status JSON schema](/docs/api/qiskit-ibm-runtime/models-backend-status)\n", "\n", - "A similar method is [`QiskitRuntimeService.least_busy()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#least_busy), which takes the same filters as `backends()` but returns the backend that matches the filters and has the least number of jobs pending in the queue:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "846dfe4b-def3-49c1-9d2a-906fd2dc55de", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "service.least_busy(operational=True, min_num_qubits=100)" + "\n", + " \n", + " You can filter the available backends by their [configuration](/docs/api/qiskit-ibm-runtime/models-backend-configuration) or [status](/docs/api/qiskit-ibm-runtime/models-backend-status). For more general filters, set the `filters` argument to a function that accepts a backend object and returns `True` if it meets your criteria. Refer to the [API documentation](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backends) for more details.\n", + "\n", + " The following code returns only backends that fit these criteria and are available to you _on your currently selected instance_:\n", + "\n", + " * Are real quantum devices (`simulator=False`)\n", + " * Are currently operational (`operational=True`)\n", + " * Have at least a hundred qubits (`min_num_qubits=100`)\n", + "\n", + " ```python\n", + " # Optionally pass in an instance, region, or both, to\n", + " # further filter the backends.\n", + " service = QiskitRuntimeService()\n", + "\n", + " service.backends(simulator=False, operational=True, min_num_qubits=5)\n", + " ```\n", + " Output:\n", + " ```\n", + " [,\n", + " ]\n", + " ```\n", + " A similar method is [`QiskitRuntimeService.least_busy()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#least_busy), which takes the same filters as `backends()` but returns the backend that matches the filters and has the least number of jobs pending in the queue:\n", + "\n", + " ```python\n", + " service.least_busy(operational=True, min_num_qubits=100)\n", + " ```\n", + " Output:\n", + " ```\n", + " \n", + " ```\n", + " \n", + " \n", + " To view the backends you have access to, view the table on the [Compute resources page](https://quantum.cloud.ibm.com/computers). Click the filter icon to see filter options. You can filter by processor type and status. Note also that you can sort the table by any column by hovering over a column title, and then clicking the arrows that appear.\n", + " \n", + "" ] }, { @@ -353,7 +288,7 @@ "| | |\n", "| --- | --- |\n", "| **View with Qiskit** | `backend.properties().frequency(qubit)` |\n", - "| **View on IBM Quantum Platform** | - |\n", + "| **View on IBM Quantum Platform** | Calibration data section, graph view |\n", "\n", "#### `anharmonicity`\n", "\n", @@ -362,7 +297,7 @@ "| | |\n", "| --- | --- |\n", "| **View with Qiskit** | `backend.properties().qubit_property(qubit, 'anharmonicity')`|\n", - "| **View on IBM Quantum Platform** | - |\n", + "| **View on IBM Quantum Platform** | Calibration data section, graph view |\n", "\n", "#### `readout_error`\n", "\n", From ca2b05abefaa75831f402488bd95940ff4b09673 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 16 Dec 2025 14:24:42 -0500 Subject: [PATCH 22/36] use the CodeCellPlaceholder component --- docs/guides/qpu-information.ipynb | 216 ++++++++++++++++++++++-------- 1 file changed, 162 insertions(+), 54 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 5eb8024621c..6e8fc9b440f 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -29,6 +29,17 @@ "" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit_ibm_runtime import QiskitRuntimeService\n", + "\n", + "service = QiskitRuntimeService()" + ] + }, { "cell_type": "markdown", "id": "c05364ae-48e2-439e-8074-3a053731c744", @@ -55,29 +66,11 @@ "\n", " To run the following code, be sure you have already authenticated to the service. See [Set up your IBM Cloud account](/docs/guides/cloud-setup) for more details.\n", "\n", - " ```python\n", - " # Initialize your account\n", - " from qiskit_ibm_runtime import QiskitRuntimeService\n", - "\n", - " service = QiskitRuntimeService()\n", - "\n", - " service.backends()\n", - " ```\n", - " Output:\n", - " ```\n", - " [,\n", - " ]\n", - " ```\n", + " \n", "\n", " To search for a specific backend, use the [`QiskitRuntimeService.backend()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#backend) method (note that this is singular: *backend*), which takes the name of the backend as the input parameter and returns an [`IBMBackend`](/docs/api/qiskit-ibm-runtime/ibm-backend) instance representing that particular backend:\n", "\n", - " ```python\n", - " service.backend(\"ibm_fez\")\n", - " ```\n", - " Output:\n", - " ```\n", - " \n", - " ```\n", + " \n", " \n", " \n", " To view the backends you have access to, navigate to the list of backends on the [Compute resources page](https://quantum.cloud.ibm.com/computers) (note that your selected region might impact the QPUs listed). Click the filter icon and choose either \"All my instances\" or a specific instance name to see the available QPUs.\n", @@ -85,6 +78,94 @@ "\n" ] }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b169fd5c-5132-47ed-9baf-eecd37f8f668", + "metadata": { + "tags": [ + "id-initialize" + ] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Initialize your account\n", + "from qiskit_ibm_runtime import QiskitRuntimeService\n", + "\n", + "service = QiskitRuntimeService()\n", + "\n", + "service.backends()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "424a7f11-6fd1-4599-a6e7-6fa722234b9a", + "metadata": { + "tags": [ + "id-search" + ] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "service.backend(\"ibm_fez\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "cc7b0879-feaa-42da-955a-775b456198a1", + "metadata": { + "tags": [ + "id-filter" + ] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Optionally pass in an instance, region, or both, to\n", + "# further filter the backends.\n", + "service = QiskitRuntimeService()\n", + "\n", + "service.backends(simulator=False, operational=True, min_num_qubits=5)" + ] + }, { "cell_type": "markdown", "id": "7bc88fb4-868a-4bb4-baec-05e85792f71f", @@ -113,27 +194,12 @@ " * Are currently operational (`operational=True`)\n", " * Have at least a hundred qubits (`min_num_qubits=100`)\n", "\n", - " ```python\n", - " # Optionally pass in an instance, region, or both, to\n", - " # further filter the backends.\n", - " service = QiskitRuntimeService()\n", - "\n", - " service.backends(simulator=False, operational=True, min_num_qubits=5)\n", - " ```\n", - " Output:\n", - " ```\n", - " [,\n", - " ]\n", - " ```\n", + " \n", + "\n", " A similar method is [`QiskitRuntimeService.least_busy()`](/docs/api/qiskit-ibm-runtime/qiskit-runtime-service#least_busy), which takes the same filters as `backends()` but returns the backend that matches the filters and has the least number of jobs pending in the queue:\n", "\n", - " ```python\n", - " service.least_busy(operational=True, min_num_qubits=100)\n", - " ```\n", - " Output:\n", - " ```\n", - " \n", - " ```\n", + " \n", + "\n", " \n", " \n", " To view the backends you have access to, view the table on the [Compute resources page](https://quantum.cloud.ibm.com/computers). Click the filter icon to see filter options. You can filter by processor type and status. Note also that you can sort the table by any column by hovering over a column title, and then clicking the arrows that appear.\n", @@ -141,6 +207,31 @@ "" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "846dfe4b-def3-49c1-9d2a-906fd2dc55de", + "metadata": { + "tags": [ + "id-least-jobs" + ] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "service.least_busy(operational=True, min_num_qubits=100)" + ] + }, { "cell_type": "markdown", "id": "3b34bb71-b8cf-415f-9901-a5970997ee15", @@ -168,21 +259,7 @@ "\n", " \n", "\n", - " ```python\n", - " backend = service.backend(\"ibm_example\")\n", - "\n", - " print(\n", - " f\"Name: {backend.name}\\n\"\n", - " f\"Version: {backend.version}\\n\"\n", - " f\"No. of qubits: {backend.num_qubits}\\n\"\n", - " )\n", - " ```\n", - "\n", - " ```\n", - " Name: ibm_example\n", - " Version: 2\n", - " No. of qubits: 156\n", - " ```\n", + " \n", "\n", " \n", " \n", @@ -193,6 +270,37 @@ "" ] }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8d070b69-1b6d-4faa-9a4a-d12aba47d0b7", + "metadata": { + "tags": [ + "id-version" + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Name: ibm_fez\n", + "Version: 2\n", + "No. of qubits: 156\n", + "\n" + ] + } + ], + "source": [ + "backend = service.backend(\"ibm_fez\")\n", + "\n", + "print(\n", + " f\"Name: {backend.name}\\n\"\n", + " f\"Version: {backend.version}\\n\"\n", + " f\"No. of qubits: {backend.num_qubits}\\n\"\n", + ")" + ] + }, { "cell_type": "markdown", "id": "6a055938-0a1d-46ef-ae9c-60a7960d6d73", From ef5d8d1038b147c5e9f2edc38110019f30ec5cba Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 16 Dec 2025 14:34:03 -0500 Subject: [PATCH 23/36] Delete random cell, change 5 to 100 --- docs/guides/qpu-information.ipynb | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 6e8fc9b440f..d60d6f4fb74 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -29,17 +29,6 @@ "" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit_ibm_runtime import QiskitRuntimeService\n", - "\n", - "service = QiskitRuntimeService()" - ] - }, { "cell_type": "markdown", "id": "c05364ae-48e2-439e-8074-3a053731c744", @@ -137,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "cc7b0879-feaa-42da-955a-775b456198a1", "metadata": { "tags": [ @@ -163,7 +152,7 @@ "# further filter the backends.\n", "service = QiskitRuntimeService()\n", "\n", - "service.backends(simulator=False, operational=True, min_num_qubits=5)" + "service.backends(simulator=False, operational=True, min_num_qubits=100)" ] }, { From 280dac5bf6c39ecd8331889a18f2cc7486bb861b Mon Sep 17 00:00:00 2001 From: abbycross Date: Wed, 17 Dec 2025 09:46:43 -0500 Subject: [PATCH 24/36] eek Co-authored-by: Jessie Yu --- docs/guides/qpu-information.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index d60d6f4fb74..d7138210556 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -285,7 +285,7 @@ "\n", "print(\n", " f\"Name: {backend.name}\\n\"\n", - " f\"Version: {backend.version}\\n\"\n", + " f\"Version: {backend.backend_version}\\n\"\n", " f\"No. of qubits: {backend.num_qubits}\\n\"\n", ")" ] From 457a85aa5626866c9e5f3708434378859d3b9cdc Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 29 Dec 2025 11:44:59 -0500 Subject: [PATCH 25/36] move hello world --- docs/guides/_toc.json | 6 +++++- docs/guides/cloud-setup-invited.mdx | 2 +- docs/guides/cloud-setup-rest-api.mdx | 2 +- docs/guides/cloud-setup-untrusted.mdx | 2 +- docs/guides/configure-qiskit-local.mdx | 2 +- docs/guides/execute-on-hardware.mdx | 3 +-- docs/{tutorials => guides}/hello-world.ipynb | 8 ++++---- docs/guides/initialize-account.mdx | 2 +- docs/guides/install-qiskit-source.mdx | 2 +- docs/guides/install-qiskit.mdx | 2 +- docs/guides/qpu-information.ipynb | 2 +- docs/guides/quick-start.ipynb | 2 +- docs/guides/save-credentials.mdx | 2 +- docs/guides/upgrade-from-open.mdx | 2 +- docs/tutorials/_toc.json | 4 ---- docs/tutorials/index.mdx | 1 - .../hello-world/extracted-outputs/87143fcc-0.svg | 0 .../hello-world/extracted-outputs/930ca3b6-0.svg | 0 .../hello-world/extracted-outputs/9a901271-0.svg | 0 .../hello-world/extracted-outputs/de91ebd0-0.svg | 0 qiskit_bot.yaml | 8 +------- scripts/config/notebook-testing.toml | 2 +- 22 files changed, 23 insertions(+), 31 deletions(-) rename docs/{tutorials => guides}/hello-world.ipynb (98%) rename public/docs/images/{tutorials => guides}/hello-world/extracted-outputs/87143fcc-0.svg (100%) rename public/docs/images/{tutorials => guides}/hello-world/extracted-outputs/930ca3b6-0.svg (100%) rename public/docs/images/{tutorials => guides}/hello-world/extracted-outputs/9a901271-0.svg (100%) rename public/docs/images/{tutorials => guides}/hello-world/extracted-outputs/de91ebd0-0.svg (100%) diff --git a/docs/guides/_toc.json b/docs/guides/_toc.json index c3f98a9140b..6690044db6f 100644 --- a/docs/guides/_toc.json +++ b/docs/guides/_toc.json @@ -14,7 +14,11 @@ "url": "/docs/guides/quick-start" }, { - "title": "Install", + "title": "Hello world", + "url": "/docs/guides/hello-world" + }, + { + "title": "Advanced install", "children": [ { "title": "Install Qiskit", diff --git a/docs/guides/cloud-setup-invited.mdx b/docs/guides/cloud-setup-invited.mdx index 58b727ffcf1..b192ca446cc 100644 --- a/docs/guides/cloud-setup-invited.mdx +++ b/docs/guides/cloud-setup-invited.mdx @@ -56,6 +56,6 @@ If you are using a trusted Python environment, such as a personal laptop, it is - [Overview of available plans.](plans-overview) - [Configure the Qiskit SDK locally.](configure-qiskit-local) - [Set up to use IBM Quantum Platform with REST API](/docs/guides/cloud-setup-rest-api) - - Follow the steps in [Hello world](/docs/tutorials/hello-world) to write and run a quantum program. + - Follow the steps in [Hello world](/docs/guides/hello-world) to write and run a quantum program. - Try a [tutorial](/docs/tutorials).
\ No newline at end of file diff --git a/docs/guides/cloud-setup-rest-api.mdx b/docs/guides/cloud-setup-rest-api.mdx index 017ec4ec2c8..5d594c8c0d6 100644 --- a/docs/guides/cloud-setup-rest-api.mdx +++ b/docs/guides/cloud-setup-rest-api.mdx @@ -97,6 +97,6 @@ curl -X 'GET' \ - [Overview of available plans.](plans-overview) - [Configure the Qiskit SDK locally.](configure-qiskit-local) - - Follow the steps in [Hello world](/docs/tutorials/hello-world) to write and run a quantum program. + - Follow the steps in [Hello world](/docs/guides/hello-world) to write and run a quantum program. - Try a [tutorial](/docs/tutorials). \ No newline at end of file diff --git a/docs/guides/cloud-setup-untrusted.mdx b/docs/guides/cloud-setup-untrusted.mdx index d08da5df4ad..4e44c21cccd 100644 --- a/docs/guides/cloud-setup-untrusted.mdx +++ b/docs/guides/cloud-setup-untrusted.mdx @@ -70,6 +70,6 @@ Follow these steps to use your API key directly to authenticate to the Qiskit Ru - [Overview of available plans.](plans-overview) - [Configure the Qiskit SDK locally.](configure-qiskit-local) - - Follow the steps in [Hello world](/docs/tutorials/hello-world) to write and run a quantum program. + - Follow the steps in [Hello world](/docs/guides/hello-world) to write and run a quantum program. - Try a [tutorial](/docs/tutorials). \ No newline at end of file diff --git a/docs/guides/configure-qiskit-local.mdx b/docs/guides/configure-qiskit-local.mdx index 47b2f57ce77..07431736298 100644 --- a/docs/guides/configure-qiskit-local.mdx +++ b/docs/guides/configure-qiskit-local.mdx @@ -56,6 +56,6 @@ Set these environment variables to alter the default behavior of Qiskit: - Learn how to [build circuits](./map-problem-to-circuits). - Try a tutorial, such as [Grover's algorithm](/docs/tutorials/grovers-algorithm). - - [Run the Hello world program](/docs/tutorials/hello-world). + - [Run the Hello world program](/docs/guides/hello-world). - Read the [contributing guidelines](https://github.com/Qiskit/qiskit/blob/main/CONTRIBUTING.md) if you want to contribute to the open-source Qiskit SDK. diff --git a/docs/guides/execute-on-hardware.mdx b/docs/guides/execute-on-hardware.mdx index 35c0151dd26..e27560e2a43 100644 --- a/docs/guides/execute-on-hardware.mdx +++ b/docs/guides/execute-on-hardware.mdx @@ -60,9 +60,8 @@ expectation values of observables corresponding to physical quantities or cost f ### QPU and platform information * [Processor types](./processor-types) -* [QPU information](./qpu-information) +* [View backend details](./qpu-information) * [Calibration jobs](./calibration-jobs) -* [Get QPU information with Qiskit](./get-qpu-information) * [Dynamic repetition rate execution](./repetition-rate-execution) * [Retired QPUs](./retired-qpus) * [Instances](./instances) diff --git a/docs/tutorials/hello-world.ipynb b/docs/guides/hello-world.ipynb similarity index 98% rename from docs/tutorials/hello-world.ipynb rename to docs/guides/hello-world.ipynb index de20517f2a9..1c44fc97b0b 100644 --- a/docs/tutorials/hello-world.ipynb +++ b/docs/guides/hello-world.ipynb @@ -143,7 +143,7 @@ { "data": { "text/plain": [ - "\"Output" + "\"Output" ] }, "execution_count": 1, @@ -243,7 +243,7 @@ { "data": { "text/plain": [ - "\"Output" + "\"Output" ] }, "execution_count": 3, @@ -414,7 +414,7 @@ { "data": { "text/plain": [ - "\"Output" + "\"Output" ] }, "metadata": {}, @@ -652,7 +652,7 @@ { "data": { "text/plain": [ - "\"Output" + "\"Output" ] }, "metadata": {}, diff --git a/docs/guides/initialize-account.mdx b/docs/guides/initialize-account.mdx index e0b9292276d..907aec77fbf 100644 --- a/docs/guides/initialize-account.mdx +++ b/docs/guides/initialize-account.mdx @@ -196,6 +196,6 @@ service = QiskitRuntimeService(channel="local") - [Create and manage instances.](/docs/guides/instances) - [Initialize the service in an untrusted environment.](/docs/guides/cloud-setup-untrusted) - [Set up to use IBM Quantum Platform with REST API.](/docs/guides/cloud-setup-rest-api) - - Follow the steps in [Hello world](/docs/tutorials/hello-world) to write and run a quantum program. + - Follow the steps in [Hello world](/docs/guides/hello-world) to write and run a quantum program.
diff --git a/docs/guides/install-qiskit-source.mdx b/docs/guides/install-qiskit-source.mdx index 77b6816d1b6..11d9917aade 100644 --- a/docs/guides/install-qiskit-source.mdx +++ b/docs/guides/install-qiskit-source.mdx @@ -149,6 +149,6 @@ pip install -e ".[dev]" - Read the [contributing guidelines](https://github.com/Qiskit/qiskit/blob/main/CONTRIBUTING.md) to contribute to the open-source Qiskit SDK. - Learn how to [build circuits](./map-problem-to-circuits). - - [Run the Hello world program](/docs/tutorials/hello-world). + - [Run the Hello world program](/docs/guides/hello-world). - Try a tutorial, such as [Grover's algorithm](/docs/tutorials/grovers-algorithm). diff --git a/docs/guides/install-qiskit.mdx b/docs/guides/install-qiskit.mdx index 945208210da..b555e542e5f 100644 --- a/docs/guides/install-qiskit.mdx +++ b/docs/guides/install-qiskit.mdx @@ -308,6 +308,6 @@ In the Qiskit v1.x release series, the supported platforms are: - Set up your [IBM Cloud account.](/docs/guides/cloud-setup) - [Configure Qiskit locally.](configure-qiskit-local) - - Follow the steps in [Hello world](/docs/tutorials/hello-world) to write and run a quantum program. + - Follow the steps in [Hello world](/docs/guides/hello-world) to write and run a quantum program. - Try an IBM Quantum Learning [tutorial.](/docs/tutorials)
diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index d7138210556..a20adcd3716 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -64,7 +64,7 @@ " \n", " To view the backends you have access to, navigate to the list of backends on the [Compute resources page](https://quantum.cloud.ibm.com/computers) (note that your selected region might impact the QPUs listed). Click the filter icon and choose either \"All my instances\" or a specific instance name to see the available QPUs.\n", " \n", - "\n" + "" ] }, { diff --git a/docs/guides/quick-start.ipynb b/docs/guides/quick-start.ipynb index 4c289926c4d..2834e236c40 100644 --- a/docs/guides/quick-start.ipynb +++ b/docs/guides/quick-start.ipynb @@ -233,7 +233,7 @@ "## Next steps\n", "\n", "\n", - "- Run a circuit on real quantum hardware in the [Hello world](/docs/tutorials/hello-world) tutorial.\n", + "- Run a circuit on real quantum hardware in the [Hello world](/docs/guides/hello-world) tutorial.\n", "- Not ready to run on hardware? Start your quantum journey with the [Basics of quantum information](/learning/courses/basics-of-quantum-information) course.\n", "" ] diff --git a/docs/guides/save-credentials.mdx b/docs/guides/save-credentials.mdx index 2116c9326ca..bf3ab8b7a9c 100644 --- a/docs/guides/save-credentials.mdx +++ b/docs/guides/save-credentials.mdx @@ -125,7 +125,7 @@ To view all credentials that you have saved, run `service.saved_accounts()`. No - [Initialize the Qiskit Runtime service in an **untrusted environment**.](/docs/guides/cloud-setup-untrusted) - [View your available QPUs.](/docs/guides/qpu-information#available) - [Configure the Qiskit SDK locally.](/docs/guides/configure-qiskit-local) - - Follow the steps in [Hello world](/docs/tutorials/hello-world) to write and run a quantum program. + - Follow the steps in [Hello world](/docs/guides/hello-world) to write and run a quantum program. - [Set up to use IBM Quantum Platform with REST API.](/docs/guides/cloud-setup-rest-api) - Try a [tutorial.](/docs/tutorials)
\ No newline at end of file diff --git a/docs/guides/upgrade-from-open.mdx b/docs/guides/upgrade-from-open.mdx index c03a71f2ca7..11088712cb6 100644 --- a/docs/guides/upgrade-from-open.mdx +++ b/docs/guides/upgrade-from-open.mdx @@ -48,6 +48,6 @@ It is recommended that you set up a [cost limit](/docs/guides/manage-cost#cost-l - [Manage cost](manage-cost) when using the Pay-As-You-Go Plan. - Learn about the available [plans.](plans-overview) - - Follow the steps in [Hello world](/docs/tutorials/hello-world) to write and run a quantum program. + - Follow the steps in [Hello world](/docs/guides/hello-world) to write and run a quantum program. - Try a [tutorial](/docs/tutorials). \ No newline at end of file diff --git a/docs/tutorials/_toc.json b/docs/tutorials/_toc.json index 4df998d824a..b5b502d5fcd 100644 --- a/docs/tutorials/_toc.json +++ b/docs/tutorials/_toc.json @@ -11,10 +11,6 @@ "url": "/docs/tutorials", "useDivider": true }, - { - "title": "Hello world", - "url": "/docs/tutorials/hello-world" - }, { "title": "CHSH inequality", "url": "/docs/tutorials/chsh-inequality" diff --git a/docs/tutorials/index.mdx b/docs/tutorials/index.mdx index e6d61ebc25b..c5123ce496c 100644 --- a/docs/tutorials/index.mdx +++ b/docs/tutorials/index.mdx @@ -15,7 +15,6 @@ Use these tutorials to learn how to apply Qiskit to common quantum computing use These tutorials are for beginners who are ready to explore running quantum algorithms on a quantum computer. -* [Hello world](/docs/tutorials/hello-world) * [CHSH inequality](/docs/tutorials/chsh-inequality) ## Explore workflows toward advantage diff --git a/public/docs/images/tutorials/hello-world/extracted-outputs/87143fcc-0.svg b/public/docs/images/guides/hello-world/extracted-outputs/87143fcc-0.svg similarity index 100% rename from public/docs/images/tutorials/hello-world/extracted-outputs/87143fcc-0.svg rename to public/docs/images/guides/hello-world/extracted-outputs/87143fcc-0.svg diff --git a/public/docs/images/tutorials/hello-world/extracted-outputs/930ca3b6-0.svg b/public/docs/images/guides/hello-world/extracted-outputs/930ca3b6-0.svg similarity index 100% rename from public/docs/images/tutorials/hello-world/extracted-outputs/930ca3b6-0.svg rename to public/docs/images/guides/hello-world/extracted-outputs/930ca3b6-0.svg diff --git a/public/docs/images/tutorials/hello-world/extracted-outputs/9a901271-0.svg b/public/docs/images/guides/hello-world/extracted-outputs/9a901271-0.svg similarity index 100% rename from public/docs/images/tutorials/hello-world/extracted-outputs/9a901271-0.svg rename to public/docs/images/guides/hello-world/extracted-outputs/9a901271-0.svg diff --git a/public/docs/images/tutorials/hello-world/extracted-outputs/de91ebd0-0.svg b/public/docs/images/guides/hello-world/extracted-outputs/de91ebd0-0.svg similarity index 100% rename from public/docs/images/tutorials/hello-world/extracted-outputs/de91ebd0-0.svg rename to public/docs/images/guides/hello-world/extracted-outputs/de91ebd0-0.svg diff --git a/qiskit_bot.yaml b/qiskit_bot.yaml index 0ab90f25160..123a6907c52 100644 --- a/qiskit_bot.yaml +++ b/qiskit_bot.yaml @@ -142,10 +142,6 @@ notifications: - "@kaelynj" "docs/guides/measure-qubits": - "@beckykd" - "docs/guides/qpu-information": - - "@frankharkins" - - "@abbycross" - - "`@mtreinish`" "docs/guides/get-started-with-primitives": - "@ElePT" - "@jyu00" @@ -159,7 +155,7 @@ notifications: "docs/guides/responsibilities": - "@abbycross" - "@beckykd" - "docs/tutorials/hello-world": + "docs/guides/hello-world": - "@abbycross" - "@beckykd" "docs/guides/allocation-limits": @@ -346,8 +342,6 @@ notifications: - "@beckykd" "docs/guides/synthesize-unitary-operators": - "@Cryoris" - "docs/guides/tool-index": - - "@kaelynj" "docs/guides/qpu-information": - "`@lerongil`" - "@abbycross" diff --git a/scripts/config/notebook-testing.toml b/scripts/config/notebook-testing.toml index 5cd898327f5..e46767176f3 100644 --- a/scripts/config/notebook-testing.toml +++ b/scripts/config/notebook-testing.toml @@ -100,7 +100,7 @@ notebooks = [ [groups.cron-job-only] test-strategies.hardware = { patch="qiskit-ibm-runtime-open" } notebooks = [ - "docs/tutorials/hello-world.ipynb", + "docs/guides/hello-world.ipynb", # The following notebook takes >300s to run and should be executed in the # cron job. Even though it does not use real hardware "docs/guides/qiskit-addons-cutting-gates.ipynb", From 79831dc899816bcc2a455f75dfb2847575907b77 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 29 Dec 2025 12:15:11 -0500 Subject: [PATCH 26/36] simplify code block --- docs/guides/qpu-information.ipynb | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index a20adcd3716..85318f8fd25 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -45,7 +45,7 @@ "## List or filter backends\n", "\n", "\n", - "### View backends available to you\n", + "### List backends available to you\n", "\n", "You can use either Qiskit or IBM Quantum Platform to view a list of backends available to you, or to search for a particular backend.\n", "\n", @@ -308,21 +308,14 @@ "\n", " \n", " ```python\n", + " from qiskit_ibm_runtime import QiskitRuntimeService\n", "\n", - " from qiskit_ibm_runtime import QiskitRuntimeService\n", + " service = QiskitRuntimeService()\n", + " backend = service.backend(\"ibm_fez\")\n", "\n", - " service = QiskitRuntimeService()\n", - "\n", - " for backend in service.backends():\n", - " config = backend.configuration()\n", - " if \"simulator\" in config.backend_name:\n", - " continue\n", - " print(f\"Backend: {config.backend_name}\")\n", - " print(f\" Processor type: {config.processor_type}\")\n", - " print(f\" Supported instructions:\")\n", - " for instruction in config.supported_instructions:\n", - " print(f\" {instruction}\")\n", - " print()\n", + " print(f\"Backend: {backend.name}\")\n", + " print(f\" Processor type: {backend.processor_type}\")\n", + " print(f\" Supported instructions: {backend.supported_instructions}\")\n", " ```\n", " \n", " \n", From 835a692e20c2962617675fedf44cc9a2bc99e911 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 29 Dec 2025 12:25:51 -0500 Subject: [PATCH 27/36] undo --- docs/guides/qpu-information.ipynb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 85318f8fd25..02ea9d61559 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -357,7 +357,7 @@ "\n", "| | |\n", "| --- | --- |\n", - "| **View with Qiskit** | `backend.properties().t1(qubit)` |\n", + "| **View with Qiskit** | `backend.properties().t1()` |\n", "| **View on IBM Quantum Platform** | Details section |\n", "\n", "#### `T2` (Dephasing time)\n", @@ -367,7 +367,7 @@ "\n", "| | |\n", "| --- | --- |\n", - "| **View with Qiskit** | `backend.properties().t2(qubit)` |\n", + "| **View with Qiskit** | `backend.properties().t2()` |\n", "| **View on IBM Quantum Platform** | Details section |\n", "\n", "#### `frequency`\n", @@ -377,7 +377,7 @@ "\n", "| | |\n", "| --- | --- |\n", - "| **View with Qiskit** | `backend.properties().frequency(qubit)` |\n", + "| **View with Qiskit** | `backend.properties().frequency()` |\n", "| **View on IBM Quantum Platform** | Calibration data section, graph view |\n", "\n", "#### `anharmonicity`\n", @@ -386,7 +386,7 @@ "\n", "| | |\n", "| --- | --- |\n", - "| **View with Qiskit** | `backend.properties().qubit_property(qubit, 'anharmonicity')`|\n", + "| **View with Qiskit** | `backend.properties().qubit_property(, 'anharmonicity')`|\n", "| **View on IBM Quantum Platform** | Calibration data section, graph view |\n", "\n", "#### `readout_error`\n", @@ -395,7 +395,7 @@ "\n", "| | |\n", "| --- | --- |\n", - "| **View with Qiskit** | `backend.properties().readout_error(qubit)`|\n", + "| **View with Qiskit** | `backend.properties().readout_error()`|\n", "| **View on IBM Quantum Platform** | Details section |\n", "\n", "#### `prob_meas0_prep1`\n", @@ -405,7 +405,7 @@ "\n", "| | |\n", "| --- | --- |\n", - "| **View with Qiskit** | `backend.properties().qubit_property(qubit, 'prob_meas0_prep1')`|\n", + "| **View with Qiskit** | `backend.properties().qubit_property(, 'prob_meas0_prep1')`|\n", "| **View on IBM Quantum Platform** | Calibration data section, table view |\n", "\n", "#### `prob_meas1_prep0`\n", @@ -414,7 +414,7 @@ "\n", "| | |\n", "| --- | --- |\n", - "| **View with Qiskit** | `backend.properties().qubit_property(qubit, 'prob_meas0_prep0')`|\n", + "| **View with Qiskit** | `backend.properties().qubit_property(, 'prob_meas0_prep0')`|\n", "| **View on IBM Quantum Platform** | Calibration data section, table view |\n", "\n", "#### `readout_length`\n", @@ -423,7 +423,7 @@ "\n", "| | |\n", "| --- | --- |\n", - "| **View with Qiskit** | `backend.properties().readout_length(qubit)`|\n", + "| **View with Qiskit** | `backend.properties().readout_length()`|\n", "| **View on IBM Quantum Platform** | Calibration data section, table view |\n", "\n", "The following code examples demonstrate how to list all properties, or retrieve specific properties, of a particular qubit." @@ -489,7 +489,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "1379efb5-359a-4246-9603-fa5d007f9f8a", "metadata": {}, "outputs": [ From 9398eff6d79228345fc712953fabae1f2face201 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 29 Dec 2025 12:38:17 -0500 Subject: [PATCH 28/36] subscript --- docs/guides/qpu-information.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 02ea9d61559..5491d28d119 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -352,17 +352,17 @@ "\n", "#### `T1` (Relaxation time)\n", "\n", - "The T1 time represents the average duration a qubit remains in its excited state $|1\\rangle$ before decaying to its ground state $|0\\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s).\n", + "The $T_1$ time represents the average duration a qubit remains in its excited state $|1\\rangle$ before decaying to its ground state $|0\\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s).\n", "\n", "\n", "| | |\n", "| --- | --- |\n", "| **View with Qiskit** | `backend.properties().t1()` |\n", - "| **View on IBM Quantum Platform** | Details section |\n", + "| **View on IBM Quantum Platform** | Calibration data section, Qubit dropdown menu |\n", "\n", "#### `T2` (Dephasing time)\n", "\n", - "The T2 time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\\rangle$ and $|1\\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties.\n", + "The $T_2$ time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\\rangle$ and $|1\\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties.\n", "\n", "\n", "| | |\n", @@ -672,11 +672,11 @@ "\n", "#### Median T1 (relaxation time)\n", "\n", - "The T1 time represents the average duration a qubit remains in its excited state $|1\\rangle$ before decaying to its ground state $|0\\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s).\n", + "The $T_1$ time represents the average duration a qubit remains in its excited state $|1\\rangle$ before decaying to its ground state $|0\\rangle$ due to energy relaxation. This parameter is used to characterize the qubit's energy relaxation behavior, and is expressed in units of seconds (s).\n", "\n", "#### Median T2 (dephasing time)\n", "\n", - "The T2 time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\\rangle$ and $|1\\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties. T2 is reported from a Hahn echo sequence.\n", + "The $T_2$ time denotes the timescale over which a qubit maintains phase coherence of a superposition between the $|0\\rangle$ and $|1\\rangle$ states. It accounts for both energy relaxation and pure dephasing processes, providing insight into the qubit's coherence properties. $T_2$ is reported from a Hahn echo sequence.\n", "\n", "\n", "\n", From 667fd6b34ff8ea3cd1cf186be9d501452e0530cb Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 29 Dec 2025 12:59:18 -0500 Subject: [PATCH 29/36] collapsible sections --- docs/guides/qpu-information.ipynb | 65 +++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 16 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 5491d28d119..5b3641d0913 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -345,6 +345,9 @@ "\n", "Backends can also have properties that change whenever the backed is calibrated, such as qubit frequency and operation error rates. Backend properties update after the calibration sequence completes. These properties can be used when optimizing quantum circuits or to construct noise models for a classical simulator. See the [Calibration jobs](/docs/guides/calibration-jobs) guide for more information.\n", "\n", + "
\n", + "Qubits\n", + "\n", "### Qubit properties\n", "\n", "The `backend.properties().qubit_property()` returns information about the qubits' physical attributes. It contains a dictionary of various properties of the qubit, each paired with its value and the timestamp of the last calibration.\n", @@ -368,7 +371,7 @@ "| | |\n", "| --- | --- |\n", "| **View with Qiskit** | `backend.properties().t2()` |\n", - "| **View on IBM Quantum Platform** | Details section |\n", + "| **View on IBM Quantum Platform** | Calibration data section, Qubit dropdown menu |\n", "\n", "#### `frequency`\n", "\n", @@ -426,14 +429,25 @@ "| **View with Qiskit** | `backend.properties().readout_length()`|\n", "| **View on IBM Quantum Platform** | Calibration data section, table view |\n", "\n", - "The following code examples demonstrate how to list all properties, or retrieve specific properties, of a particular qubit." + "The following code examples demonstrate how to list all properties, or retrieve specific properties, of a particular qubit.\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "
" ] }, { "cell_type": "code", "execution_count": null, "id": "74b54d1b-7db8-4879-b51f-d307f023c535", - "metadata": {}, + "metadata": { + "tags": [ + "id-properties" + ] + }, "outputs": [ { "data": { @@ -458,7 +472,11 @@ "cell_type": "code", "execution_count": 7, "id": "cdca7a53-9101-48f1-bddc-48c393b56b85", - "metadata": {}, + "metadata": { + "tags": [ + "id-properties1" + ] + }, "outputs": [ { "data": { @@ -491,7 +509,11 @@ "cell_type": "code", "execution_count": null, "id": "1379efb5-359a-4246-9603-fa5d007f9f8a", - "metadata": {}, + "metadata": { + "tags": [ + "id-properties2" + ] + }, "outputs": [ { "name": "stdout", @@ -540,16 +562,31 @@ "id": "67525443-070e-4798-99b3-72a599bf96c8", "metadata": {}, "source": [ + "
\n", + "Instructions\n", + "\n", "### Instruction properties\n", "\n", - "The `backend.target` attribute is a `qiskit.transpiler.Target` object: an object that contains all the information needed to transpile a circuit for that backend. This includes instruction errors and durations. For example, the following cell gets the properties for a [`cz` gate](/docs/api/qiskit/qiskit.circuit.library.CZGate) acting between qubits 1 and 0." + "The `backend.target` attribute is a `qiskit.transpiler.Target` object: an object that contains all the information needed to transpile a circuit for that backend. This includes instruction errors and durations. For example, the following cell gets the properties for a [`cz` gate](/docs/api/qiskit/qiskit.circuit.library.CZGate) acting between qubits 1 and 0.\n", + "\n", + " \n", + "\n", + "The following cell shows the properties for a measurement operation (including the readout error) on qubit 0.\n", + "\n", + " \n", + "\n", + "
" ] }, { "cell_type": "code", "execution_count": 9, "id": "64fc70f8-d848-45f2-aa25-9af10c315e1b", - "metadata": {}, + "metadata": { + "tags": [ + "id-instructions" + ] + }, "outputs": [ { "data": { @@ -566,19 +603,15 @@ "backend.target[\"cz\"][(1, 0)]" ] }, - { - "cell_type": "markdown", - "id": "f89c0fb8-7fe0-46fc-8f8b-fed5b4aba8b7", - "metadata": {}, - "source": [ - "The following cell shows the properties for a measurement operation (including the readout error) on qubit 0." - ] - }, { "cell_type": "code", "execution_count": 10, "id": "412fec92-7a4b-41ff-b278-48e1bbcdaf3f", - "metadata": {}, + "metadata": { + "tags": [ + "id-instructions1" + ] + }, "outputs": [ { "data": { From ba8242818caf0eee5bdeea03d0bc470687b8c921 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 29 Dec 2025 13:01:13 -0500 Subject: [PATCH 30/36] add addl properties section --- docs/guides/qpu-information.ipynb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 5b3641d0913..a99f1cda73a 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -628,6 +628,18 @@ "backend.target[\"measure\"][(0,)]" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Additional properties\n", + "\n", + "### Additional properties\n", + "\n", + "
" + ] + }, { "cell_type": "markdown", "id": "7a3ef741-9431-4d1c-a9e8-a1c75789163b", From 03c052e2808927d4c546f562d98ef6d2ea8820d0 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 29 Dec 2025 13:06:39 -0500 Subject: [PATCH 31/36] populate --- docs/guides/qpu-information.ipynb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index a99f1cda73a..11f4f0f4fb7 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -637,6 +637,13 @@ "\n", "### Additional properties\n", "\n", + "CLOPS\n", + "\n", + "Total pending jobs\n", + "\n", + "Region (goes to static info section?)\n", + "\n", + "etc.\n", "" ] }, From 48a6554798ad8b7843299b648c0fec07e41bbcf2 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Mon, 29 Dec 2025 13:08:54 -0500 Subject: [PATCH 32/36] tox -e fix --- docs/guides/qpu-information.ipynb | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 11f4f0f4fb7..a2502866e65 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -630,6 +630,7 @@ }, { "cell_type": "markdown", + "id": "89a19169-078e-4b46-8216-a341d8777446", "metadata": {}, "source": [ "
\n", From 407c6e4e282e43917564707f26e7111046ae12da Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 30 Dec 2025 10:18:18 -0500 Subject: [PATCH 33/36] wording --- docs/guides/qpu-information.ipynb | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index a2502866e65..5e1bdc26ca3 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -346,7 +346,7 @@ "Backends can also have properties that change whenever the backed is calibrated, such as qubit frequency and operation error rates. Backend properties update after the calibration sequence completes. These properties can be used when optimizing quantum circuits or to construct noise models for a classical simulator. See the [Calibration jobs](/docs/guides/calibration-jobs) guide for more information.\n", "\n", "
\n", - "Qubits\n", + "Click to browse qubit properties\n", "\n", "### Qubit properties\n", "\n", @@ -563,7 +563,7 @@ "metadata": {}, "source": [ "
\n", - "Instructions\n", + "Click to browse instruction properties\n", "\n", "### Instruction properties\n", "\n", @@ -638,13 +638,29 @@ "\n", "### Additional properties\n", "\n", + "Topology diagram/coupling map - can you see this in Qiskit?\n", + "\n", + "\n", + "\n", "CLOPS\n", "\n", "Total pending jobs\n", "\n", - "Region (goes to static info section?)\n", + "Still to add to static:\n", + "\n", + "Name \n", + "Region\n", + "Processor type\n", + "\n", + "Still to add to qubit props:\n", + "\n", + "2Q error (best and median)\n", + "\n", + "\n", + "Operational (this is dynamic?)\n", + "\n", + "Still to add to instructions props:\n", "\n", - "etc.\n", "
" ] }, From 22561f9ab4b3cda58d16b493e07094cea5fcc214 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 30 Dec 2025 16:32:07 -0500 Subject: [PATCH 34/36] change native gates to supported instructions --- docs/guides/processor-types.mdx | 4 +- docs/guides/qpu-information.ipynb | 183 +++++++++--------- docs/guides/represent-quantum-computers.ipynb | 14 +- 3 files changed, 104 insertions(+), 97 deletions(-) diff --git a/docs/guides/processor-types.mdx b/docs/guides/processor-types.mdx index 04125f025f5..afcc5a7830b 100644 --- a/docs/guides/processor-types.mdx +++ b/docs/guides/processor-types.mdx @@ -8,8 +8,8 @@ description: Information on IBM Quantum hardware and features of different proce Processor types are named for the general technology qualities that go into builds, consisting of the family and revision. Family (for example, Heron) refers to the size and scale of circuits possible on the chip. This is primarily determined by the number of qubits and the connectivity graph. Revisions (for example, r3) are design variants within a given family, often leading to performance improvements or tradeoffs. - -To find the native gates and operations of a backend, use [this code](/docs/guides/qpu-information#native-gates-with-qiskit). You can see all native gates and operations in [this table](/docs/guides/qpu-information#native-gates). + +To find the supported instruction set for a backend, use [this code](/docs/guides/qpu-information#native-gates-with-qiskit). You can see all supported instructions in [this table](/docs/guides/qpu-information#native-gates). As new processor families are added, older families are retired. See the [Retired processor families](retired-qpus#families) section to learn more. diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 5e1bdc26ca3..5ed2cd7479f 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -2,7 +2,6 @@ "cells": [ { "cell_type": "markdown", - "id": "cbac187d-c590-404f-b451-8f4ec2292278", "metadata": {}, "source": [ "# View backend details" @@ -10,7 +9,6 @@ }, { "cell_type": "markdown", - "id": "b47b9112-316b-46fd-9b23-e3a8245428fb", "metadata": { "tags": [ "version-info" @@ -31,7 +29,6 @@ }, { "cell_type": "markdown", - "id": "c05364ae-48e2-439e-8074-3a053731c744", "metadata": {}, "source": [ "This page explains how to find information about your available backends." @@ -39,7 +36,6 @@ }, { "cell_type": "markdown", - "id": "c9aec913-438d-4849-9ee1-ca531264b50e", "metadata": {}, "source": [ "## List or filter backends\n", @@ -70,7 +66,6 @@ { "cell_type": "code", "execution_count": 1, - "id": "b169fd5c-5132-47ed-9baf-eecd37f8f668", "metadata": { "tags": [ "id-initialize" @@ -102,7 +97,6 @@ { "cell_type": "code", "execution_count": 2, - "id": "424a7f11-6fd1-4599-a6e7-6fa722234b9a", "metadata": { "tags": [ "id-search" @@ -127,7 +121,6 @@ { "cell_type": "code", "execution_count": null, - "id": "cc7b0879-feaa-42da-955a-775b456198a1", "metadata": { "tags": [ "id-filter" @@ -157,7 +150,6 @@ }, { "cell_type": "markdown", - "id": "7bc88fb4-868a-4bb4-baec-05e85792f71f", "metadata": {}, "source": [ "\n", @@ -167,7 +159,6 @@ }, { "cell_type": "markdown", - "id": "2a9fa4a7-4f2a-47ef-be70-b1e100b20d2a", "metadata": {}, "source": [ "### Filter backends\n", @@ -199,7 +190,6 @@ { "cell_type": "code", "execution_count": null, - "id": "846dfe4b-def3-49c1-9d2a-906fd2dc55de", "metadata": { "tags": [ "id-least-jobs" @@ -223,37 +213,21 @@ }, { "cell_type": "markdown", - "id": "3b34bb71-b8cf-415f-9901-a5970997ee15", "metadata": {}, "source": [ "## Static backend information\n", "\n", - "Some information about a backend does not change regularly, such as its name, version, the number of qubits it has, and the types of features it supports. This information is available as attributes of the `backend` object. For a full list of attributes, see the [`IBMBackend` API documentation](/docs/api/qiskit-ibm-runtime/ibm-backend).\n", - "\n", - "### QPU versioning\n", - "\n", - "Each QPU has a version number in the form X.Y.Z (major.minor.revision). A circuit compiled for a given version number is guaranteed to run on that QPU. If the revision number changes, the circuit will continue to run. If the major or minor number changes, the circuit is not guaranteed to run, although it may do so.\n", - "\n", - "The revision version number will increment for fixes that do not break the existing compiled circuit.\n", - "\n", - "The conditions under which a version or revision number can change are listed in the following table.\n", - "\n", - "| Major version | Minor version | Revision version |\n", - "| --- | --- | --- |\n", - "|Sample changes| Warmup / cool-down cycles | QPU software updates |\n", - "|Major changes to the control electronics| Swapping out some electronics, if the replacement appreciably affects operation| Manual calibrations to improve fidelities |\n", - "|Moving the QPU to a new location, if significant behavior changes result| Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software| Small electronics changes that don’t affect operation |\n", - "| |Changing the direction of a CNOT gate | |\n", + "Some information about a backend does not change regularly, such as its name, version, the number of qubits it has, its processor type, and the types of features it supports. This information is available as attributes of the `backend` object. For a full list of attributes, see the [`IBMBackend` API documentation](/docs/api/qiskit-ibm-runtime/ibm-backend).\n", "\n", "\n", - " \n", + " \n", "\n", " \n", "\n", " \n", - " \n", + " \n", "\n", - " Navigate to the [Compute resources](https://quantum.cloud.ibm.com/computers) page to view a table of all QPUs, then click the name of any QPU to open its detailed information card. Find the QPU version under the Details section.\n", + " Navigate to the [Compute resources](https://quantum.cloud.ibm.com/computers) page to view a table of all QPUs, then click the name of any QPU to open its detailed information card. Find backend information under the Details section.\n", "\n", " \n", "" @@ -261,8 +235,7 @@ }, { "cell_type": "code", - "execution_count": 5, - "id": "8d070b69-1b6d-4faa-9a4a-d12aba47d0b7", + "execution_count": null, "metadata": { "tags": [ "id-version" @@ -276,6 +249,7 @@ "Name: ibm_fez\n", "Version: 2\n", "No. of qubits: 156\n", + "Processor type: {'family': 'Heron', 'revision': '2'}\n", "\n" ] } @@ -287,45 +261,56 @@ " f\"Name: {backend.name}\\n\"\n", " f\"Version: {backend.backend_version}\\n\"\n", " f\"No. of qubits: {backend.num_qubits}\\n\"\n", + " f\"Processor type: {backend.processor_type}\\n\"\n", ")" ] }, { "cell_type": "markdown", - "id": "6a055938-0a1d-46ef-ae9c-60a7960d6d73", + "metadata": {}, + "source": [ + "### QPU versioning\n", + "\n", + "Each QPU has a version number in the form X.Y.Z (major.minor.revision). A circuit compiled for a given version number is guaranteed to run on that QPU. If the revision number changes, the circuit will continue to run. If the major or minor number changes, the circuit is not guaranteed to run, although it may do so.\n", + "\n", + "The revision version number will increment for fixes that do not break the existing compiled circuit.\n", + "\n", + "The conditions under which a version or revision number can change are listed in the following table.\n", + "\n", + "| Major version | Minor version | Revision version |\n", + "| --- | --- | --- |\n", + "|Sample changes| Warmup / cool-down cycles | QPU software updates |\n", + "|Major changes to the control electronics| Swapping out some electronics, if the replacement appreciably affects operation| Manual calibrations to improve fidelities |\n", + "|Moving the QPU to a new location, if significant behavior changes result| Dropping a gate for some duration of time due to calibration issues, and corrections cannot readily be done in software| Small electronics changes that don’t affect operation |\n", + "| |Changing the direction of a CNOT gate | |" + ] + }, + { + "cell_type": "markdown", "metadata": {}, "source": [ "\n", - "### Native gates and operations\n", + "### Supported instructions\n", "\n", - "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set.\n", + "Each [processor family](/docs/guides/processor-types) natively supports a limited set of instructions. This set includes single- and two-qubit gates, as well as non-unitary operations such as measure and reset. Every gate in the circuit must be translated (by the transpiler) to the elements of a QPU's supported instruction set before it can run on the QPU.\n", "\n", - "You can view the native gates and supported instructions, including non-gate-type instructions, for a QPU with Qiskit. The IBM Quantum Platform Compute resources page lists the basis gates for a QPU.\n", + "You can view the supported instruction sets for a QPU with Qiskit. The IBM Quantum Platform Compute resources page lists only the supported unitary gates (basis gates) for a QPU.\n", "\n", "\n", " \n", - " \n", - "\n", - " \n", - " ```python\n", - " from qiskit_ibm_runtime import QiskitRuntimeService\n", + " \n", "\n", - " service = QiskitRuntimeService()\n", - " backend = service.backend(\"ibm_fez\")\n", + " \n", "\n", - " print(f\"Backend: {backend.name}\")\n", - " print(f\" Processor type: {backend.processor_type}\")\n", - " print(f\" Supported instructions: {backend.supported_instructions}\")\n", - " ```\n", " \n", - " \n", + " \n", "\n", - " Navigate to the [Compute resources](https://quantum.cloud.ibm.com/computers) page to view a table of all QPUs, then click the name of any QPU to open its detailed information card. The basis gates for that QPU are listed in the Details section.\n", + " Navigate to the [Compute resources](https://quantum.cloud.ibm.com/computers) page to view a table of all QPUs, then click the name of any QPU to open its detailed information card. The supported instructions for that QPU are listed in the Details section.\n", " \n", "\n", "\n", "\n", - "### Table of native gates and operations\n", + "### Table of supported instructions\n", "\n", "| Operation category | Name |\n", "| :--- | :--- |\n", @@ -336,17 +321,47 @@ "| Control flow | [`if_else`](/docs/api/qiskit/qiskit.circuit.IfElseOp) (classical feedforward) |" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "tags": [ + "id-gates" + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Backend: ibm_kingston\n", + " Processor type: {'family': 'Heron', 'revision': '2'}\n", + " Supported instructions: ['cz', 'id', 'delay', 'measure', 'measure_2', 'reset', 'rz', 'sx', 'x', 'if_else']\n" + ] + } + ], + "source": [ + "from qiskit_ibm_runtime import QiskitRuntimeService\n", + " \n", + "service = QiskitRuntimeService()\n", + "backend = service.backend(\"ibm_kingston\")\n", + "\n", + "print(f\"Backend: {backend.name}\")\n", + "print(f\" Processor type: {backend.processor_type}\")\n", + "print(f\" Supported instructions: {backend.supported_instructions}\")" + ] + }, { "cell_type": "markdown", - "id": "48cf020c-24eb-49dd-a417-7196d036b0e8", "metadata": {}, "source": [ "## Dynamic backend information\n", "\n", "Backends can also have properties that change whenever the backed is calibrated, such as qubit frequency and operation error rates. Backend properties update after the calibration sequence completes. These properties can be used when optimizing quantum circuits or to construct noise models for a classical simulator. See the [Calibration jobs](/docs/guides/calibration-jobs) guide for more information.\n", "\n", + "\n", "
\n", - "Click to browse qubit properties\n", + "Click to view qubit properties\n", "\n", "### Qubit properties\n", "\n", @@ -442,7 +457,6 @@ { "cell_type": "code", "execution_count": null, - "id": "74b54d1b-7db8-4879-b51f-d307f023c535", "metadata": { "tags": [ "id-properties" @@ -471,7 +485,6 @@ { "cell_type": "code", "execution_count": 7, - "id": "cdca7a53-9101-48f1-bddc-48c393b56b85", "metadata": { "tags": [ "id-properties1" @@ -508,7 +521,6 @@ { "cell_type": "code", "execution_count": null, - "id": "1379efb5-359a-4246-9603-fa5d007f9f8a", "metadata": { "tags": [ "id-properties2" @@ -559,14 +571,31 @@ }, { "cell_type": "markdown", - "id": "67525443-070e-4798-99b3-72a599bf96c8", "metadata": {}, "source": [ "
\n", - "Click to browse instruction properties\n", + "Click to view instruction properties\n", "\n", "### Instruction properties\n", "\n", + "2Q error (best) - I\n", + "2Q error (layered) - I\n", + "Median 2Q error I\n", + "Median SX error I\n", + "Median readout error I\n", + "Median T1 (relaxation time) I\n", + "Median T2 (dephasing time) I\n", + "Prob meas0 prep1 I \n", + "Prob meas1 prep0 I\n", + "Readout length (ns) - I\n", + "ID error / √x (sx) error / Pauli-X error / RX error I\n", + "Single-qubit gate length (ns) I \n", + "Z-axis rotation (RZ) error I\n", + "Gate length (ns) I \n", + "2Q error I\n", + "RZZ error I\n", + "\n", + "\n", "The `backend.target` attribute is a `qiskit.transpiler.Target` object: an object that contains all the information needed to transpile a circuit for that backend. This includes instruction errors and durations. For example, the following cell gets the properties for a [`cz` gate](/docs/api/qiskit/qiskit.circuit.library.CZGate) acting between qubits 1 and 0.\n", "\n", " \n", @@ -581,7 +610,6 @@ { "cell_type": "code", "execution_count": 9, - "id": "64fc70f8-d848-45f2-aa25-9af10c315e1b", "metadata": { "tags": [ "id-instructions" @@ -606,7 +634,6 @@ { "cell_type": "code", "execution_count": 10, - "id": "412fec92-7a4b-41ff-b278-48e1bbcdaf3f", "metadata": { "tags": [ "id-instructions1" @@ -630,43 +657,24 @@ }, { "cell_type": "markdown", - "id": "89a19169-078e-4b46-8216-a341d8777446", "metadata": {}, "source": [ "
\n", - "Additional properties\n", + "Click to view additional properties\n", "\n", "### Additional properties\n", "\n", - "Topology diagram/coupling map - can you see this in Qiskit?\n", - "\n", - "\n", - "\n", - "CLOPS\n", - "\n", - "Total pending jobs\n", - "\n", - "Still to add to static:\n", - "\n", - "Name \n", - "Region\n", - "Processor type\n", - "\n", - "Still to add to qubit props:\n", - "\n", - "2Q error (best and median)\n", - "\n", - "\n", - "Operational (this is dynamic?)\n", "\n", - "Still to add to instructions props:\n", + "CLOPS (or CLOPS_h) - A\n", + "Status - A\n", + "Total pending jobs - A\n", + "Topology diagram or coupling map A\n", "\n", "
" ] }, { "cell_type": "markdown", - "id": "7a3ef741-9431-4d1c-a9e8-a1c75789163b", "metadata": {}, "source": [ "## Find QPU details on IBM Quantum Platform\n", @@ -681,7 +689,7 @@ "[Median SX error](#median-sx-error) | [Median readout error](#median-readout-error) | [Median T1 (relaxation time)](#median-t1-relaxation-time) | [Median T2 (dephasing time)](#median-t2-dephasing-time)\n", "\n", "
\n", - "Click to browse details\n", + "Click to view details\n", "#### Name\n", "\n", "The unique name assigned to a specific QPU. QPUs hosted on IBM Cloud® have names that begin with `ibm_*`. All QPUs are given a city name, e.g., `ibm_kingston`. This name does not indicate where the actual QPU is hosted. They are named after IBM® locations around the world.\n", @@ -766,7 +774,7 @@ "[Topology diagram or coupling map](#coupling-map) | [Readout assignment error](#readout-assignment-error) | [Prob meas0 prep1](#prob-meas0-prep1) | [Prob meas1 prep0](#prob-meas1-prep0) | [Readout length (ns)](#readout-length-ns) | [ID error / √x (sx) error / Pauli-X error / RX error](#finite-duration-discrete) | [Single-qubit gate length (ns)](#single-qubit-gate-length-ns)| [Z-axis rotation (RZ) error](#z-axis-rotation-rz-error) | [Operational](#operational) | [Gate length (ns)](#gate-length-ns) | [2Q error](#2q-error) | [RZZ error](#rzz-error-heron)\n", "\n", "
\n", - "Click to browse calibration details\n", + "Click to view calibration details\n", "\n", "\n", "#### Topology diagram or coupling map\n", @@ -827,7 +835,6 @@ }, { "cell_type": "markdown", - "id": "89918e29-ee80-4c5e-9d25-c9331fa2f27e", "metadata": {}, "source": [ "## Next steps\n", @@ -844,7 +851,7 @@ "in_page_toc_max_heading_level": 2, "in_page_toc_min_heading_level": 2, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -858,7 +865,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3" + "version": "3.11.1" }, "title": "View backend details" }, diff --git a/docs/guides/represent-quantum-computers.ipynb b/docs/guides/represent-quantum-computers.ipynb index 03872f463bc..0b3c51d76c3 100644 --- a/docs/guides/represent-quantum-computers.ipynb +++ b/docs/guides/represent-quantum-computers.ipynb @@ -37,8 +37,8 @@ "source": [ "To convert an abstract circuit to an ISA circuit that can run on a specific QPU (quantum processing unit), the transpiler needs certain information about the QPU. This information is found in two places: the `BackendV2` (or legacy `BackendV1`) object you plan to submit jobs to, and the backend's `Target` attribute.\n", "\n", - "- The [`Target`](../api/qiskit/qiskit.transpiler.Target) contains all the relevant constraints of a device, such as its native basis gates, qubit connectivity, and pulse or timing information.\n", - "- The [`Backend`](../api/qiskit/qiskit.providers.BackendV2) possesses a `Target` by default, contains additional information -- such as the [`InstructionScheduleMap`](/docs/api/qiskit/1.4/qiskit.pulse.InstructionScheduleMap), and provides the interface for submitting quantum circuit jobs.\n", + "- The [`Target`](/docs/api/qiskit/qiskit.transpiler.Target) contains all the relevant constraints of a device, such as its supported instruction set, qubit connectivity, and pulse or timing information.\n", + "- The [`Backend`](/docs/api/qiskit/qiskit.providers.BackendV2) possesses a `Target` by default, contains additional information -- such as the [`InstructionScheduleMap`](/docs/api/qiskit/1.4/qiskit.pulse.InstructionScheduleMap), and provides the interface for submitting quantum circuit jobs.\n", "\n", "You can also explicitly provide information for the transpiler to use, for example, if you have a specific use case, or if you believe this information will help the transpiler generate a more optimized circuit.\n", "\n", @@ -149,7 +149,7 @@ "id": "2ad3848d", "metadata": {}, "source": [ - "This example is used in later sections of this topic to illustrate that the coupling map and basis gates are the essential pieces of information to pass to the transpiler for optimal circuit construction. The QPU can usually select default settings for other information that is not passed in, such as timing and scheduling." + "This example is used in later sections of this topic to illustrate that the coupling map and supported instruction set are the essential pieces of information to pass to the transpiler for optimal circuit construction. The QPU can usually select default settings for other information that is not passed in, such as timing and scheduling." ] }, { @@ -305,9 +305,9 @@ "id": "f62e0541", "metadata": {}, "source": [ - "## Basis gates\n", + "## Supported instructions\n", "\n", - "Every quantum computer supports a limited instruction set, called its _basis gates_. Every gate in the circuit must be translated to the elements of this set. This set should consist of single- and two-qubit gates that provide a universal gates set, meaning that any quantum operation can be decomposed into those gates. This is done by the [BasisTranslator](../api/qiskit/qiskit.transpiler.passes.BasisTranslator), and the basis gates can be specified as a keyword argument to the transpiler to provide this information." + "Every quantum computer supports a limited instruction set. Every gate in the circuit must be translated to the elements of this set. This set should consist of single- and two-qubit gates that provide a universal gate set, meaning that any quantum operation can be decomposed into those gates. This is done by the [BasisTranslator](/docs/api/qiskit/qiskit.transpiler.passes.BasisTranslator), and the supported instructions can be specified as a keyword argument to the transpiler to provide this information." ] }, { @@ -375,7 +375,7 @@ "id": "b0195ba6", "metadata": {}, "source": [ - "Note that the `CXGate`s have been decomposed to `ecr` gates and single-qubit basis gates." + "Note that the `CXGate`s have been decomposed to `ecr` gates and single-qubit unitary gates." ] }, { @@ -502,7 +502,7 @@ } ], "metadata": { - "description": "Learn about coupling maps, basis gates, and processor errors for transpiling", + "description": "Learn about coupling maps, supported instructions, and processor errors for transpiling", "kernelspec": { "display_name": "Python 3", "language": "python", From 6cf7e2e66bd76f530258b751522c3d7fea39c0b3 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 30 Dec 2025 16:43:05 -0500 Subject: [PATCH 35/36] fix links --- docs/guides/processor-types.mdx | 2 +- docs/guides/qpu-information.ipynb | 41 +++++++++++++++++++++++++------ 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/docs/guides/processor-types.mdx b/docs/guides/processor-types.mdx index afcc5a7830b..731d9ff805a 100644 --- a/docs/guides/processor-types.mdx +++ b/docs/guides/processor-types.mdx @@ -9,7 +9,7 @@ description: Information on IBM Quantum hardware and features of different proce Processor types are named for the general technology qualities that go into builds, consisting of the family and revision. Family (for example, Heron) refers to the size and scale of circuits possible on the chip. This is primarily determined by the number of qubits and the connectivity graph. Revisions (for example, r3) are design variants within a given family, often leading to performance improvements or tradeoffs. -To find the supported instruction set for a backend, use [this code](/docs/guides/qpu-information#native-gates-with-qiskit). You can see all supported instructions in [this table](/docs/guides/qpu-information#native-gates). +To find the supported instruction set for a backend, use [this code](/docs/guides/qpu-information#native-gates-ops). You can see all supported instructions in [this table](/docs/guides/qpu-information#native-gates). As new processor families are added, older families are retired. See the [Retired processor families](retired-qpus#families) section to learn more. diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 5ed2cd7479f..2ada5546e68 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -2,6 +2,7 @@ "cells": [ { "cell_type": "markdown", + "id": "352d5806-bb5f-413d-a7e7-4b8aac844764", "metadata": {}, "source": [ "# View backend details" @@ -9,6 +10,7 @@ }, { "cell_type": "markdown", + "id": "d2f6a835-b9f1-48e4-a7e7-3fcfe3d72e3a", "metadata": { "tags": [ "version-info" @@ -29,6 +31,7 @@ }, { "cell_type": "markdown", + "id": "466150ec-5103-4e24-b823-c3bacaa49f7e", "metadata": {}, "source": [ "This page explains how to find information about your available backends." @@ -36,6 +39,7 @@ }, { "cell_type": "markdown", + "id": "679cecfc-1f5a-43c4-8fa1-242ab9e02abe", "metadata": {}, "source": [ "## List or filter backends\n", @@ -66,6 +70,7 @@ { "cell_type": "code", "execution_count": 1, + "id": "42879b96-9d73-4040-acee-238afd3e69ee", "metadata": { "tags": [ "id-initialize" @@ -97,6 +102,7 @@ { "cell_type": "code", "execution_count": 2, + "id": "0c057bcd-9a8d-4738-8e12-3ab215a2e118", "metadata": { "tags": [ "id-search" @@ -121,6 +127,7 @@ { "cell_type": "code", "execution_count": null, + "id": "c92e9f12-bdcd-431a-ae1f-ccf12eb95103", "metadata": { "tags": [ "id-filter" @@ -150,6 +157,7 @@ }, { "cell_type": "markdown", + "id": "76e8d799-2043-4657-a38a-8a28182cb826", "metadata": {}, "source": [ "\n", @@ -159,6 +167,7 @@ }, { "cell_type": "markdown", + "id": "57e0ff97-611b-445f-b3f2-5957f88a5e47", "metadata": {}, "source": [ "### Filter backends\n", @@ -190,6 +199,7 @@ { "cell_type": "code", "execution_count": null, + "id": "61d89f82-f5b2-4706-843d-c2fa1dcf2919", "metadata": { "tags": [ "id-least-jobs" @@ -213,6 +223,7 @@ }, { "cell_type": "markdown", + "id": "0af00ab4-7998-47fc-b85d-9d1328a9256c", "metadata": {}, "source": [ "## Static backend information\n", @@ -236,6 +247,7 @@ { "cell_type": "code", "execution_count": null, + "id": "33959e16-e380-4147-8a4c-1ab3ce5db70b", "metadata": { "tags": [ "id-version" @@ -267,6 +279,7 @@ }, { "cell_type": "markdown", + "id": "e6b3f5c2-7774-4377-8f5e-666c28a6632d", "metadata": {}, "source": [ "### QPU versioning\n", @@ -287,6 +300,7 @@ }, { "cell_type": "markdown", + "id": "ad25ea31-6048-4001-996a-0c0f572c3835", "metadata": {}, "source": [ "\n", @@ -324,6 +338,7 @@ { "cell_type": "code", "execution_count": 2, + "id": "49cd9135-6e76-470a-a12f-34ea92ff6f35", "metadata": { "tags": [ "id-gates" @@ -342,7 +357,7 @@ ], "source": [ "from qiskit_ibm_runtime import QiskitRuntimeService\n", - " \n", + "\n", "service = QiskitRuntimeService()\n", "backend = service.backend(\"ibm_kingston\")\n", "\n", @@ -353,6 +368,7 @@ }, { "cell_type": "markdown", + "id": "76e11b79-f332-4397-8afd-9cddc96f7e17", "metadata": {}, "source": [ "## Dynamic backend information\n", @@ -457,6 +473,7 @@ { "cell_type": "code", "execution_count": null, + "id": "c92cd700-abec-4016-9550-c4030d59a4de", "metadata": { "tags": [ "id-properties" @@ -485,6 +502,7 @@ { "cell_type": "code", "execution_count": 7, + "id": "bbbd778d-7d92-4cef-9dc9-a8f21b3538df", "metadata": { "tags": [ "id-properties1" @@ -521,6 +539,7 @@ { "cell_type": "code", "execution_count": null, + "id": "f9c576e7-7d23-4858-beac-bb203209b512", "metadata": { "tags": [ "id-properties2" @@ -571,6 +590,7 @@ }, { "cell_type": "markdown", + "id": "71200d90-83cb-464e-9dc1-6a0eb825f85a", "metadata": {}, "source": [ "
\n", @@ -585,18 +605,18 @@ "Median readout error I\n", "Median T1 (relaxation time) I\n", "Median T2 (dephasing time) I\n", - "Prob meas0 prep1 I \n", + "Prob meas0 prep1 I\n", "Prob meas1 prep0 I\n", "Readout length (ns) - I\n", "ID error / √x (sx) error / Pauli-X error / RX error I\n", - "Single-qubit gate length (ns) I \n", + "Single-qubit gate length (ns) I\n", "Z-axis rotation (RZ) error I\n", - "Gate length (ns) I \n", + "Gate length (ns) I\n", "2Q error I\n", "RZZ error I\n", "\n", "\n", - "The `backend.target` attribute is a `qiskit.transpiler.Target` object: an object that contains all the information needed to transpile a circuit for that backend. This includes instruction errors and durations. For example, the following cell gets the properties for a [`cz` gate](/docs/api/qiskit/qiskit.circuit.library.CZGate) acting between qubits 1 and 0.\n", + "The [`backend.target`] attribute is a [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object: an object that contains all the information needed to transpile a circuit for that backend. This includes instruction errors and durations. For example, the following cell gets the properties for a [`cz` gate](/docs/api/qiskit/qiskit.circuit.library.CZGate) acting between qubits 1 and 0.\n", "\n", " \n", "\n", @@ -610,6 +630,7 @@ { "cell_type": "code", "execution_count": 9, + "id": "61adc2b1-7d41-464e-9880-47ab14724491", "metadata": { "tags": [ "id-instructions" @@ -634,6 +655,7 @@ { "cell_type": "code", "execution_count": 10, + "id": "e8bae3f3-7ff6-4799-a16c-00093bad9065", "metadata": { "tags": [ "id-instructions1" @@ -657,6 +679,7 @@ }, { "cell_type": "markdown", + "id": "e687565c-422b-45ab-8715-3b013a88efed", "metadata": {}, "source": [ "
\n", @@ -675,6 +698,7 @@ }, { "cell_type": "markdown", + "id": "a249cc24-f9d0-4503-9278-1344366e1300", "metadata": {}, "source": [ "## Find QPU details on IBM Quantum Platform\n", @@ -729,7 +753,7 @@ "\n", "#### Basis gates\n", "\n", - "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set. Note that the non-unitary operations are not listed here; use the [method in Qiskit](/docs/guides/qpu-information#native-gates-with-qiskit) to see all native gates and operations for a QPU. See a list of all native gates in [this table](#native-gates).\n", + "Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set. Note that the non-unitary operations are not listed here; use the [method in Qiskit](/docs/guides/qpu-information#native-gates-ops) to see all native gates and operations for a QPU. See a list of all native gates in [this table](#native-gates).\n", "\n", "#### Total pending jobs\n", "\n", @@ -835,6 +859,7 @@ }, { "cell_type": "markdown", + "id": "332d7638-6fd4-431e-a3da-4c4ca668b27f", "metadata": {}, "source": [ "## Next steps\n", @@ -851,7 +876,7 @@ "in_page_toc_max_heading_level": 2, "in_page_toc_min_heading_level": 2, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -865,7 +890,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.1" + "version": "3" }, "title": "View backend details" }, From 02e830d35ea17ee24458d2d7293fdc5e3fcdb55c Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Tue, 30 Dec 2025 16:49:24 -0500 Subject: [PATCH 36/36] rmv brackets --- docs/guides/qpu-information.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/qpu-information.ipynb b/docs/guides/qpu-information.ipynb index 2ada5546e68..d5bedd848fd 100644 --- a/docs/guides/qpu-information.ipynb +++ b/docs/guides/qpu-information.ipynb @@ -616,7 +616,7 @@ "RZZ error I\n", "\n", "\n", - "The [`backend.target`] attribute is a [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object: an object that contains all the information needed to transpile a circuit for that backend. This includes instruction errors and durations. For example, the following cell gets the properties for a [`cz` gate](/docs/api/qiskit/qiskit.circuit.library.CZGate) acting between qubits 1 and 0.\n", + "The `backend.target` attribute is a [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object: an object that contains all the information needed to transpile a circuit for that backend. This includes instruction errors and durations. For example, the following cell gets the properties for a [`cz` gate](/docs/api/qiskit/qiskit.circuit.library.CZGate) acting between qubits 1 and 0.\n", "\n", " \n", "\n",