Skip to content
Pavithran S Iyer edited this page Apr 4, 2018 · 24 revisions

Welcome to the chflow wiki! Here, we will detail the features of chflow.

Downloading and installing

The latest version of chflow can be obtained by either cloning this github repository or directly downloading the source zip file by following the [clone or download] link in the home page. First, let us see how to install and run this software. The following dependencies, along with their recommended versions desirable for the smooth compiling of execution of chflow.

Software Recommended version Reference
Python 2.7 https://www.python.org/downloads/
NumPy, SciPy 1.1.0 https://www.scipy.org/install.html
PICOS 1.1.2 http://picos.zib.de/intro.html#installation
CVXOPT 1.1.9 http://cvxopt.org/install/index.html
Cython 0.25.2 https://docs.anaconda.com/anaconda/install/

The set of all functions in chflow can be broadly categorized into

  1. Quantum error correcting codes,
  2. Quantum channels,
  3. Running simulations and
  4. Plotting results.

Click on a category above to view all the associated functions with some background information on quantum error correction whenever necessary. In addition to the documentation provided above, one can view command specific usage and description information by invoking the man command in chflow. The following is an example displaying the usage of sbload.

10-236-13-3:chflow pavithran$ ./chflow.sh 
>> man sbload
	"sbload"
	Description: Create a new submission of channels to be simulated.
	Usage
	load [s1(string)]
	where s1 either a time stamp specifying a submission or a file containing parameters. If no inputs are given, the user will be prompted on the console.
xxxxxx
  • Physical noise processes
    • Definitions of quantum channels
    • Representations of quantum channels
    • Approximations to a Pauli channel
  • Quantum error correction
    • Quantum error correcting codes
    • Decoding and effective channel
  • Running simulations
    • On a local computer
    • On Compute Canada clusters
  • Plotting results
  • Deriving new measures of noise strength
    • Fitting logical error rates to an ansatz
    • Using machine learning techniques
Clone this wiki locally