| Karim BELABAS on Fri, 5 Mar 1999 19:54:35 +0100 (MET) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| pari-2.0.14 |
Hi all,
pari-2.0.14.alpha is now available at
ftp://megrez.math.u-bordeaux.fr/pub/pari/pari.tar.gz
This should have been released long ago since 2.0.13.alpha suffered from a
couple of severe bugs. But some alpha testers (kudos to Igor Schein, in
particular) were a bit too successful, hence the TODO list grew out of
proportion.
All bugs known to me have now been cleared out (except an obscure one having
to do with readline completion which I could not reproduce). This was
supposed to be a bugfix release only, but :
1) gphelp has been improved in various ways, most useful being "apropos help",
which is queried using ??? pattern under GP (and gphelp -k from the shell),
which searches the whole manual to look for entries mentioning this topic
(there's no indexing, just a simple pattern matching). E.g:
(19:43) gp > ???GRH
bnfcertify bnfclassunit bnfisintnorm bnfisnorm quadclassunit
rnfisnorm thue thueinit
See also:
Functions related to general number fields
(19:43) gp > ???reduction
ellglobalred elllocalred idealpow idealred mathnf
matkerint nfinit polred qfbcompraw qfbpowraw
qfbred rnfpolredabs
All such entries are accessible from the online help (e.g ??"Functions related
to general number fields" will work now), and one can get help from different
chapters in the manual:
(19:48) gp > ???gerepile@ \\ @ = search all installed chapters
Chapter 4:
==========
Assignments Examples
See also:
A complete program
PARI variables
Some hints and tricks
The calling interface from GP
Why and how
Chapter 5:
==========
Memory allocation on the PARI stack
(19:47) gp > ??Assignments@4 \\ search chapter 4 only
Assignments:
Firstly, if x and y are both declared as GEN (i.e. pointers to something),
the ordinary C assignment y = x makes perfect sense: we are just moving a
pointer around. [...]
2) while clearing out some problems related to local(), I introduced another
scope declaration function: global(), to explicitly restrict the use of
"globally declared" parameters (forbidden as loop index, local parameters,
etc).
3) I added a function znlog (discrete log in F_p^*, using simple-minded
baby-step/giant step) as per the gp script posted on pari-user . It's small,
doesn't break existing code and performs orders of magnitude faster than the
generic ideallog.
===========================================================================
Done for version 2.0.14.alpha (released 05/03/99):
Fixed
1- factormod(2*x+1, 2) --> "factor for general pol. not implemented"
IK 2- gphelp could leak temporary files
BD 3- for native Win32 build: buffer overflow in get_home, incomplete
paricfg.h, typo in try_pipe (#endif misplaced)
4- nfsubfields: could miss subfields if index > 1
5- removed 3 useless setrand(1) in subfields.c
6- rare and obscure memory bug in inverseimage (lost pointers in gerepile)
7- memory bug in factorpadic4 (prime not copied before result)
8- memory consumption in round2 (allbase)
GT 9- m68k version: duplicate symbols from mp.c
IS 10- Cygwin: in mpqs.c, open files in binary mode (otherwise fseek goes crazy)
11- bnfisprincipal().gen gives the expected answer
IZ 12- signatures for Math::Pari in highlvl.c / init.c + GNUPLOT
set-output-file problem
13- if we think readline needs libiberty, check whether it's installed first
DB 14- PowerMac: header inclusion in highlvl.c, lround def'd in system headers
XR 15- rnfkummer makes sure to return an integer
XR 16- rnfconductor accepts polynomials with rational coeffs.
17- polredabs + internal precision change --> nfnewprec forgets nf[5][1]
18- don't log lines twice when pariecho is set
19- glitches in content() (e.g content("a") --> SEGV)
20- get_sep(2) reacted incorrectly to empty strings.
21- rootmod could destroy its argument
22- Fp_pow_mod_pol(x, 1,...) should return gcopy(x), not x
23- galoisconj1 computed wrongly the precision needed (+ prototype change)
IZ 24- remove __OPTIMIZE__ dependence (define GCC_INLINE instead)
25- off-by-1 error in apell1
26- misleading error message in minimalexponent()
XR 27- in nffactor, forgot to update precision when increasing exponent
(+ various typos)
28- sparc + non-gcc --> kernel2 possibly not included: compilation failure
29- when echo is set don't print prompt if line is empty
30- ellpointtoz sometimes return -x instead of x
31- gp -b 1 --> hangs gp
DE 32- many glitches in manual
33- mathnf(x, 3) when x hasn't maximal rank (SEGV)
34- differences in buchall 32bit/64bit (PRECREG too high. bnfinit(x^13-6))
35- various inefficiencies in nfshanks ("module too large in nfshanks")
36- memory leak in buchall (= bnf*)
37- "not a definite matrix in lllgram" after a call to bnf*
38- typo in factorff(x^3+2,3,y^2+1) --> SEGV
39- [internal] missing tags (e.g zprimestar) after make ctags
40- idealstar(*, big prime) --> cryptic error msg (more tolerant now)
41- have Mod(0,1)^-1 return Mod(0,1) (fixes znstar(prime))
42- ginv(-1/2) --> 2
43- heap leak when using local()
44- overflow in addssmod
45- changed the syntax of round()
46- sqrt(1. + O(x)) --> infinite recursion
IZ 47- don't create GP variables when expanding strings
48- internal variable 'parisize' not properly updated after allocatemem()
IS 49- config/display didn't work properly with ActivePerl
IS 50- Configure didn't handle most recent Cygwin
51- polinterpolate([],[]) --> SEGV
52- adapted gp_rl.c to readline 4.0
53- glitches in whatnow database (new file src/gp/whatnow.c)
54- all warnings from gcc 2.8.1
55- uninitialized tetpil in gscal() (bnfreg(x^2+1))
56- precision problems in polgalois (degree > 7)
57- config/locatelib prompted a lot of useless work (returning too many
libraries) and could pick up the wrong library.
58- very rare bug in nfbasis (discriminant ok, but wrong basis)
59- quadclassunit: make sure sub factor base is big enough (oo loop)
60- more flexible "colors" default (initial work IZ)
Changed
1- x.fu outputs polynomials (as all bnf* functions), not polmods
2- improved mppgcd (including vali)
3- improved division vector/scalar
4- \x to print a * in front of out-of-stack moduli (t_[INT|POL]MOD)
IZ 5- better commandline usage message
6- don't buffer log messages going to pari.log
7- accept [nf, t_POLMOD] where nf is expected
8- poldisc() and quadgen() accept an optional variable name
9- when defining user function check for duplicate variable names
10- [internal] is_entry always uses function_hash (use is_entry_intern)
OR 11- pari.el updated (see emacs/pariemacs.txt)
12- removed shiftl from lgcdii
13- use roots_to_pol in polgalois
14- precision heuristic in gauss_get_prec
15- cleaned up lllall and lllgramall
16- sort the output of nffactor, nfroots, factorff and factornf
17- nfgaloisconj now guaranteed to find all conjugates (use nffactor)
18- Removed flag 1 in nfisisom/nfisincl: function checks its arguments,
and uses the best algorithm (both guaranteed complete). Changed the
names (nfiso/nfincl) in library mode to match GP usage.
19- gerepile(ltop,lbot,0) no longer returns ltop - lbot
20- improved floor and round(t_FRAC).
21- removed some duplicate code from nffactor
22- passing a pointer to GEN in a GP funciton now explicitly requires an &
IZ 23- more verbose error messages for online help
24- increased a bit poltschirnaus's period
25- DOS version: don't use more for external help
26- cleaned up buchall code
27- removed unnecessary gres from polarit1.c:to_fq()
Added
1- apropos command in gphelp (-k switch), ??? under GP
2- function global()
3- function gp_variable to use sums, etc in library mode
4- [internal] new functions mulmat_real
5- new functions gerepileupto[leaf|int]
6- function znlog()
IZ 7- added default(color, "yes" / "no")
8- --static flag to Configure
Removed
1- isinclfast/isisomfast
2- rounderror
--
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/