feat: dynamic-shape trajectory simulator (5/5) (#1857)#1862
Draft
bramathon wants to merge 1 commit into
Draft
Conversation
Add DynamicTrajectorySimulator: an eager, single-trajectory simulator whose qudit dimensions grow and squeeze at runtime, keeping leakage-aware state far below the full 3**n in the low-leakage regime. Completes the split of PR #1848. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5 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.
Part of the effort to land the experimental noise model and simulation module (originally PR #1848, branch
nonbreaking-noise-model) as a reviewable stack. This is PR 5 of 5, stacked on #1861 — review/merge in order. Closes #1857.This final PR adds
DynamicTrajectorySimulator: an eager, single-trajectory simulator whose per-qudit dimensions grow and shrink at runtime. A qudit is promoted to dimension 3 only when an operator can populate its leakage level and squeezed back to 2 once that level empties, so in the realistic low-leakage regime the stored state stays far below the full3**n. Unlike the other simulators it applies one operator at a time (shapes are data-dependent, so it is notjax.jit/grad-compilable) and carries a bounded truncation error controlled bysqueeze_tol.With this PR the stack's content matches the original #1848 branch (the five branches together reconstruct it exactly, modulo the per-PR version bumps).
Stack
Tracked in #1863.