Karim BELABAS on Fri, 24 Sep 1999 18:52:39 +0200 (MET DST)

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

pari-2.0.17 update


  there's a new update in


It's mostly cleanup/bugfix, but it still contains some important improvements
in the algebraic number theory module [much more efficient nfbasis() and
nfgaloisconj for instance, as well as a huge speedup for pathological class
group computations]

This is hopefully the last beta before the release (one month from now, if
nothing breaks up...).

Have fun,


P.S: Here's the Changelog

Done for version 2.0.17.beta (released 24/09/99):
XR  1- typo in zarchstar (result possibly incorrect when more than two places)
    2- check_unit not severe enough ([;] --> session could die !)
    3- wrong error message when using global var as argument to user function
    4- typo in boundfact(t_FRAC) --> SEGV
    5- buchall: don't compute xarch if not needed
    6- remove limit on string size + silent overflow, e.g Str(10^5000)
    7- "break status" not checked often enough: [break, 1] --> SEGV
    8- rewrote errcontext (use print_text to fit messages on terminal)
BD  9- added workarounds against some MSVC annoyances (Windows version)
IZ 10- typo in Gnuplot.h
   11- typo in Configure ("2>&1 >/dev/null" replaced by ">/dev/null 2>&1")
   12- simplified incgam[23] + typo (mulrr --> gmul)
IZ 13- typo in LD_LIBRARY_PATH setting (benches)
   14- inconsistency in gadd(0., FRAC) (should give 0. if FRAC small enough)
   15- libraries/headers ordering inconsistent in Configure (report: IZ and KO)
   16- typo in ff_poltype [symptom: (Mod(1, y^2 + 1)*x + 1)*x --> garbage]
   17- qfbprimeform(4, [2]) --> SEGV
   18- overflow in  factorcantor(2*x^3+3*x^2+x, 2^31-1)
   19- memory corruption in apell1 + no garbage collection,
       rewrote the function to parallel apell0, replaced hashing by sorting,
       use Montgomery's trick, removed the p < 10^25 limit
IS 20- cc -64 warning in mp.c:vals()
   21- bad free in gp_expand_path
   22- extract([;], "..") --> SEGV
   23- not enough GC in hnfall
   24- recover gracefully when precision too low in lindep/algdep
IS 25- cleaned up unused variables, fixed some missing casts
   26- algdep(x) --> undefined behavior when x exact. Replace by decimal
IS 27- C++ keywords (new, class) occurred as variable names
   28- arguments of ideallistarch not checked
   29- Mod(t_FRAC or t_PADIC, t_INT) --> garbage
   30- gcmp1(t_REAL) always false: polylog(2, 1) --> error
   31- (spurious) compiler warnings about variables used before initialization
   32- memory (possibly) freed twice in buchall + unsafe allocation of matcopy 
   33- online help for matsnf not updated
   34- rnfequation() didn't check its arguments correctly
   35- removed sprious special case in compute_class_number()
   36- typo in the compatibility macros mpabsz / mpnegz (missing ;)
   37- "lost pointers in gerepile" in bnfisprincipal(Q, ...)
   38- bnfisprincipal(..., Pol(0)) accepted
   39- [Configure] Makefile name didn't necessarily match object directory
   40- zetak(nfz, integer + 0.) --> stack corruption
   41- for(i=1, ..., zetak(nfz, any complex number)) went slower and slower
   42- poltchebi(.,y), pollegendre(.,y) didn't work
   43- confusing "array index out of allowed range" message (e.g [1-0])
IS 44- fixed obscure compiler optimization bugs in smithall() and eint1()
GN 45- weird results in ellisoncurve() due to misguided precision heuristics
   46- typo in forvec([],...): lisexpr() --> lisseq()
   47- check arguments in ploth()
XR 48- rare bug in bnrL1 (wrong value!)
   49- precision problems in polredabs
   50- division by 0 in rnfordmax [typo in mymod()]
   51- removed all dangerous occurences of constpi/consteuler (cf 41-)
   52- typo in det() [forgot to divide by a pivot]
   53- divide by 0 error in lllgramintern (precision problem)
   54- suminf(k=1,suminf(j=1,.067^(k+j)/k^4/(k+j))) ran forever
   55- factor(2*x + 2) --> [2*x + 2, 1] (instead of stripping the content)
   56- (ultra-rare) stack corruption in mpqs_solve_linear_system()
   57- rl_refresh_line() prototype changed across readline's versions
   58- incorrect handling of INTMODs modulo integers of different magnitude
XR 59- matsnf(3 x 3 matrix, 4) --> SEGV
   60- some pathological bnfinit() computations (strive to get maximal rank)
XR 61- precision problems in nfsqff() [increase precision for T2-norm bound]
   62- time wasted checking generators of the form [x,0,...,0] in polredabs
   63- variables deleted too late in freeall()

XR  1- modulus choice in bnrstark
    2- make sure that addii(x,y) returns gzero, not icopy(gzero)
    3- cutoff in ellap to use Jacobi sums (457 --> 100)
    4- pariputsf("%Z",(long)g): removed the casts (not needed)
    5- cleaned up hnfspec
    6- look for at least MIN_EXTRA extra relations in buchall
    7- simplified calling interface to hnfspec/add
    8  Used hnfspec in bnfsunit, changed the way S-units are found
    9- output of bnfsunit modified (removed res[3], made res[2] suitable
       for hnfadd)
   10- listput and listinsert now return the inserted element, not the list
   11- check_break_status rewritten: was very inefficient
   12- Used parser code DG whenever it was possible (moved reorder to init.c)
   13- faster isunit()
   14- added GC in expr()
   15- buchall(): increase subfactorbase without starting over
GN 16- minor tuning in pollardbrent() for huge integers (call ECM sooner)
   17- renamed directories dos -> Odos, o.xxx.xxx --> Oxxx.
       Moved win32/* --> Odos
OR 18- new version of pari.el
XR 19- new modular round 4 implementation (nilord2)
BA 20- improved algorithms in galconj.c

    1- an optional argument to next()
YU  3- support for FreeBSD ELF binary format
    4- file CVS.DOC
    5- support for Windows CE (Nigel Smart + coworkers)
BA  6- functions related to Galois theory: galoisinit, galoisfixedfield, etc
    7- [library] trivial function realun()

    1- #define HIGHBITM1 (useless)
    2- files config/tar_[include | exclude] (obsoleted by MANIFEST)
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://hasse.mathematik.tu-muenchen.de/ntsw/pari/