| Bill Allombert on Sat, 04 Jan 2025 18:45:10 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| PARI 2.18.0 |
Dear PARI developers,
In anticipation of the PARI atelier next week in Paris,
I have released a snapshot of the development branch 2.18 as pari 2.18.0.alpha,
see <https://pari.math.u-bordeaux.fr/download.html>
Cheers,
Bill
P.S.: the changelog:
Bug numbers refer to the BTS at http://pari.math.u-bordeaux.fr/Bugs/
Done for version 2.18.0 (released 04/01/2025):
Fixed
BA 1- incorrect GP proto for ellpadicfrobenius, mftocoset, qfcvp [#2575]
AP 2- fix idealismaximal for ideal p*ZK [Sage issue 38766]
AP 3- segfault in algsubalg when input is linearly dependent
AP 4- fix alglatinter trivial intersection (misuse of matkermod(,1))
BA 5- ellrank could try many more curves than requested by effort [#2577]
6- wrong result in issquare(Mod(a, composite)) [#2578]
7- gener_FpXQ_local(t_POL of degre 1) -> oo loop [#2581]
8- GC error when squaring integer 2x2 matrices [#2582]
AP 9- algebras: fix splitting field for CSA, algtomatrix / algnorm / algtrace
/ algcharpoly were sometimes wrong by an automorphism of the center.
BA 10- paridecl.h could conflict with complex.h [#2583]
11- forprime(p=524288,1048576,1) -> crash [#2584]
forprime(p=1048607,1048617,1) -> oo loop
12- printf("%10.6f", tiny rational) -> undefined result [#2576]
AP 13- alginit(nf,[a,b]) was only allowing a,b integral over the power basis
instead of arbitrary algebraic integers.
HC 14- zeta not continous around 1/2+3000*I [#2585]
15- missing type checks for change of variables in ellchangecurve,
ellchangepoint, ellchangepointinv
BA 16- control-C could lead to segfault later [#2496]
17- nfmodpr at deg 1 prime: "wrong" invisible variable in t_FFELT [#2580]
18- [libpari] missing normalization in FpX_mulu (when p is not prime)
HC 19- mfsymboleval could return wrong sign [#2586]
20- missing type checks in factorback [#2590]
BA 21- charpoly(Mod(x,x^20+1/2)) -> crash [#2591]
22- psi(x close to a nonpositive integer) -> error
23- rnf functions which assume polynomial with integral coeffs (rnfinit,
rnfpseudobasis, rnfdisc, rnfdedekind) were missing relevant sanity
checks
BA 24- polresultant(t_POL with RFRAC coeffs) could be incorrect [#2588]
BA 25- qflll(non-maximal rank) -> potential oo-loop [#2587]
Added
AP 1- new GP function algnewprec
BA 2- [loongarch64] add loongarch64 assembly kernel
BA 3- [libpari] closuretoinl
BA 4- [libpari] using closuretoinl, closures can be made usable with E/I
GP prototype codes
BA 5- quadclassunit now uses MPQS for negative discriminants.
AP 6- [libpari] FqC_red, FqM_red, FqC_to_FFC, FqM_to_FFM
7- [libpari] pr_anti_uniformizer
AP 8- new GP functions algeltfromnf, algmodprinit, algmodpr, algmodprlift,
algeichlerbasis
9- [libpari] checkellpt_i
AP 10- new GP functions algquattobasis, algbasistoquat, algisquatalg
BA 11- new GP functions ellchangecompose, ellchangeinvert
HC 12- zetahurwitz(t_PADIC,,d): use dth-power of the Teichmuller character
BA 13- [libpari] ZVV_nv_mod_tree, ZVV_to_FlvV
MTB 14- gen_order: implement faster recursive algorithm
MTB 15- FpXQ_sqrt: implement fast algorithm
BA 16- [libpari] F2xqX_Frobenius, F2xqX_nbroots, FF_nbroots
17- core, ispowerfu, moebius: implement fast trial division
AP 18- new GP function alginvol
Changed
BA 1- idealfactorback, rnfisnorminit: flag is now a long to match GP proto.
2- polsturm obsolete undocumented form polsturm(pol, a, b) where a or b
could be omitted is now disabled. Use polsturm(pol, [a,b]), where
a = -oo and b = +oo can be used instead of an omitted argument.
3- undocumented deprecated 3-arguments form of deprecated function
polred is now disabled. Use polredbest !
4- [libpari] deprecated function polred0 implementing deprecated polred
function now accepts only two arguments: the 3 argument form
polred0(x, flag, fa = NULL) is no longer possible. Use
polred0(mkvec2(x, gel(fa,1)), flag)
instead. And preferably polredbest!
AP 5- allow algpoleval(al, basis form, relative polynomial).
AP 6- alginit: construction from Hasse invariants now allows a shortcut in the
quaternion case, giving only the ramification set.
AP 7- alginit(nf,[a,b]) now allows a to be a square in nf.
8- nfmodpr now returns a t_INTMOD when the residue field is Z/pZ
9- [libpari] oncurve renamed ellisoncurve_i
10- ellchangepoint / ellchangepointinv: now require the elliptic curve as
first argument (to indicate the domain over which the transformation
is performed); backward compatibility is maintained for now:
ellchangepoint(P, urst) still works when it used to do; but
ellchangepoint(E, P, urst) now works also when E, P, urst are defined
over a number field with components in basis form
11- renamed ZC_hnfremdiv -> ZC_hnfdivrem
12- factorint: after trial division, never use rho first. Start by squfof
then rho.
Removed
BA 1- GP function trap, use iferr instead.
BA 2- GP functions listcreate, listkill, use L = List() instead.