| Karim BELABAS on Thu, 7 May 1998 18:19:33 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| pari-2.0.8 update. |
Hello all,
here's yet an other update (still Alpha)
ftp://megrez.math.u-bordeaux.fr/pub/pari/unix/pari.tar.gz
The diff file with previous version 2.0.7.alpha can be found at
ftp://megrez.math.u-bordeaux.fr/pub/pari/2.0.7.a-2.0.8.a.gz
As Gerhard put it on his Website:
> PARI-GP will make a star appearance in the Special Session on Mathematical
> Software of the ICM'98 in Berlin, probably on Friday, August 21, 1998
[see http://www.zib.de/Symbolik/ICM98]
Since I'd like to have a stable release ready by that time, I'm freezing all
changes. The next update, scheduled early next month, will be bug-fixes only
and WILL be a Beta (famous last words).
I think many important problems were fixed this time so if you've been
waiting to upgrade for some time, please try out this one.
Enjoy !
Karim.
P.S: The Changelog
===========================================================================
Done for version 2.0.8.alpha (released 07/05/98):
Fixed
1- improved garbage collecting in polroots
2- zetak did not check its nfz argument properly.
3- warnings from MSVC
GN 4- isprime() did not work for numbers in [2^(BIL-1), 2^BIL-1].
GN 5- precprime sometimes missed a prime.
6- quaddisc(x in Q\Z) did not always work.
7- powering of zero series
8- factorization of null matrices (SEGV).
9- mateigen for non-diagonalizable matrices (SEGV).
GN 10- infinite loops in some arithmetical functions when arg = big prime
GN 11- cleaned up paridecl.h
12- gimag/greal for type t_RFRAC/t_RFRACN (fix: Terje Sparre Olsen)
GN 13- ordinal numbers to number components seen through \x
HC 14- lllgram: incorrect gabage collecting in first "warnmem".
15- theta(q exact, z) entered infinite loop
16- typo in gdiventres (x<-->y in last line).
MS 17- gtrunc for p-adics when valp(x) < 0
MS 18- polresultant(u+v,u-v,v) => x + u; polresultant(u+v,u-v) => 2*u
MS 19- issquare(Pol), where Pol(0) = 0
IZ 20- use 15 points (by default) for recursive plotting as documented
21- matsnf for singular matrices (supersedes a patch by GN)
LG 22- micro kernel support for HPUX
LG 23- compilation with Sun's C++ compiler (version 4.2)
24- SEGV when factoring polynomials of huge degree (removed expos[100],etc)
25- garbage collection in gpuigs
GN+BH 26- micro kernel support for ix86 running SunOS.
HC 27- handling of 0x0 matrix in some hnf* functions
HC 28- bug in discrayabslist* (try bnrdisclist(bnfinit(y^2-2),200,,1) in 2.0.7)
Changed:
1- moved hnf and snf from base1.c to alglin2.c (base1.c too big).
2- use gexpo in linear algebra functions when entries contain real
numbers (work for inexact polynomial entries now). Still does not
work properly for p-adics.
GN 3- in sigma() fall back to numbdiv() or sumdiv() when k < 2.
4- made comments started in file through read("file") local to file.
(not so \r file)
5- valuation(0) now returns VERYBIGINT instead of raising an error.
MS 6- simplified gegal in case t_FRAC
IZ+GN 7- faster initprimes, using less memory
LG 8- improved Configure
Added:
1- new function write1.
MS 2- new Lisp-like quote operator 'a
IZ 3- readline: electric parentheses, move across balanced expressions,
add formal arguments to completion of GP command (when unique).
4- micro-kernel for hppa
5- quiet mode (gp -q) to suppress headers
===========================================================================
Done for version 2.0.7.alpha (released 21/03/98):
Fixed
XR 1- SEGV in get_regulator for imag. quad. fields
2- "beautified" output (still ugly, less buggy, ok for simple objects).
3- error during "print()" could change output default.
4- SEGV when syntax errors in gprc.
5- make install failed when libpari.$sodest had been removed.
6- moved term_width and term_heigth to es.c
HC 7- inefficiency in mulii (Karatsuba used too easily).
XR 8- many problems in stark.c
XR 9- bugs in rnfpolredabs (+ new flag)
GN 10- _many_ typos in tutorial and user's manual. New, much nicer, layout.
11- whatnow not robust enough + faulty call by err_new_fun ==> SEGV
12- idealadd treated incorrectly the 0 ideal
13- default(realprecision) gave wrong value when format had been changed.
14- bnfs structure was inefficient for applications (inverted 2nd comp.)
15- buffersize was incorrectly updated during complicated read()
16- one-line comments "ignored" if buffersize too small.
17- using eval on object containing killed variables caused a SEGV.
18- contfrac lost last term when first parameter was rational and
numerators were supplied.
19- problems when dividing with polynomials/series whose leading coeff is
non-exact 0.
BD 20- missing #ifdef ZCAT in es.c
BD 21- check in paricom.h whether min / max are already defined
BD 22- universal_constants freed early in freeall() (problems on Windows NT)
BH 23- update Makefile.dos (nf.h --> parinf.h)
BH 24- changed kernel/ix86/level0asm.c (FUNBEGIN/FUNEND + ALIGN)
25- cleaned the gauss_pivot functions + garbage collecting in gauss().
26- mathnfmod did not check its second argument.
27- since 2.0.4 (item 24) install did not work anymore on FreeBSD + gp-dyn
28- cleaner malloc in plotX.c (to remove Warnings when debugmem > 0)
29- slightly optimized matdet (gsub --> gadd(,gneg))
30- ? x=1; Pol(1)
*** variable name expected: x,n,
^---
is fixed everwhere (wherever an optional variable name is expected).
setting "x" to some value is now safe.
IZ 31- nicer looking plot() function
32- warnings while building for m68k arch.
33- sqrt(Mod(1,2)) went into an infinite loop.
34- ?? did not resolve aliases.
35- besselk near integers entered an infinite loop
36- p-adic sqrt (bad valp)
37- hnfmodid could output wrong results (wrong diagonal) and wreck the
powering of prime ideals
38- added garbage collecting in izeta.
39- ??a_number now works as gphelp.
40- in prettymatrix format, matrices 0xn and nx0 are always printed as [;]
41- 1 - "a" ==> SEGV
Changed
1- reorganized output functions (es.c).
2- have mulir check if integer is small.
3- part of GENtostr inlined (check_output_length()).
HC 4- functions where it makes sense now admit an optional argument for
"variable number" (intformal, deriv, things having to do with
polynomials, etc)
5- lines of any length can be input interactively (previously 1k at most).
6- remove {} and \ from readline history
7- improve treatment of sample programs in gphelp -d
8- uniformized debugmem messages.
9- simplify the coinit function (Michael Somos)
10- changing the function set through default(compatible,) no longer
resets installed functions.
11- renamed nfker-->nfkermodpr, nfgauss-->nfsolvemodpr.
12- simplified/extended dummycopy
13- listput gives more informative error messages
Added
1- default: lines
HC 2- (made known to GP) functions nfmodprinit, nfkermodpr & nfsolvemodpr.
XR 3- function bnrstark
4- install code D& (optional pointer).
5- function name_var (to use after fetch_var)
6- concatenation of lists (or row vectors) of objects (overloaded concat).
7- ranges for vecextract (eg. vecextract(x, "1..3"))
Removed
1- useless code 'F' in analyzer.
2- perl directory (moved the files in ./perl to ./doc)
===========================================================================
Done for version 2.0.6.alpha (released 22/02/98):
Fixed
1- \x (voir2) did not always print the correct number of words
2- in changevar, type POLMOD, modulus and polynomial were interchanged.
3- all occurences of former header file names in the documentation
4- (from 2.0.5. item C5) using allocatemem in a script aborted file reading.
5- expanded the documentation for bnrrootnumber
6- factor(pol. with rational non integer coeff) could corrupt the stack
7- Euler gave wrong results when prec > 80502 digits (cleaned up Pi as well)
8- cleaned up ggcd, grando0, tayl and factorpadic2.
9- is_scalar_t --> is_const_t in gvar/gvar2
IZ 10- Configure and example Makefile for OS/2
11- idealprincipal did not accept n x 1 matrices
12- idealhnf(nf,a,b) did not work for quadratic fields
13- matsolve[mod]([;],.) could corrupt the stack or accept incorrect input.
14- modules/galois.c unnecessarily included <sys/stat.h>
BH 15- symbol name problem in level0asm.c (cancels patch by IZ)
XR 16- fixes in stark.c
17- cleaned all occurences of HIGHVALPBIT and HIGHEXPOBIT
18- serconvol assumed main variable was "x"
19- (x + O(x^2))^(3/2) gave a stupid error message
20- types not checked correctly in gtoser
21- check more seriously arguments to default()
22- in Makefile: added some missing $(RM), changed an "ln -s" in $(LN)
23- extra '\n' after print1 + sequence of warnings
24- simplified a statement in addii()
25- typo in classno() (classno(-200183): "division by 0") + cleaned classno
26- all compiler warnings + most of lint's
27- make install would not work anymore if emacs was not found
28- HNF reduction not always complete when rank is small compared to dim
29- gphelp -d did not handle ~ properly (+ cosmetic changes)
Removed
1- unused files src/kernel/ix86/{asmi386.h,asmi386inline.h}
2- useless macro gcopyifstack and global variable RAVYZARC
3- useless error message gcder1
4- useless (undocumented) function fasthnf
Changed
1- simplified isonstack
2- extended valid inputs for matsolvemod.
3- don't output a '\n' before an empty matrix.
4- mpsincos no longer static (so that it can be installed).
5- reorganized gp_initrc() to cater for for non-UNIX arch.
6- the "obsolete function" message now launches whatnow() directly.
(and caters for the special cases "i" and "o" now).
7- improved stack management in hnf/allhnfmod/fasthnf.
8- moved powering functions to trans1.c
9- disable logfile while reading .gprc
10- (slightly) the output of whatnow()
Added
BH 1- support for DOS build using EMX (dos directory + fixes)
2- function cotan() and bernfrac()
3- a code for pointers (&) for analyzer and install().
4- ??readline now includes info about completion and online help
===========================================================================
Done for version 2.0.5.alpha (released 07/02/98):
Fixed
BH 1- LOCAL_HIREMAINDER added twice more in mp.c
LG 2- some symbols declared extern in gp_rl.c to avoid compiler warnings.
LG 3- isprime could corrupt the stack (isprime_proto removed)
LG 4- possible redeclaration of macro from system header (MAX in bibli1.c)
5- typos in the user's manual
6- removed unused error numbers and fixed their ordering in mp.s
7- a ; or : after read/extern was not always correctly taken into account.
8- a bug in polroots (possible SEGV in very rare cases) (Paul Zimmermann)
Changed
LG 1- (huge) reorganization of PARI kernel and headers
2- logfile example in gprc.dft to take advantage of "time expansion"
XR 3- stark units module rewritten
HC 4- rnfpolredabs improved
5- errors now cause GP to close any file it was reading instead of going on
6- increased the static limit for the number of files opened simultaneously
Added
XR 1- function bnrrootnumber
===========================================================================
Done for version 2.0.4.alpha (released 26/01/98):
Fixed
1- recovery on startup was not correctly disabled.
GN 2- pari.el (see emacs/pari.el-changes)
3- "" missing around a DLLD caused Configure to fail if shared library not
available.
4- component of GEN could be created before its root in gadd(t_SER, t_SER)
5- nffactormod did not like big primes
6- removed the `.' binary concat operator introduced in last update.
(broke semantics). Instead Str() argument evaluated in string context.
7- solve did not find some obvious zeroes (solve(x=-2,1,x) for instance)
8- Configure -pg did not work
9- 68k version didn't work: corrected mp.s, moved some code & defines.
10- subst(x,variable(x),1) did not work.
11- flag acted contrary to doc in matsolvemod
12- in rare cases the prompt could still start at column > 1
13- bnfissunit much faster now
14- idealval could make mistakes with non-integers.
15- Mat([1])[1,] gave a stack error
16- zetakinit(x-1) as well
17- zetakinit(K, even integer) gave a wrong result whenever r1(K)>0.
18- typo in whatnow(hermite) and ?bnfsunit
19- missing newline in user error after print1
20- various typos and omissions in chapters 1, 2 and 5 of manual.
21- (x-x)==(y-y) returned FALSE
22- polfactormod(f,0) gave a SIGFPE.
23- some missing #ifdef UNIX
BH 24- install() now works for gp-sta under Linux and OSF
BH 25- gcc Warnings in gp.c + es.c
BH 26- problems when installing from a different non-priviledged account
BH 27- inefficiencies in mpinline.h (replace memory access by a constant)
Changed
1- when logging mode is on, record command line as well as result, and
flush buffer often
2- subdirectory lib now called misc. Changed some filenames in it.
3- defaults psfile and logfile are now run through strftime
4- for benches total time now taken into account ([BUG] was excluded)
5- noerr is now the LAST error message (for CLISP interface)
6- cleaned path expansion (default(path,...))
7- renamed types.h and cast.h (prefixed by "pari").
8- renamed type Rect to PariRect.
9- kernel/kerPPC.s replaced by kernel/kerPPC.c (Dominique Bernardi)
10- made static the arrays in check_isin() (for the Mac port)
BH 11- overflow/hiremainder use local variables as much as possible
12- prompt not printed during a batch job, unless echo is set
Added
1- gplogfilter script in misc
2- check for strftime in Configure
3- support for alpha running linux (include portability fix on keralpha.s)
4- file MACHINES
5- made message for "array index out of range" error more precise.
6- more frequent garbage collecting in mathnf
BH 7- inline asm for i386
GN 8- support for native compiler on AIX
Removed
1- support for dynamic linking on AIX (did not work)
===========================================================================
Done for version 2.0.3.alpha (released 13/01/98):
Fixed:
1- rare bug in gadd (PADIC + PADIC) which caused one of the arguments
to be overwritten.
2- typos in refcard.
3- galois.c still couldn't compile on the HP (_INCLUDE_POSIX_SOURCE)
4- introduced in 2.0.2: item 14 used gexpo incorrectly (bnfinit sometimes
did not give units it could have computed).
5- replaced INFINITY by pariINFINITY in rootpol.c (cancels Warning on OS/2)
6- on OS/2, target ../gp-$dft in o.xxx/Makefile could not be built
(extraneous $exe_suff)
7- command line switches so that one can enter them with or without white
space (new function read_arg in gp.c)
8- setdcolors so that it can't unset disable_colors if we are under emacs.
11- random did not check its argument correctly (random(2^32) was accepted)
12- b=10; for(a=1,b, b=2) exited immediately, whereas the upper bound is
supposed to be evaluated only once.
13- reorganized the error recovery system (initially because errpile could
cause SEGV on Linux systems)
14- typo. problems in doc and refcard (interletter spacing in $nfz$...)
Changed:
1- Reorganized Makefile.SH: extraction twice as fast.
2- pari.menu and pariemacs.txt rewritten, pari.el updated.
3- expanded the man gp.1 to mention command line switches
4- the implied input from non-interactive input command (like extern and
read) does not go into the GP history (%x) anymore (it never went into
readline's). The final output (value of last expression evaluated) of
course still does!
5- updated chapter 5 of the User's Manual (removed obsolete information).
Added:
1- better settings for handling the Meta key under readline in
examples/Inputrc
2- support for shared libraries under FreeBSD (Y. Uchikawa)
3- colors under Emacs (thx for the help Gerhard!)
1) emulate exactly the "colors" default after a M-x gp
2) .gp files edited get a special highlighting.
4- a flag to default() to get the result under GP.
5- overloaded the "." (member) operator to concatenate as strings if LHS is
a string.
6- .gprc accepts some limited preprocessing directive (#if READL and
#if EMACS (and #ifnot as well)). Updated lib/gprc.default to reflect the
changes.
Removed:
1- some unused, undocumented functions (allocatemem(), checksqid())
made static some other (op_ReIm).
===========================================================================
Done for version 2.0.2.alpha (released 15/12/1997):
Fixed:
1- typos in the documentation for the random() function
2- removed an extra -emacs flag in pari.el
3- decodefactor was incorrectly remembered by whatnow (it's factorback now)
4- test mode did not prevent all prompt expansion (==> bug in make test)
5- gphelp stopped abruptly when meeting a cross-referencing macro.
6- zetainit now aborts cleanly when disc. too big (could cause memory fault)
7- exceedingly rare bug in the printing of real numbers (missing decimals)
8- too early rounding in polroots which in rare cases made GP think some
error had happened.
9- text overflowed the manual pages (and tutorial) on non-A4 paper.
10- polred incorrectly assumed that nf arguments were totally real (in a non
critical part: that just led to some unnecessary computations).
11- polred(f,2) could try to overwrite universal integer gzero
12- check if we are using GNU as or GNU ld in Configure.
13- empty -R argument to $CC when building GP without graphics (==> link
failed).
14- bnfinit acts sensibly when fundamental units are too large (before:
"overflow in R*R")
15- cleaned up buch2.c (removed ideallllredpart1, removed gerepile in
class_group_generators(), not_given now called from getfu)
16- nfgaloisconj(...,2) was unusable (tried an illegal multiplication).
17- is_totally_split was very inefficient (==> nfgaloisconj was very slow).
18- some unimportant typos (gexpo) in polgalois.
19- compiling without readline gave a Warning in gp.c (already_hist).
20- some make programs out there don't like $< (suppressed from doc/Makefile)
21- ellap sometimes assumed (wrongly) that coeffs of the curve were integers.
22- flag 0 and 1 in ellap had been mixed up.
23- print an extra \n before an error message if last output did not
include it.
24- component(any non recursive type) gave a SEGV.
25- suminf / prodinf / prodeuler assumed they treated a real expression.
26- lindep / algep had problems with numbers having a rational component.
27- last significant digits of bessel* and hyperu were wrong (now only the
last one is).
28- expi now returns a long as documented (expi(gzero) returned 0 on 64-bit
machines!).
29- g++ could not compile libpari.a (casts missing, extraneous extern "C",
faulty inline, etc.).
30- cleaned up the enums in gp.h
31- incorrect target veryclean in doc/Makefile
Changed:
1- '_' is now valid in GP identifiers.
2- removed subsections from table of contents. pages in the manual are now
numbered consecutively.
3- gexpo now accepts exact 0 arguments (return -HIGHEXPOBIT).
gexpo for complex numbers now return max(gexpo(Re), gexpo(Im))
4- parts of lib/gprc.default
5- the second argument of subgrouplist is now optional
Removed:
1- buggy label/goto functions
2- (now unused) error messages: labeler, gexpoer2.
3- _ as shorthand for conj()
4- (useless, undocumented) function gnormalize
5- some files in the lib directory (functions, gp)
Added:
1- some files in the lib directory (README, pari.xbm, xgp)
==============================================================================
Done for version 2.0.1.alpha (released 29/11/1997):
Fixed:
1- multiple factors forgotten when factoring univariate pols over Z.
2- extraneous modifications of the random seed (period of random generator
was ridiculously small for some buchxxx functions). Change the bench
results (in a non essential way).
3- bad terminal size determination.
4- aliases incorrectly killed (possible SEGV).
5- incrementing/decrementing array elements with the (valid) syntax
v[i]++ / v[i]-- caused a weird error message.
6- subgrouplist() could end up by a SEGV on Linux systems.
7- on HP-UX, flag -Aa was not taken into account in Configure (caused it to
fail on has_TIOCGWINSZ.c)
8- added a missing #define _INCLUDE_POSIX_SOURCE in galois.c (last 2
indepently fixed by Oliver Voigt and LG).
GN 9- the script examples/cl.gp called vecconcat() instead of concat()
GN 10- make install-sta rebuilt gp-sta unnecessarily.
GN 11- many, many typos in the tutorial.
12- tu / fu applied incorrectly to a bnfclassunit.
13- bnfclassunit did not output a valid object (matrix whose elements were
rows instead of columns).
14- conversion bug from t_QUAD to t_REAL/t_COMPLEX
15- off-by-1 error in the history recovery after an error.
16- in fprintferr() (e.g. debug messages), embedded %Z did not work correctly
17- rnfequation over Q yielded a SEGV.
18- string() in compatibility mode corrupted the stack.
19- it is now safe to have colours in prompt and input line under readline.
20- default colours restored upon exiting.
21- default colors in lib/gprc.default used 0 instead of -1 for "no color".
22- psi and lngamma could give wrong results when the argument was not real
23- the make test-graphic bench was missing a newline.
24- Pol(break) gave a SEGV.
25- x=1; Pol(1) gave a stupid error message.
IZ 26- tutorial.tex was unnecessarily rebuilt
27- typos in ggcd (cases nobody will ever access: gcd of a non-reduced
LG fraction with an intmod, etc.)
LG 28- incorrect handling of integrals of vectors
29- gcd of polynomials with non-exact coeffs gave stupid results (now, they
are just often wrong, since the mathematical notion is rather imprecise).
30- typos in rnfkummer (incorrect flag handling)
31- typo in idealpowprime (negative exponent gave wrong denominator)
32- multiplication t_COMPLEX x t_COMPLEX used 4 mult. instead of 3.
33- some modular functions (j, f, f2) rewritten to take advantage of new eta
function (trueta).
Changed:
1- ?? (gphelp) starts in detex mode (-d) from a console window. tmp files
now placed according to the $TMPDIR environment variable (in /tmp by
default).
2- /usr/local/lib/pari/data is a better place for the Galois resolvents
(which are not included yet in the standard distribution).
3- The example for prompt in gprc.default to discuss escape sequences under
readline.
4- Configure now starts by searching the toplevel directory for a temporary
readline installation.
5- The output of default(colors) was confusing. It is a string now.
6- third argument of polinterpolate can be arbitrary and is now optional
("x" by default) (it had to be numeric).
7- directory configure renamed config, some of the Makefiles in there as
well (to avoid confusion).
8- the low_stack macro to facilitate dynamic stack expansion
9- if, back to GP main loop, the last command was a print1(), output an
extra newline. This way the prompt is guaranteed to be anchored on
column 1 (suppresses a readline display bug as well).
10- Due to 9, pari.el now supposes the prompt starts in col. 1.
11- Better handling of version numbers (LG)
12- decodefactor() renamed to factorback().
Removed:
1- The (unused, undocumented) Malloc_Procs functions and macros.
2- The (now unused) error message numvarer.
3- some (useless, undocumented) targets in the top Makefile
4- (useless, undocumented) function polgcd()
Added:
1- This file !
2- new flags -ch, -cb, -cu (colour support) to gphelp (see its header).
IZ 3- OS/2 (+ enough tools...) supported by Configure
4- file examples/Inputrc (example of .inputrc for readline).
5- Weber f1 function implemented.
6- Karatsuba multiplication t_REAL x t_REAL (development code, not used by
PARI yet). Test it with install if you wish.
--
Karim Belabas e-mail: 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 Fax: (33 1) 01 69 15 60 19