diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Batch.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Batch.mdx index 616fe05392..bda98e54d1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Batch.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Batch.mdx @@ -142,7 +142,7 @@ python_api_name: qiskit_ibm_runtime.Batch ### details - + Return session details. **Return type** @@ -171,7 +171,7 @@ python_api_name: qiskit_ibm_runtime.Batch ### from\_id - + Construct a Session object with a given session\_id **Parameters** @@ -235,5 +235,19 @@ python_api_name: qiskit_ibm_runtime.Batch * `Closed`: max\_time expired or session was explicitly closed. * `None`: status details are not available. + + ### usage + + + Return session usage in seconds. + + Session usage is the time from when the first job starts until the session goes inactive, is closed, or when its last job completes, whichever happens last. + + Batch usage is the amount of time all jobs spend on the QPU. + + **Return type** + + `Optional`\[`float`] + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.mdx index 9af552fcaf..7daba2510a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.mdx @@ -238,7 +238,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### error\_message - + Returns the reason if the job failed. **Return type** @@ -326,16 +326,20 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### metrics - + Return job metrics. - **Return type** - - `Dict`\[`str`, `Any`] - **Returns** - Job metrics, which includes timestamp information. + * `timestamps`: Timestamps of when the job was created, started running, and finished. + + * **`usage`: Details regarding job usage, the measurement of the amount of** + + time the QPU is locked for your workload. + + **Return type** + + A dictionary with job metrics including but not limited to the following **Raises** @@ -344,7 +348,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### properties - + Return the backend properties for this job. **Parameters** @@ -498,7 +502,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### update\_tags - + Update the tags associated with this job. **Parameters** @@ -518,6 +522,16 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob **IBMApiError** – If an unexpected error occurred when communicating with the server or updating the job tags. + ### usage + + + Return job usage in seconds. + + **Return type** + + `float` + + ### wait\_for\_final\_state diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJobV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJobV2.mdx index 22ca703e12..de618c7a72 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJobV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJobV2.mdx @@ -216,7 +216,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### error\_message - + Returns the reason if the job failed. **Return type** @@ -304,16 +304,20 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### metrics - + Return job metrics. - **Return type** - - `Dict`\[`str`, `Any`] - **Returns** - Job metrics, which includes timestamp information. + * `timestamps`: Timestamps of when the job was created, started running, and finished. + + * **`usage`: Details regarding job usage, the measurement of the amount of** + + time the QPU is locked for your workload. + + **Return type** + + A dictionary with job metrics including but not limited to the following **Raises** @@ -322,7 +326,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### properties - + Return the backend properties for this job. **Parameters** @@ -414,7 +418,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### update\_tags - + Update the tags associated with this job. **Parameters** @@ -434,6 +438,16 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 **IBMApiError** – If an unexpected error occurred when communicating with the server or updating the job tags. + ### usage + + + Return job usage in seconds. + + **Return type** + + `float` + + ### wait\_for\_final\_state diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Session.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Session.mdx index fe3c3b4e53..e815ee1737 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Session.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Session.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.Session # Session - + Class for creating a Qiskit Runtime session. A Qiskit Runtime `session` allows you to group a collection of iterative calls to the quantum computer. A session is started when the first job within the session is started. Subsequent jobs within the session are prioritized by the scheduler. @@ -124,7 +124,7 @@ python_api_name: qiskit_ibm_runtime.Session ### details - + Return session details. **Return type** @@ -153,7 +153,7 @@ python_api_name: qiskit_ibm_runtime.Session ### from\_id - + Construct a Session object with a given session\_id **Parameters** @@ -217,5 +217,19 @@ python_api_name: qiskit_ibm_runtime.Session * `Closed`: max\_time expired or session was explicitly closed. * `None`: status details are not available. + + ### usage + + + Return session usage in seconds. + + Session usage is the time from when the first job starts until the session goes inactive, is closed, or when its last job completes, whichever happens last. + + Batch usage is the amount of time all jobs spend on the QPU. + + **Return type** + + `Optional`\[`float`] + diff --git a/docs/api/qiskit-ibm-runtime/release-notes.mdx b/docs/api/qiskit-ibm-runtime/release-notes.mdx index d39c2f7980..5003800666 100644 --- a/docs/api/qiskit-ibm-runtime/release-notes.mdx +++ b/docs/api/qiskit-ibm-runtime/release-notes.mdx @@ -10,12 +10,22 @@ in_page_toc_max_heading_level: 2 +## 0.29.1 (2024-09-17) + +### New Features + +* Added logic to encode and decode `NoiseLearnerResult`. ([1908](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1908)) + + + ## 0.29.0 (2024-09-04) ### Deprecation Notes * The simulator option `noise_model` is now deprecated for jobs running on real devices. `noise_model` will still be an acceptable option when using the local testing mode. ([1892](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1892)) + + ### New Features * We added new classes, [`ExecutionSpan`](qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.ExecutionSpan") and `ExecutionSpanSet`. These classes are used in the primitive result metadata, to convey information about start and stop times of batch jobs. ([1833](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1833)) @@ -28,11 +38,11 @@ in_page_toc_max_heading_level: 2 * Revert a previous change to `backend.target` where the target was no longer being cached. ([1891](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1891)) * Fixed an issue where `Session.from_id()` would create a new empty session. ([1896](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1896)) - + ## 0.28.0 (2024-08-15) - + ### New Features @@ -43,37 +53,37 @@ in_page_toc_max_heading_level: 2 * The V1 Primitives `SamplerV1` and `EstimatorV1` have been completely removed. Please see the [migration guide](/migration-guides/v2-primitives) and use the V2 Primitives instead. ([1857](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1857)) * The `service` parameter is now required in `Session.from_id()`. ([1868](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1868)) - - -## 0.27.1 (2024-08-12) - - - -### New Features - -* Added logic to encode and decode `PauliLindbladError` and `LayerError`. ([1853](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1853)) - -## 0.27.0 (2024-08-08) +## 0.27.1 (2024-08-12) ### New Features -* Added `PauliLindbladError` and `LayerError` classes to represent layers noise processes. ([1844](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1844)) +* Added logic to encode and decode `PauliLindbladError` and `LayerError`. ([1853](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1853)) +## 0.27.0 (2024-08-08) + + + +### New Features + +* Added `PauliLindbladError` and `LayerError` classes to represent layers noise processes. ([1844](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1844)) + + + ### Bug Fixes * Fixed an issue with using the aer simulator and local service mode with sessions. ([1838](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1838)) - + ## 0.26.0 (2024-07-31) - + ### Deprecation Notes @@ -82,7 +92,7 @@ in_page_toc_max_heading_level: 2 * Passing in `service` in `Session`, `Batch` has been deprecated. The `service` parameter is no longer necessary because the service can be extracted from the backend. ([1826](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1826)) * Since backend modules from `qiskit.providers.models` including `BackendProperties` and `BackendConfiguration` are deprecated in Qiskit 1.2, they have been copied into `qiskit-ibm-runtime`. Make sure to upgrade to the latest version, `0.26.0`, to use these classes. ([1803](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1803)) - + ### New Features @@ -104,7 +114,7 @@ in_page_toc_max_heading_level: 2 * Added `NoiseLearner` and related functionality, such as `NoiseLearnerOptions` and `NoiseLearnerResults`. ([1805](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1805)) - + ### Bug Fixes @@ -113,18 +123,18 @@ in_page_toc_max_heading_level: 2 * The options validation for checking if `zne_mitigation` or `pec_mitigation` are set to `True` when using other related options has been removed. ([1792](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1792)) * Fixed an issue where users were unable to retrieve job results if the python library `simplejson` was installed in their environment. ([1800](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1800)) - + ## 0.25.0 (2024-07-02) - + ### Deprecation Notes * The `optimization_level` option in `EstimatorV2` is deprecated. Instead, you can perform circuit optimization using the Qiskit transpiler or Qiskit transpiler service. ([1748](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1748)) * [`qiskit_ibm_runtime.RuntimeJobV2.interim_results()`](qiskit_ibm_runtime.RuntimeJobV2#interim_results "qiskit_ibm_runtime.RuntimeJobV2.interim_results"), [`qiskit_ibm_runtime.RuntimeJobV2.stream_results()`](qiskit_ibm_runtime.RuntimeJobV2#stream_results "qiskit_ibm_runtime.RuntimeJobV2.stream_results"), [`qiskit_ibm_runtime.RuntimeJob.interim_results()`](qiskit_ibm_runtime.RuntimeJob#interim_results "qiskit_ibm_runtime.RuntimeJob.interim_results"), and [`qiskit_ibm_runtime.RuntimeJob.stream_results()`](qiskit_ibm_runtime.RuntimeJob#stream_results "qiskit_ibm_runtime.RuntimeJob.stream_results") are now all deprecated. ([1776](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1776)) - + ### New Features @@ -132,21 +142,21 @@ in_page_toc_max_heading_level: 2 * Added an `instance` property to `BaseRuntimeJob` which returns the instance where the job was run. ([1771](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1771)) * `default_shots` are now a supported option when using `EstimatorV2` in local testing mode. ([1773](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1773)) - + ## 0.24.1 (2024-06-18) - + ### Bug Fixes * Disallowing fractional gates by default, so backend target would not exclude control flow. ([1755](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1755)) - + ## 0.24.0 (2024-06-10) - + ### Deprecation Notes @@ -164,7 +174,7 @@ in_page_toc_max_heading_level: 2 * Specifying options without the full dictionary structure is deprecated. Instead, pass in a fully structured dictionary. For example, use `{'environment': {'log_level': 'INFO'}}` instead of `{'log_level': 'INFO'}`. ([1731](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1731)) - + ### New Features @@ -203,7 +213,7 @@ in_page_toc_max_heading_level: 2 * [`QiskitRuntimeService.backends()`](qiskit_ibm_runtime.QiskitRuntimeService#backends "qiskit_ibm_runtime.QiskitRuntimeService.backends") now always returns a new `IBMBackend` instance even when the same query is used. The backend properties and defaults data are retrieved from the server for every instance when they are accessed for the first time, while the configuration data is cached internally in the service instance. ([1732](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1732)) - + ### Bug Fixes @@ -215,18 +225,18 @@ in_page_toc_max_heading_level: 2 * Fixed nested experimental suboptions override non-experimental suboptions. ([1731](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1731)) * The backend utils method `convert_to_target` has been replaced with the [convert\_to\_target](/api/qiskit/qiskit.providers.convert_to_target) method from Qiskit. This fixes some issues related to target generation and calibration data. ([1600](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1600)) - + ## 0.23.0 (2024-04-15) - + ### Deprecation Notes * [backend.run()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#run) has been deprecated. Please use the primitives instead. More details can be found in the [migration guide](/migration-guides/qiskit-runtime) . ([1561](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1561)) * In a future release, the `service` parameter in [from\_id()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#from_id) will be required. ([1311](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1311)) - + ### New Features @@ -236,7 +246,7 @@ in_page_toc_max_heading_level: 2 * [`SamplerV2`](qiskit_ibm_runtime.SamplerV2 "qiskit_ibm_runtime.SamplerV2") now supports twirling. Twirling will only be applied to those measurement registers not involved within a conditional logic. ([1557](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1557)) * Session [details()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#details) now includes a new field, `usage_time`. Usage is defined as the time a quantum system is committed to complete a job. ([1567](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1567)) - + ### Bug Fixes @@ -245,59 +255,59 @@ in_page_toc_max_heading_level: 2 * Fixed a bug with encoding/decoding `ParameterExpression`. ([1521](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1521)) * Fixed an issue where the [in\_final\_state()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJobV2#in_final_state) method in [`RuntimeJobV2`](qiskit_ibm_runtime.RuntimeJobV2 "qiskit_ibm_runtime.RuntimeJobV2") would not update the status when called. ([1547](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1547)) - + ## 0.22.0 (2024-03-21) - + ### Upgrade Notes * Modify `skip_reset_qubits` optional flag to the constructor for [`PadDynamicalDecoupling`](qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling"). If `False`, dynamical decoupling is applied on qubits regardless of their state, even on delays that are at the beginning of a circuit. This option now matches the behavior in Qiskit. ([1409](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1409)) - + ### New Features * A new local testing mode is added. It allows you to validate your quantum prorams before sending them to a physical system. The local testing mode is activated if one of the fake backends in `qiskit_ibm_runtime.fake_provider` or a Qiskit Aer backend instance is used when instantiating a primitive or a session. ([1495](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1495)) - + ### Bug Fixes * Fix a bug that caused setting of `resilience_level=0` in `EstimatorV2` to be ignored (and the default value used instead). ([1541](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1541)) - - -## 0.21.2 (2024-03-18) - - - -### Bug Fixes - -* Fixed a bug where `RuntimeDecoder` could import arbitrary classes. ([1527](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1527)) - -## 0.21.1 +## 0.21.2 (2024-03-18) ### Bug Fixes -* Fixed a bug where `SamplerV1` and `EstimatorV1` could not be imported because of an issue with how the aliases were defined. +* Fixed a bug where `RuntimeDecoder` could import arbitrary classes. ([1527](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1527)) -## 0.21.0 +## 0.21.1 +### Bug Fixes + +* Fixed a bug where `SamplerV1` and `EstimatorV1` could not be imported because of an issue with how the aliases were defined. + + + +## 0.21.0 + + + ### Upgrade Notes * Circuits that do not match the target hardware definition are no longer supported by Qiskit Runtime primitives, unless `channel_strategy="q-ctrl"` is used. See the transpilation documentation ([transpile](/guides/transpile)) for instructions to transform circuits and the primitive examples ([run/primitives-examples](/guides/primitives-examples)) to see this coupled with operator transformations. - + ### Deprecation Notes @@ -305,7 +315,7 @@ in_page_toc_max_heading_level: 2 It will also be a required parameter for `qiskit_ibm_runtime.Session` and `qiskit_ibm_runtime.Batch`. - + ### Bug Fixes @@ -313,11 +323,11 @@ in_page_toc_max_heading_level: 2 * Fixed a bug where retrieving a fake backend through `FakeProviderForBackendV2.backend()` would result in a type error. * Fixes the check for ISA circuits to allow pulse gates and circuits that don’t have layout. - + ## 0.20.0 - + ### New Features @@ -335,57 +345,57 @@ in_page_toc_max_heading_level: 2 The sessions functionality will not change but note that `backend.run()` sessions prior to this release will no longer be supported after March 31, 2024. Please update your `qiskit-ibm-runtime` version as soon as possible before this date. - + ### Deprecation Notes * Circuits that do not match the target hardware definition will no longer be supported after March 1, 2024. See the transpilation documentation ([transpile](/guides/transpile)) for instructions to transform circuits and the primitive examples ([run/primitives-examples](/guides/primitives-examples)) to see this coupled with operator transformations. - + ### Bug Fixes * Fix assignment of instruction durations when scheduling circuits with control flow. Prior to this fix, the indices for instructions on inner blocks were not mapped to the physical indices in the outer dag. - + ### Other Notes * The `InstructionDurations` durations input is now also required for the constructor of `PadDelay`. - + ## 0.19.1 - + ### Upgrade Notes * Extend `DynamicCircuitInstructions.from_backend()` to extract and patch durations from both `BackendV1` and `BackendV2` objects. Also add `DynamicCircuitInstructions.from_target()` to use a `Target` object instead. - + ### Bug Fixes * Fix the patching of `DynamicCircuitInstructions` for instructions with durations that are not in units of `dt`. * Fixed an issue with the `qpy.dump()` function, when the `use_symengine` flag was set to a truthy object that evaluated to `True` but was not actually the boolean `True` the generated QPY payload would be corrupt. - + ## 0.19.0 - + ### Upgrade Notes * qiskit-ibm-provider is pending deprecation, and therefore will no longer be a dependency for qiskit-ibm-runtime. * qiskit-ibm-runtime is now compatible with Qiskit versions >= 0.45, including 1.0.0. - + ## 0.18.0 - + ### New Features @@ -393,30 +403,30 @@ in_page_toc_max_heading_level: 2 * Added `max_time` parameter to `IBMBackend.open_session()`. * Added a method `RuntimeJob.queue_info()` to get the queue information from the backend. This feature was transferred from `qiskit_ibm_provider`. - + ### Deprecation Notes * [runtime()](/api/qiskit-ibm-runtime/0.21/qiskit_ibm_runtime.QiskitRuntimeService#runtime) has been deprecated. - + ### Bug Fixes * Many methods in [RuntimeJob](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob) require retrieving the job data from the API with `job_get()`. This API call will now exclude the `params` field by default because they are only necessary in [qiskit\_ibm\_runtime.RuntimeJob.inputs()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#inputs). - + ## 0.17.0 - + ### New Features * Added a new method [properties()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#properties) which returns the backend properties of the job at the time the job was run. * [details()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#details) has a new field, activated\_at, which is the timestamp of when the session was changed to active. - + ### Bug Fixes @@ -434,7 +444,7 @@ in_page_toc_max_heading_level: 2 * Fixed an issue where retrieving the coupling\_map of some backends would result in a NameError. - + ## 0.16.0 @@ -442,39 +452,39 @@ in_page_toc_max_heading_level: 2 Sessions are now thread-safe and allow for multiple concurrent interactive experiments. - + ### New Features * Sessions are now thread-safe. - + ### Upgrade Notes * Methods related to using custom programs are removed. - + ### Bug Fixes * If a cloud instance that is `q-ctrl` enabled is used while `q-ctrl` is not passed in as the `channel_strategy`, an error will be raised. - + ## 0.15.1 - + ### Bug Fixes * Reverting 0.15.0 changes to [from\_id()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#from_id) because it was a breaking change without proper deprecation. - + ## 0.15.0 - + ### New Features @@ -511,13 +521,13 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Removed storing result in `RuntimeJob._results`. Instead retrieve results every time the `results()` method is called. - + ### Deprecation Notes * Usage of the `~/.qiskit/qiskitrc.json` file for account information has been deprecated. Use `~/.qiskit/qiskit-ibm.json` instead. - + ### Bug Fixes @@ -526,34 +536,34 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * The `backend` parameter in [from\_id()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#from_id) is being deprecated because sessions do not support multiple backends. Additionally, the `service` parameter is no longer optional. * The `circuit_indices` and `observable_indices` run inputs for [Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) and [Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) have been completely removed. - + ### Other Notes * Added migration code for running `backend.run` in qiskit\_ibm\_runtime instead of in qiskit\_ibm\_provider. - + ## 0.14.0 - + ### New Features * There is a new class, `qiskit_ibm_runtime.Batch` that currently works the same way as [qiskit\_ibm\_runtime.Session](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session) but will later be updated to better support submitting multiple jobs at once. * Arbitrary keys and values are no longer allowed in `Options`. - + ### Deprecation Notes * Custom programs are being deprecated as of qiskit-ibm-runtime 0.14.0 and will be removed on November 27, 2023. Users can instead convert their custom programs to use Qiskit Runtime primitives with Qiskit Serverless. Refer to the migration guide for instructions: [https://qiskit.github.io/qiskit-serverless/migration/migration\_from\_qiskit\_runtime\_programs.html](https://qiskit.github.io/qiskit-serverless/migration/migration_from_qiskit_runtime_programs.html) - + ## 0.13.0 - + ### New Features @@ -563,7 +573,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * At initialization, if not passed in directly, the default `instance` selected by the provider will be logged at the “INFO” level. When running a job, if the backend selected is not in the default instance but in a different instance the user also has access to, that instance will also be logged. - + ### Upgrade Notes @@ -571,18 +581,18 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper The old close method behavior has been moved to a new method, [qiskit\_ibm\_runtime.Session.cancel()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#cancel), where all queued jobs within a session are cancelled and terminated. - + ### Bug Fixes * Fixed a bug where `shots` passed in as a numpy type were not being serialized correctly. * Fixed a bug in [target\_history()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#target_history) where the datetime parameter was not being used to retrieve backend properties from the specified date. - + ## 0.12.2 - + ### New Features @@ -591,17 +601,17 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Added new method `Session.from_id` which creates a new session with a given id. * There will now be a warning if a user submits a job that is predicted to exceed their system execution time monthly quota of 10 minutes. This only applies to jobs run on real hardware in the instance `ibm-q/open/main`. If the job does end up exceeding the quota, it will be canceled. - + ### Upgrade Notes * Job error messages now include the error code. Error codes can be found in [errors](/errors). - + ## 0.12.1 - + ### New Features @@ -609,7 +619,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Users can now pass in a value of `default` to the `channel_strategy` parameter in [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService). Now, if an account is configured with a certain channel strategy, the user can override it by passing in `default`. * The Sampler and Estimator primitives have been enhanced to incorporate custom validation procedures when the channel\_strategy property within the :class:qiskit\_ibm\_runtime.QiskitRuntimeService is configured as “q-ctrl.” This customized validation logic effectively rectifies incorrect input options and safeguards users against inadvertently disabling Q-CTRL’s performance enhancements. - + ### Bug Fixes @@ -618,11 +628,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Job error messages will no longer be returned in all uppercase. * The max\_execution\_time option is now based on system execution time instead of wall clock time. System execution time is the amount of time that the system is dedicated to processing your job. If a job exceeds this time limit, it is forcibly cancelled. Simulator jobs continue to use wall clock time. - + ## 0.12.0 - + ### New Features @@ -641,19 +651,19 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * There is a new parameter, `channel_strategy` that can be set in the initialization of [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) or saved in [qiskit\_ibm\_runtime.QiskitRuntimeService.save\_account()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService#save_account). If `channel_strategy` is set to `q-ctrl`, all jobs within the service will use the Q-CTRL error mitigation strategy. - + ### Upgrade Notes * Circuits and other input parameters will no longer be automatically stored in runtime jobs. They can still be retrieved with [qiskit\_ibm\_runtime.RuntimeJob.inputs()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#inputs). - + ### Deprecation Notes * The `noise_amplifier` resilience options is deprecated. After the deprecation period, only local folding amplification will be supported. Refer to [https://github.com/qiskit-community/prototype-zne](https://github.com/qiskit-community/prototype-zne) for global folding amplification. - + ### Bug Fixes @@ -661,11 +671,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Fixes a race condition in the test test\_cancel\_running\_job() in test\_job.py where job cancellation could not be performed. Refer to #1019 \<[https://github.com/Qiskit/qiskit-ibm-runtime/issues/1019](https://github.com/Qiskit/qiskit-ibm-runtime/issues/1019)>\_ for more details. * Previously we added validation when jobs were run to make sure the number of circuits was not greater than the maximum for that backend, `backend.max_circuits`. This limit isn’t actually necessary for primtives run from within a session. - + ## 0.11.3 - + ### New Features @@ -675,11 +685,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * There is a new method [update\_tags()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#update_tags) that can be used to update the `job_tags` of a job. * If `instance` is provided as parameter to [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService), then this is used as a filter in `QiskitRuntimeService.backends()`. If `instance` is not recognized as one of the provider instances, an exception will be raised. Previously, we only issued a warning. - + ## 0.11.2 - + ### New Features @@ -700,28 +710,28 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper options.simulator.seed_simulator = 42 ``` - + ### Bug Fixes * Fixed infinite recursion when attempting to deepcopy an IBMBackend. Added a method `qiskit_ibm_runtime.IBMBackend.deepcopy()`. * Fixed an issue where circuit metadata was not being serialized correctly resulting in a type error. - + ## 0.11.1 - + ### Deprecation Notes * In [qiskit\_ibm\_runtime.RuntimeJob.metrics()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#metrics), the bss field will be replaced by usage. - + ## 0.11.0 - + ### New Features @@ -741,59 +751,59 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper options.simulator = {"coupling_map": CouplingMap.from_line(10)} ``` - + ### Upgrade Notes * A default session is no longer open for you if you pass a backend name or backend instance to [qiskit\_ibm\_runtime.Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) or [qiskit\_ibm\_runtime.Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) constructors. The primitive will instead run without a session. In addition, you should now use the `backend` parameter to pass a backend name or instance instead of the `session` parameter (which can continue to be used to pass a session). * The first parameter of the [qiskit\_ibm\_runtime.Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) and [qiskit\_ibm\_runtime.Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) constructors is now `backend` instead of `session`. - + ### Deprecation Notes * Passing a backend name or backend instance to the `session` parameter when initializing a [qiskit\_ibm\_runtime.Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) or [qiskit\_ibm\_runtime.Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) has been deprecated. Please use the `backend` parameter instead. You can continue to pass a session using the `session` parameter. - + ## 0.10.0 - + ### New Features * Python 3.11 is now supported. - + ### Upgrade Notes * Added error messages in case the user defines unsupported values for ‘max\_execution\_time’. Previously, this validation was done on the server side. - + ### Bug Fixes * Added deserialization of the params of RuntimeJob.inputs. Previously, the circuits were returned in serialized format. Fixes issue [#829](https://github.com/Qiskit/qiskit-ibm-runtime/issues/829). * Allow for users to retrieve all backends even if one of the backends has a missing configuration. The backend without a configuration will not be returned. - + ## 0.9.4 - + ### New Features * Added methods to validate input options to `transpilation` and `environment` options. - + ### Upgrade Notes * When constructing a backend `qiskit.transpiler.Target`, faulty qubits and gates from the backend configuration will be filtered out. - + ### Deprecation Notes @@ -805,41 +815,41 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper Within [RuntimeOptions](/api/qiskit-ibm-runtime/0.25/qiskit_ibm_runtime.RuntimeOptions), `backend_name` is no longer supported. Please use `backend` instead. - + ### Bug Fixes * Fixed a bug where retrieving a job from a backend without `noise_model` or `seed_simulator` options would result in a key error. - + ## 0.9.3 - + ### Upgrade Notes * Added error messages in case the user defines unsupported values for ‘optimization\_level’ or for ‘resilience\_level’. Added validation checking for options given as input to `resilience`. Previously, this validation was done on the server side. By adding them on the client side, response will be much faster upon failure. The environment variable `QISKIT_RUNTIME_SKIP_OPTIONS_VALIDATION` is used to control validation. If set, validation will be skipped. * Backend configurations are no longer loaded when [QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) is initialized. Instead, the configuration is only loaded and cached during [get\_backend()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService#get_backend) and [backends()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService#backends). - + ### Bug Fixes * When creating an Option object and passing an input option to `resilience_options`, this option was included in `resilience_options`, but the other, default options were removed. This was fixed, so now inputs are handled correctly, like other option types. - + ## 0.9.2 - + ### New Features * Added a new argument called `session_time` to the program\_run method and [qiskit\_ibm\_runtime.RuntimeOptions](/api/qiskit-ibm-runtime/0.25/qiskit_ibm_runtime.RuntimeOptions). Now values entered by the user for session `max_time` will be sent to the server side as `session_time`. This allows users to specify different values for session `max_time` and `max_execution_time`. * Added the method [target\_history()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#target_history). This method is similar to [target()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#target). The difference is that the new method enables the user to pass a datetime parameter, to retrieve historical data from the backend. - + ### Upgrade Notes @@ -847,7 +857,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * If a job is returned without a backend, retrieving the backend through [qiskit\_ibm\_runtime.RuntimeJob.backend()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#backend) will re-retrieve data from the server and attempt to update the backend. Additionally, `job_id` and `backend`, which were deprecated attributes of [qiskit\_ibm\_runtime.RuntimeJob](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob) have now been removed. * Added a user warning when the user passes an option that is not supported in Options. - + ### Bug Fixes @@ -856,11 +866,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * If an instance is passed in to [qiskit\_ibm\_runtime.QiskitRuntimeService.get\_backend()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService#get_backend) and then the backend is used in a session, all jobs within the session will be run from the original instance passed in. * Removed additional decomposition of `BlueprintCircuit`s in the JSON encoder. This was introduced as a bugfix, but has since been fixed. Still doing the decomposition led to possible problems if the decomposed circuit was not in the correct basis set of the backend anymore. - + ## 0.9.1 - + ### Upgrade Notes @@ -878,47 +888,47 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper name = "my_account",) ``` - + ### Deprecation Notes * `backend` is no longer a supported option when using [qiskit\_ibm\_runtime.Session.run()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#run). Sessions do not support multiple cross backends. Additionally, an exception will be raised if a backend passed in through options does not match the original session backend in an active session. - + ### Bug Fixes * `ECRGate` and `CZGate` mappings have been added to the `Target` constructor to fix a tranpile bug. - + ### Other Notes * Since error messages from a failing job may be long, we shortened them so that they begin from the last `Traceback` in the message. - + ## 0.9.0 - + ### Upgrade Notes * Changed the default values for `optimization_level` and for `resilience_level` in `qiskit_ibm_runtime.Options`. If their values are defined by the user, they are not modified. If not set, if the backend is a noiseless simulator then `optimization_level` is set to 1 and `resilience_level` is set to 0; Otherwise, they are be set to 3 and 1 respectively. * [session\_id()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#session_id) and [tags()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#tags) were added for an easy way to return the session\_id and job\_tags of a job. - + ### Bug Fixes * Fixed a bug where jobs that did not run before a session closes are not actually run as a part of that session. Jobs should run as a part of a session even if that session is closed by the exit of the context manager. * Fixes the issue wherein submitting a large job fails due to write operation timeout. - + ## 0.8.0 - + ### New Features @@ -926,29 +936,29 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Advanced resilience options can now be set under `options.resilience`. See [qiskit\_ibm\_runtime.options.ResilienceOptions](/api/qiskit-ibm-runtime/0.27/qiskit_ibm_runtime.options.ResilienceOptions) for all available options. * You can now specify a pair of result decoders for the `result_decoder` parameter of [qiskit\_ibm\_runtime.QiskitRuntimeService.run()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService#run) method. If a pair is specified, the first one is used to decode interim results and the second the final results. - + ### Upgrade Notes * The default `resilience_level` option for has been changed from 0 to 1. In addition, the default `optimization_level` option has been changed from 1 to 3. - + ### Deprecation Notes * The transpilation options `translation_method` and `timing_constraints` have been deprecated. - + ### Bug Fixes * If a [qiskit\_ibm\_runtime.IBMBackend](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend) instance is passed to the [qiskit\_ibm\_runtime.Session](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session) constructor, the service used to initialize the `IBMBackend` instance is used for the session instead of the default account service. - + ## 0.7.0 - + ### New Features @@ -956,13 +966,13 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * The [qiskit\_ibm\_runtime.options.EnvironmentOptions](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.EnvironmentOptions) class now accepts a `callback` parameter. This parameter can be used to stream the interim and final results of the primitives. * The `qiskit_ibm_runtime.Options` class now accepts `max_execution_time` as a first level option and `job_tags` as an option under `environment`. [qiskit\_ibm\_runtime.RuntimeOptions](/api/qiskit-ibm-runtime/0.25/qiskit_ibm_runtime.RuntimeOptions) has also been updated to include these two parameters. - + ### Upgrade Notes * This version of qiskit-ibm-runtime requires qiskit-terra version 0.22 or higher. The `requirements.txt` file has been updated accordingly. - + ### Deprecation Notes @@ -970,7 +980,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Passing `instance` parameter to the [qiskit\_ibm\_runtime.QiskitRuntimeService.run()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService#run) has been deprecated. Instead, you can pass the `instance` parameter inside the `options` parameter. * Passing `job_tags` and `max_execution_time` as parameters to [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) has been deprecated. Please pass them inside `options`. - + ### Bug Fixes @@ -980,7 +990,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper ## 0.7.0rc2 - + ### Upgrade Notes @@ -988,7 +998,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * [Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) is updated to return `SamplerResult` with `SamplerResult.quasi_dists` as a list of `QuasiDistrbution`. It used to set a list of `dict` as `SamplerResult.quasi_dists`, but it did not follow the design of `SamplerResult`. * The [RuntimeJob](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob) class is now a subclass of `qiskit.providers.Job`. - + ### Deprecation Notes @@ -999,13 +1009,13 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper ## 0.7.0rc1 - + ### Prelude There are significant changes to how primitives are invoked within a session, and the options available to the primitives. Please review the rest of the release notes and the tutorials for full information. - + ### New Features @@ -1064,7 +1074,7 @@ There are significant changes to how primitives are invoked within a session, an * The [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) `channel` can now be stored as an environment variable, `QISKIT_IBM_CHANNEL`. This way, when using Runtime Primitives, the service does not have to be instantiated manually and can instead be created directly from environment variables. - + ### Upgrade Notes @@ -1087,7 +1097,7 @@ There are significant changes to how primitives are invoked within a session, an * Since some accounts have many runtime programs, caching a list of all programs on the first call of `programs()` has been removed. Instead, programs will only be cached up to the `limit` given, which has a default value of 20. - + ### Deprecation Notes @@ -1105,17 +1115,17 @@ There are significant changes to how primitives are invoked within a session, an options.transpilation.skip_transpilation = True ``` - + ### Bug Fixes * Fixes issue [#428](https://github.com/Qiskit/qiskit-ibm-runtime/issues/428) by raising the minimum required `qiskit-terra` version to `0.21.0`, since latest version of `qiskit-ibm-runtime` is not compatible with `0.20.0` or earlier of `qiskit-terra`. - + ## 0.6.0 - + ### Upgrade Notes @@ -1132,17 +1142,17 @@ There are significant changes to how primitives are invoked within a session, an * `IBMRuntimeService` class which was deprecated earlier is now removed. Use [QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) class going forward. - + ## 0.5.0 - + ### Prelude This release leverages the API and Queue enhancements to become more runtime session aware. As a result when using the primitives (sampler and estimator), runtime jobs in the same session will skip to the front of the queue, thereby speeding up the runtime session, once it has started. - + ### New Features @@ -1155,7 +1165,7 @@ This release leverages the API and Queue enhancements to become more runtime ses backend.service # QiskitRuntimeService instance used to instantiate the backend ``` - + ### Upgrade Notes @@ -1212,11 +1222,11 @@ This release leverages the API and Queue enhancements to become more runtime ses * [qubit\_properties()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#qubit_properties) will now return a sub class of `QubitProperties` called `IBMQubitProperties` and will expose anharmonicity in addition to the t1, t2 and frequency already exposed by the `QubitProperties` class. - + ## 0.4.0 - + ### Upgrade Notes @@ -1301,55 +1311,55 @@ This release leverages the API and Queue enhancements to become more runtime ses result = sampler(circuit_indices=[0], ...) ``` - + ### Deprecation Notes * `IBMRuntimeService`, `IBMEstimator` and `IBMSampler` classes have been deprecated and will be removed in a future release. Use [QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService), [Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) and [Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) classes instead. See upgrade notes section for a detailed explanation with examples. - + ## 0.3.0 - + ### Upgrade Notes * A new parameter `channel` has now been added to `qiskit_ibm_runtime.IBMRuntimeService` class and also to methods like `save_account()`, `saved_accounts()` and `delete_account()`. It can be set to `ibm_quantum` or `ibm_cloud` to authenticate to either of the two different channels through which Qiskit Runtime service is currently offered. `channel` replaces the `auth` parameter which has now been deprecated. - + ### Deprecation Notes * The `auth` parameter to `qiskit_ibm_runtime.IBMRuntimeService` class and also to methods like `save_account()`, `saved_accounts()` and `delete_account()` has now been deprecated and will be removed in a future release. Please use the new `channel` parameter instead. - + ### Bug Fixes * Fixed [#291](https://github.com/Qiskit/qiskit-ibm-runtime/issues/219) where passing a single `QuantumCircuit` to sampler or estimator primitives was throwing an error. - + ## 0.2.0 - + ### New Features * `qiskit_ibm_runtime.IBMEstimator` and `qiskit_ibm_runtime.IBMSampler` classes now allow you to easily interact with the `estimator` and `sampler` primitive programs. Refer to the examples in the respective class doc strings to learn more about how to use them. - + ### Bug Fixes * Fixed a bug where [qiskit\_ibm\_runtime.RuntimeJob.wait\_for\_final\_state()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#wait_for_final_state) would result in a NoneType error if the job already completed and [qiskit\_ibm\_runtime.RuntimeJob.status()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#status) was called beforehand. - + ## 0.1.0 - + ### Prelude @@ -1359,13 +1369,13 @@ This new package is built upon the work already done in qiskit.providers.ibmq.ru qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby you have to install it separately using `pip install qiskit-ibm-runtime`. - + ### New Features * `qiskit_ibm_runtime.IBMRuntimeService.least_busy()` will now allow you find the least busy backend. - + ### Upgrade Notes @@ -1426,35 +1436,35 @@ qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby yo * Final result is also streamed now after interim results when you specify a `callback` to `qiskit_ibm_runtime.IBMRuntimeService.run()` or [qiskit\_ibm\_runtime.RuntimeJob.stream\_results()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#stream_results). - + ## 0.1.0rc2 - + ### New Features * For convenience, you can now set the `IBM Cloud service name` as a value for the account `instance` parameter. If you choose to set the name instead of the `CRN`, the initialization time of the `qiskit_ibm_runtime.IBMRuntimeService` class is slightly higher because the required `CRN` value is internally resolved via IBM Cloud APIs. - + ### Bug Fixes * [qiskit\_ibm\_runtime.utils.json.RuntimeEncoder](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeEncoder) and [qiskit\_ibm\_runtime.utils.json.RuntimeDecoder](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeDecoder) have been updated to handle instances of the Instruction class. * Fixed an issue where numpy ndarrays with object types could not be serialized. [qiskit\_ibm\_runtime.utils.json.RuntimeEncoder](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeEncoder) and [qiskit\_ibm\_runtime.utils.json.RuntimeDecoder](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeDecoder) have been updated to handle these ndarrays. - + ## 0.1.0rc1 - + ### New Features * You can now pass `instance` parameter in the hub/group/project format to `qiskit_ibm_runtime.IBMRuntimeService.jobs()` to filter jobs. Currently only supported for legacy authentication. * You can now use the [qiskit\_ibm\_runtime.RuntimeJob.interim\_results()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#interim_results) method to retrieve runtime program interim results. Note that interim results will only be available for up to two days. - + ### Upgrade Notes @@ -1462,7 +1472,7 @@ qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby yo * When uploading a program with `qiskit_ibm_runtime.IBMRuntimeService.upload_program()`, the program description is now optional. * When printing programs with `qiskit_ibm_runtime.IBMRuntimeService.pprint_programs()`, `backend_requirements` will now be listed. - + ### Bug Fixes diff --git a/docs/api/qiskit-ibm-transpiler/0.5/_package.json b/docs/api/qiskit-ibm-transpiler/0.5/_package.json index 09b573cbb2..332213ef66 100644 --- a/docs/api/qiskit-ibm-transpiler/0.5/_package.json +++ b/docs/api/qiskit-ibm-transpiler/0.5/_package.json @@ -1,4 +1,4 @@ { "name": "qiskit-ibm-transpiler", - "version": "0.5.2" + "version": "0.5.3" } diff --git a/docs/api/qiskit-ibm-transpiler/0.6/_package.json b/docs/api/qiskit-ibm-transpiler/0.6/_package.json new file mode 100644 index 0000000000..a004cd34ff --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/_package.json @@ -0,0 +1,4 @@ +{ + "name": "qiskit-ibm-transpiler", + "version": "0.6.1" +} diff --git a/docs/api/qiskit-ibm-transpiler/0.6/_toc.json b/docs/api/qiskit-ibm-transpiler/0.6/_toc.json new file mode 100644 index 0000000000..53eb1a2f66 --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/_toc.json @@ -0,0 +1,69 @@ +{ + "title": "Qiskit Transpiler Service Client", + "children": [ + { + "title": "API index", + "url": "/api/qiskit-ibm-transpiler/0.6" + }, + { + "title": "qiskit_ibm_transpiler.ai", + "children": [ + { + "title": "Module overview", + "url": "/api/qiskit-ibm-transpiler/0.6/ai" + }, + { + "title": "AICliffordSynthesis", + "url": "/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AICliffordSynthesis" + }, + { + "title": "AILinearFunctionSynthesis", + "url": "/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis" + }, + { + "title": "AIPermutationSynthesis", + "url": "/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AIPermutationSynthesis" + }, + { + "title": "AIRouting", + "url": "/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AIRouting" + }, + { + "title": "CollectCliffords", + "url": "/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectCliffords" + }, + { + "title": "CollectLinearFunctions", + "url": "/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectLinearFunctions" + }, + { + "title": "CollectPermutations", + "url": "/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectPermutations" + } + ] + }, + { + "title": "qiskit_ibm_transpiler.transpiler_service", + "children": [ + { + "title": "Module overview", + "url": "/api/qiskit-ibm-transpiler/0.6/transpiler_service" + }, + { + "title": "TranspilerService", + "url": "/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.transpiler_service.TranspilerService" + } + ] + }, + { + "title": "qiskit_ibm_transpiler.utils", + "url": "/api/qiskit-ibm-transpiler/0.6/utils" + }, + { + "title": "Release notes", + "url": "/api/qiskit-ibm-transpiler/release-notes" + } + ], + "collapsed": true +} + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/ai.mdx b/docs/api/qiskit-ibm-transpiler/0.6/ai.mdx new file mode 100644 index 0000000000..79b92538d7 --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/ai.mdx @@ -0,0 +1,30 @@ +--- +title: ai +description: API reference for qiskit_ibm_transpiler.ai +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_transpiler.ai +--- + + + + + +# AI + + + +`qiskit_ibm_transpiler.ai` + +## Classes + +| | | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| [`AIRouting`](qiskit_ibm_transpiler.ai.AIRouting "qiskit_ibm_transpiler.ai.AIRouting")(\[backend\_name, coupling\_map, ...]) | The AIRouting pass acts both as a layout stage and a routing stage. | +| [`AICliffordSynthesis`](qiskit_ibm_transpiler.ai.AICliffordSynthesis "qiskit_ibm_transpiler.ai.AICliffordSynthesis")(backend\_name\[, ...]) | Synthesis for Clifford circuits (blocks of H, S and CX gates). | +| [`AILinearFunctionSynthesis`](qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis "qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis")(backend\_name\[, ...]) | Synthesis for Linear Function circuits (blocks of CX and SWAP gates). | +| [`AIPermutationSynthesis`](qiskit_ibm_transpiler.ai.AIPermutationSynthesis "qiskit_ibm_transpiler.ai.AIPermutationSynthesis")(backend\_name\[, ...]) | Synthesis for Permutation circuits (blocks of SWAP gates). | +| [`CollectCliffords`](qiskit_ibm_transpiler.ai.CollectCliffords "qiskit_ibm_transpiler.ai.CollectCliffords")(\[do\_commutative\_analysis, ...]) | Collects Clifford blocks as Instruction objects and stores the original sub-circuit to compare against it after synthesis. | +| [`CollectLinearFunctions`](qiskit_ibm_transpiler.ai.CollectLinearFunctions "qiskit_ibm_transpiler.ai.CollectLinearFunctions")(\[...]) | Collects blocks of SWAP and CX as LinearFunction objects and stores the original sub-circuit to compare against it after synthesis. | +| [`CollectPermutations`](qiskit_ibm_transpiler.ai.CollectPermutations "qiskit_ibm_transpiler.ai.CollectPermutations")(\[...]) | Collects blocks of SWAP circuits as Permutations. | + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/index.mdx b/docs/api/qiskit-ibm-transpiler/0.6/index.mdx new file mode 100644 index 0000000000..a81ac0d80e --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/index.mdx @@ -0,0 +1,11 @@ +--- +title: Qiskit Transpiler Service Client Docs +description: API documentation for the qiskit-ibm-transpiler client +--- + +# qiskit-ibm-transpiler API reference + +* [AI (`qiskit_ibm_transpiler.ai`)](ai) +* [Qiskit IBM Transpiler (`qiskit_ibm_transpiler.transpiler_service`)](transpiler_service) +* [Utilities (`qiskit_ibm_transpiler.utils`)](utils) + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AICliffordSynthesis.mdx b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AICliffordSynthesis.mdx new file mode 100644 index 0000000000..27d05e3935 --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AICliffordSynthesis.mdx @@ -0,0 +1,91 @@ +--- +title: AICliffordSynthesis +description: API reference for qiskit_ibm_transpiler.ai.AICliffordSynthesis +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_transpiler.ai.AICliffordSynthesis +--- + +# AICliffordSynthesis + + + Bases: `AISynthesis` + + Synthesis for Clifford circuits (blocks of H, S and CX gates). Currently up to 9 qubit blocks. + + **Parameters** + + * **backend\_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Name of the backend used for doing the AI Clifford synthesis. + * **replace\_only\_if\_better** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*, optional*) – Determine if replace the original circuit with the synthesized one if it’s better, defaults to True. + * **max\_threads** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Set the number of requests to send in parallel. + + ## Methods + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – State associated with workflow execution by the pass manager itself. + * **callback** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.12)")) – A callback function which is caller per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)"), [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")] + + + ### name + + + Name of the pass. + + **Return type** + + [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + + + ### run + + + Run a pass on the DAGCircuit. This is implemented by the pass developer. + + **Parameters** + + **dag** ([*DAGCircuit*](/api/qiskit/qiskit.dagcircuit.DAGCircuit "(in Qiskit v1.2)")) – the dag on which the pass is run. + + **Raises** + + [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.12)") – when this is left unimplemented for a pass. + + + ### synth\_nodes + + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)") + + + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis.mdx b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis.mdx new file mode 100644 index 0000000000..a02066c5f5 --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis.mdx @@ -0,0 +1,91 @@ +--- +title: AILinearFunctionSynthesis +description: API reference for qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis +--- + +# AILinearFunctionSynthesis + + + Bases: `AISynthesis` + + Synthesis for Linear Function circuits (blocks of CX and SWAP gates). Currently up to 9 qubit blocks. + + **Parameters** + + * **backend\_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Name of the backend used for doing the AI Linear Function synthesis. + * **replace\_only\_if\_better** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*, optional*) – Determine if replace the original circuit with the synthesized one if it’s better, defaults to True. + * **max\_threads** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Set the number of requests to send in parallel. + + ## Methods + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – State associated with workflow execution by the pass manager itself. + * **callback** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.12)")) – A callback function which is caller per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)"), [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")] + + + ### name + + + Name of the pass. + + **Return type** + + [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + + + ### run + + + Run a pass on the DAGCircuit. This is implemented by the pass developer. + + **Parameters** + + **dag** ([*DAGCircuit*](/api/qiskit/qiskit.dagcircuit.DAGCircuit "(in Qiskit v1.2)")) – the dag on which the pass is run. + + **Raises** + + [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.12)") – when this is left unimplemented for a pass. + + + ### synth\_nodes + + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)") + + + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AIPermutationSynthesis.mdx b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AIPermutationSynthesis.mdx new file mode 100644 index 0000000000..049146edce --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AIPermutationSynthesis.mdx @@ -0,0 +1,91 @@ +--- +title: AIPermutationSynthesis +description: API reference for qiskit_ibm_transpiler.ai.AIPermutationSynthesis +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_transpiler.ai.AIPermutationSynthesis +--- + +# AIPermutationSynthesis + + + Bases: `AISynthesis` + + Synthesis for Permutation circuits (blocks of SWAP gates). Currently available for 65, 33, and 27 qubit blocks. + + **Parameters** + + * **backend\_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Name of the backend used for doing the AI Linear Function synthesis. + * **replace\_only\_if\_better** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*, optional*) – Determine if replace the original circuit with the synthesized one if it’s better, defaults to True. + * **max\_threads** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Set the number of requests to send in parallel. + + ## Methods + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – State associated with workflow execution by the pass manager itself. + * **callback** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.12)")) – A callback function which is caller per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)"), [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")] + + + ### name + + + Name of the pass. + + **Return type** + + [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + + + ### run + + + Run a pass on the DAGCircuit. This is implemented by the pass developer. + + **Parameters** + + **dag** ([*DAGCircuit*](/api/qiskit/qiskit.dagcircuit.DAGCircuit "(in Qiskit v1.2)")) – the dag on which the pass is run. + + **Raises** + + [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.12)") – when this is left unimplemented for a pass. + + + ### synth\_nodes + + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)") + + + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AIRouting.mdx b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AIRouting.mdx new file mode 100644 index 0000000000..46271df1fa --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.AIRouting.mdx @@ -0,0 +1,97 @@ +--- +title: AIRouting +description: API reference for qiskit_ibm_transpiler.ai.AIRouting +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_transpiler.ai.AIRouting +--- + +# AIRouting + + + Bases: [`TransformationPass`](/api/qiskit/qiskit.transpiler.TransformationPass "(in Qiskit v1.2)") + + The AIRouting pass acts both as a layout stage and a routing stage. + + **Parameters** + + * **backend\_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, optional*) – Name of the backend used for doing the transpilation. + * **coupling\_map** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]], optional*) – A list of pairs that represents physical links between qubits. + * **optimization\_level** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – With a range from 1 to 3, determines the computational effort to spend in the process (higher usually gives better results but takes longer), defaults to 2. + * **layout\_mode** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Specifies how to handle the layout selection. There are 3 layout modes: keep (respects the layout set by the previous transpiler passes), improve (uses the layout set by the previous transpiler passes as a starting point) and optimize (ignores previous layout selections), defaults to OPTIMIZE. + + ## Methods + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – State associated with workflow execution by the pass manager itself. + * **callback** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.12)")) – A callback function which is caller per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)"), [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")] + + + ### name + + + Name of the pass. + + **Return type** + + [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + + + ### run + + + Run the AIRouting pass on dag. + + **Parameters** + + **dag** (*DAGCircuit*) – the directed acyclic graph to be mapped. + + **Returns** + + A dag mapped to be compatible with the coupling\_map. + + **Return type** + + DAGCircuit + + **Raises** + + * **TranspilerError** – if the coupling map or the layout are not + * **compatible with the DAG**\*\*, or \*\***if the coupling\_map=None** – + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)") + + + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectCliffords.mdx b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectCliffords.mdx new file mode 100644 index 0000000000..6ba01d309d --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectCliffords.mdx @@ -0,0 +1,89 @@ +--- +title: CollectCliffords +description: API reference for qiskit_ibm_transpiler.ai.CollectCliffords +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_transpiler.ai.CollectCliffords +--- + +# CollectCliffords + + + Bases: `RepeatedCollectAndCollapse` + + Collects Clifford blocks as Instruction objects and stores the original sub-circuit to compare against it after synthesis. + + **Parameters** + + * **do\_commutative\_analysis** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*, optional*) – Enable or disable commutative analysis, defaults to True + * **min\_block\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Set the minimum size for blocks generated during the collect Cliffords pass, defaults to 2. + * **max\_block\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Set the maximum size for blocks generated during the collect Cliffords pass, defaults to 9. + * **collect\_from\_back** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*, optional*) – Specify if collect blocks in reverse order or not, defaults to False. + * **num\_reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Specify how many times to repeat the optimization process, defaults to 10. + + ## Methods + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – State associated with workflow execution by the pass manager itself. + * **callback** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.12)")) – A callback function which is caller per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)"), [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")] + + + ### name + + + Name of the pass. + + **Return type** + + [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + + + ### run + + + Run the CollectLinearFunctions pass on dag. :param dag: the DAG to be optimized. :type dag: DAGCircuit + + **Returns** + + the optimized DAG. + + **Return type** + + DAGCircuit + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)") + + + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectLinearFunctions.mdx b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectLinearFunctions.mdx new file mode 100644 index 0000000000..3444e363da --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectLinearFunctions.mdx @@ -0,0 +1,89 @@ +--- +title: CollectLinearFunctions +description: API reference for qiskit_ibm_transpiler.ai.CollectLinearFunctions +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_transpiler.ai.CollectLinearFunctions +--- + +# CollectLinearFunctions + + + Bases: `RepeatedCollectAndCollapse` + + Collects blocks of SWAP and CX as LinearFunction objects and stores the original sub-circuit to compare against it after synthesis. + + **Parameters** + + * **do\_commutative\_analysis** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*, optional*) – Enable or disable commutative analysis, defaults to True + * **min\_block\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Set the minimum size for blocks generated during the collect linear functions pass, defaults to 4. + * **max\_block\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Set the maximum size for blocks generated during the collect linear functions pass, defaults to 9. + * **collect\_from\_back** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*, optional*) – Specify if collect blocks in reverse order or not, defaults to False. + * **num\_reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Specify how many times to repeat the optimization process, defaults to 10. + + ## Methods + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – State associated with workflow execution by the pass manager itself. + * **callback** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.12)")) – A callback function which is caller per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)"), [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")] + + + ### name + + + Name of the pass. + + **Return type** + + [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + + + ### run + + + Run the CollectLinearFunctions pass on dag. :param dag: the DAG to be optimized. :type dag: DAGCircuit + + **Returns** + + the optimized DAG. + + **Return type** + + DAGCircuit + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)") + + + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectPermutations.mdx b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectPermutations.mdx new file mode 100644 index 0000000000..94f3258b7b --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.ai.CollectPermutations.mdx @@ -0,0 +1,89 @@ +--- +title: CollectPermutations +description: API reference for qiskit_ibm_transpiler.ai.CollectPermutations +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_transpiler.ai.CollectPermutations +--- + +# CollectPermutations + + + Bases: `RepeatedCollectAndCollapse` + + Collects blocks of SWAP circuits as Permutations. + + **Parameters** + + * **do\_commutative\_analysis** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*, optional*) – Enable or disable commutative analysis, defaults to True + * **min\_block\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Set the minimum size for blocks generated during the collect permutations pass, defaults to 4. + * **max\_block\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Set the maximum size for blocks generated during the collect permutations pass, defaults to 12. + * **collect\_from\_back** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*, optional*) – Specify if collect blocks in reverse order or not, defaults to False. + * **num\_reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, optional*) – Specify how many times to repeat the optimization process, defaults to 10. + + ## Methods + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – State associated with workflow execution by the pass manager itself. + * **callback** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.12)")) – A callback function which is caller per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)"), [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")] + + + ### name + + + Name of the pass. + + **Return type** + + [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + + + ### run + + + Run the CollectLinearFunctions pass on dag. :param dag: the DAG to be optimized. :type dag: DAGCircuit + + **Returns** + + the optimized DAG. + + **Return type** + + DAGCircuit + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)") + + + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.transpiler_service.TranspilerService.mdx b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.transpiler_service.TranspilerService.mdx new file mode 100644 index 0000000000..e84c4127ef --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/qiskit_ibm_transpiler.transpiler_service.TranspilerService.mdx @@ -0,0 +1,42 @@ +--- +title: TranspilerService +description: API reference for qiskit_ibm_transpiler.transpiler_service.TranspilerService +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_transpiler.transpiler_service.TranspilerService +--- + +# TranspilerService + + + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") + + Class for using the transpiler service. + + **Parameters** + + * **optimization\_level** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The optimization level to use during the transpilation. There are 4 optimization levels ranging from 0 to 3, where 0 is intended for not performing any optimizations and 3 spends the most effort to optimize the circuit. + * **optimization\_preferences** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *|*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*], optional*) – Describe your preferences with a value or a list of values when prioritizing optimization. Allowed options: noise, n\_cnots, n\_gates, cnot\_layers, layers. + * **ai** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, optional*) – Specifies if the transpilation should use AI or not, defaults to True. + * **coupling\_map** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]], optional*) – A list of pairs that represents physical links between qubits. + * **backend\_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, optional*) – Name of the backend used for doing the transpilation. + * **qiskit\_transpile\_options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*, optional*) – Other options to transpile with qiskit. + * **ai\_layout\_mode** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, optional*) – Specifies how to handle the layout selection. There are 3 layout modes: keep (respects the layout set by the previous transpiler passes), improve (uses the layout set by the previous transpiler passes as a starting point) and optimize (ignores previous layout selections). + + ## Methods + + ### run + + + Transpile the circuit(s) by calling the service /transpile endpoint. + + **Parameters** + + **circuits** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *|*[*QuantumCircuit*](/api/qiskit/qiskit.circuit.QuantumCircuit "(in Qiskit v1.2)")*] |* [*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *|*[*QuantumCircuit*](/api/qiskit/qiskit.circuit.QuantumCircuit "(in Qiskit v1.2)")) – circuit(s) to transpile. + + **Returns** + + The transpiled circuit(s) + + + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/transpiler_service.mdx b/docs/api/qiskit-ibm-transpiler/0.6/transpiler_service.mdx new file mode 100644 index 0000000000..09d5e17ebe --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/transpiler_service.mdx @@ -0,0 +1,24 @@ +--- +title: transpiler_service +description: API reference for qiskit_ibm_transpiler.transpiler_service +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_transpiler.transpiler_service +--- + + + + + +# Qiskit IBM Transpiler + + + +`qiskit_ibm_transpiler.transpiler_service` + +## Classes + +| | | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | +| [`TranspilerService`](qiskit_ibm_transpiler.transpiler_service.TranspilerService "qiskit_ibm_transpiler.transpiler_service.TranspilerService")(optimization\_level\[, ai, ...]) | Class for using the transpiler service. | + diff --git a/docs/api/qiskit-ibm-transpiler/0.6/utils.mdx b/docs/api/qiskit-ibm-transpiler/0.6/utils.mdx new file mode 100644 index 0000000000..7fc106a374 --- /dev/null +++ b/docs/api/qiskit-ibm-transpiler/0.6/utils.mdx @@ -0,0 +1,47 @@ +--- +title: utils +description: API reference for qiskit_ibm_transpiler.utils +in_page_toc_min_heading_level: 2 +python_api_type: module +python_api_name: qiskit_ibm_transpiler.utils +--- + + + + + +# Utilities + + + +`qiskit_ibm_transpiler.utils` + +## Functions + +### create\_random\_linear\_function + + + **Parameters** + + * **n\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – + * **seed** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – + + **Return type** + + [*LinearFunction*](/api/qiskit/qiskit.circuit.library.LinearFunction "(in Qiskit v1.2)") + + +### get\_metrics + + + Returns a dict with metrics from a QuantumCircuit + + **Parameters** + + **qc** ([*QuantumCircuit*](/api/qiskit/qiskit.circuit.QuantumCircuit "(in Qiskit v1.2)")) – + + **Return type** + + [*Dict*](https://docs.python.org/3/library/typing.html#typing.Dict "(in Python v3.12)")\[[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)"), [int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")] + + diff --git a/docs/api/qiskit-ibm-transpiler/_package.json b/docs/api/qiskit-ibm-transpiler/_package.json index 5bf349388c..53069646e4 100644 --- a/docs/api/qiskit-ibm-transpiler/_package.json +++ b/docs/api/qiskit-ibm-transpiler/_package.json @@ -1,4 +1,4 @@ { "name": "qiskit-ibm-transpiler", - "version": "0.6.0" + "version": "0.7.0" } diff --git a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AICliffordSynthesis.mdx b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AICliffordSynthesis.mdx index 27d05e3935..28135d995a 100644 --- a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AICliffordSynthesis.mdx +++ b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AICliffordSynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AICliffordSynthesis # AICliffordSynthesis - + Bases: `AISynthesis` Synthesis for Clifford circuits (blocks of H, S and CX gates). Currently up to 9 qubit blocks. @@ -53,7 +53,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AICliffordSynthesis ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AICliffordSynthesis ### synth\_nodes - + ### update\_status diff --git a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis.mdx b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis.mdx index a02066c5f5..f10a42329a 100644 --- a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis.mdx +++ b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis # AILinearFunctionSynthesis - + Bases: `AISynthesis` Synthesis for Linear Function circuits (blocks of CX and SWAP gates). Currently up to 9 qubit blocks. @@ -53,7 +53,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AILinearFunctionSynthesis ### synth\_nodes - + ### update\_status diff --git a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AIPermutationSynthesis.mdx b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AIPermutationSynthesis.mdx index 049146edce..b49b46a6e9 100644 --- a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AIPermutationSynthesis.mdx +++ b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AIPermutationSynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AIPermutationSynthesis # AIPermutationSynthesis - + Bases: `AISynthesis` Synthesis for Permutation circuits (blocks of SWAP gates). Currently available for 65, 33, and 27 qubit blocks. @@ -53,7 +53,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AIPermutationSynthesis ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AIPermutationSynthesis ### synth\_nodes - + ### update\_status diff --git a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AIRouting.mdx b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AIRouting.mdx index 46271df1fa..06bd7337ea 100644 --- a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AIRouting.mdx +++ b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.AIRouting.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AIRouting # AIRouting - + Bases: [`TransformationPass`](/api/qiskit/qiskit.transpiler.TransformationPass "(in Qiskit v1.2)") The AIRouting pass acts both as a layout stage and a routing stage. @@ -54,7 +54,7 @@ python_api_name: qiskit_ibm_transpiler.ai.AIRouting ### run - + Run the AIRouting pass on dag. **Parameters** diff --git a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectCliffords.mdx b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectCliffords.mdx index 6ba01d309d..3dbe59463c 100644 --- a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectCliffords.mdx +++ b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectCliffords.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_transpiler.ai.CollectCliffords # CollectCliffords - + Bases: `RepeatedCollectAndCollapse` Collects Clifford blocks as Instruction objects and stores the original sub-circuit to compare against it after synthesis. diff --git a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectLinearFunctions.mdx b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectLinearFunctions.mdx index 3444e363da..60acbe0404 100644 --- a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectLinearFunctions.mdx +++ b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectLinearFunctions.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_transpiler.ai.CollectLinearFunctions # CollectLinearFunctions - + Bases: `RepeatedCollectAndCollapse` Collects blocks of SWAP and CX as LinearFunction objects and stores the original sub-circuit to compare against it after synthesis. diff --git a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectPermutations.mdx b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectPermutations.mdx index 94f3258b7b..bfa0ceac27 100644 --- a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectPermutations.mdx +++ b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.ai.CollectPermutations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_transpiler.ai.CollectPermutations # CollectPermutations - + Bases: `RepeatedCollectAndCollapse` Collects blocks of SWAP circuits as Permutations. diff --git a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.transpiler_service.TranspilerService.mdx b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.transpiler_service.TranspilerService.mdx index e84c4127ef..96f74091bc 100644 --- a/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.transpiler_service.TranspilerService.mdx +++ b/docs/api/qiskit-ibm-transpiler/qiskit_ibm_transpiler.transpiler_service.TranspilerService.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_transpiler.transpiler_service.TranspilerService # TranspilerService - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class for using the transpiler service. @@ -22,12 +22,13 @@ python_api_name: qiskit_ibm_transpiler.transpiler_service.TranspilerService * **backend\_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, optional*) – Name of the backend used for doing the transpilation. * **qiskit\_transpile\_options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*, optional*) – Other options to transpile with qiskit. * **ai\_layout\_mode** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, optional*) – Specifies how to handle the layout selection. There are 3 layout modes: keep (respects the layout set by the previous transpiler passes), improve (uses the layout set by the previous transpiler passes as a starting point) and optimize (ignores previous layout selections). + * **use\_fractional\_gates** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – ## Methods ### run - + Transpile the circuit(s) by calling the service /transpile endpoint. **Parameters** diff --git a/docs/api/qiskit-ibm-transpiler/release-notes.mdx b/docs/api/qiskit-ibm-transpiler/release-notes.mdx index 1cd8c1862b..a6e687ebe7 100644 --- a/docs/api/qiskit-ibm-transpiler/release-notes.mdx +++ b/docs/api/qiskit-ibm-transpiler/release-notes.mdx @@ -10,8 +10,32 @@ in_page_toc_max_heading_level: 2 +## 0.7.0 (2024-09-18) + +### New features + +* Adds support for sending the use\_fractional\_gates option to the transpile service ([83](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/83)) +* Adds iterative decomposition to Qasm3 export. ([85](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/85)) + +### Other notes + +* Removes unneeded benchmark method ([81](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/81)) +* Adds test to verify that a circuit with a barrier will be transpiled ([84](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/84)) + + + +## 0.6.1 (2024-09-17) + +### Bug fixes + +* Fixes a bug with ECR gates coming from Qiskit when parsing using OpenQASM2 ([74](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/74)) + + + ## 0.6.0 (2024-09-16) + + ### New features * Add optimization\_preferences optional input to [`TranspilerService`](qiskit_ibm_transpiler.transpiler_service.TranspilerService "qiskit_ibm_transpiler.transpiler_service.TranspilerService") constructor. @@ -20,32 +44,44 @@ in_page_toc_max_heading_level: 2 * Enabling coupling\_map as options to the AI Synthesis passes ([70](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/70)) + + ### Bug fixes * Keep trying to get results even in case of HTTPError exception with status 520 ([52](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/52)) * Fixing the type of ECR gates when loading circuits from the Qiskit Transpiler Service ([63](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/63)) - + + +## 0.5.3 (2024-09-17) + + + +### Bug fixes + +* Fixes a bug with ECR gates coming from Qiskit when parsing using OpenQASM2 ([74](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/74)) + + ## 0.5.2 (2024-09-12) - + ### Bug fixes * Fixing the type of ECR gates when loading circuits from the qiskit transpiler service ([63](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/63)) - + ## 0.5.1 (2024-08-29) - + ### Bug fixes * Keep trying getting result even in case of HTTPError exception with status 520 ([52](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/52)) - + ## 0.5.0 (2024-08-27) @@ -53,37 +89,47 @@ in_page_toc_max_heading_level: 2 * Rename package to `qiskit-ibm-transpiler` ([43](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/43)) - + + +## 0.4.10 (2024-09-17) + + + +### Bug fixes + +* Fixes a bug with ECR gates coming from Qiskit when parsing using OpenQASM2 ([77](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/77)) + + ## 0.4.9 (2024-09-12) - + ### Bug fixes * Fixing the type of ECR gates when loading circuits from the qiskit transpiler service ([64](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/64)) - + ## 0.4.8 (2024-08-29) - + ### Bug fixes * Keep trying getting result even in case of HTTPError exception with status 520 ([54](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/54)) - + ## 0.4.7 (2024-08-27) - + ### Bug fixes * Add stacklevel to DeprecationWarning so it appears in Jupyter notebooks ([49](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/49)) - + ## 0.4.6 (2024-08-23) @@ -91,177 +137,179 @@ in_page_toc_max_heading_level: 2 * Add deprecation notice in preparation for project rename to `qiskit-ibm-transpiler` ([40](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/40)) - + ### Bug fixes * Forward incoming error when decoding fails ([36](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/36)) - + ## 0.4.5 (2024-08-01) - + ### New features * Enable programmatic config of polling timeout ([28](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/28)) - + ### Bug fixes * Using the declared `ai_layout_mode` in the TranspilerService’s run method ([25](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/25)) - + ## 0.4.4 (2024-07-25) - + ### Upgrade notes * Increasing timeout to 600s instead of 120s ([21](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/21)) - + ### New features * Expose service errors to users ([8](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/8)) * Configure logging for a library ([10](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/10)) - + ### Bug fixes * Correctly parse string boolean for ai param ([7](https://github.com/Qiskit/qiskit-ibm-transpiler/pull/7)) - + ## 0.4.3 (2024-06-07) - + ### Upgrade notes * Check existence of credentials and raise related exceptions instead of breaking - + ## 0.4.2 (2024-06-07) - + ### Bug fixes * Python 3.8 support. Back to specify types with typing * Fixing some import errors for local modules + + ### Other notes * Relaxing pin of local dependencies - + ## 0.4.1 (2024-06-06) - + ### Upgrade notes * Updating logs levels - + ### Bug fixes * Rebuild layout in transpiled circuit * Avoid barrier nodes in collection - + ### Other notes * Refactoring the extension code - + ## 0.4.0 (2024-05-28) - + ### Upgrade notes * Updating Clifford service URL * Replace `use_ai` by `ai` param in requests - + ### New features * Request the synthesis of a list of circuits to the service. * Adding docstrings for public documentation - + ### Bug fixes * Adjust dependencies to be less strict and support minor version updates for qiskit & patch updates for qiskit-qasm3-import - + ### Other notes * Move type hints in documentation. * Set name to logger - + ## 0.3.0 (2024-02-29) - + ### Upgrade notes * Updating the plugin to use Qiskit 1.0 by default - + ### Bug fixes * Supporting measurements in circuits when transpiling using `ai=true` option - + ## 0.2.1 (2024-02-22) - + ### New features * Add multithreading to synth requests. The requests to the service for transpile and transpile now are done in parallel. - + ### Upgrade notes * Updated collection passes. Now the passes could work up to N of qubits or with any block size of qubits. - + ## 0.2.0 (2024-02-12) - + ### New features * Added support for synthesis and transpilation of Clifford, Permutation and Linear Function circuits. Using new URLs for the service. - + ## 0.1.3 (2023-12-11) - + ### Bug fixes @@ -269,7 +317,7 @@ in_page_toc_max_heading_level: 2 * Fixing hardcoded input to routing * Fix bug in input and refactor - + ## 0.1.2 (2023-12-04) diff --git a/docs/api/qiskit-ibm-transpiler/utils.mdx b/docs/api/qiskit-ibm-transpiler/utils.mdx index 7fc106a374..012b00f57d 100644 --- a/docs/api/qiskit-ibm-transpiler/utils.mdx +++ b/docs/api/qiskit-ibm-transpiler/utils.mdx @@ -20,7 +20,7 @@ python_api_name: qiskit_ibm_transpiler.utils ### create\_random\_linear\_function - + **Parameters** * **n\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – @@ -33,7 +33,7 @@ python_api_name: qiskit_ibm_transpiler.utils ### get\_metrics - + Returns a dict with metrics from a QuantumCircuit **Parameters** diff --git a/public/api/qiskit-ibm-runtime/dev/objects.inv b/public/api/qiskit-ibm-runtime/dev/objects.inv index be02e5dcc0..9f720dc53e 100644 Binary files a/public/api/qiskit-ibm-runtime/dev/objects.inv and b/public/api/qiskit-ibm-runtime/dev/objects.inv differ diff --git a/public/api/qiskit-ibm-transpiler/objects.inv b/public/api/qiskit-ibm-transpiler/objects.inv index a91cfee73d..3a83090f39 100644 Binary files a/public/api/qiskit-ibm-transpiler/objects.inv and b/public/api/qiskit-ibm-transpiler/objects.inv differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png index 36a5ab519a..916d02daf1 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png and b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png differ diff --git a/public/images/api/qiskit-ibm-runtime/fake_provider-1_02.png b/public/images/api/qiskit-ibm-runtime/fake_provider-1_02.png index ad98f72e43..5e23fad625 100644 Binary files a/public/images/api/qiskit-ibm-runtime/fake_provider-1_02.png and b/public/images/api/qiskit-ibm-runtime/fake_provider-1_02.png differ diff --git a/scripts/config/api-html-artifacts.json b/scripts/config/api-html-artifacts.json index b18b7348a4..954e617dc2 100644 --- a/scripts/config/api-html-artifacts.json +++ b/scripts/config/api-html-artifacts.json @@ -48,6 +48,7 @@ "0.14": "https://ibm.box.com/shared/static/t37e7jjsi0hii4j3xoorwpwso5m03jqn.zip" }, "qiskit-ibm-transpiler": { + "0.7": "https://ibm.box.com/shared/static/6gl56swiujb79zlwjsrnqozjhw8bp3un.zip", "0.6": "https://ibm.box.com/shared/static/oaon22ismcdep31qbw7zz2f04b9ej2fw.zip", "0.5": "https://ibm.box.com/shared/static/kg4rp8mkkw7ydruz8fvemvfu7aqomy83.zip", "0.4": "https://ibm.box.com/shared/static/9y66qk3nim6oejzq8phpctxkt0j6o19z.zip", diff --git a/scripts/config/historical-pages-to-latest.json b/scripts/config/historical-pages-to-latest.json index 0b54002c36..25d32b3b29 100644 --- a/scripts/config/historical-pages-to-latest.json +++ b/scripts/config/historical-pages-to-latest.json @@ -18662,6 +18662,7 @@ "qiskit_transpiler_service.ai.CollectPermutations": "/qiskit_ibm_transpiler.ai.CollectPermutations", "qiskit_transpiler_service.transpiler_service.TranspilerService": "/qiskit_ibm_transpiler.transpiler_service.TranspilerService" }, - "0.5": {} + "0.5": {}, + "0.6": {} } } diff --git a/scripts/js/lib/links/ignores.ts b/scripts/js/lib/links/ignores.ts index b4d7701f2a..9ab9b38b01 100644 --- a/scripts/js/lib/links/ignores.ts +++ b/scripts/js/lib/links/ignores.ts @@ -84,7 +84,7 @@ const _QISKIT_QPY_IGNORES = Object.fromEntries( ); function _runtimeObjectsInv(): FilesToIgnores { - const legacyVersions = Object.fromEntries( + const legacy = Object.fromEntries( ["0.16/", "0.17/", "0.18/", "0.19/", "0.20/", "0.21/", "0.22/"].map( (vers) => [ `public/api/qiskit-ibm-runtime/${vers}objects.inv`, @@ -95,29 +95,27 @@ function _runtimeObjectsInv(): FilesToIgnores { ], ), ); - const newVersions = Object.fromEntries( - [ - "", - "dev/", - "0.23/", - "0.24/", - "0.25/", - "0.26/", - "0.27/", - "0.28/", - "0.29/", - "0.29/", - "0.30/", - "0.31/", - "0.32/", - ].map((vers) => [ - `public/api/qiskit-ibm-runtime/${vers}objects.inv`, - [ - `/api/qiskit-ibm-runtime/${vers}index#qiskit-runtime-version-api-docs-preview`, + const legacy2 = Object.fromEntries( + ["", "0.23/", "0.24/", "0.25/", "0.26/", "0.27/", "0.28/", "0.29/"].map( + (vers) => [ + `public/api/qiskit-ibm-runtime/${vers}objects.inv`, + [ + `/api/qiskit-ibm-runtime/${vers}index#qiskit-runtime-version-api-docs-preview`, + ], ], - ]), + ), ); - return { ...legacyVersions, ...newVersions }; + const latest = Object.fromEntries( + ["dev/", "0.29/", "0.30/", "0.31/", "0.32/", "0.33/", "0.34/", "0.35/"].map( + (vers) => [ + `public/api/qiskit-ibm-runtime/${vers}objects.inv`, + [ + `/api/qiskit-ibm-runtime/${vers}index#qiskit-runtime-release-api-docs-preview`, + ], + ], + ), + ); + return { ...legacy, ...legacy2, ...latest }; } function _qiskitUtilsData(): FilesToIgnores {