John van de Wetering
John van de Wetering
I think the multigraph approach we used in DiZX works quite well: https://github.com/jvdwetering/dizx
Isn't the way you store a sparse matrix by recording where the non-zero positions are with a hash-map? Doesn't this give you essentially the data-structure we are using right now?
This looks great Calum. It also makes quite some changes to the API and where the circuits are stored so I need to make sure first this doesn't break anything...
With these new commits, is this now ready for merging?
Yes, I think it is fine to raise an exception in that case. Though the circular import could be prevented by doing a local import inside the function `to_graph_like()`.
@RazinShaikh is currently in the middle of a PR spree that updates many of the rewrites to work with multigraphs. This is a really big PR and I currently have...
`InitAncilla` was originally meant for an extension to circuit extraction to allow for ancillae to be placed, but in the end it was not used. For the `Input Circuit` stuff,...
Could you add docstrings to the main functions you added, with perhaps a reference to your papers where you use them.
pyzx/simulate.py:500: error: invalid syntax [syntax]
Ah I see what goes wrong. You are using match statements, but these were introduced in Python 3.10. PyZX still supports older versions of Python. I see that in that...