Bill Allombert on Thu, 04 Jan 2024 01:12:47 +0100


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

PARI 2.16.1


Dear PARI developers,

In anticipation of the PARI atelier next week at Lyon,
I have released a snapshot of the development branch 2.16 as pari 2.16.1.alpha,
see <https://pari.math.u-bordeaux.fr/download.html>

Cheers,
Bill

P.S.: the changelog:

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

Done for version 2.16.1 (released 04/01/2024):
  Fixed
BA   1- lfunan(lfunetaquo([12,1;13*12,1]),1) -> stack overflow [#2457]
BA   2- FpM_intersect could return a Flm [#2459]
     3- ifactor_sign: ifac_isprime could be called on input with tiny divisors
BA   4- nfcompositum could return non-monic polynomials [#2461]
BA   5- gammamellininvinit(vector(9,i,1)) -> SEGV
     6- incorrect sanity check in rnfeltdown ("not in base field") [#2464]
HC   7- precision loss in gammamellininv [#2462]
BA   8- [pthread] parselect could crash
BA   9- rare infinite loop in ellsaturation
BA  10- quadunitindex(8461,2)->1 instead of 3 [#2466]
BA  11- chinese(Mod(1,3)*(x^2+x+2),Mod(1,5)*(x-1)) -> incorrect leading term
BA  12- lindep([0,x]) -> SEGV
BA  13- [libpari] RgX_div_by_X_x: wrong variable number
    14- incorrect results in bnrisprincipal if bitprecision too low [#2474]
MS  15- hyperellratpoints(2*x^3+x^2-x,1000) -> wrong result [#2475]
BA  16- ellisogeny over a nf -> inconsistent variables error
BA  17- w=3;quadgen(5) -> print x instead of w [#2477]
BA  18- FpX_convol: wrong result for mixed degree
LGr 19- parsum was inefficient
    20- mateigen(,1): eigenvalues were given as t_VEC or t_COL. Use t_COL.
BA  21- ellcard over small finite field: potential oo-loop [#2483]
BA  22- ellisomat/nf could miss isogenies of degree dividing the conductor
    23- mfcoef(mftwist(f,D), ...) wrong result [#2484]
    24- sumeulerrat / prodeulerrat: slow if s not an integer [#2433]
    25- 'path' broken when initial or trailing ':'
    26- snfrank([1],0) -> 1 [instead of 0].
    27- snfrank(vector of polynomials, 0) -> error
    28- division of t_POLs with compatible domains Mod(1,2)/(2*x+1) -> Mod(1,2)
    29- strjoin([1]) -> memory corruption
    30- qfbclassno(684) -> oo loop [#2491]
    31- gcd(x-1,(x-1)/x) -> 1/x
PMo 32- mftonew was wrong on oldspace -> remove mfbd layer
BA  33- rnf.p did not work
    34- expm1(tiny negative t_REAL) -> stack overflow [#2494]
    35- expm1(huge t_REAL) -> junk [#2494]
BA  36- hyperellratpoints(9*x^2,3) -> SEGV
    37- lambertw for 2-adics (also fix documentation)
BA  38- plotbox, plotrbox did not clip properly
BA  39- ellheight for non-minimal curve over a number field -> wrong result
    40- for x >= 0, x^(a/b) was using (x^(1/b))^a instead of x^q*x^(r/b),
        with a = qb + r.
    41- hypergeom(t_POL parameters, z) -> type error [#2515]
    42- polrootsreal(0E10*x + 0E10) -> SEGV [#2516]
BA  43- memory leak when using member functions and ~ arguments.
    44- idealstar(nf,id,,MOD).cyc was not reduced modulo MOD
    45- changed qfbred to use standard normalization (same as qfbredsl2)

  Changed
HC   1- dirpowerssum: allow functions with t_VEC output
HC   2- dirpowerssum: add optional flag 'both' [also in library mode]
BA   3- [libpari] RgX_halfgcd now only return the matrix. Use RgX_halfgcd_all
BA   4- [libpari] ec_bmodel, ec_phi2 now take a variable number
BA   5- ellisomat: when E/nf has CM by an quadratic order included in nf,
        return the discriminant of the order instead of an error [#2231]
BA   6- ZX_compositum_disjoint: renamed to ZX_composedsum
     7- allow t_INTMOD Mod(m,N) as a Conrey label for the character m mod N
     8- nfroots: return a t_COL instead of a t_VEC (same as other 'roots' fun)
     9- qfbsolve: call qfbcornacchia when the argument is prime (and disc < 0)
BA  10- [libpari] rename qfb_apply_ZM -> qfb_ZM_apply,
                         qf_apply_RgM -> qf_RgM_apply,
                         qf_apply_ZM -> qf_ZM_apply
    11- rnfinit(nf, [T,lim]); try to fix maximal order if wrong [#2494]
BA  12- [libpari] change prec to be a number of bits, instead of lg
BA  13- [libpari] suminf_bitprec, intnumromb_bitprec: use suminf, intnumromb
        ellL1_bitprec, ellanalyticrank_bitprec: use ellL1, ellanalyticrank

  Added
     1- [libpari] nfeltembed_i
BA   2- [libpari] Flx_extresultant_pre, FlxqX_resultant_pre
BA   3- [libpari] gc_stoi, gc_utoi, gc_utoipos
BA   4- [libpari] F2xX_shift
BA   5- [libpari] Flx_Fl_mul_pre
BA   6- [libpari] Flx_halfgcd_all, Flx_halfgcd_all_pre, FpX_halfgcd_all,
        FlxqX_halfgcd_all, FlxqX_halfgcd_all_pre, FpXQX_halfgcd_all,
        F2xqX_halfgcd_all, FFX_halfgcd_all, RgX_halfgcd_all
     7- [libpari] modRr_i
BA   8- [libpari] random_Fq
     9- [libpari] maxprimelim
BA  10- [libpari] FlxqX_div_by_X_x, FlxqX_div_by_X_x_pre
BA  11- [libpari] Fl_2gener_pre_i, Fp_2gener_i, Fl2_sqrt_pre, Flxq_sqrt_pre
BA  12- [libpari] Fq_elljissupersingular
BA  13- [libpari] FpXQ_ellcard_supersingular, Fq_ellcard_supersingular
BA  14- [libpari] Fp_ellj_to_a4a6
BA  15- [libpari] ec_half_deriv_2divpol
BA  16- New GP functions polisclass, elliscm
BA  17- [libpari] elljsupersingular_FpXQ
BA  18- New GP function ellsupersingularj
BA  19- [libpari] Flx_composedsum, FlxV_composedsum
                  FpX_composedsum, FpXV_composedsum FlxqX_composedsum
BA  20- [libpari] Flx_convol, Flx_composedprod, FpX_composedprod
BA  21- [libpari] RgV_F2v_extract_shallow
    22- [libpari] Fp_double
    23- [libpari] convenience function veclast
    24- allow snfrank(D,0) for snfrank(D)
    25- [libpari] dbg_fill_stack() [#2361]
    26- allow erfc(t_SER)
    27- allow hypergeom(N,D,t_PADIC)
BA  28- n#: primorial of n
    29- allow bernpol(k, a) [ = B_k(a) ]
BA  30- allow Qfb(a*x^2+b*x+c) and Qfb([a,b0;b1,c])
BA  31- New GP function parforstep
BA  32- New GP function polfromroots
BA  33- digits: support for negative bases but positive digits.
AP  34- alginit: new flag value for lazy factorization
BA  35- [libpari] F2xqXV_prod, F2xqV_roots_to_pol, FFV_roots_to_pol
BA  36- [libpari] RgM_div
BA  37- [libpari] ZV_max_expi, ZM_max_expi
BA  38- [libpari] ZM_merge_factor
BA  39- [libpari] RgM_Cholesky
BA  40- [libpari] hash_keys_GEN
    41- support kB or KB, MB, GB and TB as units for memory sizes (2^10,
        2^20, 2^30 and 2^40 bytes)
BA  42- [libpari] lg2prec, prec2lg
BA  43- New GP function ellisisom
BA  44- allow qfsolve([Q,F]) where F factorization of disc(Q)
BA  45- New GP function plotell

  Removed
     1- [graphic] support for Qt4