Skip to Content
No preview available

Actions

Download Analytics Citations

Export to: EndNote  |  Zotero  |  Mendeley

Collections

This file is not currently in any collections.

CPC code creation software as presented at Coherent Parity Check Construction for Quantum Error Correction Open Access

Descriptions

Resource type
Software or Program Code
Contributors
Creator: Nicholas Chancellor 1
Contact person: Nicholas Chancellor 1
Contact person: Dominic Horsman 1
1 Durham University, UK
Funder
EPSRC grant EP/L022303/1
Engineering and Physical Sciences Research Council
Research methods
Other description
This folder contains code based on the methods of arXiv:1611.08012 by N. Chancellor, A. Kissenger, J. Roffe, S. Zohren, and D. Horsman feel free to reuse/modify but please attribute the source and cite our paper in any published work All code in this folder was written by Nicholas Chancellor We have created two versions of the code, one in GNU Octave, and one in Python 3, both sets of code provide the same functionality and which to use comes down to user preference. The Python code additionally includes a Jupyter notebook explaining how to use the code, at the time this code was written Jupyter could be obtained free of charge from  http://jupyter.org/
. All results for arXiv:1611.08012 were obtained using the GNU Octave code, along with a wrapper script for parallelization which has not been included. The programs given here provides a utility to search for CPC codes of arbitrary code distance (in the form of CPC matrices) using random search, and to process the resulting codes both by turning the matrices into latex arrays and by converting them into stabilizer tables. We make no claim that random search is the optimal way to find these codes, in fact we strongly suspect that huge gains could be made by using more sophisticated numerical searching algorithms. This code is meant to provide proof-of-principle of the CPC idea, and allows a utility for others to experiment with simple codes found using the CPC formalism without having to understand our paper and produce the code themselves*. * Note that this statement of intended purpose does NOT imply that we provide any kind of warranty on our code, which we do not.

This folder contains the following Python code, Jupyter notebook, and example output for the Jupyter notebook: CPC_examples.ipynb - a Jupyter notebook which demonstrates how to use the module defined in python_CPC_functions.py. At the time of writing, Jupyter could be freely obtained from  http://jupyter.org/
. The following files are output from the Jupyter example: MbCell.npy MpCell.npy McCell.npy MbCellY.npy MpCellY.npy McCellY.npy Mb_latex_example.txt stab_test.txt python_CPC_functions.py - A python module for finding and manipulating CPC codes, the functions are: find_codes - a function for searching for CPC codes of any distance by random search, takes number of physical qubits (n), number of logical qubits (k) and minimum number of errors which code should correct as required arguments, as well as number of codes to check and number to keep as optional arguments also has optional argument which causes it to save the codes. Outputs codes as tuple of arrays, (MbCell,MpCell,McCell) find_codes_includeY - same as find_codes, but uses an error model which includes Pauli Y errors CPC_mats_2_stabilizers - a function for creating stablizer tables from CPC codes, and displaying to screen or saving in latex array format. Takes the three CPC matrices as required arguments, and the name of file which results should be saved to as an optional argument, if no file name is specified, results are not saved. convert_to_latex_array - converts the CPC matricies to latex arrays and saves them. Takes a CPC matrix and a filename as a required argument. CPC_randSearch_allDists_simple.py - a script which reproduces the functionality of the 'find_codes' function in the Python module

This folder contains the following GNU Octave code: CPC_randSearch_simple.m - an octave script which searches for and stores the CPC matrices for distance 3 codes. Matrices are stored in cellular arrays MbCell, MpCell, and McCell. This program is directly referenced in the paper. CPC_randSearch_allDists_simple.m - an octave script which searches for and stores the CPC matrices for codes of arbitrary user specified distance (expressed in terms of the number of errors the code can correct). Matrices are stored in cellular arrays MbCell, MpCell, and McCell. This program is directly referenced in the paper. CPC_randSearch_allDists_includeY.m - same as CPC_randSearch_allDists_simple.m, but using an error model which includes Pauli Y errors CPC_mats_2_stabalizers.m - an octave function which takes CPC matrices and a filename as input, and saves the stabalizer table to the user specified filename in latex format convert_to_latex_array.m - an octave function which takes a numerical array and filename as input, and saves the array in latex format to the user specified filename.
Keyword
Quantum Error Correction
Quantum Information
CSS codes
Subject
Location
Language
Python 3
Python and Octave all comments and READMEs in English
Cited in
arxiv:1611.08012
Identifier
ark:/32150/r1bn999672k
doi:10.15128/r1bn999672k
Rights
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA)

Publisher
Durham University
Date Created

File Details

Depositor
N.G. Chancellor
Date Uploaded
Date Modified
18 December 2017, 17:12:55
Audit Status
Audits have not yet been run on this file.
Characterization
File format: zip (ZIP Format)
Mime type: application/zip
File size: 29244
Last modified: 2017:12:13 15:42:21+00:00
Filename: CPC-r1bn999672k.zip
Original checksum: 17d94fb6ea70f1b9007865d7abf52f3a
Activity of users you follow
User Activity Date
User S. Palucha has updated CPC code creation software as presented at Coherent Parity Check Construction for Quantum Error Correction about 1 month ago
User S. Palucha has added a new version of CPC code creation software as presented at Coherent Parity Check Construction for Quantum Error Correction about 1 month ago
User S. Palucha has updated CPC code creation software as presented at Coherent Parity Check Construction for Quantum Error Correction about 1 month ago
User S. Palucha has updated CPC_maker_Python.zip about 1 month ago