GithubHelp home page GithubHelp logo

steanecode's Introduction

SteaneCode

MSc Steane Code project

For documentation of the SteaneCodeLogicalQubit class please see the automatically produced documentation.

Please see the Pipecleaning repository for the initial work from which the baseline files were copied.

List of workbooks

Workbook Steane Code is a good place to start. It illustrates the main method calls.

The following additional workbooks are included:

Basic tests

  • Basic_single_qubit_errors.ipynb : Compares simulation of parallel single-qubit gates to calculation.
  • Basic_single_qubit_errors_transpilation.ipynb : Compares simulation of parallel single-qubit gates to calculation for transpiled gates.
  • Steane Code single-qubit error sensitivity : Finds sensitivity of simulations to single-qubit errors.
  • Basic_two_qubit_errors.ipynb : Compares simulation of parallel two qubit gates to calculation.

Calibration of noise model

  • Egan_single_qubit_errors.ipynb : Compares simulation of randomised benchmarking of Clifford gates to Egan’s observations.
  • Egan_two_qubit_errors.ipynb : Compare simulation of parallel XX gates to Egan’s experimental observations.
  • Bacon_Shor_1.ipynb : Simulation of full Bacon Shor code 1.
  • Bacon_Shor_1.ipynb : Simulation of full Bacon Shor code 2.

Steane code encoding

  • Steane Code encoding : Check how much noise is introduced by the encoding circuit.
  • Steane Code encoding FTb : Test fault tolerance encoding using scheme B from Goto.
  • Steane Code encoding FTc : Test fault tolerance encoding using scheme C from Goto.
  • Steane Code encoding FTd : Test novel fault tolerance encoding scheme D.
  • Steane Code FT encoding : Plots performance of a single-qubit, non fault tolerant encoding and scheme B, C and D.

Steane code error correction

  • Steane Code correction no noise : Ensures that when there is no noise any errors introduced on the Steane code are corrected.
  • Steane Code correction noise : Assess the noise introduced by error correction.
  • Steane Code error detection software decoding with noise : Measures errors before and after error correction, with and without noise.

Steane code decoding

  • Steane Code decoding with noise : Assess noise introduced by each the measurement, encoding, detection and decoding stages.
  • Steane Code decoding no noise : Ensures that when there is no noise any errors introduced on the Steane code are corrected and are the results are decoded correctly.

Logical operations

  • Steane Code logical operation : Sets up a circuit to produce a logical Bell pair.
  • Steane Code logical operation test software decoding with noise : Test the decoding software by introducing errors and making sure these get corrected.
  • Steane Code logical operation software decoding with noise and without transpilation : Carries out a sensitivity analysis of the performance of a physical and logical Bell pair at different noise levels.

Sundry circuits

  • Count gates : Counts gates in transpiled error correction circuits.

steanecode's People

Contributors

goldsmdn avatar

Stargazers

 avatar  avatar

Watchers

 avatar

steanecode's Issues

Testing improvement

Improve accuracy of testing by checking results specifically against desired state "0000000".

Enhance testing framework

  1. Test validation that can't run error correction with two logical qubits
  2. Test validation that logical qubit index is in bounds
  3. Test validation that physical qubit index is in bounds

Code refactoring

Need to refactor code to remove variables like self.__data_0 by creating a list.

Change definition of validity

In function process_FT_results add a new parameter post_select and if this is True only count codewords as not valid if outside the range.

Updates to documentation

Need to update the documentation to include:

  • overview
  • documentation explanation
  • notebook explanation

Also include the baseline workbook

Documentation issues

  1. Correct spelling in documentation index
  2. Give more information in the overview

Modify helper functions

Change helper functions to:

  • add look up data
  • modify summarise_logical_counts to use a list of values
  • add convert codewords to change to a list of lists to a list of strings

Code refactoring

Need to refactor code to remove variables like self.__data_0 by creating a list.

Documentation updates

Need:

  • new documentation for helper functions module
  • update documentation in test functions module for new tests
  • change documentation in circuits module for changes to module
  • regenerate documentation

Add further worksheets

-Steane_code_decoding_no_noise

  • Basic single qubit errors transpilation
  • Steane code decoding with noise
  • Steane code error detection with noise
  • Steane_Code_error_detection_no_noise
  • Steane code logical operations with noise and without transpilation

Code tidy up

Shorten code so less than 80 charactors per line if possible.

Python code changes

  • Need a new module for helper functions
  • Need to change circuits.py to allow two options for error correction
  • Modify and add extra tests.

Jupyter Notebook

Tidy up Jupyter Notebook to remove reference to pipe cleaning

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.