Skip to content
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

Document features that currently have no documentation #89

Open
jvdwetering opened this issue May 12, 2022 · 13 comments
Open

Document features that currently have no documentation #89

jvdwetering opened this issue May 12, 2022 · 13 comments
Labels
unitaryhack-bounty An issue with an associated bounty from unitaryHACK

Comments

@jvdwetering
Copy link
Collaborator

Over the years, several additional features have been merged into PyZX that have never had documentation written for them. These include:

  • CNOT circuit routing, as implemented in the pyzx.routing subfolder by @Aerylia.
  • The handling of mixed classical-quantum circuits, as implemented by @ABorgna.
  • Simplification of diagrams using genetic algorithms, as implemented in the pyzx.local_search subfolder by Ryan Krueger.

For unitaryHACK, it would be great if someone were to document one or more of these features.

@jvdwetering jvdwetering added the unitaryhack-bounty An issue with an associated bounty from unitaryHACK label May 12, 2022
@Qubit1718
Copy link

Hey @jvdwetering I hope you are doing well.
We as a team of three have been exploring this field of ZX calculus from the past few months. We are so thrilled after seeing a project related to this on unitary hack. We really want to take this on and write the documentation. Can you please let me know I and my team members can be allocated to this issue? Thank you so much!!

@akissinger
Copy link
Member

Hi @Qubit1718,

Anyone can contribute to this issue during unitaryHACK, taking place 3-17 June. There is not formal allocation process, just be the first to have an accepted PR and win the bounty. See https://unitaryhack.dev and/or contact the unitaryHACK team if you have a question about the rules.

Best,

Aleks

@Qubit1718
Copy link

Qubit1718 commented May 30, 2022

Hi Aleks,

Thank you so much for the information about the Unitary Hack and its process.

Can you please let me know any more information about this PR that you feel we should know in order to start our work? Any tips or suggestions will be constructive.

Best and Kind Regards,

Sai Nandan Morapakula

@jvdwetering
Copy link
Collaborator Author

Hi Sai,

The first two of the features I've mentioned have an associated paper, while the last has a Master thesis about it:
https://arxiv.org/abs/1904.00633
https://arxiv.org/abs/2109.06071
(I can't access the thesis now, but I can get it for you if you want it).

I don't know the ins-and-outs of these features either, so your best bet would probaby be to see if @Aerylia or @ABorgna are available for help/discussions. You could also pop in on the ZX-calculus Discord where they are semi-active. I can also see if Ryan Krueger is happy to help (you can also look at the demos/LocalSearch.ipynb file for this feature).

As a starting point, you might want to create a demo Jupyter Notebook using the feature, then based on that you might want to write the Spinx documentation. If you want, you can also consider implementing #59 and also updating the other documentation.

@ABorgna
Copy link
Contributor

ABorgna commented Jun 2, 2022

As John said, I'm available for discussing the quantum-classical part on discord or by email if you need :)

@Qubit1718
Copy link

Hi @jvdwetering

That's a lot of information and I would like to go with one at a time. I will definitely reach out to you when I need the master thesis as you mentioned above. I will start working on this. Thank you so much once again!!

Thanks, @ABorgna for your support. I am currently going through the paper John mentioned above to get a better picture of what's happening in the Routing folder. I will text you in discord or drop a mail once done :))

@Aerylia
Copy link
Collaborator

Aerylia commented Jun 3, 2022

I'm very busy these weeks, but I'll do what I can to help. Feel free to ask any questions

@nickdgardner
Copy link

Hi @jvdwetering, if it's still available I'd be interested in writing documentation for PyZX's handling of mixed classical-quantum circuit simplification (by @ABorgna)

@jvdwetering
Copy link
Collaborator Author

Yup, that's still available :)

@nickdgardner
Copy link

Great! I'll get started with the paper

@dlyongemallo
Copy link
Contributor

PR #156 is going to add a bunch of OpenQASM standard library gates. It would be nice for them to be documented in a notebook showing the circuits/zx-diagrams and (when applicable) the matrices. (Also, PR #152 will add nbsphinx support to the docs.)

dlyongemallo added a commit to dlyongemallo/pyzx that referenced this issue Nov 20, 2023
@dlyongemallo
Copy link
Contributor

@ABorgna Where can I find more info on how mixed classical-quantum circuits are handled in PyZX?

@dlyongemallo
Copy link
Contributor

PR #156 is going to add a bunch of OpenQASM standard library gates. It would be nice for them to be documented in a notebook showing the circuits/zx-diagrams and (when applicable) the matrices.

Just a follow-up note that this was done in #197 (the notebook is here).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
unitaryhack-bounty An issue with an associated bounty from unitaryHACK
Projects
None yet
Development

No branches or pull requests

7 participants