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

Fixes for new autoray version #4396

Merged
merged 4 commits into from
Jul 27, 2023
Merged

Fixes for new autoray version #4396

merged 4 commits into from
Jul 27, 2023

Conversation

eddddddy
Copy link
Contributor

Context:
Autoray released a new version that changed the dispatch logic of some functions with multiple arguments, namely add and multiply. This was breaking some tests.

Description of the Change:
For qml.math.add, the only issue is with PyTorch since torch.add doesn't support NumPy arguments. The original overriden function switched the order of the arguments so that it dispatches via NumPy instead, but that doesn't work with the new autoray dispatch logic. Here we just cast both arguments to PyTorch tensors.

For qml.math.multiply, this is only used in one of the tests, and we simply cast the argument to np.complex128.

@github-actions
Copy link
Contributor

Hello. You may have forgotten to update the changelog!
Please edit doc/releases/changelog-dev.md with:

  • A one-to-two sentence description of the change. You may include a small working example for new features.
  • A link back to this PR.
  • Your name (or GitHub username) in the contributors section.

@eddddddy eddddddy requested a review from a team July 26, 2023 18:15
@codecov
Copy link

codecov bot commented Jul 26, 2023

Codecov Report

Merging #4396 (ad95ffc) into master (e39a2a0) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #4396   +/-   ##
=======================================
  Coverage   99.76%   99.76%           
=======================================
  Files         351      351           
  Lines       32488    32491    +3     
=======================================
+ Hits        32412    32415    +3     
  Misses         76       76           
Files Changed Coverage Δ
pennylane/math/multi_dispatch.py 100.00% <100.00%> (ø)

Copy link
Contributor

@timmysilv timmysilv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 thanks for the quick fix!

Copy link
Contributor

@albi3ro albi3ro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 🚀

@eddddddy eddddddy merged commit ff70832 into master Jul 27, 2023
42 checks passed
@eddddddy eddddddy deleted the autoray_fix branch July 27, 2023 00:14
mudit2812 pushed a commit that referenced this pull request Jul 27, 2023
* Fixes for new autoray version

* unused import

* Use if instead of try-except

* Fix case of two torch tensors
@trbromley
Copy link
Contributor

If we know that this fix isn't backwards compatible with old autoray versions, can we add a version pin in setup.py and requirements.txt?

@eddddddy
Copy link
Contributor Author

Yep, definitely 👍

mudit2812 added a commit that referenced this pull request Jul 28, 2023
…aviour (#4144)

* Updated Operator

* Added tests

* Updated warning

* black

* Updated warning text

* black

* Update doc/development/deprecations.rst

* Updated docs, tests

* Updated deprecations.rst

* Fixing tests

* Updated tests and warnings

* Pylint

* Testing warnings

* Testing changes

* Updated tests

* testing what breaks

* Checking tests

* Testing changes

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Updated tape tests

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Fixes for new autoray version (#4396)

* Fixes for new autoray version

* unused import

* Use if instead of try-except

* Fix case of two torch tensors

* Updated tape tests

* Add ability to apply `TransformProgram` to batch of tapes (#4364)

* Draft structure

* draf exec

* Simple execute

* Update

* More tests

* Update

* Update exec

* Pylint and black

* Update tests

* Update more tests

* More tests

* changelog

* Coverage

* Cover fix

* pylint

* Pylint

* Pylint tests

* proposed changes to transform program integration

* oops

* add to legacy, remove cotransform support

* just transform program call component

* just transform program call component

* no longer support cotransforms, fix _batch_postprocessing

* some more testing

* test null postprocessing function

* docstring, rename batch_slices to slices, black

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

---------

Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* torch qnode integration with DefaultQubit2 (#4392)

* copy-paste torch file; replace device in most places

* make tests work; little changes in pennylane

* pylint fix

* changelog

* update test name and docstring for hamiltonian_expand

* minimal test for single-shot bugfix

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Updated deprecations to 0.32

* Added warnings

* Trigger CI

* Removed docstrings

* Added correctness test

* Trigger CI

---------

Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Edward Jiang <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: rmoyard <[email protected]>
mudit2812 added a commit that referenced this pull request Aug 2, 2023
…aviour (#4144)

* Updated Operator

* Added tests

* Updated warning

* black

* Updated warning text

* black

* Update doc/development/deprecations.rst

* Updated docs, tests

* Updated deprecations.rst

* Fixing tests

* Updated tests and warnings

* Pylint

* Testing warnings

* Testing changes

* Updated tests

* testing what breaks

* Checking tests

* Testing changes

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Updated tape tests

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Fixes for new autoray version (#4396)

* Fixes for new autoray version

* unused import

* Use if instead of try-except

* Fix case of two torch tensors

* Updated tape tests

* Add ability to apply `TransformProgram` to batch of tapes (#4364)

* Draft structure

* draf exec

* Simple execute

* Update

* More tests

* Update

* Update exec

* Pylint and black

* Update tests

* Update more tests

* More tests

* changelog

* Coverage

* Cover fix

* pylint

* Pylint

* Pylint tests

* proposed changes to transform program integration

* oops

* add to legacy, remove cotransform support

* just transform program call component

* just transform program call component

* no longer support cotransforms, fix _batch_postprocessing

* some more testing

* test null postprocessing function

* docstring, rename batch_slices to slices, black

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

---------

Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* torch qnode integration with DefaultQubit2 (#4392)

* copy-paste torch file; replace device in most places

* make tests work; little changes in pennylane

* pylint fix

* changelog

* update test name and docstring for hamiltonian_expand

* minimal test for single-shot bugfix

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Updated deprecations to 0.32

* Added warnings

* Trigger CI

* Removed docstrings

* Added correctness test

* Trigger CI

---------

Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Edward Jiang <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: rmoyard <[email protected]>
mudit2812 added a commit that referenced this pull request Aug 15, 2023
* Added qubit reuse and reset

* Fixed `defer_measurements`

* Removed `MeasurementValue`

* Update type hint

* Removed `MeasurementValue`

* Add VJP/JVP capabilities to `DefaultQubit2` (#4374)

* Add vjp/jvp capabilities

* pylint

* some tests for simulate

* Fix syntax error

* Split simulate

* Add some tests

* pylint

* more device tests

* pylint and fix tests

* change tracker keys

* Update pennylane/devices/qubit/adjoint_jacobian.py

Co-authored-by: Christina Lee <[email protected]>

* other places

* Add docs for simulate funcs

* revert suggestion

* Remove validation

* Add validation for use_device_gradient

* remove None case

* use device gradient in validation

* changelog

---------

Co-authored-by: Christina Lee <[email protected]>

* Initialize `DefaultQubit2` local rng from global rng if no seed provided (#4394)

* initialize dev rng from global state

* change default value to global str

* Apply suggestions from code review

Co-authored-by: Frederik Wilde <[email protected]>

* Update tests/devices/experimental/test_default_qubit_2.py

* fix indentation

---------

Co-authored-by: Frederik Wilde <[email protected]>

* Changes to remove use of `Operator.__eq__` (#4398)

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Updated tape tests

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Update pennylane/ops/functions/equal.py

Co-authored-by: Christina Lee <[email protected]>

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Christina Lee <[email protected]>

* Make autoray changes backwards compatible (#4397)

* Fixes for new autoray version

* unused import

* Use if instead of try-except

* Fix case of two torch tensors

* pin autoray

* dispatch

* test with new version

* Raise warning in Operator `__eq__` and `__hash__` about change in behaviour (#4144)

* Updated Operator

* Added tests

* Updated warning

* black

* Updated warning text

* black

* Update doc/development/deprecations.rst

* Updated docs, tests

* Updated deprecations.rst

* Fixing tests

* Updated tests and warnings

* Pylint

* Testing warnings

* Testing changes

* Updated tests

* testing what breaks

* Checking tests

* Testing changes

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Updated tape tests

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Fixes for new autoray version (#4396)

* Fixes for new autoray version

* unused import

* Use if instead of try-except

* Fix case of two torch tensors

* Updated tape tests

* Add ability to apply `TransformProgram` to batch of tapes (#4364)

* Draft structure

* draf exec

* Simple execute

* Update

* More tests

* Update

* Update exec

* Pylint and black

* Update tests

* Update more tests

* More tests

* changelog

* Coverage

* Cover fix

* pylint

* Pylint

* Pylint tests

* proposed changes to transform program integration

* oops

* add to legacy, remove cotransform support

* just transform program call component

* just transform program call component

* no longer support cotransforms, fix _batch_postprocessing

* some more testing

* test null postprocessing function

* docstring, rename batch_slices to slices, black

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

---------

Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* torch qnode integration with DefaultQubit2 (#4392)

* copy-paste torch file; replace device in most places

* make tests work; little changes in pennylane

* pylint fix

* changelog

* update test name and docstring for hamiltonian_expand

* minimal test for single-shot bugfix

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Updated deprecations to 0.32

* Added warnings

* Trigger CI

* Removed docstrings

* Added correctness test

* Trigger CI

---------

Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Edward Jiang <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: rmoyard <[email protected]>

* Tensorflow qnode integration with DefaultQubit2 (#4393)

* copy-paste tf files

* make tests work; little changes in pennylane

* changes coming from torch PR first

* update remaining test files

* support tf.function by adding empty kwargs

* update copyright year in test files

* changelog

* put all qnode integrations together

* remove turning warning into error (#4409)

* Fix jax.ad deprecation. (#4403)

* Fix jax.ad deprecation.

* Update changelog.

* Print name of requested device in DeviceError.

* Force push.

* Fix pytest.raises in test_device.py

* fix `has_decomposition` for ControlledQubitUnitary (#4407)

* fix has_decomposition for ControlledQubitUnitary

* changelog

* add comment; add test when super returns False

* [sc-36527]: Add new robots.txt to doc build to hide latest build from search engine (#4423)

* Adding a `wire_order` kwarg to `Tensor.sparse_matrix()` (#4424)

* `wire_order` kwarg for `Tensor.sparse_matrix()`

* update changelog

* swap kwarg order

Co-authored-by: Matthew Silverman <[email protected]>

* adapt docstring to the kwarg order swap

* add comment about using  over

---------

Co-authored-by: Matthew Silverman <[email protected]>

* Updated defer_measurements post-merge

* Fixed defer_measurements

* Updated test

* Updated class signature

* Updating keys

* Updated id process

* Updated changelog

* Updated changelog

* Adds shots to experimental device interface and integrate with QNode (#4388)

* default shots on new device interface

* make fewer changes and clean stuff up later

* fix tests, lint, and sphinx

* Update doc/releases/changelog-dev.md

* Update tests/interfaces/test_set_shots.py

Co-authored-by: Matthew Silverman <[email protected]>

* Update tests/devices/experimental/test_default_qubit_2.py

* make set_shots error with new device, shots type hinting

* Update doc/releases/changelog-dev.md

Co-authored-by: Tom Bromley <[email protected]>

* Update pennylane/interfaces/set_shots.py

Co-authored-by: Matthew Silverman <[email protected]>

* Apply suggestions from code review

* Update tests/devices/experimental/test_default_qubit_2.py

* merge problem

* black

* Update doc/releases/changelog-dev.md

* Update pennylane/qnode.py

Co-authored-by: Edward Jiang <[email protected]>

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: Edward Jiang <[email protected]>

* QNSPSA bugfix (#4421)

* qnspsa bugfix

* Update doc/releases/changelog-dev.md

* Update tests/optimize/test_qnspsa.py

Co-authored-by: Matthew Silverman <[email protected]>

---------

Co-authored-by: Matthew Silverman <[email protected]>

* Update changelog

* Updated defer_measurements for device wires

* Removed error from drawable layers

* Update changelog

* Updated drawable layers test

* Updated signatures

* Updated signatures

* Merge `v0.31.1-rc0` branch into master (#4428)

* Support `HardwareHamiltonian` pulses in `stoch_pulse_grad` (#4215)

* single out gradient transform checks

* rename stochastic pulse gradient file

* unify gradient_analysis and grad_method_validation

* continue restructure of analysis+validation

* CV

* black

* modularize more

* more modularizing

* black

* tiny [skip ci]

* [skip ci] lint

* remove dummy test

* test fix

* add test file to linting test file

* test fixes, docstrings

* code review

* docstring gradient_analysis_and_grad_method_validation

* move first fun

* code review:move functions

* test regex

* regexs

* move and promote reorder_grads

* tmp

* more tmp

* test cases, contractions

* lint

* docstring

* even more tmp

* cleanup

* black

* tmp

* lint

* move stoch_pulse_gradient.. files back to pulse_gradient...

* move stoch_pulse_gradient.. files back to pulse_gradient...

* lint

* rename

* extend functions and tests

* lint and black

* changelog

* improve

* update example to include non-Pauli word generator

* add jit test with pauli sentence

* tmp

* debugging, docstring, extend test

* review

* optimize for Pauli words

* Apply suggestions from code review

Co-authored-by: Romain Moyard <[email protected]>

* test cases code review

* fix parametrization

* drafting

* working prototype

* finish merge; cleanup

* changelog

* comments

* [skip ci]

* raising an error; cleanup [skip ci]

* Apply suggestions from code review

Co-authored-by: Korbinian Kottmann <[email protected]>

* change contraction idea

* typo in docs

* tests

* remove prints

* fix test

* test descriptions

* fix merge

* format

* code review; test coverage

* coverage reordering

* fix

* trigger CI

* trigger

* clear caches

* trigger

* trigger

---------

Co-authored-by: Romain Moyard <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>

* Fix batching of derivative tapes in autograd (#4245)

* Fix `expval` of `Sum` with broadcasting (#4275)

* fix bug and add test

* changelog addition

* Various doc fixes (#4268)

* Various things while validating changes for 0.31 (#4279)

* change link in setup.py

* fix qchem docs

* fix qcut docs

* rename string function (#4278)

* Update docs (#4269)

* Incrementing the version number to `v0.32.0-dev` (#4266)

* pre-release for v0.31.0

* Update doc/releases/changelog-0.31.0.md

* Incrementing the version number to v0.32.0-dev

* Update installation.rst (#4247)

Update Python version to 3.8

Co-authored-by: Romain Moyard <[email protected]>

* docs typos

* don't include updating versioning from master

* don't include python requirements from master

* update example output for shot_vector

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* fix entirely unrelated rendering issue

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>

* Minor fixes for v0.31 (#4280)

* Added fixes

* Update pennylane/ops/qubit/matrix_ops.py

Co-authored-by: Matthew Silverman <[email protected]>

* Update pennylane/ops/qubit/matrix_ops.py

---------

Co-authored-by: Matthew Silverman <[email protected]>

* add graphviz to RTD apt packages (#4284)

* Pulse gradient methods docs polish (#4282)

* stoch pulse docs update

* generator method docs update

* small fixes / typos

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <[email protected]>

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <[email protected]>

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <[email protected]>

* code review

* Update pennylane/gradients/pulse_gradient.py

Co-authored-by: David Wierichs <[email protected]>

* code review

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: Frederik Wilde <[email protected]>

* large |

* add equal to

---------

Co-authored-by: David Wierichs <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>

* 0.31 release notes (#4218)

* Add categories

* First pass at categorization

* More categorization

* More categorization

* Typo

* Add first half of resource estimation text

* Improvements

* Add custom ops resource estimation

* Update wording

* Improve entry

* Move

* Move

* Move

* Update

* Add details about Torch and Keras

* Add entry

* Add contributor

* Add to Keras and Torch layer section

* Add saving and loading details

* Add entry

* Add contributor

* Add contributor

* Add qutrit basis state example

* first round of edits

* Remove

* Add entry for one_qubit_decompostition

* more changes

* Reorder sections

* fermi blurb

* minor

* Update

* Add

* Update doc/releases/changelog-dev.md

Co-authored-by: Isaac De Vlugt <[email protected]>

* Update doc/releases/changelog-dev.md

Co-authored-by: Isaac De Vlugt <[email protected]>

* update fermionic code examples

* additions

* minor

* restructure sections

* minor

* minor

* reorder fermi section

* fixed fermi section

* various small changes

* Tweaks to fermionic

* Tweaks to resource and UH sections

* Improvements

* Move

* Update doc/releases/changelog-0.31.0.md

* minior

* minor

* minor

* minor

* minor

* Update

* minor

* use from_string for fermi ops

* Add link

* Update doc/releases/changelog-0.31.0.md

* added links and other minor things

* Update doc/releases/changelog-0.31.0.md

* Update doc/releases/changelog-0.31.0.md

* minor

* minor

* deleted extraneous notebook

* Apply suggestions from code review

Co-authored-by: Tom Bromley <[email protected]>

---------

Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: soranjh <[email protected]>

* Allow updating dense kwarg in call of ParametrizedEvolution (#4285)

* add dense kwarg to call

* update changelog

* update changelog better

* changelog formatting

---------

Co-authored-by: Korbinian Kottmann <[email protected]>

* Remove line in code example to make docs render properly. (#4290)

* Pin autograd to <= 1.5 (#4289)

* pin autograd to 1.5 or less

* allow autograd 1.4 as well

* pin for doc build as well

* Add dm_from_state_vector function to qml.math docs page. (#4291)

* Fix `ShotAdaptiveOptimizer` to prevent removing shot vector axes (#4240)

* Updated `ShotAdaptiveOpt` per suggestion in issue

* Reformatting

* Testing changes

* Fixed bug

* Updated min to max

* Allow classical shadow measurements in new device (#4162)

* Support classical shadow measurements

* Add shot vector tests

* Address comments

* Add comment for diag_list

* Apply suggestions from code review

Co-authored-by: Christina Lee <[email protected]>

* Fix

* Add unit tests for process_state_with_shots

* Update preprocessing

* Apply suggestions from code review

Co-authored-by: Frederik Wilde <[email protected]>

* Address PR comments

* set rng for test

---------

Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>

* Add the `fermi` module docs (#4250)

* support trainable Sum observables (#4251)

* support trainable Sum observables (analytic only)

* just use pre-rotated state; use super with finite shots

* fix tests; add test for trainable Sum coeffs

* changelog

* use overlapping wires to prove they work

* add hacky gradient support

* Revert "add hacky gradient support"

This reverts commit 09009c8.

* set interface=None to keep test behaviour

* Integrate experimental device with the `QNode` (#4196)

* integrate qnode with new device

* some diff method improvements

* repr methods

* add tests, always pass config to device

* add tests, always pass config to device

* final test

* pylint

* autograd integration tests

* pylint

* Update pennylane/interfaces/execution.py

Co-authored-by: Matthew Silverman <[email protected]>

* pass shots through methods

* changelog

* revert set shots change

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

* revert executionc hange, pylint:

* pylint again

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>

* pre-release for v0.31.0 (#4265)

* pre-release for v0.31.0

* Update doc/releases/changelog-0.31.0.md

* Support `HardwareHamiltonian` pulses in `stoch_pulse_grad` (#4215)

* single out gradient transform checks

* rename stochastic pulse gradient file

* unify gradient_analysis and grad_method_validation

* continue restructure of analysis+validation

* CV

* black

* modularize more

* more modularizing

* black

* tiny [skip ci]

* [skip ci] lint

* remove dummy test

* test fix

* add test file to linting test file

* test fixes, docstrings

* code review

* docstring gradient_analysis_and_grad_method_validation

* move first fun

* code review:move functions

* test regex

* regexs

* move and promote reorder_grads

* tmp

* more tmp

* test cases, contractions

* lint

* docstring

* even more tmp

* cleanup

* black

* tmp

* lint

* move stoch_pulse_gradient.. files back to pulse_gradient...

* move stoch_pulse_gradient.. files back to pulse_gradient...

* lint

* rename

* extend functions and tests

* lint and black

* changelog

* improve

* update example to include non-Pauli word generator

* add jit test with pauli sentence

* tmp

* debugging, docstring, extend test

* review

* optimize for Pauli words

* Apply suggestions from code review

Co-authored-by: Romain Moyard <[email protected]>

* test cases code review

* fix parametrization

* drafting

* working prototype

* finish merge; cleanup

* changelog

* comments

* [skip ci]

* raising an error; cleanup [skip ci]

* Apply suggestions from code review

Co-authored-by: Korbinian Kottmann <[email protected]>

* change contraction idea

* typo in docs

* tests

* remove prints

* fix test

* test descriptions

* fix merge

* format

* code review; test coverage

* coverage reordering

* fix

* trigger CI

* trigger

* clear caches

* trigger

* trigger

---------

Co-authored-by: Romain Moyard <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>

* Fix batching of derivative tapes in autograd (#4245)

* Fix `expval` of `Sum` with broadcasting (#4275)

* fix bug and add test

* changelog addition

* Various doc fixes (#4268)

* Various things while validating changes for 0.31 (#4279)

* change link in setup.py

* fix qchem docs

* fix qcut docs

* rename string function (#4278)

* Update docs (#4269)

* Incrementing the version number to `v0.32.0-dev` (#4266)

* pre-release for v0.31.0

* Update doc/releases/changelog-0.31.0.md

* Incrementing the version number to v0.32.0-dev

* Update installation.rst (#4247)

Update Python version to 3.8

Co-authored-by: Romain Moyard <[email protected]>

* docs typos

* don't include updating versioning from master

* don't include python requirements from master

* update example output for shot_vector

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* fix entirely unrelated rendering issue

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>

* Minor fixes for v0.31 (#4280)

* Added fixes

* Update pennylane/ops/qubit/matrix_ops.py

Co-authored-by: Matthew Silverman <[email protected]>

* Update pennylane/ops/qubit/matrix_ops.py

---------

Co-authored-by: Matthew Silverman <[email protected]>

* add graphviz to RTD apt packages (#4284)

* Updated test

---------

Co-authored-by: Edward Jiang <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>
Co-authored-by: David Wierichs <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: lillian542 <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>

* Make links to qml.eigvals and the eigvals method appear distinctly. (#4292)

* Make links to qml.eigvals and the eigvals method appear distinctly in the docstring of compute_method.

* Make links more informative.

---------

Co-authored-by: Matthew Silverman <[email protected]>

* Device API review (#4283)

* fix  example

* minor docstring change in `_zyz_decomposition`

* update decomposition examples

* update counts & samples docstrings

* Shots class link

* Fix code block

* Change note

Co-authored-by: Edward Jiang <[email protected]>

---------

Co-authored-by: Edward Jiang <[email protected]>

* remove duplicate controlled operation entries (#4298)

* Refer to class QNode in ml layers (#4299)

* Specs dict fix (#4286)

* Add copy function to SpecsDict.

* black

* Adjust docs to not throw warnings from deprecated specs keys.

* Formatting fix.

* update doc string

* update doc string

---------

Co-authored-by: Jay Soni <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* Fermionic ops in changelog (#4302)

* bump lightning to 0.31 in setup.py, pin scipy to [1.8,1.10] (#4304)

* bump lightning to 0.31 in setup.py

* trigger ci

* pin scipy

* Revert "pin scipy"

This reverts commit 492ad40.

* take Soran's forward fix for scipy fac2

* revert the scipy un-pinning and forward fix - just pin scipy

* remove lower bound in files that didn't have them

* remove autograd lower bound

* Implement new Dataset class using HDF5 (#4369)

* rename changelog

* test

* rename changelog back

* changes from 9f5939e

* changes from b6dc487

* changes until 01d9141

* changes until 935832e

* changes until 76c4ae8

* trigger ci

* newline

* revert

* changes until 3b59d71

* trigger ci

* Make qchem compatible with scipy factorial2 (#4387)

* pull diff from #4321

* unpin scipy

* Release notes and version bump (#4385)

* changelog and version bump

* Add qchem changes

* Apply suggestions from code review

Co-authored-by: Tom Bromley <[email protected]>

---------

Co-authored-by: Tom Bromley <[email protected]>

* pin autoray (#4399)

* raise error with actual identifier name (#4405)

* Escape special characters in Dataset URL (#4412)

* url escape

* remove debug

* update changelog

* pylint

* Update doc/releases/changelog-0.31.1.md

Co-authored-by: Matthew Silverman <[email protected]>

---------

Co-authored-by: Matthew Silverman <[email protected]>

* BUGFIX: ensure that operators are not queued upon deserialization (#4414)

* ensure that operators are not queued upon deserialization

* Update tests/data/attributes/operator/test_operator.py

* Updated the datasets docs (#4400)

* Updated the datasets docs

* Update doc/Makefile

* a few more

* Apply suggestions from code review

Co-authored-by: Utkarsh <[email protected]>

* Apply suggestions from code review

Co-authored-by: Diego <[email protected]>

* Update pennylane/data/data_manager/__init__.py

Co-authored-by: Josh Izaac <[email protected]>

* fix typo

* fix typo

---------

Co-authored-by: Utkarsh <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: Diego <[email protected]>

* Fix error message when successively loading the same dataset (#4422)

* Fix Attribute Error when accessing identifiers on partial dataset (#4413)

* no exception if identifiers are not downloaded

* always download identifiers

* Update tests/data/test_dataset.py

Co-authored-by: Matthew Silverman <[email protected]>

* add error message

---------

Co-authored-by: Matthew Silverman <[email protected]>

* Update tests/tape/test_qscript.py

* Update setup.py

* Update requirements.txt

Co-authored-by: Edward Jiang <[email protected]>

---------

Co-authored-by: David Wierichs <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: lillian542 <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>
Co-authored-by: Mudit Pandey <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>
Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: BorjaRequena <[email protected]>
Co-authored-by: Jay Soni <[email protected]>
Co-authored-by: Jack Brown <[email protected]>
Co-authored-by: Josh Izaac <[email protected]>
Co-authored-by: Utkarsh <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: albi3ro <[email protected]>

* Integrate `TransformProgram` with `QNode` (#4404)

* Draft structure

* draf exec

* Simple execute

* Update

* More tests

* Update

* Update exec

* Pylint and black

* Update tests

* Update more tests

* More tests

* changelog

* Coverage

* Cover fix

* pylint

* Pylint

* Pylint tests

* proposed changes to transform program integration

* oops

* add to legacy, remove cotransform support

* just transform program call component

* just transform program call component

* no longer support cotransforms, fix _batch_postprocessing

* some more testing

* test null postprocessing function

* docstring, rename batch_slices to slices, black

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

* integrate transform program with qnode

* adding integration tests

* test modifications

* [skip ci] fiddling

* more testing

* changelog entry

* add to execute, start on testing

* add qml.execute tests

* Update doc/releases/changelog-dev.md

Co-authored-by: Matthew Silverman <[email protected]>

* fix test

---------

Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* move multiprocessing pre-processing to preprocess (#4425)

* move multiprocessing pre-processing to preprocess

* add test for None case

* you knew it was a bad idea... 🙃

* changelog

* Remove `parametric_ops.py` (#4434)

* Removed `parametric_ops.py`

* Fixed test

---------

Co-authored-by: Christina Lee <[email protected]>

* Updated signature

* Removed `dev_wires` arg

* Fixed defer_measurements

* Fixed tests

* Fixed tests

* Update mid_measure tests

* Updated how queuing for `MidMeasureMP` works

* Updated tests

* Added tests

* Add converter function for PySCF's CISD to PennyLane statevector (#4427)

* Updated init

* Reverted queuing change

* Trigger CI

* Added documentation

* Trigger CI

* Trigger CI

* Update docs

* Updated measurement value

* Updated changelog

* Update doc/releases/changelog-dev.md

* Updated tests

* Fix transmon Hamiltonians (#4418)

* Fix transmon Hamiltonians

* black

* docs update

* docs

* update changelog

* small updates

* Update pennylane/pulse/transmon.py

Co-authored-by: David Wierichs <[email protected]>

* Update pennylane/pulse/transmon.py

Co-authored-by: David Wierichs <[email protected]>

* black

* code review

* formatting

* Update pennylane/pulse/transmon.py

Co-authored-by: David Wierichs <[email protected]>

* Update tests/pulse/test_transmon.py

Co-authored-by: David Wierichs <[email protected]>

---------

Co-authored-by: David Wierichs <[email protected]>

* Updated measurement value

* Updated changelog

* Update doc/releases/changelog-dev.md

* Updated tests

* Added qubit reuse and reset

* Removed `MeasurementValue`

* Integrate `TransformProgram` with `QNode` (#4404)

* Draft structure

* draf exec

* Simple execute

* Update

* More tests

* Update

* Update exec

* Pylint and black

* Update tests

* Update more tests

* More tests

* changelog

* Coverage

* Cover fix

* pylint

* Pylint

* Pylint tests

* proposed changes to transform program integration

* oops

* add to legacy, remove cotransform support

* just transform program call component

* just transform program call component

* no longer support cotransforms, fix _batch_postprocessing

* some more testing

* test null postprocessing function

* docstring, rename batch_slices to slices, black

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

* integrate transform program with qnode

* adding integration tests

* test modifications

* [skip ci] fiddling

* more testing

* changelog entry

* add to execute, start on testing

* add qml.execute tests

* Update doc/releases/changelog-dev.md

Co-authored-by: Matthew Silverman <[email protected]>

* fix test

---------

Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* Removed `dev_wires` arg

* Fixed tests

* Update mid_measure tests

* Trigger CI

* Trigger CI

* Trigger CI

* Updated tests

* Updated tests

* Remove references to measurement_ids

* Removed weird code

* Add converter function for PySCF's RCISD and CCSD/UCCSD to PennyLane statevector (#4433)

* Remove references to measurement_ids

* Updated init

* linting

* Removed merge artifacts

* Fixing tests

* Fixed tests

* Linting

* Testing to see if doc build fails

* Check doc build

* Progressing docs

* Updated doc

* doc test

* Testing doc

* Updated docstring

* Changed docstring (hopefully the last time)

* Apply suggestions from code review

Co-authored-by: Christina Lee <[email protected]>

* Updating docs

* linting

* Removed old comment

* Added optimization

* Fixed preprocess test

* linting

* Cleaning up

* Adding tests

* Finish adding tests

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

* Updated docstring per review

---------

Co-authored-by: Edward Jiang <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: BorjaRequena <[email protected]>
Co-authored-by: David Wierichs <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: lillian542 <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: Jay Soni <[email protected]>
Co-authored-by: Jack Brown <[email protected]>
Co-authored-by: Josh Izaac <[email protected]>
Co-authored-by: Utkarsh <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: albi3ro <[email protected]>
Co-authored-by: Stepan Fomichev <[email protected]>
mlxd pushed a commit that referenced this pull request Aug 23, 2023
* Added qubit reuse and reset

* Fixed `defer_measurements`

* Removed `MeasurementValue`

* Update type hint

* Removed `MeasurementValue`

* Add VJP/JVP capabilities to `DefaultQubit2` (#4374)

* Add vjp/jvp capabilities

* pylint

* some tests for simulate

* Fix syntax error

* Split simulate

* Add some tests

* pylint

* more device tests

* pylint and fix tests

* change tracker keys

* Update pennylane/devices/qubit/adjoint_jacobian.py

Co-authored-by: Christina Lee <[email protected]>

* other places

* Add docs for simulate funcs

* revert suggestion

* Remove validation

* Add validation for use_device_gradient

* remove None case

* use device gradient in validation

* changelog

---------

Co-authored-by: Christina Lee <[email protected]>

* Initialize `DefaultQubit2` local rng from global rng if no seed provided (#4394)

* initialize dev rng from global state

* change default value to global str

* Apply suggestions from code review

Co-authored-by: Frederik Wilde <[email protected]>

* Update tests/devices/experimental/test_default_qubit_2.py

* fix indentation

---------

Co-authored-by: Frederik Wilde <[email protected]>

* Changes to remove use of `Operator.__eq__` (#4398)

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Updated tape tests

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Update pennylane/ops/functions/equal.py

Co-authored-by: Christina Lee <[email protected]>

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Christina Lee <[email protected]>

* Make autoray changes backwards compatible (#4397)

* Fixes for new autoray version

* unused import

* Use if instead of try-except

* Fix case of two torch tensors

* pin autoray

* dispatch

* test with new version

* Raise warning in Operator `__eq__` and `__hash__` about change in behaviour (#4144)

* Updated Operator

* Added tests

* Updated warning

* black

* Updated warning text

* black

* Update doc/development/deprecations.rst

* Updated docs, tests

* Updated deprecations.rst

* Fixing tests

* Updated tests and warnings

* Pylint

* Testing warnings

* Testing changes

* Updated tests

* testing what breaks

* Checking tests

* Testing changes

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Updated tape tests

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Testing changes to operator __eq__

* Updated until `nodes_between`

* Updated metric tensor, circuit graph

* Updating `qml.equal`

* Linters

* Fixes for new autoray version (#4396)

* Fixes for new autoray version

* unused import

* Use if instead of try-except

* Fix case of two torch tensors

* Updated tape tests

* Add ability to apply `TransformProgram` to batch of tapes (#4364)

* Draft structure

* draf exec

* Simple execute

* Update

* More tests

* Update

* Update exec

* Pylint and black

* Update tests

* Update more tests

* More tests

* changelog

* Coverage

* Cover fix

* pylint

* Pylint

* Pylint tests

* proposed changes to transform program integration

* oops

* add to legacy, remove cotransform support

* just transform program call component

* just transform program call component

* no longer support cotransforms, fix _batch_postprocessing

* some more testing

* test null postprocessing function

* docstring, rename batch_slices to slices, black

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

---------

Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* torch qnode integration with DefaultQubit2 (#4392)

* copy-paste torch file; replace device in most places

* make tests work; little changes in pennylane

* pylint fix

* changelog

* update test name and docstring for hamiltonian_expand

* minimal test for single-shot bugfix

* Added coverage

* Updates changelog

* Removed changes to __eq__ and __hash__

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* Updated deprecations to 0.32

* Added warnings

* Trigger CI

* Removed docstrings

* Added correctness test

* Trigger CI

---------

Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Edward Jiang <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: rmoyard <[email protected]>

* Tensorflow qnode integration with DefaultQubit2 (#4393)

* copy-paste tf files

* make tests work; little changes in pennylane

* changes coming from torch PR first

* update remaining test files

* support tf.function by adding empty kwargs

* update copyright year in test files

* changelog

* put all qnode integrations together

* remove turning warning into error (#4409)

* Fix jax.ad deprecation. (#4403)

* Fix jax.ad deprecation.

* Update changelog.

* Print name of requested device in DeviceError.

* Force push.

* Fix pytest.raises in test_device.py

* fix `has_decomposition` for ControlledQubitUnitary (#4407)

* fix has_decomposition for ControlledQubitUnitary

* changelog

* add comment; add test when super returns False

* [sc-36527]: Add new robots.txt to doc build to hide latest build from search engine (#4423)

* Adding a `wire_order` kwarg to `Tensor.sparse_matrix()` (#4424)

* `wire_order` kwarg for `Tensor.sparse_matrix()`

* update changelog

* swap kwarg order

Co-authored-by: Matthew Silverman <[email protected]>

* adapt docstring to the kwarg order swap

* add comment about using  over

---------

Co-authored-by: Matthew Silverman <[email protected]>

* Updated defer_measurements post-merge

* Fixed defer_measurements

* Updated test

* Updated class signature

* Updating keys

* Updated id process

* Updated changelog

* Updated changelog

* Adds shots to experimental device interface and integrate with QNode (#4388)

* default shots on new device interface

* make fewer changes and clean stuff up later

* fix tests, lint, and sphinx

* Update doc/releases/changelog-dev.md

* Update tests/interfaces/test_set_shots.py

Co-authored-by: Matthew Silverman <[email protected]>

* Update tests/devices/experimental/test_default_qubit_2.py

* make set_shots error with new device, shots type hinting

* Update doc/releases/changelog-dev.md

Co-authored-by: Tom Bromley <[email protected]>

* Update pennylane/interfaces/set_shots.py

Co-authored-by: Matthew Silverman <[email protected]>

* Apply suggestions from code review

* Update tests/devices/experimental/test_default_qubit_2.py

* merge problem

* black

* Update doc/releases/changelog-dev.md

* Update pennylane/qnode.py

Co-authored-by: Edward Jiang <[email protected]>

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: Edward Jiang <[email protected]>

* QNSPSA bugfix (#4421)

* qnspsa bugfix

* Update doc/releases/changelog-dev.md

* Update tests/optimize/test_qnspsa.py

Co-authored-by: Matthew Silverman <[email protected]>

---------

Co-authored-by: Matthew Silverman <[email protected]>

* Update changelog

* Updated defer_measurements for device wires

* Removed error from drawable layers

* Update changelog

* Updated drawable layers test

* Updated signatures

* Updated signatures

* Merge `v0.31.1-rc0` branch into master (#4428)

* Support `HardwareHamiltonian` pulses in `stoch_pulse_grad` (#4215)

* single out gradient transform checks

* rename stochastic pulse gradient file

* unify gradient_analysis and grad_method_validation

* continue restructure of analysis+validation

* CV

* black

* modularize more

* more modularizing

* black

* tiny [skip ci]

* [skip ci] lint

* remove dummy test

* test fix

* add test file to linting test file

* test fixes, docstrings

* code review

* docstring gradient_analysis_and_grad_method_validation

* move first fun

* code review:move functions

* test regex

* regexs

* move and promote reorder_grads

* tmp

* more tmp

* test cases, contractions

* lint

* docstring

* even more tmp

* cleanup

* black

* tmp

* lint

* move stoch_pulse_gradient.. files back to pulse_gradient...

* move stoch_pulse_gradient.. files back to pulse_gradient...

* lint

* rename

* extend functions and tests

* lint and black

* changelog

* improve

* update example to include non-Pauli word generator

* add jit test with pauli sentence

* tmp

* debugging, docstring, extend test

* review

* optimize for Pauli words

* Apply suggestions from code review

Co-authored-by: Romain Moyard <[email protected]>

* test cases code review

* fix parametrization

* drafting

* working prototype

* finish merge; cleanup

* changelog

* comments

* [skip ci]

* raising an error; cleanup [skip ci]

* Apply suggestions from code review

Co-authored-by: Korbinian Kottmann <[email protected]>

* change contraction idea

* typo in docs

* tests

* remove prints

* fix test

* test descriptions

* fix merge

* format

* code review; test coverage

* coverage reordering

* fix

* trigger CI

* trigger

* clear caches

* trigger

* trigger

---------

Co-authored-by: Romain Moyard <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>

* Fix batching of derivative tapes in autograd (#4245)

* Fix `expval` of `Sum` with broadcasting (#4275)

* fix bug and add test

* changelog addition

* Various doc fixes (#4268)

* Various things while validating changes for 0.31 (#4279)

* change link in setup.py

* fix qchem docs

* fix qcut docs

* rename string function (#4278)

* Update docs (#4269)

* Incrementing the version number to `v0.32.0-dev` (#4266)

* pre-release for v0.31.0

* Update doc/releases/changelog-0.31.0.md

* Incrementing the version number to v0.32.0-dev

* Update installation.rst (#4247)

Update Python version to 3.8

Co-authored-by: Romain Moyard <[email protected]>

* docs typos

* don't include updating versioning from master

* don't include python requirements from master

* update example output for shot_vector

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* fix entirely unrelated rendering issue

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>

* Minor fixes for v0.31 (#4280)

* Added fixes

* Update pennylane/ops/qubit/matrix_ops.py

Co-authored-by: Matthew Silverman <[email protected]>

* Update pennylane/ops/qubit/matrix_ops.py

---------

Co-authored-by: Matthew Silverman <[email protected]>

* add graphviz to RTD apt packages (#4284)

* Pulse gradient methods docs polish (#4282)

* stoch pulse docs update

* generator method docs update

* small fixes / typos

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <[email protected]>

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <[email protected]>

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <[email protected]>

* code review

* Update pennylane/gradients/pulse_gradient.py

Co-authored-by: David Wierichs <[email protected]>

* code review

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: Frederik Wilde <[email protected]>

* large |

* add equal to

---------

Co-authored-by: David Wierichs <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>

* 0.31 release notes (#4218)

* Add categories

* First pass at categorization

* More categorization

* More categorization

* Typo

* Add first half of resource estimation text

* Improvements

* Add custom ops resource estimation

* Update wording

* Improve entry

* Move

* Move

* Move

* Update

* Add details about Torch and Keras

* Add entry

* Add contributor

* Add to Keras and Torch layer section

* Add saving and loading details

* Add entry

* Add contributor

* Add contributor

* Add qutrit basis state example

* first round of edits

* Remove

* Add entry for one_qubit_decompostition

* more changes

* Reorder sections

* fermi blurb

* minor

* Update

* Add

* Update doc/releases/changelog-dev.md

Co-authored-by: Isaac De Vlugt <[email protected]>

* Update doc/releases/changelog-dev.md

Co-authored-by: Isaac De Vlugt <[email protected]>

* update fermionic code examples

* additions

* minor

* restructure sections

* minor

* minor

* reorder fermi section

* fixed fermi section

* various small changes

* Tweaks to fermionic

* Tweaks to resource and UH sections

* Improvements

* Move

* Update doc/releases/changelog-0.31.0.md

* minior

* minor

* minor

* minor

* minor

* Update

* minor

* use from_string for fermi ops

* Add link

* Update doc/releases/changelog-0.31.0.md

* added links and other minor things

* Update doc/releases/changelog-0.31.0.md

* Update doc/releases/changelog-0.31.0.md

* minor

* minor

* deleted extraneous notebook

* Apply suggestions from code review

Co-authored-by: Tom Bromley <[email protected]>

---------

Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: soranjh <[email protected]>

* Allow updating dense kwarg in call of ParametrizedEvolution (#4285)

* add dense kwarg to call

* update changelog

* update changelog better

* changelog formatting

---------

Co-authored-by: Korbinian Kottmann <[email protected]>

* Remove line in code example to make docs render properly. (#4290)

* Pin autograd to <= 1.5 (#4289)

* pin autograd to 1.5 or less

* allow autograd 1.4 as well

* pin for doc build as well

* Add dm_from_state_vector function to qml.math docs page. (#4291)

* Fix `ShotAdaptiveOptimizer` to prevent removing shot vector axes (#4240)

* Updated `ShotAdaptiveOpt` per suggestion in issue

* Reformatting

* Testing changes

* Fixed bug

* Updated min to max

* Allow classical shadow measurements in new device (#4162)

* Support classical shadow measurements

* Add shot vector tests

* Address comments

* Add comment for diag_list

* Apply suggestions from code review

Co-authored-by: Christina Lee <[email protected]>

* Fix

* Add unit tests for process_state_with_shots

* Update preprocessing

* Apply suggestions from code review

Co-authored-by: Frederik Wilde <[email protected]>

* Address PR comments

* set rng for test

---------

Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>

* Add the `fermi` module docs (#4250)

* support trainable Sum observables (#4251)

* support trainable Sum observables (analytic only)

* just use pre-rotated state; use super with finite shots

* fix tests; add test for trainable Sum coeffs

* changelog

* use overlapping wires to prove they work

* add hacky gradient support

* Revert "add hacky gradient support"

This reverts commit 09009c8.

* set interface=None to keep test behaviour

* Integrate experimental device with the `QNode` (#4196)

* integrate qnode with new device

* some diff method improvements

* repr methods

* add tests, always pass config to device

* add tests, always pass config to device

* final test

* pylint

* autograd integration tests

* pylint

* Update pennylane/interfaces/execution.py

Co-authored-by: Matthew Silverman <[email protected]>

* pass shots through methods

* changelog

* revert set shots change

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

* revert executionc hange, pylint:

* pylint again

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>

* pre-release for v0.31.0 (#4265)

* pre-release for v0.31.0

* Update doc/releases/changelog-0.31.0.md

* Support `HardwareHamiltonian` pulses in `stoch_pulse_grad` (#4215)

* single out gradient transform checks

* rename stochastic pulse gradient file

* unify gradient_analysis and grad_method_validation

* continue restructure of analysis+validation

* CV

* black

* modularize more

* more modularizing

* black

* tiny [skip ci]

* [skip ci] lint

* remove dummy test

* test fix

* add test file to linting test file

* test fixes, docstrings

* code review

* docstring gradient_analysis_and_grad_method_validation

* move first fun

* code review:move functions

* test regex

* regexs

* move and promote reorder_grads

* tmp

* more tmp

* test cases, contractions

* lint

* docstring

* even more tmp

* cleanup

* black

* tmp

* lint

* move stoch_pulse_gradient.. files back to pulse_gradient...

* move stoch_pulse_gradient.. files back to pulse_gradient...

* lint

* rename

* extend functions and tests

* lint and black

* changelog

* improve

* update example to include non-Pauli word generator

* add jit test with pauli sentence

* tmp

* debugging, docstring, extend test

* review

* optimize for Pauli words

* Apply suggestions from code review

Co-authored-by: Romain Moyard <[email protected]>

* test cases code review

* fix parametrization

* drafting

* working prototype

* finish merge; cleanup

* changelog

* comments

* [skip ci]

* raising an error; cleanup [skip ci]

* Apply suggestions from code review

Co-authored-by: Korbinian Kottmann <[email protected]>

* change contraction idea

* typo in docs

* tests

* remove prints

* fix test

* test descriptions

* fix merge

* format

* code review; test coverage

* coverage reordering

* fix

* trigger CI

* trigger

* clear caches

* trigger

* trigger

---------

Co-authored-by: Romain Moyard <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>

* Fix batching of derivative tapes in autograd (#4245)

* Fix `expval` of `Sum` with broadcasting (#4275)

* fix bug and add test

* changelog addition

* Various doc fixes (#4268)

* Various things while validating changes for 0.31 (#4279)

* change link in setup.py

* fix qchem docs

* fix qcut docs

* rename string function (#4278)

* Update docs (#4269)

* Incrementing the version number to `v0.32.0-dev` (#4266)

* pre-release for v0.31.0

* Update doc/releases/changelog-0.31.0.md

* Incrementing the version number to v0.32.0-dev

* Update installation.rst (#4247)

Update Python version to 3.8

Co-authored-by: Romain Moyard <[email protected]>

* docs typos

* don't include updating versioning from master

* don't include python requirements from master

* update example output for shot_vector

* Update pennylane/operation.py

Co-authored-by: Matthew Silverman <[email protected]>

* fix entirely unrelated rendering issue

---------

Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>

* Minor fixes for v0.31 (#4280)

* Added fixes

* Update pennylane/ops/qubit/matrix_ops.py

Co-authored-by: Matthew Silverman <[email protected]>

* Update pennylane/ops/qubit/matrix_ops.py

---------

Co-authored-by: Matthew Silverman <[email protected]>

* add graphviz to RTD apt packages (#4284)

* Updated test

---------

Co-authored-by: Edward Jiang <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>
Co-authored-by: David Wierichs <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: lillian542 <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>

* Make links to qml.eigvals and the eigvals method appear distinctly. (#4292)

* Make links to qml.eigvals and the eigvals method appear distinctly in the docstring of compute_method.

* Make links more informative.

---------

Co-authored-by: Matthew Silverman <[email protected]>

* Device API review (#4283)

* fix  example

* minor docstring change in `_zyz_decomposition`

* update decomposition examples

* update counts & samples docstrings

* Shots class link

* Fix code block

* Change note

Co-authored-by: Edward Jiang <[email protected]>

---------

Co-authored-by: Edward Jiang <[email protected]>

* remove duplicate controlled operation entries (#4298)

* Refer to class QNode in ml layers (#4299)

* Specs dict fix (#4286)

* Add copy function to SpecsDict.

* black

* Adjust docs to not throw warnings from deprecated specs keys.

* Formatting fix.

* update doc string

* update doc string

---------

Co-authored-by: Jay Soni <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* Fermionic ops in changelog (#4302)

* bump lightning to 0.31 in setup.py, pin scipy to [1.8,1.10] (#4304)

* bump lightning to 0.31 in setup.py

* trigger ci

* pin scipy

* Revert "pin scipy"

This reverts commit 492ad40.

* take Soran's forward fix for scipy fac2

* revert the scipy un-pinning and forward fix - just pin scipy

* remove lower bound in files that didn't have them

* remove autograd lower bound

* Implement new Dataset class using HDF5 (#4369)

* rename changelog

* test

* rename changelog back

* changes from 9f5939e

* changes from b6dc487

* changes until 01d9141

* changes until 935832e

* changes until 76c4ae8

* trigger ci

* newline

* revert

* changes until 3b59d71

* trigger ci

* Make qchem compatible with scipy factorial2 (#4387)

* pull diff from #4321

* unpin scipy

* Release notes and version bump (#4385)

* changelog and version bump

* Add qchem changes

* Apply suggestions from code review

Co-authored-by: Tom Bromley <[email protected]>

---------

Co-authored-by: Tom Bromley <[email protected]>

* pin autoray (#4399)

* raise error with actual identifier name (#4405)

* Escape special characters in Dataset URL (#4412)

* url escape

* remove debug

* update changelog

* pylint

* Update doc/releases/changelog-0.31.1.md

Co-authored-by: Matthew Silverman <[email protected]>

---------

Co-authored-by: Matthew Silverman <[email protected]>

* BUGFIX: ensure that operators are not queued upon deserialization (#4414)

* ensure that operators are not queued upon deserialization

* Update tests/data/attributes/operator/test_operator.py

* Updated the datasets docs (#4400)

* Updated the datasets docs

* Update doc/Makefile

* a few more

* Apply suggestions from code review

Co-authored-by: Utkarsh <[email protected]>

* Apply suggestions from code review

Co-authored-by: Diego <[email protected]>

* Update pennylane/data/data_manager/__init__.py

Co-authored-by: Josh Izaac <[email protected]>

* fix typo

* fix typo

---------

Co-authored-by: Utkarsh <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: Diego <[email protected]>

* Fix error message when successively loading the same dataset (#4422)

* Fix Attribute Error when accessing identifiers on partial dataset (#4413)

* no exception if identifiers are not downloaded

* always download identifiers

* Update tests/data/test_dataset.py

Co-authored-by: Matthew Silverman <[email protected]>

* add error message

---------

Co-authored-by: Matthew Silverman <[email protected]>

* Update tests/tape/test_qscript.py

* Update setup.py

* Update requirements.txt

Co-authored-by: Edward Jiang <[email protected]>

---------

Co-authored-by: David Wierichs <[email protected]>
Co-authored-by: Romain Moyard <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: lillian542 <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>
Co-authored-by: Mudit Pandey <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>
Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: BorjaRequena <[email protected]>
Co-authored-by: Jay Soni <[email protected]>
Co-authored-by: Jack Brown <[email protected]>
Co-authored-by: Josh Izaac <[email protected]>
Co-authored-by: Utkarsh <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: albi3ro <[email protected]>

* Integrate `TransformProgram` with `QNode` (#4404)

* Draft structure

* draf exec

* Simple execute

* Update

* More tests

* Update

* Update exec

* Pylint and black

* Update tests

* Update more tests

* More tests

* changelog

* Coverage

* Cover fix

* pylint

* Pylint

* Pylint tests

* proposed changes to transform program integration

* oops

* add to legacy, remove cotransform support

* just transform program call component

* just transform program call component

* no longer support cotransforms, fix _batch_postprocessing

* some more testing

* test null postprocessing function

* docstring, rename batch_slices to slices, black

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

* integrate transform program with qnode

* adding integration tests

* test modifications

* [skip ci] fiddling

* more testing

* changelog entry

* add to execute, start on testing

* add qml.execute tests

* Update doc/releases/changelog-dev.md

Co-authored-by: Matthew Silverman <[email protected]>

* fix test

---------

Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* move multiprocessing pre-processing to preprocess (#4425)

* move multiprocessing pre-processing to preprocess

* add test for None case

* you knew it was a bad idea... 🙃

* changelog

* Remove `parametric_ops.py` (#4434)

* Removed `parametric_ops.py`

* Fixed test

---------

Co-authored-by: Christina Lee <[email protected]>

* Updated signature

* Removed `dev_wires` arg

* Fixed defer_measurements

* Fixed tests

* Fixed tests

* Update mid_measure tests

* Updated how queuing for `MidMeasureMP` works

* Updated tests

* Added tests

* Add converter function for PySCF's CISD to PennyLane statevector (#4427)

* Updated init

* Reverted queuing change

* Trigger CI

* Added documentation

* Trigger CI

* Trigger CI

* Update docs

* Updated measurement value

* Updated changelog

* Update doc/releases/changelog-dev.md

* Updated tests

* Fix transmon Hamiltonians (#4418)

* Fix transmon Hamiltonians

* black

* docs update

* docs

* update changelog

* small updates

* Update pennylane/pulse/transmon.py

Co-authored-by: David Wierichs <[email protected]>

* Update pennylane/pulse/transmon.py

Co-authored-by: David Wierichs <[email protected]>

* black

* code review

* formatting

* Update pennylane/pulse/transmon.py

Co-authored-by: David Wierichs <[email protected]>

* Update tests/pulse/test_transmon.py

Co-authored-by: David Wierichs <[email protected]>

---------

Co-authored-by: David Wierichs <[email protected]>

* Updated measurement value

* Updated changelog

* Update doc/releases/changelog-dev.md

* Updated tests

* Added qubit reuse and reset

* Removed `MeasurementValue`

* Integrate `TransformProgram` with `QNode` (#4404)

* Draft structure

* draf exec

* Simple execute

* Update

* More tests

* Update

* Update exec

* Pylint and black

* Update tests

* Update more tests

* More tests

* changelog

* Coverage

* Cover fix

* pylint

* Pylint

* Pylint tests

* proposed changes to transform program integration

* oops

* add to legacy, remove cotransform support

* just transform program call component

* just transform program call component

* no longer support cotransforms, fix _batch_postprocessing

* some more testing

* test null postprocessing function

* docstring, rename batch_slices to slices, black

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

* integrate transform program with qnode

* adding integration tests

* test modifications

* [skip ci] fiddling

* more testing

* changelog entry

* add to execute, start on testing

* add qml.execute tests

* Update doc/releases/changelog-dev.md

Co-authored-by: Matthew Silverman <[email protected]>

* fix test

---------

Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>

* Removed `dev_wires` arg

* Fixed tests

* Update mid_measure tests

* Trigger CI

* Trigger CI

* Trigger CI

* Updated tests

* Updated tests

* Remove references to measurement_ids

* Removed weird code

* Add converter function for PySCF's RCISD and CCSD/UCCSD to PennyLane statevector (#4433)

* Remove references to measurement_ids

* Updated init

* linting

* Removed merge artifacts

* Fixing tests

* Fixed tests

* Linting

* Testing to see if doc build fails

* Check doc build

* Progressing docs

* Updated doc

* doc test

* Testing doc

* Updated docstring

* Changed docstring (hopefully the last time)

* Apply suggestions from code review

Co-authored-by: Christina Lee <[email protected]>

* Updating docs

* linting

* Removed old comment

* Added optimization

* Fixed preprocess test

* linting

* Cleaning up

* Adding tests

* Finish adding tests

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <[email protected]>

* Updated docstring per review

---------

Co-authored-by: Edward Jiang <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Frederik Wilde <[email protected]>
Co-authored-by: Matthew Silverman <[email protected]>
Co-authored-by: Tom Bromley <[email protected]>
Co-authored-by: rmoyard <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: BorjaRequena <[email protected]>
Co-authored-by: David Wierichs <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: Korbinian Kottmann <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: lillian542 <[email protected]>
Co-authored-by: Catalina Albornoz <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: Isaac De Vlugt <[email protected]>
Co-authored-by: soranjh <[email protected]>
Co-authored-by: Jay Soni <[email protected]>
Co-authored-by: Jack Brown <[email protected]>
Co-authored-by: Josh Izaac <[email protected]>
Co-authored-by: Utkarsh <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: Diego <[email protected]>
Co-authored-by: albi3ro <[email protected]>
Co-authored-by: Stepan Fomichev <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants