-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Prepare 0.20.0 release To prepare for the upcoming 0.20.0 release this commit moves all the release notes into a 0.20 subdirectory to keep them separate from future development notes post-release. It also adds a release note with the prelude section providing the high level overview of the release. When this merges it should be the commit used to tag the 0.20.0 release. * Move and update new release notes * Fix typo * Update more release notes * Move and update new release note * More release note updates * Drop operation release note * Add missing release notes * Fix one more release note * Fix upgrade and deprecation notes * Remove duplicate release notes from 0.19.x * Remove Operation from doc toctree * Fix more bug fix relaese notes * Finish first pass over release notes * Add link to rust in prelude * Move and update new release notes * Apply suggestions from code review Co-authored-by: Ali Javadi-Abhari <ajavadia@users.noreply.github.com> * Release note fixes * Fix macOS arm64 wheel config * Move and update new release notes * Revert tox.ini change Co-authored-by: Ali Javadi-Abhari <ajavadia@users.noreply.github.com> Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
- Loading branch information
1 parent
c06753d
commit a2d13f5
Showing
149 changed files
with
775 additions
and
965 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
.. _qiskit-qasm3: | ||
|
||
.. automodule:: qiskit.qasm3 | ||
:no-members: | ||
:no-inherited-members: | ||
:no-special-members: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,6 +23,7 @@ Qiskit Terra API Reference | |
scheduler | ||
synthesis | ||
primitives | ||
qasm3 | ||
qasm | ||
qobj | ||
qpy | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -61,6 +61,7 @@ | |
RZZGate | ||
RZXGate | ||
XXPlusYYGate | ||
XXMinusYYGate | ||
ECRGate | ||
SGate | ||
SdgGate | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
releasenotes/notes/0.20/_copy_circuit_metadata-a9d03e699118dba2.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
features: | ||
- | | ||
Added a new method :meth:`.DAGCircuit.copy_empty_like` | ||
to the :class:`~.DAGCircuit` class. This method is used to create a new | ||
copy of an existing :class:`.DAGCircuit` object with the | ||
same structure but empty of any instructions. This method is the same as | ||
the private method ``_copy_circuit_metadata()``, but instead is now | ||
part of the public API of the class. |
7 changes: 7 additions & 0 deletions
7
releasenotes/notes/0.20/access-backends-from-mock-d3897ecb8490219a.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
feature: | ||
- | | ||
The fake backend and fake provider classes which were previously available | ||
in ``qiskit.test.mock`` are now also accessible in a new module: | ||
``qiskit.providers.fake_provider``. This new module supersedes the previous | ||
module ``qiskit.test.mock`` which will be deprecated in Qiskit 0.21.0. |
6 changes: 6 additions & 0 deletions
6
releasenotes/notes/0.20/add-cx-equivalence-to-cp-and-crz-448c76d5b33516c8.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
fixes: | ||
- | | ||
Added a missing entry from the standard session equivalence library | ||
between :class:`.CXGate` and :class:`.CPhaseGate` as well as between | ||
:class:`~.CXGate` and :class:`~.CRZGate`. |
24 changes: 24 additions & 0 deletions
24
releasenotes/notes/0.20/add-linear-functions-904c8403ef7ab464.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
--- | ||
|
||
features: | ||
- | | ||
Added a new gate class, :class:`.LinearFunction`, that efficiently encodes | ||
a linear function (i.e. a function that can be represented by a sequence | ||
of :class:`.CXGate` and :class:`.SwapGate` gates). | ||
- | | ||
Added a new transpiler pass :class:`.CollectLinearFunctions` that collects | ||
blocks of consecutive :class:`.CXGate` and :class:`.SwapGate` gates in a | ||
circuit, and replaces each block with a :class:`.LinearFunction` gate. | ||
- | | ||
Added a new transpiler pass :class:`.LinearFunctionsSynthesis` | ||
that synthesizes any :class:`.LinearFunction` gates in using the | ||
`Patel-Markov-Hayes algorithm <https://arxiv.org/abs/quant-ph/0302002>`__. | ||
When combined with the :class:`.CollectLinearFunctions` transpiler pass | ||
this enables to collect blocks of consecutive :class:`.CXGate` and | ||
:class:`.SwapGate` gates in a circuit, and re-synthesize them using the | ||
`Patel-Markov-Hayes algorithm <https://arxiv.org/abs/quant-ph/0302002>`__. | ||
- | | ||
Added a new transpiler pass :class:`.LinearFunctionsToPermutations` that | ||
replaces a :class:`.LinearFunction` gate by a :class:`.Permutation` circuit | ||
whenever possible. | ||
33 changes: 33 additions & 0 deletions
33
releasenotes/notes/0.20/add-nested-conditionals-pass-manager-db7b8b9874018d0d.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
|
||
features: | ||
- | | ||
:class:`~.FlowController` classes (such as :class:`~.ConditionalController`) | ||
can now be nested inside a :class:`~.PassManager` instance when using the | ||
:meth:`.PassManager.append` method. This enables the use of nested logic to | ||
control the execution of passes in the :class:`~.PassManager`. For example:: | ||
from qiskit.transpiler import ConditionalController, PassManager | ||
from qiskit.transpiler.passes import ( | ||
BasisTranslator, GatesInBasis, Optimize1qGatesDecomposition, FixedPoint, Depth | ||
) | ||
from qiskit.circuit.equivalence_library import SessionEquivalenceLibrary as sel | ||
pm = PassManager() | ||
def opt_control(property_set): | ||
return not property_set["depth_fixed_point"] | ||
def unroll_condition(property_set): | ||
return not property_set["all_gates_in_basis"] | ||
depth_check = [Depth(), FixedPoint("depth")] | ||
opt = [Optimize1qGatesDecomposition(['rx', 'ry', 'rz', 'rxx'])] | ||
unroll = [BasisTranslator(sel, ['rx', 'ry', 'rz', 'rxx'])] | ||
unroll_check = [GatesInBasis(['rx', 'ry', 'rz', 'rxx'])] | ||
flow_unroll = [ConditionalController(unroll, condition=unroll_condition)] | ||
pm.append(depth_check + opt + unroll_check + flow_unroll, do_while=opt_control) | ||
The ``pm`` :class:`~.PassManager` object will only execute the | ||
:class:`.BasisTranslator` pass (in the ``unroll`` step) in each loop | ||
iteration if the ``unroll_condition`` is met. |
17 changes: 17 additions & 0 deletions
17
...notes/0.20/add-parameter-prefix-support-to-ZFeatureMap-ZZFeatureMap-ba13832b9a832e88.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
--- | ||
features: | ||
- | | ||
The constructors for the :class:`~qiskit.circuit.library.ZFeatureMap` and | ||
:class:`~qiskit.circuit.library.ZZFeatureMap` classes have a new keyword | ||
argument ``parameter_prefix``. This new argument is used to set the prefix | ||
of parameters of the data encoding circuit. For example: | ||
.. jupyter-execute:: | ||
from qiskit.circuit.library import ZFeatureMap | ||
feature_map = ZFeatureMap(feature_dimension=4, parameter_prefix="my_prefix") | ||
feature_map.decompose().draw('mpl') | ||
the generated :class:`~qiskit.circuit.library.ZFeatureMap` circuit has | ||
prefixed all its internal parameters with the prefix ``"my_prefix"``. |
9 changes: 4 additions & 5 deletions
9
...mplate-substitution-a1379cdbfcc10b5c.yaml → ...mplate-substitution-a1379cdbfcc10b5c.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
releasenotes/notes/0.20/add-repr-for-dag-nodes-2d0a95fecd3dd3db.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
features: | ||
- | | ||
The :class:`.DAGOpNode`, :class:`.DAGInNode` and :class:`.DAGOutNode` | ||
classes now define a custom ``__repr__`` method which outputs a | ||
representation. Per the | ||
`Python documentation <https://docs.python.org/3/library/functions.html#repr>`__ | ||
the output is a string representation that is roughly equivalent to the | ||
Python string used to create an equivalent object. |
35 changes: 35 additions & 0 deletions
35
releasenotes/notes/0.20/add-sparsepauliop-equiv-7a8a1420117dba21.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
features: | ||
- | | ||
The performance of the :meth:`.SparsePauliOp.simplify` method has | ||
greatly improved by replacing the use of ``numpy.unique`` to compute unique | ||
elements of an array by a new similar function implemented in Rust that | ||
doesn't pre-sort the array. | ||
- | | ||
Added a new method :meth:`~qiskit.quantum_info.SparsePauliOp.equiv` to the | ||
:class:`~.SparsePauliOp` class for testing the equivalence of a | ||
:class:`~.SparsePauliOp` with another :class:`.SparsePauliOp` object. | ||
Unlike the ``==`` operator which compares operartors element-wise, | ||
:meth:`~qiskit.quantum_info.SparsePauliOp.equiv` compares whether two | ||
operators are equivalent or not. For example:: | ||
op = SparsePauliOp.from_list([("X", 1), ("Y", 1)]) | ||
op2 = SparsePauliOp.from_list([("X", 1), ("Y", 1), ("Z", 0)]) | ||
op3 = SparsePauliOp.from_list([("Y", 1), ("X", 1)]) | ||
print(op == op2) # False | ||
print(op == op3) # False | ||
print(op.equiv(op2)) # True | ||
print(op.equiv(op3)) # True | ||
fixes: | ||
- | | ||
Fixed an issue where running the ``==`` operator between two | ||
:class:`~.SparsePauliOp` objects would raise an error when the two operators | ||
had different numbers of coefficients. For example:: | ||
op = SparsePauliOp.from_list([("X", 1), ("Y", 1)]) | ||
op2 = SparsePauliOp.from_list([("X", 1), ("Y", 1), ("Z", 0)]) | ||
print(op == op2) | ||
This would previously raise a ``ValueError`` instead of returning ``False``. |
13 changes: 13 additions & 0 deletions
13
...otes/notes/0.20/add-v2-backend-support-in-transpiler-parse-inst-map-a617801850178d05.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
fixes: | ||
- | | ||
Fixed support in :func:`~qiskit.compiler.transpile` for passing a | ||
:class:`~.InstructionScheduleMap` to object to the underlying | ||
:class:`~qiskit.transpiler.PassManager` based on the | ||
:class:`~qiskit.transpiler.Target` for | ||
:class:`~qiskit.providers.backend.BackendV2` based backends. Previously, | ||
the :func:`~qiskit.compiler.transpile` function would not do this | ||
processing and any transpiler passes which do not support working with | ||
a :class:`~.Target` object yet would not have access to the default | ||
pulse calibrations for the instructions from a | ||
:class:`~qiskit.providers.backend.BackendV2` backend. |
14 changes: 14 additions & 0 deletions
14
releasenotes/notes/0.20/add-v2-mocked-backend-4ca2e4cfdf077c60.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
features: | ||
- | | ||
Added new fake backend classes from snapshots of the IBM Quantum systems | ||
based on the :class:`~.BackendV2` interface and provided a | ||
:class:`~qiskit.transpiler.Target` for each backend. :class:`~.BackendV2` | ||
based versions of all the existing backends are added except for three old | ||
backends ``FakeRueschlikon``, ``FakeTenerife`` and ``FakeTokyo`` as they | ||
do not have snapshots files available which are required for creating | ||
a new fake backend class based on :class:`~.BackendV2`. | ||
These new V2 fake backends will enable testing and development of new | ||
features introduced by :class:`~qiskit.providers.backend.BackendV2` and | ||
:class:`~qiskit.transpiler.Target` such as improving the transpiler. |
8 changes: 8 additions & 0 deletions
8
releasenotes/notes/0.20/add-xxminusyy-gate-63e6530c23500de9.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
features: | ||
- | | ||
Added a new gate gate class :class:`~qiskit.circuit.library.XXMinusYYGate` | ||
to the circuit library (:mod:`qiskit.circuit.library`) for the XX-YY | ||
interaction. This gate can be used to implement the | ||
`bSwap gate <https://arxiv.org/abs/1208.1287>`__ and its powers. It also | ||
arises in the simulation of superconducting fermionic models. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
|
||
features: | ||
- | | ||
Added new gate class, :class:`~qiskit.circuit.library.XXPlusYYGate`, to | ||
the circuit library (:mod:`qiskit.circuit.library`). This gate is a | ||
2-qubit parameterized XX+YY interaction, also known as an XY gate, and is | ||
based on the gate described in https://arxiv.org/abs/1912.04424. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
...senotes/notes/0.20/bogota-manila-rome-santiago-as-fakepulsebackends-2907dec149997a27.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
features: | ||
- | | ||
The ``FakeBogota``, ``FakeManila``, ``FakeRome``, and ``FakeSantiago`` fake | ||
backends which can be found in the ``qiskit.providers.fake_provider`` module can now be | ||
used as backends in Pulse experiments as they now include a | ||
:class:`~qiskit.providers.models.PulseDefaults` created from a snapshot of | ||
the equivalent IBM Quantum machine's properties. |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
36 changes: 36 additions & 0 deletions
36
releasenotes/notes/0.20/cleanup-deprecated-circuitmeth-89edb244f572b754.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
upgrade: | ||
- | | ||
The previously deprecated ``MSGate`` gate class previously found in | ||
:mod:`qiskit.circuit.library` has been removed. It was originally deprecated in the | ||
0.16.0 release. Instead the :class:`~qiskit.circuit.library.GMS` class should be used, as | ||
this allows you to create an equivalent 2 qubit MS gate in addition to | ||
an MSGate for any number of qubits. | ||
- | | ||
The previously deprecated ``mirror()`` method of the :class:`~qiskit.circuit.Instruction` | ||
class has been removed. It was originally deprecated in 0.15.0 release. Instead you should | ||
use :meth:`.Instruction.reverse_ops`. | ||
- | | ||
The previously deprecated ``num_ancilla_qubits()`` method of the | ||
:class:`qiskit.circuit.library.PiecewiseLinearPauliRotations` and | ||
:class:`qiskit.circuit.library.WeightedAdder` classes has been removed. It was originally | ||
deprecated in the 0.16.0 release. Instead the | ||
:meth:`.PiecewiseLinearPauliRotations.num_ancillas` and :meth:`.WeightedAdder.num_ancillas` | ||
methods should be used. | ||
- | | ||
The previously deprecated ``reverse`` argument on the constructor for the | ||
:class:`~qiskit.circuit.library.PolynomialPauliRotations` class has been removed. It | ||
was originally deprecated in the 0.15.0 release. Instead you should use the | ||
:meth:`.QuantumCircuit.reverse_bits` method to reverse the | ||
:class:`~qiskit.circuit.library.PolynomialPauliRotations` circuit if needed. | ||
- | | ||
The previously deprecated ``angle`` argument on the constructors for the | ||
:class:`~qiskit.circuit.library.C3SXGate` and :class:`~qiskit.circuit.library.C3XGate` | ||
gate classes has been removed. It was originally deprecated in the 0.17.0 release. Instead | ||
for fractional 3-controlled X gates you can use the :meth:`.C3XGate.power` method. | ||
- | | ||
Support for using ``np.ndarray`` objects as part of the :attr:`~qiskit.circuit.Gate.params` attribute | ||
of a :class:`~qiskit.circuit.Gate` object has been removed. This has been deprecated | ||
since Qiskit Terra 0.16.0 and now will no longer work. Instead one should create a new subclass | ||
of :class:`~qiskit.circuit.Gate` and explicitly allow a ``np.ndarray`` input by overloading the | ||
:meth:`~.Gate.validate_parameter` method. |
18 changes: 18 additions & 0 deletions
18
releasenotes/notes/0.20/consolidate-blocks-target-aware-6482e65d6ee2d18c.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- | ||
|
||
features: | ||
- | | ||
The :class:`~qiskit.transpiler.passes.ConsolidateBlocks` pass has a new | ||
keyword argument on its constructor, ``target``. This argument is used to | ||
specify a :class:`~qiskit.transpiler.Target` object representing the | ||
compilation target for the pass. If it is specified it supersedes the | ||
``basis_gates`` kwarg. If a target is specified, the pass will respect the | ||
gates and qubits for the instructions defined in the | ||
:class:`~qiskit.transpiler.Target` when deciding which gates to consolidate | ||
into a unitary. | ||
- | | ||
The :class:`~qiskit.transpiler.Target` class has a new method, | ||
:meth:`~qiskit.transpiler.Target.instruction_supported` which is used | ||
to query the target to see if an instruction (the combination of an | ||
operation and the qubit(s) it is executed on) is supported on the backend | ||
modelled by the :class:`~qiskit.transpiler.Target`. |
File renamed without changes.
Oops, something went wrong.