-
Notifications
You must be signed in to change notification settings - Fork 7
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
Rotation Class Liouvillian Superoperator #252
base: development
Are you sure you want to change the base?
Rotation Class Liouvillian Superoperator #252
Conversation
@@ -79,7 +80,7 @@ def _rotMat(self, collapseOps = None, decayRates = None, openSys=False): #pylint | |||
flipOpN = operators.compositeOp(rotOp(sys[i+1].dimension, isDim=True), | |||
sys[i+1]._dimsBefore, sys[i+1]._dimsAfter) | |||
flipUn = evolution.Unitary(self.phase*self.angle*flipOpN) @ flipUn | |||
self._paramBoundBase__matrix = evolution._prepostSO(flipUn) if (openSys or isinstance(collapseOps, list) or self._isOpen) else flipUn # pylint: disable=assigning-non-slot,line-too-long,protected-access | |||
self._paramBoundBase__matrix = evolution._prepostSO(operatorA = flipUn, operatorB = hc(flipUn)) if (openSys or isinstance(collapseOps, list) or self._isOpen) else flipUn # pylint: disable=assigning-non-slot,line-too-long,protected-access |
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.
self._paramBoundBase__matrix = evolution._prepostSO(operatorA = flipUn, operatorB = hc(flipUn)) if (openSys or isinstance(collapseOps, list) or self._isOpen) else flipUn # pylint: disable=assigning-non-slot,line-too-long,protected-access | |
self._paramBoundBase__matrix = evolution._prepostSO(operatorA = flipUn, operatorB = linearAlgebra.hc(flipUn)) if (openSys or isinstance(collapseOps, list) or self._isOpen) else flipUn # pylint: disable=assigning-non-slot,line-too-long,protected-access |
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.
nice catch.
For my open Heisenberg DQS simulations, I was only using xGate
with flipUn
was hc
is xGate
for even number of times, this global phase cancels out.
Do you agree? if so, I am curious how did you found out this mistake?
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.
I agree that the global phase cancels out.
I don't remember exactly, but I think I tested every step individually using Quantum Toolbox, and rotation operators were producing matrices with a minus sign as you described.
Do you want me to write a unit test as well?
closes #251