-
Notifications
You must be signed in to change notification settings - Fork 604
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
Amend PCPhase operator to support RZ convention #3926
Conversation
Hello. You may have forgotten to update the changelog!
|
Codecov Report
@@ Coverage Diff @@
## add_qsvt_functionality #3926 +/- ##
==========================================================
+ Coverage 99.71% 99.73% +0.02%
==========================================================
Files 340 345 +5
Lines 29681 30320 +639
==========================================================
+ Hits 29596 30241 +645
+ Misses 85 79 -6
... and 73 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
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.
Thanks @Jaybsoni! Just leaving a few comments. Another minor thing I would like to clarify regarding "these two conventions only differ by a global phase" would be that isn't the new phi
in your implementation twice the phi
in your old one? Not sure if that causes any problems w.r.t its domain.
Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
[sc-34913] |
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. Is the dipole moment CI failure related to the recent change in pyscf? We had pushed a fix in the master branch for this.
I am not sure, let me try merging in master to see if that fixes it? |
Yes, this issue has been fixed here. |
* Initial commit * update branch with master (#3871) * Allow flexible parameter shapes and multi-dimensional tape return shape in custom JVP (#3766) * custom jvp with any parameter and tape output shape * tests * lint test * remove print * changelog * fix test, remove old todo * tiny * Apply suggestions from code review Co-authored-by: Albert Mitjans <a.mitjanscoma@gmail.com> * move commentary to docstring, rename num_l * black * review * [skip ci] * string format [skip ci] * black * merge fix * review --------- Co-authored-by: Albert Mitjans <a.mitjanscoma@gmail.com> Co-authored-by: Romain Moyard <rmoyard@gmail.com> * Daily rc sync to master $(date +'%Y-%m-%d') (#3845) * Undeprecate `ApproxTimeEvolution` (#3797) * readd ApproxTimeEvolution * More * Full deprecation * Fix (#3801) * Register `SpecialUnitary` operation with `DefaultMixed` and `NullQubit` (#3651) * Add SpecialUnitary, its utilities and tests * changelog * whitespace * docstrings * empty * device test * black * linting and test coverage * registered in default qubit and added tests * registered in default mixed and added tests * black * changelog * register with null qubit, add test, lint null qubit test as bonus * black * update docstring * revert some changes/continued merge * remove old namespace dependencies * black * lint * docstring typo * lint * remove inverse testing * change reference * revert addition * add ParametrizedEvolution to mixed device (#3794) * add ParametrizedEvolution to mixed device * black test * make test more broad * black tests * Update tests/pulse/test_parametrized_evolution.py Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * sparse implementation * Revert "Merge branch 'evolvemixed' of https://github.com/PennyLaneAI/pennylane into evolvemixed" This reverts commit e653b50, reversing changes made to bb2d3d6. * Revert "sparse implementation" This reverts commit bb2d3d6. * review comment * trigger ci --------- Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * little touchups while reviewing changes in 0.29 (#3809) * Update pulse module documentation examples (#3805) * init * spacing * windows parsing in rect() * revert jnp.array parameters, doc typo * test docstring, remove interface warning * doc fix? * lint --------- Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Raise error when using `qml.probs` in the computational basis with non-commuting observables (#3811) * 🐛 fix (MeasurementProcess): Change if a measurement is using the computational basis. * 🎨 style (MeasurementProcess): Remove useless properties. * 🧪 tests (qscript): Fix tests. * 🧪 tests (measurements): Fix tests. * 🧪 tests (return_types): Fix tests. * 🧪 tests (tape): Fix tests. * 🧪 tests (circuit_graph): Fix tests. * 🧪 tests (return_types): Fix tests. * 🧪 tests (return_types): Fix tests. * ✏️ chore (changelog): Add changelog entry. * 🔧 refactor (MeasurementProcess): Change method name. * 🔧 refactor (MeasurementProcess): Change method name. * 🔧 refactor (MeasurementProcess): Change method name. * Update pennylane/tape/qscript.py Co-authored-by: Romain Moyard <rmoyard@gmail.com> --------- Co-authored-by: Romain Moyard <rmoyard@gmail.com> * docs: consistent naming of tape instance in docstr (#3795) as title states. nothing fancy here * Documentation fixes (#3808) * fix some type hints * minor docstring fixes * minor docstring changes * fix rendering issue * Update pennylane/pulse/parametrized_hamiltonian.py --------- Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * Fix docs of new features (#3818) * ✏️ chore (changelog): Fix changelog entry. * 📝 docs (BasisRotation): Fix docstrings. * 📝 docs (xyx_decompositions): Fix docstring. * 📝 docs (metric_tensor): Fix docstring. * Minor fixes for v0.29 release (#3815) * Added fixes for auto documentation * Added minor doc changes for hadamard gradient * Added fix for queuing diagonalizing gates * Small fix to IsingZZ doc * Fixed doc for max_entropy --------- Co-authored-by: Albert Mitjans <a.mitjanscoma@gmail.com> * Copy one-electron integrals inside `_chemist_transform` (#3816) * fix inplace one-int issue in `_chemist_transform` * add test to assert no inplace manipulation happens * happy black * Fix equal for measurements with observables, measurement process repr, Hermitian casting fix (#3820) * equal with measurement processes * not change math.asarray for autograd * not change math.asarray for autograd * Update doc/releases/changelog-0.29.0.md * add coverage for measurements of observables that are equal but have different wire orders * break up docstrings, test hermitian case * Update exp.py fixing docs typo in RC branch * Docstring fixes for unchanged functions (#3824) * Added docstring fixes for old functions * Updated more docs * Changing functions * Fixed more docstrings * Added changes to more function docs * Fix to build sphinx * Addressing PR comments * fix docker link; remove old inv comment (#3823) * Device api doc typo fixes (#3819) * tiny doc edits * Update pennylane/devices/experimental/device_api.py Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * seealso * Update pennylane/devices/experimental/device_api.py Co-authored-by: Christina Lee <christina@xanadu.ai> --------- Co-authored-by: Matthew Silverman <matthews@xanadu.ai> Co-authored-by: Christina Lee <christina@xanadu.ai> * un-deprecate make_tape (#3807) * Update changelog (#3719) * Update changelog-dev.md * Remove * Move pulse * Update title * pulse edits * minor * Absorb new additions * Reorder improvements * Add new section * Add commas to contributors section * Remove order requirement * Rearrange * Simplify pulse section * Improve * Improve * Improve * Improve * Add additional section * Update doc/releases/changelog-dev.md * brackets around PR numbers Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com> * Add suggestions Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com> * Update doc/releases/changelog-dev.md * qml. * removed TODO markers * deps and breaking changes * deps and breaking changes * Move addtion * Apply suggestions from code review * Update * Update * Update * Update * Update * Update * Apply suggestions from code review * Update * Update * Update * Update * Add for Evolve * Add * Apply suggestions from code review Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com> * Fix code * minor * minor * minor * minor * minor * minor * minor * minor * minor * minor * Tom * Add entry * Update name * Update * Rearrange for auto * Typo * Remove ApproxTimeEvolution deprecation * Typo * minor * minor * Fix warning * Maybe fix warning * Add a few entries * Add breaking change * Maybe fix error * Maybe fix warning * minor * minor * add details to changelog for marginal_prob bug (#3821) * Add subsection * Update * Update * Add --------- Co-authored-by: Isaac De Vlugt <isaacdevlugt@gmail.com> Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com> Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com> Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * Fix sign expand (#3814) * Tape queue to script * Fix doc * QNode example * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * use new pauli module --------- Co-authored-by: Matthew Silverman <matthews@xanadu.ai> Co-authored-by: Albert Mitjans <a.mitjanscoma@gmail.com> * Fix (#3828) * Remove warning. (#3829) * Update deprecations page (#3830) * Update grouping * Update seed recipes * Update QubitDevice.statistics * Raise error if JAX or jaxlib are 0.4.4 (#3813) * Raise error for 0.4.4 jaxlib and jax * add tests * black for tests * add jax mark for test * Remove jaxlib check Co-authored-by: Filippo Vicentini <filippovicentini@gmail.com> * More detailed error msg Co-authored-by: Filippo Vicentini <filippovicentini@gmail.com> * Update tests * Tests and black * Typo * Change --------- Co-authored-by: Filippo Vicentini <filippovicentini@gmail.com> Co-authored-by: Romain Moyard <rmoyard@gmail.com> * 0.29 changelog updates (#3835) * Update codeblock type * Update example * Wording * Add CTA * Update wire number * Remove wire * Update wording * Add * Fix imports * Add deprecation * Remove tilde * Merge data and other improvements * Typo * Typo * Typo * Emojis * Remove whitespace * remove duplicate entries * Apply suggestions from code review Co-authored-by: Matthew Silverman <matthews@xanadu.ai> --------- Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * Docfix/circuits note gpu (#3836) * Fix note on lightning.gpu plugin in intro/circuits. * Update doc/releases/changelog-0.29.0.md. --------- Co-authored-by: Christina Lee <christina@xanadu.ai> * Promote warning about vanilla version of NumPy to RST warning. (#3838) * Promote warning about vanilla version of NumPy from bold format to RST warning. Make Autograd case uniform. * Update changlog. * fix strings that wrap around without a space (#3837) * fix strings that wrap around without a space * missed one * always use trailing whitespace instead of leading --------- Co-authored-by: Christina Lee <christina@xanadu.ai> * Use default.qubit.jax instead of default.qubit (#3839) * Use default.qubit.jax instead of default.qubit * Apply suggestions from code review Taking the liberty to commit these changes here due to time sensitivity * Revert "Apply suggestions from code review " This reverts commit d457ffb. --------- Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com> Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com> * Update header images (#3827) Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> * exclude files from pr --------- 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: Matthew Silverman <matthews@xanadu.ai> Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Albert Mitjans <a.mitjanscoma@gmail.com> Co-authored-by: Christina Lee <christina@xanadu.ai> Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai> Co-authored-by: Utkarsh <utkarshazad98@gmail.com> Co-authored-by: Nathan Killoran <co9olguy@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: Filippo Vicentini <filippovicentini@gmail.com> Co-authored-by: Vincent Michaud-Rioux <vincentm@nanoacademic.com> Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com> Co-authored-by: GitHub Actions Bot <> * remove broken date from RC sync PR action (#3849) I'm not sure what made this break, but it's broken. We can just get the date from when it was opened if we're curious! Co-authored-by: Josh Izaac <josh146@gmail.com> * ensure provided order of dataset parameters is preserved (#3856) * ensure provided order of dataset parameters is preserved * add another test to ensure order stability * add another utest case without full * changelog entry * Fix autoray due to newly released version (#3865) * autoray fixes * Update pennylane/ops/qubit/parametric_ops.py * changelog * Update doc/releases/changelog-dev.md * Update doc/releases/changelog-dev.md Co-authored-by: Romain Moyard <rmoyard@gmail.com> * use autograd, change test back to master version --------- Co-authored-by: Romain Moyard <rmoyard@gmail.com> * Update the definition of trainable params with Jax: right trainable parameters for JIT (#3697) * First version * Change params * Changes * ji_compute_jvp * Working version for new return * Change to old return system * Update tests and jax-jit int * Update tests * Fix parameter shift hessian * Update comment * black * Apply suggestions from code review Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * Pull and black * Update pennylane/interfaces/jax_jit_tuple.py Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * Argnums in Jax transforms (#3750) * First draft * Fix merge * Black and pylint * Update * Classical jacobians tests * Rename argnum to argnum * Finite diff and param shift with tests * Typo * Second derivative * Update * Test torch * Trigger CI * Hessian transforms * Typo tests * Too many branches * Argnum renamed * Update pennylane/fourier/qnode_spectrum.py * Apply suggestions from code review Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * Apply suggestions from code review Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * From review * Merge introduced typo * Typo --------- Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * Tests new return type * Argnums = [0] is default * Typo * Add tests hadamard * Changelog * Update doc/development/deprecations.rst * Apply suggestions from code review Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * black * Update doc/releases/changelog-dev.md Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * Update doc/development/deprecations.rst Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * Update doc/development/deprecations.rst Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> * Update from review * Review change --------- Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * fix jax version in upload workflow (#3843) Co-authored-by: Romain Moyard <rmoyard@gmail.com> Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> --------- Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> Co-authored-by: Albert Mitjans <a.mitjanscoma@gmail.com> Co-authored-by: Romain Moyard <rmoyard@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com> Co-authored-by: Matthew Silverman <matthews@xanadu.ai> Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Christina Lee <christina@xanadu.ai> Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai> Co-authored-by: Utkarsh <utkarshazad98@gmail.com> Co-authored-by: Nathan Killoran <co9olguy@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: Filippo Vicentini <filippovicentini@gmail.com> Co-authored-by: Vincent Michaud-Rioux <vincentm@nanoacademic.com> Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com> Co-authored-by: Josh Izaac <josh146@gmail.com> * ci * Add PCPhase (#3758) * initial implementation * added PiControlledPhase gate * added normalization * clean up * renamed and added decomposition for ProjectorControlled Phase gates * allow scalars into BlockEncoding * update func name and imports * rename BlockEncoding --> BlockEncode, add support for aribtrary matrix size A * Initial commit * added pcphase as a parameteric op * adding tests * added tests * Fixed tests * Added some more tests and initial fix for adjoint issue * undo tape change * CI * autoray fix + tape fix * test changes from autoray update * indent bug * data bug * update * reset tape changes * code-review comments * Apply suggestions from code review Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * fix docstrings * address code review comments * lint * Update tests/ops/qubit/test_sparse.py * ci * ci * Apply suggestions from code review Co-authored-by: Diego <67476785+DSGuala@users.noreply.github.com> Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai> * code review comments * codecov --------- Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca> Co-authored-by: soranjh <soranjh@yahoo.com> Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai> * Add BlockEncoding (#3757) * Initial commit * Fix import errors, edit __init__ files * Wires and matrix input supports lists, arrays, and scalars * Add input tests * black -l 100 * used vstack and hstack to make U * Update * Move tests * Fix __init__.py * Add BlockEncode to devices * readd docstrings, extend tests * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> * Address review comments * Address review comments * Address review comments * Add integration test, fix device tests * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Black -l 100 after committing suggestions --------- Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca> Co-authored-by: Utkarsh <utkarshazad98@gmail.com> Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> * update (#3961) * Amend PCPhase operator to support RZ convention (#3926) * ammend PCPhase * lint * Fix tests * Update pennylane/ops/qubit/parametric_ops_multi_qubit.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * update doc-string * Ci * ci --------- Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Add qml.QSVT template and qml.qsvt function (#3909) * Initial commit * Fix import errors, edit __init__ files * Wires and matrix input supports lists, arrays, and scalars * Add input tests * black -l 100 * used vstack and hstack to make U * Update * Move tests * Fix __init__.py * Add BlockEncode to devices * readd docstrings, extend tests * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> * Address review comments * Address review comments * Address review comments * Add integration test, fix device tests * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Black -l 100 after committing suggestions * Add adjoint, label * Temporary commit - Add tensorflow support * Initial commit * Reorder imports, extend docstrings * Initial commit * Fix labeling, add tests file, remove test class * Fix extra queuing * Address review comments in qsvt.py * Address review comments * Complete tests * Fix grad test * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Remove matrix_ops.py and test_matrix_ops.py from PR, pylint, black -l 100 * Reformat examples * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * lst_phis -> angles * remove "or quantum function" * pylint, remove extra "angles" arg * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Remove "inside qnode" from test docstring * Add grad test, add tensorflow test to qsvt and framework tests to QSVT * Update docstrings * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/templates/subroutines/qsvt.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Edit docstrings * Complete tests_passing_pylint.txt * Fix docstring typos * Make Wx convention compatible with lists --------- Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca> Co-authored-by: Utkarsh <utkarshazad98@gmail.com> Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Additions to BlockEncode and TensorFlow support (#3905) * Initial commit * Fix import errors, edit __init__ files * Wires and matrix input supports lists, arrays, and scalars * Add input tests * black -l 100 * Move BlockEncode to matrix_ops.py * BlockEncode is top-level accessible * used vstack and hstack to make U * Update * Update * Move tests * Fix __init__.py * Add BlockEncode to devices * readd docstrings, extend tests * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> * Address review comments * Address review comments * Address review comments * Add integration test, fix device tests * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane/ops/qubit/matrix_ops.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Black -l 100 after committing suggestions * Add adjoint, label * Temporary commit - Add tensorflow support * Remove extra tests * addressed code review commentes * Fix bug * formatting * remove comments * added support for jax and tf * BlockEncode accepts non-normalized list input * add missing tests * Update tests/ops/qubit/test_matrix_ops.py Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Missing doc-strings * lint * fix error message * remove redundant test * code cov --------- Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca> Co-authored-by: Utkarsh <utkarshazad98@gmail.com> Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com> * Update pennylane/ops/qubit/__init__.py * Address review comments * Apply suggestions from code review Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com> * Address review comments * angles -> shifts, remove trailing white space * address review comments, change template image, .__copy__ -> copy.copy * update operations.rst to include qsvt() * Revert getattr in qubit device, and add doc string for norm in blockencode * fixed docs for BlockEncode norm note, removed docstring for PCPhase * Added compute_matrix, needs to be debugged * update doc string * Update pennylane/ops/qubit/matrix_ops.py fix typo * Address review comments * Fixed bug added example not using BlockEncode and PCPhase * Update to TF 2.12 (#3935) * Update TF * Change version * Fixes * Update version * Update to 0.30 changelog (#3907) * Use commas * Use emojis * Use better emoji * Add groupings * Add grouping * Add line * Move 3790 * Clarify 3851 * Add subsections on return types * Add performance section * Move 3862 * Add placeholder for QSVT * Apply suggestions from code review Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ivana Kurecic <ivanakurecic@gmail.com> --------- Co-authored-by: Isaac De Vlugt <34751083+isaacdevlugt@users.noreply.github.com> Co-authored-by: Ivana Kurecic <ivanakurecic@gmail.com> * op_math pylint fixups, re-order tests_passing_pylint.txt (#3999) * sort test lint whitelist and remove duplicates * lint all op_math tests * Various gradient-related fixups with the new return system (#3995) * pulse_grad doesn't need to squeeze; param-shift hessian format update; copy _qfunc_output in tape.copy * test qfunc output is copied --------- Co-authored-by: Romain Moyard <rmoyard@gmail.com> * Use numpy tape converter in interfaces instead of tape.Unwrap (#3989) * use new converter in autograd and execution.py * use new converter in jax * use new converter in torch * changelog * rename helper function * use new converter in tensorflow * use tuples * simplify the tuple-copy-set-converter helper * update param info after changing tape in place * define jax jvp new_tapes before args tuple definition * ci * update pylint * codecov * fix docstrings * removed wire arg as its not required for QSVT * lint * Remove wires from QSVT docstring * a -> A in BlockEncode docs --------- Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca> Co-authored-by: soranjh <40344468+soranjh@users.noreply.github.com> Co-authored-by: David Wierichs <david.wierichs@xanadu.ai> Co-authored-by: Albert Mitjans <a.mitjanscoma@gmail.com> Co-authored-by: Romain Moyard <rmoyard@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Korbinian Kottmann <43949391+Qottmann@users.noreply.github.com> Co-authored-by: Matthew Silverman <matthews@xanadu.ai> Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Christina Lee <christina@xanadu.ai> Co-authored-by: Mudit Pandey <mudit.pandey@xanadu.ai> Co-authored-by: Utkarsh <utkarshazad98@gmail.com> Co-authored-by: Nathan Killoran <co9olguy@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: Filippo Vicentini <filippovicentini@gmail.com> Co-authored-by: Vincent Michaud-Rioux <vincentm@nanoacademic.com> Co-authored-by: Korbinian Kottmann <Korbinian.Kottmann@gmail.com> Co-authored-by: Josh Izaac <josh146@gmail.com> Co-authored-by: soranjh <soranjh@yahoo.com> Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com> Co-authored-by: Ivana Kurecic <ivanakurecic@gmail.com>
Context:
PCPhase gates were designed to be primarily used in the QSVT workflow. Swapping to this convention will allow them to be more directly applied to the workflow without having to keep track of additional global phases.
Description of the Change:
In the previous implementation of
PCPhase(phi, dim, wires)
, the firstdim
number of entries along the diagonal in the matrix were phase shifted bye^(i * phi)
while the remaining2**n - dim
entries of the diagonal were left alone (set to 1).This convention is swapped to one in which the remaining
2**n - dim
entries of the diagonal were set toe^(-i * phi)
. Note, these two conventions only differ by a global phase.Benefits:
By absorbing the global phase into the representation, we get a cleaner implementation of QSVT which doesn't have to track the global phase as strictly when converting between representations. This convention is also identical when using trained QSP angles which use RZ rotations as their projector controlled phase gates.