Skip to content

Fix Dynamiqs backend for AtomicCircuit simulation (#43)#50

Open
CodeMaverick2 wants to merge 1 commit into
OpenQuantumDesign:masterfrom
CodeMaverick2:fix/43-dynamiqs-backend
Open

Fix Dynamiqs backend for AtomicCircuit simulation (#43)#50
CodeMaverick2 wants to merge 1 commit into
OpenQuantumDesign:masterfrom
CodeMaverick2:fix/43-dynamiqs-backend

Conversation

@CodeMaverick2

@CodeMaverick2 CodeMaverick2 commented Jun 3, 2026

Copy link
Copy Markdown

Summary

Fixes Dynamiqs sesolve integration so AtomicCircuit simulations run end-to-end and agree with QuTiP on reference Rabi and red-sideband circuits.

Changes

  • Fix dq.sesolve (method=dq.method.Tsit5, not invalid solver / dq.solver)
  • Add DynamiqsSolverOptions (units, Tsit5, rtol/atol, optional time rescaling, progress_meter=False for Jupyter/DynamiqsBackend failing with ZMQError #26)
  • Fix duplicate Hilbert-space analysis in DynamiqsBackend.compile; tensor product in cross-subsystem OperatorMul
  • DynamiqsBackend.run_task() + TaskArgsAtomicEmulator for Diffrax options (until promoted in oqd-core)
  • Parity tests vs QuTiP; minimal docs fix (Dynamiqs link + short units note)

Test plan

  • uv run pytest tests/test_backends.py -v (9 passed, 2 xfailed)

Fixes #43

@CodeMaverick2 CodeMaverick2 force-pushed the fix/43-dynamiqs-backend branch from ffb5be6 to 98f7bf9 Compare June 3, 2026 20:07
Correct dq.sesolve usage (method/Tsit5), document units and Diffrax
defaults, add time rescaling and solver options, and add parity tests
for Rabi and red sideband. Disables progress meter by default (fixes OpenQuantumDesign#26).

Fixes OpenQuantumDesign#43
@CodeMaverick2

Copy link
Copy Markdown
Author

@benjimaclellan Would love to know your thoughts on the PR

@benjimaclellan

Copy link
Copy Markdown
Member

Thanks @CodeMaverick2, I really appreciate the work here and on the other OQD issues. After comparing with #52 I'm going to select that one as the primary fix, but I appreciate the map_OperatorMul shape-mismatch fix in codegen.py. I'll keep the PR open, as the time-rescaling could be useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

unitaryHACK 2026: Dynamiqs backend for TrICal

2 participants