-
Notifications
You must be signed in to change notification settings - Fork 4
Description
The superoperators and PTMs returned by these two functions can often be simplified by forcing separation of the real and imaginary components of their parameters, especially (but not exclusively) when AssertValidChannels -> False.
For instance:
Thankfully, I so far haven't seen CalcPauliTransferMatrix return an unsimplified element which would otherwise simplify to 0 (which would be very important to address). But it still remains useful to simplify per gate, even if we do not attempt to simplify the matrix resulting from an entire circuit. Note when changing CalcPauliTransferMatrix, the component substitution will be performed upon a sparse array.
Note that the Ph gate needs specific attention; the posteriori FullSimplify[] traps it into a bad simplification, re-combining the components for some elements. Grr!
The affected functions would be:
CalcCircuitMatrix[](only whenAsSuperoperator->True)CalcPauliTransferMatrix[]
etc
