diff --git a/docs/api/qiskit-ibm-runtime/dev/_toc.json b/docs/api/qiskit-ibm-runtime/dev/_toc.json index 8af1c7ff65f..0c64cdf2347 100644 --- a/docs/api/qiskit-ibm-runtime/dev/_toc.json +++ b/docs/api/qiskit-ibm-runtime/dev/_toc.json @@ -109,6 +109,10 @@ { "title": "SliceSpan", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.execution_span.SliceSpan" + }, + { + "title": "TwirledSliceSpan", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.execution_span.TwirledSliceSpan" } ] }, diff --git a/docs/api/qiskit-ibm-runtime/dev/execution_span.mdx b/docs/api/qiskit-ibm-runtime/dev/execution_span.mdx index 6f3ce48bde1..9d088d81996 100644 --- a/docs/api/qiskit-ibm-runtime/dev/execution_span.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/execution_span.mdx @@ -20,11 +20,12 @@ An [`ExecutionSpans`](qiskit_ibm_runtime.execution_span.ExecutionSpans "qiskit_i ## Classes -| | | -| ----------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`DoubleSliceSpan`](qiskit_ibm_runtime.execution_span.DoubleSliceSpan "qiskit_ibm_runtime.execution_span.DoubleSliceSpan")(start, stop, data\_slices) | An [`ExecutionSpan`](qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. | -| [`ExecutionSpan`](qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.ExecutionSpan")(start, stop) | Abstract parent for classes that store an execution time span for a subset of job data. | -| [`ExecutionSpans`](qiskit_ibm_runtime.execution_span.ExecutionSpans "qiskit_ibm_runtime.execution_span.ExecutionSpans")(spans) | A collection of timings for pub results. | -| [`ShapeType`](qiskit_ibm_runtime.execution_span.ShapeType "qiskit_ibm_runtime.execution_span.ShapeType") | alias of `Tuple`\[`int`, ...] | -| [`SliceSpan`](qiskit_ibm_runtime.execution_span.SliceSpan "qiskit_ibm_runtime.execution_span.SliceSpan")(start, stop, data\_slices) | An [`ExecutionSpan`](qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. | +| | | +| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`DoubleSliceSpan`](qiskit_ibm_runtime.execution_span.DoubleSliceSpan "qiskit_ibm_runtime.execution_span.DoubleSliceSpan")(start, stop, data\_slices) | An [`ExecutionSpan`](qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. | +| [`ExecutionSpan`](qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.ExecutionSpan")(start, stop) | Abstract parent for classes that store an execution time span for a subset of job data. | +| [`ExecutionSpans`](qiskit_ibm_runtime.execution_span.ExecutionSpans "qiskit_ibm_runtime.execution_span.ExecutionSpans")(spans) | A collection of timings for pub results. | +| [`ShapeType`](qiskit_ibm_runtime.execution_span.ShapeType "qiskit_ibm_runtime.execution_span.ShapeType") | alias of `Tuple`\[`int`, ...] | +| [`SliceSpan`](qiskit_ibm_runtime.execution_span.SliceSpan "qiskit_ibm_runtime.execution_span.SliceSpan")(start, stop, data\_slices) | An [`ExecutionSpan`](qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format. | +| [`TwirledSliceSpan`](qiskit_ibm_runtime.execution_span.TwirledSliceSpan "qiskit_ibm_runtime.execution_span.TwirledSliceSpan")(start, stop, data\_slices) | An [`ExecutionSpan`](qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format when twirling. | diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.IBMBackend.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.IBMBackend.mdx index 14359853c99..b85615badf5 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.IBMBackend.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.IBMBackend.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend # IBMBackend - + Backend class interfacing with an IBM Quantum backend. @@ -343,7 +343,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### \_\_call\_\_ - + Call self as a function. **Return type** @@ -353,7 +353,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### acquire\_channel - + Return the acquisition channel for the given qubit. **Returns** @@ -367,7 +367,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### cancel\_session - + Cancel session. All pending jobs will be cancelled. **Return type** @@ -377,7 +377,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### check\_faulty - + Check if the input circuit uses faulty qubits or edges. **Parameters** @@ -395,7 +395,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### close\_session - + Close the session so new jobs will no longer be accepted, but existing queued or running jobs will run to completion. The session will be terminated once there are no more pending jobs. **Return type** @@ -405,7 +405,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### configuration - + Return the backend configuration. Backend configuration contains fixed information about the backend, such as its name, number of qubits, basis gates, coupling map, quantum volume, etc. @@ -435,7 +435,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -455,7 +455,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### defaults - + Return the pulse defaults for the backend. The schema for default pulse configuration can be found in [Qiskit/ibm-quantum-schemas/default\_pulse\_configuration](https://github.com/Qiskit/ibm-quantum-schemas/blob/main/schemas/default_pulse_configuration_schema.json). @@ -475,7 +475,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### drive\_channel - + Return the drive channel for the given qubit. **Returns** @@ -489,7 +489,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### get\_translation\_stage\_plugin - + Return the default translation stage plugin name for IBM backends. **Return type** @@ -499,7 +499,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### measure\_channel - + Return the measure stimulus channel for the given qubit. **Returns** @@ -513,7 +513,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### open\_session - + Open session **Return type** @@ -523,7 +523,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### properties - + Return the backend properties, subject to optional filtering. This data describes qubits properties (such as T1 and T2), gates properties (such as gate length and error), and other general properties of the backend. @@ -575,7 +575,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### refresh - + Retrieve the newest backend configuration and refresh the current backend target. **Return type** @@ -585,7 +585,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### run - + Run on the backend. If a keyword specified here is also present in the `options` attribute/object, the value specified here will be used for this run. **Parameters** @@ -674,7 +674,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### status - + Return the backend status. @@ -696,7 +696,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend ### target\_history - + A [`qiskit.transpiler.Target`](/api/qiskit/qiskit.transpiler.Target "(in Qiskit v1.2)") object for the backend. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.mdx index 0e7e10a79fc..a956cfae8cd 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeDecoder # RuntimeDecoder - + JSON Decoder used by runtime service. `object_hook`, if specified, will be called with the result of every JSON object decoded and its return value will be used in place of the given `dict`. This can be used to provide custom deserializations (e.g. to support JSON-RPC class hinting). @@ -33,7 +33,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeDecoder ### object\_hook - + Called to decode object. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.mdx index 7f703310b5e..ccf088604fe 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeEncoder # RuntimeEncoder - + JSON Encoder used by runtime service. Constructor for JSONEncoder, with sensible defaults. @@ -43,7 +43,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeEncoder ### default - + Implement this method in a subclass such that it returns a serializable object for `o`, or calls the base implementation (to raise a `TypeError`). For example, to support arbitrary iterators, you could implement default like this: diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.execution_span.DoubleSliceSpan.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.execution_span.DoubleSliceSpan.mdx index 8bbc2273314..4c1c48b7c66 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.execution_span.DoubleSliceSpan.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.execution_span.DoubleSliceSpan.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit_ibm_runtime.execution_span.DoubleSliceSpan * **start** (`datetime`) – The start time of the span, in UTC. * **stop** (`datetime`) – The stop time of the span, in UTC. - * **data\_slices** (`dict`\[`int`, `tuple`\[`Tuple`\[`int`, `...`], `slice`, `slice`]]) – A map from pub indices to `(shape_tuple, slice, slice)`. + * **data\_slices** (`dict`\[`int`, `tuple`\[`Tuple`\[`int`, `...`], `slice`, `slice`]]) – A map from pub indices to `(shape_tuple, flat_shape_slice, shots_slice)`. ## Attributes diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.execution_span.TwirledSliceSpan.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.execution_span.TwirledSliceSpan.mdx new file mode 100644 index 00000000000..5a3c8115fca --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.execution_span.TwirledSliceSpan.mdx @@ -0,0 +1,133 @@ +--- +title: TwirledSliceSpan +description: API reference for qiskit_ibm_runtime.execution_span.TwirledSliceSpan +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.execution_span.TwirledSliceSpan +--- + +# TwirledSliceSpan + + + An [`ExecutionSpan`](qiskit_ibm_runtime.execution_span.ExecutionSpan "qiskit_ibm_runtime.execution_span.ExecutionSpan") for data stored in a sliceable format when twirling. + + This type of execution span references pub result data that came from a twirled sampler experiment which was executed by either prepending or appending an axis to paramater values to account for twirling. Concretely, `data_slices` is a map from pub slices to tuples `(twirled_shape, at_front, shape_slice, shots_slice)` where + + * `twirled_shape` is the shape tuple including a twirling axis, and where the last axis is shots per randomization, + * `at_front` is whether `num_randomizations` is at the front of the tuple, as opposed to right before the `shots` axis at the end, + * `shape_slice` is a slice of an array of shape `twirled_shape[:-1]`, flattened, + * and `shots_slice` is a slice of `twirled_shape[-1]`. + + **Parameters** + + * **start** (`datetime`) – The start time of the span, in UTC. + * **stop** (`datetime`) – The stop time of the span, in UTC. + * **data\_slices** (`dict`\[`int`, `tuple`\[`Tuple`\[`int`, `...`], `bool`, `slice`, `slice`]]) – A map from pub indices to length-4 tuples described above. + + ## Attributes + + ### duration + + + The duration of this span, in seconds. + + **Return type** + + `float` + + + ### pub\_idxs + + + **Return type** + + `list`\[`int`] + + + ### size + + + **Return type** + + `int` + + + ### start + + + The start time of the span, in UTC. + + **Return type** + + `datetime` + + + ### stop + + + The stop time of the span, in UTC. + + **Return type** + + `datetime` + + + ## Methods + + ### contains\_pub + + + Return whether the pub with the given index has data with dependence on this span. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Return type** + + bool + + **Returns** + + Whether there is dependence on this span. + + + ### filter\_by\_pub + + + Return a new span whose slices are filtered to the provided pub indices. + + For example, if this span contains slice information for pubs with indices 1, 3, 4 and `[1, 4]` is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise. + + **Parameters** + + **pub\_idx** (*int | Iterable\[int]*) – One or more pub indices from the original primitive call. + + **Return type** + + [TwirledSliceSpan](#qiskit_ibm_runtime.execution_span.TwirledSliceSpan "qiskit_ibm_runtime.execution_span.TwirledSliceSpan") + + **Returns** + + A new filtered span. + + + ### mask + + + Return an array-valued mask specifying which parts of a pub result depend on this span. + + **Parameters** + + **pub\_idx** (`int`) – The index of the pub to return a mask for. + + **Return type** + + [`ndarray`](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v2.1)")\[`Any`, [`dtype`](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype "(in NumPy v2.1)")\[[`bool`](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.bool "(in NumPy v2.1)")]] + + **Returns** + + An array with the same shape as the pub data. + + + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.mdx index 9b17e54e73d..9f88e1144c7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 A fake Almaden V2 backend. - ```python + ```text 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 ↕ ↕ 05 ↔ 06 ↔ 07 ↔ 08 ↔ 09 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.mdx index 4d10c1177d3..a583ecedd0b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 A fake 1 qubit backend. - ```python + ```text 0 ``` diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.mdx index 525be9a90c5..54a3489ca16 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 A fake Boeblingen V2 backend. - ```python + ```text 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 ↕ ↕ 05 ↔ 06 ↔ 07 ↔ 08 ↔ 09 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.mdx index bfd3a73c981..18fa894d216 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 A fake 5 qubit backend. - ```python + ```text 0 ↔ 1 ↔ 3 ↔ 4 ↕ 2 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.mdx index 762b17491f4..4097070f5a5 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 A fake Cambridge backend. - ```python + ```text 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 ↕ ↕ 05 06 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.mdx index e89ef820f1b..9091b8e3153 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 A fake 5 qubit backend. - ```python + ```text 0 ↔ 1 ↔ 2 ↕ 3 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.mdx index e1369c4713a..755e6b23670 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 A fake Johannesburg V2 backend. - ```python + ```text 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 ↕ ↕ 05 ↔ 06 ↔ 07 ↔ 08 ↔ 09 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.mdx index 5728b2604e8..502570cb0a7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 A fake 5 qubit backend. - ```python + ```text 0 ↔ 1 ↔ 2 ↕ 3 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.mdx index 6dda2655d39..b894ca9e4fa 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 A fake 5 qubit backend. - ```python + ```text 0 ↔ 1 ↔ 3 ↔ 4 ↕ 2 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.mdx index 3e50ce59fd3..21f38631bcf 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 A fake Paris backend. - ```python + ```text 06 17 ↕ ↕ 00 ↔ 01 ↔ 04 ↔ 07 ↔ 10 ↔ 12 ↔ 15 ↔ 18 ↔ 20 ↔ 23 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.mdx index 6bfce6bca73..88dcaa8ef00 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 A fake Singapore backend. - ```python + ```text 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 ↕ ↕ 05 ↔ 06 ↔ 07 ↔ 08 ↔ 09 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.mdx index f5189b3f2ea..2c60beee49d 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 A fake 5 qubit backend. - ```python + ```text 0 ↔ 1 ↔ 3 ↔ 4 ↕ 2 diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.mdx index 5a7931098dd..1522cd6f879 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 A fake 5 qubit backend. - ```python + ```text 1 / | 0 - 2 - 3 diff --git a/docs/api/qiskit/dev/_toc.json b/docs/api/qiskit/dev/_toc.json index c36b11a4dd6..3c7b8a968b4 100644 --- a/docs/api/qiskit/dev/_toc.json +++ b/docs/api/qiskit/dev/_toc.json @@ -137,6 +137,14 @@ "title": "AND", "url": "/api/qiskit/dev/qiskit.circuit.library.AND" }, + { + "title": "AndGate", + "url": "/api/qiskit/dev/qiskit.circuit.library.AndGate" + }, + { + "title": "BitwiseXorGate", + "url": "/api/qiskit/dev/qiskit.circuit.library.BitwiseXorGate" + }, { "title": "C3SXGate", "url": "/api/qiskit/dev/qiskit.circuit.library.C3SXGate" @@ -325,6 +333,10 @@ "title": "InnerProduct", "url": "/api/qiskit/dev/qiskit.circuit.library.InnerProduct" }, + { + "title": "InnerProductGate", + "url": "/api/qiskit/dev/qiskit.circuit.library.InnerProductGate" + }, { "title": "IntegerComparator", "url": "/api/qiskit/dev/qiskit.circuit.library.IntegerComparator" @@ -397,6 +409,10 @@ "title": "OR", "url": "/api/qiskit/dev/qiskit.circuit.library.OR" }, + { + "title": "OrGate", + "url": "/api/qiskit/dev/qiskit.circuit.library.OrGate" + }, { "title": "PauliEvolutionGate", "url": "/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate" @@ -712,6 +728,10 @@ "title": "ScalarOp", "url": "/api/qiskit/dev/qiskit.quantum_info.ScalarOp" }, + { + "title": "SparseObservable", + "url": "/api/qiskit/dev/qiskit.quantum_info.SparseObservable" + }, { "title": "SparsePauliOp", "url": "/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp" @@ -1345,6 +1365,10 @@ "title": "RemoveFinalReset", "url": "/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalReset" }, + { + "title": "RemoveIdentityEquivalent", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.RemoveIdentityEquivalent" + }, { "title": "RemoveResetInZeroState", "url": "/api/qiskit/dev/qiskit.transpiler.passes.RemoveResetInZeroState" diff --git a/docs/api/qiskit/dev/assembler.mdx b/docs/api/qiskit/dev/assembler.mdx index b0497f22cb3..71196f719ef 100644 --- a/docs/api/qiskit/dev/assembler.mdx +++ b/docs/api/qiskit/dev/assembler.mdx @@ -65,9 +65,13 @@ python_api_name: qiskit.assembler ### assemble\_schedules - + Assembles a list of schedules into a qobj that can be run on the backend. + + The function `qiskit.assembler.assemble_schedules.assemble_schedules()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.assembler.assemble_schedules.assemble_schedules()` will have no alternative in Qiskit. + + **Parameters** * **schedules** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*ScheduleBlock*](qiskit.pulse.ScheduleBlock "qiskit.pulse.schedule.ScheduleBlock") *|*[*Schedule*](qiskit.pulse.Schedule "qiskit.pulse.schedule.Schedule") *|*[*Instruction*](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") *|*[*Tuple*](https://docs.python.org/3/library/typing.html#typing.Tuple "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*,* [*Schedule*](qiskit.pulse.Schedule "qiskit.pulse.schedule.Schedule") *|*[*Instruction*](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction")*]]*) – Schedules to assemble. diff --git a/docs/api/qiskit/dev/circuit.mdx b/docs/api/qiskit/dev/circuit.mdx index f699b2afb59..c6861d117a1 100644 --- a/docs/api/qiskit/dev/circuit.mdx +++ b/docs/api/qiskit/dev/circuit.mdx @@ -485,7 +485,7 @@ Hardware can be instructed to apply a real-time idle period on a given qubit. A #### Delay - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") Do nothing and just delay/wait/idle for a specified duration. @@ -511,7 +511,7 @@ it is forbidden for the optimizer to cancel out the two $X$ instructions. #### Barrier - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") A directive for circuit compilation to separate pieces of a circuit so that any optimizations or re-writes are constrained to only act between barriers. @@ -537,7 +537,7 @@ qc.store(creg[0], parity) #### Store - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") A manual storage of some classical value to a classical memory location. @@ -549,6 +549,14 @@ qc.store(creg[0], parity) * **lvalue** ([*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – the memory location being stored into. * **rvalue** ([*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – the expression result being stored. + ##### c\_if + + + + The method `qiskit.circuit.store.Store.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + + ##### lvalue @@ -682,7 +690,7 @@ Consult [the control-flow construction documentation](qiskit.circuit.QuantumCirc If two operations in a circuit commute, we can swap the order in which they are applied. This can allow for optimizations and simplifications, for example, if it allows to merge or cancel gates: -```python +```text ┌─────────┐ ┌─────────┐ ┌─────────┐ q_0: ┤ Rz(0.5) ├──■──┤ Rz(1.2) ├──■── q_0: ┤ Rz(1.7) ├ └─────────┘┌─┴─┐└──┬───┬──┘┌─┴─┐ = └──┬───┬──┘ @@ -714,7 +722,7 @@ Subclasses of [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruc #### \_define - + Populate the cached `_definition` field of this [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). Subclasses should implement this method to provide lazy construction of their public [`definition`](qiskit.circuit.Instruction#definition "qiskit.circuit.Instruction.definition") attribute. A subclass can use its [`params`](qiskit.circuit.Instruction#params "qiskit.circuit.Instruction.params") at the time of the call. The method should populate `_definition` with a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") and not return a value. diff --git a/docs/api/qiskit/dev/circuit_library.mdx b/docs/api/qiskit/dev/circuit_library.mdx index 9525b9f9554..a7c810484fb 100644 --- a/docs/api/qiskit/dev/circuit_library.mdx +++ b/docs/api/qiskit/dev/circuit_library.mdx @@ -48,7 +48,7 @@ print(gate.power(1/2).to_matrix()) # √X gate print(gate.control(1).to_matrix()) # CX (controlled X) gate ``` -```python +```text [[0.+0.j 1.+0.j] [1.+0.j 0.+0.j]] [[0.5+0.5j 0.5-0.5j] @@ -143,7 +143,7 @@ diagonal = Diagonal([1, 1, 1, 1]) print(diagonal.num_qubits) ``` -```python +```text 1 2 ``` @@ -182,12 +182,31 @@ print(diagonal.num_qubits) These are [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") subclasses that implement boolean logic operations, such as the logical or of a set of qubit states. -| | | -| ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------- | -| [`AND`](qiskit.circuit.library.AND "qiskit.circuit.library.AND")(num\_variable\_qubits\[, flags, mcx\_mode]) | A circuit implementing the logical AND operation on a number of qubits. | -| [`OR`](qiskit.circuit.library.OR "qiskit.circuit.library.OR")(num\_variable\_qubits\[, flags, mcx\_mode]) | A circuit implementing the logical OR operation on a number of qubits. | -| [`XOR`](qiskit.circuit.library.XOR "qiskit.circuit.library.XOR")(num\_qubits\[, amount, seed]) | An n\_qubit circuit for bitwise xor-ing the input with some integer `amount`. | -| [`InnerProduct`](qiskit.circuit.library.InnerProduct "qiskit.circuit.library.InnerProduct")(num\_qubits) | A 2n-qubit Boolean function that computes the inner product of two n-qubit vectors over $F_2$. | +| | | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| [`AND`](qiskit.circuit.library.AND "qiskit.circuit.library.AND")(num\_variable\_qubits\[, flags, mcx\_mode]) | A circuit implementing the logical AND operation on a number of qubits. | +| [`AndGate`](qiskit.circuit.library.AndGate "qiskit.circuit.library.AndGate")(num\_variable\_qubits\[, flags]) | A gate representing the logical AND operation on a number of qubits. | +| [`OR`](qiskit.circuit.library.OR "qiskit.circuit.library.OR")(num\_variable\_qubits\[, flags, mcx\_mode]) | A circuit implementing the logical OR operation on a number of qubits. | +| [`OrGate`](qiskit.circuit.library.OrGate "qiskit.circuit.library.OrGate")(num\_variable\_qubits\[, flags]) | A gate representing the logical OR operation on a number of qubits. | +| [`XOR`](qiskit.circuit.library.XOR "qiskit.circuit.library.XOR")(num\_qubits\[, amount, seed]) | An n\_qubit circuit for bitwise xor-ing the input with some integer `amount`. | +| [`BitwiseXorGate`](qiskit.circuit.library.BitwiseXorGate "qiskit.circuit.library.BitwiseXorGate")(num\_qubits, amount) | An n-qubit gate for bitwise xor-ing the input with some integer `amount`. | +| [`InnerProduct`](qiskit.circuit.library.InnerProduct "qiskit.circuit.library.InnerProduct")(num\_qubits) | A 2n-qubit Boolean function that computes the inner product of two n-qubit vectors over $F_2$. | +| [`InnerProductGate`](qiskit.circuit.library.InnerProductGate "qiskit.circuit.library.InnerProductGate")(num\_qubits) | A 2n-qubit Boolean function that computes the inner product of two n-qubit vectors over $F_2$. | + +### random\_bitwise\_xor + + + Create a random BitwiseXorGate. + + **Parameters** + + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – the width of circuit. + * **seed** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – random seed in case a random xor is requested. + + **Return type** + + [*BitwiseXorGate*](qiskit.circuit.library.BitwiseXorGate "qiskit.circuit.library.boolean_logic.quantum_xor.BitwiseXorGate") + ## Basis Change Circuits @@ -270,6 +289,72 @@ These [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCi | [`HamiltonianGate`](qiskit.circuit.library.HamiltonianGate "qiskit.circuit.library.HamiltonianGate")(data, time\[, label]) | Class for representing evolution by a Hamiltonian operator as a gate. | | [`UnitaryOverlap`](qiskit.circuit.library.UnitaryOverlap "qiskit.circuit.library.UnitaryOverlap")(unitary1, unitary2\[, ...]) | Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$. | +### iqp + + + Instantaneous quantum polynomial time (IQP) circuit. + + The circuit consists of a column of Hadamard gates, a column of powers of T gates, a sequence of powers of CS gates (up to $\frac{n^2-n}{2}$ of them), and a final column of Hadamard gates, as introduced in \[1]. + + The circuit is parameterized by an $n \times n$ interactions matrix. The powers of each T gate are given by the diagonal elements of the interactions matrix. The powers of the CS gates are given by the upper triangle of the interactions matrix. + + **Reference Circuit:** + + ![../\_images/circuit\_library-2.png](/images/api/qiskit/dev/circuit_library-2.png) + + **Expanded Circuit:** + + > ![../\_images/circuit\_library-3.png](/images/api/qiskit/dev/circuit_library-3.png) + + **References:** + + \[1] M. J. Bremner et al. Average-case complexity versus approximate simulation of commuting quantum computations, Phys. Rev. Lett. 117, 080501 (2016). [arXiv:1504.07999](https://arxiv.org/abs/1504.07999) + + **Parameters** + + **interactions** ([*Sequence*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence "(in Python v3.13)")*\[*[*Sequence*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]]*) – The interactions as symmetric square matrix. If `None`, then the `num_qubits` argument must be set and a random IQP circuit will be generated. + + **Returns** + + An IQP circuit. + + **Return type** + + [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") + + +### random\_iqp + + + A random instantaneous quantum polynomial time (IQP) circuit. + + See [`iqp()`](#qiskit.circuit.library.iqp "qiskit.circuit.library.iqp") for more details on the IQP circuit. + + Example: + + ```python + from qiskit.circuit.library import random_iqp + + circuit = random_iqp(3) + circuit.draw("mpl") + ``` + + ![../\_images/circuit\_library-4.png](/images/api/qiskit/dev/circuit_library-4.png) + + **Parameters** + + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The number of qubits in the circuit. + * **seed** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| None*) – A seed for the random number generator, in case the interactions matrix is randomly generated. + + **Returns** + + An IQP circuit. + + **Return type** + + [QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") + + ## N-local circuits These `BlueprintCircuit` subclasses are used as parameterized models (a.k.a. ansatzes or variational forms) in variational algorithms. They are heavily used in near-term algorithms in e.g. Chemistry, Physics or Optimization. @@ -326,7 +411,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 2a\_1: - ```python + ```text ┌───┐┌───┐ q_0: ┤ X ├┤ X ├ └───┘└───┘ @@ -346,7 +431,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 2a\_2: - ```python + ```text q_0: ──■────■── ┌─┴─┐┌─┴─┐ q_1: ┤ X ├┤ X ├ @@ -367,7 +452,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 2a\_3: - ```python + ```text q_0: ──■────■── │ │ q_1: ──■────■── @@ -390,7 +475,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 4a\_1: - ```python + ```text q_0: ───────■─────────■── │ │ q_1: ──■────┼────■────┼── @@ -417,7 +502,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 4a\_2: - ```python + ```text q_0: ──■─────────■─────── │ │ q_1: ──■────■────■────■── @@ -442,7 +527,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 4a\_3: - ```python + ```text q_0: ──■────■────■────■── │ ┌─┴─┐ │ ┌─┴─┐ q_1: ──┼──┤ X ├──┼──┤ X ├ @@ -465,7 +550,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 4b\_1: - ```python + ```text q_0: ───────■─────────■── │ │ q_1: ──■────┼────■────┼── @@ -490,7 +575,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 4b\_2: - ```python + ```text q_0: ──■─────────■─────── │ │ q_1: ──■────■────■────■── @@ -513,7 +598,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 5a\_1: - ```python + ```text q_0: ──■────■────■────■────■── │ ┌─┴─┐ │ ┌─┴─┐ │ q_1: ──■──┤ X ├──■──┤ X ├──┼── @@ -536,7 +621,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 5a\_2: - ```python + ```text q_0: ──■─────────■─────────■── │ ┌───┐ │ ┌───┐ │ q_1: ──■──┤ X ├──■──┤ X ├──┼── @@ -559,7 +644,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 5a\_3: - ```python + ```text q_0: ───────■─────────■────■── ┌─┴─┐ ┌─┴─┐ │ q_1: ──■──┤ X ├──■──┤ X ├──┼── @@ -582,7 +667,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 5a\_4: - ```python + ```text ┌───┐ ┌───┐ q_0: ──■──┤ X ├──■──┤ X ├ ┌─┴─┐└───┘┌─┴─┐├───┤ @@ -604,7 +689,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 6a\_1: - ```python + ```text ┌───┐ ┌───┐ ┌───┐ q_0: ──■──┤ X ├──■──┤ X ├──■──┤ X ├ ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘ @@ -626,7 +711,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 6a\_2: - ```python + ```text q_0: ──■────■────■────■────■────■── │ ┌─┴─┐ │ ┌─┴─┐ │ ┌─┴─┐ q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├ @@ -649,7 +734,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 6a\_3: - ```python + ```text q_0: ───────■─────────■────■────■── ┌─┴─┐ ┌─┴─┐ │ ┌─┴─┐ q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├ @@ -672,7 +757,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 6a\_4: - ```python + ```text q_0: ───────■──────────────■─────── ┌─┴─┐ ┌───┐ │ ┌───┐ q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├ @@ -695,7 +780,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 6b\_1: - ```python + ```text q_0: ──■─────────■────■─────────■── │ ┌─┴─┐ │ ┌─┴─┐ q_1: ──■────■──┤ X ├──■────■──┤ X ├ @@ -718,7 +803,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 6b\_2: - ```python + ```text q_0: ───────■────■─────────■────■── │ ┌─┴─┐ │ ┌─┴─┐ q_1: ──■────■──┤ X ├──■────■──┤ X ├ @@ -741,7 +826,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 6c\_1: - ```python + ```text q_0: ──■─────────■─────────■────■── │ ┌───┐ │ ┌───┐ │ ┌─┴─┐ q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├ @@ -764,7 +849,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 7a\_1: - ```python + ```text ┌───┐ ┌───┐ q_0: ┤ X ├──■─────────■────■──┤ X ├──■── └─┬─┘┌─┴─┐ │ ┌─┴─┐└─┬─┘ │ @@ -788,7 +873,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 7b\_1: - ```python + ```text ┌───┐ ┌───┐ q_0: ┤ X ├──■─────────■────■──┤ X ├──■── └───┘┌─┴─┐ │ ┌─┴─┐└───┘ │ @@ -812,7 +897,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 7c\_1: - ```python + ```text ┌───┐ ┌───┐ q_0: ┤ X ├──■─────────■────■──┤ X ├──■── └───┘┌─┴─┐ │ ┌─┴─┐└───┘ │ @@ -836,7 +921,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 7d\_1: - ```python + ```text ┌───┐ ┌───┐ q_0: ┤ X ├──■─────────■────■──┤ X ├──■── └─┬─┘┌─┴─┐ │ ┌─┴─┐└─┬─┘ │ @@ -860,7 +945,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 7e\_1: - ```python + ```text ┌───┐ ┌───┐ q_0: ┤ X ├──■─────────■────■──┤ X ├──■── └───┘┌─┴─┐ │ ┌─┴─┐└───┘ │ @@ -884,7 +969,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9a\_1: - ```python + ```text ┌───┐ ┌───┐ ┌───┐ q_0: ┤ X ├──■──┤ X ├──■────■──┤ X ├──■── └─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐ @@ -908,7 +993,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_1: - ```python + ```text ┌───┐ ┌───┐┌───┐ ┌───┐ ┌───┐ q_0: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├ └─┬─┘┌─┴─┐└───┘└─┬─┘┌───┐└─┬─┘┌─┴─┐┌───┐└─┬─┘ @@ -930,7 +1015,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_2: - ```python + ```text q_0: ───────■────■──────────────■────■─────────■── ┌───┐ │ ┌─┴─┐┌───┐ ┌─┴─┐ │ ┌─┴─┐ q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├ @@ -953,7 +1038,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_3: - ```python + ```text q_0: ───────■────────────────────────■──────────── ┌───┐ │ ┌───┐┌───┐ ┌───┐ │ ┌───┐ q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├ @@ -976,7 +1061,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_4: - ```python + ```text q_0: ──■────■─────────■──────────────■──────────── ┌─┴─┐ │ ┌───┐┌─┴─┐ ┌───┐ │ ┌───┐ q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├ @@ -999,7 +1084,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_5: - ```python + ```text q_0: ────────────■─────────■──────────────■─────── ┌───┐ ┌─┴─┐┌───┐ │ ┌───┐ │ ┌───┐ q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├ @@ -1022,7 +1107,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_6: - ```python + ```text q_0: ───────■────■─────────■─────────■────■─────── ┌───┐ │ ┌─┴─┐┌───┐ │ ┌───┐ │ │ ┌───┐ q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├ @@ -1045,7 +1130,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_7: - ```python + ```text q_0: ──■────■────■────■────■─────────■────■─────── ┌─┴─┐ │ ┌─┴─┐┌─┴─┐ │ ┌───┐ │ │ ┌───┐ q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├ @@ -1068,7 +1153,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_8: - ```python + ```text q_0: ──■─────────■────■─────────■──────────────■── ┌─┴─┐ ┌─┴─┐┌─┴─┐ ┌─┴─┐ ┌─┴─┐ q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├ @@ -1091,7 +1176,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_9: - ```python + ```text q_0: ──■────■────■────■─────────■────■─────────■── ┌─┴─┐ │ ┌─┴─┐┌─┴─┐ ┌─┴─┐ │ ┌─┴─┐ q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├ @@ -1114,7 +1199,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_10: - ```python + ```text q_0: ──■─────────■────■────■────■─────────■────■── ┌─┴─┐ ┌─┴─┐┌─┴─┐ │ ┌─┴─┐ │ ┌─┴─┐ q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├ @@ -1137,7 +1222,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_11: - ```python + ```text q_0: ───────■────■─────────■────■────■────■────■── ┌───┐ │ ┌─┴─┐┌───┐ │ ┌─┴─┐ │ │ ┌─┴─┐ q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├ @@ -1160,7 +1245,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9c\_12: - ```python + ```text q_0: ──■────■────■────■────■────■────■────■────■── ┌─┴─┐ │ ┌─┴─┐┌─┴─┐ │ ┌─┴─┐ │ │ ┌─┴─┐ q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├ @@ -1183,7 +1268,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_1: - ```python + ```text ┌───┐ ┌───┐ ┌───┐ q_0: ──■───────┤ X ├───────■──┤ X ├───────■──┤ X ├ ┌─┴─┐┌───┐└─┬─┘┌───┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘ @@ -1205,7 +1290,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_2: - ```python + ```text q_0: ──■────■────■──────────────■──────────────■── │ │ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ q_1: ──■────┼──┤ X ├───────■──┤ X ├───────■──┤ X ├ @@ -1228,7 +1313,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_3: - ```python + ```text q_0: ──■────■───────────────────■───────────────── │ │ ┌───┐ ┌─┴─┐ ┌───┐ q_1: ──■────┼──┤ X ├───────■──┤ X ├───────■──┤ X ├ @@ -1251,7 +1336,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_4: - ```python + ```text q_0: ───────■─────────■──────────────■──────────── │ ┌───┐ │ ┌───┐ │ ┌───┐ q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├ @@ -1274,7 +1359,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_5: - ```python + ```text q_0: ──■────■─────────■─────────■────■──────────── │ │ ┌───┐ │ ┌─┴─┐ │ ┌───┐ q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├ @@ -1297,7 +1382,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_6: - ```python + ```text q_0: ──■────■──────────────■────■─────────■─────── │ │ ┌───┐ │ ┌─┴─┐ │ ┌───┐ q_1: ──■────┼──┤ X ├───────■──┤ X ├───────■──┤ X ├ @@ -1320,7 +1405,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_7: - ```python + ```text q_0: ──■────■─────────■────■────■────■────■─────── │ │ ┌───┐ │ │ ┌─┴─┐ │ │ ┌───┐ q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├ @@ -1343,7 +1428,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_8: - ```python + ```text q_0: ──■────■────■────■─────────■────■─────────■── │ │ ┌─┴─┐ │ ┌─┴─┐ │ ┌─┴─┐ q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├ @@ -1366,7 +1451,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_9: - ```python + ```text q_0: ──■────■────■─────────■────■─────────■────■── │ │ ┌─┴─┐ │ ┌─┴─┐ │ ┌─┴─┐ q_1: ──■────┼──┤ X ├───────■──┤ X ├───────■──┤ X ├ @@ -1389,7 +1474,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib Template 9d\_10: - ```python + ```text q_0: ──■────■────■────■────■────■────■────■────■── │ │ ┌─┴─┐ │ │ ┌─┴─┐ │ │ ┌─┴─┐ q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├ @@ -1416,7 +1501,7 @@ Template circuits over Clifford gates. Clifford template 2\_1: - ```python + ```text q_0: ─■──■─ │ │ q_1: ─■──■─ @@ -1436,7 +1521,7 @@ Template circuits over Clifford gates. Clifford template 2\_2: - ```python + ```text q_0: ──■────■── ┌─┴─┐┌─┴─┐ q_1: ┤ X ├┤ X ├ @@ -1457,7 +1542,7 @@ Template circuits over Clifford gates. Clifford template 2\_3: - ```python + ```text ┌───┐┌───┐ q_0: ┤ H ├┤ H ├ └───┘└───┘ @@ -1477,7 +1562,7 @@ Template circuits over Clifford gates. Clifford template 2\_4: - ```python + ```text q_0: ─X──X─ │ │ q_1: ─X──X─ @@ -1497,7 +1582,7 @@ Template circuits over Clifford gates. Clifford template 3\_1: - ```python + ```text ┌───┐┌───┐┌───┐ q_0: ┤ S ├┤ S ├┤ Z ├ └───┘└───┘└───┘ @@ -1517,7 +1602,7 @@ Template circuits over Clifford gates. Clifford template 4\_1: - ```python + ```text ┌───┐ q_0: ──■──┤ X ├──■───X─ ┌─┴─┐└─┬─┘┌─┴─┐ │ @@ -1539,7 +1624,7 @@ Template circuits over Clifford gates. Clifford template 4\_2: - ```python + ```text q_0: ───────■────────■─ ┌───┐┌─┴─┐┌───┐ │ q_1: ┤ H ├┤ X ├┤ H ├─■─ @@ -1560,7 +1645,7 @@ Template circuits over Clifford gates. Clifford template 4\_3: - ```python + ```text ┌───┐ ┌─────┐ q_0: ┤ S ├──■──┤ SDG ├──■── └───┘┌─┴─┐└─────┘┌─┴─┐ @@ -1582,7 +1667,7 @@ Template circuits over Clifford gates. Clifford template 4\_4: - ```python + ```text ┌───┐ ┌─────┐ q_0: ┤ S ├─■─┤ SDG ├─■─ └───┘ │ └─────┘ │ @@ -1603,7 +1688,7 @@ Template circuits over Clifford gates. Clifford template 5\_1: - > ```python + > ```text > q_0: ──■─────────■─────────■── > ┌─┴─┐ ┌─┴─┐ │ > q_1: ┤ X ├──■──┤ X ├──■────┼── @@ -1626,7 +1711,7 @@ Template circuits over Clifford gates. Clifford template 6\_1: - > ```python + > ```text > ┌───┐ ┌───┐┌───┐ > q_0: ┤ H ├──■──┤ H ├┤ X ├ > ├───┤┌─┴─┐├───┤└─┬─┘ @@ -1648,7 +1733,7 @@ Template circuits over Clifford gates. Clifford template 6\_2: - > ```python + > ```text > ┌───┐ > q_0: ┤ S ├──■───────────■───■─ > ├───┤┌─┴─┐┌─────┐┌─┴─┐ │ @@ -1670,7 +1755,7 @@ Template circuits over Clifford gates. Clifford template 6\_3: - ```python + ```text ┌───┐ ┌───┐ q_0: ─X──■─┤ H ├──■──┤ X ├───── │ │ └───┘┌─┴─┐└─┬─┘┌───┐ @@ -1692,7 +1777,7 @@ Template circuits over Clifford gates. Clifford template 6\_4: - ```python + ```text ┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐ q_0: ┤ S ├┤ H ├┤ S ├┤ H ├┤ S ├┤ H ├ └───┘└───┘└───┘└───┘└───┘└───┘ @@ -1712,7 +1797,7 @@ Template circuits over Clifford gates. Clifford template 6\_5: - ```python + ```text ┌───┐ q_0: ─■───■───┤ S ├───■─────── │ ┌─┴─┐┌┴───┴┐┌─┴─┐┌───┐ @@ -1734,7 +1819,7 @@ Template circuits over Clifford gates. Clifford template 8\_1: - ```python + ```text ┌───┐ ┌───┐ ┌───┐┌─────┐ q_0: ──■───────┤ X ├─┤ S ├─┤ X ├┤ SDG ├ ┌─┴─┐┌───┐└─┬─┘┌┴───┴┐└─┬─┘└┬───┬┘ @@ -1756,7 +1841,7 @@ Template circuits over Clifford gates. Clifford template 8\_2: - ```python + ```text ┌───┐ q_0: ──■─────────■───┤ S ├───■──────────── ┌─┴─┐┌───┐┌─┴─┐┌┴───┴┐┌─┴─┐┌───┐┌───┐ @@ -1778,7 +1863,7 @@ Template circuits over Clifford gates. Clifford template 8\_3: - ```python + ```text q_0: ─────────────────■───────────────────────■── ┌───┐┌───┐┌───┐┌─┴─┐┌─────┐┌───┐┌─────┐┌─┴─┐ q_1: ┤ S ├┤ H ├┤ S ├┤ X ├┤ SDG ├┤ H ├┤ SDG ├┤ X ├ @@ -1803,7 +1888,7 @@ Template circuits with [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circui RZX-based template for CX - RYGate - CX. - ```python + ```text ┌────────┐ ┌─────────┐┌─────────┐┌──────────┐ q_0: ──■──┤ RY(-ϴ) ├──■──┤ RX(π/2) ├┤0 ├┤ RX(-π/2) ├ ┌─┴─┐└────────┘┌─┴─┐└─────────┘│ RZX(ϴ) │└──────────┘ @@ -1817,7 +1902,7 @@ Template circuits with [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circui RZX-based template for CX - RXGate - CX. - ```python + ```text ┌───┐ ┌───┐┌─────────┐┌─────────┐┌─────────┐┌──────────┐» q_0: ┤ X ├─────────┤ X ├┤ RZ(π/2) ├┤ RX(π/2) ├┤ RZ(π/2) ├┤0 ├» └─┬─┘┌───────┐└─┬─┘└─────────┘└─────────┘└─────────┘│ RZX(-ϴ) │» @@ -1836,7 +1921,7 @@ Template circuits with [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circui RZX-based template for CX - RYGate - CX. - ```python + ```text ┌──────────┐ q_0: ──■─────────────■─────────────────────────────────┤0 ├─────────── ┌─┴─┐┌───────┐┌─┴─┐┌────────┐┌──────────┐┌───────┐│ RZX(-ϴ) │┌─────────┐ @@ -1850,7 +1935,7 @@ Template circuits with [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circui RZX-based template for CX - RZGate - CX. - ```python + ```text » q_0: ──■────────────────────────────────────────────■───────────────────────» ┌─┴─┐┌───────┐┌────┐┌───────┐┌────┐┌────────┐┌─┴─┐┌────────┐┌─────────┐» @@ -1874,7 +1959,7 @@ Template circuits with [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circui RZX-based template for CX - PhaseGate - CX. - ```python + ```text » q_0: ──■────────────■─────────────────────────────────────────────────────» ┌─┴─┐┌──────┐┌─┴─┐┌───────┐┌─────────┐┌─────────┐┌─────────┐┌───────┐» @@ -1893,7 +1978,7 @@ Template circuits with [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circui RZX-based template for CX - RZGate - CX. - ```python + ```text » q_0: ──■─────────────■──────────────────────────────────────────────────────» ┌─┴─┐┌───────┐┌─┴─┐┌────────┐┌─────────┐┌─────────┐┌─────────┐┌───────┐» diff --git a/docs/api/qiskit/dev/circuit_singleton.mdx b/docs/api/qiskit/dev/circuit_singleton.mdx index 5cfe5062dce..0bcebeff629 100644 --- a/docs/api/qiskit/dev/circuit_singleton.mdx +++ b/docs/api/qiskit/dev/circuit_singleton.mdx @@ -44,7 +44,7 @@ The public classes correspond to the standard classes [`Instruction`](qiskit.cir ### SingletonInstruction - + A base class to use for [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") objects that by default are singleton instances. This class should be used for instruction classes that have fixed definitions and do not contain any unique state. The canonical example of something like this is [`Measure`](circuit#qiskit.circuit.Measure "qiskit.circuit.Measure") which has an immutable definition and any instance of [`Measure`](circuit#qiskit.circuit.Measure "qiskit.circuit.Measure") is the same. Using singleton instructions as a base class for these types of gate classes provides a large advantage in the memory footprint of multiple instructions. @@ -54,7 +54,7 @@ The public classes correspond to the standard classes [`Instruction`](qiskit.cir ### SingletonGate - + A base class to use for [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") objects that by default are singleton instances. This class is very similar to [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction"), except implies unitary [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") semantics as well. The same caveats around setting attributes in that class apply here as well. @@ -62,7 +62,7 @@ The public classes correspond to the standard classes [`Instruction`](qiskit.cir ### SingletonControlledGate - + A base class to use for [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") objects that by default are singleton instances This class is very similar to [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction"), except implies unitary [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") semantics as well. The same caveats around setting attributes in that class apply here as well. @@ -124,7 +124,7 @@ Subclasses of [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstru #### \_singleton\_lookup\_key - + Given the arguments to the constructor, return a key tuple that identifies the singleton instance to retrieve, or `None` if the arguments imply that a mutable object must be created. For performance, as a special case, this method will not be called if the class constructor was given zero arguments (e.g. the construction `XGate()` will not call this method, but `XGate(label=None)` will), and the default singleton will immediately be returned. diff --git a/docs/api/qiskit/dev/compiler.mdx b/docs/api/qiskit/dev/compiler.mdx index d1def25cbd3..e7c506305d2 100644 --- a/docs/api/qiskit/dev/compiler.mdx +++ b/docs/api/qiskit/dev/compiler.mdx @@ -105,9 +105,13 @@ python_api_name: qiskit.compiler ### schedule - + Schedule a circuit to a pulse `Schedule`, using the backend, according to any specified methods. Supported methods are documented in `qiskit.scheduler.schedule_circuit`. + + The function `qiskit.compiler.scheduler.schedule()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that `qiskit.compiler.scheduler.schedule()` will be moved as well. + + **Parameters** * **circuits** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") *|*[*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")*]*) – The quantum circuit or circuits to translate @@ -132,7 +136,7 @@ python_api_name: qiskit.compiler ### transpile - + Transpile one or more circuits, according to some desired transpilation targets. Transpilation is potentially done in parallel using multiprocessing when `circuits` is a list with > 1 [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object, depending on the local environment and configuration. @@ -149,6 +153,22 @@ python_api_name: qiskit.compiler | **timing\_constraints** | target | timing\_constraints | timing\_constraints | | **backend\_properties** | target | backend\_properties | backend\_properties | + + `qiskit.compiler.transpiler.transpile()`’s argument `inst_map` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package. + + + + `qiskit.compiler.transpiler.transpile()`’s argument `backend_properties` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The target parameter should be used instead. You can build a Target instance with defined properties with Target.from\_configuration(…, backend\_properties=…) + + + + `qiskit.compiler.transpiler.transpile()`’s argument `timing_constraints` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The target parameter should be used instead. You can build a Target instance with defined timing constraints with Target.from\_configuration(…, timing\_constraints=…) + + + + `qiskit.compiler.transpiler.transpile()`’s argument `instruction_durations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The target parameter should be used instead. You can build a Target instance with defined instruction durations with Target.from\_configuration(…, instruction\_durations=…) + + **Parameters** * **circuits** (*\_CircuitT*) – Circuit(s) to transpile @@ -157,7 +177,7 @@ python_api_name: qiskit.compiler * **basis\_gates** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")*] | None*) – List of basis gate names to unroll to (e.g: `['u1', 'u2', 'u3', 'cx']`). If `None`, do not unroll. - * **inst\_map** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.instruction_schedule_map.InstructionScheduleMap")*] | None*) – Mapping of unrolled gates to pulse schedules. If this is not provided, transpiler tries to get from the backend. If any user defined calibration is found in the map and this is used in a circuit, transpiler attaches the custom gate definition to the circuit. This enables one to flexibly override the low-level instruction implementation. This feature is available iff the backend supports the pulse gate experiment. + * **inst\_map** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.instruction_schedule_map.InstructionScheduleMap")*] | None*) – DEPRECATED. Mapping of unrolled gates to pulse schedules. If this is not provided, transpiler tries to get from the backend. If any user defined calibration is found in the map and this is used in a circuit, transpiler attaches the custom gate definition to the circuit. This enables one to flexibly override the low-level instruction implementation. This feature is available iff the backend supports the pulse gate experiment. * **coupling\_map** ([*CouplingMap*](qiskit.transpiler.CouplingMap "qiskit.transpiler.coupling.CouplingMap") *|*[*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]] | None*) – @@ -294,9 +314,13 @@ python_api_name: qiskit.compiler ### sequence - + Schedule a scheduled circuit to a pulse `Schedule`, using the backend. + + The function `qiskit.compiler.sequencer.sequence()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that `qiskit.compiler.sequencer.sequence()` will be moved as well. + + **Parameters** * **scheduled\_circuits** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") *|*[*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")*]*) – Scheduled circuit(s) to be translated diff --git a/docs/api/qiskit/dev/converters.mdx b/docs/api/qiskit/dev/converters.mdx index 20e67af4bec..ee3f4516273 100644 --- a/docs/api/qiskit/dev/converters.mdx +++ b/docs/api/qiskit/dev/converters.mdx @@ -184,7 +184,7 @@ python_api_name: qiskit.converters ### dagdependency\_to\_circuit - + Build a `QuantumCircuit` object from a `DAGDependency`. **Parameters** @@ -244,7 +244,7 @@ python_api_name: qiskit.converters ### dagdependency\_to\_dag - + Build a `DAGCircuit` object from a `DAGDependency`. **Parameters** diff --git a/docs/api/qiskit/dev/passmanager.mdx b/docs/api/qiskit/dev/passmanager.mdx index 8df2148ef4a..2bd2f60ffe2 100644 --- a/docs/api/qiskit/dev/passmanager.mdx +++ b/docs/api/qiskit/dev/passmanager.mdx @@ -82,7 +82,7 @@ pm.run([123456789, 45654, 36785554]) Output: -```python +```text [12346789, 464, 36784] ``` @@ -122,7 +122,7 @@ pm.run([123456789, 45654, 36785554]) Output: -```python +```text [12346789, 45654, 36784] ``` diff --git a/docs/api/qiskit/dev/providers_fake_provider.mdx b/docs/api/qiskit/dev/providers_fake_provider.mdx index b4b28c45d58..13a581747a2 100644 --- a/docs/api/qiskit/dev/providers_fake_provider.mdx +++ b/docs/api/qiskit/dev/providers_fake_provider.mdx @@ -115,7 +115,7 @@ The V1 fake backends are based on a set of base classes: ### FakePulseBackend - + A fake pulse backend. FakeBackend initializer. diff --git a/docs/api/qiskit/dev/pulse.mdx b/docs/api/qiskit/dev/pulse.mdx index 3075b754ce6..c1dcdcbd6c5 100644 --- a/docs/api/qiskit/dev/pulse.mdx +++ b/docs/api/qiskit/dev/pulse.mdx @@ -68,11 +68,15 @@ These are all instances of the same base class: ### Instruction - + The smallest schedulable unit: a single instruction. It has a fixed duration and specified channels. Instruction initializer. + + The class `qiskit.pulse.instructions.instruction.Instruction` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **operands** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")) – The argument list. @@ -157,7 +161,7 @@ All channels are children of the same abstract base class: ### Channel - + Base class of channels. Channels provide a Qiskit-side label for typical quantum control hardware signal channels. The final label -> physical channel mapping is the responsibility of the hardware backend. For instance, `DriveChannel(0)` holds instructions which the backend should map to the signal line driving gate operations on the qubit labeled (indexed) 0. When serialized channels are identified by their serialized name ``. The type of the channel is interpreted from the prefix, and the index often (but not always) maps to the qubit index. All concrete channel classes must have a `prefix` class attribute (and instances of that class have an index attribute). Base classes which have `prefix` set to `None` are prevented from being instantiated. @@ -166,6 +170,10 @@ All channels are children of the same abstract base class: Channel class. + + The class `qiskit.pulse.channels.Channel` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** **index** – Index of channel. @@ -754,7 +762,7 @@ The above is just a small taste of what is possible with the builder. See the re ### build - + Create a context manager for launching the imperative pulse builder DSL. To enter a building context and starting building a pulse program: @@ -777,6 +785,10 @@ The above is just a small taste of what is possible with the builder. See the re backend.run(transpile(pulse_prog, backend)) ``` + + The function `qiskit.pulse.builder.build()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **backend** ([*Backend*](qiskit.providers.Backend "qiskit.providers.Backend")) – A Qiskit backend. If not supplied certain builder functionality will be unavailable. @@ -808,15 +820,19 @@ with pulse.build(backend) as drive_sched: print(d0) ``` -```python +```text DriveChannel(0) ``` #### acquire\_channel - + Return `AcquireChannel` for `qubit` on the active builder backend. + + The function `qiskit.pulse.builder.acquire_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -840,11 +856,15 @@ DriveChannel(0) #### control\_channels - + Return `ControlChannel` for `qubit` on the active builder backend. Return the secondary drive channel for the given qubit – typically utilized for controlling multi-qubit interactions. + + The function `qiskit.pulse.builder.control_channels()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -875,9 +895,13 @@ DriveChannel(0) #### drive\_channel - + Return `DriveChannel` for `qubit` on the active builder backend. + + The function `qiskit.pulse.builder.drive_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -901,9 +925,13 @@ DriveChannel(0) #### measure\_channel - + Return `MeasureChannel` for `qubit` on the active builder backend. + + The function `qiskit.pulse.builder.measure_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -960,9 +988,13 @@ drive_sched.draw() #### acquire - + Acquire for a `duration` on a `channel` and store the result in a `register`. + + The function `qiskit.pulse.builder.acquire()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -997,7 +1029,7 @@ drive_sched.draw() #### barrier - + Barrier directive for a set of channels and qubits. This directive prevents the compiler from moving instructions across the barrier. Consider the case where we want to enforce that one pulse happens after another on separate channels, this can be done with: @@ -1060,6 +1092,10 @@ drive_sched.draw() Requires the active builder context to have a backend set if qubits are barriered on. + + The function `qiskit.pulse.builder.barrier()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **channels\_or\_qubits** (*chans.Channel |* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – Channels or qubits to barrier. @@ -1068,13 +1104,17 @@ drive_sched.draw() #### call - + Call the subroutine within the currently active builder context with arbitrary parameters which will be assigned to the target program. If the `target` program is a [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock"), then a [`Reference`](qiskit.pulse.instructions.Reference "qiskit.pulse.instructions.Reference") instruction will be created and appended to the current context. The `target` program will be immediately assigned to the current scope as a subroutine. If the `target` program is [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule"), it will be wrapped by the `Call` instruction and appended to the current context to avoid a mixed representation of [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock") and [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule"). If the `target` program is a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") it will be scheduled and the new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") will be added as a `Call` instruction. + + The function `qiskit.pulse.builder.call()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Examples** 1. Calling a schedule block (recommended) @@ -1094,7 +1134,7 @@ drive_sched.draw() print(pulse_prog) ``` - ```python + ```text ScheduleBlock( ScheduleBlock( Play( @@ -1115,7 +1155,7 @@ drive_sched.draw() print(pulse_prog.references) ``` - ```python + ```text ReferenceManager: - ('block0', '634b3b50bd684e26a673af1fbd2d6c81'): ScheduleBlock(Play(Gaussian(... ``` @@ -1135,7 +1175,7 @@ drive_sched.draw() print(pulse_prog) ``` - ```python + ```text ScheduleBlock( ScheduleBlock( Play( @@ -1174,7 +1214,7 @@ drive_sched.draw() print(pulse_prog) ``` - ```python + ```text ScheduleBlock( ScheduleBlock( Play(Gaussian(duration=160, amp=(0.1+0j), sigma=40), DriveChannel(0)), @@ -1198,7 +1238,7 @@ drive_sched.draw() print(pulse_prog) ``` - ```python + ```text ScheduleBlock( Call( Schedule( @@ -1237,9 +1277,13 @@ drive_sched.draw() #### delay - + Delay on a `channel` for a `duration`. + + The function `qiskit.pulse.builder.delay()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1260,9 +1304,13 @@ drive_sched.draw() #### play - + Play a `pulse` on a `channel`. + + The function `qiskit.pulse.builder.play()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1283,7 +1331,7 @@ drive_sched.draw() #### reference - + Refer to undefined subroutine by string keys. A [`Reference`](qiskit.pulse.instructions.Reference "qiskit.pulse.instructions.Reference") instruction is implicitly created and a schedule can be separately registered to the reference at a later stage. @@ -1300,6 +1348,10 @@ drive_sched.draw() main_prog.assign_references(subroutine_dict={("x_gate", "q0"): subroutine}) ``` + + The function `qiskit.pulse.builder.reference()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – Name of subroutine. @@ -1308,9 +1360,13 @@ drive_sched.draw() #### set\_frequency - + Set the `frequency` of a pulse `channel`. + + The function `qiskit.pulse.builder.set_frequency()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1331,9 +1387,13 @@ drive_sched.draw() #### set\_phase - + Set the `phase` of a pulse `channel`. + + The function `qiskit.pulse.builder.set_phase()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1356,9 +1416,13 @@ drive_sched.draw() #### shift\_frequency - + Shift the `frequency` of a pulse `channel`. + + The function `qiskit.pulse.builder.shift_frequency()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1379,9 +1443,13 @@ drive_sched.draw() #### shift\_phase - + Shift the `phase` of a pulse `channel`. + + The function `qiskit.pulse.builder.shift_phase()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1404,9 +1472,13 @@ drive_sched.draw() #### snapshot - + Simulator snapshot. + + The function `qiskit.pulse.builder.snapshot()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1446,13 +1518,17 @@ pulse_prog.draw() #### align\_equispaced - + Equispaced alignment pulse scheduling context. Pulse instructions within this context are scheduled with the same interval spacing such that the total length of the context block is `duration`. If the total free `duration` cannot be evenly divided by the number of instructions within the context, the modulo is split and then prepended and appended to the returned schedule. Delay instructions are automatically inserted in between pulses. This context is convenient to write a schedule for periodical dynamic decoupling or the Hahn echo sequence. + + The function `qiskit.pulse.builder.align_equispaced()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1492,13 +1568,17 @@ pulse_prog.draw() #### align\_func - + Callback defined alignment pulse scheduling context. Pulse instructions within this context are scheduled at the location specified by arbitrary callback function position that takes integer index and returns the associated fractional location within \[0, 1]. Delay instruction is automatically inserted in between pulses. This context may be convenient to write a schedule of arbitrary dynamical decoupling sequences such as Uhrig dynamical decoupling. + + The function `qiskit.pulse.builder.align_func()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1544,11 +1624,15 @@ pulse_prog.draw() #### align\_left - + Left alignment pulse scheduling context. Pulse instructions within this context are scheduled as early as possible by shifting them left to the earliest available time. + + The function `qiskit.pulse.builder.align_left()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1579,11 +1663,15 @@ pulse_prog.draw() #### align\_right - + Right alignment pulse scheduling context. Pulse instructions within this context are scheduled as late as possible by shifting them right to the latest available time. + + The function `qiskit.pulse.builder.align_right()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1614,11 +1702,15 @@ pulse_prog.draw() #### align\_sequential - + Sequential alignment pulse scheduling context. Pulse instructions within this context are scheduled sequentially in time such that no two instructions will be played at the same time. + + The function `qiskit.pulse.builder.align_sequential()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1649,9 +1741,13 @@ pulse_prog.draw() #### frequency\_offset - + Shift the frequency of inputs channels on entry into context and undo on exit. + + The function `qiskit.pulse.builder.frequency_offset()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1695,9 +1791,13 @@ pulse_prog.draw() #### phase\_offset - + Shift the phase of input channels on entry into context and undo on exit. + + The function `qiskit.pulse.builder.phase_offset()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1743,13 +1843,13 @@ with pulse.build(backend) as measure_sched: print(mem_slot) ``` -```python +```text MemorySlot(0) ``` #### measure - + Measure a qubit within the currently active builder context. At the pulse level a measurement is composed of both a stimulus pulse and an acquisition instruction which tells the systems measurement unit to acquire data and process it. We provide this measurement macro to automate the process for you, but if desired full control is still available with [`acquire()`](#qiskit.pulse.builder.acquire "qiskit.pulse.builder.acquire") and [`play()`](#qiskit.pulse.builder.play "qiskit.pulse.builder.play"). @@ -1788,6 +1888,10 @@ MemorySlot(0) Requires the active builder context to have a backend set. + + The function `qiskit.pulse.builder.measure()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **qubits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*] |* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – Physical qubit to measure. @@ -1804,11 +1908,15 @@ MemorySlot(0) #### measure\_all - + Measure all qubits within the currently active builder context. A simple macro function to measure all of the qubits in the device at the same time. This is useful for handling device `meas_map` and single measurement constraints. + + The function `qiskit.pulse.builder.measure_all()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1837,9 +1945,13 @@ MemorySlot(0) #### delay\_qubits - + Insert delays on all the `channels.Channel`s that correspond to the input `qubits` at the same time. + + The function `qiskit.pulse.builder.delay_qubits()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1886,7 +1998,7 @@ with pulse.build(backend) as u3_sched: seconds, pulse.seconds_to_samples(1e-6))) ``` -```python +```text Number of qubits in backend: 1 There are 160 samples in 3.5555555555555554e-08 seconds There are 1e-06 seconds in 4500 samples. @@ -1894,9 +2006,13 @@ There are 1e-06 seconds in 4500 samples. #### active\_backend - + Get the backend of the currently active builder context. + + The function `qiskit.pulse.builder.active_backend()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Returns** **The active backend in the currently active** @@ -1914,9 +2030,13 @@ There are 1e-06 seconds in 4500 samples. #### num\_qubits - + Return number of qubits in the currently active backend. + + The function `qiskit.pulse.builder.num_qubits()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1929,7 +2049,7 @@ There are 1e-06 seconds in 4500 samples. print(pulse.num_qubits()) ``` - ```python + ```text 2 ``` @@ -1944,9 +2064,13 @@ There are 1e-06 seconds in 4500 samples. #### qubit\_channels - + Returns the set of channels associated with a qubit. + + The function `qiskit.pulse.builder.qubit_channels()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + Examples: ```python @@ -1959,7 +2083,7 @@ There are 1e-06 seconds in 4500 samples. print(pulse.qubit_channels(0)) ``` - ```python + ```text {MeasureChannel(0), ControlChannel(0), DriveChannel(0), AcquireChannel(0), ControlChannel(1)} ``` @@ -1978,9 +2102,13 @@ There are 1e-06 seconds in 4500 samples. #### samples\_to\_seconds - + Obtain the time in seconds that will elapse for the input number of samples on the active backend. + + The function `qiskit.pulse.builder.samples_to_seconds()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** **samples** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| np.ndarray*) – Number of samples to convert to time in seconds. @@ -1996,11 +2124,15 @@ There are 1e-06 seconds in 4500 samples. #### seconds\_to\_samples - + Obtain the number of samples that will elapse in `seconds` on the active backend. Rounds down. + + The function `qiskit.pulse.builder.seconds_to_samples()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** **seconds** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *| np.ndarray*) – Time in seconds to convert to samples. @@ -2024,41 +2156,61 @@ There are 1e-06 seconds in 4500 samples. ### PulseError - + Errors raised by the pulse module. Set the error message. + + + The class `qiskit.pulse.exceptions.PulseError` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + ### BackendNotSet - + Raised if the builder context does not have a backend. Set the error message. + + + The class `qiskit.pulse.exceptions.PulseError` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + ### NoActiveBuilder - + Raised if no builder context is active. Set the error message. + + + The class `qiskit.pulse.exceptions.PulseError` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + ### UnassignedDurationError - + Raised if instruction duration is unassigned. Set the error message. + + + The class `qiskit.pulse.exceptions.PulseError` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + ### UnassignedReferenceError - + Raised if subroutine is unassigned. Set the error message. + + + The class `qiskit.pulse.exceptions.PulseError` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + diff --git a/docs/api/qiskit/dev/qasm2.mdx b/docs/api/qiskit/dev/qasm2.mdx index f58461dc5ae..e9f99b57a8f 100644 --- a/docs/api/qiskit/dev/qasm2.mdx +++ b/docs/api/qiskit/dev/qasm2.mdx @@ -236,7 +236,7 @@ qc.measure([0, 1], [0, 1]) print(qiskit.qasm2.dumps(qc)) ``` -```python +```text OPENQASM 2.0; include "qelib1.inc"; qreg q[2]; @@ -291,7 +291,7 @@ circuit = qiskit.qasm2.loads(program) circuit.draw() ``` -```python +```text ┌───┐ ┌─┐ q_0: ┤ H ├──■──┤M├─── └───┘┌─┴─┐└╥┘┌─┐ @@ -399,7 +399,7 @@ circuit = loads(program, custom_classical=customs) As a language, OpenQASM 2 does not have a way to specify the global phase of a complete program, nor of particular gate definitions. This means that parsers of the language may interpret particular gates with a different global phase than what you might expect. For example, the *de facto* standard library of OpenQASM 2 `qelib1.inc` contains definitions of `u1` and `rz` as follows: -```python +```text gate u1(lambda) q { U(0, 0, lambda) q; } @@ -444,7 +444,7 @@ This will use Qiskit’s [`PhaseGate`](qiskit.circuit.library.PhaseGate "qiskit. Operator(qasm2.loads(program, custom_instructions=custom)) ``` -```python +```text Operator([[1.000000e+00+0.j, 0.000000e+00+0.j], [0.000000e+00+0.j, 6.123234e-17+1.j]], input_dims=(2,), output_dims=(2,)) diff --git a/docs/api/qiskit/dev/qasm3.mdx b/docs/api/qiskit/dev/qasm3.mdx index 67b7a26891f..d3f141153c3 100644 --- a/docs/api/qiskit/dev/qasm3.mdx +++ b/docs/api/qiskit/dev/qasm3.mdx @@ -57,7 +57,7 @@ Both of these exporter functions are single-use wrappers around the main [`Expor ### Exporter - + QASM3 exporter main class. **Parameters** @@ -96,13 +96,13 @@ Both of these exporter functions are single-use wrappers around the main [`Expor #### dump - + Convert the circuit to OpenQASM 3, dumping the result to a file or text stream. #### dumps - + Convert the circuit to OpenQASM 3, returning the result as a string. @@ -208,7 +208,7 @@ Currently only two high-level functions are offered, as Qiskit support for impor While we are still in the exploratory release period, to use either function, the package `qiskit_qasm3_import` must be installed. This can be done by installing Qiskit with the `qasm3-import` extra, such as by: - ```python + ```text pip install qiskit[qasm3-import] ``` diff --git a/docs/api/qiskit/dev/qiskit.circuit.BreakLoopOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.BreakLoopOp.mdx index 46daa11ec1d..dbe4f97d28c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.BreakLoopOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.BreakLoopOp.mdx @@ -46,12 +46,20 @@ python_api_name: qiskit.circuit.BreakLoopOp The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -128,13 +136,13 @@ python_api_name: qiskit.circuit.BreakLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -144,7 +152,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -163,17 +171,21 @@ python_api_name: qiskit.circuit.BreakLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### copy - + Copy of the instruction. **Parameters** @@ -191,7 +203,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -215,13 +227,13 @@ python_api_name: qiskit.circuit.BreakLoopOp ### is\_parameterized - + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -245,7 +257,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -263,7 +275,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -289,7 +301,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.ContinueLoopOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.ContinueLoopOp.mdx index 29de201f7b2..52cdf8bf4ad 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ContinueLoopOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ContinueLoopOp.mdx @@ -46,12 +46,20 @@ python_api_name: qiskit.circuit.ContinueLoopOp The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -128,13 +136,13 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -144,7 +152,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -163,17 +171,21 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### copy - + Copy of the instruction. **Parameters** @@ -191,7 +203,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -215,13 +227,13 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### is\_parameterized - + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -245,7 +257,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -263,7 +275,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -289,7 +301,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.mdx index ea3ed488584..adb8f0af389 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.mdx @@ -65,12 +65,20 @@ python_api_name: qiskit.circuit.ControlFlowOp The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -147,13 +155,13 @@ python_api_name: qiskit.circuit.ControlFlowOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -163,7 +171,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -182,17 +190,21 @@ python_api_name: qiskit.circuit.ControlFlowOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### copy - + Copy of the instruction. **Parameters** @@ -210,7 +222,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -234,7 +246,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### is\_parameterized - + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). @@ -250,7 +262,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -309,7 +321,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -327,7 +339,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -353,7 +365,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.ControlledGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.ControlledGate.mdx index c091d78d748..bd92c51f96b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ControlledGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ControlledGate.mdx @@ -93,12 +93,20 @@ python_api_name: qiskit.circuit.ControlledGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state @@ -211,13 +219,13 @@ python_api_name: qiskit.circuit.ControlledGate ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -280,12 +288,16 @@ python_api_name: qiskit.circuit.ControlledGate ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### control @@ -313,7 +325,7 @@ python_api_name: qiskit.circuit.ControlledGate ### copy - + Copy of the instruction. **Parameters** @@ -341,7 +353,7 @@ python_api_name: qiskit.circuit.ControlledGate ### is\_parameterized - + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). @@ -368,7 +380,7 @@ python_api_name: qiskit.circuit.ControlledGate ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -392,7 +404,7 @@ python_api_name: qiskit.circuit.ControlledGate ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -410,7 +422,7 @@ python_api_name: qiskit.circuit.ControlledGate ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.circuit.ForLoopOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.ForLoopOp.mdx index 5993f0a1635..c1f551b9c9f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ForLoopOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ForLoopOp.mdx @@ -51,12 +51,20 @@ python_api_name: qiskit.circuit.ForLoopOp The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -131,13 +139,13 @@ python_api_name: qiskit.circuit.ForLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -147,7 +155,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -166,17 +174,21 @@ python_api_name: qiskit.circuit.ForLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### copy - + Copy of the instruction. **Parameters** @@ -194,7 +206,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -218,7 +230,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### is\_parameterized - + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). @@ -234,7 +246,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -289,7 +301,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -307,7 +319,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -333,7 +345,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.Gate.mdx index 9201826c1aa..ceefb11ac31 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.Gate.mdx @@ -49,12 +49,20 @@ python_api_name: qiskit.circuit.Gate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -131,13 +139,13 @@ python_api_name: qiskit.circuit.Gate ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -200,12 +208,16 @@ python_api_name: qiskit.circuit.Gate ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### control @@ -233,7 +245,7 @@ python_api_name: qiskit.circuit.Gate ### copy - + Copy of the instruction. **Parameters** @@ -251,7 +263,7 @@ python_api_name: qiskit.circuit.Gate ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -275,7 +287,7 @@ python_api_name: qiskit.circuit.Gate ### is\_parameterized - + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). @@ -302,7 +314,7 @@ python_api_name: qiskit.circuit.Gate ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -326,7 +338,7 @@ python_api_name: qiskit.circuit.Gate ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -344,7 +356,7 @@ python_api_name: qiskit.circuit.Gate ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.circuit.IfElseOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.IfElseOp.mdx index 5cd5e69a46a..89c69ab9d5c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.IfElseOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.IfElseOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.IfElseOp # IfElseOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") A circuit operation which executes a program (`true_body`) if a provided condition (`condition`) evaluates to true, and optionally evaluates another program (`false_body`) otherwise. @@ -53,14 +53,16 @@ python_api_name: qiskit.circuit.IfElseOp ### condition - - The classical condition on the instruction. - + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -135,13 +137,13 @@ python_api_name: qiskit.circuit.IfElseOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -151,7 +153,7 @@ python_api_name: qiskit.circuit.IfElseOp ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -170,17 +172,21 @@ python_api_name: qiskit.circuit.IfElseOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### copy - + Copy of the instruction. **Parameters** @@ -198,7 +204,7 @@ python_api_name: qiskit.circuit.IfElseOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -222,7 +228,7 @@ python_api_name: qiskit.circuit.IfElseOp ### is\_parameterized - + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). @@ -238,7 +244,7 @@ python_api_name: qiskit.circuit.IfElseOp ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -262,7 +268,7 @@ python_api_name: qiskit.circuit.IfElseOp ### replace\_blocks - + Replace blocks and return new instruction. **Parameters** @@ -280,7 +286,7 @@ python_api_name: qiskit.circuit.IfElseOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -298,7 +304,7 @@ python_api_name: qiskit.circuit.IfElseOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -324,7 +330,7 @@ python_api_name: qiskit.circuit.IfElseOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.Instruction.mdx b/docs/api/qiskit/dev/qiskit.circuit.Instruction.mdx index 91024014594..878e376d475 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.Instruction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.Instruction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Instruction # Instruction - + Bases: [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") Generic quantum instruction. @@ -57,12 +57,20 @@ python_api_name: qiskit.circuit.Instruction The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -139,13 +147,13 @@ python_api_name: qiskit.circuit.Instruction ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -155,7 +163,7 @@ python_api_name: qiskit.circuit.Instruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -174,17 +182,21 @@ python_api_name: qiskit.circuit.Instruction ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### copy - + Copy of the instruction. **Parameters** @@ -202,7 +214,7 @@ python_api_name: qiskit.circuit.Instruction ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -226,13 +238,13 @@ python_api_name: qiskit.circuit.Instruction ### is\_parameterized - + Return whether the [`Instruction`](#qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -256,7 +268,7 @@ python_api_name: qiskit.circuit.Instruction ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -274,7 +286,7 @@ python_api_name: qiskit.circuit.Instruction ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -300,7 +312,7 @@ python_api_name: qiskit.circuit.Instruction ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.InstructionSet.mdx b/docs/api/qiskit/dev/qiskit.circuit.InstructionSet.mdx index 6bd0dd5a584..cc7d04bd57f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.InstructionSet.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.InstructionSet.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.InstructionSet # InstructionSet - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") Instruction collection, and their contexts. @@ -51,13 +51,13 @@ python_api_name: qiskit.circuit.InstructionSet ### add - + Add an instruction and its context (where it is attached). ### c\_if - + Set a classical equality condition on all the instructions in this set between the [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") or [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") `classical` and value `val`. @@ -68,6 +68,10 @@ python_api_name: qiskit.circuit.InstructionSet This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition on any of the contained instructions; it does not stack. + + The method `qiskit.circuit.instructionset.InstructionSet.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + **Parameters** * **classical** ([*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") *|*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – the classical resource the equality condition should be on. If this is given as an integer, it will be resolved into a [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") using the same conventions as the circuit these instructions are attached to. @@ -88,7 +92,7 @@ python_api_name: qiskit.circuit.InstructionSet ### inverse - + Invert all instructions. diff --git a/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.mdx b/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.mdx index 155d1b958bd..f5ff3c69839 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.mdx @@ -12,7 +12,7 @@ python_api_name: qiskit.circuit.QuantumCircuit # [`QuantumCircuit`](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") class - + Core Qiskit representation of a quantum circuit. @@ -196,6 +196,10 @@ python_api_name: qiskit.circuit.QuantumCircuit Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + If you have transpiled your circuit, so you have a physical circuit, you can inspect the [`layout`](#qiskit.circuit.QuantumCircuit.layout "qiskit.circuit.QuantumCircuit.layout") attribute for information stored by the transpiler about how the virtual qubits of the source circuit map to the hardware qubits of your physical circuit, both at the start and end of the circuit. @@ -321,7 +325,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### \_\_init\_\_ - + Default constructor of [`QuantumCircuit`](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -373,7 +377,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### copy - + Copy the circuit. **Parameters** @@ -393,7 +397,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### copy\_empty\_like - + Return a copy of self with the same structure but empty. That structure includes: @@ -440,7 +444,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### from\_instructions - + Construct a circuit from an iterable of [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction")s. **Parameters** @@ -465,7 +469,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### from\_qasm\_file - + Read an OpenQASM 2.0 program from a file and convert to an instance of [`QuantumCircuit`](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -487,7 +491,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### from\_qasm\_str - + Convert a string containing an OpenQASM 2.0 program to a [`QuantumCircuit`](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -528,7 +532,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### add\_bits - + Add Bits to the circuit. @@ -536,7 +540,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### add\_register - + Add registers. @@ -544,7 +548,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### add\_var - + Add a classical variable with automatic storage and scope to this circuit. The variable is considered to have been “declared” at the beginning of the circuit, but it only becomes initialized at the point of the circuit that you call this method, so it can depend on variables defined before it. @@ -614,7 +618,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### add\_input - + Register a variable as an input to the circuit. **Parameters** @@ -635,7 +639,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### add\_uninitialized\_var - + Add a variable with no initializer. In most cases, you should use [`add_var()`](#qiskit.circuit.QuantumCircuit.add_var "qiskit.circuit.QuantumCircuit.add_var") to initialize the variable. To use this function, you must already hold a [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") instance, as the use of the function typically only makes sense in copying contexts. @@ -653,7 +657,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### add\_capture - + Add a variable to the circuit that it should capture from a scope it will be contained within. This method requires a [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node to enforce that you’ve got a handle to one, because you will need to declare the same variable using the same object into the outer circuit. @@ -675,7 +679,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### find\_bit - + Find locations in the circuit which can be used to reference a given [`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit"). In particular, this function can find the integer index of a qubit, which corresponds to its hardware index for a transpiled circuit. @@ -734,7 +738,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### has\_register - + Test if this circuit has the register r. **Parameters** @@ -764,7 +768,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### assign\_parameters - + Assign parameters to new parameters or values. If `parameters` is passed as a dictionary, the keys should be [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") instances in the current circuit. The values of the dictionary can either be numeric values or new parameter objects. @@ -840,7 +844,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### has\_parameter - + Check whether a parameter object exists in this circuit. **Parameters** @@ -868,7 +872,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### get\_parameter - + Retrieve a compile-time parameter that is accessible in this circuit scope by name. **Parameters** @@ -940,7 +944,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### get\_var - + Retrieve a variable that is accessible in this circuit scope by name. **Parameters** @@ -990,7 +994,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### has\_var - + Check whether a variable is accessible in this scope. **Parameters** @@ -1020,7 +1024,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### iter\_vars - + Get an iterable over all real-time classical variables in scope within this circuit. This method will iterate over all variables in scope. For more fine-grained iterators, see [`iter_declared_vars()`](#qiskit.circuit.QuantumCircuit.iter_declared_vars "qiskit.circuit.QuantumCircuit.iter_declared_vars"), [`iter_input_vars()`](#qiskit.circuit.QuantumCircuit.iter_input_vars "qiskit.circuit.QuantumCircuit.iter_input_vars") and [`iter_captured_vars()`](#qiskit.circuit.QuantumCircuit.iter_captured_vars "qiskit.circuit.QuantumCircuit.iter_captured_vars"). @@ -1032,7 +1036,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### iter\_input\_vars - + Get an iterable over all real-time classical variables that are declared as inputs to this circuit scope. This excludes locally declared variables (see [`iter_declared_vars()`](#qiskit.circuit.QuantumCircuit.iter_declared_vars "qiskit.circuit.QuantumCircuit.iter_declared_vars")) and captured variables (see [`iter_captured_vars()`](#qiskit.circuit.QuantumCircuit.iter_captured_vars "qiskit.circuit.QuantumCircuit.iter_captured_vars")). **Return type** @@ -1042,7 +1046,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### iter\_captured\_vars - + Get an iterable over all real-time classical variables that are captured by this circuit scope from a containing scope. This excludes input variables (see [`iter_input_vars()`](#qiskit.circuit.QuantumCircuit.iter_input_vars "qiskit.circuit.QuantumCircuit.iter_input_vars")) and locally declared variables (see [`iter_declared_vars()`](#qiskit.circuit.QuantumCircuit.iter_declared_vars "qiskit.circuit.QuantumCircuit.iter_declared_vars")). **Return type** @@ -1052,7 +1056,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### iter\_declared\_vars - + Get an iterable over all real-time classical variables that are declared with automatic storage duration in this scope. This excludes input variables (see [`iter_input_vars()`](#qiskit.circuit.QuantumCircuit.iter_input_vars "qiskit.circuit.QuantumCircuit.iter_input_vars")) and captured variables (see [`iter_captured_vars()`](#qiskit.circuit.QuantumCircuit.iter_captured_vars "qiskit.circuit.QuantumCircuit.iter_captured_vars")). **Return type** @@ -1095,7 +1099,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### append - + Append one or more instructions to the end of the circuit, modifying the circuit in place. The `qargs` and `cargs` will be expanded and broadcast according to the rules of the given [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"), and any non-[`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit") specifiers (such as integer indices) will be resolved into the relevant instances. @@ -1126,7 +1130,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### \_append - + Append an instruction to the end of the circuit, modifying the circuit in place. @@ -1168,7 +1172,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### compose - + Apply the instructions from one circuit onto specified qubits and/or clbits on another. @@ -1228,7 +1232,7 @@ python_api_name: qiskit.circuit.QuantumCircuit >>> lhs.compose(rhs, qubits=[3, 2], inplace=True) ``` - ```python + ```text ┌───┐ ┌─────┐ ┌───┐ lqr_1_0: ───┤ H ├─── rqr_0: ──■──┤ Tdg ├ lqr_1_0: ───┤ H ├─────────────── ├───┤ ┌─┴─┐└─────┘ ├───┤ @@ -1250,12 +1254,12 @@ python_api_name: qiskit.circuit.QuantumCircuit #### tensor - + Tensor `self` with `other`. Remember that in the little-endian convention the leftmost operation will be at the bottom of the circuit. See also [the docs](/guides/construct-circuits) for more information. - ```python + ```text ┌────────┐ ┌─────┐ ┌─────┐ q_0: ┤ bottom ├ ⊗ q_0: ┤ top ├ = q_0: ─┤ top ├── └────────┘ └─────┘ ┌┴─────┴─┐ @@ -1394,7 +1398,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### barrier - + Apply `Barrier`. If `qargs` is empty, applies to all qubits in the circuit. **Parameters** @@ -1413,7 +1417,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### ccx - + Apply [`CCXGate`](qiskit.circuit.library.CCXGate "qiskit.circuit.library.CCXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1436,7 +1440,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### ccz - + Apply [`CCZGate`](qiskit.circuit.library.CCZGate "qiskit.circuit.library.CCZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1460,7 +1464,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### ch - + Apply [`CHGate`](qiskit.circuit.library.CHGate "qiskit.circuit.library.CHGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1483,7 +1487,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### cp - + Apply [`CPhaseGate`](qiskit.circuit.library.CPhaseGate "qiskit.circuit.library.CPhaseGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1507,7 +1511,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### crx - + Apply [`CRXGate`](qiskit.circuit.library.CRXGate "qiskit.circuit.library.CRXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1531,7 +1535,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### cry - + Apply [`CRYGate`](qiskit.circuit.library.CRYGate "qiskit.circuit.library.CRYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1555,7 +1559,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### crz - + Apply [`CRZGate`](qiskit.circuit.library.CRZGate "qiskit.circuit.library.CRZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1579,7 +1583,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### cs - + Apply [`CSGate`](qiskit.circuit.library.CSGate "qiskit.circuit.library.CSGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1602,7 +1606,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### csdg - + Apply [`CSdgGate`](qiskit.circuit.library.CSdgGate "qiskit.circuit.library.CSdgGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1625,7 +1629,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### cswap - + Apply [`CSwapGate`](qiskit.circuit.library.CSwapGate "qiskit.circuit.library.CSwapGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1649,7 +1653,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### csx - + Apply [`CSXGate`](qiskit.circuit.library.CSXGate "qiskit.circuit.library.CSXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1672,7 +1676,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### cu - + Apply [`CUGate`](qiskit.circuit.library.CUGate "qiskit.circuit.library.CUGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1699,7 +1703,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### cx - + Apply [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1722,7 +1726,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### cy - + Apply [`CYGate`](qiskit.circuit.library.CYGate "qiskit.circuit.library.CYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1745,7 +1749,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### cz - + Apply [`CZGate`](qiskit.circuit.library.CZGate "qiskit.circuit.library.CZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1768,7 +1772,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### dcx - + Apply [`DCXGate`](qiskit.circuit.library.DCXGate "qiskit.circuit.library.DCXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1789,7 +1793,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### delay - + Apply [`Delay`](circuit#qiskit.circuit.Delay "qiskit.circuit.Delay"). If qarg is `None`, applies to all qubits. When applying to multiple qubits, delays with the same duration will be created. **Parameters** @@ -1813,7 +1817,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### ecr - + Apply [`ECRGate`](qiskit.circuit.library.ECRGate "qiskit.circuit.library.ECRGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1834,7 +1838,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### h - + Apply [`HGate`](qiskit.circuit.library.HGate "qiskit.circuit.library.HGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1854,7 +1858,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### id - + Apply [`IGate`](qiskit.circuit.library.IGate "qiskit.circuit.library.IGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1874,7 +1878,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### initialize - + Initialize qubits in a specific state. Qubit initialization is done by first resetting the qubits to $|0\rangle$ followed by calling [`StatePreparation`](qiskit.circuit.library.StatePreparation "qiskit.circuit.library.StatePreparation") class to prepare the qubits in a specified state. Both these steps are included in the [`Initialize`](qiskit.circuit.library.Initialize "qiskit.circuit.library.Initialize") instruction. @@ -1912,7 +1916,7 @@ python_api_name: qiskit.circuit.QuantumCircuit output: - ```python + ```text ┌──────────────────────────────┐ q_0: ┤ Initialize(0.70711,-0.70711) ├ └──────────────────────────────┘ @@ -1931,7 +1935,7 @@ python_api_name: qiskit.circuit.QuantumCircuit output: - ```python + ```text ┌──────────────────┐ q_0: ┤0 ├ │ Initialize(0,1) │ @@ -1952,7 +1956,7 @@ python_api_name: qiskit.circuit.QuantumCircuit output: - ```python + ```text ┌────────────────────────────────────┐ q_0: ┤0 ├ │ Initialize(0,0.70711,-0.70711j,0) │ @@ -1963,7 +1967,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### iswap - + Apply [`iSwapGate`](qiskit.circuit.library.iSwapGate "qiskit.circuit.library.iSwapGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1984,7 +1988,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### mcp - + Apply [`MCPhaseGate`](qiskit.circuit.library.MCPhaseGate "qiskit.circuit.library.MCPhaseGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2063,7 +2067,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### mcx - + Apply [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.MCXGate"). The multi-cX gate can be implemented using different techniques, which use different numbers of ancilla qubits and have varying circuit depth. These modes are: @@ -2099,7 +2103,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### measure - + Measure a quantum bit (`qubit`) in the Z basis into a classical bit (`cbit`). When a quantum state is measured, a qubit is projected in the computational (Pauli Z) basis to either $\lvert 0 \rangle$ or $\lvert 1 \rangle$. The classical bit `cbit` indicates the result of that projection as a `0` or a `1` respectively. This operation is non-reversible. @@ -2133,7 +2137,7 @@ python_api_name: qiskit.circuit.QuantumCircuit circuit.draw() ``` - ```python + ```text ┌───┐┌─┐ q: ┤ H ├┤M├ └───┘└╥┘ @@ -2175,7 +2179,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### ms - + Apply [`MSGate`](qiskit.circuit.library.MSGate "qiskit.circuit.library.MSGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2196,7 +2200,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### p - + Apply [`PhaseGate`](qiskit.circuit.library.PhaseGate "qiskit.circuit.library.PhaseGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2217,7 +2221,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### pauli - + Apply [`PauliGate`](qiskit.circuit.library.PauliGate "qiskit.circuit.library.PauliGate"). **Parameters** @@ -2236,7 +2240,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### prepare\_state - + Prepare qubits in a specific state. This class implements a state preparing unitary. Unlike [`initialize()`](#qiskit.circuit.QuantumCircuit.initialize "qiskit.circuit.QuantumCircuit.initialize") it does not reset the qubits first. @@ -2280,7 +2284,7 @@ python_api_name: qiskit.circuit.QuantumCircuit output: - ```python + ```text ┌─────────────────────────────────────┐ q_0: ┤ State Preparation(0.70711,-0.70711) ├ └─────────────────────────────────────┘ @@ -2299,7 +2303,7 @@ python_api_name: qiskit.circuit.QuantumCircuit output: - ```python + ```text ┌─────────────────────────┐ q_0: ┤0 ├ │ State Preparation(0,1) │ @@ -2320,7 +2324,7 @@ python_api_name: qiskit.circuit.QuantumCircuit output: - ```python + ```text ┌───────────────────────────────────────────┐ q_0: ┤0 ├ │ State Preparation(0,0.70711,-0.70711j,0) │ @@ -2331,7 +2335,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### r - + Apply [`RGate`](qiskit.circuit.library.RGate "qiskit.circuit.library.RGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2353,7 +2357,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### rcccx - + Apply [`RC3XGate`](qiskit.circuit.library.RC3XGate "qiskit.circuit.library.RC3XGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2376,7 +2380,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### rccx - + Apply [`RCCXGate`](qiskit.circuit.library.RCCXGate "qiskit.circuit.library.RCCXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2398,7 +2402,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### reset - + Reset the quantum bit(s) to their default state. **Parameters** @@ -2416,7 +2420,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### rv - + Apply [`RVGate`](qiskit.circuit.library.RVGate "qiskit.circuit.library.RVGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2441,7 +2445,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### rx - + Apply [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2463,7 +2467,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### rxx - + Apply [`RXXGate`](qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2485,7 +2489,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### ry - + Apply [`RYGate`](qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2507,7 +2511,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### ryy - + Apply [`RYYGate`](qiskit.circuit.library.RYYGate "qiskit.circuit.library.RYYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2529,7 +2533,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### rz - + Apply [`RZGate`](qiskit.circuit.library.RZGate "qiskit.circuit.library.RZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2550,7 +2554,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### rzx - + Apply [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circuit.library.RZXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2572,7 +2576,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### rzz - + Apply [`RZZGate`](qiskit.circuit.library.RZZGate "qiskit.circuit.library.RZZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2594,7 +2598,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### s - + Apply [`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2614,7 +2618,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### sdg - + Apply [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2634,7 +2638,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### store - + Store the result of the given real-time classical expression `rvalue` in the memory location defined by `lvalue`. Typically `lvalue` will be a [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node and `rvalue` will be some [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") to write into it, but anything that [`expr.lift()`](circuit_classical#qiskit.circuit.classical.expr.lift "qiskit.circuit.classical.expr.lift") can raise to an [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") is permissible in both places, and it will be called on them. @@ -2661,7 +2665,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### swap - + Apply [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2682,7 +2686,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### sx - + Apply [`SXGate`](qiskit.circuit.library.SXGate "qiskit.circuit.library.SXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2702,7 +2706,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### sxdg - + Apply [`SXdgGate`](qiskit.circuit.library.SXdgGate "qiskit.circuit.library.SXdgGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2722,7 +2726,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### t - + Apply [`TGate`](qiskit.circuit.library.TGate "qiskit.circuit.library.TGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2742,7 +2746,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### tdg - + Apply [`TdgGate`](qiskit.circuit.library.TdgGate "qiskit.circuit.library.TdgGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2762,7 +2766,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### u - + Apply [`UGate`](qiskit.circuit.library.UGate "qiskit.circuit.library.UGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2785,7 +2789,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### unitary - + Apply unitary gate specified by `obj` to `qubits`. **Parameters** @@ -2819,7 +2823,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### x - + Apply [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2840,7 +2844,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### y - + Apply [`YGate`](qiskit.circuit.library.YGate "qiskit.circuit.library.YGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2860,7 +2864,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### z - + Apply [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2904,7 +2908,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### break\_loop - + Apply [`BreakLoopOp`](qiskit.circuit.BreakLoopOp "qiskit.circuit.BreakLoopOp"). @@ -2926,7 +2930,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### continue\_loop - + Apply [`ContinueLoopOp`](qiskit.circuit.ContinueLoopOp "qiskit.circuit.ContinueLoopOp"). @@ -2948,7 +2952,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### for\_loop - + Create a `for` loop on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp") with the given `body`. If `body` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which, when entered, provides a loop variable (unless one is given, in which case it will be reused) and will automatically build a [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp") when the scope finishes. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -2999,7 +3003,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### if\_else - + Apply [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp"). @@ -3043,7 +3047,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### if\_test - + Create an `if` statement on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp") with the given `true_body`, and there will be no branch for the `false` condition (see also the [`if_else()`](#qiskit.circuit.QuantumCircuit.if_else "qiskit.circuit.QuantumCircuit.if_else") method). However, if `true_body` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which can be used to build `if` statements. The return value of the `with` statement is a chainable context manager, which can be used to create subsequent `else` blocks. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -3097,7 +3101,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### switch - + Create a `switch`/`case` structure on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") with the given case structure. If `cases` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which will automatically build a [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") when the scope finishes. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -3144,7 +3148,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### while\_loop - + Create a `while` loop on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a `WhileLoopOp` with the given `body`. If `body` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which will automatically build a `WhileLoopOp` when the scope finishes. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -3189,7 +3193,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### to\_instruction - + Create an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") out of this circuit. @@ -3216,7 +3220,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### to\_gate - + Create a [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") out of this circuit. The circuit must act only qubits and contain only unitary operations. @@ -3245,7 +3249,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### measure\_active - + Adds measurement to all non-idle qubits. Creates a new ClassicalRegister with a size equal to the number of non-idle qubits being measured. Returns a new circuit with measurements if inplace=False. @@ -3265,7 +3269,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### measure\_all - + Adds measurement to all qubits. By default, adds new classical bits in a [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") to store these measurements. If `add_bits=False`, the results of the measurements will instead be stored in the already existing classical bits, with qubit `n` being measured into classical bit `n`. @@ -3294,7 +3298,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### clear - + Clear all instructions in self. Clearing the circuits will keep the metadata and calibrations. @@ -3308,7 +3312,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### remove\_final\_measurements - + Removes final measurements and barriers on all qubits if they are present. Deletes the classical registers that were used to store the values from these measurements that become idle as a result of this operation, and deletes classical bits that are referenced only by removed registers, or that aren’t referenced at all but have become idle as a result of this operation. Measurements and barriers are considered final if they are followed by no other operations (aside from other measurements or barriers.) @@ -3358,9 +3362,13 @@ python_api_name: qiskit.circuit.QuantumCircuit #### add\_calibration - + Register a low-level, custom pulse definition for the given gate. + + The method `qiskit.circuit.quantumcircuit.QuantumCircuit.add_calibration()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.add_calibration()` will have no alternative in Qiskit. + + **Parameters** * **gate** (*Union\[*[*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate")*,* [*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")*]*) – Gate information. @@ -3375,8 +3383,12 @@ python_api_name: qiskit.circuit.QuantumCircuit #### has\_calibration\_for - + Return True if the circuit has a calibration defined for the instruction context. In this case, the operation does not need to be translated to the device basis. + + + The method `qiskit.circuit.quantumcircuit.QuantumCircuit.has_calibration_for()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.has_calibration_for()` will have no alternative in Qiskit. + ## Circuit properties @@ -3430,7 +3442,7 @@ python_api_name: qiskit.circuit.QuantumCircuit qc.count_ops() ``` - ```python + ```text OrderedDict([('cx', 8), ('h', 5), ('x', 3), ('swap', 3)]) ``` @@ -3454,7 +3466,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### count\_ops - + Count each operation kind in the circuit. **Returns** @@ -3468,7 +3480,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### depth - + Return circuit depth (i.e., length of critical path). @@ -3510,7 +3522,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### get\_instructions - + Get instructions matching name. **Parameters** @@ -3528,7 +3540,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### num\_connected\_components - + How many non-entangled subcircuits can the circuit be factored to. **Parameters** @@ -3546,7 +3558,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### num\_nonlocal\_gates - + Return number of non-local gates (i.e. involving 2+ qubits). Conditional nonlocal gates are also included. @@ -3558,7 +3570,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### num\_tensor\_factors - + Computes the number of tensor factors in the unitary (quantum) part of the circuit only. **Notes** @@ -3572,7 +3584,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### num\_unitary\_factors - + Computes the number of tensor factors in the unitary (quantum) part of the circuit only. **Return type** @@ -3582,7 +3594,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### size - + Returns total number of instructions in circuit. **Parameters** @@ -3600,7 +3612,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### width - + Return number of qubits plus clbits in circuit. **Returns** @@ -3618,7 +3630,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### qubit\_duration - + Return the duration between the start and stop time of the first and last instructions, excluding delays, over the supplied qubits. Its time unit is `self.unit`. **Parameters** @@ -3636,7 +3648,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### qubit\_start\_time - + Return the start time of the first instruction, excluding delays, over the supplied qubits. Its time unit is `self.unit`. Return 0 if there are no instructions over qubits @@ -3661,7 +3673,7 @@ python_api_name: qiskit.circuit.QuantumCircuit #### qubit\_stop\_time - + Return the stop time of the last instruction, excluding delays, over the supplied qubits. Its time unit is `self.unit`. Return 0 if there are no instructions over qubits @@ -3690,7 +3702,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### control - + Control this circuit on `num_ctrl_qubits` qubits. **Parameters** @@ -3715,7 +3727,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### inverse - + Invert (take adjoint of) this circuit. This is done by recursively inverting all gates. @@ -3740,7 +3752,7 @@ python_api_name: qiskit.circuit.QuantumCircuit input: - ```python + ```text ┌───┐ q_0: ┤ H ├─────■────── └───┘┌────┴─────┐ @@ -3750,7 +3762,7 @@ python_api_name: qiskit.circuit.QuantumCircuit output: - ```python + ```text ┌───┐ q_0: ──────■──────┤ H ├ ┌─────┴─────┐└───┘ @@ -3761,7 +3773,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### power - + Raise this circuit to the power of `power`. If `power` is a positive integer and both `matrix_power` and `annotated` are `False`, this implementation defaults to calling `repeat`. Otherwise, the circuit is converted into a gate, and a new circuit, containing this gate raised to the given power, is returned. The gate raised to the given power is implemented either as a unitary gate if `annotated` is `False` or as an annotated operation if `annotated` is `True`. @@ -3787,7 +3799,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### repeat - + Repeat this circuit `reps` times. **Parameters** @@ -3806,7 +3818,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### reverse\_ops - + Reverse the circuit by reversing the order of instructions. This is done by recursively reversing all instructions. It does not invert (adjoint) any gate. @@ -3823,7 +3835,7 @@ python_api_name: qiskit.circuit.QuantumCircuit input: - ```python + ```text ┌───┐ q_0: ┤ H ├─────■────── └───┘┌────┴─────┐ @@ -3833,7 +3845,7 @@ python_api_name: qiskit.circuit.QuantumCircuit output: - ```python + ```text ┌───┐ q_0: ─────■──────┤ H ├ ┌────┴─────┐└───┘ @@ -3854,7 +3866,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### draw - + Draw the quantum circuit. Use the output parameter to choose the drawing format: **text**: ASCII art TextDrawing that can be printed in the console. @@ -3954,7 +3966,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### decompose - + Call a decomposition pass on this circuit, to decompose one level (shallow decompose). **Parameters** @@ -3973,7 +3985,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### reverse\_bits - + Return a circuit with the opposite order of wires. The circuit is “vertically” flipped. If a circuit is defined over multiple registers, the resulting circuit will have the same registers but with their order flipped. @@ -3992,7 +4004,7 @@ python_api_name: qiskit.circuit.QuantumCircuit input: - ```python + ```text ┌───┐ a_0: ┤ H ├──■───────────────── └───┘┌─┴─┐ @@ -4008,7 +4020,7 @@ python_api_name: qiskit.circuit.QuantumCircuit output: - ```python + ```text ┌───┐ b_0: ────────────────────┤ X ├ ┌───┐└─┬─┘ @@ -4029,7 +4041,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cast - + Best effort to cast value to type. Otherwise, returns the value. @@ -4043,7 +4055,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cbit\_argument\_conversion - + Converts several classical bit representations (such as indexes, range, etc.) into a list of classical bits. @@ -4065,7 +4077,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cls\_instances - + Return the current number of instances of this class, useful for auto naming. @@ -4079,7 +4091,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cls\_prefix - + Return the prefix to use for auto naming. @@ -4093,7 +4105,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### qbit\_argument\_conversion - + Converts several qubit representations (such as indexes, range, etc.) into a list of qubits. diff --git a/docs/api/qiskit/dev/qiskit.circuit.SwitchCaseOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.SwitchCaseOp.mdx index 6e5edfea48d..7781808f95c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.SwitchCaseOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.SwitchCaseOp.mdx @@ -49,12 +49,20 @@ python_api_name: qiskit.circuit.SwitchCaseOp The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -131,13 +139,13 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -147,7 +155,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -172,6 +180,10 @@ python_api_name: qiskit.circuit.SwitchCaseOp This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### cases @@ -206,7 +218,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### copy - + Copy of the instruction. **Parameters** @@ -224,7 +236,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -248,7 +260,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### is\_parameterized - + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). @@ -264,7 +276,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -323,7 +335,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -341,7 +353,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -367,7 +379,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.WhileLoopOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.WhileLoopOp.mdx index a00b24b7cb1..e594a59e323 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.WhileLoopOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.WhileLoopOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.WhileLoopOp # WhileLoopOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") A circuit operation which repeatedly executes a subcircuit (`body`) until a condition (`condition`) evaluates as False. @@ -50,14 +50,16 @@ python_api_name: qiskit.circuit.WhileLoopOp ### condition - - The classical condition on the instruction. - + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -132,13 +134,13 @@ python_api_name: qiskit.circuit.WhileLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -148,7 +150,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -167,17 +169,21 @@ python_api_name: qiskit.circuit.WhileLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### copy - + Copy of the instruction. **Parameters** @@ -195,7 +201,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -219,7 +225,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### is\_parameterized - + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). @@ -235,7 +241,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -259,7 +265,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### replace\_blocks - + Return a new version of this control-flow operations with the [`blocks`](#qiskit.circuit.WhileLoopOp.blocks "qiskit.circuit.WhileLoopOp.blocks") mapped to the given new ones. Typically this is used in a workflow such as: @@ -290,7 +296,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -308,7 +314,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -334,7 +340,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.BooleanExpression.mdx b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.BooleanExpression.mdx index 034c6b44eba..9220c7a9f0f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.BooleanExpression.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.BooleanExpression.mdx @@ -46,12 +46,20 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -128,13 +136,13 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -197,12 +205,16 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### control @@ -230,7 +242,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### copy - + Copy of the instruction. **Parameters** @@ -266,7 +278,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -290,7 +302,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### is\_parameterized - + Return whether the `Instruction` contains [compile-time parameters](circuit#circuit-compile-time-parameters). @@ -317,7 +329,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -341,7 +353,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -379,7 +391,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunction.mdx index f9bbe589b45..f11e4e0d304 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunction.mdx @@ -59,12 +59,20 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions @@ -179,13 +187,13 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction @@ -248,12 +256,16 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + + The method `qiskit.circuit.instruction.Instruction.c_if()` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### compile @@ -287,7 +299,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### copy - + Copy of the instruction. **Parameters** @@ -305,7 +317,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -329,7 +341,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### is\_parameterized - + Return whether the `Instruction` contains [compile-time parameters](circuit#circuit-compile-time-parameters). @@ -356,7 +368,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### repeat - + Creates an instruction with `self` repeated :math\`n\` times. If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. @@ -380,7 +392,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -432,7 +444,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.AND.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.AND.mdx index 0a71c11602f..a4da75bca71 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.AND.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.AND.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.AND # AND - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A circuit implementing the logical AND operation on a number of qubits. @@ -25,9 +25,13 @@ python_api_name: qiskit.circuit.library.AND Create a new logical AND circuit. + + The class `qiskit.circuit.library.boolean_logic.quantum_and.AND` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Use qiskit.circuit.library.AndGate instead. + + **Parameters** - * **num\_variable\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The qubits of which the OR is computed. The result will be written into an additional result qubit. + * **num\_variable\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The qubits of which the AND is computed. The result will be written into an additional result qubit. * **flags** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*] | None*) – A list of +1/0/-1 marking negations or omissions of qubits. * **mcx\_mode** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The mode to be used to implement the multi-controlled X gate. @@ -45,6 +49,10 @@ python_api_name: qiskit.circuit.library.AND Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -85,7 +93,7 @@ python_api_name: qiskit.circuit.library.AND ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.AndGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.AndGate.mdx new file mode 100644 index 00000000000..d2567f7661d --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.circuit.library.AndGate.mdx @@ -0,0 +1,164 @@ +--- +title: AndGate +description: API reference for qiskit.circuit.library.AndGate +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.circuit.library.AndGate +--- + +# AndGate + + + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") + + A gate representing the logical AND operation on a number of qubits. + + For the AND operation the state $|1\rangle$ is interpreted as `True`. The result qubit is flipped, if the state of all variable qubits is `True`. In this format, the AND operation equals a multi-controlled X gate, which is controlled on all variable qubits. Using a list of flags however, qubits can be skipped or negated. Practically, the flags allow to skip controls or to apply pre- and post-X gates to the negated qubits. + + The AndGate gate without special flags equals the multi-controlled-X gate: + + ![../\_images/qiskit-circuit-library-AndGate-1.png](/images/api/qiskit/dev/qiskit-circuit-library-AndGate-1.png) + + Using flags we can negate qubits or skip them. For instance, if we have 5 qubits and want to return `True` if the first qubit is `False` and the last two are `True` we use the flags `[-1, 0, 0, 1, 1]`. + + ![../\_images/qiskit-circuit-library-AndGate-2.png](/images/api/qiskit/dev/qiskit-circuit-library-AndGate-2.png) + + **Parameters** + + * **num\_variable\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The qubits of which the AND is computed. The result will be written into an additional result qubit. + * **flags** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*] | None*) – A list of +1/0/-1 marking negations or omissions of qubits. + + ## Attributes + + ### base\_class + + + Get the base class of this instruction. This is guaranteed to be in the inheritance tree of `self`. + + The “base class” of an instruction is the lowest class in its inheritance tree that the object should be considered entirely compatible with for \_all\_ circuit applications. This typically means that the subclass is defined purely to offer some sort of programmer convenience over the base class, and the base class is the “true” class for a behavioral perspective. In particular, you should *not* override [`base_class`](#qiskit.circuit.library.AndGate.base_class "qiskit.circuit.library.AndGate.base_class") if you are defining a custom version of an instruction that will be implemented differently by hardware, such as an alternative measurement strategy, or a version of a parametrized gate with a particular set of parameters for the purposes of distinguishing it in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") from the full parametrized gate. + + This is often exactly equivalent to `type(obj)`, except in the case of singleton instances of standard-library instructions. These singleton instances are special subclasses of their base class, and this property will return that base. For example: + + ```python + >>> isinstance(XGate(), XGate) + True + >>> type(XGate()) is XGate + False + >>> XGate().base_class is XGate + True + ``` + + In general, you should not rely on the precise class of an instruction; within a given circuit, it is expected that `Instruction.name` should be a more suitable discriminator in most situations. + + + ### condition + + + The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + + + ### condition\_bits + + + Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + + + ### decompositions + + + Get the decompositions of the instruction from the SessionEquivalenceLibrary. + + + ### definition + + + Return definition in terms of other basic gates. + + + ### duration + + + Get the duration. + + + The property `qiskit.circuit.instruction.Instruction.duration` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. + + + + ### label + + + Return instruction label + + + ### mutable + + + Is this instance is a mutable unique instance or not. + + If this attribute is `False` the gate instance is a shared singleton and is not mutable. + + + ### name + + + Return the name. + + + ### num\_clbits + + + Return the number of clbits. + + + ### num\_qubits + + + Return the number of qubits. + + + ### params + + + The parameters of this `Instruction`. Ideally these will be gate angles. + + + ### unit + + + Get the time unit of duration. + + + The property `qiskit.circuit.instruction.Instruction.unit` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. + + + + ## Methods + + ### inverse + + + Return inverted AND gate (itself). + + **Parameters** + + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + + **Returns** + + inverse gate (self-inverse). + + **Return type** + + [AndGate](#qiskit.circuit.library.AndGate "qiskit.circuit.library.AndGate") + + + diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.BitwiseXorGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.BitwiseXorGate.mdx new file mode 100644 index 00000000000..1753fede31f --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.circuit.library.BitwiseXorGate.mdx @@ -0,0 +1,166 @@ +--- +title: BitwiseXorGate +description: API reference for qiskit.circuit.library.BitwiseXorGate +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.circuit.library.BitwiseXorGate +--- + +# BitwiseXorGate + + + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") + + An n-qubit gate for bitwise xor-ing the input with some integer `amount`. + + The `amount` is xor-ed in bitstring form with the input. + + This gate can also represent addition by `amount` over the finite field GF(2). + + Reference Circuit: + + ![../\_images/qiskit-circuit-library-BitwiseXorGate-1.png](/images/api/qiskit/dev/qiskit-circuit-library-BitwiseXorGate-1.png) + + **Parameters** + + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – the width of circuit. + * **amount** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – the xor amount in decimal form. + + **Raises** + + [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the xor bitstring exceeds available qubits. + + ## Attributes + + ### base\_class + + + Get the base class of this instruction. This is guaranteed to be in the inheritance tree of `self`. + + The “base class” of an instruction is the lowest class in its inheritance tree that the object should be considered entirely compatible with for \_all\_ circuit applications. This typically means that the subclass is defined purely to offer some sort of programmer convenience over the base class, and the base class is the “true” class for a behavioral perspective. In particular, you should *not* override [`base_class`](#qiskit.circuit.library.BitwiseXorGate.base_class "qiskit.circuit.library.BitwiseXorGate.base_class") if you are defining a custom version of an instruction that will be implemented differently by hardware, such as an alternative measurement strategy, or a version of a parametrized gate with a particular set of parameters for the purposes of distinguishing it in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") from the full parametrized gate. + + This is often exactly equivalent to `type(obj)`, except in the case of singleton instances of standard-library instructions. These singleton instances are special subclasses of their base class, and this property will return that base. For example: + + ```python + >>> isinstance(XGate(), XGate) + True + >>> type(XGate()) is XGate + False + >>> XGate().base_class is XGate + True + ``` + + In general, you should not rely on the precise class of an instruction; within a given circuit, it is expected that `Instruction.name` should be a more suitable discriminator in most situations. + + + ### condition + + + The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + + + ### condition\_bits + + + Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + + + ### decompositions + + + Get the decompositions of the instruction from the SessionEquivalenceLibrary. + + + ### definition + + + Return definition in terms of other basic gates. + + + ### duration + + + Get the duration. + + + The property `qiskit.circuit.instruction.Instruction.duration` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. + + + + ### label + + + Return instruction label + + + ### mutable + + + Is this instance is a mutable unique instance or not. + + If this attribute is `False` the gate instance is a shared singleton and is not mutable. + + + ### name + + + Return the name. + + + ### num\_clbits + + + Return the number of clbits. + + + ### num\_qubits + + + Return the number of qubits. + + + ### params + + + The parameters of this `Instruction`. Ideally these will be gate angles. + + + ### unit + + + Get the time unit of duration. + + + The property `qiskit.circuit.instruction.Instruction.unit` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. + + + + ## Methods + + ### inverse + + + Return inverted BitwiseXorGate gate (itself). + + **Parameters** + + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + + **Returns** + + inverse gate (self-inverse). + + **Return type** + + [BitwiseXorGate](#qiskit.circuit.library.BitwiseXorGate "qiskit.circuit.library.BitwiseXorGate") + + + diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.C3SXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.C3SXGate.mdx index 373fcc458df..962d131d8e7 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.C3SXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.C3SXGate.mdx @@ -53,12 +53,20 @@ python_api_name: qiskit.circuit.library.C3SXGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.C3XGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.C3XGate.mdx index 77f0eed4f05..e34a7bb9a62 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.C3XGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.C3XGate.mdx @@ -44,12 +44,20 @@ python_api_name: qiskit.circuit.library.C3XGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.C4XGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.C4XGate.mdx index 0ab0e60e957..8582a4946c6 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.C4XGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.C4XGate.mdx @@ -49,12 +49,20 @@ python_api_name: qiskit.circuit.library.C4XGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CCXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CCXGate.mdx index 347f6783e91..50fe9aa583d 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CCXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CCXGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.CCXGate **Circuit symbol:** - ```python + ```text q_0: ──■── │ q_1: ──■── @@ -46,7 +46,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_2 and q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌───┐ q_0: ┤ X ├ └─┬─┘ @@ -100,12 +100,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CCZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CCZGate.mdx index 25ccbf627f4..4d12c537484 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CCZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CCZGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.CCZGate **Circuit symbol:** - ```python + ```text q_0: ─■─ │ q_1: ─■─ @@ -75,12 +75,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.mdx index 64fc3017969..3dad13c09aa 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder As an example, a ripple-carry adder circuit that performs addition on two 3-qubit sized registers with a carry-in bit (`kind="full"`) is as follows: - ```python + ```text ┌──────┐ ┌──────┐ cin_0: ┤2 ├─────────────────────────────────────┤2 ├ │ │┌──────┐ ┌──────┐│ │ @@ -41,7 +41,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder The circuit diagram for the fixed-point adder (`kind="fixed"`) on 3-qubit sized inputs is - ```python + ```text ┌──────┐┌──────┐ ┌──────┐┌──────┐ a_0: ┤0 ├┤2 ├────────────────┤2 ├┤0 ├ │ ││ │┌──────┐┌──────┐│ ││ │ @@ -91,6 +91,10 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -131,7 +135,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CHGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CHGate.mdx index 4deca7e59ec..80923de9a38 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CHGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CHGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.CHGate **Circuit symbol:** - ```python + ```text q_0: ──■── ┌─┴─┐ q_1: ┤ H ├ @@ -42,7 +42,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌───┐ q_0: ┤ H ├ └─┬─┘ @@ -90,12 +90,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CPhaseGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CPhaseGate.mdx index d3a0610f30a..967d1090a48 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CPhaseGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CPhaseGate.mdx @@ -19,9 +19,9 @@ python_api_name: qiskit.circuit.library.CPhaseGate **Circuit symbol:** - ```python + ```text q_0: ─■── - │λ + │θ q_1: ─■── ``` @@ -34,7 +34,7 @@ I \otimes |0\rangle\langle 0| + P \otimes |1\rangle\langle 1| = 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ -0 & 0 & 0 & e^{i\lambda} +0 & 0 & 0 & e^{i\theta} \end{pmatrix} $$ @@ -71,12 +71,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CRXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CRXGate.mdx index 8ab64ff6280..cb96e2fdc20 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CRXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CRXGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.CRXGate **Circuit symbol:** - ```python + ```text q_0: ────■──── ┌───┴───┐ q_1: ┤ Rx(ϴ) ├ @@ -42,7 +42,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌───────┐ q_0: ┤ Rx(ϴ) ├ └───┬───┘ @@ -92,12 +92,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CRYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CRYGate.mdx index f600012e350..c8a4abaf411 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CRYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CRYGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.CRYGate **Circuit symbol:** - ```python + ```text q_0: ────■──── ┌───┴───┐ q_1: ┤ Ry(ϴ) ├ @@ -42,7 +42,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌───────┐ q_0: ┤ Ry(ϴ) ├ └───┬───┘ @@ -92,12 +92,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CRZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CRZGate.mdx index dc9793a8835..a0893fa65d2 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CRZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CRZGate.mdx @@ -19,44 +19,44 @@ python_api_name: qiskit.circuit.library.CRZGate **Circuit symbol:** - ```python + ```text q_0: ────■──── ┌───┴───┐ - q_1: ┤ Rz(λ) ├ + q_1: ┤ Rz(θ) ├ └───────┘ ``` **Matrix representation:** $$ -CRZ(\lambda)\ q_0, q_1 = -I \otimes |0\rangle\langle 0| + RZ(\lambda) \otimes |1\rangle\langle 1| = +CRZ(\theta)\ q_0, q_1 = +I \otimes |0\rangle\langle 0| + RZ(\theta) \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & e^{-i\frac{\lambda}{2}} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ -0 & 0 & 0 & e^{i\frac{\lambda}{2}} +0 & 0 & 0 & e^{i\frac{\theta}{2}} \end{pmatrix} $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌───────┐ - q_0: ┤ Rz(λ) ├ + q_0: ┤ Rz(θ) ├ └───┬───┘ q_1: ────■──── ``` $$ -CRZ(\lambda)\ q_1, q_0 = -|0\rangle\langle 0| \otimes I + |1\rangle\langle 1| \otimes RZ(\lambda) = +CRZ(\theta)\ q_1, q_0 = +|0\rangle\langle 0| \otimes I + |1\rangle\langle 1| \otimes RZ(\theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ -0 & 0 & e^{-i\frac{\lambda}{2}} & 0 \\ -0 & 0 & 0 & e^{i\frac{\lambda}{2}} +0 & 0 & e^{-i\frac{\theta}{2}} & 0 \\ +0 & 0 & 0 & e^{i\frac{\theta}{2}} \end{pmatrix} $$ @@ -94,12 +94,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CSGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CSGate.mdx index 469bd7d4744..935288777c6 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CSGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CSGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.CSGate **Circuit symbol:** - ```python + ```text q_0: ──■── ┌─┴─┐ q_1: ┤ S ├ @@ -66,12 +66,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CSXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CSXGate.mdx index 5e32be34e56..963841b9591 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CSXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CSXGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.CSXGate **Circuit symbol:** - ```python + ```text q_0: ──■── ┌─┴──┐ q_1: ┤ √X ├ @@ -40,7 +40,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌────┐ q_0: ┤ √X ├ └─┬──┘ @@ -88,12 +88,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CSdgGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CSdgGate.mdx index 3f99c4978e8..80f3c4ea161 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CSdgGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CSdgGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.CSdgGate **Circuit symbol:** - ```python + ```text q_0: ───■─── ┌──┴──┐ q_1: ┤ Sdg ├ @@ -66,12 +66,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CSwapGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CSwapGate.mdx index 5046c9e9887..9fe36c13a3e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CSwapGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CSwapGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.CSwapGate **Circuit symbol:** - ```python + ```text q_0: ─■─ │ q_1: ─X─ @@ -46,7 +46,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_2. Thus a textbook matrix for this gate will be: - ```python + ```text q_0: ─X─ │ q_1: ─X─ @@ -109,12 +109,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CU1Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CU1Gate.mdx index b8601c86075..ab33f37d328 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CU1Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CU1Gate.mdx @@ -30,22 +30,22 @@ $$ **Circuit symbol:** - ```python + ```text q_0: ─■── - │λ + │θ q_1: ─■── ``` **Matrix representation:** $$ -CU1(\lambda) = +CU1(\theta) = I \otimes |0\rangle\langle 0| + U1 \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ -0 & 0 & 0 & e^{i\lambda} +0 & 0 & 0 & e^{i\theta} \end{pmatrix} $$ @@ -82,12 +82,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CU3Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CU3Gate.mdx index b563d98dabb..b7781fbfda4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CU3Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CU3Gate.mdx @@ -31,7 +31,7 @@ $$ **Circuit symbol:** - ```python + ```text q_0: ──────■────── ┌─────┴─────┐ q_1: ┤ U3(ϴ,φ,λ) ├ @@ -57,7 +57,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌───────────┐ q_0: ┤ U3(ϴ,φ,λ) ├ └─────┬─────┘ @@ -108,12 +108,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CUGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CUGate.mdx index cdd6f779256..1590d0235b3 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CUGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CUGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.CUGate **Circuit symbol:** - ```python + ```text q_0: ──────■────── ┌─────┴──────┐ q_1: ┤ U(ϴ,φ,λ,γ) ├ @@ -47,7 +47,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌────────────┐ q_0: ┤ U(ϴ,φ,λ,γ) ├ └─────┬──────┘ @@ -98,12 +98,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CXGate.mdx index d67e68f5794..581a6b1a95e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CXGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.CXGate **Circuit symbol:** - ```python + ```text q_0: ──■── ┌─┴─┐ q_1: ┤ X ├ @@ -40,7 +40,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌───┐ q_0: ┤ X ├ └─┬─┘ @@ -96,12 +96,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CYGate.mdx index bf53437c129..2e34759330b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CYGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.CYGate **Circuit symbol:** - ```python + ```text q_0: ──■── ┌─┴─┐ q_1: ┤ Y ├ @@ -40,7 +40,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In many textbooks, controlled gates are presented with the assumption of more significant qubits as control, which in our case would be q\_1. Thus a textbook matrix for this gate will be: - ```python + ```text ┌───┐ q_0: ┤ Y ├ └─┬─┘ @@ -88,12 +88,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CZGate.mdx index 29ed630a693..6612cf80d00 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CZGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.CZGate **Circuit symbol:** - ```python + ```text q_0: ─■─ │ q_1: ─■─ @@ -69,12 +69,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.DCXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.DCXGate.mdx index dda61f5ef67..0c64e820c87 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.DCXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.DCXGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.DCXGate Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") with the [`dcx()`](qiskit.circuit.QuantumCircuit#dcx "qiskit.circuit.QuantumCircuit.dcx") method. - ```python + ```text ┌───┐ q_0: ──■──┤ X ├ ┌─┴─┐└─┬─┘ @@ -66,12 +66,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.mdx index 1112f7a4832..d294ae870ea 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.Diagonal Circuit symbol: - ```python + ```text ┌───────────┐ q_0: ┤0 ├ │ │ @@ -73,6 +73,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.DiagonalGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.DiagonalGate.mdx index f88c7d9f440..d0d0c08503e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.DiagonalGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.DiagonalGate.mdx @@ -44,12 +44,20 @@ python_api_name: qiskit.circuit.library.DiagonalGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.mdx index 0f643aeb6c6..f19da6327d6 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.DraperQFTAdder As an example, a non-fixed\_point QFT adder circuit that performs addition on two 2-qubit sized registers is as follows: - ```python + ```text a_0: ─────────■──────■────────────────────────■──────────────── │ │ │ a_1: ─────────┼──────┼────────■──────■────────┼──────────────── @@ -62,6 +62,10 @@ python_api_name: qiskit.circuit.library.DraperQFTAdder Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ECRGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ECRGate.mdx index 69069e7c3a4..dc59e6fa7cf 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ECRGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ECRGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.ECRGate **Circuit Symbol:** - ```python + ```text ┌─────────┐ ┌────────────┐┌────────┐┌─────────────┐ q_0: ┤0 ├ q_0: ┤0 ├┤ RX(pi) ├┤0 ├ │ ECR │ = │ RZX(pi/4) │└────────┘│ RZX(-pi/4) │ @@ -42,7 +42,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q\_0, q\_1) which results in the $X \otimes Z$ tensor order. Instead, if we apply it on (q\_1, q\_0), the matrix will be $Z \otimes X$: - ```python + ```text ┌─────────┐ q_0: ┤1 ├ │ ECR │ @@ -90,12 +90,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.mdx index b24dfc3f7cc..75723150973 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.EfficientSU2 On 3 qubits and using the Pauli $Y$ and $Z$ su2\_gates as single qubit gates, the hardware efficient SU(2) circuit is represented by: - ```python + ```text ┌──────────┐┌──────────┐ ░ ░ ░ ┌───────────┐┌───────────┐ ┤ RY(θ[0]) ├┤ RZ(θ[3]) ├─░────────■───░─ ... ─░─┤ RY(θ[12]) ├┤ RZ(θ[15]) ├ ├──────────┤├──────────┤ ░ ┌─┴─┐ ░ ░ ├───────────┤├───────────┤ @@ -88,6 +88,10 @@ python_api_name: qiskit.circuit.library.EfficientSU2 Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx index 4d830feda4d..80ea44ddfde 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx @@ -38,6 +38,10 @@ python_api_name: qiskit.circuit.library.EvolvedOperatorAnsatz Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.mdx index 527071ca50a..f93538979b8 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.mdx @@ -42,6 +42,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.mdx index f1a11bae679..a2ddd314373 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.mdx @@ -107,6 +107,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx index aa0847953e7..6d95a9c20cb 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx @@ -56,6 +56,10 @@ python_api_name: qiskit.circuit.library.FourierChecking Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.mdx index e8a5c0cb19b..ca3a544c551 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.mdx @@ -47,6 +47,10 @@ python_api_name: qiskit.circuit.library.FunctionalPauliRotations Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GMS.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GMS.mdx index 088a6bb5fa4..defbf6335a9 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GMS.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GMS.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.GMS **Circuit symbol:** - ```python + ```text ┌───────────┐ q_0: ┤0 ├ │ │ @@ -65,6 +65,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GR.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GR.mdx index 2958004a986..97930467c0a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GR.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GR.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.GR **Circuit symbol:** - ```python + ```text ┌──────────┐ q_0: ┤0 ├ │ │ @@ -59,6 +59,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GRX.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GRX.mdx index e2d1a7b44e2..cc84083d6bf 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GRX.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GRX.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.GRX **Circuit symbol:** - ```python + ```text ┌──────────┐ q_0: ┤0 ├ │ │ @@ -58,6 +58,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GRY.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GRY.mdx index d4198a28ea3..325d5af30ab 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GRY.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GRY.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.GRY **Circuit symbol:** - ```python + ```text ┌──────────┐ q_0: ┤0 ├ │ │ @@ -58,6 +58,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.mdx index ccb48f0a768..e6c212af1f1 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.GRZ **Circuit symbol:** - ```python + ```text ┌──────────┐ q_0: ┤0 ├ │ │ @@ -58,6 +58,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GlobalPhaseGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GlobalPhaseGate.mdx index 608291f2566..64d7a024ec7 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GlobalPhaseGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GlobalPhaseGate.mdx @@ -58,12 +58,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx index 80c4b610d6f..022708da62c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx @@ -63,6 +63,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx index b1a04b2ea73..edcc5ac6800 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx @@ -46,7 +46,7 @@ $$ Note that you can easily construct a phase oracle from a bitflip oracle by sandwiching the controlled X gate on the result qubit by a X and H gate. For instance - ```python + ```text Bitflip oracle Phaseflip oracle q_0: ──■── q_0: ────────────■──────────── ┌─┴─┐ ┌───┐┌───┐┌─┴─┐┌───┐┌───┐ @@ -174,6 +174,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HGate.mdx index abc108b3827..5996f1dae04 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.HGate **Circuit symbol:** - ```python + ```text ┌───┐ q_0: ┤ H ├ └───┘ @@ -64,12 +64,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx index d27b95fd79b..57c048ab74c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier Circuit uses the approach from \[1]. As an example, a multiplier circuit that performs a non-modular multiplication on two 3-qubit sized registers with the default adder is as follows (where `Adder` denotes the `CDKMRippleCarryAdder`): - ```python + ```text a_0: ────■───────────────────────── │ a_1: ────┼─────────■─────────────── @@ -75,6 +75,10 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HamiltonianGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HamiltonianGate.mdx index 544c7fdca3c..08df2906b33 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HamiltonianGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HamiltonianGate.mdx @@ -52,12 +52,20 @@ python_api_name: qiskit.circuit.library.HamiltonianGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx index 9a30bc2fc1f..9fd4d39501f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx @@ -65,6 +65,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.IGate.mdx index d11d457a1ef..bd6dab32b78 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.IGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.IGate.mdx @@ -28,7 +28,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌───┐ q_0: ┤ I ├ └───┘ @@ -63,12 +63,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx index 39b159c42c1..3f47916c699 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.IQP # IQP - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Instantaneous quantum polynomial (IQP) circuit. @@ -31,6 +31,10 @@ python_api_name: qiskit.circuit.library.IQP Create IQP circuit. + + The class `qiskit.circuit.library.iqp.IQP` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Use the qiskit.circuit.library.iqp function instead. + + **Parameters** **interactions** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)") *| np.ndarray*) – input n-by-n symmetric matrix. @@ -53,6 +57,10 @@ python_api_name: qiskit.circuit.library.IQP Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -93,7 +101,7 @@ python_api_name: qiskit.circuit.library.IQP ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Initialize.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Initialize.mdx index 8916f6477b1..5d187c2ecec 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Initialize.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Initialize.mdx @@ -62,12 +62,20 @@ python_api_name: qiskit.circuit.library.Initialize The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx index c46f6f58164..bdca917b55d 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.InnerProduct # InnerProduct - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A 2n-qubit Boolean function that computes the inner product of two n-qubit vectors over $F_2$. @@ -22,7 +22,7 @@ $$ The corresponding unitary is a diagonal, which induces a -1 phase on any inputs where the inner product of the top and bottom registers is 1. Otherwise it keeps the input intact. - ```python + ```text q0_0: ─■────────── │ q0_1: ─┼──■─────── @@ -46,6 +46,10 @@ $$ Return a circuit to compute the inner product of 2 n-qubit registers. + + The class `qiskit.circuit.library.boolean_logic.inner_product.InnerProduct` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Use qiskit.circuit.library.InnerProductGate instead. + + **Parameters** **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – width of top and bottom registers (half total circuit width) @@ -64,6 +68,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -104,7 +112,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.InnerProductGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProductGate.mdx new file mode 100644 index 00000000000..6d287989b21 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProductGate.mdx @@ -0,0 +1,164 @@ +--- +title: InnerProductGate +description: API reference for qiskit.circuit.library.InnerProductGate +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.circuit.library.InnerProductGate +--- + +# InnerProductGate + + + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") + + A 2n-qubit Boolean function that computes the inner product of two n-qubit vectors over $F_2$. + + This implementation is a phase oracle which computes the following transform. + +$$ +\mathcal{IP}_{2n} : F_2^{2n} \rightarrow {-1, 1} +\mathcal{IP}_{2n}(x_1, \cdots, x_n, y_1, \cdots, y_n) = (-1)^{x.y} +$$ + + The corresponding unitary is a diagonal, which induces a -1 phase on any inputs where the inner product of the top and bottom registers is 1. Otherwise, it keeps the input intact. + + ```python + q0_0: ─■────────── + │ + q0_1: ─┼──■─────── + │ │ + q0_2: ─┼──┼──■──── + │ │ │ + q0_3: ─┼──┼──┼──■─ + │ │ │ │ + q1_0: ─■──┼──┼──┼─ + │ │ │ + q1_1: ────■──┼──┼─ + │ │ + q1_2: ───────■──┼─ + │ + q1_3: ──────────■─ + ``` + + **Reference Circuit:** + + ![../\_images/qiskit-circuit-library-InnerProductGate-1.png](/images/api/qiskit/dev/qiskit-circuit-library-InnerProductGate-1.png) + + **Parameters** + + **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – width of top and bottom registers (half total number of qubits). + + ## Attributes + + ### base\_class + + + Get the base class of this instruction. This is guaranteed to be in the inheritance tree of `self`. + + The “base class” of an instruction is the lowest class in its inheritance tree that the object should be considered entirely compatible with for \_all\_ circuit applications. This typically means that the subclass is defined purely to offer some sort of programmer convenience over the base class, and the base class is the “true” class for a behavioral perspective. In particular, you should *not* override [`base_class`](#qiskit.circuit.library.InnerProductGate.base_class "qiskit.circuit.library.InnerProductGate.base_class") if you are defining a custom version of an instruction that will be implemented differently by hardware, such as an alternative measurement strategy, or a version of a parametrized gate with a particular set of parameters for the purposes of distinguishing it in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") from the full parametrized gate. + + This is often exactly equivalent to `type(obj)`, except in the case of singleton instances of standard-library instructions. These singleton instances are special subclasses of their base class, and this property will return that base. For example: + + ```python + >>> isinstance(XGate(), XGate) + True + >>> type(XGate()) is XGate + False + >>> XGate().base_class is XGate + True + ``` + + In general, you should not rely on the precise class of an instruction; within a given circuit, it is expected that `Instruction.name` should be a more suitable discriminator in most situations. + + + ### condition + + + The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + + + ### condition\_bits + + + Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + + + ### decompositions + + + Get the decompositions of the instruction from the SessionEquivalenceLibrary. + + + ### definition + + + Return definition in terms of other basic gates. + + + ### duration + + + Get the duration. + + + The property `qiskit.circuit.instruction.Instruction.duration` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. + + + + ### label + + + Return instruction label + + + ### mutable + + + Is this instance is a mutable unique instance or not. + + If this attribute is `False` the gate instance is a shared singleton and is not mutable. + + + ### name + + + Return the name. + + + ### num\_clbits + + + Return the number of clbits. + + + ### num\_qubits + + + Return the number of qubits. + + + ### params + + + The parameters of this `Instruction`. Ideally these will be gate angles. + + + ### unit + + + Get the time unit of duration. + + + The property `qiskit.circuit.instruction.Instruction.unit` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. + + + + diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx index 33ecf0e21c4..6ecae27da17 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx @@ -44,6 +44,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -94,7 +98,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Isometry.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Isometry.mdx index 000ff56be7d..ff661d56a50 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Isometry.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Isometry.mdx @@ -55,12 +55,20 @@ python_api_name: qiskit.circuit.library.Isometry The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx index dd095ab8faa..aeb4b9b3752 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx @@ -79,6 +79,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -119,7 +123,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.LinearFunction.mdx index 20b21c0acce..a009d0fb8bf 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearFunction.mdx @@ -21,7 +21,7 @@ python_api_name: qiskit.circuit.library.LinearFunction **Example:** the circuit - ```python + ```text q_0: ──■── ┌─┴─┐ q_1: ┤ X ├ @@ -81,12 +81,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx index 17e531a8b99..a269616435f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.LinearPauliRotations For a register of state qubits $|x\rangle$, a target qubit $|0\rangle$ and the basis `'Y'` this circuit acts as: - ```python + ```text q_0: ─────────────────────────■───────── ... ────────────────────── │ . @@ -70,6 +70,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -110,7 +114,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx index 6d69f20c921..c5a206c8f99 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.MCMT For example, the H gate controlled on 3 qubits and acting on 2 target qubit is represented as: - ```python + ```text ───■──── │ ───■──── @@ -61,6 +61,10 @@ python_api_name: qiskit.circuit.library.MCMT Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -101,7 +105,7 @@ python_api_name: qiskit.circuit.library.MCMT ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTGate.mdx index fa2ca2a61fe..53403e2f7dc 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTGate.mdx @@ -65,12 +65,20 @@ python_api_name: qiskit.circuit.library.MCMTGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx index db9554ec614..9779adc955b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx @@ -72,6 +72,10 @@ python_api_name: qiskit.circuit.library.MCMTVChain Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -112,7 +116,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCPhaseGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCPhaseGate.mdx index 8aedb6b9148..388eea71148 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCPhaseGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCPhaseGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.MCPhaseGate **Circuit symbol:** - ```python + ```text q_0: ───■──── │ . @@ -63,12 +63,20 @@ python_api_name: qiskit.circuit.library.MCPhaseGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCXGate.mdx index 2a1c9dbe27c..acc2e5208aa 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCXGate.mdx @@ -44,12 +44,20 @@ python_api_name: qiskit.circuit.library.MCXGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCXGrayCode.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCXGrayCode.mdx index 04302a0681a..c369f0ebb9e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCXGrayCode.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCXGrayCode.mdx @@ -46,12 +46,20 @@ python_api_name: qiskit.circuit.library.MCXGrayCode The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCXRecursive.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCXRecursive.mdx index e95deaa18f2..6f8a85fe7c5 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCXRecursive.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCXRecursive.mdx @@ -53,12 +53,20 @@ python_api_name: qiskit.circuit.library.MCXRecursive The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCXVChain.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCXVChain.mdx index 940c10001f5..0013cf7d72a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCXVChain.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCXVChain.mdx @@ -50,12 +50,20 @@ python_api_name: qiskit.circuit.library.MCXVChain The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### ctrl\_state diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MSGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MSGate.mdx index b326ca82208..d1a71d1d7d8 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MSGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MSGate.mdx @@ -48,12 +48,20 @@ python_api_name: qiskit.circuit.library.MSGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx index f69c495b3cb..a6a95e07161 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.NLocal For instance, a rotation block on 2 qubits and an entanglement block on 4 qubits using `'linear'` entanglement yields the following circuit. - ```python + ```text ┌──────┐ ░ ┌──────┐ ░ ┌──────┐ ┤0 ├─░─┤0 ├──────────────── ... ─░─┤0 ├ │ Rot │ ░ │ │┌──────┐ ░ │ Rot │ @@ -74,6 +74,10 @@ python_api_name: qiskit.circuit.library.NLocal Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -160,7 +164,7 @@ python_api_name: qiskit.circuit.library.NLocal ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx index a8a1e4ea800..52689ec1264 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.OR # OR - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A circuit implementing the logical OR operation on a number of qubits. @@ -25,6 +25,10 @@ python_api_name: qiskit.circuit.library.OR Create a new logical OR circuit. + + The class `qiskit.circuit.library.boolean_logic.quantum_or.OR` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Use qiskit.circuit.library.OrGate instead. + + **Parameters** * **num\_variable\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The qubits of which the OR is computed. The result will be written into an additional result qubit. @@ -45,6 +49,10 @@ python_api_name: qiskit.circuit.library.OR Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -85,7 +93,7 @@ python_api_name: qiskit.circuit.library.OR ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.OrGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.OrGate.mdx new file mode 100644 index 00000000000..302d55c3821 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.circuit.library.OrGate.mdx @@ -0,0 +1,164 @@ +--- +title: OrGate +description: API reference for qiskit.circuit.library.OrGate +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.circuit.library.OrGate +--- + +# OrGate + + + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") + + A gate representing the logical OR operation on a number of qubits. + + For the OR operation the state $|1\rangle$ is interpreted as `True`. The result qubit is flipped, if the state of any variable qubit is `True`. The OR is implemented using a multi-open-controlled X gate (i.e. flips if the state is $|0\rangle$) and applying an X gate on the result qubit. Using a list of flags, qubits can be skipped or negated. + + The OrGate gate without special flags: + + ![../\_images/qiskit-circuit-library-OrGate-1.png](/images/api/qiskit/dev/qiskit-circuit-library-OrGate-1.png) + + Using flags we can negate qubits or skip them. For instance, if we have 5 qubits and want to return `True` if the first qubit is `False` or one of the last two are `True` we use the flags `[-1, 0, 0, 1, 1]`. + + ![../\_images/qiskit-circuit-library-OrGate-2.png](/images/api/qiskit/dev/qiskit-circuit-library-OrGate-2.png) + + **Parameters** + + * **num\_variable\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The qubits of which the AND is computed. The result will be written into an additional result qubit. + * **flags** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*] | None*) – A list of +1/0/-1 marking negations or omissions of qubits. + + ## Attributes + + ### base\_class + + + Get the base class of this instruction. This is guaranteed to be in the inheritance tree of `self`. + + The “base class” of an instruction is the lowest class in its inheritance tree that the object should be considered entirely compatible with for \_all\_ circuit applications. This typically means that the subclass is defined purely to offer some sort of programmer convenience over the base class, and the base class is the “true” class for a behavioral perspective. In particular, you should *not* override [`base_class`](#qiskit.circuit.library.OrGate.base_class "qiskit.circuit.library.OrGate.base_class") if you are defining a custom version of an instruction that will be implemented differently by hardware, such as an alternative measurement strategy, or a version of a parametrized gate with a particular set of parameters for the purposes of distinguishing it in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") from the full parametrized gate. + + This is often exactly equivalent to `type(obj)`, except in the case of singleton instances of standard-library instructions. These singleton instances are special subclasses of their base class, and this property will return that base. For example: + + ```python + >>> isinstance(XGate(), XGate) + True + >>> type(XGate()) is XGate + False + >>> XGate().base_class is XGate + True + ``` + + In general, you should not rely on the precise class of an instruction; within a given circuit, it is expected that `Instruction.name` should be a more suitable discriminator in most situations. + + + ### condition + + + The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + + + ### condition\_bits + + + Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + + + + ### decompositions + + + Get the decompositions of the instruction from the SessionEquivalenceLibrary. + + + ### definition + + + Return definition in terms of other basic gates. + + + ### duration + + + Get the duration. + + + The property `qiskit.circuit.instruction.Instruction.duration` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. + + + + ### label + + + Return instruction label + + + ### mutable + + + Is this instance is a mutable unique instance or not. + + If this attribute is `False` the gate instance is a shared singleton and is not mutable. + + + ### name + + + Return the name. + + + ### num\_clbits + + + Return the number of clbits. + + + ### num\_qubits + + + Return the number of qubits. + + + ### params + + + The parameters of this `Instruction`. Ideally these will be gate angles. + + + ### unit + + + Get the time unit of duration. + + + The property `qiskit.circuit.instruction.Instruction.unit` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. + + + + ## Methods + + ### inverse + + + Return inverted OR gate (itself). + + **Parameters** + + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + + **Returns** + + inverse gate (self-inverse). + + **Return type** + + [OrGate](#qiskit.circuit.library.OrGate "qiskit.circuit.library.OrGate") + + + diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx index 67eb42b01eb..8084f70fea1 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx @@ -96,12 +96,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx index 21bfd4a74a1..f562a7d9caf 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx @@ -37,7 +37,7 @@ $$ which will produce blocks of the form - ```python + ```text ┌───┐┌─────────────┐┌──────────┐ ┌───────────┐ ┤ H ├┤ P(2.0*x[0]) ├┤ RX(pi/2) ├──■──────────────────────────────────────■──┤ RX(-pi/2) ├ ├───┤├─────────────┤├──────────┤┌─┴─┐┌────────────────────────────────┐┌─┴─┐├───────────┤ @@ -137,6 +137,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -233,7 +237,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliGate.mdx index a3078f6712c..05e04e46271 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliGate.mdx @@ -55,12 +55,20 @@ python_api_name: qiskit.circuit.library.PauliGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx index d46ee204bdf..404f4036030 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign For instance, the circuit could look like this (but note that choosing a different seed yields different Pauli rotations). - ```python + ```text ┌─────────┐┌──────────┐ ░ ┌──────────┐ ░ ┌──────────┐ q_0: ┤ RY(π/4) ├┤ RZ(θ[0]) ├─■─────░─┤ RY(θ[4]) ├─■─────░──┤ RZ(θ[8]) ├ ├─────────┤├──────────┤ │ ░ ├──────────┤ │ ░ ├──────────┤ @@ -72,6 +72,10 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -158,7 +162,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx index 868c618c74c..d4d27e1ffdf 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx @@ -47,6 +47,10 @@ python_api_name: qiskit.circuit.library.Permutation Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -87,7 +91,7 @@ python_api_name: qiskit.circuit.library.Permutation ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PermutationGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PermutationGate.mdx index 655381ce9f4..ec3e7c2aec2 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PermutationGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PermutationGate.mdx @@ -58,12 +58,20 @@ python_api_name: qiskit.circuit.library.PermutationGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx index 0a552891de7..53f7ec902c1 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx @@ -64,6 +64,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -104,7 +108,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseGate.mdx index e4b5023a515..22510c3c3ba 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseGate.mdx @@ -19,41 +19,41 @@ python_api_name: qiskit.circuit.library.PhaseGate **Circuit symbol:** - ```python + ```text ┌──────┐ - q_0: ┤ P(λ) ├ + q_0: ┤ P(θ) ├ └──────┘ ``` **Matrix Representation:** $$ -P(\lambda) = +P(\theta) = \begin{pmatrix} 1 & 0 \\ -0 & e^{i\lambda} +0 & e^{i\theta} \end{pmatrix} $$ **Examples:** > $$ - > P(\lambda = \pi) = Z + > P(\theta = \pi) = Z > $$ > > $$ - > P(\lambda = \pi/2) = S + > P(\theta = \pi/2) = S > $$ > > $$ - > P(\lambda = \pi/4) = T + > P(\theta = \pi/4) = T > $$ `RZGate`: This gate is equivalent to RZ up to a phase factor. > $$ - > P(\lambda) = e^{i{\lambda}/2} RZ(\lambda) + > P(\theta) = e^{i{\theta}/2} RZ(\theta) > $$ Reference for virtual Z gate implementation: [1612.00858](https://arxiv.org/abs/1612.00858) @@ -88,12 +88,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx index 655223e0868..9ffbde02921 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx @@ -41,6 +41,10 @@ python_api_name: qiskit.circuit.library.PhaseOracle Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -81,7 +85,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### instances - + ### layout @@ -298,7 +302,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle The following is an example of a CNF expressed in the DIMACS format: - ```python + ```text c DIMACS CNF file with 3 satisfying assignments: 1 -2 3, -1 -2 -3, 1 2 -3. p cnf 3 5 -1 -2 -3 0 diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx index 734b684fd8d..c3836d52f98 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx @@ -76,6 +76,10 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -136,7 +140,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx index 3a9234a8dd9..2d4b7ca38e4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx @@ -69,6 +69,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -119,7 +123,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx index b3e37767a52..041b849a048 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx @@ -117,6 +117,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -177,7 +181,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx index e6df906639b..12e08aad1a8 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx @@ -69,6 +69,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -137,7 +141,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx index 3af103c3618..39ec39ef3c3 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx @@ -42,6 +42,10 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -152,7 +156,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QFT.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QFT.mdx index 74e8c1c09f5..08ddac3a3a6 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QFT.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QFT.mdx @@ -70,6 +70,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -130,7 +134,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QFTGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QFTGate.mdx index 9dfe5b2ac6e..e2858e2f911 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QFTGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QFTGate.mdx @@ -50,12 +50,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.mdx index 255c0462554..56ff6744c75 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.mdx @@ -66,6 +66,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -106,7 +110,7 @@ $$ ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.mdx index 91beefcd76e..f7bf977b671 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.mdx @@ -53,6 +53,10 @@ python_api_name: qiskit.circuit.library.QuantumVolume Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -93,7 +97,7 @@ python_api_name: qiskit.circuit.library.QuantumVolume ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RC3XGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RC3XGate.mdx index 8981c2e1825..45cea367349 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RC3XGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RC3XGate.mdx @@ -48,12 +48,20 @@ python_api_name: qiskit.circuit.library.RC3XGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RCCXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RCCXGate.mdx index 78aa0a29ec9..8de02d30b27 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RCCXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RCCXGate.mdx @@ -48,12 +48,20 @@ python_api_name: qiskit.circuit.library.RCCXGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.mdx index 21d7c5dedbf..4db240504a3 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier Multiplication in this circuit is implemented using the procedure of Fig. 3 in \[1], where weighted sum rotations are implemented as given in Fig. 5 in \[1]. QFT is used on the output register and is followed by rotations controlled by input registers. The rotations transform the state into the product of two input registers in QFT base, which is reverted from QFT base using inverse QFT. As an example, a circuit that performs a modular QFT multiplication on two 2-qubit sized input registers with an output register of 2 qubits, is as follows: - ```python + ```text a_0: ────────────────────────────────────────■───────■──────■──────■──────────────── │ │ │ │ a_1: ─────────■───────■───────■───────■──────┼───────┼──────┼──────┼──────────────── @@ -54,6 +54,10 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -94,7 +98,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RGate.mdx index eccbc17ae25..05f492140bf 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.RGate **Circuit symbol:** - ```python + ```text ┌──────┐ q_0: ┤ R(ϴ) ├ └──────┘ @@ -64,12 +64,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RVGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RVGate.mdx index 8f3162410ed..9975742ca2a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RVGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RVGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.RVGate **Circuit symbol:** - ```python + ```text ┌─────────────────┐ q_0: ┤ RV(v_x,v_y,v_z) ├ └─────────────────┘ @@ -76,12 +76,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RXGate.mdx index b5d9ce2713b..1cc7527d069 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RXGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.RXGate **Circuit symbol:** - ```python + ```text ┌───────┐ q_0: ┤ Rx(ϴ) ├ └───────┘ @@ -64,12 +64,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RXXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RXXGate.mdx index 234c462ac0e..f68198847f2 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RXXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RXXGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.RXXGate **Circuit Symbol:** - ```python + ```text ┌─────────┐ q_0: ┤1 ├ │ Rxx(ϴ) │ @@ -90,12 +90,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RYGate.mdx index 2ccd8bcee78..a15181f5342 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RYGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.RYGate **Circuit symbol:** - ```python + ```text ┌───────┐ q_0: ┤ Ry(ϴ) ├ └───────┘ @@ -64,12 +64,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RYYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RYYGate.mdx index 3c19a2c0af3..887b4df246e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RYYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RYYGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.RYYGate **Circuit Symbol:** - ```python + ```text ┌─────────┐ q_0: ┤1 ├ │ Ryy(ϴ) │ @@ -90,12 +90,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RZGate.mdx index 70e71f05cac..3233a7e3b68 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RZGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.RZGate **Circuit symbol:** - ```python + ```text ┌───────┐ q_0: ┤ Rz(λ) ├ └───────┘ @@ -74,12 +74,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RZXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RZXGate.mdx index f95eb2aa01a..a86b01fe216 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RZXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RZXGate.mdx @@ -21,7 +21,7 @@ python_api_name: qiskit.circuit.library.RZXGate **Circuit Symbol:** - ```python + ```text ┌─────────┐ q_0: ┤0 ├ │ Rzx(θ) │ @@ -46,7 +46,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q\_0, q\_1) which results in the $X \otimes Z$ tensor order. Instead, if we apply it on (q\_1, q\_0), the matrix will be $Z \otimes X$: - ```python + ```text ┌─────────┐ q_0: ┤1 ├ │ Rzx(θ) │ @@ -130,12 +130,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RZZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RZZGate.mdx index fd1e618c297..74ff099229d 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RZZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RZZGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.RZZGate **Circuit Symbol:** - ```python + ```text q_0: ───■──── │zz(θ) q_1: ───■──── @@ -102,12 +102,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.mdx index b82c5013a6f..d2d9a19760b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes For example a `RealAmplitudes` circuit with 2 repetitions on 3 qubits with `'reverse_linear'` entanglement is - ```python + ```text ┌──────────┐ ░ ░ ┌──────────┐ ░ ░ ┌──────────┐ ┤ Ry(θ[0]) ├─░────────■───░─┤ Ry(θ[3]) ├─░────────■───░─┤ Ry(θ[6]) ├ ├──────────┤ ░ ┌─┴─┐ ░ ├──────────┤ ░ ┌─┴─┐ ░ ├──────────┤ @@ -126,6 +126,10 @@ python_api_name: qiskit.circuit.library.RealAmplitudes Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -212,7 +216,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SGate.mdx index ff1754deaef..d3ef1885b66 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SGate.mdx @@ -30,7 +30,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌───┐ q_0: ┤ S ├ └───┘ @@ -67,12 +67,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SXGate.mdx index e062bfdd237..a731bd2a693 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SXGate.mdx @@ -26,7 +26,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌────┐ q_0: ┤ √X ├ └────┘ @@ -73,12 +73,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SXdgGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SXdgGate.mdx index 8e86e7649e8..608bcd7eefb 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SXdgGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SXdgGate.mdx @@ -63,12 +63,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SdgGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SdgGate.mdx index cf1667ac178..fb781e84c2a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SdgGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SdgGate.mdx @@ -30,7 +30,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌─────┐ q_0: ┤ Sdg ├ └─────┘ @@ -67,12 +67,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.StatePreparation.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.StatePreparation.mdx index ed7983000e2..b57f71fd83e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.StatePreparation.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.StatePreparation.mdx @@ -69,12 +69,20 @@ python_api_name: qiskit.circuit.library.StatePreparation The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SwapGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SwapGate.mdx index c6f676b2195..59b76cc600f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SwapGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SwapGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.SwapGate **Circuit symbol:** - ```python + ```text q_0: ─X─ │ q_1: ─X─ @@ -72,12 +72,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.TGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.TGate.mdx index 9aac4f303a9..7c4571500b9 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.TGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.TGate.mdx @@ -30,7 +30,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌───┐ q_0: ┤ T ├ └───┘ @@ -67,12 +67,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.TdgGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.TdgGate.mdx index 46a8f0e6414..780a694c469 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.TdgGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.TdgGate.mdx @@ -30,7 +30,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌─────┐ q_0: ┤ Tdg ├ └─────┘ @@ -67,12 +67,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.mdx index 8a5aa3a2ce3..47b2faac20a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.mdx @@ -138,6 +138,10 @@ python_api_name: qiskit.circuit.library.TwoLocal Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits @@ -224,7 +228,7 @@ python_api_name: qiskit.circuit.library.TwoLocal ### instances - + ### layout diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.U1Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.U1Gate.mdx index 140f28d161c..79591b55a36 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.U1Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.U1Gate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.U1Gate This gate is deprecated. Instead, the following replacements should be used $$ -U1(\lambda) = P(\lambda)= U(0,0,\lambda) +U1(\theta) = P(\theta)= U(0,0,\theta) $$ ```python @@ -30,41 +30,41 @@ $$ **Circuit symbol:** - ```python + ```text ┌───────┐ - q_0: ┤ U1(λ) ├ + q_0: ┤ U1(θ) ├ └───────┘ ``` **Matrix Representation:** $$ -U1(\lambda) = +U1(\theta) = \begin{pmatrix} 1 & 0 \\ -0 & e^{i\lambda} +0 & e^{i\theta} \end{pmatrix} $$ **Examples:** > $$ - > U1(\lambda = \pi) = Z + > U1(\theta = \pi) = Z > $$ > > $$ - > U1(\lambda = \pi/2) = S + > U1(\theta = \pi/2) = S > $$ > > $$ - > U1(\lambda = \pi/4) = T + > U1(\theta = \pi/4) = T > $$ `RZGate`: This gate is equivalent to RZ up to a phase factor. > $$ - > U1(\lambda) = e^{i{\lambda}/2} RZ(\lambda) + > U1(\theta) = e^{i{\theta}/2} RZ(\theta) > $$ `U3Gate`: U3 is a generalization of U2 that covers all single-qubit rotations, using two X90 pulses. @@ -101,12 +101,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.U2Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.U2Gate.mdx index bc05c76c1ef..c34ce296707 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.U2Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.U2Gate.mdx @@ -30,7 +30,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌─────────┐ q_0: ┤ U2(φ,λ) ├ └─────────┘ @@ -100,12 +100,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.U3Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.U3Gate.mdx index 12b45ddeb0e..e0202d21499 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.U3Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.U3Gate.mdx @@ -28,7 +28,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌───────────┐ q_0: ┤ U3(ϴ,φ,λ) ├ └───────────┘ @@ -95,12 +95,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCGate.mdx index f3774eeba19..b3120c15243 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCGate.mdx @@ -70,12 +70,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCPauliRotGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCPauliRotGate.mdx index ca07081a680..64ef83c9f23 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCPauliRotGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCPauliRotGate.mdx @@ -47,12 +47,20 @@ python_api_name: qiskit.circuit.library.UCPauliRotGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCRXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCRXGate.mdx index 47e4b062f2c..5cfbae63c87 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCRXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCRXGate.mdx @@ -46,12 +46,20 @@ python_api_name: qiskit.circuit.library.UCRXGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCRYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCRYGate.mdx index 42621bb75ff..3a73a88d7e4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCRYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCRYGate.mdx @@ -46,12 +46,20 @@ python_api_name: qiskit.circuit.library.UCRYGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCRZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCRZGate.mdx index fa57448dfeb..e7d3364f29f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCRZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCRZGate.mdx @@ -46,12 +46,20 @@ python_api_name: qiskit.circuit.library.UCRZGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UGate.mdx index c9943012d46..55762933b7a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.UGate **Circuit symbol:** - ```python + ```text ┌──────────┐ q_0: ┤ U(ϴ,φ,λ) ├ └──────────┘ @@ -78,12 +78,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryGate.mdx index 2954e3045cd..da8e342d73e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryGate.mdx @@ -71,12 +71,20 @@ python_api_name: qiskit.circuit.library.UnitaryGate The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx index 5a1512b70fe..4394d4387cb 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx @@ -73,6 +73,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.mdx index dceaf6a4ba7..b0fb3857a96 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.VBERippleCarryAdder This circuit performs inplace addition of two equally-sized quantum registers. As an example, a classical adder circuit that performs full addition (i.e. including a carry-in bit) on two 2-qubit sized registers is as follows: - ```python + ```text ┌────────┐ ┌───────────┐┌──────┐ cin_0: ┤0 ├───────────────────────┤0 ├┤0 ├ │ │ │ ││ │ @@ -63,6 +63,10 @@ python_api_name: qiskit.circuit.library.VBERippleCarryAdder Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.mdx index 0377ba33f65..1e7f7c32060 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.mdx @@ -30,7 +30,7 @@ $$ For qubits in a circuit diagram, the first weight applies to the upper-most qubit. For an example where the state of 4 qubits is added into a sum register, the circuit can be schematically drawn as - ```python + ```text ┌────────┐ state_0: ┤0 ├ | state_0 * weights[0] │ │ | @@ -76,6 +76,10 @@ $$ Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.XGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.XGate.mdx index 9e47b67b585..85befa60e6a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.XGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.XGate.mdx @@ -26,7 +26,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌───┐ q_0: ┤ X ├ └───┘ @@ -82,12 +82,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.XOR.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.XOR.mdx index 1387b2a2e0a..4efa88e9b05 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.XOR.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.XOR.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.XOR # XOR - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") An n\_qubit circuit for bitwise xor-ing the input with some integer `amount`. @@ -19,6 +19,10 @@ python_api_name: qiskit.circuit.library.XOR Return a circuit implementing bitwise xor. + + The class `qiskit.circuit.library.boolean_logic.quantum_xor.XOR` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Instead, for xor-ing with a specified amount, use BitwiseXorGate,and for xor-ing with a random amount, use random\_bitwise\_xor. + + **Parameters** * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – the width of circuit. @@ -47,6 +51,10 @@ python_api_name: qiskit.circuit.library.XOR Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.XXMinusYYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.XXMinusYYGate.mdx index 56a0d2914e6..e1a0e653d4d 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.XXMinusYYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.XXMinusYYGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.XXMinusYYGate **Circuit Symbol:** - ```python + ```text ┌───────────────┐ q_0: ┤0 ├ │ (XX-YY)(θ,β) │ @@ -43,7 +43,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q\_0, q\_1) which results in adding the (optional) phase defined by $\beta$ on q\_1. Instead, if we apply it on (q\_1, q\_0), the phase is added on q\_0. If $\beta$ is set to its default value of $0$, the gate is equivalent in big and little endian. - ```python + ```text ┌───────────────┐ q_0: ┤1 ├ │ (XX-YY)(θ,β) │ @@ -100,12 +100,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.XXPlusYYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.XXPlusYYGate.mdx index 111b78c3a8e..3ad04098a22 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.XXPlusYYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.XXPlusYYGate.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.library.XXPlusYYGate **Circuit Symbol:** - ```python + ```text ┌───────────────┐ q_0: ┤0 ├ │ (XX+YY)(θ,β) │ @@ -43,7 +43,7 @@ $$ In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q\_0, q\_1) which results in adding the (optional) phase defined by $\beta$ on q\_0. Instead, if we apply it on (q\_1, q\_0), the phase is added on q\_1. If $\beta$ is set to its default value of $0$, the gate is equivalent in big and little endian. - ```python + ```text ┌───────────────┐ q_0: ┤1 ├ │ (XX+YY)(θ,β) │ @@ -102,12 +102,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.YGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.YGate.mdx index 462994b22a3..032ee81b556 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.YGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.YGate.mdx @@ -26,7 +26,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌───┐ q_0: ┤ Y ├ └───┘ @@ -82,12 +82,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.mdx index 5c9d282b343..6bfd7425849 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.ZFeatureMap On 3 qubits and with 2 repetitions the circuit is represented by: - ```python + ```text ┌───┐┌─────────────┐┌───┐┌─────────────┐ ┤ H ├┤ P(2.0*x[0]) ├┤ H ├┤ P(2.0*x[0]) ├ ├───┤├─────────────┤├───┤├─────────────┤ @@ -106,6 +106,10 @@ python_api_name: qiskit.circuit.library.ZFeatureMap Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ZGate.mdx index e3469e3ef36..c9d471a59a0 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ZGate.mdx @@ -26,7 +26,7 @@ $$ **Circuit symbol:** - ```python + ```text ┌───┐ q_0: ┤ Z ├ └───┘ @@ -82,12 +82,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.mdx index b2a5cef52fc..2ba0f0890ae 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap For 3 qubits and 1 repetition and linear entanglement the circuit is represented by: - ```python + ```text ┌───┐┌────────────────┐ ┤ H ├┤ P(2.0*φ(x[0])) ├──■───────────────────────────■─────────────────────────────────── ├───┤├────────────────┤┌─┴─┐┌─────────────────────┐┌─┴─┐ @@ -35,7 +35,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap print(prep.decompose()) ``` - ```python + ```text ┌───┐┌─────────────┐ q_0: ┤ H ├┤ P(2.0*x[0]) ├──■──────────────────────────────────────■── ├───┤├─────────────┤┌─┴─┐┌────────────────────────────────┐┌─┴─┐ @@ -49,7 +49,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap classifier.num_parameters ``` - ```python + ```text 27 ``` @@ -57,7 +57,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap classifier.parameters # 'x' for the data preparation, 'θ' for the SU2 parameters ``` - ```python + ```text ParameterView([ ParameterVectorElement(x[0]), ParameterVectorElement(x[1]), ParameterVectorElement(x[2]), ParameterVectorElement(θ[0]), @@ -80,7 +80,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap classifier.count_ops() ``` - ```python + ```text OrderedDict([('ZZFeatureMap', 1), ('EfficientSU2', 1)]) ``` @@ -127,6 +127,10 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.iSwapGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.iSwapGate.mdx index 08d3c5dd205..0531206f96b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.iSwapGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.iSwapGate.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.circuit.library.iSwapGate **Circuit Symbol:** - ```python + ```text q_0: ─⨂─ │ q_1: ─⨂─ @@ -27,7 +27,7 @@ python_api_name: qiskit.circuit.library.iSwapGate **Reference Implementation:** - ```python + ```text ┌───┐┌───┐ ┌───┐ q_0: ┤ S ├┤ H ├──■──┤ X ├───── ├───┤└───┘┌─┴─┐└─┬─┘┌───┐ @@ -95,12 +95,20 @@ $$ The classical condition on the instruction. + + + The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### condition\_bits Get Clbits in condition. + + + The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0. + ### decompositions diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx index e5ccf09daea..fc935067d60 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx @@ -25,6 +25,8 @@ python_api_name: qiskit.dagcircuit.DAGCircuit **The custom pulse definition of a given gate is of the form** \{‘gate\_name’: \{(qubits, params): schedule}} + + DEPRECATED since Qiskit 1.3.0 and will be removed in Qiskit 2.0.0 ### clbits @@ -527,6 +529,8 @@ python_api_name: qiskit.dagcircuit.DAGCircuit Return True if the dag has a calibration defined for the node operation. In this case, the operation does not need to be translated to the device basis. + + DEPRECATED since Qiskit 1.3.0 and will be removed in Qiskit 2.0.0 ### has\_var diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDependency.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDependency.mdx index 1c10e44ab97..6e4b6a79279 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDependency.mdx +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDependency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency # DAGDependency - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") Object to represent a quantum circuit as a Directed Acyclic Graph (DAG) via operation dependencies (i.e. lack of commutation). @@ -21,7 +21,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency Bell circuit with no measurement. - ```python + ```text ┌───┐ qr_0: ┤ H ├──■── └───┘┌─┴─┐ @@ -45,6 +45,10 @@ python_api_name: qiskit.dagcircuit.DAGDependency Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}`. + + + The property `qiskit.dagcircuit.dagdependency.DAGDependency.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.dagcircuit.dagdependency.DAGDependency.calibrations` will have no alternative in Qiskit. + ### global\_phase @@ -57,19 +61,19 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### add\_clbits - + Add individual clbit wires. ### add\_creg - + Add clbits in a classical register. ### add\_op\_node - + Add a DAGDepNode to the graph and update the edges. **Parameters** @@ -81,31 +85,31 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### add\_qreg - + Add qubits in a quantum register. ### add\_qubits - + Add individual qubit wires. ### copy - + Function to copy a DAGDependency object. :returns: a copy of a DAGDependency object. :rtype: DAGDependency ### depth - + Return the circuit depth. :returns: the circuit depth :rtype: int ### direct\_predecessors - + Direct predecessors id of a given node as sorted list. **Parameters** @@ -123,7 +127,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### direct\_successors - + Direct successors id of a given node as sorted list. **Parameters** @@ -141,7 +145,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### draw - + Draws the DAGDependency graph. This function needs pydot \<[https://github.com/erocarrera/pydot](https://github.com/erocarrera/pydot)>, which in turn needs Graphviz \<[https://www.graphviz.org/](https://www.graphviz.org/)>\` to be installed. @@ -163,7 +167,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_all\_edges - + Enumeration of all edges. **Returns** @@ -177,7 +181,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_edges - + Edge enumeration between two nodes through method get\_all\_edge\_data. **Parameters** @@ -196,7 +200,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_in\_edges - + Enumeration of all incoming edges for a given node. **Parameters** @@ -214,7 +218,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_node - + **Parameters** **node\_id** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – label of considered node. @@ -230,7 +234,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_nodes - + **Returns** iterator over all the nodes. @@ -242,7 +246,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_out\_edges - + Enumeration of all outgoing edges for a given node. **Parameters** @@ -260,7 +264,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### predecessors - + Predecessors id of a given node as sorted list. **Parameters** @@ -278,7 +282,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### replace\_block\_with\_op - + Replace a block of nodes with a single node. This is used to consolidate a block of DAGDepNodes into a single operation. A typical example is a block of CX and SWAP gates consolidated into a LinearFunction. This function is an adaptation of a similar function from DAGCircuit. @@ -299,13 +303,13 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### size - + Returns the number of gates in the circuit ### successors - + Successors id of a given node as sorted list. **Parameters** @@ -323,13 +327,13 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### to\_retworkx - + Returns the DAGDependency in retworkx format. ### topological\_nodes - + Yield nodes in topological order. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.Backend.mdx b/docs/api/qiskit/dev/qiskit.providers.Backend.mdx index 79acc6c0594..368c13389ca 100644 --- a/docs/api/qiskit/dev/qiskit.providers.Backend.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.Backend.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.Backend # Backend - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") Base common type for all versioned Backend abstract classes. diff --git a/docs/api/qiskit/dev/qiskit.providers.BackendV1.mdx b/docs/api/qiskit/dev/qiskit.providers.BackendV1.mdx index 858845c859e..ad32df17e7f 100644 --- a/docs/api/qiskit/dev/qiskit.providers.BackendV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.BackendV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.BackendV1 # BackendV1 - + Bases: [`Backend`](qiskit.providers.Backend "qiskit.providers.backend.Backend"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.13)") Abstract class for Backends @@ -21,7 +21,7 @@ python_api_name: qiskit.providers.BackendV1 ### \_default\_options - + Return the default options This method will return a [`qiskit.providers.Options`](qiskit.providers.Options "qiskit.providers.Options") subclass object that will be used for the default options. These should be the default parameters to use for the options of the backend. @@ -71,7 +71,7 @@ python_api_name: qiskit.providers.BackendV1 ### configuration - + Return the backend configuration. **Returns** @@ -85,7 +85,7 @@ python_api_name: qiskit.providers.BackendV1 ### name - + Return the backend name. **Returns** @@ -99,7 +99,7 @@ python_api_name: qiskit.providers.BackendV1 ### properties - + Return the backend properties. **Returns** @@ -113,7 +113,7 @@ python_api_name: qiskit.providers.BackendV1 ### provider - + Return the backend Provider. **Returns** @@ -127,7 +127,7 @@ python_api_name: qiskit.providers.BackendV1 ### run - + Run on the backend. This method returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation. @@ -148,7 +148,7 @@ python_api_name: qiskit.providers.BackendV1 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -164,7 +164,7 @@ python_api_name: qiskit.providers.BackendV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.BackendV2.mdx b/docs/api/qiskit/dev/qiskit.providers.BackendV2.mdx index ddf787e8eaa..7d062d39c44 100644 --- a/docs/api/qiskit/dev/qiskit.providers.BackendV2.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.BackendV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.BackendV2 # BackendV2 - + Bases: [`Backend`](qiskit.providers.Backend "qiskit.providers.backend.Backend"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.13)") Abstract class for Backends @@ -25,7 +25,7 @@ python_api_name: qiskit.providers.BackendV2 ### \_default\_options - + Return the default options This method will return a [`qiskit.providers.Options`](qiskit.providers.Options "qiskit.providers.Options") subclass object that will be used for the default options. These should be the default parameters to use for the options of the backend. @@ -100,6 +100,10 @@ python_api_name: qiskit.providers.BackendV2 Return the [`InstructionScheduleMap`](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") for the instructions defined in this backend’s target. + + + The property `qiskit.providers.backend.BackendV2.instruction_schedule_map` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.instruction_schedule_map` will have no alternative in Qiskit. + ### instructions @@ -214,11 +218,15 @@ python_api_name: qiskit.providers.BackendV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. + + The method `qiskit.providers.backend.BackendV2.acquire_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.acquire_channel()` will have no alternative in Qiskit. + + **Returns** The Qubit measurement acquisition line. @@ -234,13 +242,17 @@ python_api_name: qiskit.providers.BackendV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. This is required to be implemented if the backend supports Pulse scheduling. + + The method `qiskit.providers.backend.BackendV2.control_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.control_channel()` will have no alternative in Qiskit. + + **Parameters** **qubits** ([*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]*) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. @@ -260,11 +272,15 @@ python_api_name: qiskit.providers.BackendV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. + + The method `qiskit.providers.backend.BackendV2.drive_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.drive_channel()` will have no alternative in Qiskit. + + **Returns** The Qubit drive channel @@ -280,11 +296,15 @@ python_api_name: qiskit.providers.BackendV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. + + The method `qiskit.providers.backend.BackendV2.measure_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.measure_channel()` will have no alternative in Qiskit. + + **Returns** The Qubit measurement stimulus line @@ -300,7 +320,7 @@ python_api_name: qiskit.providers.BackendV2 ### qubit\_properties - + Return QubitProperties for a given qubit. If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. @@ -324,7 +344,7 @@ python_api_name: qiskit.providers.BackendV2 ### run - + Run on the backend. This method returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation. @@ -345,7 +365,7 @@ python_api_name: qiskit.providers.BackendV2 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. diff --git a/docs/api/qiskit/dev/qiskit.providers.BackendV2Converter.mdx b/docs/api/qiskit/dev/qiskit.providers.BackendV2Converter.mdx index 7c4bd57679b..12b80c3d1b8 100644 --- a/docs/api/qiskit/dev/qiskit.providers.BackendV2Converter.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.BackendV2Converter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.BackendV2Converter # BackendV2Converter - + Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") A converter class that takes a [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") instance and wraps it in a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") interface. @@ -69,6 +69,10 @@ python_api_name: qiskit.providers.BackendV2Converter Return the [`InstructionScheduleMap`](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") for the instructions defined in this backend’s target. + + + The property `qiskit.providers.backend.BackendV2.instruction_schedule_map` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.instruction_schedule_map` will have no alternative in Qiskit. + ### instructions @@ -167,93 +171,39 @@ python_api_name: qiskit.providers.BackendV2Converter ### acquire\_channel - - Return the acquisition channel for the given qubit. - - This is required to be implemented if the backend supports Pulse scheduling. - - **Returns** - - The Qubit measurement acquisition line. - - **Return type** - - [AcquireChannel](qiskit.pulse.channels.AcquireChannel "qiskit.pulse.channels.AcquireChannel") - - **Raises** - - [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.13)") – if the backend doesn’t support querying the measurement mapping + + + The method `qiskit.providers.backend_compat.BackendV2Converter.acquire_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend_compat.BackendV2Converter.acquire_channel()` will have no alternative in Qiskit. + ### control\_channel - - Return the secondary drive channel for the given qubit - - This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. - - This is required to be implemented if the backend supports Pulse scheduling. - - **Parameters** - - **qubits** ([*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]*) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. - - **Returns** - - The multi qubit control line. - - **Return type** - - List\[[ControlChannel](qiskit.pulse.channels.ControlChannel "qiskit.pulse.channels.ControlChannel")] - - **Raises** - - [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.13)") – if the backend doesn’t support querying the measurement mapping + + + The method `qiskit.providers.backend_compat.BackendV2Converter.control_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend_compat.BackendV2Converter.control_channel()` will have no alternative in Qiskit. + ### drive\_channel - - Return the drive channel for the given qubit. - - This is required to be implemented if the backend supports Pulse scheduling. - - **Returns** - - The Qubit drive channel - - **Return type** - - [DriveChannel](qiskit.pulse.channels.DriveChannel "qiskit.pulse.channels.DriveChannel") - - **Raises** - - [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.13)") – if the backend doesn’t support querying the measurement mapping + + + The method `qiskit.providers.backend_compat.BackendV2Converter.drive_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend_compat.BackendV2Converter.drive_channel()` will have no alternative in Qiskit. + ### measure\_channel - - Return the measure stimulus channel for the given qubit. - - This is required to be implemented if the backend supports Pulse scheduling. - - **Returns** - - The Qubit measurement stimulus line - - **Return type** - - [MeasureChannel](qiskit.pulse.channels.MeasureChannel "qiskit.pulse.channels.MeasureChannel") - - **Raises** - - [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.13)") – if the backend doesn’t support querying the measurement mapping + + + The method `qiskit.providers.backend_compat.BackendV2Converter.measure_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend_compat.BackendV2Converter.measure_channel()` will have no alternative in Qiskit. + ### qubit\_properties - + Return QubitProperties for a given qubit. If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. @@ -277,7 +227,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### run - + Run on the backend. This method returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation. @@ -298,7 +248,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. diff --git a/docs/api/qiskit/dev/qiskit.providers.QubitProperties.mdx b/docs/api/qiskit/dev/qiskit.providers.QubitProperties.mdx index ebd3e736d0f..f356cd8a12f 100644 --- a/docs/api/qiskit/dev/qiskit.providers.QubitProperties.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.QubitProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.QubitProperties # QubitProperties - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") A representation of the properties of a qubit on a backend. diff --git a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicSimulator.mdx b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicSimulator.mdx index 395f4739c96..2817bf6f0e6 100644 --- a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicSimulator.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicSimulator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator # BasicSimulator - + Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") Python implementation of a basic (non-efficient) quantum simulator. @@ -71,6 +71,10 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator Return the [`InstructionScheduleMap`](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") for the instructions defined in this backend’s target. + + + The property `qiskit.providers.backend.BackendV2.instruction_schedule_map` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.instruction_schedule_map` will have no alternative in Qiskit. + ### instructions @@ -175,11 +179,15 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. + + The method `qiskit.providers.backend.BackendV2.acquire_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.acquire_channel()` will have no alternative in Qiskit. + + **Returns** The Qubit measurement acquisition line. @@ -195,9 +203,13 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### configuration - + Return the simulator backend configuration. + + The method `qiskit.providers.basic_provider.basic_simulator.BasicSimulator.configuration()` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. The BackendConfiguration class is part of the deprecated BackendV1 workflow, and no longer necessary for BackendV2. The individual configuration elements can be retrieved directly from the backend or from the contained Target instance (backend.target)). + + **Returns** The configuration for the backend. @@ -209,13 +221,17 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. This is required to be implemented if the backend supports Pulse scheduling. + + The method `qiskit.providers.backend.BackendV2.control_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.control_channel()` will have no alternative in Qiskit. + + **Parameters** **qubits** ([*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]*) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. @@ -235,11 +251,15 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. + + The method `qiskit.providers.backend.BackendV2.drive_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.drive_channel()` will have no alternative in Qiskit. + + **Returns** The Qubit drive channel @@ -255,11 +275,15 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. + + The method `qiskit.providers.backend.BackendV2.measure_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.measure_channel()` will have no alternative in Qiskit. + + **Returns** The Qubit measurement stimulus line @@ -275,7 +299,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### qubit\_properties - + Return QubitProperties for a given qubit. If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. @@ -299,7 +323,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### run - + Run on the backend. **Parameters** @@ -334,7 +358,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### run\_experiment - + Run an experiment (circuit) and return a single experiment result. **Parameters** @@ -372,7 +396,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. diff --git a/docs/api/qiskit/dev/qiskit.providers.convert_to_target.mdx b/docs/api/qiskit/dev/qiskit.providers.convert_to_target.mdx index 9604423e0bd..70127e66958 100644 --- a/docs/api/qiskit/dev/qiskit.providers.convert_to_target.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.convert_to_target.mdx @@ -10,16 +10,20 @@ python_api_name: qiskit.providers.convert_to_target # qiskit.providers.convert\_to\_target - + Decode transpiler target from backend data set. This function generates `` Target` `` instance from intermediate legacy objects such as [`BackendProperties`](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties") and [`PulseDefaults`](qiskit.providers.models.PulseDefaults "qiskit.providers.models.PulseDefaults"). These objects are usually components of the legacy [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") model. + + `qiskit.providers.backend_compat.convert_to_target()`’s argument `defaults` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package. + + **Parameters** * **configuration** ([*BackendConfiguration*](qiskit.providers.models.BackendConfiguration "qiskit.providers.models.backendconfiguration.BackendConfiguration")) – Backend configuration as `BackendConfiguration` - * **properties** ([*BackendProperties*](qiskit.providers.models.BackendProperties "qiskit.providers.models.backendproperties.BackendProperties") *| None*) – Backend property dictionary or `BackendProperties` - * **defaults** ([*PulseDefaults*](qiskit.providers.models.PulseDefaults "qiskit.providers.models.pulsedefaults.PulseDefaults") *| None*) – Backend pulse defaults dictionary or `PulseDefaults` + * **properties** ([*BackendProperties*](qiskit.providers.models.BackendProperties "qiskit.providers.models.backendproperties.BackendProperties")) – Backend property dictionary or `BackendProperties` + * **defaults** ([*PulseDefaults*](qiskit.providers.models.PulseDefaults "qiskit.providers.models.pulsedefaults.PulseDefaults")) – DEPRECATED. Backend pulse defaults dictionary or `PulseDefaults` * **custom\_name\_mapping** ([*Dict*](https://docs.python.org/3/library/typing.html#typing.Dict "(in Python v3.13)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")*,* [*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.13)")*] | None*) – A name mapping must be supplied for the operation not included in Qiskit Standard Gate name mapping, otherwise the operation will be dropped in the resulting `Target` object. * **add\_delay** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – If True, adds delay to the instruction set. * **filter\_faulty** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – If True, this filters the non-operational qubits. diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake127QPulseV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake127QPulseV1.mdx index 50e0153d0a6..4e2a8f9d9c9 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake127QPulseV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake127QPulseV1.mdx @@ -72,7 +72,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### configuration - + Return the backend configuration. **Returns** @@ -86,13 +86,13 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### defaults - + Returns a snapshot of device defaults ### name - + Return the backend name. **Returns** @@ -112,7 +112,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### provider - + Return the backend Provider. **Returns** @@ -132,7 +132,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -148,7 +148,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake1Q.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake1Q.mdx index d29e426d131..cac547e0c8d 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake1Q.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake1Q.mdx @@ -33,7 +33,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### configuration - + Return the backend configuration. **Returns** @@ -47,7 +47,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### name - + Return the backend name. **Returns** @@ -67,7 +67,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### provider - + Return the backend Provider. **Returns** @@ -87,7 +87,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -103,7 +103,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake20QV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake20QV1.mdx index bdf62a29a53..963d245632e 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake20QV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake20QV1.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 * coupling\_map: - > ```python + > ```text > 00 ↔ 01 ↔ 02 ↔ 03 ↔ 04 > ↕ ↕ > 05 ↔ 06 ↔ 07 ↔ 08 ↔ 09 @@ -74,7 +74,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### configuration - + Return the backend configuration. **Returns** @@ -88,7 +88,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### name - + Return the backend name. **Returns** @@ -108,7 +108,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### provider - + Return the backend Provider. **Returns** @@ -128,7 +128,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -144,7 +144,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake27QPulseV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake27QPulseV1.mdx index d12a1da64a0..5909fbc1f57 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake27QPulseV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake27QPulseV1.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 * coupling\_map: - > ```python + > ```text > 06 17 > ↕ ↕ > 00 ↔ 01 ↔ 04 ↔ 07 ↔ 10 ↔ 12 ↔ 15 ↔ 18 ↔ 20 ↔ 23 @@ -84,7 +84,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### configuration - + Return the backend configuration. **Returns** @@ -98,13 +98,13 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### defaults - + Returns a snapshot of device defaults ### name - + Return the backend name. **Returns** @@ -124,7 +124,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### provider - + Return the backend Provider. **Returns** @@ -144,7 +144,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -160,7 +160,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake5QV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake5QV1.mdx index feb233d8725..1d129c9305c 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake5QV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake5QV1.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 * coupling\_map: - > ```python + > ```text > 1 > / | > 0 - 2 - 3 @@ -72,7 +72,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### configuration - + Return the backend configuration. **Returns** @@ -86,7 +86,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### name - + Return the backend name. **Returns** @@ -106,7 +106,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### provider - + Return the backend Provider. **Returns** @@ -126,7 +126,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -142,7 +142,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake7QPulseV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake7QPulseV1.mdx index a1f0e157ae8..d377ff7d1ed 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake7QPulseV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake7QPulseV1.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 * coupling\_map: - > ```python + > ```text > 0 ↔ 1 ↔ 3 ↔ 5 ↔ 6 > ↕ ↕ > 2 4 @@ -78,7 +78,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### configuration - + Return the backend configuration. **Returns** @@ -92,13 +92,13 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### defaults - + Returns a snapshot of device defaults ### name - + Return the backend name. **Returns** @@ -118,7 +118,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### provider - + Return the backend Provider. **Returns** @@ -138,7 +138,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -154,7 +154,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx index fa8ced8d13d..5789717caf0 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx @@ -42,7 +42,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### configuration - + Return the backend configuration. **Returns** @@ -62,7 +62,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### name - + Return the backend name. **Returns** @@ -82,7 +82,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### provider - + Return the backend Provider. **Returns** @@ -102,7 +102,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -118,7 +118,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx index 66b6db49e5f..70142a55d59 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx @@ -42,7 +42,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### configuration - + Return the backend configuration. **Returns** @@ -60,7 +60,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### name - + Return the backend name. **Returns** @@ -80,7 +80,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### provider - + Return the backend Provider. **Returns** @@ -100,7 +100,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -116,7 +116,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.GenericBackendV2.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.GenericBackendV2.mdx index 08c70cb8736..ed88013d88b 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.GenericBackendV2.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.GenericBackendV2.mdx @@ -8,11 +8,19 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 # GenericBackendV2 - + Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") Generic [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") implementation with a configurable constructor. This class will return a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") instance that runs on a local simulator (in the spirit of fake backends) and contains all the necessary information to test backend-interfacing components, such as the transpiler. A [`GenericBackendV2`](#qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2") instance can be constructed from as little as a specified `num_qubits`, but users can additionally configure the basis gates, coupling map, ability to run dynamic circuits (control flow instructions), instruction calibrations and dtm. The remainder of the backend properties are generated by randomly sampling from default ranges extracted from historical IBM backend data. The seed for this random generation can be fixed to ensure the reproducibility of the backend output. This backend only supports gates in the standard library, if you need a more flexible backend, there is always the option to directly instantiate a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") object to use for transpilation. + + `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.__init__()`’s argument `calibrate_instructions` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package. + + + + `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.__init__()`’s argument `pulse_channels` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package. + + **Parameters** * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – Number of qubits that will be used to construct the backend’s target. Note that, while there is no limit in the size of the target that can be constructed, this backend runs on local noisy simulators, and these might present limitations in the number of qubits that can be simulated. @@ -32,7 +40,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 * **calibrate\_instructions** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)") *|*[*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") *| None*) – - Instruction calibration settings, this argument supports both boolean and [`InstructionScheduleMap`](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") as input types, and is `None` by default: + DEPRECATED. Instruction calibration settings, this argument supports both boolean and [`InstructionScheduleMap`](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") as input types, and is `None` by default: 1. If `calibrate_instructions==None`, no calibrations will be added to the target. @@ -52,7 +60,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 * **seed** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| None*) – Optional seed for generation of default values. - * **pulse\_channels** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – If true, sets default pulse channel information on the backend. + * **pulse\_channels** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – DEPRECATED. If true, sets default pulse channel information on the backend. * **noise\_info** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – If true, associates gates and qubits with default noise information. @@ -92,6 +100,10 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 Return the [`InstructionScheduleMap`](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") for the instructions defined in this backend’s target. + + + The property `qiskit.providers.backend.BackendV2.instruction_schedule_map` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.backend.BackendV2.instruction_schedule_map` will have no alternative in Qiskit. + ### instructions @@ -184,93 +196,39 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### acquire\_channel - - Return the acquisition channel for the given qubit. - - This is required to be implemented if the backend supports Pulse scheduling. - - **Returns** - - The Qubit measurement acquisition line. - - **Return type** - - [AcquireChannel](qiskit.pulse.channels.AcquireChannel "qiskit.pulse.channels.AcquireChannel") - - **Raises** - - [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.13)") – if the backend doesn’t support querying the measurement mapping + + + The method `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.acquire_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.acquire_channel()` will have no alternative in Qiskit. + ### control\_channel - - Return the secondary drive channel for the given qubit - - This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. - - This is required to be implemented if the backend supports Pulse scheduling. - - **Parameters** - - **qubits** ([*Iterable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Iterable "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]*) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. - - **Returns** - - The multi qubit control line. - - **Return type** - - List\[[ControlChannel](qiskit.pulse.channels.ControlChannel "qiskit.pulse.channels.ControlChannel")] - - **Raises** - - [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.13)") – if the backend doesn’t support querying the measurement mapping + + + The method `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.control_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.control_channel()` will have no alternative in Qiskit. + ### drive\_channel - - Return the drive channel for the given qubit. - - This is required to be implemented if the backend supports Pulse scheduling. - - **Returns** - - The Qubit drive channel - - **Return type** - - [DriveChannel](qiskit.pulse.channels.DriveChannel "qiskit.pulse.channels.DriveChannel") - - **Raises** - - [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.13)") – if the backend doesn’t support querying the measurement mapping + + + The method `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.drive_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.drive_channel()` will have no alternative in Qiskit. + ### measure\_channel - - Return the measure stimulus channel for the given qubit. - - This is required to be implemented if the backend supports Pulse scheduling. - - **Returns** - - The Qubit measurement stimulus line - - **Return type** - - [MeasureChannel](qiskit.pulse.channels.MeasureChannel "qiskit.pulse.channels.MeasureChannel") - - **Raises** - - [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.13)") – if the backend doesn’t support querying the measurement mapping + + + The method `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.measure_channel()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.fake_provider.generic_backend_v2.GenericBackendV2.measure_channel()` will have no alternative in Qiskit. + ### qubit\_properties - + Return QubitProperties for a given qubit. If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. @@ -294,7 +252,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### run - + Run on the backend using a simulator. This method runs circuit jobs (an individual or a list of [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") ) and pulse jobs (an individual or a list of [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") or [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock")) using [`BasicSimulator`](qiskit.providers.basic_provider.BasicSimulator "qiskit.providers.basic_provider.BasicSimulator") or Aer simulator and returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object. @@ -323,7 +281,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. diff --git a/docs/api/qiskit/dev/qiskit.providers.models.Command.mdx b/docs/api/qiskit/dev/qiskit.providers.models.Command.mdx index cf5bca5dc19..69e43c3070d 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.Command.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.Command.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.Command # Command - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") Class representing a Command. @@ -32,7 +32,7 @@ python_api_name: qiskit.providers.models.Command ### from\_dict - + Create a new Command object from a dictionary. **Parameters** @@ -50,7 +50,7 @@ python_api_name: qiskit.providers.models.Command ### to\_dict - + Return a dictionary format representation of the Command. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.PulseDefaults.mdx b/docs/api/qiskit/dev/qiskit.providers.models.PulseDefaults.mdx index 97065449e76..8d5f29c851b 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.PulseDefaults.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.PulseDefaults.mdx @@ -8,11 +8,15 @@ python_api_name: qiskit.providers.models.PulseDefaults # PulseDefaults - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") Description of default settings for Pulse systems. These are instructions or settings that may be good starting points for the Pulse user. The user may modify these defaults for custom scheduling. + + The class `qiskit.providers.models.pulsedefaults.PulseDefaults` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.providers.models.pulsedefaults.PulseDefaults` will have no alternative in Qiskit. + + Validate and reformat transport layer inputs to initialize. :param qubit\_freq\_est: Estimated qubit frequencies in GHz. :param meas\_freq\_est: Estimated measurement cavity frequencies in GHz. :param buffer: Default buffer time (in units of dt) between pulses. :param pulse\_library: Pulse name and sample definitions. :param cmd\_def: Operation name and definition in terms of Commands. :param meas\_kernel: The measurement kernels :param discriminator: The discriminators :param \*\*kwargs: Other attributes for the super class. ## Attributes @@ -33,7 +37,7 @@ python_api_name: qiskit.providers.models.PulseDefaults ### from\_dict - + Create a new PulseDefaults object from a dictionary. **Parameters** @@ -51,7 +55,7 @@ python_api_name: qiskit.providers.models.PulseDefaults ### to\_dict - + Return a dictionary format representation of the PulseDefaults. :returns: The dictionary form of the PulseDefaults. :rtype: dict diff --git a/docs/api/qiskit/dev/qiskit.pulse.InstructionScheduleMap.mdx b/docs/api/qiskit/dev/qiskit.pulse.InstructionScheduleMap.mdx index 607aaf92e05..6651e64155a 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.InstructionScheduleMap.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.InstructionScheduleMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap # InstructionScheduleMap - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") Mapping from [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") [`qiskit.circuit.Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") names and qubits to [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") s. In particular, the mapping is formatted as type: @@ -23,6 +23,10 @@ python_api_name: qiskit.pulse.InstructionScheduleMap Initialize a circuit instruction to schedule mapper instance. + + The class `qiskit.pulse.instruction_schedule_map.InstructionScheduleMap` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + ## Attributes ### instructions @@ -41,7 +45,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### add - + Add a new known instruction for the given qubits and its mapping to a pulse schedule. **Parameters** @@ -58,7 +62,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### assert\_has - + Error if the given instruction is not defined. **Parameters** @@ -73,7 +77,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### get - + Return the defined [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") or [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock") for the given instruction on the given qubits. If all keys are not specified this method returns schedule with unbound parameters. @@ -96,7 +100,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### get\_parameters - + Return the list of parameters taken by the given instruction on the given qubits. **Parameters** @@ -115,7 +119,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### has - + Is the instruction defined for the given qubits? **Parameters** @@ -134,7 +138,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### has\_custom\_gate - + Return `True` if the map has user provided instruction. **Return type** @@ -144,7 +148,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### pop - + Remove and return the defined schedule for the given instruction on the given qubits. **Parameters** @@ -165,7 +169,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### qubit\_instructions - + Return a list of the instruction names that are defined by the backend for the given qubit or qubits. **Parameters** @@ -185,7 +189,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### qubits\_with\_instruction - + Return a list of the qubits for which the given instruction is defined. Single qubit instructions return a flat list, and multiqubit instructions return a list of ordered tuples. **Parameters** @@ -207,7 +211,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### remove - + Remove the given instruction from the listing of instructions defined in self. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.Schedule.mdx b/docs/api/qiskit/dev/qiskit.pulse.Schedule.mdx index b268ab07ce4..bde30c76cb2 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.Schedule.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.Schedule.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.Schedule # Schedule - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") A quantum program *schedule* with exact time constraints for its instructions, operating over all input signal *channels* and supporting special syntaxes for building. @@ -55,6 +55,10 @@ python_api_name: qiskit.pulse.Schedule Create an empty schedule. + + The class `qiskit.pulse.schedule.Schedule` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **\*schedules** (*'ScheduleComponent' |* [*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*, 'ScheduleComponent']*) – Child Schedules of this parent Schedule. May either be passed as the list of schedules, or a list of `(start_time, schedule)` pairs. @@ -149,7 +153,7 @@ python_api_name: qiskit.pulse.Schedule ### append - + Return a new schedule with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. $$ @@ -170,7 +174,7 @@ $$ ### assign\_parameters - + Assign the parameters in this schedule according to the input. **Parameters** @@ -191,7 +195,7 @@ $$ ### ch\_duration - + Return the time of the end of the last instruction over the supplied channels. **Parameters** @@ -205,7 +209,7 @@ $$ ### ch\_start\_time - + Return the time of the start of the first instruction over the supplied channels. **Parameters** @@ -219,7 +223,7 @@ $$ ### ch\_stop\_time - + Return maximum start time over supplied channels. **Parameters** @@ -233,7 +237,7 @@ $$ ### draw - + Plot the schedule. **Parameters** @@ -279,7 +283,7 @@ $$ ### exclude - + Return a `Schedule` with only the instructions from this Schedule *failing* at least one of the provided filters. This method is the complement of [`filter()`](#qiskit.pulse.Schedule.filter "qiskit.pulse.Schedule.filter"), so that: ```python @@ -302,7 +306,7 @@ $$ ### filter - + Return a new `Schedule` with only the instructions from this `Schedule` which pass though the provided filters; i.e. an instruction will be retained iff every function in `filter_funcs` returns `True`, the instruction occurs on a channel type contained in `channels`, the instruction type is contained in `instruction_types`, and the period over which the instruction operates is *fully* contained in one specified in `time_ranges` or `intervals`. If no arguments are provided, `self` is returned. @@ -323,7 +327,7 @@ $$ ### get\_parameters - + Get parameter object bound to this schedule by string name. Because different `Parameter` objects can have the same name, this method returns a list of `Parameter` s for the provided name. @@ -343,7 +347,7 @@ $$ ### initialize\_from - + Create new schedule object with metadata of another schedule object. **Parameters** @@ -366,7 +370,7 @@ $$ ### insert - + Return a new schedule with `schedule` inserted into `self` at `start_time`. **Parameters** @@ -383,7 +387,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -393,7 +397,7 @@ $$ ### replace - + Return a `Schedule` with the `old` instruction replaced with a `new` instruction. The replacement matching is based on an instruction equality check. @@ -450,7 +454,7 @@ $$ ### shift - + Return a schedule shifted forward by `time`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.ScheduleBlock.mdx b/docs/api/qiskit/dev/qiskit.pulse.ScheduleBlock.mdx index bdcd90f161b..ea40eb3ffe1 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.ScheduleBlock.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.ScheduleBlock.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.ScheduleBlock # ScheduleBlock - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") Time-ordered sequence of instructions with alignment context. @@ -59,7 +59,7 @@ python_api_name: qiskit.pulse.ScheduleBlock print(sched_outer.parameters) ``` - ```python + ```text {Parameter(amp1), Parameter(amp2)} ``` @@ -69,7 +69,7 @@ python_api_name: qiskit.pulse.ScheduleBlock print(sched_outer.references) ``` - ```python + ```text ReferenceManager: - ('grand_child',): ScheduleBlock(Play(Constant(duration=100, amp=amp1,... ``` @@ -86,7 +86,7 @@ python_api_name: qiskit.pulse.ScheduleBlock print(main.parameters) ``` - ```python + ```text {Parameter(amp1), Parameter(amp2), Parameter(amp3} ``` @@ -98,7 +98,7 @@ python_api_name: qiskit.pulse.ScheduleBlock print(main.references) ``` - ```python + ```text ReferenceManager: - ('child',): ScheduleBlock(ScheduleBlock(ScheduleBlock(Play(Con... ``` @@ -113,6 +113,10 @@ python_api_name: qiskit.pulse.ScheduleBlock Create an empty schedule block. + + The class `qiskit.pulse.schedule.ScheduleBlock` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)") *| None*) – Name of this schedule. Defaults to an autogenerated string if not provided. @@ -197,7 +201,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### append - + Return a new schedule block with `block` appended to the context block. The execution time is automatically assigned when the block is converted into schedule. **Parameters** @@ -221,7 +225,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### assign\_parameters - + Assign the parameters in this schedule according to the input. **Parameters** @@ -246,7 +250,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### assign\_references - + Assign schedules to references. It is only capable of assigning a schedule block to immediate references which are directly referred within the current scope. Let’s see following example: @@ -304,7 +308,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### ch\_duration - + Return the time of the end of the last instruction over the supplied channels. **Parameters** @@ -318,7 +322,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### draw - + Plot the schedule. **Parameters** @@ -364,7 +368,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### exclude - + Return a new `ScheduleBlock` with only the instructions from this `ScheduleBlock` *failing* at least one of the provided filters. This method is the complement of [`filter()`](#qiskit.pulse.ScheduleBlock.filter "qiskit.pulse.ScheduleBlock.filter"), so that: ```python @@ -389,7 +393,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### filter - + Return a new `ScheduleBlock` with only the instructions from this `ScheduleBlock` which pass though the provided filters; i.e. an instruction will be retained if every function in `filter_funcs` returns `True`, the instruction occurs on a channel type contained in `channels`, and the instruction type is contained in `instruction_types`. @@ -412,7 +416,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### get\_parameters - + Get parameter object bound to this schedule by string name. Note that we can define different parameter objects with the same name, because these different objects are identified by their unique uuid. For example, @@ -450,7 +454,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### initialize\_from - + Create new schedule object with metadata of another schedule object. **Parameters** @@ -473,7 +477,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -483,7 +487,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### is\_referenced - + Return True iff the current schedule block contains reference to subroutine. **Return type** @@ -493,7 +497,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### is\_schedulable - + Return `True` if all durations are assigned. **Return type** @@ -503,7 +507,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### replace - + Return a `ScheduleBlock` with the `old` component replaced with a `new` component. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.AcquireChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.AcquireChannel.mdx index 03625a841f7..7c5e8e7a343 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.AcquireChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.AcquireChannel.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.pulse.channels.AcquireChannel # AcquireChannel - + Bases: [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel") Acquire channels are used to collect data. Channel class. + + The class `qiskit.pulse.channels.Channel` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** **index** – Index of channel. @@ -49,7 +53,7 @@ python_api_name: qiskit.pulse.channels.AcquireChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.ControlChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.ControlChannel.mdx index fb07411ab9a..d57f0fccda6 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.ControlChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.ControlChannel.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.pulse.channels.ControlChannel # ControlChannel - + Bases: `PulseChannel` Control channels provide supplementary control over the qubit to the drive channel. These are often associated with multi-qubit gate operations. They may not map trivially to a particular qubit index. Channel class. + + The class `qiskit.pulse.channels.Channel` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** **index** – Index of channel. @@ -49,7 +53,7 @@ python_api_name: qiskit.pulse.channels.ControlChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.DriveChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.DriveChannel.mdx index 0742a584071..94dbe661579 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.DriveChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.DriveChannel.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.pulse.channels.DriveChannel # DriveChannel - + Bases: `PulseChannel` Drive channels transmit signals to qubits which enact gate operations. Channel class. + + The class `qiskit.pulse.channels.Channel` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** **index** – Index of channel. @@ -49,7 +53,7 @@ python_api_name: qiskit.pulse.channels.DriveChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.MeasureChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.MeasureChannel.mdx index 87b7b3198f2..90ae8023803 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.MeasureChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.MeasureChannel.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.pulse.channels.MeasureChannel # MeasureChannel - + Bases: `PulseChannel` Measure channels transmit measurement stimulus pulses for readout. Channel class. + + The class `qiskit.pulse.channels.Channel` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** **index** – Index of channel. @@ -49,7 +53,7 @@ python_api_name: qiskit.pulse.channels.MeasureChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.MemorySlot.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.MemorySlot.mdx index 7076c1dc8cc..24e710e9ec0 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.MemorySlot.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.MemorySlot.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.pulse.channels.MemorySlot # MemorySlot - + Bases: `ClassicalIOChannel` Memory slot channels represent classical memory storage. Channel class. + + The class `qiskit.pulse.channels.Channel` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** **index** – Index of channel. @@ -49,7 +53,7 @@ python_api_name: qiskit.pulse.channels.MemorySlot ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.RegisterSlot.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.RegisterSlot.mdx index 984b744781a..7434e33f68a 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.RegisterSlot.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.RegisterSlot.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.pulse.channels.RegisterSlot # RegisterSlot - + Bases: `ClassicalIOChannel` Classical resister slot channels represent classical registers (low-latency classical memory). Channel class. + + The class `qiskit.pulse.channels.Channel` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** **index** – Index of channel. @@ -49,7 +53,7 @@ python_api_name: qiskit.pulse.channels.RegisterSlot ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.SnapshotChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.SnapshotChannel.mdx index 915b9db81f2..accd69f6874 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.SnapshotChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.SnapshotChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.SnapshotChannel # SnapshotChannel - + Bases: `ClassicalIOChannel` Snapshot channels are used to specify instructions for simulators. @@ -45,7 +45,7 @@ python_api_name: qiskit.pulse.channels.SnapshotChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Acquire.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Acquire.mdx index 38a0f2faf79..b45367006ab 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Acquire.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Acquire.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Acquire # Acquire - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") The Acquire instruction is used to trigger the ADC associated with a particular qubit; e.g. instantiated with AcquireChannel(0), the Acquire command will trigger data collection for the channel associated with qubit 0 readout. This instruction also provides acquisition metadata: @@ -21,6 +21,10 @@ python_api_name: qiskit.pulse.instructions.Acquire Create a new Acquire instruction. + + The class `qiskit.pulse.instructions.acquire.Acquire` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")) – Length of time to acquire data in terms of dt. @@ -127,7 +131,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -146,7 +150,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -160,7 +164,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -174,7 +178,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -188,7 +192,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -208,7 +212,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -218,7 +222,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Delay.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Delay.mdx index b4ad411cdaf..9b6fa81d6ff 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Delay.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Delay.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Delay # Delay - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") A blocking instruction with no other effect. The delay is used for aligning and scheduling other instructions. @@ -29,6 +29,10 @@ python_api_name: qiskit.pulse.instructions.Delay No other instruction may be scheduled within a `Delay`. + + The class `qiskit.pulse.instructions.delay.Delay` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")) – Length of time of the delay in terms of dt. @@ -101,7 +105,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -120,7 +124,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -134,7 +138,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -148,7 +152,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -162,7 +166,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -182,7 +186,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -192,7 +196,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Play.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Play.mdx index c04a5869b68..2dcda4a0d3a 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Play.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Play.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Play # Play - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") This instruction is responsible for applying a pulse on a channel. @@ -17,6 +17,10 @@ python_api_name: qiskit.pulse.instructions.Play Create a new pulse instruction. + + The class `qiskit.pulse.instructions.play.Play` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **pulse** (*Pulse*) – A pulse waveform description, such as [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -95,7 +99,7 @@ python_api_name: qiskit.pulse.instructions.Play ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -114,7 +118,7 @@ python_api_name: qiskit.pulse.instructions.Play ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -128,7 +132,7 @@ python_api_name: qiskit.pulse.instructions.Play ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -142,7 +146,7 @@ python_api_name: qiskit.pulse.instructions.Play ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -156,7 +160,7 @@ python_api_name: qiskit.pulse.instructions.Play ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -176,7 +180,7 @@ python_api_name: qiskit.pulse.instructions.Play ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -186,7 +190,7 @@ python_api_name: qiskit.pulse.instructions.Play ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Reference.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Reference.mdx index 878861462b6..e9dd828af33 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Reference.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Reference.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Reference # Reference - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") Pulse compiler directive that refers to a subroutine. @@ -21,6 +21,10 @@ python_api_name: qiskit.pulse.instructions.Reference Create new reference. + + The class `qiskit.pulse.instructions.reference.Reference` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – Name of subroutine. @@ -100,7 +104,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -119,7 +123,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -133,7 +137,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -147,7 +151,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -161,7 +165,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -181,7 +185,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -191,7 +195,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.RelativeBarrier.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.RelativeBarrier.mdx index 51b5a649ec2..794296df5c6 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.RelativeBarrier.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.RelativeBarrier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier # RelativeBarrier - + Bases: `Directive` Pulse `RelativeBarrier` directive. @@ -17,6 +17,10 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier The barrier directive blocks instructions within the same schedule as the barrier on channels contained within this barrier from moving through the barrier in time. + + The class `qiskit.pulse.instructions.directives.RelativeBarrier` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **channels** (*chans.Channel*) – The channel that the barrier applies to. @@ -82,7 +86,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -101,7 +105,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -115,7 +119,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -129,7 +133,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -143,7 +147,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -163,7 +167,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -173,7 +177,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.SetFrequency.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.SetFrequency.mdx index 88962b6e745..28a63dd8378 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.SetFrequency.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.SetFrequency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.SetFrequency # SetFrequency - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") Set the channel frequency. This instruction operates on `PulseChannel` s. A `PulseChannel` creates pulses of the form @@ -25,6 +25,10 @@ $$ Creates a new set channel frequency instruction. + + The class `qiskit.pulse.instructions.frequency.SetFrequency` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **frequency** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")) – New frequency of the channel in Hz. @@ -103,7 +107,7 @@ $$ ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -122,7 +126,7 @@ $$ ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -136,7 +140,7 @@ $$ ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -150,7 +154,7 @@ $$ ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -164,7 +168,7 @@ $$ ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -184,7 +188,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -194,7 +198,7 @@ $$ ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.SetPhase.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.SetPhase.mdx index d077c85dd0e..7bb64d80b6f 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.SetPhase.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.SetPhase.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.SetPhase # SetPhase - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") The set phase instruction sets the phase of the proceeding pulses on that channel to `phase` radians. @@ -23,6 +23,10 @@ $$ Instantiate a set phase instruction, setting the output signal phase on `channel` to `phase` \[radians]. + + The class `qiskit.pulse.instructions.phase.SetPhase` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **phase** ([*complex*](https://docs.python.org/3/library/functions.html#complex "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")) – The rotation angle in radians. @@ -101,7 +105,7 @@ $$ ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -120,7 +124,7 @@ $$ ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -134,7 +138,7 @@ $$ ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -148,7 +152,7 @@ $$ ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -162,7 +166,7 @@ $$ ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -182,7 +186,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -192,7 +196,7 @@ $$ ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftFrequency.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftFrequency.mdx index 013e95e5fa2..9f353016445 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftFrequency.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftFrequency.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency # ShiftFrequency - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") Shift the channel frequency away from the current frequency. Creates a new shift frequency instruction. + + The class `qiskit.pulse.instructions.frequency.ShiftFrequency` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **frequency** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")) – Frequency shift of the channel in Hz. @@ -93,7 +97,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -112,7 +116,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -126,7 +130,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -140,7 +144,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -154,7 +158,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -174,7 +178,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -184,7 +188,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftPhase.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftPhase.mdx index bc6c2256142..addbb9f6f0b 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftPhase.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftPhase.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.ShiftPhase # ShiftPhase - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") The shift phase instruction updates the modulation phase of proceeding pulses played on the same [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel"). It is a relative increase in phase determined by the `phase` operand. @@ -27,6 +27,10 @@ $$ Instantiate a shift phase instruction, increasing the output signal phase on `channel` by `phase` \[radians]. + + The class `qiskit.pulse.instructions.phase.ShiftPhase` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **phase** ([*complex*](https://docs.python.org/3/library/functions.html#complex "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")) – The rotation angle in radians. @@ -105,7 +109,7 @@ $$ ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -124,7 +128,7 @@ $$ ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -138,7 +142,7 @@ $$ ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -152,7 +156,7 @@ $$ ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -166,7 +170,7 @@ $$ ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -186,7 +190,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -196,7 +200,7 @@ $$ ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Snapshot.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Snapshot.mdx index 9a004c0a1c7..3bd3d13557f 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Snapshot.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Snapshot.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.pulse.instructions.Snapshot # Snapshot - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") An instruction targeted for simulators, to capture a moment in the simulation. Create new snapshot. + + The class `qiskit.pulse.instructions.snapshot.Snapshot` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – Snapshot label which is used to identify the snapshot in the output. @@ -99,7 +103,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -118,7 +122,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -132,7 +136,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -146,7 +150,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -160,7 +164,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -180,7 +184,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -190,7 +194,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.TimeBlockade.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.TimeBlockade.mdx index 32e8d8d18da..97ef4f7cc3d 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.TimeBlockade.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.TimeBlockade.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade # TimeBlockade - + Bases: `Directive` Pulse `TimeBlockade` directive. @@ -51,6 +51,10 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade Create a time blockade directive. + + The class `qiskit.pulse.instructions.directives.TimeBlockade` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – Length of time of the occupation in terms of dt. @@ -123,7 +127,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -142,7 +146,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -156,7 +160,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -170,7 +174,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -184,7 +188,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -204,7 +208,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -214,7 +218,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Constant.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Constant.mdx index c7f1645c662..1dd0e1b2571 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Constant.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Constant.mdx @@ -18,19 +18,9 @@ f(x) = \text{amp}\times\exp\left(i\text{angle}\right) , 0 <= x < duration f(x) = 0 , elsewhere $$ - Create new pulse instance. - - **Parameters** - - * **duration** – Pulse length in terms of the sampling period dt. - * **amp** – The magnitude of the amplitude of the square envelope. - * **angle** – The angle of the complex amplitude of the square envelope. Default value 0. - * **name** – Display name for this pulse envelope. - * **limit\_amplitude** – If `True`, then limit the amplitude of the waveform to 1. The default is `True` and the amplitude is constrained to 1. - - **Returns** - - ScalableSymbolicPulse instance. + + The class `qiskit.pulse.library.symbolic_pulses.Constant` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + ## Attributes diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Cos.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Cos.mdx index ec84a8d4658..1fe02be6a2a 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Cos.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Cos.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Cos # qiskit.pulse.library.Cos - + A cosine pulse. The envelope of the pulse is given by: @@ -21,6 +21,10 @@ $$ where $\text{A} = \text{amp} \times\exp\left(i\times\text{angle}\right)$. + + The function `qiskit.pulse.library.symbolic_pulses.Cos()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")) – Pulse length in terms of the sampling period dt. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Drag.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Drag.mdx index 446aec006e4..ded25c132a7 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Drag.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Drag.mdx @@ -32,21 +32,9 @@ $$ 2. [*F. Motzoi, J. M. Gambetta, P. Rebentrost, and F. K. Wilhelm Phys. Rev. Lett. 103, 110501 – Published 8 September 2009.*](https://link.aps.org/doi/10.1103/PhysRevLett.103.110501) - Create new pulse instance. - - **Parameters** - - * **duration** – Pulse length in terms of the sampling period dt. - * **amp** – The magnitude of the amplitude of the DRAG envelope. - * **sigma** – A measure of how wide or narrow the Gaussian peak is; described mathematically in the class docstring. - * **beta** – The correction amplitude. - * **angle** – The angle of the complex amplitude of the DRAG envelope. Default value 0. - * **name** – Display name for this pulse envelope. - * **limit\_amplitude** – If `True`, then limit the amplitude of the waveform to 1. The default is `True` and the amplitude is constrained to 1. - - **Returns** - - ScalableSymbolicPulse instance. + + The class `qiskit.pulse.library.symbolic_pulses.Drag` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + ## Attributes diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Gaussian.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Gaussian.mdx index 3c7f4fd1473..613ea52e2b0 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Gaussian.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Gaussian.mdx @@ -22,20 +22,9 @@ $$ where $f'(x)$ is the gaussian waveform without lifting or amplitude scaling, and $\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right)$. - Create new pulse instance. - - **Parameters** - - * **duration** – Pulse length in terms of the sampling period dt. - * **amp** – The magnitude of the amplitude of the Gaussian envelope. - * **sigma** – A measure of how wide or narrow the Gaussian peak is; described mathematically in the class docstring. - * **angle** – The angle of the complex amplitude of the Gaussian envelope. Default value 0. - * **name** – Display name for this pulse envelope. - * **limit\_amplitude** – If `True`, then limit the amplitude of the waveform to 1. The default is `True` and the amplitude is constrained to 1. - - **Returns** - - ScalableSymbolicPulse instance. + + The class `qiskit.pulse.library.symbolic_pulses.Gaussian` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + ## Attributes diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianDeriv.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianDeriv.mdx index 2346a433c3d..4d134eed37f 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianDeriv.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianDeriv.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.GaussianDeriv # qiskit.pulse.library.GaussianDeriv - + An unnormalized Gaussian derivative pulse. The Gaussian function is centered around the halfway point of the pulse, and the envelope of the pulse is given by: @@ -22,6 +22,10 @@ $$ where $\text{A} = \text{amp} \times\exp\left(i\times\text{angle}\right)$, and $\mu=\text{duration}/2$. + + The function `qiskit.pulse.library.symbolic_pulses.GaussianDeriv()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| ParameterValueType*) – Pulse length in terms of the sampling period dt. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquare.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquare.mdx index 205e1c9ff87..0732ef9fee2 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquare.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquare.mdx @@ -45,26 +45,9 @@ $$ where $f'(x)$ is the gaussian square waveform without lifting or amplitude scaling, and $\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right)$. - Create new pulse instance. - - **Parameters** - - * **duration** – Pulse length in terms of the sampling period dt. - * **amp** – The magnitude of the amplitude of the Gaussian and square pulse. - * **sigma** – A measure of how wide or narrow the Gaussian risefall is; see the class docstring for more details. - * **width** – The duration of the embedded square pulse. - * **angle** – The angle of the complex amplitude of the pulse. Default value 0. - * **risefall\_sigma\_ratio** – The ratio of each risefall duration to sigma. - * **name** – Display name for this pulse envelope. - * **limit\_amplitude** – If `True`, then limit the amplitude of the waveform to 1. The default is `True` and the amplitude is constrained to 1. - - **Returns** - - ScalableSymbolicPulse instance. - - **Raises** - - [**PulseError**](pulse#qiskit.pulse.PulseError "qiskit.pulse.PulseError") – When width and risefall\_sigma\_ratio are both empty or both non-empty. + + The class `qiskit.pulse.library.symbolic_pulses.GaussianSquare` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + ## Attributes diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquareDrag.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquareDrag.mdx index 930c341d21f..f0351feba65 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquareDrag.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquareDrag.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.GaussianSquareDrag # qiskit.pulse.library.GaussianSquareDrag - + A square pulse with a Drag shaped rise and fall This pulse shape is similar to [`GaussianSquare`](qiskit.pulse.library.GaussianSquare "qiskit.pulse.library.GaussianSquare") but uses [`Drag`](qiskit.pulse.library.Drag "qiskit.pulse.library.Drag") for its rise and fall instead of [`Gaussian`](qiskit.pulse.library.Gaussian "qiskit.pulse.library.Gaussian"). The addition of the DRAG component of the rise and fall is sometimes helpful in suppressing the spectral content of the pulse at frequencies near to, but slightly offset from, the fundamental frequency of the drive. When there is a spectator qubit close in frequency to the fundamental frequency, suppressing the drive at the spectator’s frequency can help avoid unwanted excitation of the spectator. @@ -61,6 +61,10 @@ $$ where $\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right)$. + + The function `qiskit.pulse.library.symbolic_pulses.GaussianSquareDrag()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")) – Pulse length in terms of the sampling period dt. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Sawtooth.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Sawtooth.mdx index c88940ed12b..a384e8884fd 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Sawtooth.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Sawtooth.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Sawtooth # qiskit.pulse.library.Sawtooth - + A sawtooth pulse. The envelope of the pulse is given by: @@ -22,6 +22,10 @@ $$ where $\text{A} = \text{amp} \times\exp\left(i\times\text{angle}\right)$, $g\left(x\right)=x\times\text{freq}+\frac{\text{phase}}{2\pi}$, and $\lfloor ...\rfloor$ is the floor operation. + + The function `qiskit.pulse.library.symbolic_pulses.Sawtooth()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")) – Pulse length in terms of the sampling period dt. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Sech.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Sech.mdx index d03b1d88161..84691ecb6be 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Sech.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Sech.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Sech # qiskit.pulse.library.Sech - + An unnormalized sech pulse. The sech function is centered around the halfway point of the pulse, and the envelope of the pulse is given by: @@ -30,6 +30,10 @@ $$ where $y^{*}$ is the value of $y$ at the endpoints (at $x=-1 and :math:`x=\text{duration}+1$). This shifts the endpoints value to zero, while also rescaling to preserve the amplitude at :math:text\{duration}/2\`\`. + + The function `qiskit.pulse.library.symbolic_pulses.Sech()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| ParameterValueType*) – Pulse length in terms of the sampling period dt. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.SechDeriv.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.SechDeriv.mdx index f652ad51047..c35ebe884f7 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.SechDeriv.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.SechDeriv.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.SechDeriv # qiskit.pulse.library.SechDeriv - + An unnormalized sech derivative pulse. The sech function is centered around the halfway point of the pulse, and the envelope of the pulse is given by: @@ -22,6 +22,10 @@ $$ where $\text{A} = \text{amp} \times\exp\left(i\times\text{angle}\right)$, $\mu=\text{duration}/2$, and $d/dx$ is a derivative with respect to x. + + The function `qiskit.pulse.library.symbolic_pulses.SechDeriv()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| ParameterValueType*) – Pulse length in terms of the sampling period dt. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Sin.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Sin.mdx index 7d8609a0df8..4784deb84e0 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Sin.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Sin.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Sin # qiskit.pulse.library.Sin - + A sinusoidal pulse. The envelope of the pulse is given by: @@ -21,6 +21,10 @@ $$ where $\text{A} = \text{amp} \times\exp\left(i\times\text{angle}\right)$. + + The function `qiskit.pulse.library.symbolic_pulses.Sin()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")) – Pulse length in terms of the sampling period dt. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Square.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Square.mdx index f7493f3758a..201b29c9103 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Square.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Square.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Square # qiskit.pulse.library.Square - + A square wave pulse. The envelope of the pulse is given by: @@ -22,6 +22,10 @@ $$ where $\text{A} = \text{amp} \times\exp\left(i\times\text{angle}\right)$, and $\text{sign}$ is the sign function with the convention $\text{sign}\left(0\right)=1$. + + The function `qiskit.pulse.library.symbolic_pulses.Square()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| ParameterValueType*) – Pulse length in terms of the sampling period `dt`. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse.mdx index ae0baa10711..b12ebdf1dca 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.SymbolicPulse # SymbolicPulse - + Bases: `Pulse` The pulse representation model with parameters and symbolic expressions. @@ -111,6 +111,10 @@ $$ Create a parametric pulse. + + The class `qiskit.pulse.library.symbolic_pulses.SymbolicPulse` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **pulse\_type** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – Display name of this pulse shape. @@ -182,7 +186,7 @@ $$ ### draw - + Plot the interpolated envelope of pulse. **Parameters** @@ -218,7 +222,7 @@ $$ ### get\_waveform - + Return a Waveform with samples filled according to the formula that the pulse represents and the parameter values it contains. Since the returned array is a discretized time series of the continuous function, this method uses a midpoint sampler. For `duration`, return: @@ -243,7 +247,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -253,7 +257,7 @@ $$ ### validate\_parameters - + Validate parameters. **Raises** diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Triangle.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Triangle.mdx index 07cf861fb9a..288e9689f4f 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Triangle.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Triangle.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Triangle # qiskit.pulse.library.Triangle - + A triangle wave pulse. The envelope of the pulse is given by: @@ -21,6 +21,10 @@ $$ where $\text{A} = \text{amp} \times\exp\left(i\times\text{angle}\right)$, and $\text{sawtooth}\left(x\right)$ is a sawtooth wave with the same frequency as the triangle wave, but a phase shifted by $\frac{\pi}{2}$. + + The function `qiskit.pulse.library.symbolic_pulses.Triangle()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")) – Pulse length in terms of the sampling period dt. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Waveform.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Waveform.mdx index f11e6678526..f0bded2d391 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Waveform.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Waveform.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.pulse.library.Waveform # Waveform - + Bases: `Pulse` A pulse specified completely by complex-valued samples; each sample is played for the duration of the backend cycle-time, dt. Create new sample pulse command. + + The class `qiskit.pulse.library.waveform.Waveform` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **Parameters** * **samples** (*np.ndarray |* [*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")*\[*[*complex*](https://docs.python.org/3/library/functions.html#complex "(in Python v3.13)")*]*) – Complex array of the samples in the pulse envelope. @@ -58,7 +62,7 @@ python_api_name: qiskit.pulse.library.Waveform ### draw - + Plot the interpolated envelope of pulse. **Parameters** @@ -94,7 +98,7 @@ python_api_name: qiskit.pulse.library.Waveform ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.gaussian_square_echo.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.gaussian_square_echo.mdx index d4761d4d48d..2920340b518 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.gaussian_square_echo.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.gaussian_square_echo.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.gaussian_square_echo # qiskit.pulse.library.gaussian\_square\_echo - + An echoed Gaussian square pulse with an active tone overlaid on it. The Gaussian Square Echo pulse is composed of three pulses. First, a Gaussian Square pulse $f_{echo}(x)$ with amplitude `amp` and phase `angle` playing for half duration, followed by a second Gaussian Square pulse $-f_{echo}(x)$ with opposite amplitude and same phase playing for the rest of the duration. Third a Gaussian Square pulse $f_{active}(x)$ with amplitude `active_amp` and phase `active_angle` playing for the entire duration. The Gaussian Square Echo pulse $g_e()$ can be written as: @@ -43,6 +43,10 @@ $$ $$ + + The function `qiskit.pulse.library.symbolic_pulses.gaussian_square_echo()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics) + + **References** 1. [*Jurcevic, P., Javadi-Abhari, A., Bishop, L. S., Lauer, I., Bogorin, D. F., Brink, M., Capelluto, L., G\{“u}nl\{“u}k, O., Itoko, T., Kanazawa, N. & others Demonstration of quantum volume 64 on a superconducting quantum computing system. (Section V)*](https://iopscience.iop.org/article/10.1088/2058-9565/abe519) diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.CNOTDihedral.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.CNOTDihedral.mdx index 56d2767533a..874c2f1d8b8 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.CNOTDihedral.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.CNOTDihedral.mdx @@ -39,7 +39,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral > print(elem) > ``` - ```python + ```text phase polynomial = 0 + 3*x_0 + 3*x_1 + 2*x_0*x_1 affine function = diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Clifford.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Clifford.mdx index bd2d982d151..c25fb5563b3 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Clifford.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Clifford.mdx @@ -52,7 +52,7 @@ python_api_name: qiskit.quantum_info.Clifford print(cliff.to_labels(mode="S")) ``` - ```python + ```text Clifford: Stabilizer = ['+XX', '+ZZ'], Destabilizer = ['+IZ', '+XI'] ['+IZ', '+XI'] ['+XX', '+ZZ'] diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.DensityMatrix.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.DensityMatrix.mdx index 16d30fa103e..357729bbf86 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.DensityMatrix.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.DensityMatrix.mdx @@ -351,7 +351,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix print('Qubit-1 probs: {}'.format(probs_qubit_1)) ``` - ```python + ```text probs: [0.5 0. 0.5 0. ] Qubit-0 probs: [1. 0.] Qubit-1 probs: [0.5 0.5] @@ -374,7 +374,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix print('Swapped probs: {}'.format(probs_swapped)) ``` - ```python + ```text probs: [0.5 0. 0.5 0. ] Swapped probs: [0.5 0.5 0. 0. ] ``` @@ -555,7 +555,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix print(rho.to_dict()) ``` - ```python + ```text { '00|00': (0.4999999999999999+0j), '10|00': (-0.4999999999999999-0j), @@ -579,7 +579,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix print(rho.to_dict()) ``` - ```python + ```text {'00|00': (0.25+0j), '10|10': (0.25+0j), '20|20': (0.25+0j), '22|22': (0.25+0j)} ``` @@ -596,7 +596,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix print(rho.to_dict()) ``` - ```python + ```text {'00|00': (0.5+0j), '91|91': (0.5+0j)} ``` diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Operator.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Operator.mdx index 167d2a0f464..4d01b1e5c66 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Operator.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Operator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Operator # Operator - + Bases: `LinearOp` Matrix operator class @@ -116,7 +116,7 @@ $$ ### apply\_permutation - + Modifies operator’s data by composing it with a permutation. **Parameters** @@ -139,7 +139,7 @@ $$ ### compose - + Return the operator composition with another Operator. **Parameters** @@ -169,7 +169,7 @@ $$ ### conjugate - + Return the conjugate of the Operator. @@ -204,7 +204,7 @@ $$ ### draw - + Return a visualization of the Operator. **repr**: String of the state’s `__repr__`. @@ -235,7 +235,7 @@ $$ ### equiv - + Return True if operators are equivalent up to global phase. **Parameters** @@ -255,7 +255,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Operator. **Parameters** @@ -275,7 +275,7 @@ $$ ### from\_circuit - + Create a new Operator object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") While a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object can passed directly as `data` to the class constructor this provides no options on how the circuit is used to create an [`Operator`](#qiskit.quantum_info.Operator "qiskit.quantum_info.Operator"). This constructor method lets you control how the [`Operator`](#qiskit.quantum_info.Operator "qiskit.quantum_info.Operator") is created so it can be adjusted for a particular use case. @@ -300,7 +300,7 @@ $$ ### from\_label - + Return a tensor product of single-qubit operators. **Parameters** @@ -332,7 +332,7 @@ $$ ### is\_unitary - + Return True if operator is a unitary matrix. @@ -344,12 +344,26 @@ $$ ### power - + Return the matrix power of the operator. + Non-integer powers of operators with an eigenvalue whose complex phase is $\pi$ have a branch cut in the complex plane, which makes the calculation of the principal root around this cut subject to precision / differences in BLAS implementation. For example, the square root of Pauli Y can return the $\pi/2$ or $-\pi/2$ Y rotation depending on whether the -1 eigenvalue is found as `complex(-1, tiny)` or `complex(-1, -tiny)`. Such eigenvalues are really common in quantum information, so this function first phase-rotates the input matrix to shift the branch cut to a far less common point. The underlying numerical precision issues around the branch-cut point remain, if an operator has an eigenvalue close to this phase. The magnitude of this rotation can be controlled with the `branch_cut_rotation` parameter. + + The choice of `branch_cut_rotation` affects the principal root that is found. For example, the square root of [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate") will be calculated as either [`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate") or [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate") depending on which way the rotation is done: + + ```python + from qiskit.circuit import library + from qiskit.quantum_info import Operator + + z_op = Operator(library.ZGate()) + assert z_op.power(0.5, branch_cut_rotation=1e-3) == Operator(library.SGate()) + assert z_op.power(0.5, branch_cut_rotation=-1e-3) == Operator(library.SdgGate()) + ``` + **Parameters** - **n** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")) – the power to raise the matrix to. + * **n** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")) – the power to raise the matrix to. + * **branch\_cut\_rotation** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")) – The rotation angle to apply to the branch cut in the complex plane. This shifts the branch cut away from the common point of $-1$, but can cause a different root to be selected as the principal root. The rotation is anticlockwise, following the standard convention for complex phase. **Returns** @@ -390,7 +404,7 @@ $$ ### reverse\_qargs - + Return an Operator with reversed subsystem ordering. For a tensor product operator this is equivalent to reversing the order of tensor product subsystems. For an operator $A = A_{n-1} \otimes ... \otimes A_0$ the returned operator will be $A_0 \otimes ... \otimes A_{n-1}$. @@ -406,7 +420,7 @@ $$ ### tensor - + Return the tensor product with another Operator. **Parameters** @@ -430,19 +444,19 @@ $$ ### to\_instruction - + Convert to a UnitaryGate instruction. ### to\_matrix - + Convert operator to NumPy matrix. ### to\_operator - + Convert operator to matrix operator class **Return type** @@ -452,7 +466,7 @@ $$ ### transpose - + Return the transpose of the Operator. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Pauli.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Pauli.mdx index 90c8a9bc54a..5951f243ebd 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Pauli.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Pauli.mdx @@ -271,7 +271,7 @@ $$ ### copy - + Make a deep copy of current operator. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.mdx index 3d779304f70..12c0a13c269 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.mdx @@ -59,7 +59,7 @@ python_api_name: qiskit.quantum_info.PauliList print("4. ", pauli_list) ``` - ```python + ```text 1. ['II', 'ZI', '-iYY'] 2. ['iXI'] 3. ['iXI', 'iZZ'] @@ -77,7 +77,7 @@ python_api_name: qiskit.quantum_info.PauliList print("Slice: ", repr(pauli_list[0:2])) ``` - ```python + ```text Integer: Pauli('ZZ') List: PauliList(['XX', 'IZ']) Slice: PauliList(['XX', 'ZZ']) @@ -297,7 +297,7 @@ python_api_name: qiskit.quantum_info.PauliList ### copy - + Make a deep copy of current operator. @@ -668,7 +668,7 @@ python_api_name: qiskit.quantum_info.PauliList print(srt) ``` - ```python + ```text Initial Ordering ['YX', 'ZZ', 'XZ', 'YI', 'YZ', 'II', 'XX', 'XI', 'XY', 'YY', 'IX', 'IZ', 'ZY', 'ZI', 'ZX', 'IY'] @@ -792,7 +792,7 @@ python_api_name: qiskit.quantum_info.PauliList print(unique) ``` - ```python + ```text ['X', 'Y', '-X', 'I', 'Z', 'iZ'] ``` diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.SparseObservable.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.SparseObservable.mdx new file mode 100644 index 00000000000..ebb8cfebd22 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.quantum_info.SparseObservable.mdx @@ -0,0 +1,762 @@ +--- +title: SparseObservable +description: API reference for qiskit.quantum_info.SparseObservable +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.quantum_info.SparseObservable +--- + +# SparseObservable + + + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)") + + An observable over Pauli bases that stores its data in a qubit-sparse format. + + ## Mathematics + + This observable represents a sum over strings of the Pauli operators and Pauli-eigenstate projectors, with each term weighted by some complex number. That is, the full observable is + +$$ +\text{\texttt{SparseObservable}} = \sum_i c_i \bigotimes_n A^{(n)}_i +$$ + + for complex numbers $c_i$ and single-qubit operators acting on qubit $n$ from a restricted alphabet $A^{(n)}_i$. The sum over $i$ is the sum of the individual terms, and the tensor product produces the operator strings. + + The alphabet of allowed single-qubit operators that the $A^{(n)}_i$ are drawn from is the Pauli operators and the Pauli-eigenstate projection operators. Explicitly, these are: + + + + | Label | Operator | Numeric value | [`BitTerm`](#qiskit.quantum_info.SparseObservable.BitTerm "qiskit.quantum_info.SparseObservable.BitTerm") attribute | + | ----- | ------------------------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------- | + | `"I"` | $I$ (identity) | Not stored. | Not stored. | + | `"X"` | $X$ (Pauli X) | `0b0010` (2) | [`X`](#qiskit.quantum_info.SparseObservable.BitTerm.X "qiskit.quantum_info.SparseObservable.BitTerm.X") | + | `"Y"` | $Y$ (Pauli Y) | `0b0011` (3) | [`Y`](#qiskit.quantum_info.SparseObservable.BitTerm.Y "qiskit.quantum_info.SparseObservable.BitTerm.Y") | + | `"Z"` | $Z$ (Pauli Z) | `0b0001` (1) | [`Z`](#qiskit.quantum_info.SparseObservable.BitTerm.Z "qiskit.quantum_info.SparseObservable.BitTerm.Z") | + | `"+"` | $\lvert+\rangle\langle+\rvert$ (projector to positive eigenstate of X) | `0b1010` (10) | [`PLUS`](#qiskit.quantum_info.SparseObservable.BitTerm.PLUS "qiskit.quantum_info.SparseObservable.BitTerm.PLUS") | + | `"-"` | $\lvert-\rangle\langle-\rvert$ (projector to negative eigenstate of X) | `0b0110` (6) | [`MINUS`](#qiskit.quantum_info.SparseObservable.BitTerm.MINUS "qiskit.quantum_info.SparseObservable.BitTerm.MINUS") | + | `"r"` | $\lvert r\rangle\langle r\rvert$ (projector to positive eigenstate of Y) | `0b1011` (11) | [`RIGHT`](#qiskit.quantum_info.SparseObservable.BitTerm.RIGHT "qiskit.quantum_info.SparseObservable.BitTerm.RIGHT") | + | `"l"` | $\lvert l\rangle\langle l\rvert$ (projector to negative eigenstate of Y) | `0b0111` (7) | [`LEFT`](#qiskit.quantum_info.SparseObservable.BitTerm.LEFT "qiskit.quantum_info.SparseObservable.BitTerm.LEFT") | + | `"0"` | $\lvert0\rangle\langle0\rvert$ (projector to positive eigenstate of Z) | `0b1001` (9) | [`ZERO`](#qiskit.quantum_info.SparseObservable.BitTerm.ZERO "qiskit.quantum_info.SparseObservable.BitTerm.ZERO") | + | `"1"` | $\lvert1\rangle\langle1\rvert$ (projector to negative eigenstate of Z) | `0b0101` (5) | [`ONE`](#qiskit.quantum_info.SparseObservable.BitTerm.ONE "qiskit.quantum_info.SparseObservable.BitTerm.ONE") | + + The allowed alphabet forms an overcomplete basis of the operator space. This means that there is not a unique summation to represent a given observable. By comparison, [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") uses a precise basis of the operator space, so (after combining terms of the same Pauli string, removing zeros, and sorting the terms to [some canonical order](#sparse-observable-canonical-order)) there is only one representation of any operator. + + [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") uses its particular overcomplete basis with the aim of making “efficiency of measurement” equivalent to “efficiency of representation”. For example, the observable ${\lvert0\rangle\langle0\rvert}^{\otimes n}$ can be efficiently measured on hardware with simple $Z$ measurements, but can only be represented by [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") as ${(I + Z)}^{\otimes n}/2^n$, which requires $2^n$ stored terms. [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") requires only a single term to store this. + + The downside to this is that it is impractical to take an arbitrary matrix or [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") and find the *best* [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") representation. You typically will want to construct a [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") directly, rather than trying to decompose into one. + + ## Representation + + The internal representation of a [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") stores only the non-identity qubit operators. This makes it significantly more efficient to represent observables such as $\sum_{n\in \text{qubits}} Z^{(n)}$; [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") requires an amount of memory linear in the total number of qubits, while [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") scales quadratically. + + The terms are stored compressed, similar in spirit to the compressed sparse row format of sparse matrices. In this analogy, the terms of the sum are the “rows”, and the qubit terms are the “columns”, where an absent entry represents the identity rather than a zero. More explicitly, the representation is made up of four contiguous arrays: + + + + | Attribute | Length | Description | + | ------------------------------------------------------------------------------------------------------------------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | [`coeffs`](#qiskit.quantum_info.SparseObservable.coeffs "qiskit.quantum_info.SparseObservable.coeffs") | $t$ | The complex scalar multiplier for each term. | + | [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") | $s$ | Each of the non-identity single-qubit terms for all of the operators, in order. These correspond to the non-identity $A^{(n)}_i$ in the sum description, where the entries are stored in order of increasing $i$ first, and in order of increasing $n$ within each term. | + | [`indices`](#qiskit.quantum_info.SparseObservable.indices "qiskit.quantum_info.SparseObservable.indices") | $s$ | The corresponding qubit ($n$) for each of the operators in [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms"). [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") requires that this list is term-wise sorted, and algorithms can rely on this invariant being upheld. | + | [`boundaries`](#qiskit.quantum_info.SparseObservable.boundaries "qiskit.quantum_info.SparseObservable.boundaries") | $t+1$ | The indices that partition [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") and [`indices`](#qiskit.quantum_info.SparseObservable.indices "qiskit.quantum_info.SparseObservable.indices") into complete terms. For term number $i$, its complex coefficient is `coeffs[i]`, and its non-identity single-qubit operators and their corresponding qubits are the slice `boundaries[i] : boundaries[i+1]` into [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") and [`indices`](#qiskit.quantum_info.SparseObservable.indices "qiskit.quantum_info.SparseObservable.indices") respectively. [`boundaries`](#qiskit.quantum_info.SparseObservable.boundaries "qiskit.quantum_info.SparseObservable.boundaries") always has an explicit 0 as its first element. | + + The length parameter $t$ is the number of terms in the sum, and the parameter $s$ is the total number of non-identity single-qubit terms. + + As illustrative examples: + + * in the case of a zero operator, [`boundaries`](#qiskit.quantum_info.SparseObservable.boundaries "qiskit.quantum_info.SparseObservable.boundaries") is length 1 (a single 0) and all other vectors are empty. + * in the case of a fully simplified identity operator, [`boundaries`](#qiskit.quantum_info.SparseObservable.boundaries "qiskit.quantum_info.SparseObservable.boundaries") is `[0, 0]`, [`coeffs`](#qiskit.quantum_info.SparseObservable.coeffs "qiskit.quantum_info.SparseObservable.coeffs") has a single entry, and [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") and [`indices`](#qiskit.quantum_info.SparseObservable.indices "qiskit.quantum_info.SparseObservable.indices") are empty. + * for the operator $Z_2 Z_0 - X_3 Y_1$, [`boundaries`](#qiskit.quantum_info.SparseObservable.boundaries "qiskit.quantum_info.SparseObservable.boundaries") is `[0, 2, 4]`, [`coeffs`](#qiskit.quantum_info.SparseObservable.coeffs "qiskit.quantum_info.SparseObservable.coeffs") is `[1.0, -1.0]`, [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") is `[BitTerm.Z, BitTerm.Z, BitTerm.Y, BitTerm.X]` and [`indices`](#qiskit.quantum_info.SparseObservable.indices "qiskit.quantum_info.SparseObservable.indices") is `[0, 2, 1, 3]`. The operator might act on more than four qubits, depending on the [`num_qubits`](#qiskit.quantum_info.SparseObservable.num_qubits "qiskit.quantum_info.SparseObservable.num_qubits") parameter. The [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") are integer values, whose magic numbers can be accessed via the [`BitTerm`](#qiskit.quantum_info.SparseObservable.BitTerm "qiskit.quantum_info.SparseObservable.BitTerm") attribute class. Note that the single-bit terms and indices are sorted into termwise sorted order. This is a requirement of the class. + + These cases are not special, they’re fully consistent with the rules and should not need special handling. + + The scalar item of the [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") array is stored as a numeric byte. The numeric values are related to the symplectic Pauli representation that [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") uses, and are accessible with named access by an enumeration: + + ### BitTerm + + + An [`IntEnum`](https://docs.python.org/3/library/enum.html#enum.IntEnum "(in Python v3.13)") that provides named access to the numerical values used to represent each of the single-qubit alphabet terms enumerated in [Alphabet of single-qubit terms used in SparseObservable](#sparse-observable-alphabet). + + This class is attached to [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"). Access it as [`SparseObservable.BitTerm`](#qiskit.quantum_info.SparseObservable.BitTerm "qiskit.quantum_info.SparseObservable.BitTerm"). If this is too much typing, and you are solely dealing with :class:¬SparseObservable\` objects and the `BitTerm` name is not ambiguous, you might want to shorten it as: + + ```python + >>> ops = SparseObservable.BitTerm + >>> assert ops.X is SparseObservable.BitTerm.X + ``` + + You can access all the values of the enumeration by either their full all-capitals name, or by their single-letter label. The single-letter labels are not generally valid Python identifiers, so you must use indexing notation to access them: + + ```python + >>> assert SparseObservable.BitTerm.ZERO is SparseObservable.BitTerm["0"] + ``` + + The numeric structure of these is that they are all four-bit values of which the low two bits are the (phase-less) symplectic representation of the Pauli operator related to the object, where the low bit denotes a contribution by $Z$ and the second lowest a contribution by $X$, while the upper two bits are `00` for a Pauli operator, `01` for the negative-eigenstate projector, and `10` for the positive-eigenstate projector. + + #### X + + + The Pauli $X$ operator. Uses the single-letter label `"X"`. + + + #### PLUS + + + The projector to the positive eigenstate of the $X$ operator: $\lvert+\rangle\langle+\rvert$. Uses the single-letter label `"+"`. + + + #### MINUS + + + The projector to the negative eigenstate of the $X$ operator: $\lvert-\rangle\langle-\rvert$. Uses the single-letter label `"-"`. + + + #### Y + + + The Pauli $Y$ operator. Uses the single-letter label `"Y"`. + + + #### RIGHT + + + The projector to the positive eigenstate of the $Y$ operator: $\lvert r\rangle\langle r\rvert$. Uses the single-letter label `"r"`. + + + #### LEFT + + + The projector to the negative eigenstate of the $Y$ operator: $\lvert l\rangle\langle l\rvert$. Uses the single-letter label `"l"`. + + + #### Z + + + The Pauli $Z$ operator. Uses the single-letter label `"Z"`. + + + #### ZERO + + + The projector to the positive eigenstate of the $Z$ operator: $\lvert0\rangle\langle0\rvert$. Uses the single-letter label `"0"`. + + + #### ONE + + + The projector to the negative eigenstate of the $Z$ operator: $\lvert1\rangle\langle1\rvert$. Uses the single-letter label `"1"`. + + + + Each of the array-like attributes behaves like a Python sequence. You can index and slice these with standard [`list`](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")-like semantics. Slicing an attribute returns a Numpy [`ndarray`](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v2.1)") containing a copy of the relevant data with the natural `dtype` of the field; this lets you easily do mathematics on the results, like bitwise operations on [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms"). You can assign to indices or slices of each of the attributes, but beware that you must uphold [the data coherence rules](#sparse-observable-arrays) while doing this. For example: + + ```python + >>> obs = SparseObservable.from_list([("XZY", 1.5j), ("+1r", -0.5)]) + >>> assert isinstance(obs.coeffs[:], np.ndarray) + >>> # Reduce all single-qubit terms to the relevant Pauli operator, if they are a projector. + >>> obs.bit_terms[:] = obs.bit_terms[:] & 0b00_11 + >>> assert obs == SparseObservable.from_list([("XZY", 1.5j), ("XZY", -0.5)]) + ``` + + + + ### Canonical ordering + + For any given mathematical observable, there are several ways of representing it with [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"). For example, the same set of single-bit terms and their corresponding indices might appear multiple times in the observable. Mathematically, this is equivalent to having only a single term with all the coefficients summed. Similarly, the terms of the sum in a [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") can be in any order while representing the same observable, since addition is commutative (although while floating-point addition is not associative, [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") makes no guarantees about the summation order). + + These two categories of representation degeneracy can cause the `==` operator to claim that two observables are not equal, despite representating the same object. In these cases, it can be convenient to define some *canonical form*, which allows observables to be compared structurally. + + You can put a [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") in canonical form by using the [`simplify()`](#qiskit.quantum_info.SparseObservable.simplify "qiskit.quantum_info.SparseObservable.simplify") method. The precise ordering of terms in canonical ordering is not specified, and may change between versions of Qiskit. Within the same version of Qiskit, however, you can compare two observables structurally by comparing their simplified forms. + + + If you wish to account for floating-point tolerance in the comparison, it is safest to use a recipe such as: + + ```python + def equivalent(left, right, tol): + return (left - right).simplify(tol) == SparseObservable.zero(left.num_qubits) + ``` + + + + The canonical form produced by [`simplify()`](#qiskit.quantum_info.SparseObservable.simplify "qiskit.quantum_info.SparseObservable.simplify") will still not universally detect all observables that are equivalent due to the over-complete basis alphabet; it is not computationally feasible to do this at scale. For example, on observable built from `+` and `-` components will not canonicalize to a single `X` term. + + + ## Construction + + [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") defines several constructors. The default constructor will attempt to delegate to one of the more specific constructors, based on the type of the input. You can always use the specific constructors to have more control over the construction. + + + + | Method | Summary | + | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | [`from_label()`](#qiskit.quantum_info.SparseObservable.from_label "qiskit.quantum_info.SparseObservable.from_label") | Convert a dense string label into a single-term [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"). | + | [`from_list()`](#qiskit.quantum_info.SparseObservable.from_list "qiskit.quantum_info.SparseObservable.from_list") | Sum a list of tuples of dense string labels and the associated coefficients into an observable. | + | [`from_sparse_list()`](#qiskit.quantum_info.SparseObservable.from_sparse_list "qiskit.quantum_info.SparseObservable.from_sparse_list") | Sum a list of tuples of sparse string labels, the qubits they apply to, and their coefficients into an observable. | + | [`from_pauli()`](#qiskit.quantum_info.SparseObservable.from_pauli "qiskit.quantum_info.SparseObservable.from_pauli") | Raise a single [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") into a single-term [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"). | + | [`from_sparse_pauli_op()`](#qiskit.quantum_info.SparseObservable.from_sparse_pauli_op "qiskit.quantum_info.SparseObservable.from_sparse_pauli_op") | Raise a [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") into a [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"). | + | [`from_raw_parts()`](#qiskit.quantum_info.SparseObservable.from_raw_parts "qiskit.quantum_info.SparseObservable.from_raw_parts") | Build the observable from [the raw data arrays](#sparse-observable-arrays). | + + ### \_\_new\_\_ + + + The default constructor of [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"). + + This delegates to one of [the explicit conversion-constructor methods](#sparse-observable-convert-constructors), based on the type of the `data` argument. If `num_qubits` is supplied and constructor implied by the type of `data` does not accept a number, the given integer must match the input. + + **Parameters** + + * **data** – The data type of the input. This can be another [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"), in which case the input is copied, a [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") or [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp"), in which case [`from_pauli()`](#qiskit.quantum_info.SparseObservable.from_pauli "qiskit.quantum_info.SparseObservable.from_pauli") or [`from_sparse_pauli_op()`](#qiskit.quantum_info.SparseObservable.from_sparse_pauli_op "qiskit.quantum_info.SparseObservable.from_sparse_pauli_op") are called as appropriate, or it can be a list in a valid format for either [`from_list()`](#qiskit.quantum_info.SparseObservable.from_list "qiskit.quantum_info.SparseObservable.from_list") or [`from_sparse_list()`](#qiskit.quantum_info.SparseObservable.from_sparse_list "qiskit.quantum_info.SparseObservable.from_sparse_list"). + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*|None*) – Optional number of qubits for the operator. For most data inputs, this can be inferred and need not be passed. It is only necessary for empty lists or the sparse-list format. If given unnecessarily, it must match the data input. + + + In addition to the conversion-based constructors, there are also helper methods that construct special forms of observables. + + | Method | Summary | + | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | + | [`zero()`](#qiskit.quantum_info.SparseObservable.zero "qiskit.quantum_info.SparseObservable.zero") | The zero operator on a given number of qubits. | + | [`identity()`](#qiskit.quantum_info.SparseObservable.identity "qiskit.quantum_info.SparseObservable.identity") | The identity operator on a given number of qubits. | + + ## Mathematical manipulation + + [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") supports the standard set of Python mathematical operators like other [`quantum_info`](quantum_info#module-qiskit.quantum_info "qiskit.quantum_info") operators. + + In basic arithmetic, you can: + + * add two observables using `+` + * subtract two observables using `-` + * multiply or divide by an [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)"), [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") or [`complex`](https://docs.python.org/3/library/functions.html#complex "(in Python v3.13)") using `*` and `/` + * negate all the coefficients in an observable with unary `-` + + Each of the basic binary arithmetic operators has a corresponding specialized in-place method, which mutates the left-hand side in-place. Using these is typically more efficient than the infix operators, especially for building an observable in a loop. + + The tensor product is calculated with [`tensor()`](#qiskit.quantum_info.SparseObservable.tensor "qiskit.quantum_info.SparseObservable.tensor") (for standard, juxtaposition ordering of Pauli labels) or [`expand()`](#qiskit.quantum_info.SparseObservable.expand "qiskit.quantum_info.SparseObservable.expand") (for the reverse order). The `^` operator is overloaded to be equivalent to [`tensor()`](#qiskit.quantum_info.SparseObservable.tensor "qiskit.quantum_info.SparseObservable.tensor"). + + + When using the binary operators `^` ([`tensor()`](#qiskit.quantum_info.SparseObservable.tensor "qiskit.quantum_info.SparseObservable.tensor")) and `&` (`compose()`), beware that [Python’s operator-precedence rules](https://docs.python.org/3/reference/expressions.html#operator-precedence) may cause the evaluation order to be different to your expectation. In particular, the operator `+` binds more tightly than `^` or `&`, just like `*` binds more tightly than `+`. + + When using the operators in mixed expressions, it is safest to use parentheses to group the operands of tensor products. + + + A [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") has a well-defined [`adjoint()`](#qiskit.quantum_info.SparseObservable.adjoint "qiskit.quantum_info.SparseObservable.adjoint"). The notions of scalar complex conjugation ([`conjugate()`](#qiskit.quantum_info.SparseObservable.conjugate "qiskit.quantum_info.SparseObservable.conjugate")) and real-value transposition ([`transpose()`](#qiskit.quantum_info.SparseObservable.transpose "qiskit.quantum_info.SparseObservable.transpose")) are defined analogously to the matrix representation of other Pauli operators in Qiskit. + + ### Efficiency notes + + Internally, [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") is in-place mutable, including using over-allocating growable vectors for extending the number of terms. This means that the cost of appending to an observable using `+=` is amortised linear in the total number of terms added, rather than the quadratic complexity that the binary `+` would require. + + Additions and subtractions are implemented by a term-stacking operation; there is no automatic “simplification” (summing of like terms), because the majority of additions to build up an observable generate only a small number of duplications, and like-term detection has additional costs. If this does not fit your use cases, you can either periodically call [`simplify()`](#qiskit.quantum_info.SparseObservable.simplify "qiskit.quantum_info.SparseObservable.simplify"), or discuss further APIs with us for better building of observables. + + ## Attributes + + #### bit\_terms + + + A flat list of single-qubit terms. This is more naturally a list of lists, but is stored flat for memory usage and locality reasons, with the sublists denoted by boundaries. + + + #### boundaries + + + Indices that partition [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") and [`indices`](#qiskit.quantum_info.SparseObservable.indices "qiskit.quantum_info.SparseObservable.indices") into sublists for each individual term in the sum. `boundaries[0] : boundaries[1]` is the range of indices into [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") and [`indices`](#qiskit.quantum_info.SparseObservable.indices "qiskit.quantum_info.SparseObservable.indices") that correspond to the first term of the sum. All unspecified qubit indices are implicitly the identity. This is one item longer than [`coeffs`](#qiskit.quantum_info.SparseObservable.coeffs "qiskit.quantum_info.SparseObservable.coeffs"), since `boundaries[0]` is always an explicit zero (for algorithmic ease). + + + #### coeffs + + + The coefficients of each abstract term in in the sum. This has as many elements as terms in the sum. + + + #### indices + + + A flat list of the qubit indices that the corresponding entries in [`bit_terms`](#qiskit.quantum_info.SparseObservable.bit_terms "qiskit.quantum_info.SparseObservable.bit_terms") act on. This list must always be term-wise sorted, where a term is a sublist as denoted by [`boundaries`](#qiskit.quantum_info.SparseObservable.boundaries "qiskit.quantum_info.SparseObservable.boundaries"). + + + If writing to this attribute from Python space, you *must* ensure that you only write in indices that are term-wise sorted. + + + + #### num\_qubits + + + The number of qubits the operator acts on. + + This is not inferable from any other shape or values, since identities are not stored explicitly. + + + #### num\_terms + + + The number of terms in the sum this operator is tracking. + + + ## Methods + + #### adjoint + + + Calculate the adjoint of this observable. + + This is well defined in the abstract mathematical sense. All the terms of the single-qubit alphabet are self-adjoint, so the result of this operation is the same observable, except its coefficients are all their complex conjugates. + + **Examples** + + ```python + >>> left = SparseObservable.from_list([("XY+-", 1j)]) + >>> right = SparseObservable.from_list([("XY+-", -1j)]) + >>> assert left.adjoint() == right + ``` + + + #### apply\_layout + + + Apply a transpiler layout to this [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"). + + Typically you will have defined your observable in terms of the virtual qubits of the circuits you will use to prepare states. After transpilation, the virtual qubits are mapped to particular physical qubits on a device, which may be wider than your circuit. That mapping can also change over the course of the circuit. This method transforms the input observable on virtual qubits to an observable that is suitable to apply immediately after the fully transpiled *physical* circuit. + + **Parameters** + + * **layout** ([*TranspileLayout*](qiskit.transpiler.TranspileLayout "qiskit.transpiler.TranspileLayout") *|*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*] | None*) – The layout to apply. Most uses of this function should pass the [`QuantumCircuit.layout`](qiskit.circuit.QuantumCircuit#layout "qiskit.circuit.QuantumCircuit.layout") field from a circuit that was transpiled for hardware. In addition, you can pass a list of new qubit indices. If given as explicitly `None`, no remapping is applied (but you can still use `num_qubits` to expand the observable). + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| None*) – The number of qubits to expand the observable to. If not supplied, the output will be as wide as the given [`TranspileLayout`](qiskit.transpiler.TranspileLayout "qiskit.transpiler.TranspileLayout"), or the same width as the input if the `layout` is given in another form. + + **Returns** + + A new [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") with the provided layout applied. + + + #### clear + + + Clear all the terms from this operator, making it equal to the zero operator again. + + This does not change the capacity of the internal allocations, so subsequent addition or substraction operations may not need to reallocate. + + **Examples** + + ```python + >>> obs = SparseObservable.from_list([("IX+-rl", 2.0), ("01YZII", -1j)]) + >>> obs.clear() + >>> assert obs == SparseObservable.zero(obs.num_qubits) + ``` + + + #### conjugate + + + Calculate the complex conjugation of this observable. + + This operation is defined in terms of the standard matrix conventions of Qiskit, in that the matrix form is taken to be in the \$Z\$ computational basis. The \$X\$- and \$Z\$-related alphabet terms are unaffected by the complex conjugation, but \$Y\$-related terms modify their alphabet terms. Precisely: + + * $Y$ conjguates to $-Y$ + * $\lvert r\rangle\langle r\rvert$ conjugates to $\lvert l\rangle\langle l\rvert$ + * $\lvert l\rangle\langle l\rvert$ conjugates to $\lvert r\rangle\langle r\rvert$ + + Additionally, all coefficients are conjugated. + + **Examples** + + ```python + >>> obs = SparseObservable([("III", 1j), ("Yrl", 0.5)]) + >>> assert obs.conjugate() == SparseObservable([("III", -1j), ("Ylr", -0.5)]) + ``` + + + #### copy + + + Get a copy of this observable. + + **Examples** + + ```python + >>> obs = SparseObservable.from_list([("IXZ+lr01", 2.5), ("ZXI-rl10", 0.5j)]) + >>> assert obs == obs.copy() + >>> assert obs is not obs.copy() + ``` + + + #### expand + + + Reverse-order tensor product. + + This is equivalent to `other.tensor(self)`, except that `other` will first be type-cast to [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") if it isn’t already one (by calling the default constructor). + + **Parameters** + + **other** – the observable to put on the left-hand side of the tensor product. + + **Examples** + + This is equivalent to [`tensor()`](#qiskit.quantum_info.SparseObservable.tensor "qiskit.quantum_info.SparseObservable.tensor") with the order of the arguments flipped: + + ```python + >>> left = SparseObservable.from_label("XYZ") + >>> right = SparseObservable.from_label("+-IIrl") + >>> assert left.tensor(right) == right.expand(left) + ``` + + + [`tensor()`](#qiskit.quantum_info.SparseObservable.tensor "qiskit.quantum_info.SparseObservable.tensor") + + > The same function with the order of arguments flipped. [`tensor()`](#qiskit.quantum_info.SparseObservable.tensor "qiskit.quantum_info.SparseObservable.tensor") is the more standard argument ordering, and matches Qiskit’s other conventions. + + + + #### from\_label + + + Construct a single-term observable from a dense string label. + + The resulting operator will have a coefficient of 1. The label must be a sequence of the alphabet `'IXYZ+-rl01'`. The label is interpreted analogously to a bitstring. In other words, the right-most letter is associated with qubit 0, and so on. This is the same as the labels for [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") and [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp"). + + **Parameters** + + **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – the dense label. + + **Examples** + + ```python + >>> SparseObservable.from_label("IIII+ZI") + + >>> label = "IYXZI" + >>> pauli = Pauli(label) + >>> assert SparseObservable.from_label(label) == SparseObservable.from_pauli(pauli) + ``` + + + **[`from_list()`](#qiskit.quantum_info.SparseObservable.from_list "qiskit.quantum_info.SparseObservable.from_list")** + + A generalization of this method that constructs a sum operator from multiple labels and their corresponding coefficients. + + + + #### from\_list + + + Construct an observable from a list of dense labels and coefficients. + + This is analogous to [`SparsePauliOp.from_list()`](qiskit.quantum_info.SparsePauliOp#from_list "qiskit.quantum_info.SparsePauliOp.from_list"), except it uses [the extended alphabet](#sparse-observable-alphabet) of [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"). In this dense form, you must supply all identities explicitly in each label. + + The label must be a sequence of the alphabet `'IXYZ+-rl01'`. The label is interpreted analogously to a bitstring. In other words, the right-most letter is associated with qubit 0, and so on. This is the same as the labels for [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") and [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp"). + + **Parameters** + + * **iter** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")*\[*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")*,* [*complex*](https://docs.python.org/3/library/functions.html#complex "(in Python v3.13)")*]]*) – Pairs of labels and their associated coefficients to sum. The labels are interpreted the same way as in [`from_label()`](#qiskit.quantum_info.SparseObservable.from_label "qiskit.quantum_info.SparseObservable.from_label"). + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| None*) – It is not necessary to specify this if you are sure that `iter` is not an empty sequence, since it can be inferred from the label lengths. If `iter` may be empty, you must specify this argument to disambiguate how many qubits the observable is for. If this is given and `iter` is not empty, the value must match the label lengths. + + **Examples** + + Construct an observable from a list of labels of the same length: + + ```python + >>> SparseObservable.from_list([ + ... ("III++", 1.0), + ... ("II--I", 1.0j), + ... ("I++II", -0.5), + ... ("--III", -0.25j), + ... ]) + + ``` + + Use `num_qubits` to disambiguate potentially empty inputs: + + ```python + >>> SparseObservable.from_list([], num_qubits=10) + + ``` + + This method is equivalent to calls to [`from_sparse_list()`](#qiskit.quantum_info.SparseObservable.from_sparse_list "qiskit.quantum_info.SparseObservable.from_sparse_list") with the explicit qubit-arguments field set to decreasing integers: + + ```python + >>> labels = ["XY+Z", "rl01", "-lXZ"] + >>> coeffs = [1.5j, 2.0, -0.5] + >>> from_list = SparseObservable.from_list(list(zip(labels, coeffs))) + >>> from_sparse_list = SparseObservable.from_sparse_list([ + ... (label, (3, 2, 1, 0), coeff) + ... for label, coeff in zip(labels, coeffs) + ... ]) + >>> assert from_list == from_sparse_list + ``` + + + **[`from_label()`](#qiskit.quantum_info.SparseObservable.from_label "qiskit.quantum_info.SparseObservable.from_label")** + + A similar constructor, but takes only a single label and always has its coefficient set to `1.0`. + + **[`from_sparse_list()`](#qiskit.quantum_info.SparseObservable.from_sparse_list "qiskit.quantum_info.SparseObservable.from_sparse_list")** + + Construct the observable from a list of labels without explicit identities, but with the qubits each single-qubit term applies to listed explicitly. + + + + #### from\_pauli + + + Construct a [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") from a single [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") instance. + + The output observable will have a single term, with a unitary coefficient dependent on the phase. + + **Parameters** + + **pauli** ([`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli")) – the single Pauli to convert. + + **Examples** + + ```python + >>> label = "IYXZI" + >>> pauli = Pauli(label) + >>> SparseObservable.from_pauli(pauli) + + >>> assert SparseObservable.from_label(label) == SparseObservable.from_pauli(pauli) + ``` + + + #### from\_raw\_parts + + + Construct a [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") from raw Numpy arrays that match [the required data representation described in the class-level documentation](#sparse-observable-arrays). + + The data from each array is copied into fresh, growable Rust-space allocations. + + **Parameters** + + * **num\_qubits** – number of qubits in the observable. + + * **coeffs** – complex coefficients of each term of the observable. This should be a Numpy array with dtype [`complex128`](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.complex128 "(in NumPy v2.1)"). + + * **bit\_terms** – flattened list of the single-qubit terms comprising all complete terms. This should be a Numpy array with dtype [`uint8`](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.uint8 "(in NumPy v2.1)") (which is compatible with [`BitTerm`](#qiskit.quantum_info.SparseObservable.BitTerm "qiskit.quantum_info.SparseObservable.BitTerm")). + + * **indices** – flattened term-wise sorted list of the qubits each single-qubit term corresponds to. This should be a Numpy array with dtype [`uint32`](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.uint32 "(in NumPy v2.1)"). + + * **boundaries** – the indices that partition `bit_terms` and `indices` into terms. This should be a Numpy array with dtype [`uintp`](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.uintp "(in NumPy v2.1)"). + + * **check** – + + if `True` (the default), validate that the data satisfies all coherence guarantees. If `False`, no checks are done. + + + If `check=False`, the `bit_terms` absolutely *must* be all be valid values of [`SparseObservable.BitTerm`](#qiskit.quantum_info.SparseObservable.BitTerm "qiskit.quantum_info.SparseObservable.BitTerm"). If they are not, Rust-space undefined behavior may occur, entirely invalidating the program execution. + + + **Examples** + + Construct a sum of $Z$ on each individual qubit: + + ```python + >>> num_qubits = 100 + >>> terms = np.full((num_qubits,), SparseObservable.BitTerm.Z, dtype=np.uint8) + >>> indices = np.arange(num_qubits, dtype=np.uint32) + >>> coeffs = np.ones((num_qubits,), dtype=complex) + >>> boundaries = np.arange(num_qubits + 1, dtype=np.uintp) + >>> SparseObservable.from_raw_parts(num_qubits, coeffs, terms, indices, boundaries) + + ``` + + + #### from\_sparse\_list + + + Construct an observable from a list of labels, the qubits each item applies to, and the coefficient of the whole term. + + This is analogous to [`SparsePauliOp.from_sparse_list()`](qiskit.quantum_info.SparsePauliOp#from_sparse_list "qiskit.quantum_info.SparsePauliOp.from_sparse_list"), except it uses [the extended alphabet](#sparse-observable-alphabet) of [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"). + + The “labels” and “indices” fields of the triples are associated by zipping them together. For example, this means that a call to [`from_list()`](#qiskit.quantum_info.SparseObservable.from_list "qiskit.quantum_info.SparseObservable.from_list") can be converted to the form used by this method by setting the “indices” field of each triple to `(num_qubits-1, ..., 1, 0)`. + + **Parameters** + + * **iter** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")*\[*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")*, Sequence\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*],* [*complex*](https://docs.python.org/3/library/functions.html#complex "(in Python v3.13)")*]]*) – triples of labels, the qubits each single-qubit term applies to, and the coefficient of the entire term. + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – the number of qubits in the operator. + + **Examples** + + Construct a simple operator: + + ```python + >>> SparseObservable.from_sparse_list( + ... [("ZX", (1, 4), 1.0), ("YY", (0, 3), 2j)], + ... num_qubits=5, + ... ) + + ``` + + Construct the identity observable (though really, just use [`identity()`](#qiskit.quantum_info.SparseObservable.identity "qiskit.quantum_info.SparseObservable.identity")): + + ```python + >>> SparseObservable.from_sparse_list([("", (), 1.0)], num_qubits=100) + + ``` + + This method can replicate the behavior of [`from_list()`](#qiskit.quantum_info.SparseObservable.from_list "qiskit.quantum_info.SparseObservable.from_list"), if the qubit-arguments field of the triple is set to decreasing integers: + + ```python + >>> labels = ["XY+Z", "rl01", "-lXZ"] + >>> coeffs = [1.5j, 2.0, -0.5] + >>> from_list = SparseObservable.from_list(list(zip(labels, coeffs))) + >>> from_sparse_list = SparseObservable.from_sparse_list([ + ... (label, (3, 2, 1, 0), coeff) + ... for label, coeff in zip(labels, coeffs) + ... ]) + >>> assert from_list == from_sparse_list + ``` + + + #### from\_sparse\_pauli\_op + + + Construct a [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") from a [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") instance. + + This will be a largely direct translation of the [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp"); in particular, there is no on-the-fly summing of like terms, nor any attempt to refactorize sums of Pauli terms into equivalent projection operators. + + **Parameters** + + **op** ([`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp")) – the operator to convert. + + **Examples** + + ```python + >>> spo = SparsePauliOp.from_list([("III", 1.0), ("IIZ", 0.5), ("IZI", 0.5)]) + >>> SparseObservable.from_sparse_pauli_op(spo) + + ``` + + + #### identity + + + Get the identity operator over the given number of qubits. + + **Examples** + + Get the identity operator for 100 qubits: + + ```python + >>> SparseObservable.identity(100) + + ``` + + + #### simplify + + + Sum any like terms in this operator, removing them if the resulting complex coefficient has an absolute value within tolerance of zero. + + As a side effect, this sorts the operator into [canonical order](#sparse-observable-canonical-order). + + + When using this for equality comparisons, note that floating-point rounding and the non-associativity fo floating-point addition may cause non-zero coefficients of summed terms to compare unequal. To compare two observables up to a tolerance, it is safest to compare the canonicalized difference of the two observables to zero. + + + **Parameters** + + **tol** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")) – after summing like terms, any coefficients whose absolute value is less than the given absolute tolerance will be suppressed from the output. + + **Examples** + + Using [`simplify()`](#qiskit.quantum_info.SparseObservable.simplify "qiskit.quantum_info.SparseObservable.simplify") to compare two operators that represent the same observable, but would compare unequal due to the structural tests by default: + + ```python + >>> base = SparseObservable.from_sparse_list([ + ... ("XZ", (2, 1), 1e-10), # value too small + ... ("+-", (3, 1), 2j), + ... ("+-", (3, 1), 2j), # can be combined with the above + ... ("01", (3, 1), 0.5), # out of order compared to `expected` + ... ], num_qubits=5) + >>> expected = SparseObservable.from_list([("I0I1I", 0.5), ("I+I-I", 4j)]) + >>> assert base != expected # non-canonical comparison + >>> assert base.simplify() == expected.simplify() + ``` + + Note that in the above example, the coefficients are chosen such that all floating-point calculations are exact, and there are no intermediate rounding or associativity concerns. If this cannot be guaranteed to be the case, the safer form is: + + ```python + >>> left = SparseObservable.from_list([("XYZ", 1.0/3.0)] * 3) # sums to 1.0 + >>> right = SparseObservable.from_list([("XYZ", 1.0/7.0)] * 7) # doesn't sum to 1.0 + >>> assert left.simplify() != right.simplify() + >>> assert (left - right).simplify() == SparseObservable.zero(left.num_qubits) + ``` + + + #### tensor + + + Tensor product of two observables. + + The bit ordering is defined such that the qubit indices of the argument will remain the same, and the indices of `self` will be offset by the number of qubits in `other`. This is the same convention as used by the rest of Qiskit’s [`quantum_info`](quantum_info#module-qiskit.quantum_info "qiskit.quantum_info") operators. + + This function is used for the infix `^` operator. If using this operator, beware that [Python’s operator-precedence rules](https://docs.python.org/3/reference/expressions.html#operator-precedence) may cause the evaluation order to be different to your expectation. In particular, the operator `+` binds more tightly than `^`, just like `*` binds more tightly than `+`. Use parentheses to fix the evaluation order, if needed. + + The argument will be cast to [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") using its default constructor, if it is not already in the correct form. + + **Parameters** + + **other** – the observable to put on the right-hand side of the tensor product. + + **Examples** + + The bit ordering of this is such that the tensor product of two observables made from a single label “looks like” an observable made by concatenating the two strings: + + ```python + >>> left = SparseObservable.from_label("XYZ") + >>> right = SparseObservable.from_label("+-IIrl") + >>> assert left.tensor(right) == SparseObservable.from_label("XYZ+-IIrl") + ``` + + You can also use the infix `^` operator for tensor products, which will similarly cast the right-hand side of the operation if it is not already a [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable"): + + ```python + >>> assert SparseObservable("rl") ^ Pauli("XYZ") == SparseObservable("rlXYZ") + ``` + + + [`expand()`](#qiskit.quantum_info.SparseObservable.expand "qiskit.quantum_info.SparseObservable.expand") + + > The same function, but with the order of arguments flipped. This can be useful if you like using the casting behavior for the argument, but you want your existing [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") to be on the right-hand side of the tensor ordering. + + + + #### transpose + + + Calculate the matrix transposition of this observable. + + This operation is defined in terms of the standard matrix conventions of Qiskit, in that the matrix form is taken to be in the \$Z\$ computational basis. The \$X\$- and \$Z\$-related alphabet terms are unaffected by the transposition, but \$Y\$-related terms modify their alphabet terms. Precisely: + + * $Y$ transposes to $-Y$ + * $\lvert r\rangle\langle r\rvert$ transposes to $\lvert l\rangle\langle l\rvert$ + * $\lvert l\rangle\langle l\rvert$ transposes to $\lvert r\rangle\langle r\rvert$ + + **Examples** + + ```python + >>> obs = SparseObservable([("III", 1j), ("Yrl", 0.5)]) + >>> assert obs.transpose() == SparseObservable([("III", 1j), ("Ylr", -0.5)]) + ``` + + + #### zero + + + Get the zero operator over the given number of qubits. + + The zero operator is the operator whose expectation value is zero for all quantum states. It has no terms. It is the identity element for addition of two [`SparseObservable`](#qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") instances; anything added to the zero operator is equal to itself. + + If you want the projector onto the all zeros state, use: + + ```python + >>> num_qubits = 10 + >>> all_zeros = SparseObservable.from_label("0" * num_qubits) + ``` + + **Examples** + + Get the zero operator for 100 qubits: + + ```python + >>> SparseObservable.zero(100) + + ``` + + + diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx index 09f866b8c20..68961aa6db9 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx @@ -191,7 +191,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp print(srt) ``` - ```python + ```text Initial Ordering SparsePauliOp(['XX', 'XX', 'XX', 'YI', 'II', 'XZ', 'XY', 'XI'], coeffs=[2.+1.j, 2.+2.j, 3.+0.j, 3.+0.j, 4.+0.j, 5.+0.j, 6.+0.j, 7.+0.j]) @@ -707,7 +707,7 @@ $$ print(srt) ``` - ```python + ```text Initial Ordering SparsePauliOp(['XX', 'XX', 'XX', 'YI', 'II', 'XZ', 'XY', 'XI'], coeffs=[2.+1.j, 2.+2.j, 3.+0.j, 3.+0.j, 4.+0.j, 5.+0.j, 6.+0.j, 7.+0.j]) diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.StabilizerState.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.StabilizerState.mdx index cc96c7b3e6c..70c8b68c350 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.StabilizerState.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.StabilizerState.mdx @@ -33,7 +33,7 @@ python_api_name: qiskit.quantum_info.StabilizerState print (stab.expectation_value(Pauli('ZZ'))) ``` - ```python + ```text StabilizerState(StabilizerTable: ['+XX', '+ZZ']) {'00': 0.5, '11': 0.5} 1 diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Statevector.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Statevector.mdx index 56b76e140cb..bafc4d54407 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Statevector.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Statevector.mdx @@ -404,7 +404,7 @@ python_api_name: qiskit.quantum_info.Statevector print('Qubit-1 probs: {}'.format(probs_qubit_1)) ``` - ```python + ```text probs: [0.5 0. 0.5 0. ] Qubit-0 probs: [1. 0.] Qubit-1 probs: [0.5 0.5] @@ -427,7 +427,7 @@ python_api_name: qiskit.quantum_info.Statevector print('Swapped probs: {}'.format(probs_swapped)) ``` - ```python + ```text probs: [0.5 0. 0.5 0. ] Swapped probs: [0.5 0.5 0. 0. ] ``` @@ -612,7 +612,7 @@ python_api_name: qiskit.quantum_info.Statevector print(psi.to_dict()) ``` - ```python + ```text {'00': (0.7071067811865475+0j), '10': (-0.7071067811865475+0j)} ``` @@ -629,7 +629,7 @@ python_api_name: qiskit.quantum_info.Statevector print(psi.to_dict()) ``` - ```python + ```text {'00': (0.7071067811865475+0j), '22': (0.7071067811865475+0j)} ``` @@ -646,7 +646,7 @@ python_api_name: qiskit.quantum_info.Statevector print(psi.to_dict()) ``` - ```python + ```text {'00': (0.7071067811865475+0j), '91': (0.7071067811865475+0j)} ``` diff --git a/docs/api/qiskit/dev/qiskit.result.BaseReadoutMitigator.mdx b/docs/api/qiskit/dev/qiskit.result.BaseReadoutMitigator.mdx index f4ae024e3d2..1c5d64542d7 100644 --- a/docs/api/qiskit/dev/qiskit.result.BaseReadoutMitigator.mdx +++ b/docs/api/qiskit/dev/qiskit.result.BaseReadoutMitigator.mdx @@ -11,7 +11,7 @@ python_api_name: qiskit.result.BaseReadoutMitigator Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.13)") - Base readout error mitigator class. + This class is DEPRECATED. Base readout error mitigator class. ## Methods diff --git a/docs/api/qiskit/dev/qiskit.result.CorrelatedReadoutMitigator.mdx b/docs/api/qiskit/dev/qiskit.result.CorrelatedReadoutMitigator.mdx index 0108b72d335..2d206f5e7f6 100644 --- a/docs/api/qiskit/dev/qiskit.result.CorrelatedReadoutMitigator.mdx +++ b/docs/api/qiskit/dev/qiskit.result.CorrelatedReadoutMitigator.mdx @@ -8,15 +8,19 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator # CorrelatedReadoutMitigator - + Bases: [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.mitigation.base_readout_mitigator.BaseReadoutMitigator") - N-qubit readout error mitigator. + This class is DEPRECATED. N-qubit readout error mitigator. Mitigates [`expectation_value()`](#qiskit.result.CorrelatedReadoutMitigator.expectation_value "qiskit.result.CorrelatedReadoutMitigator.expectation_value") and [`quasi_probabilities()`](#qiskit.result.CorrelatedReadoutMitigator.quasi_probabilities "qiskit.result.CorrelatedReadoutMitigator.quasi_probabilities"). The mitigation\_matrix should be calibrated using qiskit experiments. This mitigation method should be used in case the readout errors of the qubits are assumed to be correlated. The mitigation\_matrix of *N* qubits is of size $2^N x 2^N$ so the mitigation complexity is $O(4^N)$. Initialize a CorrelatedReadoutMitigator + + The class `qiskit.result.mitigation.correlated_readout_mitigator.CorrelatedReadoutMitigator` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The qiskit.result.mitigation module is deprecated in favor of the [https://github.com/Qiskit/qiskit-addon-mthree](https://github.com/Qiskit/qiskit-addon-mthree) package. + + **Parameters** * **assignment\_matrix** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v2.1)")) – readout error assignment matrix. @@ -44,7 +48,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### assignment\_matrix - + Return the readout assignment matrix for specified qubits. The assignment matrix is the stochastic matrix $A$ which assigns a noisy readout probability distribution to an ideal input readout distribution: $P(i|j) = \langle i | A | j \rangle$. @@ -64,7 +68,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### expectation\_value - + Compute the mitigated expectation value of a diagonal observable. This computes the mitigated estimator of $\langle O \rangle = \mbox{Tr}[\rho. O]$ of a diagonal observable $O = \sum_{x\in\{0, 1\}^n} O(x)|x\rangle\!\langle x|$. @@ -92,7 +96,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### mitigation\_matrix - + Return the readout mitigation matrix for the specified qubits. The mitigation matrix $A^{-1}$ is defined as the inverse of the [`assignment_matrix()`](#qiskit.result.CorrelatedReadoutMitigator.assignment_matrix "qiskit.result.CorrelatedReadoutMitigator.assignment_matrix") $A$. @@ -112,7 +116,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### quasi\_probabilities - + Compute mitigated quasi probabilities value. **Parameters** @@ -135,7 +139,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### stddev\_upper\_bound - + Return an upper bound on standard deviation of expval estimator. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.result.LocalReadoutMitigator.mdx b/docs/api/qiskit/dev/qiskit.result.LocalReadoutMitigator.mdx index c6a97ca137d..d660bdb4bcc 100644 --- a/docs/api/qiskit/dev/qiskit.result.LocalReadoutMitigator.mdx +++ b/docs/api/qiskit/dev/qiskit.result.LocalReadoutMitigator.mdx @@ -8,15 +8,19 @@ python_api_name: qiskit.result.LocalReadoutMitigator # LocalReadoutMitigator - + Bases: [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.mitigation.base_readout_mitigator.BaseReadoutMitigator") - 1-qubit tensor product readout error mitigator. + This class is DEPRECATED. 1-qubit tensor product readout error mitigator. Mitigates [`expectation_value()`](#qiskit.result.LocalReadoutMitigator.expectation_value "qiskit.result.LocalReadoutMitigator.expectation_value") and [`quasi_probabilities()`](#qiskit.result.LocalReadoutMitigator.quasi_probabilities "qiskit.result.LocalReadoutMitigator.quasi_probabilities"). The mitigator should either be calibrated using qiskit experiments, or calculated directly from the backend properties. This mitigation method should be used in case the readout errors of the qubits are assumed to be uncorrelated. For *N* qubits there are *N* mitigation matrices, each of size $2 x 2$ and the mitigation complexity is $O(2^N)$, so it is more efficient than the [`CorrelatedReadoutMitigator`](qiskit.result.CorrelatedReadoutMitigator "qiskit.result.CorrelatedReadoutMitigator") class. Initialize a LocalReadoutMitigator + + The class `qiskit.result.mitigation.local_readout_mitigator.LocalReadoutMitigator` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The qiskit.result.mitigation module is deprecated in favor of the [https://github.com/Qiskit/qiskit-addon-mthree](https://github.com/Qiskit/qiskit-addon-mthree) package. + + **Parameters** * **assignment\_matrices** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v2.1)")*] | None*) – Optional, list of single-qubit readout error assignment matrices. @@ -45,7 +49,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### assignment\_matrix - + Return the measurement assignment matrix for specified qubits. The assignment matrix is the stochastic matrix $A$ which assigns a noisy measurement probability distribution to an ideal input measurement distribution: $P(i|j) = \langle i | A | j \rangle$. @@ -65,7 +69,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### expectation\_value - + Compute the mitigated expectation value of a diagonal observable. This computes the mitigated estimator of $\langle O \rangle = \mbox{Tr}[\rho. O]$ of a diagonal observable $O = \sum_{x\in\{0, 1\}^n} O(x)|x\rangle\!\langle x|$. @@ -93,7 +97,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### mitigation\_matrix - + Return the measurement mitigation matrix for the specified qubits. The mitigation matrix $A^{-1}$ is defined as the inverse of the [`assignment_matrix()`](#qiskit.result.LocalReadoutMitigator.assignment_matrix "qiskit.result.LocalReadoutMitigator.assignment_matrix") $A$. @@ -113,7 +117,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### quasi\_probabilities - + Compute mitigated quasi probabilities value. **Parameters** @@ -140,7 +144,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### stddev\_upper\_bound - + Return an upper bound on standard deviation of expval estimator. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx index 65465f74bb8..63345c829f0 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx @@ -32,6 +32,10 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximateCircuit Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx index 38ac8af2aba..e8148553124 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx @@ -38,6 +38,10 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitCircuit Return calibration dictionary. The custom pulse definition of a given gate is of the form `{'gate_name': {(qubits, params): schedule}}` + + + The property `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.circuit.quantumcircuit.QuantumCircuit.calibrations` will have no alternative in Qiskit. + ### clbits diff --git a/docs/api/qiskit/dev/qiskit.transpiler.InstructionProperties.mdx b/docs/api/qiskit/dev/qiskit.transpiler.InstructionProperties.mdx index e47355da2ce..1e74945e710 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.InstructionProperties.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.InstructionProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.InstructionProperties # InstructionProperties - + Bases: `BaseInstructionProperties` A representation of the properties of a gate implementation. @@ -17,11 +17,15 @@ python_api_name: qiskit.transpiler.InstructionProperties Create a new `InstructionProperties` object + + `qiskit.transpiler.target.InstructionProperties.__init__()`’s argument `calibration` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package. + + **Parameters** * **duration** – The duration, in seconds, of the instruction on the specified set of qubits * **error** – The average error rate for the instruction on the specified set of qubits. - * **calibration** – The pulse representation of the instruction. + * **calibration** – DEPRECATED. The pulse representation of the instruction. ## Attributes @@ -37,6 +41,10 @@ python_api_name: qiskit.transpiler.InstructionProperties If you are a backend provider who provides a default calibration data that is not needed to be attached to the transpiled quantum circuit, you can directly set `CalibrationEntry` instance to this attribute, in which you should set `user_provided=False` when you define calibration data for the entry. End users can still intentionally utilize the calibration data, for example, to run pulse-level simulation of the circuit. However, such entry doesn’t appear in the wire format, and backend must use own definition to compile the circuit down to the execution format. + + + The property `qiskit.transpiler.target.InstructionProperties.calibration` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.target.InstructionProperties.calibration` will have no alternative in Qiskit. + ### duration diff --git a/docs/api/qiskit/dev/qiskit.transpiler.Target.mdx b/docs/api/qiskit/dev/qiskit.transpiler.Target.mdx index 3cc93515e98..080057ce8ef 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.Target.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.Target.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.Target # Target - + Bases: `BaseTarget` The intent of the `Target` object is to inform Qiskit’s compiler about the constraints of a particular backend so the compiler can compile an input circuit to something that works and is optimized for a device. It currently contains a description of instructions on a backend and their properties as well as some timing information. However, this exact interface may evolve over time as the needs of the compiler change. These changes will be done in a backwards compatible and controlled manner when they are made (either through versioning, subclassing, or mixins) to add on to the set of information exposed by a target. @@ -159,7 +159,7 @@ python_api_name: qiskit.transpiler.Target ### add\_instruction - + Add a new instruction to the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") As `Target` objects are strictly additive this is the primary method for modifying a `Target`. Typically, you will use this to fully populate a `Target` before using it in [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2"). For example: @@ -198,7 +198,7 @@ python_api_name: qiskit.transpiler.Target ### build\_coupling\_map - + Get a [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") from this target. If there is a mix of two qubit operations that have a connectivity constraint and those that are globally defined this will also return `None` because the globally connectivity means there is no constraint on the target. If you wish to see the constraints of the two qubit operations that have constraints you should use the `two_q_gate` argument to limit the output to the gates which have a constraint. @@ -226,7 +226,7 @@ python_api_name: qiskit.transpiler.Target ### durations - + Get an InstructionDurations object from the target **Returns** @@ -242,19 +242,23 @@ python_api_name: qiskit.transpiler.Target ### from\_configuration - + Create a target object from the individual global configuration Prior to the creation of the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") class, the constraints of a backend were represented by a collection of different objects which combined represent a subset of the information contained in the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). This function provides a simple interface to convert those separate objects to a [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). This constructor will use the input from `basis_gates`, `num_qubits`, and `coupling_map` to build a base model of the backend and the `instruction_durations`, `backend_properties`, and `inst_map` inputs are then queried (in that order) based on that model to look up the properties of each instruction and qubit. If there is an inconsistency between the inputs any extra or conflicting information present in `instruction_durations`, `backend_properties`, or `inst_map` will be ignored. + + `qiskit.transpiler.target.Target.from_configuration()`’s argument `inst_map` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package. + + **Parameters** * **basis\_gates** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")*]*) – The list of basis gate names for the backend. For the target to be created these names must either be in the output from `get_standard_gate_name_mapping()` or present in the specified `custom_name_mapping` argument. * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| None*) – The number of qubits supported on the backend. * **coupling\_map** ([*CouplingMap*](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") *| None*) – The coupling map representing connectivity constraints on the backend. If specified all gates from `basis_gates` will be supported on all qubits (or pairs of qubits). - * **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") *| None*) – The instruction schedule map representing the pulse [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") definitions for each instruction. If this is specified `coupling_map` must be specified. The `coupling_map` is used as the source of truth for connectivity and if `inst_map` is used the schedule is looked up based on the instructions from the pair of `basis_gates` and `coupling_map`. If you want to define a custom gate for a particular qubit or qubit pair, you can manually build [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). + * **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") *| None*) – DEPRECATED. The instruction schedule map representing the pulse [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") definitions for each instruction. If this is specified `coupling_map` must be specified. The `coupling_map` is used as the source of truth for connectivity and if `inst_map` is used the schedule is looked up based on the instructions from the pair of `basis_gates` and `coupling_map`. If you want to define a custom gate for a particular qubit or qubit pair, you can manually build [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). * **backend\_properties** ([*BackendProperties*](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties") *| None*) – The [`BackendProperties`](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties") object which is used for instruction properties and qubit properties. If specified and instruction properties are intended to be used then the `coupling_map` argument must be specified. This is only used to lookup error rates and durations (unless `instruction_durations` is specified which would take precedence) for instructions specified via `coupling_map` and `basis_gates`. * **instruction\_durations** ([*InstructionDurations*](qiskit.transpiler.InstructionDurations "qiskit.transpiler.InstructionDurations") *| None*) – Optional instruction durations for instructions. If specified it will take priority for setting the `duration` field in the [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties") objects for the instructions in the target. * **concurrent\_measurements** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")) – A list of sets of qubits that must be measured together. This must be provided as a nested list like `[[0, 1], [2, 3, 4]]`. @@ -279,17 +283,21 @@ python_api_name: qiskit.transpiler.Target ### get - + Gets an item from the Target. If not found return a provided default or None. ### get\_calibration - + Get calibrated pulse schedule for the instruction. If calibration is templated with parameters, one can also provide those values to build a schedule with assigned parameters. + + The method `qiskit.transpiler.target.Target.get_calibration()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.target.Target.get_calibration()` will have no alternative in Qiskit. + + **Parameters** * **operation\_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The name of the operation for the instruction. @@ -328,9 +336,13 @@ python_api_name: qiskit.transpiler.Target ### has\_calibration - + Return whether the instruction (operation + qubits) defines a calibration. + + The method `qiskit.transpiler.target.Target.has_calibration()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.target.Target.has_calibration()` will have no alternative in Qiskit. + + **Parameters** * **operation\_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The name of the operation for the instruction. @@ -347,7 +359,7 @@ python_api_name: qiskit.transpiler.Target ### instruction\_properties - + Get the instruction properties for a specific instruction tuple This method is to be used in conjunction with the [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") attribute of a [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") object. You can use this method to quickly get the instruction properties for an element of [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") by using the index in that list. However, if you’re not working with [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") directly it is likely more efficient to access the target directly via the name and qubits to get the instruction properties. For example, if [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") returned: @@ -385,9 +397,13 @@ python_api_name: qiskit.transpiler.Target ### instruction\_schedule\_map - + Return an [`InstructionScheduleMap`](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") for the instructions in the target with a pulse schedule defined. + + The method `qiskit.transpiler.target.Target.instruction_schedule_map()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.target.Target.instruction_schedule_map()` will have no alternative in Qiskit. + + **Returns** The instruction schedule map for the instructions in this target with a pulse schedule defined. @@ -438,13 +454,13 @@ python_api_name: qiskit.transpiler.Target ### items - + Returns pairs of Gate names and its property map (str, dict\[tuple, InstructionProperties]) ### keys - + Return the keys (operation\_names) of the Target @@ -512,7 +528,7 @@ python_api_name: qiskit.transpiler.Target ### qargs\_for\_operation\_name - + Get the qargs for a given operation name **Parameters** @@ -530,7 +546,7 @@ python_api_name: qiskit.transpiler.Target ### timing\_constraints - + Get an `TimingConstraints` object from the target **Returns** @@ -544,11 +560,15 @@ python_api_name: qiskit.transpiler.Target ### update\_from\_instruction\_schedule\_map - + Update the target from an instruction schedule map. If the input instruction schedule map contains new instructions not in the target they will be added. However, if it contains additional qargs for an existing instruction in the target it will error. + + The method `qiskit.transpiler.target.Target.update_from_instruction_schedule_map()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.target.Target.update_from_instruction_schedule_map()` will have no alternative in Qiskit. + + **Parameters** * **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap")) – The instruction @@ -576,7 +596,7 @@ python_api_name: qiskit.transpiler.Target ### update\_instruction\_properties - + Update the property object for an instruction qarg pair already in the Target **Parameters** @@ -592,7 +612,7 @@ python_api_name: qiskit.transpiler.Target ### values - + Return the Property Map (qargs -> InstructionProperties) of every instruction in the Target diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.AlignMeasures.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.AlignMeasures.mdx index 9c770a1ada6..b938b80bdce 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.AlignMeasures.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.AlignMeasures.mdx @@ -27,7 +27,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures We assume executing the following circuit on a backend with `alignment=16`. - ```python + ```text ┌───┐┌────────────────┐┌─┐ q_0: ┤ X ├┤ Delay(100[dt]) ├┤M├ └───┘└────────────────┘└╥┘ @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures Note that delay of 100 dt induces a misalignment of 4 dt at the measurement. This pass appends an extra 12 dt time shift to the input circuit. - ```python + ```text ┌───┐┌────────────────┐┌─┐ q_0: ┤ X ├┤ Delay(112[dt]) ├┤M├ └───┘└────────────────┘└╥┘ diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.mdx index a645ab67239..feece377fe9 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator # BasisTranslator - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Translates gates to a target basis by searching for a set of translations from a given EquivalenceLibrary. @@ -120,7 +120,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator ### run - + Translate an input DAGCircuit to the target basis. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Commuting2qGateRouter.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Commuting2qGateRouter.mdx index f3e6ac566db..dab23bdefd7 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Commuting2qGateRouter.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Commuting2qGateRouter.mdx @@ -15,7 +15,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter This pass routes blocks of commuting two-qubit gates encapsulated as `Commuting2qBlock` instructions. This pass will not apply to other instructions. The mapping to the coupling map is done using swap strategies, see `SwapStrategy`. The swap strategy should suit the problem and the coupling map. This transpiler pass should ideally be executed before the quantum circuit is enlarged with any idle ancilla qubits. Otherwise, we may swap qubits outside the portion of the chip we want to use. Therefore, the swap strategy and its associated coupling map do not represent physical qubits. Instead, they represent an intermediate mapping that corresponds to the physical qubits once the initial layout is applied. The example below shows how to map a four qubit [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate") to qubits 0, 1, 3, and 4 of the five qubit device with the coupling map - ```python + ```text 0 -- 1 -- 2 | 3 diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConstrainedReschedule.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConstrainedReschedule.mdx index 8555b0976da..1d1a8e5b357 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConstrainedReschedule.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConstrainedReschedule.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule We assume executing the following circuit on a backend with 16 dt of acquire alignment. - ```python + ```text ┌───┐┌────────────────┐┌─┐ q_0: ┤ X ├┤ Delay(100[dt]) ├┤M├ └───┘└────────────────┘└╥┘ @@ -29,7 +29,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule Note that delay of 100 dt induces a misalignment of 4 dt at the measurement. This pass appends an extra 12 dt time shift to the input circuit. - ```python + ```text ┌───┐┌────────────────┐┌─┐ q_0: ┤ X ├┤ Delay(112[dt]) ├┤M├ └───┘└────────────────┘└╥┘ diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx index e5c4ab9a95e..a7ffc2e3aab 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps # ConvertConditionsToIfOps - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Convert instructions whose `condition` attribute is set to a non-`None` value into the equivalent single-statement `IfElseBlock`. This is a simple pass aimed at easing the conversion from the old style of using [`InstructionSet.c_if()`](qiskit.circuit.InstructionSet#c_if "qiskit.circuit.InstructionSet.c_if") into the new style of using more complex conditional logic. + + The class `qiskit.transpiler.passes.utils.convert_conditions_to_if_ops.ConvertConditionsToIfOps` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0. + + ## Attributes ### is\_analysis\_pass @@ -67,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.DynamicalDecoupling.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.DynamicalDecoupling.mdx index 17c89ca5ee5..8440cad6a0a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.DynamicalDecoupling.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.DynamicalDecoupling.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling # DynamicalDecoupling - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Dynamical decoupling insertion pass. @@ -148,7 +148,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling ### run - + Run the DynamicalDecoupling pass on dag. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx index 27c89671a00..5bf02fd9294 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition # EchoRZXWeylDecomposition - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Rewrite two-qubit gates using the Weyl decomposition. @@ -17,6 +17,10 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition EchoRZXWeylDecomposition pass. + + The class `qiskit.transpiler.passes.optimization.echo_rzx_weyl_decomposition.EchoRZXWeylDecomposition` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.passes.optimization.echo_rzx_weyl_decomposition.EchoRZXWeylDecomposition` will have no alternative in Qiskit. + + **Parameters** * **instruction\_schedule\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap")) – the mapping from circuit [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") names and arguments to [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule")s. @@ -74,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition ### run - + Run the EchoRZXWeylDecomposition pass on dag. Rewrites two-qubit gates in an arbitrary circuit in terms of echoed cross-resonance gates by computing the Weyl decomposition of the corresponding unitary. Modifies the input dag. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.HighLevelSynthesis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.HighLevelSynthesis.mdx index 98108f4ceb3..bd3d8c7e691 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.HighLevelSynthesis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.HighLevelSynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis # HighLevelSynthesis - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Synthesize higher-level objects and unroll custom definitions. @@ -106,7 +106,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis ### run - + Run the HighLevelSynthesis pass on dag. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx index 42f52246ed8..cc600d30749 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx @@ -36,7 +36,7 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers i.e, - ```python + ```text ░ ░ ░ ░ q_0: ─░──░─ q_0: ─░──░─ ░ ░ ░ ░ diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDelay.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDelay.mdx index 119406836f5..fc26a1fa459 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDelay.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDelay.mdx @@ -29,7 +29,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay The ASAP-scheduled circuit output may become - ```python + ```text ┌────────────────┐ q_0: ┤ Delay(160[dt]) ├──■── └─────┬───┬──────┘┌─┴─┐ diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx index 49267e67bd4..f6349200e10 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling # PadDynamicalDecoupling - + Bases: `BasePadding` Dynamical decoupling insertion pass. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.PulseGates.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.PulseGates.mdx index 1f105f42594..4102e63f862 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.PulseGates.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.PulseGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates # PulseGates - + Bases: `CalibrationBuilder` Pulse gate adding pass. @@ -27,6 +27,10 @@ python_api_name: qiskit.transpiler.passes.PulseGates Create new pass. + + The class `qiskit.transpiler.passes.calibration.pulse_gate.PulseGates` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.passes.calibration.pulse_gate.PulseGates` will have no alternative in Qiskit. + + **Parameters** * **inst\_map** – Instruction schedule map that user may override. @@ -74,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### get\_calibration - + Gets the calibrated schedule for the given instruction and qubits. **Parameters** @@ -125,7 +129,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### supported - + Determine if a given node supports the calibration. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RXCalibrationBuilder.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RXCalibrationBuilder.mdx index 7a0e536c0aa..5e2bd26494b 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RXCalibrationBuilder.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RXCalibrationBuilder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder # RXCalibrationBuilder - + Bases: `CalibrationBuilder` Add single-pulse RX calibrations that are bootstrapped from the SX calibration. @@ -58,6 +58,10 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder Bootstrap single-pulse RX gate calibrations from the (hardware-calibrated) SX gate calibration. + + The class `qiskit.transpiler.passes.calibration.rx_builder.RXCalibrationBuilder` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.passes.calibration.rx_builder.RXCalibrationBuilder` will have no alternative in Qiskit. + + **Parameters** * **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – Should contain a SX calibration that will be @@ -105,7 +109,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### get\_calibration - + Generate RX calibration for the rotation angle specified in node\_op. **Return type** @@ -143,7 +147,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### supported - + Check if the calibration for SX gate exists and it’s a single DRAG pulse. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx index 728e56c885e..27496802bf5 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx @@ -8,13 +8,17 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder # RZXCalibrationBuilder - + Bases: `CalibrationBuilder` Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. This is done by retrieving (for a given pair of qubits) the CX schedule in the instruction schedule map of the backend defaults. The CX schedule must be an echoed cross-resonance gate optionally with rotary tones. The cross-resonance drive tones and rotary pulses must be Gaussian square pulses. The width of the Gaussian square pulse is adjusted so as to match the desired rotation angle. If the rotation angle is small such that the width disappears then the amplitude of the zero width Gaussian square pulse (i.e. a Gaussian) is reduced to reach the target rotation angle. Additional details can be found in [https://arxiv.org/abs/2012.11660](https://arxiv.org/abs/2012.11660). Initializes a RZXGate calibration builder. + + The class `qiskit.transpiler.passes.calibration.rzx_builder.RZXCalibrationBuilder` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.passes.calibration.rzx_builder.RZXCalibrationBuilder` will have no alternative in Qiskit. + + **Parameters** * **instruction\_schedule\_map** – The `InstructionScheduleMap` object representing the default pulse calibrations for the target backend @@ -67,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### get\_calibration - + Builds the calibration schedule for the RZXGate(theta) with echos. **Parameters** @@ -102,7 +106,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### rescale\_cr\_inst - + A builder macro to play stretched pulse. **Parameters** @@ -144,7 +148,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### supported - + Determine if a given node supports the calibration. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx index aa53c0ad22b..b1d556b1e50 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho # RZXCalibrationBuilderNoEcho - + Bases: [`RZXCalibrationBuilder`](qiskit.transpiler.passes.RZXCalibrationBuilder "qiskit.transpiler.passes.calibration.rzx_builder.RZXCalibrationBuilder") Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. @@ -17,6 +17,10 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho Initializes a RZXGate calibration builder. + + The class `qiskit.transpiler.passes.calibration.rzx_builder.RZXCalibrationBuilder` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.passes.calibration.rzx_builder.RZXCalibrationBuilder` will have no alternative in Qiskit. + + **Parameters** * **instruction\_schedule\_map** – The `InstructionScheduleMap` object representing the default pulse calibrations for the target backend @@ -69,7 +73,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### get\_calibration - + Builds the calibration schedule for the RZXGate(theta) without echos. **Parameters** @@ -104,7 +108,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### rescale\_cr\_inst - + A builder macro to play stretched pulse. **Parameters** @@ -146,7 +150,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### supported - + Determine if a given node supports the calibration. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveIdentityEquivalent.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveIdentityEquivalent.mdx new file mode 100644 index 00000000000..6a42382c352 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveIdentityEquivalent.mdx @@ -0,0 +1,122 @@ +--- +title: RemoveIdentityEquivalent +description: API reference for qiskit.transpiler.passes.RemoveIdentityEquivalent +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.RemoveIdentityEquivalent +--- + +# RemoveIdentityEquivalent + + + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") + + Remove gates with negligible effects. + + Removes gates whose effect is close to an identity operation, up to the specified tolerance. Zero qubit gates such as [`GlobalPhaseGate`](qiskit.circuit.library.GlobalPhaseGate "qiskit.circuit.library.GlobalPhaseGate") are not considered by this pass. + + For a cutoff fidelity $f$, this pass removes gates whose average gate fidelity with respect to the identity is below $f$. Concretely, a gate $G$ is removed if $\bar F < f$ where + +$$ +\bar{F} = \frac{1 + F_{\text{process}}}{1 + d},\ + +F_{\text{process}} = \frac{|\mathrm{Tr}(G)|^2}{d^2} +$$ + + where $d = 2^n$ is the dimension of the gate for $n$ qubits. + + Initialize the transpiler pass. + + **Parameters** + + * **approximation\_degree** – The degree to approximate for the equivalence check. This can be a floating point value between 0 and 1, or `None`. If the value is 1 this does not approximate above floating point precision. For a value \< 1 this is used as a scaling factor for the cutoff fidelity. If the value is `None` this approximates up to the fidelity for the gate specified in `target`. + * **target** – If `approximation_degree` is set to `None` and a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") is provided for this field the tolerance for determining whether an operation is equivalent to identity will be set to the reported error rate in the target. If `approximation_degree` (the default) this has no effect, if `approximation_degree=None` it uses the error rate specified in the `Target` for the gate being evaluated, and a numeric value other than 1 with `target` set is used as a scaling factor of the target’s error rate. + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### 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.13)")) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](qiskit.passmanager.PassManagerState "qiskit.passmanager.compilation_status.PassManagerState")) – 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.13)") *| None*) – 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.13)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.13)"), [qiskit.passmanager.compilation\_status.PassManagerState](qiskit.passmanager.PassManagerState "qiskit.passmanager.compilation_status.PassManagerState")] + + + ### name + + + Name of the pass. + + **Return type** + + [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)") + + + ### run + + + Run a pass on the DAGCircuit. This is implemented by the pass developer. + + **Parameters** + + **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit._accelerate.circuit.DAGCircuit")) – the dag on which the pass is run. + + **Raises** + + [**NotImplementedError**](https://docs.python.org/3/library/exceptions.html#NotImplementedError "(in Python v3.13)") – when this is left unimplemented for a pass. + + **Return type** + + [*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit._accelerate.circuit.DAGCircuit") + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](qiskit.passmanager.PassManagerState "qiskit.passmanager.compilation_status.PassManagerState")) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](qiskit.passmanager.PassManagerState "qiskit.passmanager.compilation_status.PassManagerState") + + + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaev.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaev.mdx index 5fdbbeef967..979295e3027 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaev.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaev.mdx @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev For example, the following circuit - ```python + ```text ┌─────────┐ q_0: ┤ RX(0.8) ├ └─────────┘ @@ -27,7 +27,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev can be decomposed into - ```python + ```text global phase: 7π/8 ┌───┐┌───┐┌───┐ q_0: ┤ H ├┤ T ├┤ H ├ @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev print("Error:", np.linalg.norm(Operator(circuit).data - Operator(discretized).data)) ``` - ```python + ```text Original circuit: ┌─────────┐ q: ┤ Rx(0.8) ├ diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.TimeUnitConversion.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.TimeUnitConversion.mdx index f9517878384..efdac25c0f6 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.TimeUnitConversion.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.TimeUnitConversion.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion # TimeUnitConversion - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Choose a time unit to be used in the following time-aware passes, and make all circuit time units consistent with that. @@ -80,7 +80,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion ### run - + Run the TimeUnitAnalysis pass on dag. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.UnitarySynthesis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.UnitarySynthesis.mdx index afbe3a46cd1..a84f5c577fa 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.UnitarySynthesis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.UnitarySynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis # UnitarySynthesis - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Synthesize gates according to their basis gates. @@ -87,7 +87,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis ### run - + Run the UnitarySynthesis pass on `dag`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ValidatePulseGates.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ValidatePulseGates.mdx index 5c49b6199fd..054f79d9c0f 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ValidatePulseGates.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ValidatePulseGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates # ValidatePulseGates - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check custom gate length. @@ -23,6 +23,10 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates Create new pass. + + The class `qiskit.transpiler.passes.scheduling.alignments.pulse_gate_validation.ValidatePulseGates` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that once removed, `qiskit.transpiler.passes.scheduling.alignments.pulse_gate_validation.ValidatePulseGates` will have no alternative in Qiskit. + + **Parameters** * **granularity** – Integer number representing the minimum time resolution to define the pulse gate length in units of `dt`. This value depends on the control electronics of your quantum processor. @@ -81,7 +85,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates ### run - + Run the pulse gate validation attached to `dag`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx index c465476c512..f8008139e3e 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUni # DefaultUnitarySynthesis - + Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") The default unitary synthesis plugin. @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUni ### run - + Run synthesis for the given unitary matrix **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.mdx b/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.mdx index bc240b45bf3..74f295a2b9a 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.mdx @@ -17,7 +17,7 @@ python_api_name: qiskit.visualization.dag_drawer **Parameters** - * **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – The dag to draw. + * **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") *or*[*DAGDependency*](qiskit.dagcircuit.DAGDependency "qiskit.dagcircuit.DAGDependency")) – The dag to draw. * **scale** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")) – scaling factor * **filename** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – file path to save image to (format inferred from name) * **style** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – ‘plain’: B\&W graph ‘color’ (default): color input/output/op nodes diff --git a/docs/api/qiskit/dev/qpy.mdx b/docs/api/qiskit/dev/qpy.mdx index fc4d9ab1a58..d4d8d5754ab 100644 --- a/docs/api/qiskit/dev/qpy.mdx +++ b/docs/api/qiskit/dev/qpy.mdx @@ -55,7 +55,7 @@ and then loading that file will return a list with all the circuits ### load - + Load a QPY binary file This function is used to load a serialized QPY Qiskit program file and create [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") objects or [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.schedule.ScheduleBlock") objects from its contents. For example: @@ -100,7 +100,7 @@ and then loading that file will return a list with all the circuits ### dump - + Write QPY binary data to a file This function is used to save a circuit to a file for later use or transfer between machines. The QPY format is backwards compatible and can be loaded with future versions of Qiskit. @@ -135,9 +135,13 @@ and then loading that file will return a list with all the circuits Which will save the qpy serialized circuit to the provided file. + + Passing ScheduleBlock to programs is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package. + + **Parameters** - * **programs** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") *|*[*ScheduleBlock*](qiskit.pulse.ScheduleBlock "qiskit.pulse.schedule.ScheduleBlock")*] |* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") *|*[*ScheduleBlock*](qiskit.pulse.ScheduleBlock "qiskit.pulse.schedule.ScheduleBlock")) – QPY supported object(s) to store in the specified file like object. QPY supports [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") and [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock"). Different data types must be separately serialized. + * **programs** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") *|*[*ScheduleBlock*](qiskit.pulse.ScheduleBlock "qiskit.pulse.schedule.ScheduleBlock")*] |* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") *|*[*ScheduleBlock*](qiskit.pulse.ScheduleBlock "qiskit.pulse.schedule.ScheduleBlock")) – QPY supported object(s) to store in the specified file like object. QPY supports [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") and [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock"). Different data types must be separately serialized. Support for [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock") is deprecated since Qiskit 1.3.0. * **file\_obj** ([*BinaryIO*](https://docs.python.org/3/library/typing.html#typing.BinaryIO "(in Python v3.13)")) – The file like object to write the QPY data too @@ -283,7 +287,7 @@ The QPY serialization format is a portable cross-platform binary serialization f A QPY file (or memory object) always starts with the following 6 byte UTF8 string: `QISKIT` which is immediately followed by the overall file header. The contents of the file header as defined as a C struct are: -```python +```c struct { uint8_t qpy_version; uint8_t qiskit_major_version; @@ -295,7 +299,7 @@ struct { From V10 on, a new field is added to the file header struct to represent the encoding scheme used for symbolic expressions: -```python +```c struct { uint8_t qpy_version; uint8_t qiskit_major_version; @@ -328,7 +332,7 @@ Version 12 adds support for: The HEADER struct for an individual circuit has added three `uint32_t` counts of the input, captured and locally declared variables in the circuit. The new form looks like: -```python +```c struct { uint16_t name_size; char global_phase_type; @@ -350,7 +354,7 @@ The `HEADER_V12` struct is followed immediately by the same name, global-phase, An `EXPR_VAR_DECLARATION` defines an [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") instance that is standalone; that is, it represents a self-owned memory location rather than wrapping a [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"). The payload is a C struct: -```python +```c struct { char uuid_bytes[16]; char usage; @@ -400,7 +404,7 @@ Version 11 is identical to Version 10 except for the following. First, the names This represents `Modifier` -```python +```c struct { char type; uint32_t num_ctrl_qubits; @@ -428,7 +432,7 @@ The symbolic\_encoding field is added to the file header, and a new encoding typ The contents of FILE\_HEADER after V10 are defined as a C struct as: -```python +```c struct { uint8_t qpy_version; uint8_t qiskit_major_version; @@ -443,7 +447,7 @@ struct { The `LAYOUT` struct is updated to have an additional `input_qubit_count` field. With version 10 the `LAYOUT` struct is now: -```python +```c struct { char exists; int32_t initial_layout_size; @@ -518,7 +522,7 @@ This represents a literal object in the classical type system, such as an intege To support the use of [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") nodes in the fields [`IfElseOp.condition`](qiskit.circuit.IfElseOp#condition "qiskit.circuit.IfElseOp.condition"), [`WhileLoopOp.condition`](qiskit.circuit.WhileLoopOp#condition "qiskit.circuit.WhileLoopOp.condition") and `SwitchCaseOp.target`, the INSTRUCTION struct is changed in an ABI compatible-manner to [its previous definition](#qpy-instruction-v5). The new struct is the C struct: -```python +```c struct { uint16_t name_size; uint16_t label_size; @@ -555,7 +559,7 @@ Version 8 adds support for handling a [`TranspileLayout`](qiskit.transpiler.Tran #### LAYOUT -```python +```c struct { char exists; int32_t initial_layout_size; @@ -573,7 +577,7 @@ Immediately following the `LAYOUT` struct there is a [REGISTERS](#qpy-registers) #### INITIAL\_LAYOUT\_BIT -```python +```c struct { int32_t index; int32_t register_size; @@ -627,7 +631,7 @@ Version 6 adds support for `ScalableSymbolicPulse`. These objects are saved and SymbolicPulse block now starts with SYMBOLIC\_PULSE\_V2 header: -```python +```c struct { uint16_t class_name_size; uint16_t type_size; @@ -650,7 +654,7 @@ With the support of `ScheduleBlock`, now [`QuantumCircuit`](qiskit.circuit.Quant In QPY version 5 and above, -```python +```c struct { char type; } @@ -696,7 +700,7 @@ Note that circuit and schedule block are serialized and deserialized through the [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock") block starts with the following header: -```python +```c struct { uint16_t name_size; uint64_t metadata_size; @@ -774,7 +778,7 @@ The key is immediately followed by the channel index serialized as the INSTRUCTI Waveform block starts with WAVEFORM header: -```python +```c struct { double epsilon; uint32_t data_size; @@ -790,7 +794,7 @@ which is followed by `data_size` bytes of complex `ndarray` binary generated by SymbolicPulse block starts with SYMBOLIC\_PULSE header: -```python +```c struct { uint16_t type_size; uint16_t envelope_size; @@ -812,7 +816,7 @@ The MAPPING is a representation for arbitrary mapping object. This is a fixed le A MAP\_ITEM starts with a header defined as: -```python +```c struct { uint16_t key_size; char type; @@ -830,7 +834,7 @@ which is immediately followed by the `key_size` utf8 bytes representing the dict The CIRCUIT\_CALIBRATIONS block is a dictionary to define pulse calibrations of the custom instruction set. This block starts with the following CALIBRATION header: -```python +```c struct { uint16_t num_cals; } @@ -838,7 +842,7 @@ struct { which is followed by the `num_cals` length of calibration entries, each starts with the CALIBRATION\_DEF header: -```python +```c struct { uint16_t name_size; uint16_t num_qubits; @@ -855,7 +859,7 @@ The calibration definition header is then followed by `name_size` utf8 bytes of The INSTRUCTION block was modified to add two new fields `num_ctrl_qubits` and `ctrl_state` which are used to model the [`ControlledGate.num_ctrl_qubits`](qiskit.circuit.ControlledGate#num_ctrl_qubits "qiskit.circuit.ControlledGate.num_ctrl_qubits") and [`ControlledGate.ctrl_state`](qiskit.circuit.ControlledGate#ctrl_state "qiskit.circuit.ControlledGate.ctrl_state") attributes. The new payload packed struct format is: -```python +```c struct { uint16_t name_size; uint16_t label_size; @@ -878,7 +882,7 @@ The rest of the instruction payload is the same. You can refer to [INSTRUCTIONS] The CUSTOM\_INSTRUCTION block in QPY version 5 adds a new field `base_gate_size` which is used to define the size of the [`qiskit.circuit.Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") object stored in the `ControlledGate.base_gate` attribute for a custom [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") object. With this change the CUSTOM\_INSTRUCTION metadata block becomes: -```python +```c struct { uint16_t name_size; char type; @@ -908,7 +912,7 @@ Version 4 is identical to [Version 3](#qpy-version-3) except that it adds 2 new The [REGISTERS](#qpy-registers) header format has also been updated to -```python +```c struct { char type; _Bool standalone; @@ -926,7 +930,7 @@ which just adds the `in_circuit` field which represents whether the register is A RANGE is a representation of a `range` object. It is defined as: -```python +```c struct { int64_t start; int64_t stop; @@ -942,7 +946,7 @@ A SEQUENCE is a representation of an arbitrary sequence object. As sequence are A sequence instruction parameter starts with a header defined as: -```python +```c struct { uint64_t size; } @@ -964,7 +968,7 @@ Version 3 of the QPY format is identical to [Version 2](#qpy-version-2) except t This represents the high level [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate") -```python +```c struct { uint64_t operator_count; _Bool standalone_op; @@ -984,7 +988,7 @@ This is immediately followed by `operator_count` elements defined by the [SPARSE This represents an instance of [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp"). -```python +```c struct { uint32_t pauli_op_size; } @@ -1002,7 +1006,7 @@ Version 3 of the QPY format also defines a struct format to represent a `Paramet A PARAMETER\_VECTOR\_ELEMENT represents a `ParameterVectorElement` object the data for a INSTRUCTION\_PARAM. The contents of the PARAMETER\_VECTOR\_ELEMENT are defined as: -```python +```c struct { uint16_t vector_name_size; uint64_t vector_size; @@ -1023,7 +1027,7 @@ Additionally, since QPY format version v3 distinguishes between a [`Parameter`]( A PARAMETER\_EXPR represents a [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") object that the data for an INSTRUCTION\_PARAM. The contents of a PARAMETER\_EXPR are defined as: -```python +```c struct { uint64_t map_elements; uint64_t expr_size; @@ -1032,7 +1036,7 @@ struct { Immediately following the header is `expr_size` bytes of utf8 data containing the expression string, which is the sympy srepr of the expression for the parameter expression. Following that is a symbol map which contains `map_elements` elements with the format -```python +```c struct { char symbol_type; char type; @@ -1052,7 +1056,7 @@ Version 2 of the QPY format is identical to version 1 except for the HEADER sect The contents of HEADER are defined as a C struct are: -```python +```c struct { uint16_t name_size; char global_phase_type; @@ -1077,7 +1081,7 @@ This is immediately followed by `name_size` bytes of utf8 data for the name of t The contents of HEADER as defined as a C struct are: -```python +```c struct { uint16_t name_size; double global_phase; @@ -1101,7 +1105,7 @@ The METADATA field is a UTF8 encoded JSON string. After reading the HEADER (whic The contents of REGISTERS is a number of REGISTER object. If num\_registers is > 0 then after reading METADATA you read that number of REGISTER structs defined as: -```python +```c struct { char type; _Bool standalone; @@ -1145,7 +1149,7 @@ This section specifies custom definitions for any of the instructions in the cir CUSTOM\_DEFINITION\_HEADER contents are defined as: -```python +```c struct { uint64_t size; } @@ -1153,7 +1157,7 @@ struct { If size is greater than 0 that means the circuit contains custom instruction(s). Each custom instruction is defined with a CUSTOM\_INSTRUCTION block defined as: -```python +```c struct { uint16_t name_size; char type; @@ -1174,7 +1178,7 @@ If `custom_definition` is `True` that means that the immediately following `size The contents of INSTRUCTIONS is a list of INSTRUCTION metadata objects -```python +```c struct { uint16_t name_size; uint16_t label_size; @@ -1193,7 +1197,7 @@ This is immediately followed by the INSTRUCTION\_ARG structs for the list of arg The contents of each INSTRUCTION\_ARG is: -```python +```c struct { char type; uint32_t index; @@ -1206,7 +1210,7 @@ After all arguments for an instruction the parameters are specified with `num_pa The contents of each INSTRUCTION\_PARAM is: -```python +```c struct { char type; uint64_t size; @@ -1221,7 +1225,7 @@ After each INSTRUCTION\_PARAM the next `size` bytes are the parameter’s data. A PARAMETER represents a [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") object the data for a INSTRUCTION\_PARAM. The contents of the PARAMETER are defined as: -```python +```c struct { uint16_t name_size; char uuid[16]; @@ -1240,7 +1244,7 @@ A PARAMETER\_EXPR represents a [`ParameterExpression`](qiskit.circuit.ParameterE The PARAMETER\_EXPR data starts with a header: -```python +```c struct { uint64_t map_elements; uint64_t expr_size; @@ -1249,7 +1253,7 @@ struct { Immediately following the header is `expr_size` bytes of utf8 data containing the expression string, which is the sympy srepr of the expression for the parameter expression. Follwing that is a symbol map which contains `map_elements` elements with the format -```python +```c struct { char type; uint64_t size; @@ -1264,7 +1268,7 @@ Which is followed immediately by `PARAMETER` object (both the struct and utf8 na When representing a double precision complex value in QPY the following struct is used: -```python +```c struct { double real; double imag; diff --git a/docs/api/qiskit/dev/quantum_info.mdx b/docs/api/qiskit/dev/quantum_info.mdx index c4da200db3c..0a682a6ec55 100644 --- a/docs/api/qiskit/dev/quantum_info.mdx +++ b/docs/api/qiskit/dev/quantum_info.mdx @@ -20,16 +20,17 @@ python_api_name: qiskit.quantum_info ## Operators -| | | -| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -| [`Operator`](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")(data\[, input\_dims, output\_dims]) | Matrix operator class | -| [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli")(\[data]) | N-qubit Pauli operator. | -| [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")(data\[, validate, copy]) | An N-qubit unitary operator from the Clifford group. | -| [`ScalarOp`](qiskit.quantum_info.ScalarOp "qiskit.quantum_info.ScalarOp")(\[dims, coeff]) | Scalar identity operator class. | -| [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp")(data\[, coeffs, ...]) | Sparse N-qubit operator in a Pauli basis representation. | -| [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral")(\[data, num\_qubits, validate]) | An N-qubit operator from the CNOT-Dihedral group. | -| [`PauliList`](qiskit.quantum_info.PauliList "qiskit.quantum_info.PauliList")(data) | List of N-qubit Pauli operators. | -| [`pauli_basis`](qiskit.quantum_info.pauli_basis "qiskit.quantum_info.pauli_basis")(num\_qubits\[, weight]) | Return the ordered PauliList for the n-qubit Pauli basis. | +| | | +| --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| [`Operator`](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")(data\[, input\_dims, output\_dims]) | Matrix operator class | +| [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli")(\[data]) | N-qubit Pauli operator. | +| [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")(data\[, validate, copy]) | An N-qubit unitary operator from the Clifford group. | +| [`ScalarOp`](qiskit.quantum_info.ScalarOp "qiskit.quantum_info.ScalarOp")(\[dims, coeff]) | Scalar identity operator class. | +| [`SparseObservable`](qiskit.quantum_info.SparseObservable "qiskit.quantum_info.SparseObservable") | An observable over Pauli bases that stores its data in a qubit-sparse format. | +| [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp")(data\[, coeffs, ...]) | Sparse N-qubit operator in a Pauli basis representation. | +| [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral")(\[data, num\_qubits, validate]) | An N-qubit operator from the CNOT-Dihedral group. | +| [`PauliList`](qiskit.quantum_info.PauliList "qiskit.quantum_info.PauliList")(data) | List of N-qubit Pauli operators. | +| [`pauli_basis`](qiskit.quantum_info.pauli_basis "qiskit.quantum_info.pauli_basis")(num\_qubits\[, weight]) | Return the ordered PauliList for the n-qubit Pauli basis. | diff --git a/docs/api/qiskit/dev/result.mdx b/docs/api/qiskit/dev/result.mdx index 1980d5c57e0..2d8c18be0b9 100644 --- a/docs/api/qiskit/dev/result.mdx +++ b/docs/api/qiskit/dev/result.mdx @@ -146,9 +146,9 @@ python_api_name: qiskit.result ## Mitigation -| | | -| --------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | -| [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.BaseReadoutMitigator")() | Base readout error mitigator class. | -| [`CorrelatedReadoutMitigator`](qiskit.result.CorrelatedReadoutMitigator "qiskit.result.CorrelatedReadoutMitigator")(assignment\_matrix) | N-qubit readout error mitigator. | -| [`LocalReadoutMitigator`](qiskit.result.LocalReadoutMitigator "qiskit.result.LocalReadoutMitigator")(\[assignment\_matrices, ...]) | 1-qubit tensor product readout error mitigator. | +| | | +| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | +| [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.BaseReadoutMitigator")() | This class is DEPRECATED. | +| [`CorrelatedReadoutMitigator`](qiskit.result.CorrelatedReadoutMitigator "qiskit.result.CorrelatedReadoutMitigator")(assignment\_matrix) | This class is DEPRECATED. | +| [`LocalReadoutMitigator`](qiskit.result.LocalReadoutMitigator "qiskit.result.LocalReadoutMitigator")(\[assignment\_matrices, ...]) | This class is DEPRECATED. | diff --git a/docs/api/qiskit/dev/scheduler.mdx b/docs/api/qiskit/dev/scheduler.mdx index 1e885240036..4317da07ca4 100644 --- a/docs/api/qiskit/dev/scheduler.mdx +++ b/docs/api/qiskit/dev/scheduler.mdx @@ -22,11 +22,15 @@ A circuit scheduler compiles a circuit program to a pulse program. ### ScheduleConfig - + Configuration for pulse scheduling. Container for information needed to schedule a QuantumCircuit into a pulse Schedule. + + The class `qiskit.scheduler.config.ScheduleConfig` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that `qiskit.scheduler.config.ScheduleConfig` will be moved as well. + + **Parameters** * **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.instruction_schedule_map.InstructionScheduleMap")) – The schedule definition of all gates supported on a backend. @@ -36,7 +40,7 @@ A circuit scheduler compiles a circuit program to a pulse program. ### schedule\_circuit - + Basic scheduling pass from a circuit to a pulse Schedule, using the backend. If no method is specified, then a basic, as late as possible scheduling pass is performed, i.e. pulses are scheduled to occur as late as possible. Supported methods: @@ -44,6 +48,10 @@ A circuit scheduler compiles a circuit program to a pulse program. > * `'as_soon_as_possible'`: Schedule pulses greedily, as early as possible on a qubit resource. (alias: `'asap'`) > * `'as_late_as_possible'`: Schedule pulses late– keep qubits in the ground state when possible. (alias: `'alap'`) + + The function `qiskit.scheduler.schedule_circuit.schedule_circuit()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that `qiskit.scheduler.schedule_circuit.schedule_circuit()` will be moved as well. + + **Parameters** * **circuit** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – The quantum circuit to translate. @@ -68,11 +76,15 @@ A circuit scheduler compiles a circuit program to a pulse program. ### as\_soon\_as\_possible - + Return the pulse Schedule which implements the input circuit using an “as soon as possible” (asap) scheduling policy. Circuit instructions are first each mapped to equivalent pulse Schedules according to the command definition given by the schedule\_config. Then, this circuit instruction-equivalent Schedule is appended at the earliest time at which all qubits involved in the instruction are available. + + The function `qiskit.scheduler.methods.basic.as_soon_as_possible()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that `qiskit.scheduler.methods.basic.as_soon_as_possible()` will be moved as well. + + **Parameters** * **circuit** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – The quantum circuit to translate. @@ -90,13 +102,17 @@ A circuit scheduler compiles a circuit program to a pulse program. ### as\_late\_as\_possible - + Return the pulse Schedule which implements the input circuit using an “as late as possible” (alap) scheduling policy. Circuit instructions are first each mapped to equivalent pulse Schedules according to the command definition given by the schedule\_config. Then, this circuit instruction-equivalent Schedule is appended at the latest time that it can be without allowing unnecessary time between instructions or allowing instructions with common qubits to overlap. This method should improves the outcome fidelity over ASAP scheduling, because we may maximize the time that the qubit remains in the ground state. + + The function `qiskit.scheduler.methods.basic.as_late_as_possible()` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: [https://github.com/qiskit-community/qiskit-dynamics](https://github.com/qiskit-community/qiskit-dynamics). Note that `qiskit.scheduler.methods.basic.as_late_as_possible()` will be moved as well. + + **Parameters** * **circuit** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – The quantum circuit to translate. diff --git a/docs/api/qiskit/dev/synthesis.mdx b/docs/api/qiskit/dev/synthesis.mdx index d8e2c7ca3b4..3a056db097a 100644 --- a/docs/api/qiskit/dev/synthesis.mdx +++ b/docs/api/qiskit/dev/synthesis.mdx @@ -400,7 +400,7 @@ python_api_name: qiskit.synthesis For example, a 5-qubit Clifford circuit is decomposed into the following layers: - ```python + ```text ┌─────┐┌─────┐┌────────┐┌─────┐┌─────┐┌─────┐┌─────┐┌────────┐ q_0: ┤0 ├┤0 ├┤0 ├┤0 ├┤0 ├┤0 ├┤0 ├┤0 ├ │ ││ ││ ││ ││ ││ ││ ││ │ @@ -556,7 +556,7 @@ python_api_name: qiskit.synthesis For example, a 5-qubit stabilizer state is decomposed into the following layers: - ```python + ```text ┌─────┐┌─────┐┌─────┐┌─────┐┌────────┐ q_0: ┤0 ├┤0 ├┤0 ├┤0 ├┤0 ├ │ ││ ││ ││ ││ │ @@ -747,7 +747,7 @@ Decomposition of general $2^n \times 2^n$ unitary matrices for any number of qub This decomposition is described in Shende et al. \[1]. - ```python + ```text ┌───┐ ┌───┐ ┌───┐ ┌───┐ ─┤ ├─ ───────┤ Rz├─────┤ Ry├─────┤ Rz├───── │ │ ≃ ┌───┐└─┬─┘┌───┐└─┬─┘┌───┐└─┬─┘┌───┐ diff --git a/docs/api/qiskit/dev/transpiler.mdx b/docs/api/qiskit/dev/transpiler.mdx index 5f1ff36f82a..95d3946df86 100644 --- a/docs/api/qiskit/dev/transpiler.mdx +++ b/docs/api/qiskit/dev/transpiler.mdx @@ -190,7 +190,7 @@ target.add_instruction( print(target) ``` -```python +```text Target Number of qubits: 3 Instructions: @@ -484,7 +484,7 @@ A few things to highlight. First, the circuit has gotten longer with respect to print('Original depth:', qc.depth(), 'Decomposed Depth:', qc_basis.depth()) ``` -```python +```text Original depth: 4 Decomposed Depth: 10 ``` @@ -501,7 +501,7 @@ It is important to highlight two special cases: print(backend.operation_names) ``` - ```python + ```text ['id', 'rz', 'sx', 'x', 'cx', 'measure', 'delay'] ``` @@ -762,7 +762,7 @@ When running scheduling analysis passes on a circuit, you must keep in mind that The DAG representation of `QuantumCircuit` respects the node ordering in the classical register wires, though theoretically two conditional instructions conditioned on the same register could commute, i.e. read-access to the classical register doesn’t change its state. -```python +```text qc = QuantumCircuit(2, 1) qc.delay(100, 0) qc.x(0).c_if(0, True) @@ -771,7 +771,7 @@ qc.x(1).c_if(0, True) The scheduler SHOULD comply with the above topological ordering policy of the DAG circuit. Accordingly, the asap-scheduled circuit will become -```python +```text ┌────────────────┐ ┌───┐ q_0: ┤ Delay(100[dt]) ├───┤ X ├────────────── ├────────────────┤ └─╥─┘ ┌───┐ @@ -788,7 +788,7 @@ Note that this scheduling might be inefficient in some cases, because the second In the dispersive QND readout scheme, the qubit (Q) is measured by sending a microwave stimulus, followed by a resonator ring-down (depopulation). This microwave signal is recorded in the buffer memory (B) with the hardware kernel, then a discriminated (D) binary value is moved to the classical register (C). A sequence from t0 to t1 of the measure instruction interval could be modeled as follows: -```python +```text Q ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ B ░░▒▒▒▒▒▒▒▒░░░░░░░░░ D ░░░░░░░░░░▒▒▒▒▒▒░░░ @@ -799,7 +799,7 @@ However, the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.Qu The lack of precision representing the physical model may induce edge cases in the scheduling: -```python +```text ┌───┐ q_0: ───┤ X ├────── └─╥─┘ ┌─┐ @@ -811,7 +811,7 @@ c: 1/╡ c_0=0x1 ╞═╩═ In this example, a user may intend to measure the state of `q_1` after the [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") is applied to `q_0`. This is the correct interpretation from the viewpoint of topological node ordering, i.e. The [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") node comes in front of the [`Measure`](circuit#qiskit.circuit.Measure "qiskit.circuit.Measure") node. However, according to the measurement model above, the data in the register is unchanged during the application of the stimulus, so two nodes are simultaneously operated. If one tries to alap-schedule this circuit, it may return following circuit: -```python +```text ┌────────────────┐ ┌───┐ q_0: ┤ Delay(500[dt]) ├───┤ X ├────── └────────────────┘ └─╥─┘ ┌─┐ @@ -823,7 +823,7 @@ c: 1/══════════════════╡ c_0=0x1 ╞═╩ Note that there is no delay on the `q_1` wire, and the measure instruction immediately starts after t=0, while the conditional gate starts after the delay. It looks like the topological ordering between the nodes is flipped in the scheduled view. This behavior can be understood by considering the control flow model described above, -```python +```text : Quantum Circuit, first-measure 0 ░░░░░░░░░░░░▒▒▒▒▒▒░ 1 ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ @@ -845,7 +845,7 @@ This behavior can be controlled by `clbit_write_latency` and `conditional_latenc Due to default latencies, the alap-scheduled circuit of above example may become -```python +```text ┌───┐ q_0: ───┤ X ├────── └─╥─┘ ┌─┐ @@ -857,7 +857,7 @@ c: 1/╡ c_0=0x1 ╞═╩═ If the backend microarchitecture supports smart scheduling of the control flow instructions, such as separately scheduling qubits and classical registers, the insertion of the delay yields an unnecessarily longer total execution time. -```python +```text : Quantum Circuit, first-XGate 0 ░▒▒▒░░░░░░░░░░░░░░░ 1 ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ @@ -873,7 +873,7 @@ C ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ (zero latency, sched However, this result is much more intuitive in the topological ordering view. If a finite conditional latency value is provided, for example, 30 dt, the circuit is scheduled as follows: -```python +```text ┌───────────────┐ ┌───┐ q_0: ┤ Delay(30[dt]) ├───┤ X ├────── ├───────────────┤ └─╥─┘ ┌─┐ @@ -885,7 +885,7 @@ c: 1/═════════════════╡ c_0=0x1 ╞═╩═ with the timing model: -```python +```text : Quantum Circuit, first-xgate 0 ░░▒▒▒░░░░░░░░░░░░░░░ 1 ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ diff --git a/docs/api/qiskit/dev/transpiler_passes.mdx b/docs/api/qiskit/dev/transpiler_passes.mdx index a0b31083ccb..45ba72a5793 100644 --- a/docs/api/qiskit/dev/transpiler_passes.mdx +++ b/docs/api/qiskit/dev/transpiler_passes.mdx @@ -84,6 +84,7 @@ python_api_name: qiskit.transpiler.passes | [`NormalizeRXAngle`](qiskit.transpiler.passes.NormalizeRXAngle "qiskit.transpiler.passes.NormalizeRXAngle")(\*args, \*\*kwargs) | Normalize theta parameter of RXGate instruction. | | [`OptimizeAnnotated`](qiskit.transpiler.passes.OptimizeAnnotated "qiskit.transpiler.passes.OptimizeAnnotated")(\*args, \*\*kwargs) | Optimization pass on circuits with annotated operations. | | [`Split2QUnitaries`](qiskit.transpiler.passes.Split2QUnitaries "qiskit.transpiler.passes.Split2QUnitaries")(\*args, \*\*kwargs) | Attempt to splits two-qubit unitaries in a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") into two single-qubit gates. | +| [`RemoveIdentityEquivalent`](qiskit.transpiler.passes.RemoveIdentityEquivalent "qiskit.transpiler.passes.RemoveIdentityEquivalent")(\*args, \*\*kwargs) | Remove gates with negligible effects. | ## Calibration diff --git a/docs/api/qiskit/dev/transpiler_plugins.mdx b/docs/api/qiskit/dev/transpiler_plugins.mdx index 1bc3a544314..0713637aa36 100644 --- a/docs/api/qiskit/dev/transpiler_plugins.mdx +++ b/docs/api/qiskit/dev/transpiler_plugins.mdx @@ -129,7 +129,7 @@ There isn’t a limit to the number of plugins a single package can include as l help(basic_plugin) ``` - ```python + ```text Help on BasicSwapPassManager in module ...preset_passmanagers.builtin_plugins object: class BasicSwapPassManager(...preset_passmanagers.plugin.PassManagerStagePlugin) diff --git a/docs/api/qiskit/dev/transpiler_preset.mdx b/docs/api/qiskit/dev/transpiler_preset.mdx index a8d60fa35d2..f8db6f4575a 100644 --- a/docs/api/qiskit/dev/transpiler_preset.mdx +++ b/docs/api/qiskit/dev/transpiler_preset.mdx @@ -24,7 +24,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_preset\_pass\_manager - + Generate a preset [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") This function is used to quickly generate a preset pass manager. Preset pass managers are the default pass managers used by the [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") function. This function provides a convenient and simple method to construct a standalone [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") object that mirrors what the [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") function internally builds and uses. @@ -41,6 +41,22 @@ This module contains functions for generating the preset pass managers for the t | **timing\_constraints** | target | timing\_constraints | timing\_constraints | | **backend\_properties** | target | backend\_properties | backend\_properties | + + `qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager.generate_preset_pass_manager()`’s argument `inst_map` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package. + + + + `qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager.generate_preset_pass_manager()`’s argument `backend_properties` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The target parameter should be used instead. You can build a Target instance with defined properties with Target.from\_configuration(…, backend\_properties=…) + + + + `qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager.generate_preset_pass_manager()`’s argument `timing_constraints` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The target parameter should be used instead. You can build a Target instance with defined timing constraints with Target.from\_configuration(…, timing\_constraints=…) + + + + `qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager.generate_preset_pass_manager()`’s argument `instruction_durations` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The target parameter should be used instead. You can build a Target instance with defined instruction durations with Target.from\_configuration(…, instruction\_durations=…) + + **Parameters** * **optimization\_level** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – @@ -58,7 +74,7 @@ This module contains functions for generating the preset pass managers for the t * **basis\_gates** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")) – List of basis gate names to unroll to (e.g: `['u1', 'u2', 'u3', 'cx']`). - * **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap")) – Mapping object that maps gates to schedules. If any user defined calibration is found in the map and this is used in a circuit, transpiler attaches the custom gate definition to the circuit. This enables one to flexibly override the low-level instruction implementation. + * **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap")) – DEPRECATED. Mapping object that maps gates to schedules. If any user defined calibration is found in the map and this is used in a circuit, transpiler attaches the custom gate definition to the circuit. This enables one to flexibly override the low-level instruction implementation. * **coupling\_map** ([*CouplingMap*](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") *or*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")) – @@ -237,7 +253,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_control\_flow\_options\_check - + Generate a pass manager that, when run on a DAG that contains control flow, fails with an error message explaining the invalid options, and what could be used instead. **Returns** @@ -251,13 +267,13 @@ This module contains functions for generating the preset pass managers for the t ### generate\_error\_on\_control\_flow - + Get a pass manager that always raises an error if control flow is present in a given circuit. ### generate\_unroll\_3q - + Generate an unroll >3q [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** @@ -281,7 +297,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_embed\_passmanager - + Generate a layout embedding [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") This is used to generate a [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") object that can be used to expand and apply an initial layout to a circuit @@ -303,7 +319,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_routing\_passmanager - + Generate a routing [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** @@ -329,7 +345,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_pre\_op\_passmanager - + Generate a pre-optimization loop [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") This pass manager will check to ensure that directionality from the coupling map is respected @@ -351,7 +367,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_translation\_passmanager - + Generate a basis translation [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** @@ -382,15 +398,19 @@ This module contains functions for generating the preset pass managers for the t ### generate\_scheduling - + Generate a post optimization scheduling [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") + + `qiskit.transpiler.preset_passmanagers.common.generate_scheduling()`’s argument `inst_map` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package. + + **Parameters** * **instruction\_durations** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.13)")) – The dictionary of instruction durations * **scheduling\_method** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The scheduling method to use, can either be `'asap'`/`'as_soon_as_possible'` or `'alap'`/`'as_late_as_possible'` * **timing\_constraints** (*TimingConstraints*) – Hardware time alignment restrictions. - * **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap")) – Mapping object that maps gate to schedule. + * **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap")) – DEPRECATED. Mapping object that maps gate to schedule. * **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") object representing the backend **Returns** diff --git a/docs/api/qiskit/dev/transpiler_synthesis_plugins.mdx b/docs/api/qiskit/dev/transpiler_synthesis_plugins.mdx index 8d4001bccf5..ea475654339 100644 --- a/docs/api/qiskit/dev/transpiler_synthesis_plugins.mdx +++ b/docs/api/qiskit/dev/transpiler_synthesis_plugins.mdx @@ -110,7 +110,7 @@ If for some reason the available inputs to the [`run()`](qiskit.transpiler.passe The second step is to expose the [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") as a setuptools entry point in the package metadata. This is done by simply adding an `entry-points` table in `pyproject.toml` for the plugin package with the necessary entry points under the `qiskit.unitary_synthesis` namespace. For example: -```python +```toml [project.entry-points."qiskit.unitary_synthesis"] "special" = "qiskit_plugin_pkg.module.plugin:SpecialUnitarySynthesis" ``` @@ -143,7 +143,7 @@ The above example creates a plugin to synthesize objects of type [`Clifford`](qi The second step is to expose the [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") as a setuptools entry point in the package metadata. This is done by adding an `entry-points` table in `pyproject.toml` for the plugin package with the necessary entry points under the `qiskit.synthesis` namespace. For example: -```python +```toml [project.entry-points."qiskit.synthesis"] "clifford.special" = "qiskit_plugin_pkg.module.plugin:SpecialSynthesisClifford" ``` diff --git a/docs/api/qiskit/dev/visualization.mdx b/docs/api/qiskit/dev/visualization.mdx index b4c7825bcd3..cbbae68e72b 100644 --- a/docs/api/qiskit/dev/visualization.mdx +++ b/docs/api/qiskit/dev/visualization.mdx @@ -20,7 +20,7 @@ The visualization module contain functions that visualizes measurement outcome c To use visualization functions, you are required to install visualization optionals to your development environment: -```python +```bash pip install 'qiskit[visualization]' ``` diff --git a/public/api/qiskit-ibm-runtime/dev/objects.inv b/public/api/qiskit-ibm-runtime/dev/objects.inv index ebdda379cb3..281bcf76ca0 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/dev/objects.inv b/public/api/qiskit/dev/objects.inv index dc01c7152d2..bb5464f8c84 100644 Binary files a/public/api/qiskit/dev/objects.inv and b/public/api/qiskit/dev/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 87c9014140d..7a723e31880 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/dev/circuit-2.png b/public/images/api/qiskit/dev/circuit-2.png index fa7b138f2c8..01394fbdc71 100644 Binary files a/public/images/api/qiskit/dev/circuit-2.png and b/public/images/api/qiskit/dev/circuit-2.png differ diff --git a/public/images/api/qiskit/dev/circuit_library-2.png b/public/images/api/qiskit/dev/circuit_library-2.png new file mode 100644 index 00000000000..5928e2ff79f Binary files /dev/null and b/public/images/api/qiskit/dev/circuit_library-2.png differ diff --git a/public/images/api/qiskit/dev/circuit_library-3.png b/public/images/api/qiskit/dev/circuit_library-3.png new file mode 100644 index 00000000000..7fddb6d79c5 Binary files /dev/null and b/public/images/api/qiskit/dev/circuit_library-3.png differ diff --git a/public/images/api/qiskit/dev/circuit_library-4.png b/public/images/api/qiskit/dev/circuit_library-4.png new file mode 100644 index 00000000000..79f80609416 Binary files /dev/null and b/public/images/api/qiskit/dev/circuit_library-4.png differ diff --git a/public/images/api/qiskit/dev/providers_fake_provider-1_01.png b/public/images/api/qiskit/dev/providers_fake_provider-1_01.png index 26865a55ad5..832a44d538e 100644 Binary files a/public/images/api/qiskit/dev/providers_fake_provider-1_01.png and b/public/images/api/qiskit/dev/providers_fake_provider-1_01.png differ diff --git a/public/images/api/qiskit/dev/providers_fake_provider-1_02.png b/public/images/api/qiskit/dev/providers_fake_provider-1_02.png index f2b8d36e76d..51363bdb5a7 100644 Binary files a/public/images/api/qiskit/dev/providers_fake_provider-1_02.png and b/public/images/api/qiskit/dev/providers_fake_provider-1_02.png differ diff --git a/public/images/api/qiskit/dev/pulse-2.png b/public/images/api/qiskit/dev/pulse-2.png index f4122c6c55e..64af0ee194a 100644 Binary files a/public/images/api/qiskit/dev/pulse-2.png and b/public/images/api/qiskit/dev/pulse-2.png differ diff --git a/public/images/api/qiskit/dev/pulse-3.png b/public/images/api/qiskit/dev/pulse-3.png index 1a7b2cdc195..ea753ffeddc 100644 Binary files a/public/images/api/qiskit/dev/pulse-3.png and b/public/images/api/qiskit/dev/pulse-3.png differ diff --git a/public/images/api/qiskit/dev/pulse-4.png b/public/images/api/qiskit/dev/pulse-4.png index bac0d6f54d9..0377259072e 100644 Binary files a/public/images/api/qiskit/dev/pulse-4.png and b/public/images/api/qiskit/dev/pulse-4.png differ diff --git a/public/images/api/qiskit/dev/pulse-5.png b/public/images/api/qiskit/dev/pulse-5.png index cc4e641eee8..d173e419ef4 100644 Binary files a/public/images/api/qiskit/dev/pulse-5.png and b/public/images/api/qiskit/dev/pulse-5.png differ diff --git a/public/images/api/qiskit/dev/pulse-6.png b/public/images/api/qiskit/dev/pulse-6.png index b3b696aa4eb..6753aafb9f7 100644 Binary files a/public/images/api/qiskit/dev/pulse-6.png and b/public/images/api/qiskit/dev/pulse-6.png differ diff --git a/public/images/api/qiskit/dev/pulse-7.png b/public/images/api/qiskit/dev/pulse-7.png index 78f0887b1a6..44474d02f3a 100644 Binary files a/public/images/api/qiskit/dev/pulse-7.png and b/public/images/api/qiskit/dev/pulse-7.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png index 9cd5aae04c1..68a2c71a22d 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-1.png new file mode 100644 index 00000000000..e1e74ea939e Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-2.png new file mode 100644 index 00000000000..67a18c1661d Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-BitwiseXorGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-BitwiseXorGate-1.png new file mode 100644 index 00000000000..b6c90e3b778 Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-BitwiseXorGate-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProductGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProductGate-1.png new file mode 100644 index 00000000000..0fe402e3656 Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProductGate-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-1.png new file mode 100644 index 00000000000..3ce688c0ec6 Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-2.png new file mode 100644 index 00000000000..c784c92b98f Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png index 339ba528a1c..b1854cc6dd2 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png index d0e3f88f9d6..08870a6022c 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png index 73e6aaebd41..0b8c69ea6ab 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png index c5567488aa9..8feaf38a0c4 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png index 091c8ec17d7..06a9df4e0ae 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png index 0b753b1abce..7645a85080f 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png and b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png index 2faf303b6ea..af721cf11a8 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png and b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png differ diff --git a/public/images/api/qiskit/dev/release_notes-1.png b/public/images/api/qiskit/dev/release_notes-1.png index 889114d83ca..ddf2ec46f72 100644 Binary files a/public/images/api/qiskit/dev/release_notes-1.png and b/public/images/api/qiskit/dev/release_notes-1.png differ diff --git a/public/images/api/qiskit/dev/release_notes-2.png b/public/images/api/qiskit/dev/release_notes-2.png index 2d57244a1b7..538867ce5e9 100644 Binary files a/public/images/api/qiskit/dev/release_notes-2.png and b/public/images/api/qiskit/dev/release_notes-2.png differ diff --git a/public/images/api/qiskit/dev/release_notes-3.png b/public/images/api/qiskit/dev/release_notes-3.png index b7ee0054f41..d1ae012d142 100644 Binary files a/public/images/api/qiskit/dev/release_notes-3.png and b/public/images/api/qiskit/dev/release_notes-3.png differ diff --git a/public/images/api/qiskit/dev/release_notes-4.png b/public/images/api/qiskit/dev/release_notes-4.png index 18be4f78c71..2d57244a1b7 100644 Binary files a/public/images/api/qiskit/dev/release_notes-4.png and b/public/images/api/qiskit/dev/release_notes-4.png differ diff --git a/public/images/api/qiskit/dev/release_notes-5.png b/public/images/api/qiskit/dev/release_notes-5.png index 0c0420e05f8..b7ee0054f41 100644 Binary files a/public/images/api/qiskit/dev/release_notes-5.png and b/public/images/api/qiskit/dev/release_notes-5.png differ diff --git a/public/images/api/qiskit/dev/release_notes-6.png b/public/images/api/qiskit/dev/release_notes-6.png index 59b2d17abcc..18be4f78c71 100644 Binary files a/public/images/api/qiskit/dev/release_notes-6.png and b/public/images/api/qiskit/dev/release_notes-6.png differ diff --git a/public/images/api/qiskit/dev/release_notes-7.png b/public/images/api/qiskit/dev/release_notes-7.png new file mode 100644 index 00000000000..0c0420e05f8 Binary files /dev/null and b/public/images/api/qiskit/dev/release_notes-7.png differ diff --git a/public/images/api/qiskit/dev/transpiler-16.png b/public/images/api/qiskit/dev/transpiler-16.png index 6f715eeabb7..8df52bc314d 100644 Binary files a/public/images/api/qiskit/dev/transpiler-16.png and b/public/images/api/qiskit/dev/transpiler-16.png differ diff --git a/public/images/api/qiskit/dev/transpiler-17.png b/public/images/api/qiskit/dev/transpiler-17.png index 4ed1ff5a588..68815f2cfe4 100644 Binary files a/public/images/api/qiskit/dev/transpiler-17.png and b/public/images/api/qiskit/dev/transpiler-17.png differ diff --git a/public/images/api/qiskit/dev/transpiler-5.png b/public/images/api/qiskit/dev/transpiler-5.png index 972614451f9..625e8763e5b 100644 Binary files a/public/images/api/qiskit/dev/transpiler-5.png and b/public/images/api/qiskit/dev/transpiler-5.png differ diff --git a/scripts/config/api-html-artifacts.json b/scripts/config/api-html-artifacts.json index e50b8d08850..69238537345 100644 --- a/scripts/config/api-html-artifacts.json +++ b/scripts/config/api-html-artifacts.json @@ -1,6 +1,6 @@ { "qiskit": { - "dev": "https://api.github.com/repos/Qiskit/qiskit/actions/artifacts/2083943397/zip", + "dev": "https://api.github.com/repos/Qiskit/qiskit/actions/artifacts/2135017887/zip", "1.2": "https://ibm.box.com/shared/static/nnao3s3gy1y5hyea506htupby9khrve1.zip", "1.1": "https://ibm.box.com/shared/static/bplxij6mapevjapr8ij7rluiayls982k.zip", "1.0": "https://ibm.box.com/shared/static/9mgo99x54z3rpo8irs23olqsov3uo1ly.zip", @@ -29,7 +29,7 @@ "0.19": "https://ibm.box.com/shared/static/wjoea4x5tnxd0l4lgo2v3kxnx6btxvvl.zip" }, "qiskit-ibm-runtime": { - "dev": "https://api.github.com/repos/Qiskit/qiskit-ibm-runtime/actions/artifacts/2128611480/zip", + "dev": "https://api.github.com/repos/Qiskit/qiskit-ibm-runtime/actions/artifacts/2135652941/zip", "0.32": "https://ibm.box.com/shared/static/enr0tnwaxzpvrypzjav4f1vjip3yfqcy.zip", "0.31": "https://ibm.box.com/shared/static/z19dt14je6cz69oi4knraitjglzo29w7.zip", "0.30": "https://ibm.box.com/shared/static/f950vkx3uq13o8g017bazpm4o9bcei2i.zip", diff --git a/scripts/config/historical-pages-to-latest.json b/scripts/config/historical-pages-to-latest.json index 212b42e3bf0..ea8c6631f77 100644 --- a/scripts/config/historical-pages-to-latest.json +++ b/scripts/config/historical-pages-to-latest.json @@ -18489,8 +18489,14 @@ }, "dev": { "qiskit.circuit.CommutationChecker": "/", + "qiskit.circuit.library.AndGate": "/", + "qiskit.circuit.library.BitwiseXorGate": "/", + "qiskit.circuit.library.InnerProductGate": "/", "qiskit.circuit.library.MCMTGate": "/", + "qiskit.circuit.library.OrGate": "/", "qiskit.circuit.library.quantum_volume": "/", + "qiskit.quantum_info.SparseObservable": "/", + "qiskit.transpiler.passes.RemoveIdentityEquivalent": "/", "qiskit.transpiler.passes.synthesis.hls_plugins.ACGSynthesisPermutation": "/", "qiskit.transpiler.passes.synthesis.hls_plugins.AGSynthesisClifford": "/", "qiskit.transpiler.passes.synthesis.hls_plugins.BMSynthesisClifford": "/", @@ -19221,7 +19227,9 @@ "qiskit_ibm_runtime.fake_provider.FakeYorktown": "/" }, "0.31": {}, - "dev": {} + "dev": { + "qiskit_ibm_runtime.execution_span.TwirledSliceSpan": "/" + } }, "qiskit-ibm-transpiler": { "0.3": {