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

Fix incorrect gradient in qml.Select #4526

Merged
merged 11 commits into from Aug 25, 2023
Merged

Conversation

DSGuala
Copy link
Contributor

@DSGuala DSGuala commented Aug 25, 2023

Description of the Change:
Fixes issue with qml.Select that gave incorrect gradients when using parameter-shift:

>>> dev = qml.device('default.qubit', wires=4)
>>> @qml.qnode(dev, diff_method="parameter-shift")
>>> def circuit(x):
>>>     ops = [qml.RX(x, wires=2), qml.PauliX(wires=3), qml.PauliY(wires=2), qml.SWAP([2,3])]
>>>     qml.Select(ops, control_wires=(0,1))
>>>     return qml.expval(qml.PauliZ(2))
>>> qml.grad(circuit)(qml.numpy.array(0.5))
array(0.)
>>> dev = qml.device('default.qubit', wires=4)
>>> @qml.qnode(dev, diff_method="parameter-shift", expansion_strategy="device")
>>> def circuit(x):
>>>     ops = [qml.RX(x, wires=2), qml.PauliX(wires=3), qml.PauliY(wires=2), qml.SWAP([2,3])]
>>>     qml.Select(ops, control_wires=(0,1))
>>>     return qml.expval(qml.PauliZ(2))
>>> qml.grad(circuit)(qml.numpy.array(0.5))
-0.479425538604203

Benefits:
Solves differentiability issues.

Possible Drawbacks:
Adding more differentiable parameters to Select makes the circuit drawing wider:

0: ─╭Select(0.50,0.50,0.50)─┤     
1: ─├Select(0.50,0.50,0.50)─┤     
2: ─├Select(0.50,0.50,0.50)─┤  <Z>
3: ─╰Select(0.50,0.50,0.50)─┤  

@DSGuala DSGuala changed the base branch from master to v0.32.0-rc0 August 25, 2023 20:06
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.

Thanks for that change 👍 Looks good to me :)
Screenshot 2023-08-25 at 4 27 14 PM

@DSGuala DSGuala added this to the v0.32 milestone Aug 25, 2023
@DSGuala DSGuala enabled auto-merge (squash) August 25, 2023 20:56
@mudit2812 mudit2812 added the merge-ready ✔️ All tests pass and the PR is ready to be merged. label Aug 25, 2023
@codecov
Copy link

codecov bot commented Aug 25, 2023

Codecov Report

❗ No coverage uploaded for pull request base (v0.32.0-rc0@c0bce9a). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             v0.32.0-rc0    #4526   +/-   ##
==============================================
  Coverage               ?   99.71%           
==============================================
  Files                  ?      379           
  Lines                  ?    34398           
  Branches               ?        0           
==============================================
  Hits                   ?    34300           
  Misses                 ?       98           
  Partials               ?        0           

@DSGuala DSGuala merged commit d1b256d into v0.32.0-rc0 Aug 25, 2023
39 checks passed
@DSGuala DSGuala deleted the update_Select_params branch August 25, 2023 22:03
mudit2812 added a commit that referenced this pull request Aug 28, 2023
* [BUGFIX] Removing measurement process hash/equality warnings (#4498)

* Adding pytest error

* Fixed errors

* Update changelog

* linting

* Fixed utils

* Fixed error

* Update tests/ops/functions/test_equal.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Change versions (#4499)

* Trigger CI

* Trigger CI

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* [BUGFIX] Correctly display decimals in label for ParametrizedEvolution (#4151)

* add label fn to parametrizedevolution

* update changelog

* cache parameters if arrays

* reuse matrices if already in cache

* update tests

* trigger CI

* delete initial implementation (no longer used)

* test label with no params

* add linebreak between Parametrized and Evolution

* Update pennylane/pulse/parametrized_evolution.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* [BUGFIX] Fix `NaN` values in gradient of `qml.math.fidelity` (#4380)

* Fix grad of sqrt_matrix

* fix broadcasting

* Add more tests

* squash

* fix import errors

* Fix jax

* Fix eigh for jax and torch

* 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 <matthews@xanadu.ai>

* adapt docstring to the kwarg order swap

* add comment about using  over

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Fix `split_non_commuting` when tape contains both `expval` and `var` measurements (#4426)

* fix split non commuting

* changelog

* pylint

* 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 <matthews@xanadu.ai>

* 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 <49409390+trbromley@users.noreply.github.com>

* Update pennylane/interfaces/set_shots.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <34989448+eddddddy@users.noreply.github.com>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>

* QNSPSA bugfix (#4421)

* qnspsa bugfix

* Update doc/releases/changelog-dev.md

* Update tests/optimize/test_qnspsa.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <rmoyard@gmail.com>

* 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 <43949391+Qottmann@users.noreply.github.com>

* 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 <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>

* 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 <rmoyard@gmail.com>

* 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 <matthews@xanadu.ai>

* fix entirely unrelated rendering issue

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>

* Minor fixes for v0.31 (#4280)

* Added fixes

* Update pennylane/ops/qubit/matrix_ops.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Update pennylane/ops/qubit/matrix_ops.py

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <david.wierichs@xanadu.ai>

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>

* code review

* Update pennylane/gradients/pulse_gradient.py

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>

* code review

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* large |

* add equal to

---------

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* 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 <34751083+isaacdevlugt@users.noreply.github.com>

* Update doc/releases/changelog-dev.md

Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>

* 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 <49409390+trbromley@users.noreply.github.com>

---------

Co-authored-by: Isaac De Vlugt <isaacdevlugt@gmail.com>
Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>
Co-authored-by: soranjh <soranjh@yahoo.com>

* 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 <43949391+Qottmann@users.noreply.github.com>

* 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 <christina@xanadu.ai>

* Fix

* Add unit tests for process_state_with_shots

* Update preprocessing

* Apply suggestions from code review

Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* Address PR comments

* set rng for test

---------

Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* 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 <matthews@xanadu.ai>

* pass shots through methods

* changelog

* revert set shots change

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* revert executionc hange, pylint:

* pylint again

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>

* 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 <rmoyard@gmail.com>

* 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 <43949391+Qottmann@users.noreply.github.com>

* 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 <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>

* 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 <rmoyard@gmail.com>

* 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 <matthews@xanadu.ai>

* fix entirely unrelated rendering issue

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>

* Minor fixes for v0.31 (#4280)

* Added fixes

* Update pennylane/ops/qubit/matrix_ops.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Update pennylane/ops/qubit/matrix_ops.py

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* add graphviz to RTD apt packages (#4284)

* Updated test

---------

Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>
Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>
Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>
Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>
Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>

* 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 <matthews@xanadu.ai>

* 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 <34989448+eddddddy@users.noreply.github.com>

---------

Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>

* 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 <jbsoni@uwaterloo.ca>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <49409390+trbromley@users.noreply.github.com>

---------

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* 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 <matthews@xanadu.ai>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <utkarshazad98@gmail.com>

* Apply suggestions from code review

Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>

* Update pennylane/data/data_manager/__init__.py

Co-authored-by: Josh Izaac <josh146@gmail.com>

* fix typo

* fix typo

---------

Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>
Co-authored-by: Diego <diego_guala@hotmail.com>

* 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 <matthews@xanadu.ai>

* add error message

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Update tests/tape/test_qscript.py

* Update setup.py

* Update requirements.txt

Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>

---------

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>
Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>
Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Isaac De Vlugt <isaacdevlugt@gmail.com>
Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>
Co-authored-by: soranjh <soranjh@yahoo.com>
Co-authored-by: BorjaRequena <59647767+BorjaRequena@users.noreply.github.com>
Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>
Co-authored-by: Jack Brown <jack@xanadu.ai>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>
Co-authored-by: Diego <diego_guala@hotmail.com>
Co-authored-by: albi3ro <chrissie.c.l@gmail.com>

* 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 <matthews@xanadu.ai>

* 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 <matthews@xanadu.ai>

* fix test

---------

Co-authored-by: rmoyard <rmoyard@gmail.com>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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

* Add jit tests

* custom vjp for fidelity

* Update pennylane/math/quantum.py

Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* pylint

* more pylint

* import at runtime

* combine single and multi tests

* pylint

* changelog

* Add docs

* Rendering changes

* Update pennylane/math/fidelity.py

Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

---------

Co-authored-by: Vincent Michaud-Rioux <vincentm@nanoacademic.com>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Rashid N H M <95639609+rashidnhm@users.noreply.github.com>
Co-authored-by: BorjaRequena <59647767+BorjaRequena@users.noreply.github.com>
Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>
Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>
Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>
Co-authored-by: Isaac De Vlugt <isaacdevlugt@gmail.com>
Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>
Co-authored-by: soranjh <soranjh@yahoo.com>
Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>
Co-authored-by: Jack Brown <jack@xanadu.ai>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>
Co-authored-by: Diego <diego_guala@hotmail.com>
Co-authored-by: albi3ro <chrissie.c.l@gmail.com>

* Changed import_state to qml.qchem-level import (#4505)


Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>

* Minor documentation changes (#4515)

* fix some docs

* Update pennylane/tape/tape.py

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

---------

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* Minor documentation fixes for 0.32 release (#4513)

* Added doc changes

* Added MCM reuse/reset docs

* Updated qscript.bind_new_parameters docs

* Updated docs for state prep, spsa

* Update pennylane/qchem/convert.py

Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>

---------

Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>

* Update documentation (#4504)

* add example to bind_new_parameters

* clarify sentence in logging docs

* Update pennylane/tape/qscript.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Use fermi sentence in qchem spin functions (#4521)

* update spin2 with fermi sentence

* update spinz

* Change how Select is displayed in circuit drawer (#4506)

* Bump to dev (#4500)

* control_wires -> control

* rename wires in tests, black

* Edit changelog example

* remove rebasing issues

---------

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* little fixups from timmysilv for the 0.32 release (#4517)

* fixups for 0.32

* Update pennylane/measurements/mid_measure.py

* correct pyscf link in chemistry doc (#4525)

* More 0.32 related fixes (#4520)

* Remove function use that causes hash warning

* Remove MeasurementValueError

* Sphinx fix

* Changed to list comprehension

* bugfixes to unblock teleportation tutorial (#4518)

* bugfixes to unblock teleportation tutorial

* add tests for custom wire label support

---------

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* change links (#4491)

* Put `defer_measurements` back in QNode construction (#4516)

* Reverted defer_measurement changes

* Update doc/releases/changelog-0.32.0.md

* Added test

* Fixed test

---------

Co-authored-by: Christina Lee <christina@xanadu.ai>

* Fix incorrect gradient in qml.Select (#4526)

* Bump to dev (#4500)

* control_wires -> control

* rename wires in tests, black

* Edit changelog example

* remove rebasing issues

* update param usage and tests

---------

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* exclude files from pr

---------

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <vincentm@nanoacademic.com>
Co-authored-by: Rashid N H M <95639609+rashidnhm@users.noreply.github.com>
Co-authored-by: BorjaRequena <59647767+BorjaRequena@users.noreply.github.com>
Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>
Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>
Co-authored-by: Isaac De Vlugt <isaacdevlugt@gmail.com>
Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>
Co-authored-by: soranjh <soranjh@yahoo.com>
Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>
Co-authored-by: Jack Brown <jack@xanadu.ai>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>
Co-authored-by: Diego <diego_guala@hotmail.com>
Co-authored-by: albi3ro <chrissie.c.l@gmail.com>
Co-authored-by: Stepan Fomichev <stepan.fomichev95@gmail.com>
Co-authored-by: GitHub Actions Bot <>
mudit2812 added a commit that referenced this pull request Aug 28, 2023
* [BUGFIX] Removing measurement process hash/equality warnings (#4498)

* Adding pytest error

* Fixed errors

* Update changelog

* linting

* Fixed utils

* Fixed error

* Update tests/ops/functions/test_equal.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Change versions (#4499)

* Trigger CI

* Trigger CI

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* [BUGFIX] Correctly display decimals in label for ParametrizedEvolution (#4151)

* add label fn to parametrizedevolution

* update changelog

* cache parameters if arrays

* reuse matrices if already in cache

* update tests

* trigger CI

* delete initial implementation (no longer used)

* test label with no params

* add linebreak between Parametrized and Evolution

* Update pennylane/pulse/parametrized_evolution.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* [BUGFIX] Fix `NaN` values in gradient of `qml.math.fidelity` (#4380)

* Fix grad of sqrt_matrix

* fix broadcasting

* Add more tests

* squash

* fix import errors

* Fix jax

* Fix eigh for jax and torch

* 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 <matthews@xanadu.ai>

* adapt docstring to the kwarg order swap

* add comment about using  over

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Fix `split_non_commuting` when tape contains both `expval` and `var` measurements (#4426)

* fix split non commuting

* changelog

* pylint

* 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 <matthews@xanadu.ai>

* 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 <49409390+trbromley@users.noreply.github.com>

* Update pennylane/interfaces/set_shots.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <34989448+eddddddy@users.noreply.github.com>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>

* QNSPSA bugfix (#4421)

* qnspsa bugfix

* Update doc/releases/changelog-dev.md

* Update tests/optimize/test_qnspsa.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <rmoyard@gmail.com>

* 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 <43949391+Qottmann@users.noreply.github.com>

* 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 <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>

* 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 <rmoyard@gmail.com>

* 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 <matthews@xanadu.ai>

* fix entirely unrelated rendering issue

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>

* Minor fixes for v0.31 (#4280)

* Added fixes

* Update pennylane/ops/qubit/matrix_ops.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Update pennylane/ops/qubit/matrix_ops.py

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <david.wierichs@xanadu.ai>

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>

* code review

* Update pennylane/gradients/pulse_gradient.py

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>

* code review

* Update pennylane/gradients/pulse_generator_gradient.py

Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* large |

* add equal to

---------

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* 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 <34751083+isaacdevlugt@users.noreply.github.com>

* Update doc/releases/changelog-dev.md

Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>

* 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 <49409390+trbromley@users.noreply.github.com>

---------

Co-authored-by: Isaac De Vlugt <isaacdevlugt@gmail.com>
Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>
Co-authored-by: soranjh <soranjh@yahoo.com>

* 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 <43949391+Qottmann@users.noreply.github.com>

* 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 <christina@xanadu.ai>

* Fix

* Add unit tests for process_state_with_shots

* Update preprocessing

* Apply suggestions from code review

Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* Address PR comments

* set rng for test

---------

Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* 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 <matthews@xanadu.ai>

* pass shots through methods

* changelog

* revert set shots change

* Apply suggestions from code review

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* revert executionc hange, pylint:

* pylint again

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>

* 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 <rmoyard@gmail.com>

* 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 <43949391+Qottmann@users.noreply.github.com>

* 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 <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>

* 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 <rmoyard@gmail.com>

* 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 <matthews@xanadu.ai>

* fix entirely unrelated rendering issue

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>

* Minor fixes for v0.31 (#4280)

* Added fixes

* Update pennylane/ops/qubit/matrix_ops.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Update pennylane/ops/qubit/matrix_ops.py

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* add graphviz to RTD apt packages (#4284)

* Updated test

---------

Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>
Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>
Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>
Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>
Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>

* 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 <matthews@xanadu.ai>

* 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 <34989448+eddddddy@users.noreply.github.com>

---------

Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>

* 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 <jbsoni@uwaterloo.ca>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <49409390+trbromley@users.noreply.github.com>

---------

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* 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 <matthews@xanadu.ai>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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 <utkarshazad98@gmail.com>

* Apply suggestions from code review

Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>

* Update pennylane/data/data_manager/__init__.py

Co-authored-by: Josh Izaac <josh146@gmail.com>

* fix typo

* fix typo

---------

Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>
Co-authored-by: Diego <diego_guala@hotmail.com>

* 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 <matthews@xanadu.ai>

* add error message

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Update tests/tape/test_qscript.py

* Update setup.py

* Update requirements.txt

Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>

---------

Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>
Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>
Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Isaac De Vlugt <isaacdevlugt@gmail.com>
Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>
Co-authored-by: soranjh <soranjh@yahoo.com>
Co-authored-by: BorjaRequena <59647767+BorjaRequena@users.noreply.github.com>
Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>
Co-authored-by: Jack Brown <jack@xanadu.ai>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>
Co-authored-by: Diego <diego_guala@hotmail.com>
Co-authored-by: albi3ro <chrissie.c.l@gmail.com>

* 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 <matthews@xanadu.ai>

* 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 <matthews@xanadu.ai>

* fix test

---------

Co-authored-by: rmoyard <rmoyard@gmail.com>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* 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

* Add jit tests

* custom vjp for fidelity

* Update pennylane/math/quantum.py

Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

* pylint

* more pylint

* import at runtime

* combine single and multi tests

* pylint

* changelog

* Add docs

* Rendering changes

* Update pennylane/math/fidelity.py

Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>

---------

Co-authored-by: Vincent Michaud-Rioux <vincentm@nanoacademic.com>
Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: Rashid N H M <95639609+rashidnhm@users.noreply.github.com>
Co-authored-by: BorjaRequena <59647767+BorjaRequena@users.noreply.github.com>
Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>
Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>
Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>
Co-authored-by: Isaac De Vlugt <isaacdevlugt@gmail.com>
Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>
Co-authored-by: soranjh <soranjh@yahoo.com>
Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>
Co-authored-by: Jack Brown <jack@xanadu.ai>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>
Co-authored-by: Diego <diego_guala@hotmail.com>
Co-authored-by: albi3ro <chrissie.c.l@gmail.com>

* Changed import_state to qml.qchem-level import (#4505)


Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>

* Minor documentation changes (#4515)

* fix some docs

* Update pennylane/tape/tape.py

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

---------

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* Minor documentation fixes for 0.32 release (#4513)

* Added doc changes

* Added MCM reuse/reset docs

* Updated qscript.bind_new_parameters docs

* Updated docs for state prep, spsa

* Update pennylane/qchem/convert.py

Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>

---------

Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>

* Update documentation (#4504)

* add example to bind_new_parameters

* clarify sentence in logging docs

* Update pennylane/tape/qscript.py

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>

* Use fermi sentence in qchem spin functions (#4521)

* update spin2 with fermi sentence

* update spinz

* Change how Select is displayed in circuit drawer (#4506)

* Bump to dev (#4500)

* control_wires -> control

* rename wires in tests, black

* Edit changelog example

* remove rebasing issues

---------

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* little fixups from timmysilv for the 0.32 release (#4517)

* fixups for 0.32

* Update pennylane/measurements/mid_measure.py

* correct pyscf link in chemistry doc (#4525)

* More 0.32 related fixes (#4520)

* Remove function use that causes hash warning

* Remove MeasurementValueError

* Sphinx fix

* Changed to list comprehension

* bugfixes to unblock teleportation tutorial (#4518)

* bugfixes to unblock teleportation tutorial

* add tests for custom wire label support

---------

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* change links (#4491)

* Put `defer_measurements` back in QNode construction (#4516)

* Reverted defer_measurement changes

* Update doc/releases/changelog-0.32.0.md

* Added test

* Fixed test

---------

Co-authored-by: Christina Lee <christina@xanadu.ai>

* Fix incorrect gradient in qml.Select (#4526)

* Bump to dev (#4500)

* control_wires -> control

* rename wires in tests, black

* Edit changelog example

* remove rebasing issues

* update param usage and tests

---------

Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai>

* v0.32 release notes (#4496)

* create PR

* initial grammar check

* shuffling

* Work on titles

* Add contributor

* Rearrange

* Rearrange

* Rearrange

* Update

* Update

* Rearrange

* Rearrange

* Rearrange

* Rearrange

* Rearrange

* Rearrange

* Add LCU block encodings

* Add

* Rearrange

* minor add-ons and corrections

* modify qchem initial state section

* minor

* Update

* Update

* Update logging

* Remove

* Add drawing

* modify qchem initial state section

* Update doc/releases/changelog-0.32.0.md

Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>

* Update doc/releases/changelog-0.32.0.md

Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>

* correct path for import_state

* Add image

* Test

* Test

* minor

* Update doc/releases/changelog-0.32.0.md

* Apply suggestions from code review

* add pr for updating spin

* update select code example

* minor

* minor:

---------

Co-authored-by: trbromley <brotho02@gmail.com>
Co-authored-by: soranjh <soran.jahangiri@gmail.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update lightning requirement (#4530)

* Update lightning requirement

* Trigger CI

* Trigger CI

---------

Co-authored-by: Matthew Silverman <matthews@xanadu.ai>
Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
Co-authored-by: Edward Jiang <34989448+eddddddy@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <vincentm@nanoacademic.com>
Co-authored-by: Rashid N H M <95639609+rashidnhm@users.noreply.github.com>
Co-authored-by: BorjaRequena <59647767+BorjaRequena@users.noreply.github.com>
Co-authored-by: Christina Lee <christina@xanadu.ai>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: David Wierichs <david.wierichs@xanadu.ai>
Co-authored-by: Romain Moyard <rmoyard@gmail.com>
Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com>
Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com>
Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com>
Co-authored-by: Catalina Albornoz <albornoz.catalina@hotmail.com>
Co-authored-by: Frederik Wilde <42576579+frederikwilde@users.noreply.github.com>
Co-authored-by: Isaac De Vlugt <isaacdevlugt@gmail.com>
Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com>
Co-authored-by: soranjh <soranjh@yahoo.com>
Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>
Co-authored-by: Jack Brown <jack@xanadu.ai>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com>
Co-authored-by: Diego <diego_guala@hotmail.com>
Co-authored-by: albi3ro <chrissie.c.l@gmail.com>
Co-authored-by: Stepan Fomichev <stepan.fomichev95@gmail.com>
Co-authored-by: trbromley <brotho02@gmail.com>
Co-authored-by: soranjh <soran.jahangiri@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge-ready ✔️ All tests pass and the PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants