@@ -142,10 +142,10 @@ Compatible versions (note that 0.7.0 is not yet released):
142142| python-flint | Release date | CPython | FLINT | Cython |
143143| --------------| --------------| -------------| ------------| ------------|
144144| ` 0.7.0 ` | Not yet | ` 3.10-3.13 ` | ` 3.0-3.2? ` | ` 3.0-3.1? ` |
145- | ` 0.6.0 ` | 1st Feb 2024 | ` 3.9-3.12 ` | ` 3.0-3.1 ` | ` 3.0 ` only |
145+ | ` 0.6.0 ` | 1st Feb 2024 | ` 3.9-3.12 ` | ` 3.0 ` only | ` 3.0 ` only |
146146
147147As of python-flint 0.7.0, CPython 3.13 free-threaded builds are tested in CI
148- but wheels are yet provided on PyPI. There are no known issues related to using
148+ but wheels are not provided on PyPI. There are no known issues related to using
149149python-flint in a [ PEP 703] ( https://peps.python.org/pep-0703/ ) free-threaded
150150build but it is likely that mutating objects from multiple threads is not safe.
151151
@@ -156,49 +156,100 @@ on ARM but may be added when CI runners for Linux/Windows are available.
156156CHANGELOG
157157-------------
158158
159- Next release:
160-
161- - [ gh-172 ] ( https://github.com/flintlib/python-flint/pull/161 )
162- Add ` fmpz_is_square ` .
159+ Next release (0.7.0)...
160+
161+ Contributors (0.7.0):
162+
163+ - Jake Moss (JM)
164+ - Giacomo Pope (GP)
165+ - Joris Roos (JR)
166+ - Edgar Costa (EC)
167+ - Oscar Benjamin (OB)
168+
169+ Highlights (0.7.0):
170+
171+ - [ gh-97 ] ( https://github.com/flintlib/python-flint/pull/97 ) ,
172+ [ gh-182 ] ( https://github.com/flintlib/python-flint/pull/180 ) :
173+ Add ` fq_default ` and ` fq_default_poly ` for finite fields and
174+ univariate polynomials over finite fields. (GP)
175+ - [ gh-132 ] ( https://github.com/flintlib/python-flint/pull/132 ) ,
176+ [ gh-164 ] ( https://github.com/flintlib/python-flint/pull/164 ) ,
177+ [ gh-190 ] ( https://github.com/flintlib/python-flint/pull/190 ) ,
178+ [ gh-192 ] ( https://github.com/flintlib/python-flint/pull/192 ) :
179+ Add ` fmpz_mpoly ` , ` fmpq_mpoly ` , ` nmod_poly ` and ` fmpz_mod_poly `
180+ types for multivariate polynomials with integer, rational or
181+ integers mod n coefficients. (JM)
182+ - [ gh-142 ] ( https://github.com/flintlib/python-flint/pull/142 )
183+ Add ` acb_theta ` module for the numerical evaluation of [ theta
184+ functions] ( https://flintlib.org/doc/acb_theta.html ) (only
185+ available for ` Flint >= 3.1 ` ). (EC)
186+ - [ gh-129 ] ( https://github.com/flintlib/python-flint/pull/129 )
187+ Use meson/meson-python instead of setuptools as the build system
188+ for parallel builds and better detection of dependency
189+ requirements. (OB)
190+
191+ Compatibility break (0.7.0):
192+
193+ - [ gh-189 ] ( https://github.com/flintlib/python-flint/pull/189 )
194+ As of python-flint 0.7.0 ` fmpq_poly.factor() ` now returns
195+ primitive rather than monic factors i.e. ` 2*x + 1 ` rather than `x
196+ + 1/2`. This ensures consistency between all poly types including
197+ between ` fmpq_poly ` and ` fmpq_mpoly ` . (OB)
198+
199+ Other changes (0.7.0):
200+
201+ - [ gh-194 ] ( https://github.com/flintlib/python-flint/pull/194 )
202+ Add version checking for build requirements. (OB)
203+ - [ gh-180 ] ( https://github.com/flintlib/python-flint/pull/180 )
204+ Add ` equal_trunc ` , ` add_trunc ` , ` sub_trunc ` , ` mul_low ` , ` mul_mod `
205+ and ` pow_trunc ` methods to ` fmpz_mod_poly ` . (GP)
206+ - [ gh-177 ] ( https://github.com/flintlib/python-flint/pull/177 )
207+ Remove old Py2 code for compatibility with Cython 3.1. (OB)
208+ - [ gh-176 ] ( https://github.com/flintlib/python-flint/pull/176 )
209+ Fix the error messages from ` fmpq ` constructor. (OB)
210+ - [ gh-174 ] ( https://github.com/flintlib/python-flint/pull/174 )
211+ Add ` pow_mod ` and ` compose_mod ` methods to ` nmod_poly ` and
212+ ` fmpz_mod_poly ` . Also add some missing methods to ` nmod_poly ` that
213+ other poly types already have. (GP)
214+ - [ gh-172 ] ( https://github.com/flintlib/python-flint/pull/172 )
215+ Add ` fmpz_is_square ` . (JR)
216+ - [ gh-168 ] ( https://github.com/flintlib/python-flint/pull/168 )
217+ Make comparisons consistent between different types. Add ` is_one `
218+ and ` is_zero ` for all poly types. (OB)
163219- [ gh-161 ] ( https://github.com/flintlib/python-flint/pull/161 )
164- Add ` acb.lerch_phi ` to compute the Lerch transcendent.
165- - [ gh-132 ] ( https://github.com/flintlib/python-flint/pull/132 )
166- Add ` fmpz_mpoly ` and ` fmpq_mpoly ` types for multivariate polynomials with
167- integer or rational coefficients.
220+ Add ` acb.lerch_phi ` to compute the Lerch transcendent. (OB)
168221- [ gh-160 ] ( https://github.com/flintlib/python-flint/pull/160 )
169- Add ` bits ` to ` arb ` and ` acb ` , add ` log_base ` to ` arb ` .
222+ Add ` bits ` to ` arb ` and ` acb ` , add ` log_base ` to ` arb ` . (JR)
170223- [ gh-149 ] ( https://github.com/flintlib/python-flint/pull/149 )
171- Bump Flint version to 3.1.3-p1 (Flint 3.0.0 - 3.1.3-p1 is supported but the
172- wheels are built with 3.1.3-p1).
224+ Bump Flint version to 3.1.3-p1 (Flint 3.0.0 - 3.1.3-p1 is
225+ supported but the wheels are built with 3.1.3-p1). (OB)
173226- [ gh-148 ] ( https://github.com/flintlib/python-flint/pull/148 )
174- Remove debug symbols to make smaller Linux binaries.
227+ Remove debug symbols to make smaller Linux binaries. (OB)
175228- [ gh-144 ] ( https://github.com/flintlib/python-flint/pull/144 )
176- Add ` rel_one_accuracy_bits ` to ` arb ` and ` acb ` .
177- - [ gh-142 ] ( https://github.com/flintlib/python-flint/pull/142 )
178- Add ` acb_theta ` module for the numerical evaluation of [ theta
179- functions] ( https://flintlib.org/doc/acb_theta.html ) (only available for
180- ` Flint >= 3.1 ` ).
229+ Add ` rel_one_accuracy_bits ` to ` arb ` and ` acb ` . (EC)
181230- [ gh-137 ] ( https://github.com/flintlib/python-flint/pull/137 )
182- Add ` erfinv ` and ` erfcinv ` for ` arb ` .
183- - [ gh-129 ] ( https://github.com/flintlib/python-flint/pull/129 )
184- Use meson-python instead of setuptools as the build backend.
231+ Add ` erfinv ` and ` erfcinv ` for ` arb ` . (JR)
232+ - [ gh-119 ] ( https://github.com/flintlib/python-flint/pull/119 )
233+ Add compatibility with Flint 3.1. (OB)
185234
1862350.6.0
187236
188237- [ gh-112 ] ( https://github.com/flintlib/python-flint/issues/112 ) ,
189238 [ gh-111 ] ( https://github.com/flintlib/python-flint/issues/111 ) ,
190239 [ gh-110 ] ( https://github.com/flintlib/python-flint/issues/110 ) ,
191240 [ gh-108 ] ( https://github.com/flintlib/python-flint/issues/108 ) :
192- Add pyproject.toml and build dependencies. This means that python-flint can
193- be built from source without ` --no-build-isolation ` .
241+ Add pyproject.toml and build dependencies. This means that
242+ python-flint can be built from source without
243+ ` --no-build-isolation ` .
194244- [ gh-109 ] ( https://github.com/flintlib/python-flint/issues/109 ) :
195- Use exact division for non-field domains. Now ` fmpz(6)/fmpz(3) ` returns an
196- exact result ` fmpz(2) ` or raises an error if an exact result is not possible.
197- Similar changes for ` fmpz_poly/fmpz ` , ` fmpz_mat/fmpz ` , and for polynomial
198- division with ` fmpz_poly ` , ` fmpq_poly ` , ` nmod_poly ` and ` fmpz_mod_poly ` .
245+ Use exact division for non-field domains. Now ` fmpz(6)/fmpz(3) `
246+ returns an exact result ` fmpz(2) ` or raises an error if an exact
247+ result is not possible. Similar changes for ` fmpz_poly/fmpz ` ,
248+ ` fmpz_mat/fmpz ` , and for polynomial division with ` fmpz_poly ` ,
249+ ` fmpq_poly ` , ` nmod_poly ` and ` fmpz_mod_poly ` .
199250- [ gh-106 ] ( https://github.com/flintlib/python-flint/issues/106 ) :
200- Add ` fmpz_mod_mat ` for matrices of integers mod ` n ` where ` n ` is larger than
201- word sized.
251+ Add ` fmpz_mod_mat ` for matrices of integers mod ` n ` where ` n ` is
252+ larger than word sized.
202253- [ gh-104 ] ( https://github.com/flintlib/python-flint/issues/104 ) :
203254 Bump Flint from 3.0.0 to 3.0.1
204255
0 commit comments