Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qinfo module deprecations and removals #5911

Merged
merged 133 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from 132 commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
42dbec2
qinfo deprecation landing
isaacdevlugt Jun 28, 2024
381f066
warning msg
isaacdevlugt Jun 28, 2024
197e61e
Deprecate `qinfo.mutual_info` (#5917)
isaacdevlugt Jul 3, 2024
851c995
Merge branch 'master' into deprecate-qinfo
isaacdevlugt Jul 3, 2024
35cd95a
Deprecate `qinfo.vn_entropy` (#5912)
isaacdevlugt Jul 3, 2024
e6040a1
Merge branch 'master' into deprecate-qinfo
isaacdevlugt Jul 3, 2024
3a217ae
Merge branch 'master' into deprecate-qinfo
isaacdevlugt Aug 16, 2024
12203ca
Deprecate `qinfo.purity` (#5916)
isaacdevlugt Aug 19, 2024
3348fc0
Deprecate `qinfo.vn_entanglement_entropy` (#5914)
isaacdevlugt Aug 19, 2024
c5e4da2
Merge branch 'master' into deprecate-qinfo
isaacdevlugt Aug 19, 2024
4d47991
format
isaacdevlugt Aug 19, 2024
921efd1
Merge branch 'master' into deprecate-qinfo
isaacdevlugt Aug 19, 2024
9c8e3ba
Deprecate `qinfo.reduced_dm`, `qinfo.fidelity`, `qinfo.relative_entro…
isaacdevlugt Aug 19, 2024
2554ea4
trigger CI
isaacdevlugt Aug 19, 2024
1c1dc37
Merge branch 'master' into deprecate-qinfo
isaacdevlugt Aug 20, 2024
e7f5751
fix test
isaacdevlugt Aug 20, 2024
0e3424d
Merge branch 'deprecate-qinfo' of https://github.com/PennyLaneAI/penn…
isaacdevlugt Aug 20, 2024
5be25d2
fix test
isaacdevlugt Aug 20, 2024
283f4a7
Remove fisher functions; better deprecation messages
mudit2812 Sep 10, 2024
9ff9c4f
[skip ci] Skip CI
mudit2812 Sep 10, 2024
4873b95
Fix tests for legacy opmath (#6110)
astralcai Aug 20, 2024
c7cbf26
Migrate Legacy Devices to `devices` module (#6103)
Shiro-Raven Aug 20, 2024
e969dae
Improve implementation of `group_observables` (#6043)
EmilianoG-byte Aug 20, 2024
96dceb1
Wrapping of legacy device automatically in various device creation/qn…
Shiro-Raven Aug 21, 2024
e4a8b03
[no ci] bump nightly version
ringo-but-quantum Aug 21, 2024
09b3d6d
Add is_leaf argument to pytrees\pytrees.py with test at tests\pytrees…
tonmoy-b Aug 21, 2024
62cdc64
Update stable dependency files (#6072)
github-actions[bot] Aug 21, 2024
6b02ed0
Tree-traversal iterative design & analytic-mode (#5868)
vincentmr Aug 21, 2024
44c0e31
use node and edge hints only on newest version (#6122)
EmilianoG-byte Aug 21, 2024
7fcea32
Add support for multi-controlled zyz (#6042)
maliasadi Aug 21, 2024
1a82d78
Upgrade and generalise general state preparation (#6034)
KetpuntoG Aug 21, 2024
e2675d4
Rename argnum with argnums in Catalyst grad related functions (#6117)
rmoyard Aug 21, 2024
2e70e0f
Upgrade and generalise basis state preparation (#6021)
KetpuntoG Aug 21, 2024
b97cfb1
[no ci] bump nightly version
ringo-but-quantum Aug 22, 2024
42a0561
Add Lattice class and transverse-field Ising Hamiltonian (#6106)
ddhawan11 Aug 22, 2024
2437288
Add InfoBox to `QuantumTape` and Update typehints (#6114)
Shiro-Raven Aug 22, 2024
7ee4ae9
[no ci] bump nightly version
ringo-but-quantum Aug 23, 2024
b7ac8d8
Inplace Adder Operators Quantum Arithmetic (#6109)
gmlejarza Aug 23, 2024
050248a
Add spin Hamiltonians: Heisenberg and Fermi-Hubbard (#6128)
ddhawan11 Aug 23, 2024
177b046
add progress bar when downloading datasets (#5560)
timmysilv Aug 23, 2024
7030e95
Multiplier Operators Quantum Arithmetic (#6112)
gmlejarza Aug 23, 2024
4e1b1f6
Update stable dependency files (#6125)
github-actions[bot] Aug 23, 2024
49118bc
Disable CI for draft PRs (#6093)
anthayes92 Aug 23, 2024
37246e6
Improvements to Jitting: broadcasted measurements and counts on all w…
albi3ro Aug 23, 2024
473b80d
OutAdder and ModExp Operators Quantum Arithmetic (#6121)
gmlejarza Aug 23, 2024
1f4cc29
[no ci] bump nightly version
ringo-but-quantum Aug 26, 2024
10f013c
Preparation for 0.38 release candidate (#6139)
mudit2812 Aug 26, 2024
0a9d049
Bump dev version to 0.39 (#6142)
mudit2812 Aug 26, 2024
60f0ce8
[no ci] bump nightly version
ringo-but-quantum Aug 27, 2024
5410cca
Update reviewer for RC sync workflow (#6152)
mudit2812 Aug 27, 2024
7e83a9a
Daily rc sync to master (#6150)
github-actions[bot] Aug 27, 2024
d8c1403
[BUGFIX] Pytrees: Handle empty shot vector (#6155)
brownj85 Aug 27, 2024
1c847c1
[no ci] bump nightly version
ringo-but-quantum Aug 28, 2024
28c2572
Change strategy for determining RC branch version (#6168)
mudit2812 Aug 28, 2024
bd6eb23
Daily rc sync to master (#6169)
github-actions[bot] Aug 28, 2024
1670732
Fix split_non_commuting bug for Hamiltonians with identity term (#6022)
austingmhuang Aug 28, 2024
f36bbc3
Update stable dependencies on schedule (#6164)
mudit2812 Aug 28, 2024
ae5ea3d
[no ci] bump nightly version
ringo-but-quantum Aug 29, 2024
f997f34
[Capture Project] Easier access to custom primitives (#6129)
albi3ro Aug 29, 2024
de791f9
Daily rc sync to master (#6178)
github-actions[bot] Aug 29, 2024
7b0de96
Mark spin tests for only new opmath (#6177)
mudit2812 Aug 29, 2024
5d5c625
[no ci] bump nightly version
ringo-but-quantum Aug 30, 2024
b0e4128
Daily rc sync to master (#6193)
github-actions[bot] Aug 30, 2024
dec6adc
Test support for capturing nested control flows (#6111)
obliviateandsurrender Aug 31, 2024
e52b994
[no ci] bump nightly version
ringo-but-quantum Sep 2, 2024
cd3d167
[no ci] bump nightly version
ringo-but-quantum Sep 3, 2024
88491ed
`PrepSelPrep` template works with `torch` (#6191)
willjmax Sep 3, 2024
b037ad2
Daily rc sync to master (#6200)
github-actions[bot] Sep 3, 2024
5a146ee
[no ci] bump nightly version
ringo-but-quantum Sep 4, 2024
0c97cb3
Final RC sync for v0.38 (#6205)
mudit2812 Sep 4, 2024
5c4aa3a
FermiWord and FermiSentence __repr__ now return a unique representati…
willjmax Sep 4, 2024
2bdb0b9
Remove `hamiltonian_expand` and `sum_expand` (#6204)
albi3ro Sep 4, 2024
9e4a1fb
[no ci] bump nightly version
ringo-but-quantum Sep 5, 2024
c474451
qsvt wire order (#6212)
KetpuntoG Sep 5, 2024
f0346bb
Miscellaneous updates to CI workflows (#6214)
mudit2812 Sep 5, 2024
283b32c
Update CI to install `mitiq` for `Mitigate` tests (#6216)
mudit2812 Sep 5, 2024
110f3bd
Remove Pytrees bugfix changelog entry (#6189)
mudit2812 Sep 5, 2024
0c26255
Qubitization reformat (#6182)
KetpuntoG Sep 5, 2024
68376be
Bump upload/download-artifact version to v4 (#6224)
mudit2812 Sep 5, 2024
fdd6a63
[no ci] bump nightly version
ringo-but-quantum Sep 6, 2024
825bad1
Various removals for v0.39 (#6203)
albi3ro Sep 6, 2024
9beba48
Remove `default.qubit.tf` (#6207)
albi3ro Sep 6, 2024
390a53a
Remove Python 3.9 in favour of 3.10 as minimum (#6223)
mlxd Sep 6, 2024
58b36eb
Make process_samples on SampleMP jit-compatible with Tracer indices (…
lillian542 Sep 6, 2024
1904af5
Add tests for `MidMeasureMP` and `Conditional` dispatches (#6118)
obliviateandsurrender Sep 6, 2024
0ecc115
[Program Capture] Capture & execute `qml.grad` in plxpr (#6120)
dwierichs Sep 9, 2024
2884078
Rremove labeled PR types from workflows (#6235)
anthayes92 Sep 9, 2024
cf04b6c
Add pauli_rep diagonalization (#6113)
lillian542 Sep 9, 2024
1013d1e
Rename datasets coverage artifact (#6233)
mudit2812 Sep 9, 2024
5696270
[no ci] bump nightly version
ringo-but-quantum Sep 9, 2024
9dff98c
Qml.Qubitization wire order (#6229)
KetpuntoG Sep 9, 2024
8bb1d80
Remove `default.qubit.torch` (#6208)
albi3ro Sep 9, 2024
55e3a31
qml.qchem.excitations optionaly returns fermionic operators (#6171)
willjmax Sep 9, 2024
7746abf
FermiWord and FermiSentence to_mat() method optionally return sparse …
willjmax Sep 9, 2024
2e15022
[Program Capture] Capture & execute `qml.jacobian` in plxpr (#6127)
dwierichs Sep 9, 2024
065d240
Fix zero-jvps with shot vectors (#6219)
dwierichs Sep 10, 2024
31a0aee
[no ci] bump nightly version
ringo-but-quantum Sep 10, 2024
5661278
Adding adjoint methods to FermiWord and FermiSentence classes (#6166)
willjmax Sep 10, 2024
ebbbba2
Remove `Operator.expand` (#6227)
albi3ro Sep 10, 2024
1d9de8e
Merge branch 'master' into deprecate-qinfo
mudit2812 Sep 10, 2024
e189b69
fisher tests removal
mudit2812 Sep 10, 2024
40dfcba
Fix unclosed parenthesis
mudit2812 Sep 10, 2024
453ab58
[skip ci] Removing pytest.warns
mudit2812 Sep 10, 2024
19ed4b1
Fix tests
mudit2812 Sep 11, 2024
d3b217c
Fix CI failures
mudit2812 Sep 11, 2024
91f06b1
Fix vn_entanglement_entropy shape
mudit2812 Sep 11, 2024
43afa76
Add tests for vn_entanglement_entropy
mudit2812 Sep 11, 2024
5a6b593
Merge branch 'master' into deprecate-qinfo
mudit2812 Sep 11, 2024
2ff15b5
Fix copyright date
mudit2812 Sep 11, 2024
1cafca7
Update changelog with MP entry
mudit2812 Sep 11, 2024
e5e4751
Rename qinfo test file
mudit2812 Sep 11, 2024
9ab8d37
Fix failing tests
mudit2812 Sep 12, 2024
b81c667
[skip ci] Fix dm tests
mudit2812 Sep 12, 2024
06c4bc7
Remove vn_entanglement_entropy MP
mudit2812 Sep 13, 2024
d1d5c88
Remove tests
mudit2812 Sep 13, 2024
b9e30a8
Merge branch 'master' into deprecate-qinfo
mudit2812 Sep 13, 2024
cf337dd
Remove init entry
mudit2812 Sep 13, 2024
99d428c
Address code review
mudit2812 Sep 16, 2024
8fde012
[skip ci] Fix DM test
mudit2812 Sep 16, 2024
b04bb91
Fix failing test in legacy opmath (#6272)
astralcai Sep 13, 2024
84ee4b9
remove default.qubit.autograd (#6210)
albi3ro Sep 13, 2024
c2d4725
Deprecate top level access to legacy device base classes (#6238)
albi3ro Sep 13, 2024
47d678b
[Program Capture] Add pytree support to captured `qml.grad` and `qml.…
dwierichs Sep 15, 2024
a983dc5
[no ci] bump nightly version
ringo-but-quantum Sep 16, 2024
07a262f
Pennylane is compatible with numpy 2.0 (#6061)
EmilianoG-byte Sep 16, 2024
2684930
Clean up how `interface` is handled in `QNode` and `qml.execute` (#6225)
astralcai Sep 16, 2024
3ac6561
Updating torch to 2.3.0 (#6258)
PietropaoloFrisoni Sep 16, 2024
7f85424
Merge branch 'master' into deprecate-qinfo
mudit2812 Sep 16, 2024
6643b7c
Fix deprecations page merge artifacts
mudit2812 Sep 16, 2024
54b81e8
Address deprecations code review
mudit2812 Sep 16, 2024
3804252
Update pennylane/devices/default_mixed.py
mudit2812 Sep 16, 2024
5d4be23
Fix deprecations text
mudit2812 Sep 16, 2024
5101384
Merge branch 'master' into deprecate-qinfo
mudit2812 Sep 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions doc/code/qml_qinfo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ qml.qinfo
Overview
--------

.. warning::

The ``qinfo`` module is deprecated and scheduled to be removed in v0.40. Most quantum information transforms
are available as measurement processes (see the :mod:`~pennylane.measurements` module for more details).
Additionally, the transforms are also available as standalone functions in the :mod:`~pennylane.math` and
:mod:`~pennylane.gradients` modules.

This module provides a collection of methods to return quantum information quantities from :class:`~.QNode`
returning :func:`~pennylane.state`.

Expand All @@ -15,8 +22,4 @@ Transforms
.. automodapi:: pennylane.qinfo.transforms
:no-heading:
:no-inherited-members:
:skip: metric_tensor
:skip: adjoint_metric_tensor
:skip: transform
:skip: classical_fisher
:skip: quantum_fisher
20 changes: 13 additions & 7 deletions doc/development/deprecations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,18 @@ deprecations are listed below.
Pending deprecations
--------------------

* The ``qml.qinfo`` module has been deprecated. Please see the respective functions in the ``qml.math`` and ``qml.measurements``
modules instead.

- Deprecated in v0.39
- Will be removed in v0.40

* ``Device``, ``QubitDevice``, and ``QutritDevice`` will no longer be imported top level in v0.40. They instead
we be available as ``qml.devices.LegacyDevice``, ``qml.devices.QubitDevice``, and ``qml.devices.QutritDevice``
respectively.

- Deprecated top level access in v0.39
- Top level access removed in v0.40
- Top level access will be removed in v0.40

* `QNode.gradient_fn` is deprecated. Please use `QNode.diff_method` instead. `QNode.get_gradient_fn` can also be used to
process the diff method.
Expand All @@ -27,12 +33,6 @@ Pending deprecations
- Deprecated in v0.38
- Will be removed in v0.39

* The functions ``qml.qinfo.classical_fisher`` and ``qml.qinfo.quantum_fisher`` are deprecated since they are being migrated
to the ``qml.gradients`` module. Therefore, ``qml.gradients.classical_fisher`` and ``qml.gradients.quantum_fisher`` should be used instead.

- Deprecated and Duplicated in v0.38
- Will be removed in v0.39

* The ``simplify`` argument in ``qml.Hamiltonian`` and ``qml.ops.LinearCombination`` is deprecated.
Instead, ``qml.simplify()`` can be called on the constructed operator.

Expand Down Expand Up @@ -83,6 +83,12 @@ Other deprecations
Completed deprecation cycles
----------------------------

* The functions ``qml.qinfo.classical_fisher`` and ``qml.qinfo.quantum_fisher`` have been removed and migrated to the ``qml.gradients``
module. Therefore, ``qml.gradients.classical_fisher`` and ``qml.gradients.quantum_fisher`` should be used instead.

- Deprecated in v0.38
- Removed in v0.39

* All of the legacy devices (any with the name ``default.qubit.{autograd,torch,tf,jax,legacy}``) are removed. Use ``default.qubit`` instead,
as it supports backpropagation for the many backends the legacy devices support.

Expand Down
10 changes: 10 additions & 0 deletions doc/releases/changelog-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@

<h3>Breaking changes 💔</h3>

* The functions `qml.qinfo.classical_fisher` and `qml.qinfo.quantum_fisher` have been removed and migrated to the `qml.gradients`
module. Therefore, `qml.gradients.classical_fisher` and `qml.gradients.quantum_fisher` should be used instead.
[(#5911)](https://github.com/PennyLaneAI/pennylane/pull/5911)

* Remove support for Python 3.9.
[(#6223)](https://github.com/PennyLaneAI/pennylane/pull/6223)

Expand Down Expand Up @@ -87,6 +91,10 @@

<h3>Deprecations 👋</h3>

* The `qml.qinfo` module has been deprecated. Please see the respective functions in the `qml.math` and
`qml.measurements` modules instead.
[(#5911)](https://github.com/PennyLaneAI/pennylane/pull/5911)

* `Device`, `QubitDevice`, and `QutritDevice` will no longer be accessible via top-level import in v0.40.
They will still be accessible as `qml.devices.LegacyDevice`, `qml.devices.QubitDevice`, and `qml.devices.QutritDevice`
respectively.
Expand Down Expand Up @@ -130,10 +138,12 @@ This release contains contributions from (in alphabetical order):
Guillermo Alonso,
Utkarsh Azad,
Astral Cai,
Isaac De Vlugt,
Lillian M. A. Frederiksen,
Pietropaolo Frisoni,
Emiliano Godinez,
Christina Lee,
William Maxwell,
Lee J. O'Riordan,
Mudit Pandey,
David Wierichs,
5 changes: 3 additions & 2 deletions pennylane/devices/default_mixed.py
Original file line number Diff line number Diff line change
Expand Up @@ -763,8 +763,9 @@ def execute(self, circuit, **kwargs):
self.measured_wires = self.wires
return super().execute(circuit, **kwargs)
if isinstance(m, (VnEntropyMP, MutualInfoMP)):
# VnEntropy, MutualInfo: Computed for the state prior to measurement. So, readout
# error need not be applied on the corresponding device wires.
# VnEntropy, MutualInfo: Computed for the state
# prior to measurement. So, readout error need not be applied to the
# corresponding device wires.
continue
wires_list.append(m.wires)
self.measured_wires = qml.wires.Wires.all_wires(wires_list)
Expand Down
2 changes: 1 addition & 1 deletion pennylane/measurements/mutual_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def circuit_mutual(x):
using the classical backpropagation differentiation method (``diff_method="backprop"``)
with a compatible device and finite differences (``diff_method="finite-diff"``).
.. seealso:: :func:`~.vn_entropy`, :func:`pennylane.qinfo.transforms.mutual_info` and :func:`pennylane.math.mutual_info`
.. seealso:: :func:`~pennylane.vn_entropy`, :func:`pennylane.math.mutual_info`
"""
wires0 = qml.wires.Wires(wires0)
wires1 = qml.wires.Wires(wires1)
Expand Down
2 changes: 1 addition & 1 deletion pennylane/measurements/purity.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def circuit_purity(p):
>>> circuit_purity(0.1)
array(0.7048)
.. seealso:: :func:`pennylane.qinfo.transforms.purity` and :func:`pennylane.math.purity`
.. seealso:: :func:`pennylane.math.purity`
"""
wires = Wires(wires)
return PurityMP(wires=wires)
Expand Down
6 changes: 3 additions & 3 deletions pennylane/measurements/vn_entropy.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@ def circuit_entropy(x):

.. note::

Calculating the derivative of :func:`~.vn_entropy` is currently supported when
Calculating the derivative of :func:`~pennylane.vn_entropy` is currently supported when
using the classical backpropagation differentiation method (``diff_method="backprop"``)
with a compatible device and finite differences (``diff_method="finite-diff"``).

mudit2812 marked this conversation as resolved.
Show resolved Hide resolved
.. seealso:: :func:`pennylane.qinfo.transforms.vn_entropy` and :func:`pennylane.math.vn_entropy`
.. seealso:: :func:`pennylane.math.vn_entropy`
"""
wires = Wires(wires)
return VnEntropyMP(wires=wires, log_base=log_base)
Expand All @@ -74,7 +74,7 @@ def circuit_entropy(x):
class VnEntropyMP(StateMeasurement):
"""Measurement process that computes the Von Neumann entropy of the system prior to measurement.

Please refer to :func:`vn_entropy` for detailed documentation.
Please refer to :func:`~pennylane.vn_entropy` for detailed documentation.

Args:
wires (.Wires): The wires the measurement process applies to.
Expand Down
2 changes: 0 additions & 2 deletions pennylane/qinfo/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
vn_entropy,
purity,
mutual_info,
classical_fisher,
quantum_fisher,
fidelity,
relative_entropy,
trace_distance,
Expand Down
Loading
Loading