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

add a ZX-calculus transformer to Cirq #6585

Open
dlyongemallo opened this issue May 5, 2024 · 6 comments
Open

add a ZX-calculus transformer to Cirq #6585

dlyongemallo opened this issue May 5, 2024 · 6 comments
Assignees
Labels
kind/feature-request Describes new functionality triage/accepted there is consensus amongst maintainers that this is a real bug or a reasonable feature to add

Comments

@dlyongemallo
Copy link
Contributor

Is your feature request related to a use case or problem? Please describe.

I would like to experiment with various circuit optimisation routines (which are already implemented in PyZX) using Cirq.

Describe the solution you'd like

A transformer (maybe under contrib) which uses the PyZX library for optimisation. I've mocked up what such a thing might look like here, but the current version isn't able to handle all transformations of Cirq circuits into PyZX format yet. (In particular, the conversion cannot at the moment handle arbitrary angles for certain types of gates.)

[optional] Describe alternatives/workarounds you've considered

It could also stay as an independent repo/project, as it is now. Mostly I'm interested in knowing whether other people (Cirq maintainers or members of the community) might be interested in helping to write this, or to use it.

[optional] Additional context (e.g. screenshots)

I spoke about this at the last Cirq Cync (Apr. 24, 2024).

What is the urgency from your perspective for this issue? Is it blocking important work?

P3 - I'm not really blocked by it, it is an idea I'd like to discuss / suggestion based on principle

@dlyongemallo dlyongemallo added the kind/feature-request Describes new functionality label May 5, 2024
@NoureldinYosri NoureldinYosri added triage/discuss Needs decision / discussion, bring these up during Cirq Cynque triage/accepted there is consensus amongst maintainers that this is a real bug or a reasonable feature to add and removed triage/discuss Needs decision / discussion, bring these up during Cirq Cynque labels May 6, 2024
@dstrain115
Copy link
Collaborator

@dlyongemallo I have a student who is interested in working on this.
@naerabati Can you comment if you would like to work on this and coordinate with him?

@naerabati
Copy link
Collaborator

@dlyongemallo Yes! I would be interested in helping with this feature

@dlyongemallo
Copy link
Contributor Author

Great!

Would it make more sense to roll this into Cirq, or leave it as a separate project? In the former case, what's the standard procedure now @dstrain115, e.g., do we develop on a branch and then merge it into main when the minimal viable product is reached?

@NoureldinYosri
Copy link
Collaborator

@dlyongemallo hey, last cirq-sync we agreed on putting it in cirq-core/cirq/contrib. to make it easier to review you can add it incremently, that is open a PR to merge to main when a new part is ready. feel free to assign PR reviews to me

dlyongemallo added a commit to dlyongemallo/Cirq that referenced this issue Jun 13, 2024
This is a custom transformer which uses ZX-calculus through the PyZX library to perform circuit optimisation.

See issue quantumlib#6585.
dlyongemallo added a commit to dlyongemallo/Cirq that referenced this issue Jun 13, 2024
This is a custom transformer which uses ZX-calculus through the PyZX library to perform circuit optimisation.

See issue quantumlib#6585.
@dlyongemallo
Copy link
Contributor Author

@naerabati @NoureldinYosri Please see PR #6647.

dlyongemallo added a commit to dlyongemallo/Cirq that referenced this issue Jul 23, 2024
This is a custom transformer which uses ZX-calculus through the PyZX library to perform circuit optimisation.

See issue quantumlib#6585.
dlyongemallo added a commit to dlyongemallo/Cirq that referenced this issue Jul 24, 2024
This is a custom transformer which uses ZX-calculus through the PyZX library to perform circuit optimisation.

See issue quantumlib#6585.
dlyongemallo added a commit to dlyongemallo/Cirq that referenced this issue Jul 24, 2024
This is a custom transformer which uses ZX-calculus through the PyZX library to perform circuit optimisation.

See issue quantumlib#6585.
@dlyongemallo
Copy link
Contributor Author

I'm too busy to complete the PR. Can someone take it over?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature-request Describes new functionality triage/accepted there is consensus amongst maintainers that this is a real bug or a reasonable feature to add
Projects
None yet
Development

No branches or pull requests

4 participants