./math/pari, Software package for computer-aided number theory

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.15.3nb1, Package name: pari-2.15.3nb1, Maintainer: pkgsrc-users

PARI-GP is a package which is aimed at efficient computations in
number theory, but also contains a large number of other useful
functions. It is somewhat related to a Computer Algebra System, but
is not really one since it treats symbolic expressions as mathematical
entities such as matrices, polynomials, series, etc..., and not as
expressions per se. However it is often much faster than other CAS,
and contains a large number of specific functions not found elsewhere,
essentially for use in number theory.

This package can be used in an interactive shell (GP) or as a C/C++
library (PARI). It is free software, in the sense of freedom AND 'free
of charge'.


Required to run:
[lang/perl5] [devel/gmp] [devel/readline]

Required to build:
[print/dvipsk] [print/tex-pdftex] [fonts/tex-amsfonts] [pkgtools/cwrappers]

Package options: doc, gmp

Master sites:

Filesize: 5056.922 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-12 14:24:43 by Thomas Klausner | Files touched by this commit (2570)
Log message:
*: revebump for new brotli option for freetype2

Addresses PR 57693
   2023-07-06 15:05:26 by Jonathan Perkin | Files touched by this commit (1)
Log message:
pari: Remove broken --with-fltk argument.

In the 13 years since this was added, pari may have changed as any --with-fltk
argument, even =no, enables fltk and breaks the build on e.g. macOS.
   2023-06-06 14:42:56 by Taylor R Campbell | Files touched by this commit (1319)
Log message:
Mass-change BUILD_DEPENDS to TOOL_DEPENDS outside mk/.

Almost all uses, if not all of them, are wrong, according to the
semantics of BUILD_DEPENDS (packages built for target available for
use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for
host available for use _as_ tools at build-time).

No change to BUILD_DEPENDS as used correctly inside buildlink3.

As proposed on tech-pkg:
https://mail-index.netbsd.org/tech-pkg/2023/06/03/msg027632.html
   2023-04-24 10:51:13 by Taylor R Campbell | Files touched by this commit (3)
Log message:
math/pari: Update to 2.15.3

Bug numbers refer to the BTS at http://pari.math.u-bordeaux.fr/Bugs/

Done for version 2.15.1 (released 02/11/2022):
  Fixed
BA   1- ploth long help was misformatted                                    [F1]
     2- polredbest(y^4 - y^3 - 1/4, 1) -> Error [#2414]                     [F2]
     3- mathnf over polynomial rings: wrong when rank not maximal [#2415]   [F3]
BA   4- seralgdep(Ser([0,1,0,u]*Mod(1,(u^2+u+1)*Mod(1,2)),y),2,2) -> SEGV   [F4]
     5- polroots(4*x^3+4*x^2+28*x+144) -> overflow [#2418]                  [F5]
     6- conversion to float of t_QUAD with t_FRAC components [#2419]        [F6]
     7- bnfinit(x^3-810693844986180*x-30702939461011257135364,1).fu
        -> wrong result or SEGV [#2420]                                     [F7]
     8- [1,2]*[3,4] -> strange error message about qfbcomp                  [F8]
     9- obscure oo loop in solve when solution ~ 0 [#2412]                  [F9]

Done for version 2.15.2 (released 24/12/2022):
  Fixed
    1- polredbest: rare error "inconsistent concatenation" [#2423]     \ 
    [F12]
    2- hypergeom([0,0],[1],2) -> SEGV [#2425]                              [F13]
    3- powers(t_INT, ...) was very slow                                    [F15]
    4- factor(prod(i=1,20,nextprime(2^i)), 131) would include 131          [F16]
    5- sumeulerrat(x^2/(1+x),2) -> FPE [#2433]                             [F17]
    6- lambertw(10^1000) -> overflow [#2429]                               [F18]

Done for version 2.15.3 (released 15/03/2023):

    1- rare infinite loop in idealtwoelt [#2437]                           [F19]
    2- nfisisom(16*x^4+1,16*x^4+1) -> error [#2432]                        [F20]
    3- forprimestep(p=a,b,q,) overflow when a > primelimit         [#2439] [F21]
BA  4- lfun([bnrinit(bnfinit(y^2+1),12),[[2,0],[6,0]]],2) -> error         [F22]
    5- lfunthetacost(polcyclo(43)): silent overflow                        [F23]
BA  6- ellcard(ellinit([1,1]*ffgen([41,16])))-> impossible inverse [#2441] [F24]
    7- wrong result (missing content) in idealred(nf, [id, elt])           [F25]
    8- det(integer matrix) -> inconsistent exact division [#2445]          [F26]
BA  9- fft([],[]) -> SEGV, fft([1],[1]) -> SEGV                            \ 
[F27]
BA  10- nfrootsof1(x^0) -> oo-loop                                         [F28]
BA  11- hgmalpha did not check its input                                   [F29]
BA  12- hyperellchangecurve([],[]) -> SEGV                                 [F30]
BA  13- hyperellchangecurve(x^0,[1,matid(2),0]) -> SEGV                    [F31]
BA  14- rnfeltnorm(x,x) -> SEGV                                            [F32]
BA  15- polylogmult(1,[],-1) -> SEGV                                       [F33]
    16- ellheight(non-integral E) -> crash [#2448]                         [F34]
    17- content(1,y) -> pol_1(y) instead of t_INT 1                        [F35]
    18- s=taylor(1/((x-1)*(y-1)),x); taylor(s,y) -> invalid object [#2452] [F36]
    19- avoid crashing when sumnumsidi diverges (0 bits of accuracy)[#2454][F37]
   2023-01-29 22:18:34 by Ryo ONODERA | Files touched by this commit (2527)
Log message:
*: Recursive revbup from graphics/freetype2
   2022-10-30 12:26:13 by Niclas Rosenvik | Files touched by this commit (1) | Package updated
Log message:
pari: blbump for pari 2.15.0 update
   2022-10-30 11:00:16 by Niclas Rosenvik | Files touched by this commit (25)
Log message:
Update math/pari to version 2.15.0

Listed in the TODO and the version in pkgsrc
was 7 years old.

Fix pkglint complaints.

The changes below are only for 2.13 to 2.15.
The commit message would be to big if all
changes were included.

Changes from changelog:

Bug numbers refer to the BTS at http://pari.math.u-bordeaux.fr/Bugs/
Done for version 2.15.0 (released 19/09/2022):
  Fixed
     1- slowdown in zeta (e.g. zeta(Pi) at \p500)
     2- GC error in idealinv [#2258]
     3- qfminim inefficiency (initial bound from non-LLL-reduced matrix) 4- \ 
mfshimura in weight 3/2 => oo loop
     5- zetahurwitz(s, huge x) => overflow or very slow
     6- matsolve([1,1,1/2; 1,0,1/2; 2,1,0], [-1;1;-1]) -> SEGV [#2261]
     7- qfminim(Mat(1),,,2) -> precision error [#2262]
     8- subst(p, v, t_SER) very slow if p contains many variables [#2264]
     9- mfsymboleval for trivial path returned 0 instead of a vector of 0s
        when f has multiple embeddings [#2260]
    10- 2^(1 + O(3^4)) -> type error
    11- Zn_quad_roots(8,0,-1) to compute roots of x^2-1 mod 8 -> [4,[1,3]]
        (1 or 3 mod 4) instead of the expected [2,[1]] (1 mod 2) [#2265]
    12- tan(1+10^20*I) -> overflow (same for cotan and psi)
BA  13- Mod(2,3)^1000000000000000000001 -> Mod(-1,3) [#2266]
    14- subst(O(y) + x, x, (1 - y + O(y^2))*x + O(x^2)) -> SEGV [#2267]
    15- (Mod(0,3) + x) + O(x^2) -> x + O(x^2)  [now Mod(1,3)*x + O(x^2)]
    16- precision too low for units in mfgaloisprojrep
    17- missing GC at the end of RgXn_inv
    18- (-1)^(1/3) -> -1 instead of exp(log(-1)/3)
    19- mfeisenstein(k, trivial characters mod N > 1) not handled correctly
BA  20- missing GC in qfsolve
    21- missing GC in nfeltval + better algorithm when valuation is huge
    22- rnfidealup(, non-integral ideal) -> division by 0
    23- memory leak in ellheight
    24- memory leak in bnfinit
    25- zeta(-2 + O(x)) => division by 0
    26- nfeltdiv(nfinit(x^2+1), 0, 1+x/2) -> SEGV [#2277]
    27- numerical instability in polinterpolate [#2278]
    28- znchargauss(g,chi,0) -> oo loop
    29- bnflog(bnr, ...) -> SEGV
    30- elliptic functions: incorrect reduction of z/w1 mod [1,tau] =>
        catastrophic cancellation
    31- powcx(x, t_COMPLEX with 0 imaginary part) -> crash
    32- nfsubfields(t_POL in other var than x,,1) -> SEGV
    33- extra terms in power t_SER substitutions [#2281]
        f=1+4*t^2+36*t^4+O(t^6); g=q-4*q^3+14*q^5+O(q^7); subst(f,t,g)
        -> spurious extra term -400*q^6
    34- k=bnfinit(quadpoly(-2923,a)); bnrclassfield(k,3) -> SEGV [#2280]
BA  35- rnfdisc mishandled polynomials with denominators [#2284]
BA  36- elltamagawa(ellinit([-1456/243,93184/19683])) -> wrong result
    37- mfsearch would sometimes miss the trivial form
    38- typo in allh [affects ECPP tunings]
HC  39- mfisetaquo(mffrometaquo([1,12;193,12])) -> 0
    40- polroots(1.E-47*t^6 + 1.E-47*t^5 + 4.E-46*t^4) -> bug in type [#2286]
    41- ceil(quadgen(5)) -> 1 instead of 0 [#2288]
    42- floor(Mod(0,3)*quadgen(5)) -> crash
    43- padicappr(x^2+1, 1/3+O(3)) -> missing valuation and type checks
    44- padicappr(x^2+25,5+O(5^2)) -> [O(5),O(5)] instead of
        [2*5+O(5^2),3*5+O(5^2)]
    45- wrong ispower(t_RFRAC) and issquare(t_RFRAC, &z) [#2289]
    46- slow series substitution if valuation huge
        f=t^50000+O(t^50001); g=q*Ser(vector(50000,i,1),q); h=subst(f,t,g)
    47- 1+O(x)==O(x)
    48- cmp() would use possibly uninitialized bits in t_POL codewords
BA  49- qfauto([[1,0;0,1],[0,0;1,0]]) -> SEGV
    50- bnfsunit(...)[4] (the S-regulator) did not correspond to its
        definition in the documentation [ was using log(p) instead of
        log(Norm P)) for P in S above p ]
BA  51- rnfdisc could return corrupted result
    52- quadtofp suffered from catastrophic cancellation [#2298]
        z=66992092050551637663438906713182313772
          -47370562574818466708936539960450008968*quadgen(8); z*1. -> 0.75
BA  53- concat(List([1])[1..0]) ->SEGV (instead of error) [#2299]
BA  54- List([1])[1..0]==List() -> 0 instead of 1
    55- ZX_squff(T) did not follow its specification if T(0) = 0
    56- (-1)^(-1/2) -> I instead of -I
    57- lfuntheta inaccurate in large weight [#2305]
    58- GC error in ZX_Uspensky(, flag = 0)
BA  59- ellisomat(ell/nf not integral) -> oo-loop or wrong result
BA  60- (f(~v)=v[1]=1);(g(v) = f(~v)); my(V=[0]);g(V);V -> [1] instead of [0]
        due to missing copy on write [#2304]
    61- hypergeom([1/12,1/12],2/3,3) -> wrong result (incorrect
        limiting case of transformation formula)
    62- overflow in mulu_interval(,ULONG_MAX) [#2309]
    63- ellE(1) -> domain error [#2312]
    64- log1p(-1 + 10^-10) -> oo time
    65- bernvec entries were wrong from B_{2*4064} on [#2311]
    66- plotrecthraw for multi-curves
    67- RgXn_powu(,,1) wrong result [#2314]
    68- erfc incorrect on negative imaginary axis [#2315]
    69- mfgalpoistype bug for dihedral types (when conductor at oo is not
        stable under Galois) [#2293]
BA  70- [32bit] forfactored(n=223092868, 223092871, ) -> SEGV [#2318]
    71- Fp_issquare(0, p) would return 0
    72- For z=x+wy a t_QUAD, z.pol returned the modulus z.mod instead of the
        t_POL x+'w*y
    73- allow eulerianpol(0) (= 1)
    74- allow polylog(0,x) (was broken when eulerianpol was introduced)
BA  75- concat(t_LIST,t_LIST) was leaking memory
    76- missing type checks in ellchangepoint (SEGV)
    77- polsturm(-5500*x^4+440*x^3+21780*x^2-9680*x-29040,[-oo,-4])->corruption
    78- ellheight(E,,Q) -> SEGV
    79- besselj(80,66) -> oo loop
    80- lfun(1, 0.0) "normalizing a series with a 0 leading term" [#2329]
    81- (0. + O(x) == 1) returned 'true'
    82- lfun(1, 0., 1) -> division by 0
    83- fix lfuncost when root number is unknown (more a_n are needed)
    84- idealismaximal(nfinit(x),Mat(2)) -> 0 [#2333]
    85- O(29^(-1)) == 1 was FALSE (same for -1)
    86- Mod(0, 2*x^0)  == 1 was FALSE (same for -1)
BA  87- [X11] resizing a window could keep traces of previous drawing
BA  88- x->x+0x1 was not displayed correctly
    89- bnfinit(Q) was not using current precision [#2335]
    90- lfuncreate(x^2 + 1/2) -> internal error. Allow rational coefficients.
    91- polresultant(t_POL with t_RFRAC coefs,...) -> internal errors
    92- znchardecompose(znstar(2,1),[],2) -> SEGV [#2339]
    93- genus2red(150*x^6+180*x^5-270*x^4+2040*x^3-1350*x^2+3060*x+270)
        -> internal bug [#2331]
    94- missing roots in nfroots(t_POL,) [#2345]
    95- factorpadic: ensure leading coefs are powers of p [#2352]
    96- nfsnf: wrong results [#2353]
XR  97- rare SEGV in nfdisc. [#2356]
BA  98- factor((Mod(1,2)*((t^2+1)*x^4+(t^4+1)*x^2+1))) -> division by 0
    99- internal type errors in mfsymboleval [#2360]
   100- incorrect chargalois for trivial group [#2341]
   101- minpoly(Mod(1/(x-(t+1))*Mod(1,2),(t+1)*x^2+t*x+1)) -> error [#2363]
BA 102- factor(Mod(1,2)*x^5+a*x^3) -> div by 0
AP 103- nfgrunwaldwang: fix infinite loop [#2343]
   104- ti=thueinit(3*x^3 + 5*x^2 - 14*x + 54,1); thue(ti,1) -> error [#2365]
   105- algdep(t_POLMOD x) -> x.mod instead of correct result
   106- bnrinit(,,,cycmod) failed to delete elementary divisors equal to 1
BA 107- bnrclassfield: incorrect result when fundamental units are large, e.g.
        bnrclassfield(bnfinit(nfsplitting(a^3-a^2-202*a-3080),1),2)  [#2371]
   108- M8=mfinit([8,5/2]); mfatkininit(M8,8)[1] was 0 and shouldn't be
   109- polylogmult instability
        default(realprecision,366);a=(1+sqrt(5))/2;w=(1+sqrt(-3))/2;
        polylogmult([1,1,1,1],[1/a,a,1,w]) -> error
   110- valuation(x*(y^2-1), y+1) -> oo loop [#2381]
   111- round(t_FRAC, &e): e was always -oo
   112- FpM_center_inplace would crash for p = 3 [#2387]
BA 113- [gp interpreter] fix memory leak in pop_lex
   114- numerator(1/x+1/y, 'x) -> x*y
   115- colors = "no" (or "") handled incorrectly [#2402]
   116- thue(thueinit(x^3-3*x^2+1,1), 2187) -> domain error in mplog [#2397]
   117- Bessel function of huge order -> oo loop [e.g. besselj(220, 112)]
   118- elltwist(E,) would ignore E's real precision

  Added
HC   1- new GP function eulerreal
BA   2- fplll: fast, dpe and heuristic variants
     3- dirpowerssum: allow a completely multiplicative function
     4- [libpari] atanhuu, atanhui, powcx, powcx_prec, cx_approx0
     5- new GP function lfunparams (initial implementation P. Molin)
     6- [libpari] row_Q_primpart
BA   7- [libpari] RgXQ_trace, RgX_chinese_coprime, RgXQV_factorback
     8- [libpari] FpM_intersect_i, Flm_intersect_i
HC   9- add optional argument to ramanujantau + parallelize code
HC  10- new GP functions bessljzero, besselyzero
BA  11- [libpari] Fle_ellweilpairing, Fle_elltatepairing, Flj_to_Fle
                  Fl_ellptors
BA  12- [libpari] ZC_divexactu, ZM_divexactu
HC  13- allow hypergeom(N, D, t_SER)
    14- [libpari] qfbsqr, qfbcomp, qfbpow, qfbpowraw, qfbsqr_i, qfbcomp_i,
        qfbpow_i, qfbpow, qfbpowraw, qfr3_compraw, qfr5_compraw
    15- general composition of binary quadratic forms (in different orders)
BA  16- New GP functions ellrank, ellrankinit : implement 2-descent on
        elliptic curve following a GP script by Denis Simon.
BA  17- [libpari] RgXY_derivx, RgX_recip_i
    18- [libpari] RgC_RgV_mulrealsym, RgM_to_RgXV_reverse
BA  19- New GP function ellsaturation
    20- [libpari] ZX_Z_eval
BA  21- [libpari] elltors_psylow
    22- ellinit([j]); no need to use ellfromj
    23- ideallist(nf, negative bound) to return ideals of norm |bound|
        (in factored form)
    24- rnfconductor(bnf,pol,flag): add flag=2 to only return the conductor
        and its factorization (which comes for free)
HC  25- New GP functions nflist, nfresolvent
BA  26- [libpari] Hermite_bound
    27- substvec: support t_VEC replacement values
BA  28- New GP function ell2cover
BA  29- nfsplitting: flag to get the embedding
BA  30- New GP function galoissplittinginit
HC  31- lambertw(y): support all values y > -1/e [#1472]
HC  32- lambertw: add optional 'branch' argument; support and complex, p-adic
        and power series inputs
BA  33- [libpari] ZXC_to_FlxC, ZXM_to_FlxM
BA  34- [libpari] New function families F3v, F3m
BA  35- New GP function setdebug
    36- allow shortcut \g n feat for setdebug("feat", n)
    37- New GP function poltomonic [#2200]
    38- in GPRC, support default(key,val) and setdebug(dom,val)
    39- New GP function polsubcyclofast
    40- [libpari] prV_primes, ideals_by_norm, nfV_to_scalar_or_alg, quadpoly_i
    41- new bit in nfinit flag: don't perform LLL on nf.zk
BA  42- new flag value in nfisincl
    43- [libpari] hclassno6u_from_cache, uhclassnoF_fact, hclassnoF_fact,
        vandermondeinverseinit, vandermondeinverse, trans_evalgen,
        sunits_mod_units, Qp_exp_prec
BA  44- [libpari] RgXQ_minpoly
    45- [libpari] quadclassnos, quadclassnoF, unegquadclassnoF,
        uposquadclassnoF, coredisc2_fact, coredisc2u_fact, uquadclassnoF_fact
        quadclassnoF_fact, Z_issquarefree_fact
    46- new GP functions quadunitnorm, quadunitindex
LGr 47- allow endpoints in solve() to by +oo or -oo
    48- allow Vec(t_STR, n) and Vecsmall(t_STR, n)
    49- new GP function: harmonic
    50- allow digits(integral t_PADIC)
    51- new GP function qfbcornacchia
    52- [libpari] gc_all
BA  53- [libpari] Zp_inv, Zp_invlift, Zp_div, Zp_log, Zp_exp
BA  54- [libpari] FpXn_div, Flxn_div, RgXn_div, RgXn_div_i, FpXQXn_div, F2xn_div
    55- [libpari] maxomegau, maxomegaoddu, ZV_snf_rank, ZV_snf_rank_u,
        zv_snf_rank, F3c_to_ZC, F3c_to_mod, F3m_to_mod, ZX_unscale_divpow,
        ZX_affine
    56- new GP function snfrank
HC  57- allow lngamma(t_PADIC of negative valuation)
    58- file LICENSE (for Software Heritage archiving)
BA  59- [libpari] RgXV_prod
BA  60- new GP function serdiffdep
    61- new module for hypergeometric motives, see ??hgm. GP functions
        hgmalpha     hgmbydegree     hgmcyclo          hgminit
        hgmtwist     hgmcoef         hgmeulerfactor    hgmissymmetrical
        lfunhgm      hgmcoefs        hgmgamma        hgmparams
BA  62- new GP function lfuneuler
TF  63- new GP functions subcyclohminus, subcycloiwasawa, subcyclopclgp
    64- new GP function bnrcompositum
    65- [libpari] gdivgu, gdivgunextu, divrunextu, gmulgu, gmulug
    66- [libpari] Zp_log, Zp_exp
    67- new GP function intnumosc, sumnumsidi
BA  68- [x86_64,arm64] AVX,NEON support for hyperellratpoints
BA  69- [libpari functions ZX_digits, ZXV_ZX_fromdigits
NM  70- new GP function elltrace
BA  71- [libpari] FpXQXV_red, FpXQXT_red
BA  72- [libpari] ZpXQX_ZpXQXQ_liftroot, ZqX_ZqXQ_liftroot
    73- [libpari] ZV_snfclean
    74- allow bnrchar to construct a Dirichlet character (with a znstar input)
    75- new GP functions nfeltissquare, nfeltispower
BA  76- [libpari] FlxqX_nbfact_by_degree
BA  77- [libpari] RgXY_cxevalx
    78- allow f*g and f^n for qfbcomp/qfbpow also for extended (real) forms
    79- [libpari] qfbpows
BA  80- [libpari] FlxM_to_FlxXV, FlxXC_sub
BA  81- [libpari] FlxqXC_FlxqXQ_eval, FlxqXC_FlxqXQV_eval
BA  82- new GP function qfminimize
BA  83- new GP functions hyperelldisc, hyperellminimalmodel,
        hyperellminimaldisc, hyperellred
    84- new GP function setdelta
BA  85- [libpari] RgX_homogenous_evalpow, QXQX_homogenous_evalpow
BA  86- [libpari] FpX_roots_mult
BA  87- [libpari] RgX_affine
HC  88- new GP function lerchphi, lerchzeta
BA  89- new GP function hyperellisoncurve
BA  90- [libpari] nfM_ker
    91- [libpari] Qp_zeta
BA  92- [libpari] RgX_mul2n
    93- [libpari] rfrac_to_ser_i
    94- [libpari] FlxC_FlxqV_eval_pre, FlxC_Flxq_eval_pre,
        Flx_FlxqV_eval_pre, Flx_Flxq_eval_pre, Flx_Frobenius_pre,
        Flx_div_pre, Flx_divrem_pre, Flx_extgcd_pre, Flx_gcd_pre,
        Flx_get_red_pre, Flx_halfgcd_pre, Flx_mul_pre, Flx_oneroot_pre,
        Flx_oneroot_split_pre, Flx_rem_pre, Flx_roots_pre, Flx_sqr_pre,
        Flxq_div_pre, Flxq_inv_pre, Flxq_invsafe_pre, Flxq_mul_pre,
        Flxq_powers_pre, Flxq_powu_pre, Flxq_sqr_pre,
        Flx_powu_pre, Flxn_div_pre, Flxn_mul_pre, Flxn_sqr_pre,
        FlxqX_fromNewton_pre, FlxqX_Flxq_mul_pre, FlxqX_Flxq_mul_to_monic_pre,
        FlxqX_FlxqXQV_eval_pre, FlxY_FlxqV_evalx_pre, FlxY_Flxq_evalx_pre,
        FlxqX_Newton_pre, FlxqX_get_red_pre, FlxqX_invBarrett_pre,
        FlxqX_powu_pre, FlxqXn_mul_pre, FlxqXn_sqr_pre, FlxqXn_inv_pre,
        FlxqXn_expint_pre, FlxY_eval_powers_pre, FlxY_evalx_powers_pre,
        FlxY_evalx_powers_pre, FlxqX_divrem_pre, FlxqXQ_inv_pre,
        FlxqXQ_invsafe_pre, FlxqXQ_sqr_pre, FlxqX_rem_pre, FlxqX_sqr_pre,
        FlxqXQ_pow_pre, FlxqXC_FlxqXQV_eval_pre, FlxqXQ_div_pre,
        FlxqXQ_mul_pre, FlxqX_halfgcd_pre, FlxqX_mul_pre, FlxqX_extgcd_pre,
        FlxqXQ_powers_pre, FlxqXQ_powu_pre, FlxqX_normalize_pre, FlxqX_red_pre,
        Kronecker_to_FlxqX_pre, Flx_dotproduct_pre, FlxqX_div_pre,
        FlxY_Flxq_evalx_pre, FlxqXC_FlxqXQV_eval_pre, Flx_is_smooth_pre,
        Flxq_pow_pre, Flxq_pow_init_pre, Flxq_pow_table_pre,
        Flx_matFrobenius_pre, FlxqV_dotproduct_pre, FlxqX_FlxqXQ_eval_pre,
        Flxq_auttrace_pre, Flxq_minpoly_pre, Flxq_lroot_fast_pre, Flxq_lroot_pre
        Flxq_matrix_pow_pre, Flx_ddf_pre, Flx_factor_squarefree_pre,
        Flx_nbfact_pre, Flx_nbfact_Frobenius_pre, Flx_resultant_pre,
        Flxq_autpow_pre, FlxqX_gcd_pre, FlxY_evalx_pre, FlxqXQ_autsum_pre,
        FlxqXQ_minpoly_pre, FlxqXQ_autpow_pre, FlxqXQ_auttrace_pre,
        FlxqX_Frobenius_pre, FlxqX_factor_squarefree_pre, FlxqE_weilpairing_pre
TF  95- new GP function factormodcyclo
TF  96- new libpari functions FpX_factcyclo, Flx_factcyclo
    97- new libpari functions ZV_sort_shallow, ZV_sort_uniq_shallow,
        tridiv_boundu
BA  98- rnfabelianconjgen
    99- new libpari functions abmap_kernel, abmap_subgroup_image, ZV_ZV_mod,
        ZM_ZV_mod
   100- bnr_char_sanitize, bnr_subgroup_sanitize
TF 101- GP function znsubgroupgenerators
   102- [libpari] RgV_is_prV
   103- improve idealfactorback [using ideamulpowprime]

  Changed
HC   1- faster implementation of eulervec + cache result
     2- sumnummonieninit(,1): faster algorithm (complex step)
     3- atanh(rational) now uses binary splitting
BA   4- FqV_to_FlxV, FqC_to_FlxC, FqM_to_FlxM: replaced by
        ZXC_to_FlxC, ZXM_to_FlxM
     5- FpM_intersect and Flm_intersect now guaranteed to return an
        Fp-basis; use FpM_intersect_i if you only need a generating set
     6- ZXX_to_Kronecker -> RgXX_to_Kronecker, ZXX_to_Kronecker_spec
        -> RgXX_to_Kronecker_spec
     7- [libpari] nbessel -> ybessel
     8- faster implementation of mfinit and mfbasis in weight 1
     9- ZabM_ker: replace final exact check by probabilistic check modulo a
        63-bit prime
    10- [libpari] ZC_u_divexact -> ZC_divexactu
    11- unify real and imaginary binary quadratic forms, include discriminant
        types t_QFI and t_QFR are replaced by t_QFB
    12- allow Qfb([a,b,c]) and Vec(t_QFB)
    13- qfbredsl2(q, S): change format of S: was [D,isD], is now isD
BA  14- [libpari] gp_read_stream now return NULL when EOF is reached (was gnil)
    15- elltwist now returns an ellinit, and accepts the same input formats
        as ellinit ([a1,a2,a3,a4,a6], [a4,a6], Cremona label)
    16- gen_search / vecvecsmall_search: remove flag; the result is now
        positive if the element is found else -i if element should be
        inserted at position i.
    17- allow t_COL of objects in gconcat1 / shallowconcat1
    18- [libpari] Z_smoothen now uses (and returns) t_VEC arguments.
        Use Z_lsmoothen to input small primes as a t_VECSMALL.
    19- poliscyclo: replace Bradford-Davenport's Graeffe method by their
        invphi algorithm (much faster)
BA  20- [libpari] QXX_QXQ_eval renamed to QXY_QXQ_evalx
    21- [libpari] ZX_Zp_root(f,a,p,): assume 0 <= a < p
BA  22- [libpari] gen_factorback now take an extra parameter one.
    23- [libpari] mplambertx_logx, mplambertX, mplambertxlogx_x
    24- [libpari] absZ_factor_limit_strict no longer guarantees that q is
        composite: this is useless for applications and possibly expensive
    25- default(debugfiles,) is now obsolete, use setdebug("io",)
    26- [libpari] quadclassno now has a second argument (to recover the
        attached fundamental discriminant)
    27- faster qfbclassno for non fundamental positive discriminants
        (use quadunitindex)
    28- removed appa.tex from users.dvi; inline the text in INSTALL.tex
    29- divrunu, divgunu: use a single division in all cases (faster even if
        denominator has 2 words)
    30- allow random(negative integer N) -> a random integer in [-n,n], n=|N|-1.
    31- allow sqrtint and sqrtnint for nonnegative real number argument
    32- allow logint for positive real number argument
    33- improve gamma and lngamma for t_FRAC inputs
    34- renamed normalize -> normalizeser
    35- nfinit/nfdisc/nfbasis: use lazy factorization by default [#2326]
    36- in idealtyp(ideal, fa), allow setting fa to NULL
BA  37- system now return the shell return value.
    38- allow valuation(x) when x is a t_PADIC, a t_POL or a t_SER
    39- libpari function precision() now always return a 'prec' (integer > 2).
        It used to return 2 for real 0 of non-negative exponent.
    40- grndtoi(GEN x, long *e): allow setting e = NULL
BA  41- [libpari] pari_thread_start: do not allow threads started this way to
        launch more threads.
BA  42- genus2red: 3rd component is now a pair [P,Q] such that y^2+Q*y=P is
        minimal everywhere.
    43- faster implementation of binomial

  Removed
     1- [libpari] obsolete functions qfi, qfr, qfi_1, qfr_1, redreal,
        redrealnod, rhoreal, rhorealnod, qfrcomp, qfrcompraw, qfrsqr,
        qfrsqrraw, qfisqrraw, qficompraw, qfipowraw, qfipow, qficomp,
        qfisqr, redimag
     2- [libpari] obsolete types t_QFI, t_QFR
     3- [libpari] nfinitall is now obsolete; use nfinit with the same arguments
     4- [libpari] order is now obsolete; use znorder
   2022-10-29 20:28:06 by Niclas Rosenvik | Files touched by this commit (3)
Log message:
pari: fix work directory referance to gzip tool