-
Notifications
You must be signed in to change notification settings - Fork 2
Implement circuit component and vm #66
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
Open
david-pl
wants to merge
104
commits into
main
Choose a base branch
from
david/42-circuit-component
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+8,948
−1,171
Open
Changes from all commits
Commits
Show all changes
104 commits
Select commit
Hold shift + click to select a range
37ef32c
Start implementing vihaco component
david-pl 78ebef2
Implement batched instructions
david-pl a46ecb2
Make measurement result an outcome
david-pl 8a9071f
Simplify outcome type
david-pl 71c1703
Fix generic types, hardcode f64 coeffs; temporarily switch to local
david-pl 02c8135
Draft machine impl
david-pl 931cb12
Add TODO
david-pl 1ed6da3
Start refactoring to new vihaco
david-pl 75a5c11
Rename Circuit component
david-pl c6af3db
Merge branch 'main' into david/42-circuit-component
david-pl e493165
Also reset loss state
david-pl 1394c57
Add a component that dispatches and make components observe effects
david-pl 91f7c41
More prelude exports
david-pl 4e65f33
Refactor machine into composite
david-pl 6c56b58
Fix measurement effect return and don't manually push const
david-pl 5ce25ee
Delete some old code
david-pl 939d812
Device info for PPVM
david-pl 75047f9
Merge branch 'main' into david/42-circuit-component
david-pl 3d3fb82
Implement parsing for PPVM
david-pl 71d50d3
Add tests and fix some bugs
david-pl b16ffa9
Unused import
david-pl 3ebf0db
Push measurement and is_lost to stack; test control flow
david-pl 5734844
Implement function call support
david-pl b88859f
Add magic number to header
david-pl 6b236c3
Handle function calls and returns properly
david-pl 981b1a7
Remove magic number from text format
david-pl 5ad1f54
Make MeasurementOutcome an enum and push a single u32 rather than two…
david-pl 8ab3ebe
Add comment to measurement outcome
david-pl e4aaeb8
Use smallvec for measurement result
david-pl 15a143c
Make batched operations also smallvec
david-pl 14423a4
Better naming for error shotrhand type
david-pl 7d6ff20
Add bytecode emission and loading
david-pl 991447f
More tests
david-pl 2a397c9
Expose some more stuff
david-pl 8d711ba
Inspect source to check if it's bytecode before loading
david-pl a13fe34
Implement CLI to run ppvm
david-pl bdcffc8
Fix show-measurements flag and make formats an enum
david-pl 921eabe
Add measurement format flag to run
david-pl 8364bd3
Add a bunch of tests
david-pl e7e00d8
Remove lib.rs
david-pl 1ae6837
Add a short README and example
david-pl b775169
Also advance on breakpoint
david-pl d58cc48
Add debug command to step through breakpoints
david-pl bba00b8
Fix reset impl: also reset measurement records
david-pl 487e853
Skip intra-shot rayon parallelism inside shot-level parallelism
david-pl 0c4c7a8
Add multi-shot run API to ppvm-vihaco
david-pl dd7147c
Run multiple shots from the CLI with optional threads, seed, and outp…
david-pl 2aa534c
Update ppvm-cli README for multi-shot run
david-pl a2a63f5
Add missing resolve for two-qubit pauli error
david-pl e6bc2be
Fix pop order
david-pl ec98a4c
Add XY rotation gate
david-pl f80dd74
Add R gate
david-pl 225c34e
Add R to CircuitInstruction set
david-pl 3474c03
Split out CircuitInstruction, Message and effect into separate crate
david-pl e3af9c8
Add license headers
david-pl b9af349
Merge branch 'main' into david/42-circuit-component
david-pl 5d43342
Make thread count global flag and make it consistent throughout
david-pl 3a96ddc
Execute single instruction and tableau printing methods
david-pl f943ffa
Add REPL
david-pl b62884c
Use rustyline for history
david-pl 749b927
Merge branch 'main' into david/42-circuit-component
david-pl 51039f4
Add configurable backend kind and no-op trace truncate
david-pl 220d6ca
Draft backend dispatch
david-pl d5cafbf
Gate dispatch for PauliSum executors
david-pl 8659956
TraceEffect and CircuitOutcomeEffect
david-pl 59b003d
PauliPattern trace
david-pl 30006a2
Update constructor and add observable header
david-pl a300333
Add some new tests and truncate no-op
david-pl 067c34c
Implement observable parser
david-pl 3805867
Hook parser into constructors
david-pl 35856ad
Intern strings and add a bunch of end-to-end tests
david-pl c83bd4e
Add ShotRecord, formatting and update CLI
david-pl 44fb416
Update skills
david-pl 5e8e9e0
Trace for tableau
david-pl 813fe35
Add a test comparing PauliSum.trace and average over Tableau expect
david-pl ca32988
Wire in trace in the tableau backend
david-pl 9a9ee8a
Rename gate to circuit for instructions
david-pl cef09c0
Merge branch 'main' into david/42-circuit-component
david-pl e60ee0b
Use a shared macro for PauliSum backend impls
david-pl 0a056e9
Add a test for lossy paulisum and fix stale skill
david-pl 0e430b0
Fix README since in-line comments don't work
david-pl 7ee38ef
Add a few .sst examples
david-pl 5596024
Update to latest vihaco changes
david-pl a24031a
Update vihaco dependencies to public ones
david-pl 0b816d4
Merge branch 'main' into david/42-circuit-component
david-pl c9fa288
Update lock file
david-pl ba289e0
Fix prek CI
david-pl 569d9a6
Fix prek CI again
david-pl 84f1b57
Fix clippy issues
david-pl 4d2010d
Fix ruff issues
david-pl f5dceba
Merge branch 'main' into david/42-circuit-component
david-pl e6b6c16
Fix wasm build failure due to rayon feature
david-pl 719fe0a
Exclude ppvm-cli from wasm build
david-pl 509413c
Merge branch 'main' into david/42-circuit-component
david-pl 0cd5bc1
Fix skill merge conflict
david-pl c16a066
Fix :meth: docstrings
david-pl 5152646
Syntax: "circuit h" -> "circuit.h"
david-pl 8beb96a
Remove the REPL
david-pl 7fa85d0
Fix copilot's dumb changes
david-pl 5a3765d
Clean up some dependencies
david-pl 3c9a51a
Merge branch 'main' into david/42-circuit-component
david-pl f7df680
Fix machete
david-pl 9de97d8
Add back eyre
david-pl a12c623
Implement PauliSum resets
david-pl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,6 +6,7 @@ | |
| .uv/ | ||
| *__pycache__* | ||
| profile.json.gz | ||
| debug/ | ||
|
|
||
| # mkdocs build output and cache | ||
| ppvm-python/site/ | ||
|
|
||
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.