diff --git a/docs/release_notes.rst b/docs/release_notes.rst index 71fa677e58..5ba90ffebb 100644 --- a/docs/release_notes.rst +++ b/docs/release_notes.rst @@ -5,6 +5,158 @@ Release Notes .. release-notes:: :earliest-version: 0.7.0 +.. _Release Notes_0.7.0: + +0.7.0 +===== + +.. _Release Notes_0.7.0_Prelude: + +Prelude +------- + +.. releasenotes/notes/0.7/0_7_release-96efcec2c45dcf74.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +The Qiskit Experiments 0.7 release adds the Layer Fidelity experiment and makes some fixes and improvements. + + +.. _Release Notes_0.7.0_New Features: + +New Features +------------ + +.. releasenotes/notes/0.7/layer-fidelity-1e09dea9e5b69515.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +- Add a new experiment class :class:`.LayerFidelity` to measure + `layer fidelity and EPLG (error per layered gate) `_, + which is a holistic benchmark to characterize the full quality of the devices at scale. + + It has an experimental feature: its :meth:`circuits` + exceptionally returns circuits on physical qubits (not virtual qubits as usual). + Its analysis class :class:`.LayerFidelityAnalysis` returns :class:`.AnalysisResultData` + which contains several ``extra`` entries to help additional analyses: e.g. + ``qubits`` to ease the query of sub-analysis results and + ``reason`` to tell users why the ``quality`` of the analysis was ``"bad"``. + + For example, the syntax for pulling out the individual fidelities looks like below. + + .. code-block:: python + + df = exp_data.analysis_results(dataframe=True) + df[(df.name=="ProcessFidelity") & (df.qubits==(59, 60))].value + + See `an example notebook + `_ + for more examples such as how to select a best possible qubit chain to measure and + how to plot EPLG as a function of (sub)chain length. + +.. releasenotes/notes/0.7/residuals_plot-377aabb9193a5a98.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +- Added an option to plot residuals for single-figure experiments, which is enable by setting ``plot_residuals`` to ``True``. + +.. releasenotes/notes/0.7/residuals_plot-377aabb9193a5a98.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +- Introduced ``sub_plot_heights_list`` and ``sub_plot_widths_list`` attributes in :class:`.PlotStyle` for customizable + subplot sizes where each list needs to sum up to 1. This feature currently works only for experiments with + no subplots. + + +.. _Release Notes_0.7.0_Known Issues: + +Known Issues +------------ + +.. releasenotes/notes/0.7/0_6_deprecations-9a399c48c2d461f1.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +- Fit parameters are not populated in composite curve analysis results and are + found only in the fit summary artifact. In a future release, they will be + removed from all analysis result objects and live in the artifacts only. + + +.. _Release Notes_0.7.0_Upgrade Notes: + +Upgrade Notes +------------- + +.. releasenotes/notes/0.7/0_7_release-96efcec2c45dcf74.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +- Changes in behavior that users should be aware of when upgrading Qiskit Experiments + to this version are listed below in subsections by functional area. + + +.. _Release Notes_0.7.0_Package Upgrades: + +Package Upgrades +^^^^^^^^^^^^^^^^ + +.. releasenotes/notes/0.7/0_6_deprecations-9a399c48c2d461f1.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +- Several deprecated modules, methods, functions, and options have been removed and will no longer work: + + * The visualization module of :mod:`.CurveAnalysis` has been replaced by the + standalone :mod:`.visualization` module. The ``LegacyCurveCompatDrawer`` has + been removed from :mod:`.visualization`. + * The ``curve_drawer`` option to :class:`.CompositeCurveAnalysis` has been + replaced by the plotter in the visualization module. + * The ``SeriesDef`` dataclass has been removed and replaced by the ``LMFIT`` module. + * The ``CurveData`` dataclass has been removed and replaced by :class:`.ScatterTable`'s DataFrame representation. + * ``random_cliffords()`` and ``random_clifford_circuits()`` have been + removed from :class:`.CliffordUtils` and replaced by :meth:`.StandardRB.__sample_sequence`. + * ``beta`` has been renamed to ``outcome_prior`` in the tomography utility + function ``binomial_weights()``. + * The ``return_data_points`` option has been removed from curve analysis. + Data points are now automatically provided in :class:`.ExperimentData` objects via the ``curve_data`` + artifact. + * The default value of ``flatten_results`` in composite experiments has changed to ``True``. + + +.. _Release Notes_0.7.0_Deprecation Notes: + +Deprecation Notes +----------------- + +.. releasenotes/notes/0.7/0_6_deprecations-9a399c48c2d461f1.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +- Accessing experiment data artifacts by numerical index has been + deprecated. Use the name or ID of the artifact instead. + + +.. _Release Notes_0.7.0_Bug Fixes: + +Bug Fixes +--------- + +.. releasenotes/notes/0.7/fix-ecr-epg-59c8db98494966b0.yaml @ b'7a0924c24549ab4f38819a86c0ac49214d819ba2' + +- Fixed a bug in EPG (error per gate) computation in :class:`~.RBAnalysis` + where it fails with a ``TypeError`` for backends with ECR gate + as a 2-qubit basis gate (e.g. IBM Eagle processors). + See + `#1419 + `_. + for the details of the bug. + +.. releasenotes/notes/0.7/fix-epg-gatecount-60777f7a3f3566bc.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +- The gate counting for EPG in the RB analysis code was not including the + inverse, so that the total number of operations per Clifford was incorrect, + leading to incorrect reporting of EPG from EPC. Fixed by adding +1 for the + inverse gate. + + +.. _Release Notes_0.7.0_Other Notes: + +Other Notes +----------- + +.. releasenotes/notes/0.7/add-examples-to-characterization-experiments-e77d4d26c6b49694.yaml @ b'517532eb307897896d549f7e3de69485801d67a8' + +- Added minimal working code examples to many experiment API pages, + especially characterization experiments. The minimal working code example + is a code snippet which users can copy and paste to run the experiment. + Users are required to specify a backend to use the code example. By default, + the backend used in the examples is a simulator such as ``FakeManilaV2``. + .. _Release Notes_0.6.1: 0.6.1 diff --git a/releasenotes/notes/0.7/0_6_deprecations-9a399c48c2d461f1.yaml b/releasenotes/notes/0.7/0_6_deprecations-9a399c48c2d461f1.yaml deleted file mode 100644 index 763de714ac..0000000000 --- a/releasenotes/notes/0.7/0_6_deprecations-9a399c48c2d461f1.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -upgrade_package: - - | - Several deprecated modules, methods, functions, and options have been removed and will no longer work: - - * The visualization module of :mod:`.CurveAnalysis` has been replaced by the - standalone :mod:`.visualization` module. The ``LegacyCurveCompatDrawer`` has - been removed from :mod:`.visualization`. - * The ``curve_drawer`` option to :class:`.CompositeCurveAnalysis` has been - replaced by the plotter in the visualization module. - * The ``SeriesDef`` dataclass has been removed and replaced by the ``LMFIT`` module. - * The ``CurveData`` dataclass has been removed and replaced by :class:`.ScatterTable`'s DataFrame representation. - * ``random_cliffords()`` and ``random_clifford_circuits()`` have been - removed from :class:`.CliffordUtils` and replaced by :meth:`.StandardRB.__sample_sequence`. - * ``beta`` has been renamed to ``outcome_prior`` in the tomography utility - function ``binomial_weights()``. - * The ``return_data_points`` option has been removed from curve analysis. - Data points are now automatically provided in :class:`.ExperimentData` objects via the ``curve_data`` - artifact. - * The default value of ``flatten_results`` in composite experiments has changed to ``True``. -deprecations: - - | - Accessing experiment data artifacts by numerical index has been - deprecated. Use the name or ID of the artifact instead. -issues: - - | - Fit parameters are not populated in composite curve analysis results and are - found only in the fit summary artifact. In a future release, they will be - removed from all analysis result objects and live in the artifacts only. diff --git a/releasenotes/notes/0.7/0_7_release-96efcec2c45dcf74.yaml b/releasenotes/notes/0.7/0_7_release-96efcec2c45dcf74.yaml deleted file mode 100644 index 3b79545dcc..0000000000 --- a/releasenotes/notes/0.7/0_7_release-96efcec2c45dcf74.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -prelude: > - The Qiskit Experiments 0.7 release adds the Layer Fidelity experiment and makes some fixes and improvements. -upgrade: - - | - Changes in behavior that users should be aware of when upgrading Qiskit Experiments - to this version are listed below in subsections by functional area. \ No newline at end of file diff --git a/releasenotes/notes/0.7/add-examples-to-characterization-experiments-e77d4d26c6b49694.yaml b/releasenotes/notes/0.7/add-examples-to-characterization-experiments-e77d4d26c6b49694.yaml deleted file mode 100644 index ab79938846..0000000000 --- a/releasenotes/notes/0.7/add-examples-to-characterization-experiments-e77d4d26c6b49694.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -other: - - | - Added minimal working code examples to many experiment API pages, - especially characterization experiments. The minimal working code example - is a code snippet which users can copy and paste to run the experiment. - Users are required to specify a backend to use the code example. By default, - the backend used in the examples is a simulator such as ``FakeManilaV2``. diff --git a/releasenotes/notes/0.7/fix-ecr-epg-59c8db98494966b0.yaml b/releasenotes/notes/0.7/fix-ecr-epg-59c8db98494966b0.yaml deleted file mode 100644 index b370d59978..0000000000 --- a/releasenotes/notes/0.7/fix-ecr-epg-59c8db98494966b0.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -fixes: - - | - Fixed a bug in EPG (error per gate) computation in :class:`~.RBAnalysis` - where it fails with a ``TypeError`` for backends with ECR gate - as a 2-qubit basis gate (e.g. IBM Eagle processors). - See - `#1419 - `_. - for the details of the bug. diff --git a/releasenotes/notes/0.7/fix-epg-gatecount-60777f7a3f3566bc.yaml b/releasenotes/notes/0.7/fix-epg-gatecount-60777f7a3f3566bc.yaml deleted file mode 100644 index 1f69daab49..0000000000 --- a/releasenotes/notes/0.7/fix-epg-gatecount-60777f7a3f3566bc.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -fixes: - - | - The gate counting for EPG in the RB analysis code was not including the - inverse, so that the total number of operations per Clifford was incorrect, - leading to incorrect reporting of EPG from EPC. Fixed by adding +1 for the - inverse gate. diff --git a/releasenotes/notes/0.7/layer-fidelity-1e09dea9e5b69515.yaml b/releasenotes/notes/0.7/layer-fidelity-1e09dea9e5b69515.yaml deleted file mode 100644 index b3d110bdd4..0000000000 --- a/releasenotes/notes/0.7/layer-fidelity-1e09dea9e5b69515.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -features: - - | - Add a new experiment class :class:`.LayerFidelity` to measure - `layer fidelity and EPLG (error per layered gate) `_, - which is a holistic benchmark to characterize the full quality of the devices at scale. - - It has an experimental feature: its :meth:`circuits` - exceptionally returns circuits on physical qubits (not virtual qubits as usual). - Its analysis class :class:`.LayerFidelityAnalysis` returns :class:`.AnalysisResultData` - which contains several ``extra`` entries to help additional analyses: e.g. - ``qubits`` to ease the query of sub-analysis results and - ``reason`` to tell users why the ``quality`` of the analysis was ``"bad"``. - - For example, the syntax for pulling out the individual fidelities looks like below. - - .. code-block:: python - - df = exp_data.analysis_results(dataframe=True) - df[(df.name=="ProcessFidelity") & (df.qubits==(59, 60))].value - - See `an example notebook - `_ - for more examples such as how to select a best possible qubit chain to measure and - how to plot EPLG as a function of (sub)chain length. \ No newline at end of file diff --git a/releasenotes/notes/0.7/residuals_plot-377aabb9193a5a98.yaml b/releasenotes/notes/0.7/residuals_plot-377aabb9193a5a98.yaml deleted file mode 100644 index 45d330c624..0000000000 --- a/releasenotes/notes/0.7/residuals_plot-377aabb9193a5a98.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - | - Added an option to plot residuals for single-figure experiments, which is enable by setting ``plot_residuals`` to ``True``. - - | - Introduced ``sub_plot_heights_list`` and ``sub_plot_widths_list`` attributes in :class:`.PlotStyle` for customizable - subplot sizes where each list needs to sum up to 1. This feature currently works only for experiments with - no subplots. diff --git a/releasenotes/notes/deprecate-pulse-2a13fc783985ac27.yaml b/releasenotes/notes/0.8/deprecate-pulse-2a13fc783985ac27.yaml similarity index 100% rename from releasenotes/notes/deprecate-pulse-2a13fc783985ac27.yaml rename to releasenotes/notes/0.8/deprecate-pulse-2a13fc783985ac27.yaml diff --git a/releasenotes/notes/0.8/fixes_qiskit_1_2-6d60334235081088.yaml b/releasenotes/notes/0.8/fixes_qiskit_1_2-6d60334235081088.yaml new file mode 100644 index 0000000000..65bbed504f --- /dev/null +++ b/releasenotes/notes/0.8/fixes_qiskit_1_2-6d60334235081088.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + Qiskit Experiments was updated to be compatible with Qiskit 1.2, + including removing references to ``QuantumCircuit._parameter_table`` + which prevented randomized benchmarking and layer fidelity + experiments from running. \ No newline at end of file diff --git a/releasenotes/notes/primitives_add-1a3bcbb2f189d18e.yaml b/releasenotes/notes/0.8/primitives_add-1a3bcbb2f189d18e.yaml similarity index 100% rename from releasenotes/notes/primitives_add-1a3bcbb2f189d18e.yaml rename to releasenotes/notes/0.8/primitives_add-1a3bcbb2f189d18e.yaml