Skip to content

further simplification of CalcCircuitMatrix and CalcPauliTransferMatrix outputs #222

@TysonRayJones

Description

@TysonRayJones

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:

image

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 when AsSuperoperator->True)
  • CalcPauliTransferMatrix[]
    etc

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions