Skip to content

Commit

Permalink
Release Notes 0.5 (#1057)
Browse files Browse the repository at this point in the history
### Summary
- Aggregated and updated release notes for 0.5
- Added the test pulse backends and `CliffordUtils` to docs
- Regularized release notes to past tense ("Fixed error..." instead of
"Fixes error...")

---------

Co-authored-by: Yael Ben-Haim <[email protected]>
Co-authored-by: Will Shanks <[email protected]>
  • Loading branch information
3 people authored Mar 28, 2023
1 parent f01b2d6 commit d04d99e
Show file tree
Hide file tree
Showing 82 changed files with 277 additions and 272 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,14 @@
RBAnalysis
InterleavedRBAnalysis
Utilities
=========
.. autosummary::
:toctree: ../stubs/
RBUtils
CliffordUtils
"""
from .standard_rb import StandardRB
from .interleaved_rb_experiment import InterleavedRB
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.
"""
Utilities for using the Clifford group in randomized benchmarking
Utilities for using the Clifford group in randomized benchmarking.
"""

import itertools
Expand Down Expand Up @@ -174,7 +174,7 @@ def _define(self):


class CliffordUtils:
"""Utilities for generating 1 and 2 qubit clifford circuits and elements"""
"""Utilities for generating one- and two-qubit Clifford circuits and elements."""

NUM_CLIFFORD_1_QUBIT = 24
NUM_CLIFFORD_2_QUBIT = 11520
Expand All @@ -197,13 +197,13 @@ def clifford_1_qubit(cls, num):
@classmethod
@lru_cache(maxsize=11520)
def clifford_2_qubit(cls, num):
"""Return the 2-qubit clifford element corresponding to `num`
where `num` is between 0 and 11519.
"""Return the 2-qubit clifford element corresponding to ``num``,
where ``num`` is between 0 and 11519.
"""
return Clifford(cls.clifford_2_qubit_circuit(num), validate=False)

@deprecated_function()
@classmethod
@deprecated_function("0.6")
def random_cliffords(
cls, num_qubits: int, size: int = 1, rng: Optional[Union[int, Generator]] = None
):
Expand All @@ -222,8 +222,8 @@ def random_cliffords(

return [random_clifford(num_qubits, seed=rng) for _ in range(size)]

@deprecated_function()
@classmethod
@deprecated_function("0.6")
def random_clifford_circuits(
cls, num_qubits: int, size: int = 1, rng: Optional[Union[int, Generator]] = None
):
Expand All @@ -245,8 +245,8 @@ def random_clifford_circuits(
@classmethod
@lru_cache(maxsize=24)
def clifford_1_qubit_circuit(cls, num, basis_gates: Optional[Tuple[str, ...]] = None):
"""Return the 1-qubit clifford circuit corresponding to `num`
where `num` is between 0 and 23.
"""Return the 1-qubit clifford circuit corresponding to ``num``,
where ``num`` is between 0 and 23.
"""
unpacked = cls._unpack_num(num, cls.CLIFFORD_1_QUBIT_SIG)
i, j, p = unpacked[0], unpacked[1], unpacked[2]
Expand Down
2 changes: 2 additions & 0 deletions qiskit_experiments/test/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
.. autosummary::
:toctree: ../stubs/
PulseBackend
SingleTransmonTestBackend
MockIQBackend
MockIQParallelBackend
T2HahnBackend
Expand Down
2 changes: 1 addition & 1 deletion qiskit_experiments/warnings.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def deprecated_function(
"""A function or method decorator to show deprecation warning.
Args:
last_version: The last Qiskit Experiment version that will have this fucntion.
last_version: The last Qiskit Experiment version that will have this function.
msg: Extra message, for example, to indicate an alternative approach.
stacklevel: Stacklevel of this warning. See Python Warnings documentation for details.
Expand Down
2 changes: 1 addition & 1 deletion releasenotes/notes/0.2/0_2_release-eef5e3ba256fc750.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ upgrade:
0.1 API may not be able to be loaded using Qiskit Experiments 0.2.
developer:
- |
Adds hooks for serialization and deserialization of custom classes to
Added hooks for serialization and deserialization of custom classes to
the JSON :class:`qiskit_experiments.framework.ExperimentEncoder`
and :class:`qiskit_experiments.framework.ExperimentDecoder`.
To enable serialization classes must implement a method
Expand Down
6 changes: 3 additions & 3 deletions releasenotes/notes/0.2/base-experiment-14eba2646ef0f0b9.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ features:
instance for that experiment will be used. Setting ``analysis=None`` disables
analysis for the specific execution.
- |
Add ``backend`` as an optional ``__init__`` kwarg for all experiments to
Added ``backend`` as an optional ``__init__`` kwarg for all experiments to
allow setting the backend at initialization. The backand can also be set
and retrieved from the experiment object after construction using the
:meth:`~qiskit_experiments.framework.BaseExperiment.backend`
Expand All @@ -20,15 +20,15 @@ features:
a backend this will temporarily override any currently set backends
for that single execution.
- |
Add :class:`~qiskit_experiments.framework.ExperimentConfig` dataclass
Added :class:`~qiskit_experiments.framework.ExperimentConfig` dataclass
for storing the configuration of an experiment. This configuration can
be obtained by using the
:meth:`~qiskit_experiments.framework.BaseExperiment.config` property.
Experiments can also be reconstructed from their configuration using
the :meth:`~qiskit_experiments.framework.BaseExperiment.from_config`
class method.
- |
Adds automatic job splitting to
Added automatic job splitting to
:class:`~qiskit_experiments.framework.BaseExperiment` for execution of
experiments with a larger number of circuits than can be run in a single
job on the target backend. This enables running large experiments on
Expand Down
8 changes: 4 additions & 4 deletions releasenotes/notes/0.2/experiment-data-5465208160fe6b6a.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
features:
- |
Adds
Added
:meth:`~qiskit_experiments.database_service.DbExperimentData.add_analysis_callback`
method to :class:`~qiskit_experiments.framework.ExperimentData`
for adding a post-processing analysis function to run as a callback after
Expand Down Expand Up @@ -44,14 +44,14 @@ features:
:meth:`~qiskit_experiments.framework.ExperimentData.data` and
metadata, but not the analysis results and figures.
- |
Adds methods
Added methods
:meth:`~qiskit_experiments.framework.ExperimentData.add_tags_recursive` and
:meth:`~qiskit_experiments.framework.ExperimentData.remove_tags_recursive`
to :class:`qiskit_experiments.framework.ExperimentData` for adding and
removing tags of an experiment data object and all its
:meth:`~qiskit_experiments.framework.ExperimentData.child_data`.
- |
Adds support for saving and loading
Added support for saving and loading
:class:`qiskit_experiments.framework.ParallelExperiment`
and :class:`qiskit_experiments.framework.BatchExperiment` experiment data
and all component experiment data and results from the IBM experiments
Expand Down Expand Up @@ -100,7 +100,7 @@ upgrade:
method instead.
fixes:
- |
Fixes a bug where the
Fixed a bug where the
:meth:`qiskit_experiments.framework.ExperimentData.load` method
would return an
:class:`~qiskit_experiments.database_service.DbExperimentDataV1` object
Expand Down
6 changes: 3 additions & 3 deletions releasenotes/notes/0.2/library-26e6cf3dfbc3acb3.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
features:
- |
Adds a collection of experiments for performing single-qubit gate
Added a collection of experiments for performing single-qubit gate
:mod:`~qiskit_experiments.library.characterization` and
:mod:`~qiskit_experiments.library.calibration`. The new experiments are
Expand Down Expand Up @@ -103,7 +103,7 @@ features:
or an echoed cross-resonance gate
(:class:`~qiskit_experiments.library.EchoedResonanceHamiltonian`).
- |
Adds a :class:`qiskit_experiments.library.ReadoutAngle` characterization
Added a :class:`qiskit_experiments.library.ReadoutAngle` characterization
experiment. This experiment computes the average of the angles of the IQ
clusters of the ground and excited states.
- |
Expand Down Expand Up @@ -150,7 +150,7 @@ upgrade:
using ``experiment.set_experiment_options(seed=value)``.
fixes:
- |
Fixes a bug in :class:`~qiskit_experiments.library.StandardRB` and
Fixed a bug in :class:`~qiskit_experiments.library.StandardRB` and
:class:`~qiskit_experiments.library.InterleavedRB` where the variance in
the estimated error per Clifford did not scale correctly with the number
of sampled RB sequences.
Expand Down
2 changes: 1 addition & 1 deletion releasenotes/notes/0.3/0_3_release-ba3ac7fef95aa042.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ prelude: >
storing and loading of experiments to and from the IBM experiment database service.
features:
- |
Adds an ``analysis`` kwarg to :class:`.CompositeExperiment`, :class:`.BatchExperiment`
Added an ``analysis`` kwarg to :class:`.CompositeExperiment`, :class:`.BatchExperiment`
and :class:`.ParallelExperiment` to allow a user to supply a custom
:class:`.CompositeAnalysis` instance.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
fixes:
- |
Fixes a bug in the :class:`.InterleavedRB` experiment where a :class:`.Delay` instruction,
Fixed a bug in the :class:`.InterleavedRB` experiment where a :class:`.Delay` instruction,
or a Clifford circuit containing delay instructions, could not be used as the interleaved element.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
features:
- |
Adds :meth:`.CompositeAnalysis.component_analysis` method for accessing
Added :meth:`.CompositeAnalysis.component_analysis` method for accessing
a component analysis class object from a composite analysis object.
upgrade:
- |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
features:
- |
Adds a ``flatten_results`` init kwarg to :class:`.CompositeAnalysis`,
Added a ``flatten_results`` init kwarg to :class:`.CompositeAnalysis`,
:class:`.CompositeExperiment`, :class:`.ParallelExperiment`, and
:class:`.BatchExperiment` that if set to ``True`` flattens all analysis
results and figures from component experiment analysis into the main
Expand Down
2 changes: 1 addition & 1 deletion releasenotes/notes/0.3/cvxpy-utils-10ad67668aea82fe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ fixes:
optional so that these functions could be used for fitting raw tomography
fitter data with preparation data but no measurement data.
- |
Fix bug in :class:`.TomographyAnalysis` when accumulating count data
Fixed bug in :class:`.TomographyAnalysis` when accumulating count data
from repeated circuits using the same preparation and measurement basis
configuration.
developer:
Expand Down
2 changes: 1 addition & 1 deletion releasenotes/notes/0.3/exp-finalize-b7ca0a139ad5f872.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
features:
- |
Adds a :meth:`.BaseExperiment._finalize` method to :class:`.BaseExperiment`
Added a :meth:`.BaseExperiment._finalize` method to :class:`.BaseExperiment`
which is after configuring any runtime options, backend, or analysis
classes but before generation and execution of experiment
circuits during :class:`.BaseExperiment.run`.
Expand Down
14 changes: 7 additions & 7 deletions releasenotes/notes/0.3/expdata-futures-87a2ff561375e22b.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,24 @@ features:
experiment can enabled by setting the ``qiskit_experiments`` log level
to ``DEBUG``.
- |
Adds :meth:`.ExperimentData.jobs` method for returning a list of
Added :meth:`.ExperimentData.jobs` method for returning a list of
Qiskit Jobs for a running or finished experiment.
- |
Adds :meth:`.ExperimentData.job_status` method for returning the status
Added :meth:`.ExperimentData.job_status` method for returning the status
of Qiskit Job execution for an experiment. This returns a
:class:`.JobStatus` enum class value.
- |
Adds :meth:`.ExperimentData.analysis_status` method for returning the status
Added :meth:`.ExperimentData.analysis_status` method for returning the status
of analysis callbacks for an experiment. This returns a
:class:`.AnalysisStatus` enum class value.
- |
Adds :meth:`.ExperimentData.cancel_analysis` method to allow cancelling
Added :meth:`.ExperimentData.cancel_analysis` method to allow cancelling
pending analysis callbacks. Note that analysis callbacks that have already
started running cannot be cancelled.
- |
Adds :meth:`.ExperimentData.cancel` to cancel both jobs and analysis.
Added :meth:`.ExperimentData.cancel` to cancel both jobs and analysis.
- |
Adds :meth:`.ExperimentData.add_jobs` method for adding one or more Qiskit
Added :meth:`.ExperimentData.add_jobs` method for adding one or more Qiskit
jobs to experiment data. This method takes an optional ``timeout`` kwarg that
when used will automatically cancel all non-finished jobs that exceed the
alloted time.
Expand All @@ -46,5 +46,5 @@ deprecations:
method.
fixes:
- |
Fixes an issue with :meth:`.ExperimentData.block_for_results` sometimes
Fixed an issue with :meth:`.ExperimentData.block_for_results` sometimes
having a race issue with all analysis callbacks finishing.
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
fixes:
- |
Fixes a bug with the :class:`.ProcessTomography` where the default target
Fixed a bug with the :class:`.ProcessTomography` where the default target
channel analysis option was computed incorrectly if not all qubits were
prepared and measured, and the preparations and measurements were applied
to different subsets of qubits.
See `Issue 758 <https://github.com/Qiskit/qiskit-experiments/issues/758>`_
for details.
- |
Fixes a bug with the :class:`.ProcessTomographyAnalysis` where analysis
Fixed a bug with the :class:`.ProcessTomographyAnalysis` where analysis
would raise an exception if the number of prepared and measurement qubits
are not equal.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
fixes:
- |
Fix :meth:`.ParallelExperiment.copy` and :meth:`.BatchExperiment.copy`
Fixed :meth:`.ParallelExperiment.copy` and :meth:`.BatchExperiment.copy`
so that the copies preserves any references between the original
component experiments analysis classes and the :class:`.CompositeAnalysis`
classes component analysis classes.
- |
Fixes :meth:`.CompositeAnalysis.copy` to recursively make a copy of the
Fixed :meth:`.CompositeAnalysis.copy` to recursively make a copy of the
component analysis classes.
2 changes: 1 addition & 1 deletion releasenotes/notes/0.3/fix-json-main-bedf4b9b18c851ac.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
fixes:
- |
Fixes a bug with JSON deserialization using the :class:`.ExperimentDecoder`
Fixed a bug with JSON deserialization using the :class:`.ExperimentDecoder`
failing to decode custom user classes defined in the ``__main__`` scope of
python scripts and notebooks.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
fixes:
- |
Fixes bug in :class:`.CompositeAnalysis` where analysis of nested
Fixed bug in :class:`.CompositeAnalysis` where analysis of nested
composite experiments could raise a RuntimeError.
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ upgrade:
measurement outcomes for the measurement bases.
fixes:
- |
Fixes a bug in :class:`.TomographyAnalysis` where the basis elements of
Fixed a bug in :class:`.TomographyAnalysis` where the basis elements of
unobserved measurement outcomes were not being included in the fitter
objective function for least-squares fitters (CVXPY and SciPy).
This would lead to lower than expected fit fidelities when fitting data
with many zero count outcomes (typically synthetic data from ideal simulation).
- |
Fixes issue with the CVXPY :class:`.ProcessTomography` analysis fitter
Fixed issue with the CVXPY :class:`.ProcessTomography` analysis fitter
functions :func:`.cvxpy_linear_lstsq` and :func:`cvxpy_gaussian_lstsq`
where the trace preserving constraint was not being applied to the fit
functions by default and required being explicitly passed as a
Expand Down
4 changes: 2 additions & 2 deletions releasenotes/notes/0.3/improve-cancel-a1e7b6dc331014cd.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
fixes:
- |
Fixes some issues with :meth:`.ExperimentData.cancel_analysis`
Fixed some issues with :meth:`.ExperimentData.cancel_analysis`
and :meth:`.ExperimentData.cancel` to make cancelling analysis
callbacks more robust.
- |
Fixes :meth:`.ExperimentData.block_for_results` to handle blocking
Fixed :meth:`.ExperimentData.block_for_results` to handle blocking
in recursive cases where an analysis callback adds another
job or analysis callback.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
features:
- |
Adds support for JSON serialization of :class:`.ExperimentData` objects.
Added support for JSON serialization of :class:`.ExperimentData` objects.
These objects can be serialized using the :class:`.ExperimentEncoder`
and :class:`.ExperimentDecoder` classes.
Note that serialization of general experiment results requires that the
individual option values and analysis result types are themselves JSON
serializable using the encoder and decoder classes.
- |
Adds support for pickling :class:`.ExperimentData` objects using the
Added support for pickling :class:`.ExperimentData` objects using the
Python ``pickle`` module.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
features:
- |
Adds a :class:`~qiskit_experiments.library.characterization.T2Hahn`
Added a :class:`~qiskit_experiments.library.characterization.T2Hahn`
class for composing and running Hahn Echo experiment to estimate T2.
- |
Adds a :class:`~qiskit_experiments.library.characterization.analysis.T2HahnAnalysis`
Added a :class:`~qiskit_experiments.library.characterization.analysis.T2HahnAnalysis`
class for analyzing experiment data from :class:`~qiskit_experiments.library.characterization.T2Hahn`.
- |
Adds a :class:`~qiskit_experiments.test.T2HahnBackend` class for testing
Added a :class:`~qiskit_experiments.test.T2HahnBackend` class for testing
which simulates T2 noise statistics.
2 changes: 1 addition & 1 deletion releasenotes/notes/0.3/transpile-617bd3a4e6f1c0d8.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
features:
- |
Adds :meth:`.BaseExperiment._transpiled_circuits` which returns a list of
Added :meth:`.BaseExperiment._transpiled_circuits` which returns a list of
experiment circuits, transpiled. It can be overridden to define custom
transpilation.
deprecations:
Expand Down
Loading

0 comments on commit d04d99e

Please sign in to comment.