ldpcstorage.jl
Utility Julia package for loading and saving LDPC codes to files
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.2%) to scientific vocabulary
Keywords
Repository
Utility Julia package for loading and saving LDPC codes to files
Basic Info
Statistics
- Stars: 4
- Watchers: 0
- Forks: 1
- Open Issues: 1
- Releases: 10
Topics
Metadata Files
README.md
LDPCStorage.jl
Reads and writes file formats for storing sparse matrices containing only zeros and ones. Intended for use with low density parity check (LDPC) matrices. Also supports efficient storage for quasi-cyclic LDPC codes.
Installation
Run Julia, enter ] to bring up Julia's package manager, and add the package:
julia
julia> ]
(v1.9) pkg> add LDPCStorage
Supported File Formats
alist(by David MacKay et al., see http://www.inference.org.uk/mackay/codes/alist.html)cscmat(our custom format) DEPRECATEDbincsc.json(Based on compressed sparse column (CSC). Validjson.)qccsc.json(Based on compressed sparse column (CSC). Validjson. Store exponents of quasi-cyclic LDPC matrices)hpp (C++ header)CSC of matrix as static data (write-only, reading not supported!)
How to use
```julia using SparseArrays using LDPCStorage
H = sparse(Int8[ 0 0 1 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1 0 1 ])
savetoalist("./ldpc.alist", H) Halist = loadalist("./ldpc.alist") H == H_alist || warn("Failure")
savetobincscjson("./ldpc.bincsc.json", H) Hcsc = loadldpcfromjson("./ldpc.bincsc.json") H == H_csc || warn("Failure")
open("./autogenldpc.hpp", "w+") do io printcpp_header(io, H) end ```
There also are methods accepting an IO object: print_alist, print_bincscjson, etc.
Some methods support outputting quasi-cyclic exponents directly, e.g., print_cpp_header_QC outputs a C++ header.
Contributing
Contributions, feature requests and suggestions are welcome. Open an issue or contact us directly.
Owner
- Login: XQP-Munich
- Kind: user
- Location: Munich, Germany
- Website: https://xqp.physik.uni-muenchen.de/
- Repositories: 3
- Profile: https://github.com/XQP-Munich
Experimental Quantum Physics group at Ludwig Maximilian University of Munich
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "LDPCStorage.jl: Utility functions for reading and writing files containing LDPC matrices."
doi: 10.5281/zenodo.5589595
publisher: Zenodo
url: https://doi.org/10.5281/zenodo.5589595
authors:
- family-names: Baliuka
given-names: Adomas
orcid: "https://orcid.org/0000-0002-7064-8502"
license: MIT
GitHub Events
Total
Last Year
Dependencies
- actions/cache v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v2 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite