-
Notifications
You must be signed in to change notification settings - Fork 2
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 support for arbitrary QuInstruct
buildings and analog IR
#8
Comments
I agree. As discussed with Roland last Friday (01.11), the arbitrary Hamiltonian needs an abstraction level for itself above the current structure. This was the original purpose of the |
This feels about right to me. However, we can't really afford to do that now (unless we're faster on what we do now). We need to add it for when we're OK with the current solidification of the code. @Doomsk @kaosmicadei Could you please add it in some Notion page for later reference ? |
I don't think this could be done fast. I think this could be the next step with the IR and the multi-level discussion—that will also include some rethinking on the IR as the one mentioned by @pimvenderbosch in #9 |
Fully agree. When I meant "fast" it was supported to mean our current work but I wouldn't rush anything by any means. |
For now, it will not possible to give support to arbitrary Hamiltonians. However, the particular example presented here could be written in Qadence 2 using the theta = variable("theta")
duration = theta / pi
omega = 0.5
detuning = 0.0
phase = 0.0
expr = NativeDrive(duration, omega, detuning, phase)
set_qubits_positions([(0,0), (0,1)]) The main with give support to arbitrary Hamiltonians is to ensure they can break into |
Alright, I think we definitely need to clarify what is possible and what isn't. Because it's still unclear where to draw the line. Then, we need to document it. |
Like I discussed with @Doomsk this morning I don't think adding support for this is necessarily a priority. I would just replicate the example with the |
Current IR implementation does not allow to build some valid arbitrary expressions for
PyQTorch
, for instance the following code works withpyqtorch
andqadence
:Proposal
Enable arbitrary expressions in a high-level IR, and restricting them only when going down the pipeline for analog expressions in an analog IR.
ping @pimvenderbosch @RolandMacDoland @jpmoutinho @kaosmicadei
The text was updated successfully, but these errors were encountered: