Skip to content

Implement Support for Two Types of Data Qubits and add Bivariate Bicycle Code Implementation #9

@adelshb

Description

@adelshb

Issue: Implement Support for Two Types of Data Qubits in Bivariate Bicycle

Description:
To implement Bivariate Bicycle in the project we need to adapt the current use of NetworkX's Graph, which does not support the handling of two types of data qubits. We need to extend the current graph representation to handle multiple type of data qubits.

  1. Extend Graph Representation:

    • Modify the graph structure to allow the representation of two distinct types of data qubits.
    • One approach could be to add one more node attributes to differentiate between the types of data qubits. For example, data qubits could have a 'type' 'data' and a label 'L' or 'R'. For checks, the 'type' could be the 'X' or 'Z'.
  2. Modify Graph builder:

    • Update all the graph builders of all implemented codes.
  3. Modify Memory circuit builder:

    • Update all the construction of the stim circuit to accommodate the new graph's attribute structure.
  4. Implement the BB code:

    • Write a Child class of the BaseCode for the BB code.
    • Write a notebook showing the graph and implementing a threshold calculation.
  5. Update Tests:

    • Write or update unit tests to verify the correct behaviour when handling graphs with multiple types of qubits, ensuring that qubits are properly represented and processed.

Metadata

Metadata

Labels

advanceRequire good understanding of the projectcodingGeneral coding work, such as implementing a new algorithm or writing testserror-correctionImplementation of quantum error-correcting codes

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions