Actions
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 proofofprinciple 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 AttributionShareAlike 4.0 International (CC BYSA)
 Publisher

Durham University
 Date Created
File Details
 Depositor
 N.G. Chancellor
 Date Uploaded
 7 December 2017, 21:12:02
 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: CPCr1bn999672k.zip
Original checksum: 17d94fb6ea70f1b9007865d7abf52f3a
User Activity  Date 

User S. Palucha has updated CPC code creation software as presented at Coherent Parity Check Construction for Quantum Error Correction  8 months 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  8 months ago 
User S. Palucha has updated CPC code creation software as presented at Coherent Parity Check Construction for Quantum Error Correction  8 months ago 
User S. Palucha has updated CPC_maker_Python.zip  8 months ago 