-
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.16.0 release This commit moves the release notes into a 0.16 subdirectory to keep them separate from development notes post-release. It also adds an incomplete release note to add the prelude section providing the high level overview of the release. When this merges it should be the commit used to to tag the 0.16.0 release. * Move new notes from rebase * Move new release notes * Move new release notes * Start rewriting release notes * Add classicalfunction docs * Fix classicalfunction docs * Fix circular import issues * Fix classical function doc formatting * Remove stray files accidentally commited * Add LinearAmplitudeFunction to docs * More release note updates * Fix template optimization pass docs * Even more release note rewrites * Update release notes except for fixes * Move new release notes and add parameter type checking release notes * Fix most of the bug fix release notes (5 left) * Finish bug fix release notes * Update 0.16.0-release-a06d0e1c3b705bda.yaml * Fix formatting in prelude * Preserve whitespace for bulleted list * Apply suggestions from code review Co-authored-by: Lauren Capelluto <[email protected]> * Apply suggestions from code review Co-authored-by: Lauren Capelluto <[email protected]> * Update releasenotes/notes/0.16/0.16.0-release-a06d0e1c3b705bda.yaml Co-authored-by: Lauren Capelluto <[email protected]> * Apply suggestions from code review Co-authored-by: Kevin Krsulich <[email protected]> * Add missing whitespace after highlights bulleted list in prelude * Apply suggestions from code review Co-authored-by: Kevin Krsulich <[email protected]> * Apply suggestions from code review Co-authored-by: Kevin Krsulich <[email protected]> * Remove backported release notes * Remove more backported notes Co-authored-by: Julien Gacon <[email protected]> Co-authored-by: Ali Javadi-Abhari <[email protected]> Co-authored-by: Lauren Capelluto <[email protected]> Co-authored-by: Kevin Krsulich <[email protected]>
- Loading branch information
1 parent
cf0b039
commit 160574a
Showing
93 changed files
with
801 additions
and
623 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
.. _qiskit-circuit-classicalfunction: | ||
|
||
.. automodule:: qiskit.circuit.classicalfunction | ||
: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
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
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
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
61 changes: 61 additions & 0 deletions
61
releasenotes/notes/0.16/0.16.0-release-a06d0e1c3b705bda.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,61 @@ | ||
--- | ||
prelude: | | ||
The 0.16.0 release includes serveral new features and bug fixes. The | ||
major features in this release are the following: | ||
* Introduction of scheduled circuits, where delays can be used to control | ||
the timing and alignment of operations in the circuit. | ||
* Compilation of quantum circuits from classical functions, such as | ||
oracles. | ||
* Ability to compile and optimize single qubit rotations over different | ||
Euler basis as well as the phase + square-root(X) basis (i.e. | ||
``['p', 'sx']``), which will replace the older IBM Quantum basis of | ||
``['u1', 'u2', 'u3']``. | ||
* Tracking of :meth:`~qiskit.circuit.QuantumCircuit.global_phase` on the | ||
:class:`~qiskit.circuit.QuantumCircuit` class has been extended through | ||
the :mod:`~qiskit.transpiler`, :mod:`~qiskit.quantum_info`, and | ||
:mod:`~qiskit.assembler` modules, as well as the BasicAer and Aer | ||
simulators. Unitary and state vector simulations will now return global | ||
phase-correct unitary matrices and state vectors. | ||
Also of particular importance for this release is that Python 3.5 is no | ||
longer supported. If you're are using Qiskit Terra with Python 3.5 the | ||
0.15.2 release is that last version which will work. | ||
upgrade: | ||
- | | ||
Type checking for the ``params`` kwarg of the constructor for the | ||
:class:`~qiskit.circuit.Gate` class and its subclasses has been changed. | ||
Previously all :class:`~qiskit.circuit.Gate` parameters had to be | ||
in a set of allowed types defined in the | ||
:class:`~qiskit.circuit.Instruction` class. Now a new method, | ||
:meth:`~qiskit.circuit.Gate.validate_parameter` is used to determine | ||
if a parameter type is valid or not. The definition of this method in | ||
a subclass will take priority over its parent. For example, | ||
:class:`~qiskit.extensions.UnitaryGate` accepts a parameter of the type | ||
``numpy.ndarray`` and defines a custom | ||
:meth:`~qiskit.extensionst.UnitaryGate.validate_parameter` method that | ||
returns the parameter if it's an ``numpy.ndarray``. This takes priorty | ||
over the function defined in its parent class :class:`~qiskit.circuit.Gate`. | ||
If :class:`~qiskit.extensions.UnitaryGate` were to be used as parent | ||
for a new class, this ``validate_parameter`` method would be used unless | ||
the new child class defines its own method. | ||
deprecations: | ||
- | | ||
The use of a ``numpy.ndarray`` for a parameter in the ``params`` kwarg | ||
for the constructor of the :class:`~qiskit.circuit.Gate` class and | ||
subclasses has been deprecated and will be removed in future releases. This | ||
was done as part of the refactoring of how ``parms`` type checking is | ||
handled for the :class:`~qiskit.circuit.Gate` class. If you have a custom | ||
gate class which is a subclass of :class:`~qiskit.circuit.Gate` directly | ||
(or via a different parent in the hiearchy) that accepts an ``ndarray`` | ||
parameter, you should define a custom | ||
:meth:`~qiskit.circuit.Gate.validate_parameter` method for your class | ||
that will return the allowed parameter type. For example:: | ||
def validate_parameter(self, parameter): | ||
"""Custom gate parameter has to be an ndarray.""" | ||
if isinstance(parameter, numpy.ndarray): | ||
return parameter | ||
else: | ||
raise CircuitError("invalid param type {0} in gate " | ||
"{1}".format(type(parameter), self.name)) |
13 changes: 13 additions & 0 deletions
13
...-Results-object-should-inform-user-if-multiple-results-of-same-name-5757be483b0979c3.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: | ||
- | | ||
The :class:`~qiskit.result.Result` class's methods | ||
:meth:`~qiskit.result.Result.data`, :meth:`~qiskit.result.Result.get_memory`, | ||
:meth:`~qiskit.result.Result.get_counts`, :meth:`~qiskit.result.Result.get_unitary`, | ||
and :meth:`~qiskit.result.Result.get_statevector ` will now emit a warning | ||
when the ``experiment`` kwarg is specified for attempting to fetch | ||
results using either a :class:`~qiskit.circuit.QuantumCircuit` or | ||
:class:`~qiskit.pulse.Schedule` instance, when more than one entry matching | ||
the instance name is present in the ``Result`` object. Note that only the | ||
first entry matching this name will be returned. Fixes | ||
`#3207 <https://github.com/Qiskit/qiskit-terra/issues/3207>`__ |
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,32 @@ | ||
--- | ||
upgrade: | ||
- | | ||
The previously deprecated methods, arguments, and properties named | ||
``n_qubits`` and ``numberofqubits`` have been removed. These were | ||
deprecated in the 0.13.0 release. The full set of changes are: | ||
.. list-table:: | ||
:header-rows: 1 | ||
* - Class | ||
- Old | ||
- New | ||
* - :class:`~qiskit.circuit.QuantumCircuit` | ||
- ``n_qubits`` | ||
- :class:`~qiskit.circuit.QuantumCircuit.num_qubits` | ||
* - :class:`~qiskit.quantum_info.Pauli` | ||
- ``numberofqubits`` | ||
- :attr:`~qiskit.quantum_info.Pauli.num_qubits` | ||
.. list-table:: | ||
:header-rows: 1 | ||
* - Function | ||
- Old Argument | ||
- New Argument | ||
* - :func:`qiskit.circuit.random.random_circuit` | ||
- ``n_qubits`` | ||
- ``num_qubits`` | ||
* - :class:`qiskit.circuit.library.MSGate` | ||
- ``n_qubits`` | ||
- ``num_qubits`` |
18 changes: 18 additions & 0 deletions
18
releasenotes/notes/0.16/4697-append-method-d4dc03b70257e99b.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 @@ | ||
--- | ||
fixes: | ||
- | | ||
The :class:`qiskit.circuit.QuantumCircuit` method | ||
:meth:`~qiskit.circuit.QuantumCircuit.append` can now be used to insert one | ||
parameterized gate instance into multiple circuits. This fixes a previous | ||
issue where inserting a single parameterized | ||
:class:`~qiskit.circuit.Gate` object into multiple circuits would | ||
cause failures when one circuit had a parameter assigned. | ||
Fixes `#4697 <https://github.com/Qiskit/qiskit-terra/issues/4697>`__ | ||
upgrade: | ||
- | | ||
Inserting a parameterized :class:`~qiskit.circuit.Gate` instance into | ||
a :class:`~qiskit.circuit.QuantumCircuit` now creates a copy of that | ||
gate which is used in the circuit. If changes are made to the instance | ||
inserted into the circuit it will no longer be reflected in the gate in | ||
the circuit. This change was made to fix an issue when inserting a single | ||
parameterized :class:`~qiskit.circuit.Gate` object into multiple circuits. |
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 @@ | ||
--- | ||
fixes: | ||
- | | ||
Previously the :func:`qiskit.execute.execute` function would incorrectly | ||
disallow both the ``backend`` and ``pass_manager`` kwargs to be | ||
specified at the same time. This has been fixed so that both | ||
``backend`` and ``pass_manager`` can be used together on calls to | ||
:func:`~qiskit.execute.execute`. | ||
Fixes `#5037 <https://github.com/Qiskit/qiskit-terra/issues/5037>`__ |
32 changes: 32 additions & 0 deletions
32
releasenotes/notes/0.16/add-globalR-gates-13dd2860618e5c3f.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,32 @@ | ||
--- | ||
features: | ||
- | | ||
Global R gates have been added to :mod:`qiskit.circuit.library`. This | ||
includes the global R gate (:class:`~qiskit.circuit.library.GR`), | ||
global Rx (:class:`~qiskit.circuit.library.GRX`) and global Ry | ||
(:class:`~qiskit.circuit.library.GRY`) gates which are derived from the | ||
:class:`~qiskit.circuit.library.GR` gate, and global Rz ( | ||
:class:`~qiskit.circuit.library.GRZ`) that is defined in a similar way | ||
to the :class:`~qiskit.circuit.library.GR` gates. The global R gates are | ||
defined on a number of qubits simultaneously, and act as a direct sum of | ||
R gates on each qubit. | ||
For example: | ||
.. code-block :: python | ||
from qiskit import QuantumCircuit, QuantumRegister | ||
import numpy as np | ||
num_qubits = 3 | ||
qr = QuantumRegister(num_qubits) | ||
qc = QuantumCircuit(qr) | ||
qc.compose(GR(num_qubits, theta=np.pi/3, phi=2*np.pi/3), inplace=True) | ||
will create a :class:`~qiskit.circuit.QuantumCircuit` on a | ||
:class:`~qiskit.circuit.QuantumRegister` of 3 qubits and perform a | ||
:class:`~qiskit.circuit.library.RGate` of an angle | ||
:math:`\theta = \frac{\pi}{3}` about an axis in the xy-plane of the Bloch | ||
spheres that makes an angle of :math:`\phi = \frac{2\pi}{3}` with the x-axis | ||
on each qubit. |
Oops, something went wrong.