feat: Added interactive analog quantum simulation program builder#5
Open
CodeMaverick2 wants to merge 2 commits intoOpenQuantumDesign:mainfrom
Open
feat: Added interactive analog quantum simulation program builder#5CodeMaverick2 wants to merge 2 commits intoOpenQuantumDesign:mainfrom
CodeMaverick2 wants to merge 2 commits intoOpenQuantumDesign:mainfrom
Conversation
Author
|
Hey @benjimaclellan @yhteoh , I’ve taken a shot at the issue Please let me know if any changes are required |
This was referenced Feb 16, 2026
Author
|
@benjimaclellan I've updated the demo as well Would love your feedback on the changes |
Member
|
Hey @CodeMaverick2 - thanks for making these changes. It looks good so far! I'll take another quick look later today for any small changes, but after that I will accept the PR and assign the bounty to you. |
Author
|
@benjimaclellan Would love your review on the code so that we can close this issue soon |
Member
|
Hey @CodeMaverick2 - looks good, thanks for the contribution, its now accepted! I'm going to close the PR and assign the Issue to you for the unitaryDESIGN, and that should assign the bounty to you! |
benjimaclellan
approved these changes
Feb 24, 2026
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
amplitude envelopes (constant, linear, sinusoidal, math expression)
AnalogCircuitobject using oqd-core types (AnalogCircuit,AnalogGate,PauliX/Y/Z/I,OperatorKron,OperatorScalarMul,MathNum,MathVar,MathFunc,MathStr) with built-in JSON serializationChanges from feedback
ir_builder.pyto use actualoqd-coreanalog interface types instead of manually constructed dictsMathStrinto oqd-core'sMathExprASToqd-coreas a dependency inpyproject.tomlUpdated Demo -
Screen.Recording.2026-02-21.042819.2.mp4
Files
analog.py- builder state models (AmplitudeEnvelope,HamiltonianTerm,EvolveStep,AnalogProgramSpec)ir_builder.py- converts spec →AnalogCircuitusing oqd-core typesanalog_compiler.py- converts spec →Programlaser waveformsgui/analog_builder.py- NiceGUI builder dialoggui/programs.py- added preset functionsgui/main.py- wired up the new builderTest plan
pip install -e .and runpython src/oqd_teaching_demo/gui/main.pyCloses - #4