esabo / codingtheory Goto Github PK
View Code? Open in Web Editor NEWA basic coding theory library for Julia.
License: BSD 3-Clause "New" or "Revised" License
A basic coding theory library for Julia.
License: BSD 3-Clause "New" or "Revised" License
It would be nice if Pkg.add(url="https://github.com/esabo/CodingTheory")
worked directly. We'll need this before we can consider adding this package to the Julia registry anyway.
Biggest roadblock to easily adding the package as above is the current version of Oscar changed so many things. We should add a [compat]
entry for it to Project.toml until we find time to make it work with the newer version. Probably need compat for a few other packages. #21 will be solved if we do this I think.
I understand the reasoning behind having types be in one file, but I was wondering if we could break up the types by topic and place them in their relevant subfolders considers that the type break up nicely. I am happy to do this and open a PR with this. I was thinking
src
. Classical
. . types.jl
. LDPC
. . types/
. . . types_channels.jl
. . . types_code.jl
. Quantum
. . types.jl
Open to suggestions. Am happy to take this up as well
RotatedSurfaceCode(5) works
RotatedSurfaceCode(4) doesn't
julia> T = ToricCode(3); all(is_logical(T, T.logs_mat[i, :]) for i in nrows(T.logs_mat))
true
julia> T = ToricCode(4); all(is_logical(T, T.logs_mat[i, :]) for i in nrows(T.logs_mat))
false
Probably related (via copy/paste) to #10.
Happens when calling LDPCCode()
with any matrix given as an argument.
Also, the examples haven't been updated yet either.
Replicatable on both the master and QWRv1 on Julia v1.10
Recent update to is_isomorphic
has broken the subsystem code constructor.
The Reed-Solomon constructor is returning the wrong generator polynomial, yet the same parameters work correctly in the BCH constructor.
The Bacon-Shor constructor may not produce the correct lattice for some values of m != n. Reasoning unclear. Probably a typo.
julia> Gray_code_minimum_distance(LinearCode(ToricCode(3).X_stabs))
(0, [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0])
Either the information sets are reduced to include a zero row, which is then picked out by a weight one element in the enumeration, or the enumeration vector happens to exactly contain the redundancies of the generators. In both cases, the all-zero vector appears to be a codeword.
Can probably be fixed easily by simply always using the standard form or calling _remove_empty(, :rows)
for each information set depending on what the problem is. Using standard form should fix it in both cases.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.