-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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 Statevector.evolve and DensityMatrix.evolve for mixed dimension subsystems #8900
Conversation
Fixes bug where Statevector.evolve was reshaping subsystems incorrectly if subsystems had different dimensions.
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:
|
Pull Request Test Coverage Report for Build 3245371185
💛 - Coveralls |
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 looks good to me, thanks. I think there's probably more places hiding in quantum_info
where the OpShape
object isn't passed around correctly because most of the tests are only for qubit systems, but we can squash those as and when we find them.
…ubsystems (#8900) * Fix bug in OpShape.compose * Fix bug in Statevector.evolve Fixes bug where Statevector.evolve was reshaping subsystems incorrectly if subsystems had different dimensions. * Add additional tests * Add reno * fix reno rst links Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit 58d339a)
…ubsystems (#8900) (#8964) * Fix bug in OpShape.compose * Fix bug in Statevector.evolve Fixes bug where Statevector.evolve was reshaping subsystems incorrectly if subsystems had different dimensions. * Add additional tests * Add reno * fix reno rst links Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit 58d339a) Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
Summary
Fixes #8897
Fixes #8899
Details and comments
Statevector.evolve
andDensityMatrix.evolve
would raise an exeception for nested subsystem evolution for non-qubit subsystems.Statevector.evolve
where subsystem evolution will return the incorrect value in certain cases where there are 2 or more than non-evolved subsystems with different subsystem dimensions.