qiskit-camp-africa-19 icon indicating copy to clipboard operation
qiskit-camp-africa-19 copied to clipboard

Understanding the error correction function

Open quantumjim opened this issue 5 years ago • 11 comments

Abstract

Qiskit Ignis includes a simple example of quantum error correction, which can be used to benchmark near-term devices. There are things that could be improved, so let's do it.

Description

The topological_codes module implements various quantum error correcting codes, all of which can be analyzed by the same decoder: GraphDecoder. This contains a set of methods, all based on graph theory.

That's the idea, anyway. In practice there is currently only one code (the repetition code) and one decoding method (minimum weight perfect matching).

Adding new codes or decoders would be a good way to improve the project. However, better suited to a hackathon is perhaps to improve what is already there.

Specifically:

  • Modify the _make_syndrome_graph method of the GraphDecoder class, in order to allow weights to be assigned to edges. Find some way to generate sensible weights given the results.
  • Modify the matching method of the GraphDecoder class, in order to allow the above weights to be used.
  • The decoder is pretty slow. Efforts to make it less slow would be appreciated.

Tutorials on how to use this module are here and here.

Members

  • Create a member list in the comments below.
  • Qiskit Coach: @ebaeumer
  • Bonus Coach: @quantumjim (Coaching from afar. Available as 'James Wootton' on the Qiskit Slack.

Deliverable

A pull request to Qiskit Ignis.

GitHub repo

  • Link will be posted in the comments below.

quantumjim avatar Dec 05 '19 21:12 quantumjim