| 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/