-
Notifications
You must be signed in to change notification settings - Fork 586
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
Jacobian Slice Bug StrawberryFields #2485
Conversation
Hello. You may have forgotten to update the changelog!
|
Codecov Report
@@ Coverage Diff @@
## v0.23.0-rc0 #2485 +/- ##
==============================================
Coverage ? 99.47%
==============================================
Files ? 244
Lines ? 19414
Branches ? 0
==============================================
Hits ? 19312
Misses ? 102
Partials ? 0 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good 👍 Great one tracking this down and fixing it! 💪 🕵️
It's also nice to have the device jacobian case be supported
…AI/pennylane into jacobian-slice-bug-fix
@@ -614,12 +614,15 @@ the `decimals` and `show_matrices` keywords are added. `qml.drawer.tape_text(tap | |||
the qubit operator that is prepared for tapering the HF state. | |||
[(#2441)](https://github.com/PennyLaneAI/pennylane/pull/2441) | |||
|
|||
* Fixed a bug with custom device defined jacobians not being returned properly. | |||
[(#2485)](https://github.com/PennyLaneAI/pennylane-sf/pull/2485) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This link seems to be broken. Probably it should be #2485 without the -sf?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, thank you for catching that! 🎉
params = np.array(1.0, requires_grad=True) | ||
|
||
d_out = d_circuit(params) | ||
assert np.allclose(d_out, np.array([1.0, 2.0, 3.0, 4.0])) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@antalszava I am trying to understand why this bug didn't cause a problem for us. What was d_out
before this fix? Thanks very much!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a very good question! Another good question is if this change would affect your custom device jacobians 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now I see: We had actually worked around this by returning np.array([gradient])
from our device's jacobian method, where gradient is itself a numpy array. I guess we just need to stop doing this starting with PL v0.23.0 then. Thanks for the heads up!
* Remove deprecated `get_unitary_matrix` (#2457) * Remove * Changelog * changelog: breaking change * Trigger CI Co-authored-by: Antal Szava <antalszava@gmail.com> * Rename `doc/releases/changelog-dev.md` → `doc/releases/changelog-0.23.0.md` (release candidate) (#2461) * changelog rename * update ref of the file * Fix the issue with JAX JIT for grad when `diff_method="adjoint"` and `mode="backward"` (#2460) * Fix the issue * Apply code review suggestions * Update changelog * Update jax.py * Trigger CI * Bugfix for Nesterov Momentum Optimier (#2466) * nesterov_fix * nesterov momentum bugfix * Update doc/releases/changelog-0.23.0.md * Update tests/optimize/test_optimize.py * Use pennylane numpy in molecular hamiltonian (#2465) * fix pl numpy and ham complex coeff * test * PR num * test tidy * correct method for returning real coeffs * linting Co-authored-by: Antal Szava <antalszava@gmail.com> * Remove `qml.finite_diff` (#2464) * remove finite-diff * remove unused import * Update doc/releases/changelog-0.23.0.md Co-authored-by: antalszava <antalszava@gmail.com> * remove hamiltonian diff test file Co-authored-by: antalszava <antalszava@gmail.com> * Update qchem documentation (#2454) * fix mera formatting issues (#2470) * Fix qcut doc render (#2471) * Update * Update * Trigger CI * fix has_matrix (#2476) * use qml.eigvals because MeasurementProcess.eigvals is being deprecated and raises a warning (#2477) * Warn upon import of an `ObservableReturnType` from operation instead of measurements (#2481) * warn upon import of observablereturntype from operation * black? * Update pennylane/__init__.py Co-authored-by: antalszava <antalszava@gmail.com> * Update tests/test_operation.py Co-authored-by: antalszava <antalszava@gmail.com> * update changelog * Update pennylane/operation.py Co-authored-by: antalszava <antalszava@gmail.com> * Update chemistry doc (#2482) * Automatic upload to pip when released (#2484) * upload * Return line * Jacobian Slice Bug StrawberryFields (#2485) * fixed jacobian slicing issue Update pennylane/interfaces/autograd.py Co-authored-by: antalszava <antalszava@gmail.com> * added testcase for custom device * Update doc/releases/changelog-0.23.0.md * retrigger checks Co-authored-by: antalszava <antalszava@gmail.com> * Documentation fixes for the v0.23.0 release (#2472) * Fix qml.ctrl docstring * Add notice about control values other than 0,1 * Fix bell example on measurements docs page * Update doc/introduction/measurements.rst Co-authored-by: Christina Lee <christina@xanadu.ai> * Update pennylane/transforms/control.py Co-authored-by: Christina Lee <christina@xanadu.ai> * Make the cut_circuit_mc docs example deterministic * Fix sphinx build Co-authored-by: Christina Lee <christina@xanadu.ai> Co-authored-by: antalszava <antalszava@gmail.com> * Issue a warning about repeated cached executions with shot noise (#2478) * Add warning about caching with finite shots * Fix import order * Add changelog * Use set_shots to determine shots for warning * format * disable pylint 'protected-access' * Fixes and cleanup to the inspection logic * format * add test for warning * Review: expand warning message * Review: add additional tests Co-authored-by: antalszava <antalszava@gmail.com> * exclude files from pr * Exclude more files Co-authored-by: Romain Moyard <rmoyard@gmail.com> Co-authored-by: Antal Szava <antalszava@gmail.com> Co-authored-by: Ali Asadi <ali@xanadu.ai> Co-authored-by: Christina Lee <christina@xanadu.ai> Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> Co-authored-by: Sam Banning <samcbanning@gmail.com> Co-authored-by: David Ittah <dime10@users.noreply.github.com> Co-authored-by: GitHub Actions Bot <>
* Remove deprecated `get_unitary_matrix` (#2457) * Remove * Changelog * changelog: breaking change * Trigger CI Co-authored-by: Antal Szava <antalszava@gmail.com> * Rename `doc/releases/changelog-dev.md` → `doc/releases/changelog-0.23.0.md` (release candidate) (#2461) * changelog rename * update ref of the file * Fix the issue with JAX JIT for grad when `diff_method="adjoint"` and `mode="backward"` (#2460) * Fix the issue * Apply code review suggestions * Update changelog * Update jax.py * Trigger CI * Bugfix for Nesterov Momentum Optimier (#2466) * nesterov_fix * nesterov momentum bugfix * Update doc/releases/changelog-0.23.0.md * Update tests/optimize/test_optimize.py * Use pennylane numpy in molecular hamiltonian (#2465) * fix pl numpy and ham complex coeff * test * PR num * test tidy * correct method for returning real coeffs * linting Co-authored-by: Antal Szava <antalszava@gmail.com> * Remove `qml.finite_diff` (#2464) * remove finite-diff * remove unused import * Update doc/releases/changelog-0.23.0.md Co-authored-by: antalszava <antalszava@gmail.com> * remove hamiltonian diff test file Co-authored-by: antalszava <antalszava@gmail.com> * Update qchem documentation (#2454) * fix mera formatting issues (#2470) * Fix qcut doc render (#2471) * Update * Update * Trigger CI * fix has_matrix (#2476) * use qml.eigvals because MeasurementProcess.eigvals is being deprecated and raises a warning (#2477) * Warn upon import of an `ObservableReturnType` from operation instead of measurements (#2481) * warn upon import of observablereturntype from operation * black? * Update pennylane/__init__.py Co-authored-by: antalszava <antalszava@gmail.com> * Update tests/test_operation.py Co-authored-by: antalszava <antalszava@gmail.com> * update changelog * Update pennylane/operation.py Co-authored-by: antalszava <antalszava@gmail.com> * Update chemistry doc (#2482) * Automatic upload to pip when released (#2484) * upload * Return line * Jacobian Slice Bug StrawberryFields (#2485) * fixed jacobian slicing issue Update pennylane/interfaces/autograd.py Co-authored-by: antalszava <antalszava@gmail.com> * added testcase for custom device * Update doc/releases/changelog-0.23.0.md * retrigger checks Co-authored-by: antalszava <antalszava@gmail.com> * Documentation fixes for the v0.23.0 release (#2472) * Fix qml.ctrl docstring * Add notice about control values other than 0,1 * Fix bell example on measurements docs page * Update doc/introduction/measurements.rst Co-authored-by: Christina Lee <christina@xanadu.ai> * Update pennylane/transforms/control.py Co-authored-by: Christina Lee <christina@xanadu.ai> * Make the cut_circuit_mc docs example deterministic * Fix sphinx build Co-authored-by: Christina Lee <christina@xanadu.ai> Co-authored-by: antalszava <antalszava@gmail.com> * Issue a warning about repeated cached executions with shot noise (#2478) * Add warning about caching with finite shots * Fix import order * Add changelog * Use set_shots to determine shots for warning * format * disable pylint 'protected-access' * Fixes and cleanup to the inspection logic * format * add test for warning * Review: expand warning message * Review: add additional tests Co-authored-by: antalszava <antalszava@gmail.com> * Fix QChem documentation (#2487) * Fix finite-shots/caching warning appearing internally for gradients (#2491) * Fix warning appearing internally for gradients * pylint: fix protected attribute * Add test for checking no warning is raised * V0.23.0 notes (#2474) * notes + version * sections * update examples * remove empty sections * has_matrix bug fix * Adding more PRs to the changelog * PR, extend contributors * Extend list of contributors * Update the order of entries * Add auto cutting example; reorg QChem * remove curr release from 0.22.2 header * formatting * fix link * Update * Trigger CI * Change code blooc * Typo * Update pennylane/transforms/optimization/pattern_matching.py Co-authored-by: antalszava <antalszava@gmail.com> * Update pennylane/transforms/optimization/pattern_matching.py Co-authored-by: antalszava <antalszava@gmail.com> * Update pennylane/transforms/optimization/pattern_matching.py Co-authored-by: antalszava <antalszava@gmail.com> * Update pennylane/transforms/optimization/pattern_matching.py Co-authored-by: antalszava <antalszava@gmail.com> * Addd seealso * modify the qchem section * Update doc/releases/changelog-0.23.0.md Co-authored-by: Josh Izaac <josh146@gmail.com> * Update doc/releases/changelog-0.23.0.md Co-authored-by: Josh Izaac <josh146@gmail.com> * Update doc/releases/changelog-0.23.0.md Co-authored-by: Josh Izaac <josh146@gmail.com> * Update doc/releases/changelog-0.23.0.md Co-authored-by: Josh Izaac <josh146@gmail.com> * code review * code review * code review (remove empty lines & add pattern matching opt docstring link) * Update doc/releases/changelog-0.23.0.md Co-authored-by: Josh Izaac <josh146@gmail.com> * Update doc/releases/changelog-0.23.0.md Co-authored-by: Josh Izaac <josh146@gmail.com> * shape and numeric type example * MP description update * rephrase expand_strategy for qml.specs improvement * update * caching phrasing * removed * phrasing * updates * bug phrasing, reorder * update link placement and use pycon * include swap test output in example * More info on HS template * rephrase QCut * move example to UsageDetails * auto QCut rephrase * More powerful circuit cutting * Trigger CI * Upddate * add qchem code example * correct typo in qchem text * no backticks * fix the case when obs=None for a MeasurementProcess for interface selection * update * changelog * docstring * Update doc/releases/changelog-0.23.0.md Co-authored-by: Josh Izaac <josh146@gmail.com> * update links as per code review * typo * pycon syntax * double backticks * no dev in release header * Lightning v0.23.0 required in setup.py Co-authored-by: Romain Moyard <rmoyard@gmail.com> Co-authored-by: soranjh <soranjh@yahoo.com> Co-authored-by: Josh Izaac <josh146@gmail.com> * Remove typo * Update pennylane/interfaces/jax.py Co-authored-by: Romain Moyard <rmoyard@gmail.com> Co-authored-by: Ali Asadi <ali@xanadu.ai> Co-authored-by: Christina Lee <christina@xanadu.ai> Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> Co-authored-by: Sam Banning <samcbanning@gmail.com> Co-authored-by: David Ittah <dime10@users.noreply.github.com> Co-authored-by: Josh Izaac <josh146@gmail.com> Co-authored-by: soranjh <soranjh@yahoo.com>
No description provided.