tqec
tqec copied to clipboard
Implement validation experiments for the extended memory
Some ideas on the simulation part to gain more confidence on the correctness of implementation:
- We can simulate for both of the X/Z logical basis to verify that the extended logical basis outperforms the regular one.
- We can simulate a equal-distance square logical qubit memory experiment for comparison. If the implementation is correct, the extended logical basis should outperform that in the square case. And the regular logical basis should perform worse than that in the square case(there are more error paths for it to fail).
Originally posted by @inmzhang in https://github.com/QCHackers/tqec/pull/44#discussion_r1464809702
Basically, implement
Once that is done, compare with the same error models:
- the observed logical error-rate of
with a regular square logical qubit measured in the X basis.
- the observed logical error-rate of
with a regular square logical qubit measured in the Z basis.
Hi @nelimee I would like to work on this issue as my first contribution to the repo
In my opinion, this would also be good to have as an "integration test"
In my opinion, this would also be good to have as an "integration test"
I agree, this is how I am using the notebooks right now. I though this was a "functional test" but looking at the definition, I was wrong. So yes, it is considered as an integration test already, it is simply not easy to run it automatically (do we even want to be able to do that?).
@TSarkar99 I know a lot of things changed since the time you assigned yourself to this issue. Are you still working on it, or should we remove your from the assignees?
@TSarkar99 removing you from the assignee, feel free to re-assign yourself if you are still working on that.
@TSarkar99 I know a lot of things changed since the time you assigned yourself to this issue.
@nelimee is this still a good first issue? Perhaps we can update the description of the issue according to the current version of the repo and change its priority accordingly.
This issue is still open, and is likely a good first issue you are right. A few important notes:
- the implementation uses
QubitRectangleTemplatethat is "too generic". Basically, we should restrict ourselves to codes on a regular qubit grid (implemented in #244 but not merged yet). - the code used will have to change wen #249 is merged, to include automatic detector computation.
Nevertheless, having these tests written down would be a good thing for us, and might be a good target for functional tests.
Right now, here is the sequence of actions I can see:
- Do not bother about the 2 notes above and implement the different validation experiments described in this issue, either in a separate notebook or by extending the extended memory notebook. You might have to write down a lot of duplicated code (re-doing the experiment but with a X-basis observable will be nearly identical for example), and that is fine for the moment, basically just make it work.
- See if you can factor out duplicated code. Eventually, I expect such duplicated code to be hidden behind an abstraction layer (e.g., the one proposed by Austin in the lasts talks), but in practice we need to explore.
- By that time, I hope that #249 will be merged, so change the code to make sure it works with #249.