Open vincentmr opened 1 week ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 99.66%. Comparing base (
442cbab
) to head (60ac35b
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Before submitting
Please complete the following checklist when submitting a PR:
[x] All new features must include a unit test. If you've fixed a bug or added code that should be tested, add a test to the test directory!
[x] All new functions and code must be clearly commented and documented. If you do make documentation changes, make sure that the docs build and render correctly by running
make docs
.[x] Ensure that the test suite passes, by running
make test
.[x] Add a new entry to the
doc/releases/changelog-dev.md
file, summarizing the change, and including a link back to the PR.[x] The PennyLane source code conforms to PEP8 standards. We check all of our code against Pylint. To lint modified files, simply
pip install pylint
, and then runpylint pennylane/path/to/file.py
.When all the above are checked, delete everything above the dashed line and fill in the pull request template.
Context:
PauliZ
has a fast implementation which relies on the sparsity of the operator inDefaultQubit
. Several operations have the same non-zero matrix elements and could be similarly accelerated. One candidate isPhaseShift
which is abundantly used initerative_qpe
.Description of the Change: Port the fast-
PauliZ
toPhaseShift
and use the implementation forPauliZ
,S
andT
.Benefits: Faster execution. For example the simple system
takes 0m13.178s on
master
and 0m9.146s onoptim_apply_operations
. We observe the same speed-up forS
andT
.Possible Drawbacks:
Related GitHub Issues: