| Karim BELABAS on Thu, 18 Oct 2001 17:59:03 +0200 (MEST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| pari-2.2.1.alpha released |
Dear PARI lovers,
I have announced a BUGFIX release 2.1.2 on pari-announce, which should
eventually reach your mailbox if you are subscribed to it (probably after
this message: moderated lists are slow by nature...).
I've made a snapshot of my current sources as pari-2.2.1.alpha. You can find
it at
ftp://megrez.math.u-bordeaux.fr/pub/pari/unstable/pari-2.2.1.alpha.tgz
[the corresponding CVS tag is release-2-2-1]
This in an ALPHA version, so the usual caveats apply: it is unstable,
probably contains severe bugs, and is not properly documented. It is
definitely NOT adequate for site-wide installations.
===========================================================================
The primary goal of this snapshot is to remove patches from the pipeline so
that new submissions can be made without risks of conflicts. The Changelog is
too long already, I'll try to make development snapshots more regularly
from now on, twice a year is definitely not enough [of course, you should get
up-to-date CVS sources before starting any important work in any case].
There are no obvious major additions, but for the development of modular
arithmetic introduced in 2.2.0, and improvements in nfsubfields (much faster,
don't need an 'nf' anymore) and bnr* functions (esp. over fields with large
class number).
Cute extensions:
* writebin(file, x) : to write x in "binary format" (entire internal
structure is preserved, contrary to write(), and it's much faster to save
and load). With no 'x' argument: saves all user variables from the session
[their names are preserved also!]
* subst(P, x^n, y) now works [it's not possible to substitute arbitrary
algebraic expressions, only monic monomials].
* an EXPERIMENTAL inlined alpha assembler kernel (G. Hanrot, partly adapted
from gmp), which is disabled unless you also have a rather recent gcc (at
least 2.95.3).
Note that the format of the MACHINES file has slightly changed. In particular
it now includes the compiler version. I'm especially interested in MACHINES
entries for the alpha processor, due to the new alpha kernel.
Have fun,
Karim.
P.S: The complete Changelog: [all entries from the BUGFIX release pari-2.1.2
as well as all patches posted since last snapshot are included]
Done for version 2.2.1 (released 18/10/2001):
Fixed
1- typo in factornf (factor of degree 3 --> error message)
2- rnflllgram(), idealinv() didn't check their arguments
3- [readline] \r<TAB> would complete using files matching r*
4- wrong result in ZY_ZXY_resultant when degree dropped in ERS
5- factor(x^2 + I*1.) --> stack corruption
6- \r directory was silently accepted
7- check arguments in polcompositum()
TH 8- [Cygwin:] fixed paths for readline on cygwin 1.*
XR 9- possible overflow in ComputeCoeff [ bnrstark() ]
10- numtoperm(2,x) --> SEGV [check arguments now]
11- rnfkummer could fail with "missing units"
12- factornf(P, non-monic t) --> error
13- forsubgroup/subgrouplist didn't check their arguments nor accepted SNF
matrices
XR 14- typo in nilord4 --> SEGV, e.g.
nfdisc(x^16-363*x^14+53550*x^12-4091823*x^10+170172414*x^8 \
-3663509067*x^6+33703350345*x^4-63300912912*x^2+32451860736)
15- some messages didn't distinguish between MBytes and millions of Bytes
16- typo in BuildTree [hensel lift]: SEGV
17- (rare) oo loop in polroots, e.g. x^5-2*x^4-32*x^3+72*x^2+218*x-491
18- oo loop in ellpointtoz on certain rare inputs
19- stack corruption in factorff
BA 20- better interface for galoissubcyclo
BA 21- galoisfixedfield(,,2) now works with non Galois subfields
BA 22- nfgaloisconj now use `d-1'-test + better strategy
BA 23- fix accuracy problems in vandermondeinverse
24- missed some simplifications when handling multivariate t_RFRAC
25- [Cygwin:] incorrect default 'path' (used : instead of ;)
26- element_sqr didn't check its arguments (SEGV if bad input)
27- possible stack corruption in polroots (+ improved GC there)
28- typo in nfsubfields (incorrect bound: could miss a subfield)
29- typo in zsimpjoin (concat error in bnrdisclist, intr. in 2.2.0)
IZ 30- typo in Configure [rl_save_prompt and _eprintf not found in target libs]
MD 31- oo loop in ellap [uninitialized array length in apell1]
32- stack corruption in addfrac [wrong result for large denominators]
MD 33- resmod2n [called from powmodulo] could return unnormalized integers
34- not enough GC in nfinit for huge degrees [get_mul_table]
35- intformal(1/2/t^2) --> apparent oo loop
36- polredabs(degree 1 polynomial) --> x [could be very slow]
37- polredabs() could use a basis which was not LLL reduced
BA 38- pariformats (e.g %Z) incorrect on 64bit machines
39- polhensellift(x,[x,1],2,2) --> "bug in multiplication"
40- glitches in readline completion (random() * ne<TAB) --> inserted args)
IZ 41- CLK_TCK may reside in time.h
42- misleading definition for ?omega / ?bigomega
43- on \q, "Good bye" --> Goodbye
44- install() accepted gpnames which were not valid identifiers
45- bnfinit(x^4+65,,[.1]) --> SEGV (whenever c < c2)
46- when host badily configured (~ not expanded), gp would die on startup
XR 47- factorpadic(, not a prime, ) --> SEGV
48- matrix(2,2,i,i, ...) allowed, with weird result
BA 49- better arguments checking for galoisfixedfield
50- psi(I) --> incorrect type in rtodbl
XR 51- increase precision automatically when needed in quadhilbertreal
52- idealstar(bnfinit(polcyclo(5)),11).clgp --> stack error
53- default(format,"g0.4"); 3./10 --> 0.300004577 [now: 0.3000]
54- subst() didn't check its arguments (e.g SEGV on t_STR)
55- qfbclassno(x < 0): wrong algo when x non fundamental
56- obscure bugs with types FRACN/RFRACN [when simplifies to INT/POL]
IZ 57- readline history: while inputing continuation lines, the partial
command was not put into history until full command was run
58- not enough GC in polroots (dft) for huge degrees
59- Cygwin: don't try to build gp-dyn.exe [crashes]
60- use vsnprintf to fix a long-standing bug in PARI output (using formats)
used a fixed-length buffer that could overflow. If vsnprintf is not
found by Configure, the bug remains.
Changed
1- removed useless parameter prec in many bnr* and rnf* functions
2- major update of bnr* functions [use elements in factored form]
3- use /tmp instead of /var/tmp as default tmp directory [faster on Solaris]
BA 4- Fp_PHlog (Pohlig-Hellman) can use a factorization of the subgroup order
5- major update of buchall() [bnfinit]: accurate precision increase, use
multiplicative archimedean components (fewer logs), cleanup
6- [libpari:] rename permute/permuteInv to GP names numtoperm/permtonum
7- scalar + [;] --> error [made it [;]]
BA 8- factorback, chinese, lcm and gcd now accept a single vector
9- Use I \cap Z instead of NI in hnfideal_inv
10- improved issquare(t_INTMOD)
11- improved subresultant routines (new function pseudodiv)
12- command-line options to Configure (installation directories)
13- rnfequation: use modular (bivariate) resultant
14- polynomial gcd (srgcd): uses modular algo (modulargcd,nfgcd) if possible
15- unified internal hnf* functions
16- improved nfsubfields [Hensel lift, allow nfsubfields(pol) instead of nf]
17- merged all "integer logarithms" + "safe ceil" functions (mylogint,
get_e, floor_bound, myceil)
18- readline: TAB on empty parentheses following a function name has the
same effect as M-h (used to insert args).
IZ 19- faster computation of prime number table [better cache use]
IS 20- obscure compiler bug in rootpol.c:max_modulus() [don't modify tau]
21- make bench ('elliptic'): explained [BUG] message
22- allow lift(t_PADIC)
23- faster polroots for Q of the form P(x^k)
24- allow subst(t, x^n, x)
25- ?user_fun: do not include function text if help available from addhelp
[always include it for ??user_fun]
26- default values for used defined function arguments are evaluated when
the function is called [used to be "when it's defined"]
27- allow subgrouplist(znstar(5)) [didn't accept groups in general form]
28- taught GP about GP2C-style type declaration [ignored]
29- 0. [realzero()] is now coded on 2 words (was 3, with third one ignored)
IZ 30- readline history: lines are remembered as they were input (whitespace
was deleted)
Added
BA 1- function pith() [= pi(x), naïve implementation]
2- new target for Makefile: gp.dbg
BA 3- library functions FpX_roots_to_pol, FqX_roots_to_pol
BA 4- library function FpX_FpXQ_compo (Brent & Kung)
5- library function FpM_inv, FpM_gauss, ZM_inv, QM_inv
6- library function primitive_part
IZ 7- readline: allow switching readline editing on/off [for commandtools]
IZ 8- readline: F1 has same effect as M-h, and F1F1 as M-H (short/long help)
9- function writebin
XR 10- new error message "precer" (precision too low in...)
11- allow minimal handling of t_VECSMALL under GP
IZ 12- add error messages (as in err(shier2)) to emacs tag file
13- add error messages (as in err(shier2)) to vi tag file
IZ 14- add flag to shift() to enable consistency with 2-complement semantic
IZ 15- default 'prompt_cont' for continuation lines
IZ 16- default 'readline' to switch readline on/off in readline-able binaries
IZ 17- capabilities to 'bittest' (return bitmap, 2-complement arithmetic)
GH 18- inline assembler micro-kernel for alpha + recent gcc (at least 2.95.3)
Removed
1- obsolete functions twototwo, threetotwo, threetotwo2
XR 2- error message truer2 (superseded by precer)
--
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/