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.
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")
See Qecsim.jl documentation for more examples.
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
Please cite Qecsim.jl if you use it in your research. It was first introduced in the following thesis:
- D. K. Tuckett, Tailoring surface codes: Improvements in quantum error correction with biased noise, Ph.D. thesis, University of Sydney (2020), (qecsim: https://github.com/qecsim/Qecsim.jl).
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})}
}
Qecsim.jl is released under the BSD 3-Clause license, see LICENSE.
- Source code: https://github.com/qecsim/Qecsim.jl
- Documentation: https://qecsim.github.io/Qecsim.jl
- Contact: qecsim@gmail.com