Karim BELABAS on Tue, 16 Jun 1998 22:24:32 +0200

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

pari-2.0.9.alpha update

Hello all,

   yet another update (alpha, yes, see below).


The diff file with previous version 2.0.8.alpha can be found at


This update was scheduled to be a beta, but 

1) some bugfixes had to hit highly sensitive areas of the code.

2) we received many interesting contributions/improvements. 

So I decided to postpone the beta by two weeks and to release another alpha
snapshot in the meantime. Please crash-test this version with your
favourite applications, it _is_ the last one of the alpha cycle.

Enjoy !


P.S: The MPQS implementation kindly adapted from the LiDIA code by Thomas
Papanikolaou and Xavier Roblot and announced by Thomas on this list, is still
not too well integrated within PARI (it does not communicate well with PARI's
ECM, and is thus very inefficient when "small" factors survive the trial
division stage; it works well on balanced numbers). I made it available
through the new (and hopefully temporary) function factorint(). Hopefully, a
patch will be available soon...

P.S2: The Changelog:
Done for version 2.0.9 alpha (released 16/06/98):

    1- typo in qfbhclassno (SEGV when result in (1/3)Z)
    2- too much memory allocated in factmod /factcantor (use clones)
    3- removed the -DREADLINE_LIBRARY hack, use <readline/readline.h> and
       not <readline.h>
    4- version 2.0.8 did not compile with readline 1.*
    5- after gaffect(0, padic), padic was unsuitable for further gaffect
    6- length(a string) gave number of non code words, not string length.
    7- factorpadic(polynomial of degree one) did not convert coeffs to padics
    8- reduction mod p^r forgotten in gaffsg(s,t_PADIC).
    9- default(realprecision,,1) did not return # significant digits.
   10- typo in nfmodprinit (return x instead of 1-x)
   11- matinverseimage did not check its arguments
   12- mathess([;]) --> SEGV
   13- matid(-100) --> SEGV
   14- mateigen([;]) --> SEGV
   15- matmultodiagonal([;],Mat(1)) --> SEGV
   16- vecextract([;],"..") --> SEGV
   17- introduced in 2.0.8 (Added 3-): aliases/user function + <TAB> ==> SEGV
GN 18- (t_RFRAC) ^ t_INT took an unreasonable amount of time.
   19- prevent quick succession of ^C from corrupting memory in recover()
   20- hyperu could enter an infinite loop due to round-off errors
XR 21- matadjoint(Mat(n)) returned Mat(n), not Mat(1)
   22- matadjoint([;]) returned [[;]] (???)
   22- wrap some long error messages
XR 23- inefficiencies in rnfpolredabs
XR 24- nffactor (wrong format for discriminant computation + problems with
       unseparable polynomials + compute disc only once).
HC 25- typos in kummer.c
GN 26- check environment variable LINES, not ROWS
   27- introduced in 2.0.7 (Fixed 7-): lift(Mod(O(2^0)*x, x^3 - 2)^4) was a
       zero polynomial with non-zero sign (=> pb when normalizing in poldivres)
   28- timer always returned 0 if times() was used (e.g linux-alpha)
   29- kill'ing the argument of a user function corrupted the function.
   30- make clean did not remove pariinline.h
   31- incorrect memcopy in identifier, case 's' (removed * sizeof(long))
   32- online help for ?. (nf.nf does not exist)
   33- lisseq0: gnil not respected after break/next. avma=av too brutal
       after return.
   34- ellwp assumed precdl > 3
   35- under emacs, \c + hit return froze emacs (Emmanuel Kowalski)
   36- (f()= f()=x); f; didn't set f properly
GN 37- comments in anal.c
   38- qflllgram([;]) --> SEGV
   39- no online help for bernfrac
   40- from 2.0.6 (Fixed-8): in padicff2, forgot to raise ideal to power e

    1- improved (trivially) gneg (case t_INTMOD), gtopoly
    2- use macro is_bigint() instead of tests (ulong)x[2] < VERYBIGINT
       (led to typos as in Fixed-4 in 2.0.8)
    3- improved poldivres by replacing many gsub by 1 gneg + many gadd
    4- in pvaluation check for small integer
    5- internal function rnfelement_*mod (prhall=NULL instead of gzero)
    6- improved mathess
    7- added error message "inconsistent data in" in parierr.h
    8- gpui[gs] renamed to gpow[gs]
GN  9- improved probable-primality tests ('end matching')
   10- moved pseudo primality and ECM stuff into ifactor1.c
GN 11- raise to an integer power using left-shift binary (new functions
       powi and powgi)
   12- add some details in the online help headers
GN 13- nextprime, precprime now accept real arguments
TP 14- improved the alpha micro kernel (addllx and subllx)
   15- simplified poltschirnaus
   16- cleaned up identifier(): #ifdef __hpux__ + call_fun() modified
   17- taylor() improved (one gerepile removed)
   18- unified the treatment of zero series
   19- gerepilemany faster and more efficient memory-wise (copy to heap first)
GN 20- improved stack checking in lllgramall

    1- global variable defaultpadicprecision.
    2- function compute_prhall (nfmodprinit is better)
    3- function [g]pseudopremier (miller[rabin] better)

    1- function egalii
    2- support for cygwin32 in Configure (Andy Stubbs)
    3- new function gunclone to delete a clone (killbloc should be used by
       the analyser only)
    4- comments in anal.c
TP+XR 5- new function factorint(), using MPQS (_experimental_).
Karim Belabas                    email: Karim.Belabas@math.u-psud.fr
Dep. de Mathematiques, Bat. 425
Universite Paris-Sud             Tel: (33 1) 01 69 15 57 48
F-91405 Orsay (France)           Fax: (33 1) 01 69 15 60 19
PARI/GP Home Page: http://pari.home.ml.org