-
Couldn't load subscription status.
- Fork 24
Implement electron-nuclear spin register for MBQC distillation protocol #285
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
base: master
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #285 +/- ##
=======================================
Coverage 69.36% 69.36%
=======================================
Files 57 57
Lines 2357 2357
=======================================
Hits 1635 1635
Misses 722 722 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Benchmark ResultJudge resultBenchmark Report for /home/runner/work/QuantumSavory.jl/QuantumSavory.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTargetBaselineTarget resultBenchmark Report for /home/runner/work/QuantumSavory.jl/QuantumSavory.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoBaseline resultBenchmark Report for /home/runner/work/QuantumSavory.jl/QuantumSavory.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoRuntime information
Architecture: x86_64
|
| function graph_generator(initial_entanglements_nodes, purified_nodes) | ||
| g = Graph(4) | ||
| for ij in [(1,3), (2,3), (3,4)] | ||
| add_edge!(g, ij...) | ||
| end | ||
| return g | ||
| end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's rename this to purification_resource_graph(code) or something like this
| end | ||
|
|
||
| # TODO: right now, it just measures all but purified nodes | ||
| @resumable function measure(sim, net, side, purified_nodes, storage_slot) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's avoid assuming that this will be the only protocol running (e.g. the way you do index arithmetics with n depends on the assumption you have only two groups of nodes, only dedicated to running this protocol)
maybe;
function measure(sim, net, local_storage_nodes_idx, storage_slot, remote_chief_node_idx)
| if !(node in local_purified_nodes) | ||
| reg = net[node] | ||
| m = project_traceout!(reg[storage_slot], X) # TODO: fixed basis for now | ||
| tag!(reg[storage_slot], MBQCMeasurement, node, m) # storing the results for now, in case we need to something more sophisticated with them |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's not tag this until we know we actually need this tag
| # TODO: send the entangler fusion measurement info as well.. | ||
| end | ||
|
|
||
| @resumable function purification_tracker(sim, net, side, purified_nodes, storage_slot) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same restructuring as above, presumably just purification_tracker(sim, net, local_chief_node_idx, local_purified_nodes_idx, storage_slot)
| tag!(local_tag.slot, PurifiedEntalgementCounterpart, src_node, storage_slot) | ||
| else | ||
| @debug "Purification failed." | ||
| untag!(local_tag.slot, local_tag.id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and delete that qubit
|
|
||
|
|
||
|
|
||
| @resumable function entangler_fusion(sim, net, nodeA, nodeB, communication_slot, storage_slot, pairstate) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| @resumable function entangler_fusion(sim, net, nodeA, nodeB, communication_slot, storage_slot, pairstate) | |
| @resumable function entangler_fusion(sim, net, nodeA, nodeB, communication_slot, storage_slot, pairstate) |
For issue #204