Skip to content

Commit

Permalink
Release notes for Terra 0.21rc1 (#8227)
Browse files Browse the repository at this point in the history
* Fix typos in release notes

* Remove release notes from 0.20.x patches

* Update releasenotes/notes/delay-fake-backends-3f68c074e85d531f.yaml

* Update add_check_from_sparse_list-97f13fde87c7bcb6.yaml

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
  • Loading branch information
jakelishman and mtreinish authored Jun 23, 2022
1 parent a5b5f81 commit f51dd9c
Show file tree
Hide file tree
Showing 54 changed files with 112 additions and 303 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ features:
which partition these operators into sublists where each element commutes with all the others.
For example::
.. code-block:: python
from qiskit.quantum_info import PauliList, SparsePauliOp
groups = PauliList(["XX", "YY", "IZ", "ZZ"]).group_commuting()
Expand Down
12 changes: 2 additions & 10 deletions releasenotes/notes/add-overloading@-3fedb7bc2fd4d7f7.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
---
features:
- |
Adds a ``@`` (``__matmul__``) binary operator to ``BaseOperator`` subclasses
Added the ``@`` (``__matmul__``) binary operator to ``BaseOperator`` subclasses
in the :mod:`qiskit.quantum_info` module. This is shorthand to call the
classes ``dot`` method (``A @ B == A.dot(B)``).
Example
.. code:: python
from qiskit.quantum_info import Pauli
Pauli("X") @ Pauli("Y")
classes' ``dot`` method (``A @ B == A.dot(B)``).
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
---
features:
- |
New pulse base class :class:`~SymbolicPulse` has been added. This is a
replacement of the conventional :class:`~ParametricPulse` which will be deprecated.
In new base class, pulse envelope and parameter validation functions are
represented by symbolic expression objects, which are lambidfied immediately when
corresponding methods are called for the first time.
The new class provides a self-contained and portable pulse data since these symbolic equations
Added a new pulse base class :class:`.SymbolicPulse`. This is a
replacement of the conventional :class:`.ParametricPulse`, which will be deprecated.
In the new base class, pulse-envelope and parameter-validation functions are
represented by symbolic-expression objects.
The new class provides self-contained and portable pulse data since these symbolic equations
can be easily serialized through symbolic computation libraries.
QPY serialization support of these pulses is planned.
upgrade:
- |
Importing pulse class from ``qiskit.pulse.library.*`` now import :class:`~SymbolicPulse`
subclass rather than :class:`~ParametricPulse` subclass.
There are same set of pulse subclass in the symbolic pulse module,
The pulse classes in :mod:`qiskit.pulse.library` are now subclasses of
:class:`.SymbolicPulse` rather than :class:`.ParametricPulse`. The available
classes remain unchanged as
:class:`~qiskit.pulse.library.Gaussian`,
:class:`~qiskit.pulse.library.GaussianSquare`,
:class:`~qiskit.pulse.library.Drag`, and
:class:`~qiskit.pulse.library.Constant`.
Becasue :class:`~SymbolicPulse` supports full backward compatibility,
there is no loss of functionality due to the switching of the base class.
:class:`.SymbolicPulse` has full backward compatibility, and there should be
no loss of functionality.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
features:
- |
Added the support of non-hermitian operators for :class:`~qiskit.opflow.AerPauliExpectation`.
This for instance enables using Aer's fast snapshot expectation value in algorithms such as
:class:`~qiskit.algorithms.QEOM`.
Added support for non-Hermitian operators in :class:`.AerPauliExpectation`.
This allows the use of Aer's fast snapshot expectation computations in
algorithms such as :class:`~qiskit.algorithms.QEOM`.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
features:
fixes:
- |
Allow checking for duplicate qubit indices in :meth:`~qiskit.quantum_info.SparsePauliOp.from_sparse_list`.
The checks can be turned off by setting the new keyword argument ``do_checks`` to ``False``
(it is ``True`` per default).
Duplicate qubit indices given to :meth:`.SparsePauliOp.from_sparse_list` will now
correctly raise an error, instead of silently overwriting previous values.
The old behavior can be accessed by passing the new keyword argument ``do_checks=False``.
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ upgrade:
- |
The data type of each element in :attr:`.QuantumCircuit.data` has changed.
It used to be a simple 3-tuple of an :class:`~.circuit.Instruction`, a list
of :class:`.Qubit`\ s, and a list of `:class:`.Clbit`\ s, whereas it is now
of :class:`.Qubit`\ s, and a list of :class:`.Clbit`\ s, whereas it is now
an instance of :class:`.CircuitInstruction`.
The attributes of this new class are :attr:`~.CircuitInstruction.operation`,
:attr:`~.CircuitInstruction.qubits` and :attr:`~.CircuitInstruction.clbits`,
corresponding to the elements of the previous tuple. However,
:attr:`~.CircuitInstruction.qubits` and :attr:`~.CircuitInstruction.clbits`
are now `tuple` instances, not `list`\ s.
are now ``tuple`` instances, not ``list``\ s.
This new class will behave exactly like the old 3-tuple if one attempts to
access its index its elements, or iterate through it. This includes casting
Expand Down
23 changes: 11 additions & 12 deletions releasenotes/notes/cleanup-timeline-drawer-a6287bdab4459e6e.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
---
features:
- |
New attribute :attr:`op_start_times` has been added to :class:`~QuantumCircuit`.
This information is populated when one of scheduling analysis passes is run on the circuit.
It can be used to obtain circuit instruction with instruction time, for example:
.. code-block:: python
A new attribute :attr:`.QuantumCircuit.op_start_times`
is populated when one of scheduling analysis passes is run on the circuit.
It can be used to obtain circuit instruction with instruction time, for example::
from qiskit import QuantumCircuit, transpile
from qiskit.test.mock import FakeMontreal
from qiskit.providers.fake_provider import FakeMontreal
backend = FakeMontreal()
Expand All @@ -23,11 +21,12 @@ features:
fixes:
- |
Time misalignment bug of drawing classical register with :func:`~timeline_drawer`
has been fixed. Now classical register slots are drawn at correct position.
The :func:`.timeline_drawer` visualization will no longer misalign classical
register slots.
deprecations:
- |
Calling :func:`~timeline_drawer` with unscheduled circuit has been deprecated.
All circuits, e.g. even though one consisting only of delay instructions,
must be transpiled with ``scheduling_method`` option to generate
schedule information being stored in :attr:`QuantumCircuit.op_start_times`.
Calling :func:`.timeline_drawer` with an unscheduled circuit has been deprecated.
All circuits, even one consisting only of delay instructions,
must be transpiled with the ``scheduling_method`` keyword argument of
:func:`.transpile` set, to generate schedule information being stored in
:attr:`.QuantumCircuit.op_start_times`.
16 changes: 7 additions & 9 deletions releasenotes/notes/clear-circuit-b8edd4126f47d75a.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
---
features:
- |
Added a new method :py:meth:`.QuantumCircuit.clear` which is used to to erase all instructions
from a QuantumCircuit. We clear both the data and the parameter table.
Added a new method :meth:`.QuantumCircuit.clear` which is used to remove all instructions
from a :class:`.QuantumCircuit`.
- |
Added a new method :py:meth:`QuantumCircuit.copy_empty_like` which is used to get a cleared copy of a
:class:`~.QuantumCircuit` instnace. This is logically equivalent to `qc.copy().clear()` however, it is done
avoiding a deepcopy of the original QuantumCircuit, and therefore it is more efficient. This functionality
already implemented for :class:`~.DAGCircuit`, and retains all relevant circuit properties other than the
instructions and associated parameters (e.g. registers, bits, name, metadata). Unlike the
:meth:`.DAGCircuit.copy_empty_like` method, this new :class:`~.QuantumCircuit` method allows for
an optional parameter to update the name of the copied circuit, mimicking ``qc.copy(name)``.
Added a new method :meth:`.QuantumCircuit.copy_empty_like` which is used to get a cleared copy of a
:class:`~.QuantumCircuit` instance. This is logically equivalent to ``qc.copy().clear()``, but
significantly faster and more memory-efficient. This is useful when one needs a new empty
circuit with all the same resources (qubits, classical bits, metadata, and so on) already
added.
7 changes: 0 additions & 7 deletions releasenotes/notes/clifford_delay-be1a835413e2531e.yaml

This file was deleted.

12 changes: 4 additions & 8 deletions releasenotes/notes/delay-fake-backends-3f68c074e85d531f.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
---
fixes:
- |
The :class:`~.BackendV2` based fake backends in
The :class:`~.BackendV2`\ -based fake backends in
the :mod:`qiskit.providers.fake_provider` module, such as
``FakeMontrealV2``, previously were missing the :class:`~qiskit.circuit.Delay` operation
support from their :attr:`~.BackendV2.target` attribute. This prevented
compiling some :class:`~.QuantumCircuit` objects that contained
:class:`~qiskit.circuit.Delay` instructions to these backends. This has been corrected
by adding the :class:`~qiskit.circuit.Delay` to the :class:`~.Target` object for each
fake backend to ensure that the compiler knows that :class:`~qiskit.circuit.Delay` is
a valid operation on the fake backends.
:class:`.FakeMontrealV2`, now support the :class:`~qiskit.circuit.Delay` operation
in their :attr:`~.BackendV2.target` attributes. Previously, :class:`.QuantumCircuit` objects
that contained delays could not be compiled to these backends.
14 changes: 7 additions & 7 deletions releasenotes/notes/deprecate-nx-dag-f8a8d947186222c2.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
---
deprecations:
- |
The `NetworkX <https://networkx.org/>`_ converter function for the
:class:`~.DAGCircuit`, :meth:`~.DAGCircuit.to_networkx` and
The `NetworkX <https://networkx.org/>`__ converter functions for the
:meth:`.DAGCircuit.to_networkx` and
:meth:`~.DAGCircuit.from_networkx`, along with the
:meth:`.DAGDependency.to_networkx` method have been deprecated and will be
removed in a future release. Qiskit has been using
`retworkx <https://qiskit.org/documentation/retworkx/>`__ as its graph
library since the qiskit-terra 0.12.0 release and since then the networkx
converter function have been a lossy process. They were originally added so
that users could leverage NetworkX's algorithms library to leverage
functionality not present in retworkx. Since that time retworkx has matured
and offers more functionality and the :class:`~.DAGCircuit` is tightly
library since the qiskit-terra 0.12.0 release, and since then the networkx
converter functions have been lossy. They were originally added so
that users could leverage functionality in NetworkX's algorithms library
not present in retworkx. Since that time, retworkx has matured
and offers more functionality, and the :class:`~.DAGCircuit` is tightly
coupled to retworkx for its operation. Having these converter methods
provides limited value moving forward and are therefore going to be
removed in a future release.
20 changes: 7 additions & 13 deletions releasenotes/notes/feature-trotter-qrte-f7b28c4fd4b361d2.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,17 @@
---
features:
- |
Added Trotterization-based Quantum Real Time Evolution Algorithm
:class:`qiskit.algorithms.TrotterQRTE`. It is compliant with the new Quantum Time Evolution
Framework and makes use of :class:`qiskit.synthesis.evolution.ProductFormula` and
:class:`qiskit.circuit.library.PauliEvolutionGate` implementations.
Added a Trotterization-based quantum real-time evolution algorithm
:class:`qiskit.algorithms.TrotterQRTE`. It is compliant with the new quantum time evolution
framework and makes use of the :class:`.ProductFormula` and
:class:`.PauliEvolutionGate` implementations.
.. code-block:: python
from qiskit.algorithms import EvolutionProblem
from qiskit.algorithms.evolvers.trotterization import (
TrotterQRTE,
)
from qiskit.opflow import (
X,
Z,
StateFn,
SummedOp,
)
from qiskit.algorithms.evolvers.trotterization import TrotterQRTE
from qiskit.opflow import X, Z, StateFn, SummedOp
operator = SummedOp([X, Z])
initial_state = StateFn([1, 0])
time = 1
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
fixes:
- |
Fix a bug in TridiagonalToeplitz.eigs_bounds() method, which caused
a returning of wrong eigenvalues bounds in some cases with negative
eigenvalues. Refer to `#7939 <https://github.com/Qiskit/qiskit-terra/issues/7939>`
for more details.
Fixed a bug in :meth:`.TridiagonalToeplitz.eigs_bounds`, which caused
incorrect eigenvalue bounds to be returned in some cases with negative
eigenvalues. Refer to `#7939 <https://github.com/Qiskit/qiskit-terra/issues/7939>`__
for more details.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
fixes:
- |
Fixed a bug in which the latex state vector drawer ignores the `max_size`
Fixed a bug in which the LaTeX statevector drawer ignored the ``max_size``
parameter.

This file was deleted.

This file was deleted.

8 changes: 0 additions & 8 deletions releasenotes/notes/fix-plot-error-map-f3b4cc754b589d8f.yaml

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ fixes:
:class:`~.ControlledGate` objects. Previously, an exception would be raised
by :func:`.qpy.load` when trying to reconstruct the custom
:class:`~.ControlledGate`.
Fixed `#7999 <https://github.com/Qiskit/qiskit-terra/issues/7999>`__
Fixed `#7999 <https://github.com/Qiskit/qiskit-terra/issues/7999>`__.
- |
Fixed support for QPY serialization (:func:`.qpy.dump`) and deserialization
(:func:`.qpy.load`) of a :class:`~.QuantumCircuit` object containing custom
Expand Down

This file was deleted.

9 changes: 0 additions & 9 deletions releasenotes/notes/fix-sabreswap-clbits-428eb5f3a46063da.yaml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
fixes:
- |
Fixed the ``t2`` attribute of ``qiskit.providers.fake_provider.ConfigurableFakeBackend``,
which was previously incorrectly set based on the provided ``t1``.
Fixed the :attr:`.ConfigurableFakeBackend.t2` attribute,
which was previously incorrectly set based on the provided ``t1`` value.
4 changes: 2 additions & 2 deletions releasenotes/notes/fix-target-dt-4d306f1e9b07f819.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
fixes:
- |
Fixed an issue with :class:`~.BackendV2` based fake backend classes from the
``qiskit.providers.fake_provider`` module such as ``FakeMontrealV2`` where the
Fixed an issue with :class:`~.BackendV2`\ -based fake backend classes from the
:mod:`qiskit.providers.fake_provider` module such as :class:`.FakeMontrealV2` where the
value for the :attr:`~.BackendV2.dt` attribute (and the :attr:`.Target.dt` attribute)
were not properly being converted to seconds. This would cause issues when
using these fake backends with scheduling.

This file was deleted.

Loading

0 comments on commit f51dd9c

Please sign in to comment.