tqec icon indicating copy to clipboard operation
tqec copied to clipboard

Implement validation experiments for the extended memory

Open nelimee opened this issue 1 year ago • 7 comments

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 extended_memory_x_observable

Once that is done, compare with the same error models:

  • the observed logical error-rate of extended_memory_x_observable with a regular square logical qubit measured in the X basis.
  • the observed logical error-rate of extended_memory_observable with a regular square logical qubit measured in the Z basis.

nelimee avatar Jan 24 '24 12:01 nelimee

Hi @nelimee I would like to work on this issue as my first contribution to the repo

TSarkar99 avatar Jan 24 '24 16:01 TSarkar99

In my opinion, this would also be good to have as an "integration test"

Gistbatch avatar Jan 26 '24 12:01 Gistbatch

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?).

nelimee avatar Jan 26 '24 13:01 nelimee

@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?

nelimee avatar Mar 21 '24 09:03 nelimee

@TSarkar99 removing you from the assignee, feel free to re-assign yourself if you are still working on that.

nelimee avatar May 07 '24 07:05 nelimee

@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.

KabirDubey avatar Jun 23 '24 20:06 KabirDubey

This issue is still open, and is likely a good first issue you are right. A few important notes:

  • the implementation uses QubitRectangleTemplate that 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:

  1. 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.
  2. 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.
  3. By that time, I hope that #249 will be merged, so change the code to make sure it works with #249.

nelimee avatar Jun 24 '24 07:06 nelimee