galois v0.2.0
Released November 17, 2022
Breaking changes
-
Refactored FEC classes and usage. (#413, #435)
-
Modified
BCH
codes to support q-ary, non-primitive, and non narrow-sense codes. -
Modified
ReedSolomon
codes to support non-primitive codes. -
Enabled instantiation of a BCH or ReedSolomon code by specifying
(n, k)
or(n, d)
. -
Removed
parity_only=False
keyword argument from FECencode()
methods and replaced withoutput="codeword"
. -
Removed
bch_valid_codes()
from the API. Instead, usegalois.BCH(n, d=d)
to find and create a BCH code with codeword sizen
and design distanced
. For example, here is how to find various code sizes of primitive BCH codes overGF(5)
.>>> import galois >>> GF = galois.GF(5) >>> for d in range(3, 10): ... bch = galois.BCH(5**2 - 1, d=d, field=GF) ... print(repr(bch)) ... <BCH Code: [24, 20, 3] over GF(5)> <BCH Code: [24, 18, 4] over GF(5)> <BCH Code: [24, 16, 5] over GF(5)> <BCH Code: [24, 16, 6] over GF(5)> <BCH Code: [24, 15, 7] over GF(5)> <BCH Code: [24, 13, 8] over GF(5)> <BCH Code: [24, 11, 9] over GF(5)>
-
Removed
generator_to_parity_check_matrix()
,parity_check_to_generator_matrix()
,poly_to_generator_matrix()
, androots_to_parity_check_matrix()
from the API.
-
-
Renamed properties and methods for changing the finite field element representation. (#436)
-
Renamed
display
keyword argument inGF()
torepr
. -
Renamed
FieldArray.display()
classmethod toFieldArray.repr()
. -
Renamed
FieldArray.display_mode
property toFieldArray.element_repr
.>>> import galois >>> GF = galois.GF(3**4, repr="poly") >>> x = GF.Random(2, seed=1); x GF([2α^3 + 2α^2 + 2α + 2, 2α^3 + 2α^2], order=3^4) >>> GF.repr("power"); x GF([α^46, α^70], order=3^4) >>> GF.element_repr 'power'
-
Changes
- Added
output="codeword"
keyword argument to FECencode()
methods. (#435) - Added
output="message"
keyword argument to FECdecode()
methods. (#435) - Standardized NumPy scalar return types (
np.bool_
andnp.int64
) to Python types (bool
andint
). For example, inFieldArray.multiplicative_order()
. (#437) - Improved documentation and published docs for pre-release versions (e.g.,
v0.3.x
).
Contributors
- Matt Hostetter (@mhostetter)
Commits
a182763 Add release notes for v0.2.0
ba3d3d3 Minor clarifications in docs
6ae4a78 Standardize scalar return types
f0d92b3 Fix typos
07783e2 Fix ValueError
messages
475212d Modify admonition types
e876aa7 Conform dropdown admonitions to new Sphinx Immaterial
66e6c1e Change seealso
admonition icon
4cbbf30 Fix docs error of mismatched parameter names
4d56903 Add abstract
admonitions
ebbb197 Add Galois quote
cfb8f2d Update Sphinx Immaterial to latest
419df85 Fix color of outdated version banner
b933732 Rename display
to repr
and display_mode
to element_repr
5b593b2 Fix CI push to gh-pages
d26b373 Run Python script in CI without custom action
04f0083 Add outdated version banner
7f59231 Create latest
symlink when publishing docs to GitHub Pages
3676b4c Remove fast-forward-pr
GitHub Action
9696635 Run all CI on release/*
branches
61b8016 Clean up docs for optional return argument
f8d63ac Clean up _convert_codeword_to_message()
1b36c35 Add output
kwarg to FEC decode()
methods
054b480 Add output
kwarg to FEC encode()
methods
b3c4e6e Set docs page's "Last updated" field with git
e43e396 Add unit tests for generalized BCH and RS codes
fb04257 Clean up TypeError
from verify_issubclass()
61f1849 Fix console syntax highlighting in README
f0f35f1 Remove old g(x) to G and H functions
2dd1635 Modify ReedSolomon
to support general Reed-Solomon codes over GF(q)
189fa0b Remove bch_valid_codes()
from public API
4a91a04 Use binary search when finding BCH d
when n
and k
known
0a5b51e Modify BCH
to support general BCH codes over GF(q)
dfe8ee9 Remove unnecessary pytest helper files
1fe55ef Fix the repr of Array
and FieldArray
when not subclasses
83bf603 Use pyproject.toml
pytest settings in VS Code
3e17338 Add --showlocals
to pyproject.toml
pytest settings
3d47673 Add .coverage
to gitignore
3f957da Remove FEC helper functions from public API
b1e4295 Move FEC unit tests into their own folders
11868e4 Run CI on PRs to version branches
676d0dd Fix docs publish on package release