Karim BELABAS on Fri, 27 Oct 2000 21:42:08 +0200 (MET DST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
update pari-2.0.21.beta |
Hi PARI lovers, here's another update, mostly bugfix, but some of them involving new implementations e.g: 1) improved bnf* numerical stability, due to a new hnfLLL [ try mathnf(,4), it's much better than it used to be, and should replace the default (naive) algorithm ] 2) rewritten bnfisprincipal, profiting from 1) above + improved reduction/splitting strategy + taking advantage of known factorizations instead of splitting gigantic ideals (most class group related functions benefit heavily when class group is large). 3) factorization over Z[X] (van Hoeij's knapsack algorithm) or over finite fields when the polynomial is defined over the prime field (Allomber's algorithm). Have fun, Karim. P.S: This release is available on the cvs server as release-2-0-21. I've updated the (PostScript and PDF) manuals on the megrez server. I haven't updated the binaries (DOS, etc.) for this release. P.S2: the detailed Changelog. =========================================================================== Done for version 2.0.21 (released 27/10/2000): Fixed 1- trap(gdiver2,a,1/0) <C-D> trap(,a,1/0); trap(gdiver2,a,1/0) --> crash 2- lllgramintern could reduce a wrong lattice (after precision problems) XR 3- not enough GC in bezout() 4- use hnfmodid in ideallllred (work mod I \cap Z, not mod N(I)) IS 5- C++ compilation problem (compl is a C++ operator + casts) 6- factor(x^2 - 16810110*x + 62994937599000) --> division by 0 BA 7- Pocklington-Lehmer didn't stop factorisation after sqrt(N) 8- exp(log(Pi+x+y)*1.) --> SEGV (still gives an error, but a decent one) 9- factorff needed a prime field F_p where p was single precision 10- more digits than were significant could be printed (ex: precision(Pi,1)) 11- rnfisnorm didn't accept vectors on Zk basis as argument 12- [cygwin] fixed timer (always returned 0) IS 13- function prototypes (missing 'extern') 14- quadray(bnf, ...) didn't work when bnf.disc < 0. Could also return a relative equation over an intermediate field 15- deficient argument checks: asinh(2*x-1), agm(1,1-x), zetakinit(2*x-1), idealinv( , wrongtype), nfnewprec([2*x-1]), thueinit(non-monic or degree 1), lcm(x, 0) rnfidealmul(2*x-1,0), galoisfixedfield(2*x-1), qfbnupow(2*x-1, 0), polred([x,x]), bezout(Mod(x,x^2+1),0), numtoperm(-1,0), polred(nf), idealhnf(nf,y+z), factorpadic(,y,), nfelftreduce, rnfsteinitz, idealappr(not an nf, ...): SEGV 16- check variable numbers in algtobasis: nfalgtobasis(nfinit(P(y), x)) 17- factorcantor(x^4 - x^3 - 2*x - 1, 3) --> SEGV [typo!] 18- matsupplement(non-exact entries): fixed zero test (--> |x| < eps) 19- precision(I*1.) --> +oo (should be realprecision) 20- global() could check uninitialized memory 21- default(prettyprinter,"non-existent-file") ---> SIGPIPE and GP crash 22- gamma(1+O(3^2)+x) --> SIGFPE 23- typo in cxgamma (gamma(-4.1+Pi*I/2) --> exponent overflow) 24- Odos/paricfg.h defined PARIINFO incorrectly 25- inconsistenty t_POLMOD specification: Mod(x,y)+16 --> invalid object 26- bnfsunit error (impossible I-->S) when large class group 27- qfminim([;],...) / qfperfection([;]) --> SEGV 28- idealpow(,,,1) only reduced at the end, not after each multiplication 29- typo in zbrent (always used bisection) BA 30- cotan(x) wasn't accepted 31- wrong internal prototype for thetanullk (prec not taken into account) 32- various bugs in gphelp -detex (??\a) 33- trap + ^C + next would interrupt \r or read() IZ 34- external prettyprinter incompatible with colors 35- idealval used much larger numbers than necessary 36- sqrtint very inefficient (computed with full precision all along) 37- bnfisprincipal couldn't deal with some non-Galois fields 38- listcreate allowed creating longer lists than GP could later handle 39- INPUT colors was "leaking out" (affected status messages) 40- idealpowred(, power > 2^32) --> wrong result 41- when lines > 0, output driver didn't reset properly after overflow 42- huge precision losses in bnfinit computations (--> truncation error) 43- mateigen([1,2;3,4]) wouldn't work at default precision 44- leftover debugging statements in gphelp -to_pod 45- zeta(x) didn't always use the precision of x (contrary to the other trans. functions) 46- some Warnings from MIPSPro 7.2.1 compiler (contributed by PM) BA 47- gdiv(SER,POL) --> SEGV when POL has lgef < lg 48- check relative pol is monic before calling a rnf* function XR 49- cleaned up bnrL1 character computations XR 50- round 4: possible problems when increasing p-adic precision 51- stack corruption in mppgcd(huge t_FRAC, huge t_FRAC) BA 52- abs(t_SER) not allowed 53- nfdisc(non monic polynomial,, disc factorization) returned wrong answer 54- rnfidealnormrel(rnfinit(nfinit(y^2-2),x),2) --> SIGBUS 55- hardcoded paths in a few scripts (tex2mail, gpflog, make_vi_tags) Changed BA 1- more efficient quadratic Hensel lift 2- made ya optional in polinterpolate BA 3- more efficient factorff when pol belongs to Fp[X] (based on Fp_isom) 4- catch SIGFPE 5- made poltchebi efficient 6- write all real zeroes in exponential format (0e28) in format 'g' 7- bnfsunit: try to compute S-units even when the class group is large reduce class group generators 8- 0.e N now inputs a real 0 of decimal exponent N (was N-defaultprecision) 9- try to avoid errors due to precision loss (while computing archimedian components) in bnfnewprec/bnfmake 10- restore \o2 to previous meaning, use \o3 for alternate prettyprinter 11- normalized output of idealfactor (sort factors) 12- better TeXization (\left / \right) 13- allow color changes in error messages (when sample input is given) 14- format for bnf[9] (new isprincipal) 15- cleaned up isprincipal + bnfinit (small_norm, getfu, class_group_gen) XR 16- added flag for D>0 in quadhilbert: if non-zero, try more modulii 17- idealred: reduce huge ideals as Z-module first (using lllintpartial) 18- TeXmacs interface Added 1- library function zerovec 2- van Hoeij's algo. for modular factors recombination (factor over Z[X]) 3- algdep for p-adic numbers IZ 4- default values for 'colors' (light/dark) and 'prettyprinter' (tex2mail) 5- hnflll implementation (old one was preliminary and didn't work at all) GN 6- squfof implementation 7- numerical derivation XR 8- GP interface to hensel_lift functions (polhensellift) Removed 1- quadrayimagwei, preliminary implementation to quadray(D < 0) -- Karim Belabas email: Karim.Belabas@math.u-psud.fr Dep. de Mathematiques, Bat. 425 Universite Paris-Sud Tel: (00 33) 1 69 15 57 48 F-91405 Orsay (France) Fax: (00 33) 1 69 15 60 19 -- PARI/GP Home Page: http://www.parigp-home.de/