-
Notifications
You must be signed in to change notification settings - Fork 177
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 storage order of noise kraus ops #1825
Fix storage order of noise kraus ops #1825
Conversation
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
424fe1b
to
9273474
Compare
CUDA Quantum Docs Bot: A preview of the documentation can be found 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.
Seems plausible to me. Might want someone else to check though.
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Description
The row-major data storage was not consistently handled in our
NoiseModel
.This is especially problematic for amplitude damping channel, whose Kraus matrices are not self-adjoint.
This PR:
Makes sure that we properly map flattened row-major data to Eigen matrices for validation as well as application.
Note: the base Qpp gate application has done this row-major mapping for gate matrices correctly. We need to fix the apply noise channel path.
Fixes a unit tests: these unit tests are using column-major data for amplitude damping channels, probably to make it to work with the underlying inconsistency.
Adds 'u3' as a supported gate for noise modeling. We also need to let the QIR runtime (
nvqir
) propagate the gate to the simulator for the noise channel look-up to work.Makes the
py::buffer
(numpy ndarray) to flattened row-major Kraus matrix mapping generic for both row and column major storage in numpy.Adds unit test.
Fixed #1811