Skip to content

Commit

Permalink
Add release notes for v0.0.24
Browse files Browse the repository at this point in the history
  • Loading branch information
mhostetter committed Feb 12, 2022
1 parent 48dc549 commit 0196d7f
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions docs/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# Release Notes

## v0.0.24

### Breaking Changes

- Move `galois.minimal_poly()` functionality into `FieldArray.minimal_poly()`.
- Refactor `FieldArray.lup_decompose()` into `FieldArray.plu_decompose()`.
- Raise `ValueError` instead of returning `None` for `prev_prime(2)`.
- Return `(n, 1)` from `perfect_power(n)` if `n` is not a perfect power rather than returning `None`.

### Changes

- Compute a finite field element's square root (if it exists) with `np.sqrt()`.
- List which finite field elements are/aren't quadratic residues (have a square root) with `FieldClass.quadratic_residues` and `FieldClass.quadratic_non_residues`.
- Compute standard vector spaces with `FieldArray.row_space()`, `FieldArray.column_space()`, `FieldArray.left_null_space()`, and `FieldArray.null_space()`.
- Compute a finite field element's additive and multiplicative orders with `FieldArray.additive_order()` and `FieldArray.multiplicative_order()`.
- Evaluate polynomials at square matrix inputs using `f(X, elementwise=False)`.
- Compute the characteristic polynomial of a single element or square matrix with `FieldArray.characteristic_poly()`.
- Compute the minimal polynomial of a single element with `FieldArray.minimal_poly()`.
- Compute a Lagrange interpolating polynomial with `lagrange_poly(x, y)`.
- Support non-square matrix inputs to `FieldArray.lu_decompose()` and `FieldArray.plu_decompose()`.
- Support polynomial scalar multiplication. Now `p * 3` is valid syntax and represents `p + p + p`.
- Allow polynomial comparison with integers and field scalars. Now `galois.Poly([0]) == 0` and `galois.Poly([0]) == GF(0)` return `True` rather than raising `TypeError`.
- Support testing 0-degree polynomials for irreducibility and primitivity.
- Extend `crt()` to work over non co-prime moduli.
- Extend `prev_prime()` and `next_prime()` to work over arbitrarily-large inputs.
- Allow negative integer inputs to `primes()`, `is_prime()`, `is_composite()`, `is_prime_power()`, `is_perfect_power()`, `is_square_free()`, `is_smooth()`, and `is_powersmooth()`.
- Fix various type hinting errors.
- Various other bug fixes.

### Contributors

- Iyán Méndez Veiga (@iyanmv)
- Matt Hostetter (@mhostetter)

## v0.0.23

### Changes
Expand Down

0 comments on commit 0196d7f

Please sign in to comment.