-
Notifications
You must be signed in to change notification settings - Fork 368
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
Noise transform #162
Noise transform #162
Conversation
* fix bug in QuantumError tensor
…dded cvxopt to requirements-dev
@@ -361,43 +361,43 @@ def power(self, n): | |||
return ret | |||
|
|||
def tensor(self, other): | |||
"""Return the tensor product quantum error channel self ⊗ other. | |||
"""Return the tensor product quantum error channel self ? other. |
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 like something odd is going on with the math operator font characters 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.
This looks good @gadial, thanks!
The only minor issue I see now is that the tensor product and compose math operators have been replaced with question marks in the quantum_error.py
file. If you can fix that its ready to merge (and if it's too hard to fix because of a font issue on your computer I can fix it in a seperate PR)
Should be ok now. |
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.
Great work @gadial !
* Adding noise transformation to the noise package * Unified interface for dict/list/string approximating operator input * Implementation of approximate_noise_model * Now generates noise approximation using unitaries if possible * Now when possible outputs error circuits instead of Kraus/Unitary * Now represent all named operators using circuits
* Adding noise transformation to the noise package * Unified interface for dict/list/string approximating operator input * Implementation of approximate_noise_model * Now generates noise approximation using unitaries if possible * Now when possible outputs error circuits instead of Kraus/Unitary * Now represent all named operators using circuits
Summary
This module transforms one error channel into another built from specified building blocks, such that the two channels are as close as possible. e.g. converting a general noise to a Clifford noise that a Clifford simulator can handle.
Details and comments
This module adds two functions:
Examples:
Inputs as quantum error and operator string:
Inputs as Kraus matrices and operator list: