Skip to content

Fix pauli.evolve dtype casting error#8877

Merged
mergify[bot] merged 3 commits into
Qiskit:mainfrom
chriseclectic:fix-pauli
Oct 12, 2022
Merged

Fix pauli.evolve dtype casting error#8877
mergify[bot] merged 3 commits into
Qiskit:mainfrom
chriseclectic:fix-pauli

Conversation

@chriseclectic
Copy link
Copy Markdown
Member

Summary

Fixes #8438

Fixes issue where Pauli.evolve and PauliList.evolve would raise a dtype error when evolving by certain Clifford gates which modified the Pauli's phase.

Details and comments

This fix make it so that rather than cast the dtype of the phase vector to a fixed type, it will accept any signed or unsigned integer dtype and work with that.

@chriseclectic chriseclectic requested review from a team and ikkoham as code owners October 11, 2022 19:27
@qiskit-bot
Copy link
Copy Markdown
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the the following people are requested to review this:

@chriseclectic chriseclectic changed the title Fix pauli Fix pauli.evolve dtype casting error Oct 11, 2022
@jakelishman jakelishman self-assigned this Oct 11, 2022
@coveralls
Copy link
Copy Markdown

coveralls commented Oct 11, 2022

Pull Request Test Coverage Report for Build 3236028185

  • 20 of 21 (95.24%) changed or added relevant lines in 3 files are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage remained the same at 84.766%

Changes Missing Coverage Covered Lines Changed/Added Lines %
qiskit/quantum_info/operators/symplectic/pauli.py 2 3 66.67%
Files with Coverage Reduction New Missed Lines %
qiskit/quantum_info/operators/symplectic/pauli.py 1 80.61%
Totals Coverage Status
Change from base Build 3235718324: 0.0%
Covered Lines: 61936
Relevant Lines: 73067

💛 - Coveralls

@mtreinish mtreinish added Changelog: Fixed Add a "Fixed" entry in the GitHub Release changelog. stable backport potential Make Mergify open a backport PR to the most recent stable branch on merge. labels Oct 11, 2022
@jakelishman jakelishman added this to the 0.22 milestone Oct 12, 2022
Copy link
Copy Markdown
Member

@jakelishman jakelishman left a comment

Choose a reason for hiding this comment

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

Thanks for the quick fix, this looks great. I only had one question, but the answer doesn't really matter for merging.

Comment on lines -642 to +644
base_phase = np.mod(cls._phase_from_complex(op.coeff) + _count_y(base_x, base_z), 4)
base_phase = np.mod(
cls._phase_from_complex(op.coeff) + _count_y(base_x, base_z), 4, dtype=int
)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm guessing this is int for consistency with other methods in this class?

@mtreinish mtreinish mentioned this pull request Oct 12, 2022
5 tasks
@mergify mergify Bot merged commit e6d23d5 into Qiskit:main Oct 12, 2022
mergify Bot added a commit that referenced this pull request Oct 12, 2022
* Fix pauli phase evolve

* Update for unsigned int phases

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
(cherry picked from commit e6d23d5)
mergify Bot added a commit that referenced this pull request Oct 12, 2022
* Fix pauli phase evolve

* Update for unsigned int phases

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
(cherry picked from commit e6d23d5)

Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changelog: Fixed Add a "Fixed" entry in the GitHub Release changelog. stable backport potential Make Mergify open a backport PR to the most recent stable branch on merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PauliList.evolve raises exception when evolving certain Clifford circuits.

5 participants