-
Notifications
You must be signed in to change notification settings - Fork 11
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
Unified API to import/export circuits in Qiskit #39
Comments
@jwoehr Can you comment on this issue so that I can assign you? Please also work with your mentor to refine the project, define scope and deliverables and update the project description in this issue. |
@1ucian0 and I met on this today. Our goal in the context of the mentor experience is to separate QASM into its own module and unify its programmatic usage around a functional syntax. We will implement this with QASM2 and lay the groundwork for QASM3 to inherit this architecture. Quick notes from our shared document:
|
We also discussed the following tangential QASM desideratum:
|
Next I will dig up my work on the functional API as a module of Terra from last year or recreate it from what we left in 1ucian0 /qiskit-openqasm2 (which was qasm2 as a package) and check it into the |
Have recreated the |
Updated the functional interface for |
@1ucian0 and @jwoehr met today: Coding assignment
Design of Qasm2 and Qasm3
|
Opened openqasm/openqasm#162 |
In
|
Added a release note. |
Awesome work @jwoehr Thanks for sharing all the updates for the project. Looks really exciting! |
Thanks for kind words. Just having fun :) |
Created PR #6053 |
Next idea:
|
Our discussion today was ideas to tidy up Qasm2 awaiting advent of Qasm3.
|
Meeting today with Dr. Bello
|
Branched |
Meeting today with Dr. Bello Qiskit
|
Meeting with Dr. Bello 2021-04-09
|
Notes before meeting with Dr. Bello scheduled for 2021-04-16:
|
Meeting 2021-04-16 with Dr. Bello
|
oh la la, this is interesting! (just commenting here so that I can receive the notifications and learn a bit as well ^^) since you're rewriting the qasm parser can you include a tiny fix update for #6169? |
Maybe a possible use for OPENQASM 2.0;
include "qelib1.inc";
//@ QISKIT_DEFINITION initialize(x0, x1, x2, x3) q0, q1;
opaque initialize2(x0, x1, x2, x3) q0, q1;
//@ QISKIT_DEFINITION initialize(x0, x1) q0;
opaque initialize1(x0, x1) q0;
qreg q[3];
initialize2(0,1,0,0) q[0],q[1];
initialize1(0,1) q[2]; where |
Meeting 2021-04-16 with Dr. Bello
|
Progress up to 2021The qasm2 file:
... using the new antlr4 stuff yields an AST as follows:
... etc ... GSect SSect TSect not shown above. Qasm 2 MetacommentsI'm also ready to propose about metacomments. Good example from Slack user requirement: Qasm3 already uses
My task list
|
Fixed |
|
|
|
Progress for week ending 2021-04-30
|
Meeting with Dr. Bello 2021-04-30Jack's task list
|
Meeting with Dr. Bello 2021-05-07
|
Progress week ending 2021-05-07
|
Progress week ending 2021-05-14
|
Meeting 2021-05-14 with Dr. Bello
|
Progress for week ending 2021-05-21
|
Meeting 2021-05-21Examined how to bind parameter expressions at translate time. Example code:
|
Progress week ending 2021-06-04
|
to the point. Looks very nice 😄 |
The new OpenQASM 2 translator based on the OpenQASM 3 grammar works more or less completely now.
|
Description
There are several way to import and export circuit to and from Qiskit, being OpenQASM2 the most popular one. However, in order to improve interoperability with 3rd parties, we need to organize that a bit. The first stage is to move all the qasm2-related code we have around into a
qiskit.qasm2
module. After that, we can take other serializer like https://github.com/jwoehr/nuqasm2 or Qiskit/qiskit#5578.Mentor/s
@1ucian0
Type of participant
A good python coder. If you have knowledge on design patterns, even better.
Number of participants
1
Deliverable
A Qiskit PR (or several)
The text was updated successfully, but these errors were encountered: