| Karim BELABAS on Thu, 12 Sep 2002 23:49:25 +0200 (MEST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| pari-2.2.4.alpha released |
Hi,
I'm releasing a snapshot of my sources, which have stabilized again after a
rather hectic summer. You can fetch them from
ftp://megrez.math.u-bordeaux.fr/pub/pari/pari-alpha.tgz
or from CVS as usual [ the tag is release-2-2-4 ].
1) Lots of miscellaneous bug fixes, and invisible internal cleanup [ e.g.
removal of global variables, unified use of the prime table diffptr ]
2) The following routines should be much better behaved:
rnfkummer, nffactor, rnfisnorm [WARNING: input format changed]
rnfpolredabs [try new flag 16]
3) I have cleaned up and documented the way trap() and break loops are handled
by GP [ It has changed somewhat. Check out section 2.7 of the manual ], so
that we can discuss the interface before freezing things for beta.
4) There is initial support for mnemonic flags (using symbolic litterals
instead of meaningless integer constants). See p.53 and 54 of user's manual.
Have fun,
Karim.
PS: The CHANGELOG
Done for version 2.2.4 (released 12/09/2002):
Fixed
1- add default 'new_galois_format' to make 2.2.3 C-22 optional (by default,
old format will be used, preserving compatibility)
BA 2- FreeBSD: DL_DFLT_NAME value was incorrect
3- Configure: TIOCGWINSZ not detected on Linux
BA 4- FpV_roots_to_pol not reduced when applied to a singleton
5- (a.x = [a]); "a".x ---> [a] \\ should be ["a"]
6- (a.x = [a]); print("a".x) ---> a0.E-28x \\ should be ["a"]
7- (a.x = [a]); 1.x ---> error \\ should be [1]
8- wrong rnfidealnorm[rel | abs] (wrong result if O_L not free O_K-module)
9- gcd(x + 1, x + 1/2) --> 1 \\ should be 1/2 [introduced in 2.2.1]
10- gcd for multivariate polynomials over finite fields slower than
in characteristic 0
11- [library:] typo in vpariputs: pariputsf("%Z%Z",x,y) did not work
(prints x and address of y)
IZ 12- [gnuplot + dynamic link:] allow building even when dlopen() not available
13- [CVS:] warnings about unknown files (added .cvsignore files)
14- f()=return \\ return "void"
g()=return(f()) \\ return eval("void") = 0
now g() returns "void" also
15- f(x=11,y=x)=local(t=ff(),u=t);1 --> parse error
16- conjvec([[],[],[]]) --> SEGV
17- galoisisabelian(x) --> SEGV
18- nfeltreducemodpr(nfinit(x),1,1) --> SEGV
19- idealmul(nf, principal ideal, prime ideal) returned wrong result
[introduced sometime in 2.2]
20- elltors(ellinit([...], 1)) --> SEGV
21- try to make sure life of GP variables is not too short. Was:
v = [0,0]; v + [v=0,v=0] --> SEGV
u = Mod(x*Mod(1,2),polcyclo(25)*Mod(1,2)); sum(i=1,4,u=u^32) --> SEGV
22- typo in to_Fp_simple [ bnfcertify(bnfinit(x^2-40!)) --> type error ]
23- memory leak in gp when handling '&' arguments
24- removed hack in gcopy [ did not reset the isclone() flag because
gunclone checks isonstack(). But other routines may want to use it ].
25- apparent oo loop in bnfcertify [when computing lower bound for
regulator]
26- ideallistarch(nfinit(x),[1,1],0); --> SEGV [bad input]
27- factor(x-I) --> x - #<16382>
28- ellsigma(...,matid(1)) --> SEGV [bad input]
29- ideleprincipal([],1) --> SEGV [bad input]
30- factorback(matid(1),nfinit(x)) --> SEGV [bad input]
31- incomplete help message for vecsort
32- polredabs fails to reduce
x^8-2*x^7-34*x^6+78*x^5+265*x^4-628*x^3-389*x^2+1237*x-449
[typo in chk_gen_init: skipfirst not initialized properly]
MW 33- (recent) typo in localred (char 2)
34- 2.2.3-C20 had broken backward compatibility: restore
[inefficient, useless] previous output of nfelt*modpr routines
35- idealappr(nfinit(y),matid(2),1) --> SEGV [bad input]
36- sqrtn(0,...) ---> error
37- galoisinit(x^4 + 5264*x^3 + 8034856*x^2 + 4205424384*x + 504485485632)
--> weird error
38- qfsign([;]) --> SEGV
MW 39- torsion group of [0,0,0,-6648,208633] reported as C2 instead of C6
40- bnfinit: very rare stack corruption
41- bnfinit: used too much memory when needing huge number of relations
[when computing fundamental units]
42- bnrL1(bnr with conductor 1) --> SEGV
43- "impossible inverse modulo ..." when using addprimes() + ROUND 2
MSo44- [gp: \x] missing 'break' statement in escape()
45- wrong bound in nf_LLL_cmbf (nffactor) [no counter example to
the old bound, but proof was wrong anyway...]
46- [gp:] memory leak when assigning to multidimensional arrays (x[i][j]=1)
47- added user-friendly error message if Configure not run properly + fix
INSTALL.tex about make gp.dbg / gp.prf
48- matcompanion(x*y) --> weird error
49- typos in hilbert(), e.g
hilbert(Mod(1,2), y) --> SEGV,
hilbert(-1+O(2^3), 12 + O(2^3)) accepted wheras 2-adic precision too
low to decide
BA 50- [FreeBSD:] PORTOBJFORMAT undefined by the system --> Configure fails
51- rnfisnorm() [errors, SEGV]. Had to change the prototype.
BA 52- Oxxx/Makefile was not compatible with BSD make.
53- errors in files read from .gprc, containing trap() --> SEGV
54- bezoutres(Pol(sin(x)+Pi),Pol(cos(x))) --> "bug in subresext"
55- nfsubfields had a different output format when using galoissubfieds
56- polcoeff(1/x, -3) --> SEGV
57- (-2/x)/(-1/x) --> -2/-1
BA 58- [GP internals:] trap() had an invalid prototype [DI,DI]
59- M[,2][1]=1 --> error; M[1,][2]=1 --> no effect [ now <==> M[1,2]=1 ]
60- [GP:] newline in multiline comments /* */ was not ignored
61- [GP:] when using default 'colors' for input at \gn>1, first debugging
msg could be colored
62- [GP:] in break loop, trailing ; was ignored (all results were printed)
XR 63- smarter precision increase in update_alpha() (ROUND 4) [stick to
padics don't go over Z]
Ex: factorpadic(polzagier(18,3), 2, 30) much faster than before.
64- E=ellinit([0,0,0,-10301051460877581926458079712219,-12725370882271967125361344545020920373899020890]); ellap(E,1167254453) --> wrong result
65- factor(x^2 + I*1.) --> SEGV
66- when printing x < 0 t_REAL, was rounded in the wrong direction
67- [WINCE port:] small and SID are already defined in windows.h
Changed
1- remove most global variables from gp.c (put them in struct gp_data).
2- use better bounds for size of factors in nffactor()
3- tuning for van Hoeij's factorizer (factor + nffactor)
nffactor: call factornf when deg(pol) << deg(nf) + remove a priori
overlift for d-1/d-2 test [major overkill]
4- automatic concatenation for strings: use longest match for expression.
print("a"[1]) is not valid since "a" is not a vector
print("a", [1]) prints 'a[1]'
IZ 5- [gphelp:] allow uninstalled operation from $TOPDIR or $TOPDIR/Oarch
IZ 6- [gphelp:] better error messages in case TeX compilation fails
7- [development version:] add version number for this file to the gp
header when using CVS
IZ 8- [library:] unified access to diffptr (NEXT_PRIME_VIADIFF macro)
9- buchall: re-use the same random seed when doubling prec (for units)
10- major cleanup in thue / thueinit
11- major improvements in rnfkummer (use elements in factored form):
much faster, give smaller elements, allow arbitrary prime degree
12- improved quadray(D < 0) when relative degree is huge
13- improved bnfisprincipal when class group large: use factorisation
(+idealred) instead of arch. components (require much less precision)
14- [library:] allow trapping invmoder and recovering the offending INTMOD
15- improved factor over Z[X] for _huge_ degrees (factorizations mod p)
16- change in ordering for primedec output [use cmp_prime_over_p]
17- [library:] moved (formerly) gp-specific write* and print* to libpari
18- input format to rnfisnorm() [use rnfisnorminit]
19- [GP:] break loop prompt from '>' to 'break>'
20- [GP:] don't get out of break loop after \r
21- type f(x=1)=; twice ---> x = 1
22- [trap:] the way default error handlers operate, how to get out of
break loops (see section 2.7 of manual)
Added
BA 1- Add PARI_VERSION and PARI_VERSION_CODE to paricfg.h
BA 2- Add pari_release at top of dft.Config.in
3- rnfpolredabs: flag to use partial factorization
4- [gprc:] test against VERSION number in .gprc
5- [gprc:] multiline constructs
IZ 6- mnemonics for flags
7- internal flag nf_GEN_IF_PRINCIPAL to bnfisprincipal [isprincipalall]
8- routine rnfisnorminit()
BA 9- [Makefile:] bzdist target
10- [library:] CATCH / TRY mechanism [ encapsulate err_catch ]
Removed
1- (useless, undocumented) macros buchgen*, buchinit*
--
Karim Belabas Tel: (+33) (0)1 69 15 57 48
Dép. de Mathematiques, Bat. 425 Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud Email: Karim.Belabas@math.u-psud.fr
F-91405 Orsay (France) http://www.math.u-psud.fr/~belabas/
--
PARI/GP Home Page: http://www.parigp-home.de/