-
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
Some feedbacks #49
Comments
@ChenZhao44 define the method as: simplify!(Rule{:lc}(), ::ZXDiagram) = error("cannot perform lc rule on ZX diagram") would solve the issue, since
yeah, we need to rename this at some point.
On the other hand, we will need to integrate with SymbolicUtils at one point, since they will provide some graph match implementations, and we can serve as an simplification/contraction engine for other packages later.
I think just letting We should have a list-like simplification interface at some point, tho. current methods like |
simplify!(Rule{:lc}(), ::ZXDiagram)
should not work, but it does not give an error._ctrl
inpush_ctrl_gate!
looks not necessary.simplify!
andreplace!
are not intuitive, should be something likesimplify_recursive!
andsimplify_once!
?zxg |> srule!(:lc) |> srule!(:p1) |> srule_once!(:pab)
phase
toe.g.
getphase`, because it conflicts with the phase gate in Yao.X gate is
push_gate!(zxd, Val(:X), 4, 0//1)
, Z gate ispush_gate!(zxd, Val(:Z), 4, π)
Maybe just forbid this interface?
The text was updated successfully, but these errors were encountered: