Bill Allombert on Mon, 24 Oct 2016 01:21:19 +0200

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Please test pari-2.8.1

Dear PARI developers,

We have made available a prerelease of PARI 2.8.1 (beta).

Due to time constraint, there is not -pre1 release this time.
Instead PARI 2.8.1 should be seen as a prerelease for PARI 2.9.0
to be released shortly.

So please test it and report any problem and incompatibilities.

Please test the tarball:

Please also test the standalone 64bit Mac OS X binary:


ane the the 64bit windows installer:

I have also built the 32bit Windows installer:

and the following standalone Windows binaries:



The list of changes is below.

On behalf of the PARI group,
Bill and Karim
- - - -

Bug numbers refer to the BTS at

Done for version 2.8.1 (released 23/10/2016):
    1- nfroots(non-monic t_POL) => wrong result [#1841] [from 2.8.0]
    2- crash on BIB in ellpointtoz(t_PADIC) [#1840]
    3- nfisideal(nfinit(x^2+1),[1,0;0,2]) -> 1 instead of 0
    4- intnuminit(-oo,oo,1) -> error [#1847]
    5- idealstar([f_0,f_oo]) for f_oo t_VECSMALL (place selection) didn't work
    6- msinit objects could not be saved to file then read back in [from 2.8.0]
    7- wrong value for bnrrootnumber for non-primitive characters [#1848]
    8- allow znstar(N,flag) for idealstar(,N,flag)
    9- allow znlog(x,G) for G = znstar(N), instead of ideallog(,x,G),
       for DL wrt. G.gen; in addition to traditional znlog(x,g), where an
       arbitrary generator g is specified
   10- e=ellinit([1,-1,1,98,126],O(5^10)); ellpointtoz(e,[1,14]) -> div. by 0
   11- ellpointtoz(E / Qp, P) was not reduced mod q^Z
BA 12- [breakloop] changes done in the first-level breakloop were lost when
       leaving the second-level breakloop.
   13- polinterpolate could create illegal objects [#1837] (test-case by PB)
BA 14- [libpari] FqX_nbfact did not work
   15- incorrect change of variable in elllocalred over a number field for
       places dividing 6 [from 2.8.0]
   16- contfraceval([[],[]],1) -> SEGV [from 2.8.0]
   17- agm(1.0, 1.0*I + x + O(x^200)) -> oo loop [#1654]
   18- primepi(2750160) -> crash [#1855]
   19- polinterpolate([],[],Mod(1,3)) => 0 instead of Mod(0,3)
   20- subst(Pol(0),x,Mod(1,3)) => 0 instead of Mod(0,3)
   21- subst(Pol(1),x,Mod(1,3)) => 1 instead of Mod(1,3)
   22- e=znconreyexp(idealstar(,N),) could give a result with (e,N) = 2 when
       N = 2 (mod 4) [from 2.8.0]
   23- idealprincipalunits(,,1) not supported [ concat error ] [from 2.8.0]
   24- stack corruption in pollardbrent() at \g4 [#1858]
BA 25- fflog could crash in char 2. [from 2.8.0]
JD 26- is_universal_constant() made (possibly wrong) assumptions about memory
       layout (gen_0 < ghalf)
BA 27- lfundiv(L1,L2): division by 0 if L2[6] (rootno) is 0.
   28- inconsistent thresholds for zeta(2*n); e.g. at \p100000, zeta(22934)
       was much faster than zeta(22936)
BA 29- [pthread] fix race conditions that caused memory corruption
   30- rare SEGV in bnfisprincipal

    1- permtonum: allow t_VECSMALL input
    2- [libpari] Z_to_perm, perm_to_Z
    3- [libpari] checkprid_i, is_nf_factor, is_nf_extfactor
    4- extend ellissupersingular for E/nf
    5- added a tag Obsolete: to the RFC822 description system (pari.desc)
    6- new GP functions nfmodpr, nfmodprlift
    7- [libpari] get_arith_Z, get_arith_ZZM
    8- [libpari] Mod2, Mod4, Mod8, Mod16, Mod32, Mod64, umodi2n
    9- [libpari] logint, logintall
   10- [libpari] zk_inv, zkmultable_capZ, zkmultable_inv, nfC_multable_mul,
   11- [libpari] Idealstarprk
   12- [libpari] ZpX_monic_factor
   13- [libpari] nf_to_Fp_coprime
   14- [libpari] idealprod, idealHNF_Z_factor
   15- [libpari] rnfcomplete, rnf_build_nfabs, bnf_build_cycgen,
       bnf_build_units, bnf_build_matalpha
   16- [libpari] rnf_zkabs
   17- [libpari] get_nf_field (black box field arithmetic over a number
       field nf), nfM_det, nfM_inv, nfM_mul, nfM_nfC_mul
   18- [libpari] bnftestprimes
   19- [libpari] upr_norm
   20- [libpari] bid_get_fact, bid_get_ind, bid_get_sarch, bid_get_sprk
   21- [libpari] qfbforms
   22- [libpari] nfroots_if_split
   23- [libpari] nfmaxord_to_nf, nfinit_basic, nfinit_complete,
       idealprimedec_kummer, nf_deg1_prime
   24- [libpari] ZNstar, znstar0, znlog0
   25- GP function znchartokronecker
   26- [libpari] ser_inv
   27- allow ellztopoint for E/Qp
BA 28- [libpari] F2x_factor_squarefree, F2xqX_factor, FlxqX_factor
BA 29- [libpari] FlxXC_to_F2xXC, F2xXC_to_ZXXC
   30- [libpari] pr_uniformizer, prV_lcm_capZ, pr_inv, pr_inv_p, pr_basis_perm
   31- [libpari] cmp_padic
   32- [libpari] ZV_snf_trunc, ZM_hnfmodall_i, ZM_hnfall_i, ZC_Z_div
   33- [libpari] uisprime_101, uisprime_661
   34- [libpari] lift_shallow
   35- [libpari] rowsplice
   36- GP functions bnflogef, bnflog, bnflogdegree, nfislocalpower,
   37- [libpari] varnmin, varnmax
   38- allow ellglobalred for E over a number field
BA 39- [libpari] FpXQX_split_part
BA 40- [libpari] ZpXQX_roots, ZqX_roots, ZqX_liftfact, ZqX_liftroot,
   41- [libpari] hash_dbg
   42- [libpari] Qdivii, ceildivuu
   43- GP function ellintegralmodel
   44- [libpari] ZM_hnf_knapsack, hnf_invscale
   45- [libpari] pol_xn, pol_xnall, retmkrfrac
   46- allow lindep(vector of t_VEC), lindep(vector of t_COL) [#1857]
   47- [libpari] famat_pow_shallow, famat_mulpow_shallow
   48- [libpari] modRr_safe
   49- [libpari] Z_ppo, u_ppo

    1- remove useless flag in idealappr: directly allow factorization
    2- [libpari] idealappr0 is now obsolete: use idealappr
    3- replace qfbil(x,y,{q}) by qfeval({q},x,y) and qfnorm(x,{q}) by
       qfeval({q},x): it makes more sense to have q first, and a single
       function for qf+polar form (as in all other qf-like routines:
       ellheight, etc.)
    4- functions nfeltdivmodpr, nfeltmulmodpr, nfeltpowmodpr, nfeltreducemodpr,
       nfkermodpr, nfsolvemodpr are obsolete. Use nfmodpr, work in the finite
       field, then lift back using nfmodprlift.
    5- split off historical refcard in submodules basic, ell, lfun, mf, nf
    6- rewrite nfeltinv / nfeltdiv (use mult. table rather than polmod
    7- idealred algorithm (find small y in I^(-1), not in I)
    8- bnf format (allow dynamically adding units): old bnfs will be detected
       as invalid. Dirty trick to force conversion: bnf[10]=vector(3);
    9- nfelt* functions may now return scalars (t_INT/t_FRAC) in addition to
       t_COL on nf.zk basis.
   10- remove flag = 2 in nfgaloisconj (slow, unreliable, obsolete for 15 years)
   11- bnfcertify(K): use automorphisms (speedup roughly #Aut_Q(K))
   12- idealstar format, to access data more conveniently (and avoid
       recomputations): old bid and bnr structures from versions up to 2.8.0
       are now invalid
   13- narchstar output: include finf in output
   14- set_sign_mod_divisor prototype: module is now useless (implicitly
       contained in sarch argument)
   15- [libpari] removed discrayabs, discrayabscond, discrayrel,
       discrayrelcond, discrayabslistlong: obsoleted since 2.0
   16- gcd(t_VEC/t_COL/t_MAT, ...) is now forbidden, same for lcm
   17- E/Qp: add sequence of isogenous curves  to structure (converges to the
       singular E_oo) => much faster ellpointtoz
BA 18- ZpX_liftfact no longer handles extensions of Qp, use ZqX_liftfact
   19- char_rootof1 renamed to rootsof1_cx, char_rootof1_u -> rootsof1u_cx
   20- gp --test: consider that the session is not interactive
BA 21- [libpari] rename listcreate to mklist
   22- [libpari] rename idealinv_HNF -> idealHNF_inv, idealinv_HNF_Z
       -> idealHNF_inv, idealmul_HNF -> idealHNF_mul
   23- [libpari] made famat_mul_shallow a true equivalent of famat_mul
   24- move 'install' tests from test-program to test-install target
   25- allow normlp(v, +oo)
   26- [documentation] removed .ps files (use dvips -o if you need them); install dvis