Chen Zhao
Chen Zhao
We need an automatic test for equivalent checking. Previously I used YaoZX to test manually. Now, can we use BQCESubroutine? @Roger-luo
We need to support `DInv` which is the inverse of `D` to make it more expressive.
Avoid using the first 2n indices for inputs and outputs as a pattern.
```julia @adt public struct SimpleExpr Literal(::Number) Variable(::Symbol, ::Type) Minus(::SimpleExpr) Add(::Vector{SimpleExpr}) PiImExp(::SimpleExpr) end ```
We need to support typed symbolic expressions in `PiUnit` to handle potential use cases (symbolic circuit simplification).
`ZXLayout` is not necessary when rewriting. It is only used when plotting. It should be removed. And generate dynamically when plotting.
In the current implementation of rule p2 and p3, spiders without location information will be regarded as spiders in phase gadgets. However, it will cause incomplete simplification in phase teleportation.
Different orders of instructions in the same tick will result in different `timeslice-svg` plots. For example, the following code produces the correct time slice plot as expected: ```python import stim...