dwww Home | Show directory contents | Find package

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

Done for version 2.9.0 (released 1/11/2016):
  Fixed
    1- idealappr: allow flag for backward compatibility
    2- nfisisom(x,x^0) -> SEGV
BA  3- galoisgetpol: fix crash if some files are missing
BA  4- [libpari] fix support for PARI_OLD_NAMES

Done for version 2.8.1 (released 23/10/2016):
  Fixed
    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

  Added
    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,
       zkC_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,
       rnfislocalcyclo
   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,
                 Zq_sqrtnlift
   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

  Changed
    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
       representation)
    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

Done for version 2.8.0 (released 12/08/2016):

  Fixed
    1- make install fails on OS/X: ln -s libpari.dylib libpari.dylib fails
    2- Q_pvalrem(t_FRAC) => wrong result
    3- [] == 0 but []~ != 0  (now []~ == 0 as well) [#1560]
BA  4- test-kernel did not work when using --mt=pthread
BA  5- ellheegner was using too much memory in some case
    6- ellap can overflow on 32-bit machine [#1558]
       ellap(ellinit([582304190,64196421]),2147438927) -> overflow
       ellap(ellinit([-1137195,489565862]),2038074751) -> wrong result
    7- nfhilbert(K,x,y, P above 2) could give wrong results [#1561]
    8- rnfkummer sometimes failed to return an answer: error or oo loop.
       Relied on exhaustive enumeration of an Fp-vector space, some of
       whose elements would trigger an error. Replace by Fp-linear algebra
       that directly picks the correct line (O(d^3) algo instead of O(p^d),
       and no failures). Only compute the defining poly for the right element.
XR  9- padicfields(huge p, d) was very slow [even though ramification is tame]
   10- gcd(1/2, 1+I*1.) -> SEGV [#1563], 2.5.5 returned the wrong answer 1/2
   11- mathnf(t_VEC) could corrupt input (change sign)
   12- [libpari] RgM_transmul did not work
   13- [libpari] Fq_issquare didn't support T=NULL
   14- [libpari] nfpow_u didn't handle non-integral rational numbers
   15- eint1(0) -> stack overflow [#1568]
   16- liftint(List([0])) -> gerepile bug
   17- factorint(n,flag): flag was ignored when n fit into a long
   18- factor(n,lim): lim was ignored when n fit into a long
   19- nfrootsQ(t_POL with leading coeff -1) could miss some solutions, e.g.
       nfroots(,-y^2-24476*y+119814917) -> [] instead of [-28657,4181]
   20- precprime(1) -> invalid t_INT [#1576]
   21- gaffsg(0, t_PADIC): wrong valuation
   22- thue(f^e*g, ...), e even, (f,g)=1 missed solutions such that f<0
   23- faster znlog when p-1 has only smallish prime factors.
   24- (t_INTMOD with word-sized modulus)^(huge negative power) wrong [#1584]
   25- (gp -p N) or (primelimit=N in gprc_ for N >= 436273290 resulted in an
       incorrect primetable. N.B. Such commands are now useless: needed primes
       are produced dynamically anyway.
   26- monomial(exact zero, d, v) returned an invalid t_POL / t_RFRAC
   27- contfracpnqn(v, n) returned partial quotients p[-1]/q[-1] ...
       p[n-1]/q[n-1], instead of the documented p[0]/q[0] ... p[n]/q[n] [#1580]
   28- isprime(N, 0) was often slower than either of isprime(N, 1 or 2)
   29- factor((3+4*I)/25) -> factor 2+I had 0 exponent [#1586]
   30- made qfbclassno more reliable (fixes all counter examples in [#1411])
BA 31- iferr() could crash if some component of the t_ERROR were clones.
   32- nffactor() could overflow the stack when default accuracy too low: e.g.
       nffactor(y^2-22, x^2+926246528884912528275985458927067632*y-4344481316563541186659879867597013188)
   33- some elliptic curve functions accepted (elladd, ellmul) a Weierstrass
       5-uple [a1,a2,a3,a4,a6] instead of an ell structure. No longer.
       Now only ellinit and ellchangecurve allow this syntax.
   34- incorrect rounding in mulrr/divrr for one-word precision reals.
BA 35- multiif did not handle correctly return() in conditions [#1590]
   36- [0..5] -> [0,0,0,0,0] on some architectures
   37- is_gener_Fp could return wrong results
   38- Fq_sqrtn(t_INT,..,&zeta) could return a wrong root of 1
   39- bnfinit: SEGV due to precision issues [#1592]
   40- zm_zc_mul only worked for square zm matrices
   41- genus2red(0,27*x^5+97*x^4+118*x^3+60*x^2+13*x+1,3) -> bug msg [#1596]
   42- [gphelp] oo loop when $COLUMNS too small [#1594]
   43- genus2red(x,-x^6-3*x^4-10*x^2-1,3) -> impossible inverse [#1597]
   44- factoru(1) returned a t_MAT instead of the expected "matsmall" [#1598]
   45- FpM_charpoly wrong in small characteristic [#1602]
   46- Ser(Mod(0,2)) => incorrect object [#1587]
   47- Ser(Mod(1,2)*x^2,,4) => incorrect precision [#1587]
   48- Ser(x,v,prec < 0) => crash [#1587]
   49- The t_SER Mod(0,2) + O(x^n) was not handled properly [precision and
       valuation would change unexpectedly] [#1587]
   50- when compatible = 3;