GithubHelp home page GithubHelp logo

00mjk / qiskit-surface-codes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from the-singularity-research/qiskit-surface-codes

0.0 0.0 0.0 2.65 MB

QISKit implementation of surface codes

License: MIT License

Python 1.84% Jupyter Notebook 98.16%

qiskit-surface-codes's Introduction

Surface Codes and Error Correction

For a general overview without too many technical requirements, see the

A good introductory video on closely related work at IBM can be found here:

For an introduction on how to use this library see the following notebook:

Current Capabilities

This package implements general "surface codes" which generalize A. Kitaev's toric code for quantum error correction pictured below (see pg. 67 of [1]).

Torus Code

A more general example of a graph embedded on a torus that gives a surface code can be seen below (taken from [2]),

A graph embedded on a toroidal surface. Highlighted are example basis vectors from (a) a fundamental cycle basis and (b) a minimum weight basis. Red: some representative tiling basis vectors. Blue and orange: basis vectors that correspond to the 2g = 2 generators of the fundamental group of the torus.

However, our construction is even more general than this and allows arbitrary graphs on surfaces of arbitrary genus. In particular, any code specified by a graph cellularly embedded in a compact Riemann surface can be constructed using this package. The topological interpretation can be summed up in the following table (pg. 68 [1]):

Table

Obviously error correction is necessary for fault tolerant quantum computing and surface codes are one of the best studied, most robust, and most easily implemented types of error correction. Furthermore, they only require nearest neighbor qubit interaction (gates) for implementation. The surface codes implemented in this package include the toric code as well as the hyperbolic surface codes described in:

These codes provide a higher error rate threshold than the standard toric codes, which have an error threshold of around 1%. The codes can be transpiled in QISKit and run on any IBM hardware backend, or they can be run on specialized hardware for hyperbolic surface code such as the hardware constructed with around 150 qubits in:

and used in the simulation of hyperbolic spaces in

With error rates on current hardware now reaching the 0.1% range and error thesholds well above 1% using surface codes, the implementation of error correction using surface codes is both timely and necessary for near term applications and will provide fault tolerance on most current hardware. The primary reference for implementing error correction protocols and devloping applications to condensed matter physics and spin-glass models is:

Future Applications

Future applications will involve:

  • modeling zeros of L-functions given by partition functions of lattice (or graph) Ising type models in order to understand the behavior of prime numbers and RSA public key cryptography and elliptic curve cryptography,
  • understanding the Yang-Mills mass gap problem through modeling lattice gauge theories using surface codes,
  • modeling arbitrage and cryptocurrency economies using lattice gauge theory,
  • training machine learning models on simulations of these models to predict arbitrage vulnerabilities and potential cryptocurrency instabilities
  • training machine learning models on exotic quantum hardware architecture to learn and improve error correction protocols and logical gate implementations on non-standard surface codes that go beyond simple grid qubit layouts on standard quantum hardware,
  • modeling quantum gravity(ies) and the AdS/CFT correspondecne of J. Maldecena
  • modeling quantum dynamical systems to better understand quantum chaos, quantum complexity, and phase transitions in order to better understand molecular dynamics
  • using simulations of molecular dynamics to to train machine learning models for drug discovery and materials discovery
  • using molecular dynamics to understand complex quantum phenomena such as protein folding, molecular biology processes, genetics for CRISPR, and synthetic biology

Companion Work

This package will be a part of a larger whole on error correction. The error correction software will also implement graph states and basic applications of graph states such as:

  • encoding arbitrary stabilizer codes as graph states
  • Measurement Based Quantum Computing (MBQC)
  • Bipartite graph states and quantum cryptography
  • blind quantum computation
  • modeling entanglement entropy of multipartite systems
  • computing stabilizer generators of arbitrary stabilizer codes
  • weighted graph states and generalized graph states with arbitrary (variational) controlled-U3 gates as entangling gates for quantum machine learning on weighted graphs and graph completion problems in network analysis and knowledge graphs

Currently some basic constructors of graph states based on arbitrary input graphs, as well as bipartite input graphs for MBQC, quantum cryptography, and blind quantum computation have been implemented, along with some basic measurement protocols. This should be ready to use in the very near future as well.

IBM has already implemented simple repetition codes and will likely implement some of the standard examples of stabilizer codes such as Calderbank-Shor-Steane codes (CSS-codes), so we will likely not focus on implementing those in their standard form. However, developing algorithms which convert these codes and arbitrary stabilizer codes efficiently into graph states or surface codes will likely be useful and is something we are likely to focus on in the future.

For supplementary material explaining some of the theoretical aspects of surface codes, see also the following notebook.

qiskit-surface-codes's People

Contributors

back2basics avatar the-singularity-research avatar

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.