# PARI/GP 2.3.3 / 2.4.2 Alpha

PARI/GP is a widely used computer algebra system designed for fast computations in number theory

- LICENSE TYPE:
- GPL (GNU General Public License)
- USER RATING:
- DEVELOPED BY:
**The PARI group**- HOMEPAGE:
- pari.math.u-bordeaux.fr
- CATEGORY:
- ROOT \ Science and Engineering \ Mathematics

PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.

Originally developed by Henri Cohen and his co-workers (Université Bordeaux I, France), the PARI/GP project is now under the GPL and maintained by Karim Belabas with the help of many volunteer contributors.

· PARI is a C library, allowing fast computations.

· gp is an easy-to-use interactive shell giving access to the PARI functions.

· GP is the name of gp's scripting language.

· gp2c, the GP-to-C compiler, combines the best of both worlds by compiling GP scripts to the C language and transparently loading the resulting functions into gp. (gp2c-compiled scripts will typically run 3 or 4 times faster.) gp2c currently only understands a subset of the GP language.

· readline

Fixed:

1- remove hack in internal function 'readbin' that used the clone bit as

a special marker hence returned an invalid object, which could be

propagated to higher level public functions. [F4]

2- bitnegimply(1,2^65) returned a wrong result [#560] [F6]

3- nfeltreduce(nf,t_POLMOD,id) didn't work [#558] [F7]

4- segv in polrootspadic / repeated roots in FpX_root (only in deg 2) [F9]

5- numbpart inaccurate (and slow). E.g numbpart(52602) off by 1 [#557][F12]

6- remove type assumptions in mulcxI, mulcxmI: unsafe [#516]] [F14]

7- (y/x)/(x^0/y) not correctly simplified [F16]

8- sumpos(x=1,1/x^2,1) had the wrong sign [#587] [F21]

9- default(compatible,3); default(compatible,1) --> case no longer[F47]

taken into account (I = i) [#629]

10- possible oo loop in _isprincipal [ precision was supposed to increase,

but could in fact remain the same ][F81]

11- agm(-1, 1+1e-55) --> oo loop, agm(-1,1) --> wrong result[F27]

12- read("a b.gz")\ filename contains a space [F34]

gzip: ./a.gz: No such file or directory

13- quadgen([]) --> incorrect object [#606][F31]

14- hyperu(0,1,1) --> oo loop [#608][F32]

15- fix headers so that ulong is always defined[F33]

16- gclone didn't work on t_INTs with lg > lgefint [F37]

17- exp(2^200*I) --> catastrophic cancellation [cos/sin were OK] [#631][F45]

18- [Configure] don't rely on $CC exit status, check whether a non-0 size

executable is produced [ problems with tcc ][F55]

19- wrong Prototype for subgrouplist [ extra 'p' ] [F56]

20- nf.codiff was only correct up to multiplication by some rational number

[cf #510 & 2.4.1-F7][F58]

21- typo in bnfisintnorm(): missed some solutions [ couldn't find a unit

of norm -1 even though one exists ][F74]

22- dilog(-1) [ more generally polylog of < 0 t_REALs ] should have

0 imaginary part[F84]

23- ix86, x86_64: missing earlyclobber constraint for addllx, subllx, [F87]

divll

24- deriv(x/(x+1),y) --> invalid t_RFRAC with exact 0 numerator [#687] [F90]

25- factornf(x^5+(-a+2)*x^4-a*x^3+(3*a-6)*x^2+(5*a-10)*x+(2*a-5), a^2-5)

--> SEGV [ not squarefree -> denominators creeping in ] [#708][F110]

26- fix compilation problem with g++-4.2 and GMP[F94]

27- missing GP2C descriptions for Pol and Polrev [F114]

28- typo in FpM_gauss_pivot: FpM_rank, FpM_image, FpM_suppl, FpM_indexrank

much slower than they should be. Same problem in FqM_gauss_pivot. [F113]

Originally developed by Henri Cohen and his co-workers (Université Bordeaux I, France), the PARI/GP project is now under the GPL and maintained by Karim Belabas with the help of many volunteer contributors.

· PARI is a C library, allowing fast computations.

· gp is an easy-to-use interactive shell giving access to the PARI functions.

· GP is the name of gp's scripting language.

· gp2c, the GP-to-C compiler, combines the best of both worlds by compiling GP scripts to the C language and transparently loading the resulting functions into gp. (gp2c-compiled scripts will typically run 3 or 4 times faster.) gp2c currently only understands a subset of the GP language.

**Requirements:**· readline

**What's New**in This Release:Fixed:

1- remove hack in internal function 'readbin' that used the clone bit as

a special marker hence returned an invalid object, which could be

propagated to higher level public functions. [F4]

2- bitnegimply(1,2^65) returned a wrong result [#560] [F6]

3- nfeltreduce(nf,t_POLMOD,id) didn't work [#558] [F7]

4- segv in polrootspadic / repeated roots in FpX_root (only in deg 2) [F9]

5- numbpart inaccurate (and slow). E.g numbpart(52602) off by 1 [#557][F12]

6- remove type assumptions in mulcxI, mulcxmI: unsafe [#516]] [F14]

7- (y/x)/(x^0/y) not correctly simplified [F16]

8- sumpos(x=1,1/x^2,1) had the wrong sign [#587] [F21]

9- default(compatible,3); default(compatible,1) --> case no longer[F47]

taken into account (I = i) [#629]

10- possible oo loop in _isprincipal [ precision was supposed to increase,

but could in fact remain the same ][F81]

11- agm(-1, 1+1e-55) --> oo loop, agm(-1,1) --> wrong result[F27]

12- read("a b.gz")\ filename contains a space [F34]

gzip: ./a.gz: No such file or directory

13- quadgen([]) --> incorrect object [#606][F31]

14- hyperu(0,1,1) --> oo loop [#608][F32]

15- fix headers so that ulong is always defined[F33]

16- gclone didn't work on t_INTs with lg > lgefint [F37]

17- exp(2^200*I) --> catastrophic cancellation [cos/sin were OK] [#631][F45]

18- [Configure] don't rely on $CC exit status, check whether a non-0 size

executable is produced [ problems with tcc ][F55]

19- wrong Prototype for subgrouplist [ extra 'p' ] [F56]

20- nf.codiff was only correct up to multiplication by some rational number

[cf #510 & 2.4.1-F7][F58]

21- typo in bnfisintnorm(): missed some solutions [ couldn't find a unit

of norm -1 even though one exists ][F74]

22- dilog(-1) [ more generally polylog of < 0 t_REALs ] should have

0 imaginary part[F84]

23- ix86, x86_64: missing earlyclobber constraint for addllx, subllx, [F87]

divll

24- deriv(x/(x+1),y) --> invalid t_RFRAC with exact 0 numerator [#687] [F90]

25- factornf(x^5+(-a+2)*x^4-a*x^3+(3*a-6)*x^2+(5*a-10)*x+(2*a-5), a^2-5)

--> SEGV [ not squarefree -> denominators creeping in ] [#708][F110]

26- fix compilation problem with g++-4.2 and GMP[F94]

27- missing GP2C descriptions for Pol and Polrev [F114]

28- typo in FpM_gauss_pivot: FpM_rank, FpM_image, FpM_suppl, FpM_indexrank

much slower than they should be. Same problem in FqM_gauss_pivot. [F113]

Last updated on February 13th, 2008

#### Add your review!

SUBMIT