You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new noise model class, CVMacroLayer, is introduced as a replacement to reduce_macro_and_simulate in macro_reduce.py. #57 (backward incompatible)
The process for running macronode-related simulations is considerably improved: the user needs only instantiate CVMacroLayer with the noise parameters of CVLayer.
The state labeling functions have been rewritten to be faster and more compact.
Added option for rectangular cuboid surface codes, i.e. lattices with different aspect ratios. #61 (backward compatible)
A new boundary option has been introduced for the SurfaceCode: the choice "periodic" refers to a code with boundaries periodic in all (x, y, and z) directions, whereas codes with "toric" have periodic boundaries in the x and y axis but not the z axis. #62 (backward compatible)
Add functions to create different graph states (star and complete graphs, ring graphs, linear clusters, and Bell pairs) in the new module utils.graph_states. #68 (backward compatible)
Bug fixes
Tutorial files are appropriately ignored in the pylint configuration file. #65
Small fix in viz.draw_EGraph that raised an error whenever a graph state with non-integer coordinates was plotted. #68
Remove p_err as an argument of the simulations.py script as none of the existing objects/classes currently use the phase error probability. #99
Tests that required cpp libraries are skipped if they are not installed, hence avoiding failing tests from unmet dependencies. #65
Unit tests have been re-grouped in individual sub-dirs inside tests/ based on error correction and software layers. This helps manage and target each test unit. #65, #70
build_tests.yaml workflow now supports executing unit tests in parallel using pytest-xdist package. GitHub runners have at least 2 processors, which helps speed up the pytest blocks by ~1.5 times in practice. #70
Pylint is pinned to stable version pylint==2.14.0 and added to dev_requirements.txt. #76
pylint no-self-use tags are removed as this check has been removed from pylint (see here).
Added .gitattributes to the repository, so git automatically handles consistent eol's for all commits and contributors across different operating systems. #78
Increased the scope of docformatter to all .py files in the repository. Also, increased the scope of black formatter to include documentation files. #79
Added automatically generated .svg files to gitignore. #84
Directory argument -d was removed as it was unused. A working version can be added in the future.
We have removed reporting "decoding_total_time" as a more sophisticated time profiler, featuring systematic timing of all the script subroutines, is in work and will be added soon (follow its progress here).
Added the error_probability argument to the simulations.py script in order to be able to execute the simulations with iid noise. An error is raised when iid noise is selected but err_prob is not passed as an argument. #99
Documentation changes
A couple of .rst files have been changed in light of removing macro_reduce.py, shifting CVLayer to cv.ops, and adding CVMacroLayer. #57
Mention the new graph state functions from flamingpy.utils.graph_states in the run_graph_states.py tutorial. #68
A typo fix and minor changes for the README file. #80
Non-Xanadu links now open in a new tab, while HTML references are listed scientific-style at the end of a file. #82
Changed the math rendering Sphinx to MathJax (before equations were rendered as .png). #84
A typo in the installation section has been fixed. #94
Added our new forum links to README.md and documentation site. #96
Contributors
This release contains contributions from (in alphabetical order):
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
New features since the last release
CVMacroLayer
, is introduced as a replacement toreduce_macro_and_simulate
inmacro_reduce.py
. #57 (backward incompatible)CVMacroLayer
with the noise parameters ofCVLayer
.SurfaceCode
: the choice"periodic"
refers to a code with boundaries periodic in all (x, y, and z) directions, whereas codes with"toric"
have periodic boundaries in the x and y axis but not the z axis. #62 (backward compatible)utils.graph_states
. #68 (backward compatible)Bug fixes
viz.draw_EGraph
that raised an error whenever a graph state with non-integer coordinates was plotted. #68p_err
as an argument of thesimulations.py
script as none of the existing objects/classes currently use the phase error probability. #99Improvements
CVLayer
has been rewritten and refactored. #57apply_noise
method has been added to combine the procedures for noise sampling.final
sampling order has been removed, as it is equivalent toinitial
but slower.simulations.py
module has been made simpler and more general. #57code, noise, decoder
objects, as well as arguments (code_args, noise_args, decoder_args
) separately.CVMacroLayer
. #57fig, ax
returns for the draw methods inutils/viz.py
and some additional tests. #55EGraph
plots. #60tests/
based on error correction and software layers. This helps manage and target each test unit. #65, #70build_tests.yaml
workflow now supports executing unit tests in parallel usingpytest-xdist
package. GitHub runners have at least 2 processors, which helps speed up the pytest blocks by ~1.5 times in practice. #70pylint==2.14.0
and added todev_requirements.txt
. #76no-self-use
tags are removed as this check has been removed from pylint (see here)..gitattributes
to the repository, so git automatically handles consistenteol
's for all commits and contributors across different operating systems. #78docformatter
to all.py
files in the repository. Also, increased the scope ofblack
formatter to include documentation files. #79.svg
files to gitignore. #84simulations.py
: #93-d
was removed as it was unused. A working version can be added in the future.error_probability
argument to thesimulations.py
script in order to be able to execute the simulations withiid
noise. An error is raised when iid noise is selected but err_prob is not passed as an argument. #99Documentation changes
macro_reduce.py
, shiftingCVLayer
to cv.ops, and addingCVMacroLayer
. #57flamingpy.utils.graph_states
in therun_graph_states.py
tutorial. #68README.md
and documentation site. #96Contributors
This release contains contributions from (in alphabetical order):
Joost Bus, Sebastián Duque Mesa, Luis Mantilla, Nariman Saadatmand, Ilan Tzitrin, WingCode
See full commit details here.
This discussion was created from the release FlamingPy Release 0.9.0b0.
Beta Was this translation helpful? Give feedback.
All reactions