Qecsim.jl icon indicating copy to clipboard operation
Qecsim.jl copied to clipboard

Qecsim is a Julia package for simulating quantum error correction using stabilizer codes.

Qecsim.jl

Stable Dev Build Status Coverage Code Style: Blue

Introduction

Qecsim.jl is a Julia package for simulating quantum error correction using stabilizer codes.

NOTE: Qecsim.jl is a ground-up rewrite of the Python package qecsim.

Installation

Qecsim.jl is installed, like any other registered Julia package, using the Julia package manager Pkg:

pkg> add Qecsim  # Press ']' to enter the Pkg REPL mode.

or

julia> using Pkg; Pkg.add("Qecsim")

Examples

See Qecsim.jl documentation for more examples.

Simulation run

julia> using Qecsim, Qecsim.BasicModels, Qecsim.GenericModels

julia> data = qec_run(FiveQubitCode(), BitFlipErrorModel(), NaiveDecoder(), 0.1; max_runs=100);

julia> data
Dict{Symbol, Any} with 17 entries:
  :error_weight_pvar             => 0.4451
  :time_steps                    => 1
  :n_logical_commutations        => [8, 3]
  :error_weight_total            => 43
  :wall_time                     => 0.00264957
  :n_k_d                         => (5, 1, 3)
  :error_model                   => "Bit-flip"
  :physical_error_rate           => 0.086
  :measurement_error_probability => 0.0
  :error_probability             => 0.1
  :n_success                     => 92
  :logical_failure_rate          => 0.08
  :custom_totals                 => nothing
  :code                          => "5-qubit"
  :decoder                       => "Naive"
  :n_fail                        => 8
  :n_run                         => 100

Citing

Please cite Qecsim.jl if you use it in your research. It was first introduced in the following thesis:

A suitable BibTeX entry is:

@phdthesis{qecsim,
    author = {Tuckett, David Kingsley},
    title = {Tailoring surface codes: Improvements in quantum error correction with biased noise},
    school = {University of Sydney},
    doi = {10.25910/x8xw-9077},
    year = {2020},
    note = {(qecsim: \url{https://github.com/qecsim/Qecsim.jl})}
}

License

Qecsim.jl is released under the BSD 3-Clause license, see LICENSE.

Links