GithubHelp home page GithubHelp logo

codingtheory's People

Contributors

benide avatar esabo avatar mikevasmer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

codingtheory's Issues

Add `[compat]` entries to Project.toml for Oscar, etc.

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.

Request: Breaking up the types.jl file

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

Reed-Solomon Constructor Broken

The Reed-Solomon constructor is returning the wrong generator polynomial, yet the same parameters work correctly in the BCH constructor.

Minimum distance failing for certain overcomplete matrices

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.

ToricCode doesn't work for even distances

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.