Skip to content

galois v0.0.22

Compare
Choose a tag to compare
@github-actions github-actions released this 03 Dec 17:03
· 0 commits to 5ecae0a6d53250e81baa9eb28e6bfd183d27f3cb since this release

Breaking Changes

  • Random integer generation is handled using new style random generators. Now each .Random() call will generate a new seed rather than using the NumPy "global" seed used with np.random.randint().

  • Add a seed=None keyword argument to FieldArray.Random() and Poly.Random(). A reproducible script can be constructed like this:

    rng = np.random.default_rng(123456789)
    x = GF.Random(10, seed=rng)
    y = GF.Random(10, seed=rng)
    poly = galois.Poly.Random(5, seed=rng, field=GF)

Changes

  • Official support for Python 3.9.
  • Major performance improvements to "large" finite fields (those with dtype=np.object_).
  • Minor performance improvements to all finite fields.
  • Add the Number Theoretic Transform (NTT) in ntt() and intt().
  • Add the trace of finite field elements in FieldArray.field_trace().
  • Add the norm of finite field elements in FieldArray.field_norm().
  • Support len() on Poly objects, which returns the length of the coefficient array (polynomial order + 1).
  • Support x.dot(y) syntax for the expression np.dot(x, y).
  • Minimum NumPy version bumped to 1.18.4 for new style random usage.
  • Various bug fixes.

Contributors

Commits

63760c3 Version bump to 0.0.22
5ecae0a Make Poly.Random() outputs consistent with GF.Random()
ba779a9 Add release notes for v0.0.22
1d144e2 Minor documentation tweaks
e1b499c Fix typo in docs build instructions
e4618a9 Add seed kwarg to Poly.Random()
ffe78b4 Add unit tests Random constructor with seed
6b00496 Use new numpy.random.default_rng()
7ecf8ec Bump NumPy to 1.18.4
ab0f108 Prevent other x**np.arange() overflow errors with improper dtype
817ad94 Fix #205
158f5ff Support ndarray.dot() usage
3e8ee35 Add tests for ndarray.dot() usage
976d2a4 Allow caching of constants in lambda functions
f1d2f6e Do not re-verify the type/value of FieldArray instances
d79332e Compute FieldClass.dtypes only once
9316409 Add unit test len(galois.Poly)
79f6dc2 Add len method to Poly class
ba217ff Add unit test with example from #194
48a4ad7 Fix #194
4b9c521 Add field_norm() method
e7d0590 Add field_trace() method
74171dc Fix typos
23ab9ed Fix #188
b08920c Fix #186
69d4a56 Support Python 3.9
c294e5c Add initial implementation of the NTT and INTT
e42a0eb Fix linter suggestions
f9ea821 Merge lint and test dependencies into requirements-dev.txt
271882e Move docs requirements file into docs/ folder
2ed51c2 Update VS Code settings for newer versions
4d25b08 Explicitly specify pylint config file for VS Code