galois v0.0.17
Breaking Changes
- Rename
FieldMetatoFieldClass. - Remove
targetkeyword fromFieldClass.compile()until there is better support for GPUs. - Consolidate
verify_irreducibleandverify_primitivekeyword arguments intoverifyfor thegalois.GF()class factory function. - Remove group arrays until there is more complete support.
Changes
- Speed-up Galois field class creation time.
- Speed-up JIT compilation time by caching functions.
- Speed-up
Poly.roots()by JIT compiling it. - Add BCH codes with
galois.BCH. - Add ability to generate irreducible polynomials with
irreducible_poly()andirreducible_polys(). - Add ability to generate primitive polynomials with
primitive_poly()andprimitive_polys(). - Add computation of the minimal polynomial of an element of an extension field with
minimal_poly(). - Add display of arithmetic tables with
FieldClass.arithmetic_table(). - Add display of field element representation table with
FieldClass.repr_table(). - Add Berlekamp-Massey algorithm in
berlekamp_massey(). - Enable ipython tab-completion of Galois field classes.
- Cleanup API reference page.
- Add introduction to Galois fields tutorials.
- Fix bug in
is_primitive()where some reducible polynomials were marked irreducible. - Fix bug in integer<-->polynomial conversions for large binary polynomials.
- Fix bug in "power" display mode of 0.
- Other minor bug fixes.
Contributors
- Dominik Wernberger (@Werni2A)
- Matt Hostetter (@mhostetter)
Commits
0134648 Version bump to 0.0.17
ec0009b Update release notes for v0.0.17
288526f Fix contributors in release notes
cca0e91 Fix bug in power representation of constant elements
6a3fcb1 Improve code coverage
8d46346 Remove target keyword until there is better support
a5f9f16 Rename FieldMeta to FieldClass
1e73ca9 Fix syntax highlighting of sphinx markdown document
92be9bd Enable tab-completion of Galois field classes
22e581b Restructure FieldMeta and FieldArray
87f6013 Remove group arrays until there is better support
8c5fab2 Allow poly coefficients for irreducible_poly and primitive_element in galois.GF
746576a Unify verify arguments to class constructor galois.GF
49f8f1d Make prime factoring of perfect powers efficient
1ecbd56 Add primitive binary BCH codes
af54a87 Make GF._poly_divmod() support 2-D dividends
22b1fd9 Re-architect JIT compilation and caching process
856a47a Make GitHub releases drafts
747672f Ensure GF2 has a ufunc for each arithmetic type
1025738 Unify JIT keyword arguments
32532f6 Add Berlekamp-Massey algorithm
649280d JIT compile Poly.roots()
bbeac79 Add irreducible_polys() function
bc61bea Add primitive_polys() function
3577ae5 Add input checking for irreducible_poly() and primitive_poly()
0f4315f Minor cleanup
54459b7 Fix bug preventing instantiating a large prime field in its extension field
677218b Reduce JIT compile times
1e79bb9 Add Intro to Galois Fields tutorials
840d479 Add arithmetic_table() method
944dcdf Add repr_table() method
d7f544a Suppress erroneous pylint warnings
ee66cc2 Fix bug in degree of large binary polynomials
59bc0cc Fix bug in "power" representation display mode
4af9bf1 Consolidate functions in modular.py
04605b7 Fix bug in Roots constructors with FieldArray roots
209b8d5 Hide classes flyweights
5504b71 Fix typos in README
1701467 Remove functions from bottom of API reference page
8f060e8 Fix typo
08aa24f Fix math representation
97c35af Add generation of minimal polynomials
ef1e778 Enable irreducible and primitive tests of degree-1 polynomials
b37f811 Add ability to generate a primitive polynomial
ec3c66b Fix bug in is_primitive where some reducible polynomials were marked as primitive
0e96460 Add ability to generate an irreducible polynomial
c5cd6b6 Fix bug in integer-poly conversions due to math.log inaccuracy
96211b4 Fix broken hyperlinks in README