| Karim Belabas on Sun, 01 May 2011 13:56:08 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| pari-2.4.4.BETA released |
Dear PARI lovers,
I would like to announce the release of pari-2.4.4-BETA. The sources
are available at the address
http://pari.math.u-bordeaux.fr/download.html
The testing development branch is now mature enough to become the next
stable branch: pari-2.4.4-BETA is a release candidate for pari-2.5.0-STABLE
Please help us test this Beta release!
-- How to report problems:
http://pari.math.u-bordeaux.fr/Bugs/
-- List of known minor bugs in this release:
http://pari.math.u-bordeaux.fr/cgi-bin/pkgreport.cgi?pkg=pari
(These will not be fixed before the STABLE release)
This is mostly a bugfix release coming on top of pari-2.4.3.
Some new features, still:
[Basic arithmetic]
- subquadratic gcd over prime finite fields
- private "prime table" (addprimes) must now contain primes only: its
entries are now used in all arithmetic functions [new function
addpseudoprimes to cover old usage: in factorint() only]
[Number Fields]
- bnfinit: huge improvements for fields of large degree or admitting
non-trivial automorphisms (series of patches by Loic Grenie).
[GP]
- new default 'histfile', to save your typing history in between sessions !
- all GP functions are now understood by GP2C
Have fun,
Karim.
P.S: The Changelog.
Done for version 2.4.4 (released 29/04/2011):
Fixed
BA 1- FpX_gcd did not garbage-collect for large input.
BA 2- 'make all' failed to build the documentation.
3- typo in polgalois() when new_galois_format is 0 : returned [3,1,2]
instead of [3,1,1] for C_3
4- rnfkummer was using too much stack.
5- nfgaloisapply did not work on extended ideals.
6- Strprintf and printf0 prototypes were wrong.
7- Mod(4*x+1,Mod(1,2)*x) -> SEGV [#1116]
8- gcd(t_INTMOD, t_FRAC) -> SEGV
9- qfjacobi failed on a matrix of zeros (or in presence of 0s of large
exponent) [#990]
10- t_SER / t_SER where denominator has 0 leading term -> SEGV [#1120]
11- (t_COMPLEX of t_INTMOD) + t_PADIC -> SEGV [#1121]
12- (t_QUAD of t_INTMOD) + t_PADIC -> SEGV [#1122]
LGr13- bnfinit: various performance improvement.
BA 14- several instance of random garbage collection were broken.
BA 15- [install]: support for D0,G, and D"str",s, in prototype code.
BA 16- [gp2c]: foo(x:mp)=... did not work.
17- when the divisor's leading term was 0, RgX_divrem(,,&rem) created rem
before the quotient (invalidating the use of cgiv() suggested in the
documentation) [#1129]
18- gadd(t_COMPLEX of t_REAL, t_QUAD = 0) -> SEGV [#1131]
19- log(11+11^2+O(11^3)) -> bug in log_p [#1136]
BA 20- (ffgen(ffinit(2,10))*0)^-1 -> oo-loop
BA 21- ispseudoprime(-3,0) != ispseudoprime(-3,1)
BA 22- text form of a closure now include the closure context.
BA 23- reading compressed files could corrupt the stack.
BA 24- t_CLOSURE==t_CLOSURE and t_CLOSURE===t_CLOSURE did not work.
25- gequal1(0.*x + 1) returned 0
26- ispower((100!)^2) -> 0 [#1155] Affected pure powers divisible by more
than 22 of the 26 primes <= 101. (introduced in 2.4.3)
BA 27- LLL could fail (rarely) due to insufficient precision [#1154]
28- rnfisnorminit(y,x^2-Mod(2+y,y)): polynomial not in Z[X] in nfinit [#1157]
29- factorff failed to merge identical irreducible factors [#1159]
BA 30- ploth(x=0,1,0,"Complex|Recursive") -> SEGV [#1163]
31- mathnf(dim > 8) could return a non-HNF upper triangular matrix [#1153]
BA 32- forsubgroup() did not handle break/next/return.
33- modular resultant, e.g. rnfequation(polcyclo(17,y), x+y^6,1) [#1151]
34- gequal1(x) / gequalm1(x) did not implement gequal(x, 1) for t_COL/t_MAT
35- matsize(vecextract(M,0,y)) -> [;] instead of matrix with 0 and the
requested number of columns [#1170]
36- readline completion : allow commas ',' in directory names [#105]
37- List() == List() returned 0.
38- [Configure] C_INCLUDE_PATH was not used when looking for libgmp
BA 39- polroots(1) returned [] instead of []~.
40- a succession of <C-C> in breakloop context would reinitialize timer
41- matsnf(matdiagonal([x,0])) --> [x,0] instead of [0,x]
BA 42- qfbred(large discriminant, small prec): precision too low in truncr [#1173]
PMo43- erfc(large x) was slow and inaccurate [#364]
44- erfc() : allow t_COMPLEX inputs
45- stack corruption in ifac_decomp_break() [#1115]
46- factor(0) returned 0^1, but factorint(0) raised an error. Allow
factorint(0), core(0), coredisc(0), etc.
47- ellwp, ellzeta, ellsigma only used realprecision, instead of the input
precision [#1184]
BA 48- tuning for 32bit and 64bit, with or without GMP5.
49- idealintersect(K, 1/2,1/2) -> 1/4 instead of 1/2 [#1192]
Changed
LGr1- universal constants (gen_0,gen_1, etc.) are now read-only
2- qfjacobi : sort eigenvalues by increasing order
3- [libpari] gtoser : add a third precdl argument.
4- [libpari] swap the last 2 arguments of ellwp0 (prec and precdl)
5- ellwp now outputs a number of terms equal to the default seriesprecision,
instead of *twice* that number.
6- Ser, ellwp, taylor, elltaniyama: add an optional 'precdl' argument (by
default equal to 'seriesprecision'). One no longer has to rely on (and
change locally) a global variable to handle conversion to power series.
LGr7- add information to the version() output [backward compatible if version()
used as recommended in the documentation] [#1130]
8- O(x^0) is now printed as is, not as O(1). t_SER and t_PADIC are now
treated in the same way.
9- inverse trigonometric functions (acos,asin,atan,acosh,asinh,atanh):
values on the branch cuts changed to conform to standards, e.g.
"implementations shall map a cut so the function is continuous as the cut
is approached coming around the finite endpoint of the cut in a counter
clockwise direction." (ISO C99) [initial patch Richard Kreckel, #1084]
BA 10-[libpari] nf_get_TrInv renamed to nf_get_diff
11- Qfb() : forbid square discriminants (-> corrupted objects [#1145])
12- allow gequal1 / gequalm1 to return 'true' for t_SER
13- follow-up to (2.4.3, C104) [#1156]:
- stop using the undocumented feature Z_factor_limit(x,1) = Z_factor(x).
- abide by the "lim" parameter in all cases :
factor(100,1 or 2) -> [10; 2] (was [2,2; 5,2])
14- include GP defaults in the function description system + use standard
hashtables instead of ad hoc types
15- cleanup and document term_color() and term_get_color()
BA 16- prototype of summations functions now is fun(void *E, GEN call(void*, GEN),...)
BA 17- traversesubgroups renamed to forsubgroup.
18- t_QFR with the same coefficients but different distance component are
now tested equal by == (they are still different according to ===).
19- bnfinit no longer outputs a warning when fundamental units couldn't be
computed (annoying and rather useless) [#1166]
20-[Configure] no longer support a link to an uninstalled readline library
in PARI toplevel
21- thue() no longer outputs a Warning when the result is conditional on
the GRH.
22- [libpari] rename TIMER -> timer_delay, TIMERread -> timer_get,
TIMERstart -> timer_start, msgTIMER -> timer_printf
BA 23- polrootsff now returns a t_COL
24- default(a, b) used to return "b". Now returns gnil
25- [libpari] remove allocatemem0 [make it private to GP], write allocatemem
26- matdet() : allow Gauss-Bareiss to develop somewhat wrt. rows/columns
[ cf test O1 in Lewis-Wester's bench ]
27- addprimes() now includes its argument as-is (used to take gcds,
making an insertion linear in the table size instead of O(1); filling
an inially empty table was quadratic in the final table size). They
must be true primes, otherwise number theoretic routines may return
wrong values. [#322]
28- rename fprintferr -> err_printf, flusherr -> err_flush
29- ellpow (CM case). Try to determine the discriminant of the
endomorphism ring first [#1186]
Added
BA 1- trap keyword "syntaxer" to trap syntax error from eval.
BA 2- Flx_shift now support negative shift
BA 3- [gp2c] add description _(_) for closure evaluation
BA 4- PARI function FpX_halfgcd() and subquadratic FpX_gcd(), FpX_extgcd()
BA 5- PARI function Flx_halfgcd() and subquadratic Flx_gcd(), Flx_extgcd()
BA 6- random() now allow to draw random polynomials
BA 7- PARI functions pol_0, pol0_Flx, pol0_F2x
VB 8- [mingw] --datadir=@ option to Configure
BA 9- PARI functions FlxqX_div
10- PARI function ismpzero
BA 11- PARI function bnr_get_clgp
12- new default 'histfile' (to save readline history in between sessions)
13- PARI function cmp_universal
BA 14- [gp2c] add descriptions to support intnum/suminf type functions.
BA 15- function diffop
16- PARI function zero_Flm_copy
17- PARI function mantissa_real
BA 18- PARI functions F2v_clear, F2m_clear, Z_to_F2x, F2x_set, F2x_clear, F2x_flip, F2x_coeff
BA 19- PARI functions F2xq_sqrt, F2x_deriv
BA 20- PARI functions FpXQ_trace, Flxq_trace, F2xq_trace
BA 21- PARI functions FpM_det, Flm_det, F2m_det
Removed
BA 1- PARI function CM_CardEFp (ellsea script deprecated).
--
Karim Belabas, IMB (UMR 5251) Tel: (+33) (0)5 40 00 26 17
Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50
351, cours de la Liberation http://www.math.u-bordeaux1.fr/~belabas/
F-33405 Talence (France) http://pari.math.u-bordeaux1.fr/ [PARI/GP]
`