Comments (4)
Were these circuits generated by Quipper? Could you give me some examples? I have never used Quipper myself, and only built the parser to work with the circuits I needed to, but if Quipper sometimes produces circuits without the "nocontrol" keyword, then I could just modify the parser
from pyzx.
I have attached an example of a Quipper output from the Ground State Estimation application. In addition to omitting the "nocontrol" keyword, Quipper circuits may omit declaration of the qubits up front, which causes a parse failure (as the loader is looking for a colon-separated string of qubits). Both issues can be resolved with a fairly simple patch. I'll aim to provide one.
Reference for the source Quipper GSE algorithm:
https://www.mathstat.dal.ca/~selinger/quipper/doc/Quipper-Algorithms-GSE-Main.html
from pyzx.
46-fix-parse-quipper-nocontrol.zip
@jvdwetering - Here is a patch for the minimal change set to support the absence of "nocontrol", and also to support other Quipper commands including QMeas, QDiscard. Includes a test that compares the internal qubits and gate list for a version of test_circuit.circuit
modified for the additional commands (but otherwise logically the same).
Would it be possible for you to stage this on a branch, so we can depend on it, and consider it for release?
Thanks!
from pyzx.
Hi, I implemented your patch. Let me know if everything works as it should.
from pyzx.
Related Issues (20)
- `extract_circuit` does not turn grounds into measurements and classically-conditioned gates HOT 3
- pyzx unable to optimize when circuit contains rx or sx gate HOT 3
- support custom gates with phases HOT 1
- rename `master` branch to `main`
- `pyzx.draw()` does not work in some matplotlib environments HOT 2
- Qiskit 1.0 OpenQASM 3 output breaks `qasmparser` because of spaces between phases
- `U3Gate` is deprecated in Qiskit 1.0, replaced with `UGate`, pyzx needs to handle the new gate
- `pyzx.draw()` is incompatible with dark background HOT 2
- Clifford simp adds a phase of n*pi/2 HOT 2
- Coding style HOT 4
- Boundary pivot is never matched
- Lack of documentation on the preconditions to apply existing transformations
- Clarification on applying individual transformations HOT 5
- Saving/loading is broken for multigraphs
- Methods to convert a graph to tensor/matrix do not work for multigraphs HOT 6
- Add hopf rule and self-loop removal rules for multigraph HOT 2
- Support edge_data dictionary in the graph data structure HOT 3
- Why are there three implementations of every rule: in rules.py, basicrules.py and editor_actions.py? HOT 3
- add_edge with auto_simplify is incorrect in Multigraph
- Make ZX diagram editor compatible with newer version of ipywidgets HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyzx.