pari/pari.changes

705 lines
34 KiB
Plaintext
Raw Normal View History

-------------------------------------------------------------------
Thu Oct 27 13:41:40 UTC 2022 - Andrea Manzini <andrea.manzini@suse.com>
- Update to release 2.15.0
[The GP language]
- Notion of DebugLevel "domains" that allow to finely control diagnostics.
See setdebug()[,1] to obtain a list of domains. You can still print out
everything using \g 10, but you can also be more specific and use
\g qflll 10
which sets the debug level to 10 only for the "qflll" domain,
i.e. everything related to the LLL algorithm (there are 60 domains so far).
The alternate syntax setdebug("qflll", 10) is available.
- The syntax setdebug(dom, val) and default(def, val) are now recognized in
the GPRC file
- Recall that random(10) returns an integer in [0,9]; now random(-10) draws
a random integer in the symetrized interval [-9,9]. More generally,
recall that random(10 * x^3) returns a polynomial of degree <= 3 and
coefficients in [0, 9]; now random(-10 * x3) draws coefficients in [-9,9].
- Recall that valuation(x, t) computes the t-valuation of x; the t argument
is now optional for types affording a natural valuation: t_PADIC, t_POL
and t_SER:
? valuation(sin(x))
%1 = 1
? valuation(175 + O(5^5))
%2 = 2
[Linear Algebra]
- qflll() now implements most LLL modes in fplll (fast, dpe and heuristic),
allowing large speedups. Directly and in the many functions that use the
LLL algorithm.
- new GP function snfrank(), a utility function returning q-ranks from
Smith Normal Forms
[Elementary Number Theory]
- New GP function: harmonic(), to compute generalized harmonic numbers
- Rework Euler numbers, analogously to Benoulli's: eulervec() is now
faster and caches computed values, and a new GP function eulerreal()
computes floating point approximations.
- dirpowerssum() now allows to twist by a completely multiplicative function
? dirpowerssum(N, s, n->kronecker(-23,n)) \\ sum_{n <= N} chi(n)n^{-s}
- New GP function factormodcyclo(n, p) to quickly factor the n-th
cyclotomic polynomial over Fp
[Elliptic Curves]
- New module to compute the Mordell-Weil group of rational elliptic curves:
ell2cover ellrank ellrankinit ellsaturation
See the tutorial (slides and video) at
http://pari.math.u-bordeaux.fr/Events/PARI2022/index.html#ELL
* ellrank() implements 2-descent together with Cassels's pairing
restrictions yielding rational points and an interval for the rank. If the
Tate-Shafarevic group has no 4 torsion and we spend enough time looking for
rational points (on the curve and auxiliary quartics), we obtain the
Mordell-Weil rank and generators V for a subgroup of finite index in E(Q).
* ellrankinit() precomputes ellrank() data for all quadratic twists of E.
* function ellsaturation(E,V,B) updates the generators V and guarantees
than any prime dividing the index must be > B.
* ell2cover() returns everywhere locally soluble 2-covers of E
(rational quartics on which we try to find a rational point).
- New GP function elltrace() summing the Galois conjugates of a point on E
- New input format for elliptic curves: ellinit([j]) as a shortcut for
ellfromj(j).
[Curves of Higher Genus]
- genus2red(): the given integral model is now a pair [P,Q] such that
y^2+Q*y = P is minimal everywhere (was minimal over Z[1/2]).
- new GP functions to handle models of hyperelliptic curves
hyperelldisc hyperellisoncurve hyperellminimalmodel
hyperellminimaldisc hyperellred
[L-functions]
- New module for hypergeometric motives, see ??hgm. GP functions
hgmalpha hgmbydegree hgmcyclo hgminit
hgmtwist hgmcoef hgmeulerfactor hgmissymmetrical
lfunhgm hgmcoefs hgmgamma hgmparams
See the tutorial (slides and video) at
http://pari.math.u-bordeaux.fr/Events/PARI2022/index.html#HGM
- New GP function lfunparams() to return the [N, k, Gamma factors] attached
to a motivic L-function.
- New GP function lfuneuler() to return the local Euler factor at a prime p
[Modular Forms]
- Faster implementation of mfinit() and mfbasis() in weight 1
- Add optional argument to ramanujantau() to compute the newform of level 1
and given small weight; parallelize implementation.
[Quadratic Fields]
- qfbcomp() now implements general composition of integral binary quadratic
forms (of different discriminants); f * g and f^n are shorthand for
composition and powerings of forms, including (real) extended forms with a
Shanks distance component.
- New GP function qfbcornacchia, solving x^2 + Dy^2 = n in integers
in essentially linear time.
- New GP functions quadunitindex() (index of the unit group of a quadratic
order in the units for the maximal order), quadunitnorm() (norm of the
fundamental unit). Used to improve qfbclassno for non fundamental
positive discriminants.
[General Number Fields]
- nfinit(), nfdisc(), nfbasis() now use lazy factorization: partially
factor the polynomial discriminant, hoping the unfactored part will be a
square coprime to the field discriminant, and that we will be able to
prove it via a variant of Buchmann-Lenstra's algorithm.
- New bit in nfinit flag to prevent LLL on nf.zk, which is a major speedup
when the field degree is large and only basic field or ideal arithmetic
is needed.
- New GP functions nfeltissquare() and nfeltispower() to quickly check whether
an algebraic number is a k-th power (and obtain a k-th root when it is).
- New GP function galoissplittinginit(T) to compute the Galois group of the
splitting field of T. This can be used in all Galois theory functions,
e.g., galoissubgroups(), galoisidentify(), etc.
- New GP function nflist to list number fields with given small Galois
group by increasing discriminant. Some groups (such as A5 and A5(6))
require the new 'nflistdata' package. The same function gives a regular
extension of Q(t) with the requested Galois group for all transitive
subgroups of S_n, n <= 15.
- New GP function nfresolvent() computes classical Galois resolvents
attached to fields of small degree
- Recal that ideallist(nf, B) returns integral ideals of norm bounded
by B > 0. The new ideallist(nf, negative B) returns integral ideals
of norm |B| (in factored form).
[Class Field Theory]
- New GP function bnrcompositum() to construct the compositum of two
abelian extensions given by a class field theoretic description.
- New module to deal with class groups of abelian fields and their Iwasawa
invariants:
subcyclohminus subcycloiwasawa subcyclopclgp
See the tutorial (slides and video) at
http://pari.math.u-bordeaux.fr/Events/PARI2022/index.html#CYCLO
- New module to generate and compute with Hecke characters:
gchareval gcharalgebraic gcharconductor
gcharduallog gcharidentify gcharinit gcharisalgebraic
gcharlocal gcharlog gcharnewprec
See ??"Hecke Grossencharacters" as well as the tutorial at
http://pari.math.u-bordeaux.fr/Events/PARI2022/index.html#HECKE
[Transcendental functions]
- New GP function lerchphi(), lerchzeta() for the Lerch Phi and zeta function.
- New GP functions bessljzero(), besselyzero(), for J and Y Bessel functions
- Lambert W functions are now all supported, one can specify a branch as an
optional argument: lambertw(y, -1) corresponds to W_{-1}, defined for
-exp(-1) <= y < 0. Complex arguments are allowed (as well as power series
and p-adics)
- Speedup for a number of transcendental functions at rational
arguments, in particular atanh(), gamma() and lngamma().
- Allow sqrtint(), sqrtnint() and logint() for positive real number arguments
- We now allow hypergeom(N, D, t_SER)
[Numerical summation and integration]
- New GP function sumnumsidi() for Sidi summation.
- New GP function intnumosc() to integrate quasi-periodic functions of
half-period H on a real half-line:
? \p200
? H = Pi; intnumosc(x = 0, sinc(x), H) - Pi/2
time = 1,241 ms.
%2 = 0.E-211
A number of summation algorithms are used (Lagrange, Sidi, Sumalt, Sumpos).
See ??9 for a comparison of available integration or summation algorithms
- Allow endpoints in solve() to by +oo or -oo
[Miscellaneous]
- poliscyclo(): replace Bradford-Davenport's Graeffe method by their
invphi algorithm (much faster)
- New GP function polsubcyclofast: fast variant of polsubcyclo() in small
degree, returning ad hoc generators (instead of Gaussian periods)
- New GP function poltomonic(T): fast monic integral generating polynomial
for Q[x] / (T)
- New GP function qfminimize to minimize a rational quadratic form.
- New GP function setdelta() for symmetric difference.
- New GP function serdiffdep() to find linear relations with polynomial
coefficients of bounded degree between derivatives of a power series:
? y = sum(i=0, 50, binomial(3*i,i)*t^i) + O(t^51);
? serdiffdep(y, 4, 3) \\ order <= 4 and degrees <= 3
%2 = [(27*t^2 - 4*t)*x^2 + (54*t - 2)*x + 6, 0]
? (27*t^2 - 4*t)*y'' + (54*t - 2)*y' + 6*y
%3 = O(T^50)
COMPATIBILITY ISSUES BETWEEN 2.13.* and 2.15.*
============================================
0) Obsoleted functions and interfaces:
- default(debugfiles,) is now obsolete, use setdebug("io",)
- Unify real and imaginary binary quadratic forms: there are no longer
t_QFI and t_QFR for real an imaginary forms, only generic t_QFB.
One can still create a form using q = Qfb(a,b,c) [ or Qfb(v) if v=[a,b,c] ],
and a pair [q, d] denotes an extended (real) form including a Shanks
distance component 'd' (which used to be part of 'q', but no longer).
1) Output changes:
- system(cmd) now returns the shell return value
- elltwist now returns an ellinit, and accepts the same input formats
as ellinit ([a1,a2,a3,a4,a6], [a4,a6], Cremona label)
- genus2red 3rd component is now a pair [P,Q] such that y^2+Q*y=P is
minimal everywhere.
2) Input changes:
- qfbredsl2(q, S): change format of S: was [D,isD], is now isD
Accepting request 969995 from home:urbic:branches:science - Update to release 2.13.4. Fixed [last column crossreferences current development release 2.14.0] * For z=x+wy a t_QUAD, z.pol returned the modulus z.mod instead of the t_POL x+'w*y [F72] * allow eulerianpol(0) (= 1) [F73] * allow polylog(0,x) (was broken when eulerianpol was introduced) [F74] * concat(t_LIST,t_LIST) was leaking memory [F75] * missing type checks in ellchangepoint (SEGV) [F76] * polsturm(-25*x^4+2*x^3+99*x^2-44*x-132,[-oo,-4]) returned garbage [F77] * ellheight(E,,Q) -> SEGV [F78] * besselj(80,66) -> oo loop [F79] * lfun(1, 0.0) "normalizing a series with a 0 leading term" [#2329] [F80] * (0. + O(x) == 1) returned 'true' [F81] * idealismaximal(nfinit(x),Mat(2)) -> 0 [#2333] [F84] * O(29^(-1)) == 1 was FALSE (same for -1) [F85] * Mod(0, 2*x^0) == 1 was FALSE (same for -1) [F86] * [X11] resizing a window could keep traces of previous drawing [F87] * x->x+0x1 was not displayed correctly [F88] * bnfinit(Q) was not using current precision [#2335] [F89] * polresultant(t_POL with t_RFRAC coefs,...) -> internal errors [F91] * znchardecompose(znstar(2,1),[],2) -> SEGV [#2339] [F92] * missing roots in nfroots(t_POL,) [#2345] [F94] * factorpadic: ensure leading coefs are powers of p [#2352] [F95] * nfsnf: wrong results [#2353] [F96] * rare SEGV in nfdisc. [#2356] [F97] * factor((Mod(1,2)*((t^2+1)*x^4+(t^4+1)*x^2+1))) -> division by 0 [F98] * internal type errors in mfsymboleval [#2360] [F99] * incorrect chargalois for trivial group [#2341] [F100] * minpoly(Mod(1/(x-(t+1))*Mod(1,2),(t+1)*x^2+t*x+1)) ->err [#2363] [F101] * factor(Mod(1,2)*x^5+a*x^3) -> div by 0 [F102] * nfgrunwaldwang: fix infinite loop [#2343] [F103] * ti=thueinit(3*x^3 + 5*x^2 - 14*x + 54,1); thue(ti,1) ->err [#2365] [F104] * algdep(t_POLMOD x) -> x.mod instead of correct result [F105] * bnrclassfield: incorrect result when fundamental units are large [F107] - Use spec-cleaner OBS-URL: https://build.opensuse.org/request/show/969995 OBS-URL: https://build.opensuse.org/package/show/science/pari?expand=0&rev=56
2022-04-14 14:10:41 +02:00
-------------------------------------------------------------------
Wed Apr 13 18:58:43 UTC 2022 - Anton Shvetz <shvetz.anton@gmail.com>
- Update to release 2.13.4
* For z=x+wy a t_QUAD, z.pol returned the modulus z.mod instead
of the t_POL x+'w*y
* allow eulerianpol(0) (= 1)
* allow polylog(0,x) (was broken when eulerianpol
was introduced)
* concat(t_LIST,t_LIST) was leaking memory
* missing type checks in ellchangepoint (led to a SIGSEGV)
* polsturm(-25*x^4+2*x^3+99*x^2-44*x-132,[-oo,-4])
returned garbage
* ellheight(E,,Q) led to a SIGSEGV
* besselj(80,66) led to an infinite loop
* lfun(1, 0.0) "normalizing a series with a 0 leading term"
* (0. + O(x) == 1) returned 'true'
* idealismaximal(nfinit(x),Mat(2)) -> 0
* O(29^(-1)) == 1 was FALSE (same for -1)
* Mod(0, 2*x^0) == 1 was FALSE (same for -1)
* [X11] resizing a window could keep traces
of previous drawing
* x->x+0x1 was not displayed correctly
* bnfinit(Q) was not using current precision
* polresultant(t_POL with t_RFRAC coefs,...) led to internal
errors
* znchardecompose(znstar(2,1),[],2) led to SIGSEGV
* missing roots in nfroots(t_POL,)
* factorpadic: ensure leading coefs are powers of p
* nfsnf returned wrong results
* rare SEGV occurred in nfdisc
* factor((Mod(1,2)*((t^2+1)*x^4+(t^4+1)*x^2+1)))
led to a division by 0
* minpoly(Mod(1/(x-(t+1))*Mod(1,2),(t+1)*x^2+t*x+1))
led to an error
* factor(Mod(1,2)*x^5+a*x^3) led to division by 0
* nfgrunwaldwang: fix infinite loop
* ti=thueinit(3*x^3 + 5*x^2 - 14*x + 54,1); thue(ti,1)
led to an error
* bnrclassfield led to incorrect result when fundamental
units are large
Accepting request 969995 from home:urbic:branches:science - Update to release 2.13.4. Fixed [last column crossreferences current development release 2.14.0] * For z=x+wy a t_QUAD, z.pol returned the modulus z.mod instead of the t_POL x+'w*y [F72] * allow eulerianpol(0) (= 1) [F73] * allow polylog(0,x) (was broken when eulerianpol was introduced) [F74] * concat(t_LIST,t_LIST) was leaking memory [F75] * missing type checks in ellchangepoint (SEGV) [F76] * polsturm(-25*x^4+2*x^3+99*x^2-44*x-132,[-oo,-4]) returned garbage [F77] * ellheight(E,,Q) -> SEGV [F78] * besselj(80,66) -> oo loop [F79] * lfun(1, 0.0) "normalizing a series with a 0 leading term" [#2329] [F80] * (0. + O(x) == 1) returned 'true' [F81] * idealismaximal(nfinit(x),Mat(2)) -> 0 [#2333] [F84] * O(29^(-1)) == 1 was FALSE (same for -1) [F85] * Mod(0, 2*x^0) == 1 was FALSE (same for -1) [F86] * [X11] resizing a window could keep traces of previous drawing [F87] * x->x+0x1 was not displayed correctly [F88] * bnfinit(Q) was not using current precision [#2335] [F89] * polresultant(t_POL with t_RFRAC coefs,...) -> internal errors [F91] * znchardecompose(znstar(2,1),[],2) -> SEGV [#2339] [F92] * missing roots in nfroots(t_POL,) [#2345] [F94] * factorpadic: ensure leading coefs are powers of p [#2352] [F95] * nfsnf: wrong results [#2353] [F96] * rare SEGV in nfdisc. [#2356] [F97] * factor((Mod(1,2)*((t^2+1)*x^4+(t^4+1)*x^2+1))) -> division by 0 [F98] * internal type errors in mfsymboleval [#2360] [F99] * incorrect chargalois for trivial group [#2341] [F100] * minpoly(Mod(1/(x-(t+1))*Mod(1,2),(t+1)*x^2+t*x+1)) ->err [#2363] [F101] * factor(Mod(1,2)*x^5+a*x^3) -> div by 0 [F102] * nfgrunwaldwang: fix infinite loop [#2343] [F103] * ti=thueinit(3*x^3 + 5*x^2 - 14*x + 54,1); thue(ti,1) ->err [#2365] [F104] * algdep(t_POLMOD x) -> x.mod instead of correct result [F105] * bnrclassfield: incorrect result when fundamental units are large [F107] - Use spec-cleaner OBS-URL: https://build.opensuse.org/request/show/969995 OBS-URL: https://build.opensuse.org/package/show/science/pari?expand=0&rev=56
2022-04-14 14:10:41 +02:00
-------------------------------------------------------------------
Tue Nov 2 00:19:07 UTC 2021 - Anton Shvetz <shvetz.anton@gmail.com>
- Update to release 2.13.3. Fixed
[last column crossreferences current development release 2.14.0]
* zeta(-2 + O(x)) => division by 0 [F25]
* (-1)^(-1/2) -> I instead of -I [F56]
* GC error in ZX_Uspensky(, flag = 0) [F58]
* ellisomat(ell/nf not integral) -> oo-loop or wrong result [F59]
* (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] [F60]
* hypergeom([1/12,1/12],2/3,3) -> wrong result [F61]
* overflow in mulu_interval(,ULONG_MAX) [#2309] [F62]
* ellE(1) -> domain error [#2312] [F63]
* log1p(-1 + 10^-10) -> oo time [F64]
* bernvec entries were wrong from B_{2*4064} on [#2311] [F65]
* plotrecthraw for multi-curves [F66]
* RgXn_powu(,,1) wrong result [#2314] [F67]
* erfc incorrect on negative imaginary axis [#2315] [F68]
* mfgalpoistype bug for dihedral types (when conductor at oo
is not stable under Galois) [#2293] [F69]
* [32bit] forfactored(n=223092868, 223092871, ) ->
SEGV [#2318] [F70]
* Fp_issquare(0, p) would return 0 [F71]
-------------------------------------------------------------------
Sun Oct 31 20:36:12 UTC 2021 - Anton Shvetz <shvetz.anton@gmail.com>
- Split '%make_build all docpdf' into separate executions due to
non-reproducible results during parallel build with varying
numbers of jobs. Thanks to Bernhard M. Wiedemann for reporting
the bug.
Accepting request 928049 from home:urbic:branches:science - Update to release 2.13.2. Fixed [last column crossreferences current development release 2.14.0] * rnfidealup(, non-integral ideal) -> division by 0 [F22] * memory leak in ellheight [F23] * memory leak in bnfinit [F24] * nfeltdiv(nfinit(x^2+1), 0, 1+x/2) -> SEGV [#2277] [F26] * znchargauss(g,chi,0) -> oo loop [F28] * bnflog(bnr, ...) -> SEGV [F29] * elliptic functions: incorrect reduction of z/w1 mod [1,tau] => catastrophic cancellation [F30] * powcx(x, t_COMPLEX with 0 imaginary part) -> crash [F31] * nfsubfields(t_POL in other var than x,,1) -> SEGV [F32] * extra terms in power t_SER substitutions [#2281] [F33] * k=bnfinit(quadpoly(-2923,a)); bnrclassfield(k,3) -> SEGV [#2280] [F34] * rnfdisc mishandled polynomials with denominators [#2284] [F35] * elltamagawa(ellinit([-1456/243,93184/19683])) -> wrong result [F36] * mfsearch would sometimes miss the trivial form [F37] * typo in allh [affects ECPP tunings] [F38] * mfisetaquo(mffrometaquo([1,12;193,12])) -> 0 [F39] * polroots(1.E-47*t^6+1.E-47*t^5+4.E-46*t^4) -> bug in type [#2286] [F40] * ceil(quadgen(5)) -> 1 instead of 0 [#2288] [F41] * floor(Mod(0,3)*quadgen(5)) -> crash [F42] * wrong ispower(t_RFRAC) and issquare(t_RFRAC, &z) [#2289] [F45] * 1+O(x)==O(x) [F47] * qfauto([[1,0;0,1],[0,0;1,0]]) -> SEGV [F49] * 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 ] [F50] * rnfdisc could return corrupted result [F51] * concat(List([1])[1..0]) ->SEGV (instead of error) [#2299] [F53] * List([1])[1..0]==List() -> 0 instead of 1 [F54] - Build PDF documentation and place it into separate pari-doc package. Move examples from pari-devel package to pari-doc. - Add %{_sysconfdir}/gprc to packaging. - Remove patch pari-nodate.diff (replace with the sed one-liner in the %prep section). - Remove obsolete stuff from the spec file. - Apply spec-cleaner. OBS-URL: https://build.opensuse.org/request/show/928049 OBS-URL: https://build.opensuse.org/package/show/science/pari?expand=0&rev=50
2021-10-29 10:59:49 +02:00
-------------------------------------------------------------------
Fri Oct 29 01:01:54 UTC 2021 - Anton Shvetz <shvetz.anton@gmail.com>
- Update to release 2.13.2. Fixed
[last column crossreferences current development release 2.14.0]
* rnfidealup(, non-integral ideal) -> division by 0 [F22]
* memory leak in ellheight [F23]
* memory leak in bnfinit [F24]
* nfeltdiv(nfinit(x^2+1), 0, 1+x/2) -> SEGV [#2277] [F26]
* znchargauss(g,chi,0) -> oo loop [F28]
* bnflog(bnr, ...) -> SEGV [F29]
* elliptic functions: incorrect reduction
of z/w1 mod [1,tau] => catastrophic cancellation [F30]
* powcx(x, t_COMPLEX with 0 imaginary part) -> crash [F31]
* nfsubfields(t_POL in other var than x,,1) -> SEGV [F32]
* extra terms in power t_SER substitutions [#2281] [F33]
* k=bnfinit(quadpoly(-2923,a));
bnrclassfield(k,3) -> SEGV [#2280] [F34]
* rnfdisc mishandled polynomials with denominators [#2284] [F35]
* elltamagawa(ellinit([-1456/243,93184/19683])) ->
wrong result [F36]
* mfsearch would sometimes miss the trivial form [F37]
* typo in allh [affects ECPP tunings] [F38]
* mfisetaquo(mffrometaquo([1,12;193,12])) -> 0 [F39]
* polroots(1.E-47*t^6+1.E-47*t^5+4.E-46*t^4) ->
bug in type [#2286] [F40]
* ceil(quadgen(5)) -> 1 instead of 0 [#2288] [F41]
* floor(Mod(0,3)*quadgen(5)) -> crash [F42]
* wrong ispower(t_RFRAC) and issquare(t_RFRAC, &z) [#2289] [F45]
* 1+O(x)==O(x) [F47]
* qfauto([[1,0;0,1],[0,0;1,0]]) -> SEGV [F49]
* 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 ] [F50]
* rnfdisc could return corrupted result [F51]
* concat(List([1])[1..0]) ->SEGV (instead of error) [#2299] [F53]
* List([1])[1..0]==List() -> 0 instead of 1 [F54]
- Build PDF documentation and place it into separate
pari-doc package. Move examples from pari-devel package
to pari-doc.
- Add %{_sysconfdir}/gprc to packaging.
- Remove patch pari-nodate.diff (replace with the sed one-liner
in the %prep section).
- Remove obsolete stuff from the spec file.
- Apply spec-cleaner.
-------------------------------------------------------------------
Sun Feb 7 21:15:14 UTC 2021 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to release 2.13.1. Fixes the following bugs:
* GC error in idealinv.
* qfminim inefficiency (initial bound from non-LLL-reduced matrix).
* mfshimura in weight 3/2 => infinite loop
* matsolve([1,1,1/2; 1,0,1/2; 2,1,0], [-1;1;-1]) -> SEGV.
* qfminim(Mat(1),,,2) -> precision error.
* subst(p, v, t_SER) very slow if p contains many variables.
* mfsymboleval for trivial path returned 0 instead of a vector
of 0s when f has multiple embeddings.
* 2^(1 + O(3^4)) -> type error.
* 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).
* tan(1+10^20*I) -> overflow (same for cotan and psi).
* Mod(2,3)^1000000000000000000001 -> Mod(-1,3).
* subst(O(y) + x, x, (1 - y + O(y^2))*x + O(x^2)) -> SEGV.
* (Mod(0,3) + x) + O(x^2) -> x + O(x^2) [now Mod(1,3)*x + O(x^2)].
* Precision too low for units in mfgaloisprojrep.
* Missing GC at the end of RgXn_inv.
* (-1)^(1/3) -> -1 instead of exp(log(-1)/3).
* mfeisenstein(k, trivial characters mod N > 1) was incorrect.
* Missing GC in qfsolve.
-------------------------------------------------------------------
Mon Oct 26 15:03:47 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2.13.0
* New libpari functions: perm_sqr, perm_powu, perm_orderu, quodif.
* Added asymptotically fast quadunit.
* Faster intnumgaussinit and change default number of points
to B/4, suitable when b - a ~ distance to the nearest pole.
* In libpari, perm_pow now takes a t_INT exponent, permorder
and perm_order return a t_INT.
* sizebyte(objects containing t_LIST): would assign size 3 to all lists
* permorder returned incorrect results for large orders
* cure SIGSEGV on [Map(Mat([0, 0])), [0, 0, 1]]
* cure SIGSEGV on zeta(I+2^(-64))
* cure infinite loop on p=[4,54];lfunmf(mfinit(p,0), mftraceform(p,0))
* printf("%5.2f",M) transposed M
* bnfinit instability at low accuracy. E.g., at \p38
P=x^7+22*x^6+184*x^5+764*x^4+2020*x^3+3792*x^2+5712*x+4;
bnfinit(P,1).no -> 4 times too large
* Accuracy problems in bnfisunit after bnfinit(P,1). E.g.,
P=x^7-22*x^6+169*x^5-568*x^4+1263*x^3-1506*x^2+2295*x+2;
setrand(1); K=bnfinit(P,1); U=bnfunits(K,idealprimedec(K,2));
bnfisunit(K,4*(x^2-18*x+85)/x^2*Mod(1,K.pol),U) -> error
- Update to release 2.12.1.
* New functions in GP: asympnumraw, bnrmap, bnfunits,
dirpowerssum, ellpadiclambdamu, eulerianpol, eulerfrac,
eulerpol, eulervec, fft, fftinv, halfgcd, lfundual, lfunshift,
matreduce, mfisetaquo, mscosets, msfarey, nfsubfieldscm,
nfsubfieldsmax, parforeach, parforprimestep, parplothexport,
permcycles, polylogmult, rootsof1, zetamultdual.
* New libpari functions: absZ_factor_limit_strict,
bnf_build_cheapfu, bnf_compactfu, bnf_compactfu_mat,
bnf_get_sunits, bnf_has_fu, bnrchar_primitive_raw,
bnrconductor_factored, bnrconductor_raw, bnrisprincipalmod,
bnr_subgroup_check, checkbnr_i, checkfarey_i,
closure_callgen0prec, cmpss, cmpuu, cyc_get_expo, div_content,
ellQtwist_bsdperiod, etaquotype, expIPiC, expIPiR, F2m_row,
F2Ms_colelim, F2Ms_ker, F2Ms_to_F2m, F2m_to_F2Ms,
F2m_transpose, F2v_and_inplace, F2v_hamming,
F2v_negimply_inplace, F2v_or_inplace, F2xn_inv, F2xn_red,
F2xqX_halfgcd, F2xX_to_F2xC, F2xXV_to_F2xM, factorial_Fl,
factorial_Fp, famat_div, famat_idealfactor, famat_nfvalrem,
famat_remove_trivial, famatV_factorback, famatV_zv_factorback,
ff_parse_Tp, FFX_add, FFX_halfgcd, Flv_factorback, Flx_blocks,
Flx_Fl_sub, Flx_is_totally_split, Flxn_expint, Flxq_autpowers,
FlxqV_factorback, FlxqX_fromNewton, FlxqX_Newton,
FlxqXn_expint, FlxqXn_inv, FlxqXn_mul, FlxqXn_sqr,
Flx_translate1_basecase, FlxV_Flv_multieval, FlxX_blocks,
FlxX_invLaplace, FlxX_Laplace, FlxXn_red, FlxX_translate1,
forqfvec1, FpV_prod, FpXC_to_mod, FpX_divu, FpX_Fp_div,
FpX_FpXV_multirem, FpXM_to_mod, FpXn_expint, FpXQXn_expint,
FpXV_chinese, FpXY_FpXQ_evaly, FqC_FqV_mul, FqC_to_mod,
FqV_factorback, FqXC_to_mod, FqX_expint, FqXM_to_mod,
galoismatrixapply, gc_const, gen_sort_shallow, gen_ZpM_Newton,
groupelts_conj_set, groupelts_quotient, groupelts_to_group,
group_subgroup_is_faithful, halfgcdii, hash_zv,
idealfactor_partial, ideallogmod, ideallog_units,
ideallog_units0, idealpseudominvec, Idealstarmod, init_Flxq,
is_qfb_t, Kronecker_to_ZXQX, lfunquadneg, minim_zm,
mseval2_ooQ, mspadic_parse_chi, mspadic_unit_eigenvalue,
nf_cxlog, nf_cxlog_normalize, nfhyperellpadicfrobenius,
nflogembed, nfsign_fu, nfsign_tu, nfV_cxlog, nfX_disc,
nfX_resultant, pariplot, pari_realloc_ip, pow2Pis, pow2Pis,
powPis, powPis, QabM_tracerel, Qab_tracerel, QabV_tracerel,
Qdivis, Qdiviu, Q_lval, Q_lvalrem, QM_gauss_i, QM_image,
QM_image_shallow, QM_ImQ, QM_ImQ_all, QM_ImZ, QM_ImZ_all,
QM_sqr, quotient_groupelts, QXQ_to_mod_shallow, QXQX_gcd,
QXQX_mul, QXQX_powers, QXQX_QXQ_mul, QXQX_sqr, radicalu,
random_zv, rfracrecip, RgM_ZM_mul, RgV_type, RgV_type2,
RgX_halfgcd, RgXn_expint, RgXV_to_FlxV,
rnf_get_ramified_primes, SL2_inv_shallow, sumdivmultexpr,
sunits_makecoprime, uis2psp, uispsp, upowers, vec_equiv,
vecfactorsquarefreeu_coprime, vec_reduce, vecsmall_is1to1,
vecsmall_isconst, vecvecsmall_sort_inplace,
vecvecsmall_sort_shallow, Vgaeasytheta, ZC_u_divexact,
zlx_translate1, zlxX_translate1, ZMrow_equal0, ZpM_invlift,
ZpX_primedec, ZV_lcm, ZV_snf_gcd, zv_sumpart, ZX_compositum,
zx_lval, ZXQ_minpoly, ZXQ_powers, ZXQX_gcd, ZXQX_ZXQ_mul,
ZX_realroots_irred, ZX_sturm_irred, ZXX_evalx0, ZXX_Q_mul,
zx_z_divexact,
* Allow nfinit([T, basis, ramified primes]).
* Allow nf.p, rnf.p [rational ramified primes].
* Add flag bit to ZM_snfall_i.
* Allow real t_QUAD in floor, ceil, divrem, %, \, \/.
* Parallel support for lfuninit.
* Direct formulas for quadratic Dirichlet L-functions at integers.
* lfuncreate: support for closures of arity 0.
* Compact representation of units in bnf (bnfinit(pol,1)) and of
principal ideal generators (bnfisprincipal(bnf,id,4)).
* lfuncreate(znstar or bnr,): allow a vector of characters =>
vector-valued L-function.
* Holes in multi-assignement: [a,,c]=[1,2,3].
* nfisincl: new flag: return a single embedding.
* qflll(x,3) in place reduction: return x * qflll(x) (faster).
* galoisinit: support for group (3x3):4 (GAP4(36,9)).
* Removed obsolete function rootsof1_kannan: use nfrootsof1.
* Removed obsolete function checkbnrgen: use bnr_get_gen.
* For additional changes, see the included changelog.
- Update to release 2.12.0.
* New functions in GP: airy, arity, bnrclassfield, derivn,
dirpowers, ellE, ellK, export, exportall, ffmaprel,
getlocalbitprec, getlocalprec, hypergeom, idealdown,
idealismaximal, mfgaloisprojrep, nfdiscfactors, pollaguerre,
polteichmuller, strjoin, strsplit, strtime, unexport,
unexportall.
* New libpari functions: bid_get_fact2, closure_derivn,
constzeta, divisorsu_fact_factored, divisorsu_moebius,
F2xqX_disc, F2xqX_resultant, F2x_recip, F2x_Teichmuller,
FF_preimagerel, FF_var, FFX_disc, FFX_extgcd, FFX_gcd,
FFXQ_minpoly, FFX_resultant, Flx_fromNewton, Flx_integ,
Flx_invLaplace, Flx_Laplace, Flx_Newton, Flxn_exp, Flxn_red,
Flxn_sqr, FlxqX_disc, FlxqX_resultant, Flx_Teichmuller,
Fp_divu, FpXC_FpXQ_eval, FpXQX_disc, FpXQX_resultant, gc_bool,
gc_double, gc_int, gc_long, gc_NULL, gc_ulong,
gluncloneNULL_deep, guncloneNULL, hash_init, hash_init_ulong,
has_str_len, identity_zv, identity_ZV, maxprimeN, mpsinhcosh,
mulu_interval_step, nfX_to_monic, nonsquare_Fl,
pari_get_histrtime, polint_i, polintspec, pollegendre_reduced,
psi1series, qfiseven, rfrac_deflate, rfrac_deflate_max,
rfrac_deflate_order, RgV_is_arithprog, RgV_isin_i, set_avma,
setunion_i, walltimer_delay, walltimer_start, ZpXQX_liftroots,
zv_cyc_minimal, zv_cyc_minimize, ZXQ_powu.
* qfbsolve(Q,n) now supports arbitrary integer n.
* limitnum/asympnum: allow closures of the form
N->[u(1),...,u(N)], which allows to handle efficiently sums,
recursions, continued fractions, etc.
* Optional flag to pollegendre and polhermite.
* Allow subst(e, x, vector v) for vector(subst(e, x, v[i])).
* Optional v argument to nfmodprinit.
* Support call by reference in GP function: f(~L,x)=listput(~L,x+1).
* Generic fast linear algebra using CUP decomposition.
* Implement lfunmfspec in odd weight.
* Support for rational model in ellratpoints and hyperellratpoints.
* Fast algorithm for zeta([a + b*n | n<-[0..N]]).
* ellheight(E) now returns the Faltings height of E.
* lfun now allows non-integral weights.
* example/parigp.sty to re-enable PARI's \pmatrix with amsmath.
* Removed member functions .futu and .tufu (deprecated since 2.2).
* Removed inferior hash function hash_str2: use hash_str.
* Removed obsolete binary flag '2' in matsnf (make it a no no-op).
* For additional changes, see the included changelog.
-------------------------------------------------------------------
Sat Jun 6 23:59:38 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2.11.4
* fixed "factor((x-1)*(x-y)^2)" going into an infinite loop
* "ellap" could fail with division by 0
* cure wrong results from "bnfsunit"
-------------------------------------------------------------------
Thu Mar 5 16:44:44 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2.11.3
* Avoid division by zero in Flx_extresultant when one input is 0.
* Fix crashes executing "ispower(27,2^60)",
"issquare(non square t_FFELT, &x)",
"polcompositum(x^2+x/3+1,x^2+x/3+1)",
"polrootsreal(x+0.)", "qflllgram([2,2,3;4,5,6])",
or printf("%10.6f\n",2^-100).
-------------------------------------------------------------------
Fri Aug 23 13:49:16 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Enable pthreads [boo#1142714]
- Avoid duplicate shipping of documentation.
-------------------------------------------------------------------
Sun Jul 28 22:37:35 UTC 2019 - Simon Puchert <simonpuchert@alice.de>
- Update to new upstream release 2.11.2
* Fixed minpoly(Mod(1,t^2)) causing SIGSEGV.
* Fixed segfault in ffinvmap(m) on bad input.
* Fixed factormod(x^3+1,[y^2+1,2]) causing SIGSEGV.
* Fixed incorrect use of graphcolors leading to a SIGSEGV.
* Fixed [a,b]=a possibly leading to memory corruption.
* Fixed a memory leak in cgetalloc when lg overflows.
* Fixed a possible segfault in padicappr.
* Fixed core() possibly destroying its input,
if stored in a GP variable.
* Fixed stack corruption in quad_disc.
* Fixed an infinite loop and stack corruption in ellmoddegree.
- Drop the separate changelog as RPMLINT warns about it being a
duplicate of the file CHANGES (which is already included).
-------------------------------------------------------------------
Mon Mar 25 19:08:37 UTC 2019 - Christophe Giboudeaux <christophe@krop.fr>
- Prepare the KDE4/Qt4 removal in factory.
-------------------------------------------------------------------
Mon Dec 10 23:51:20 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 2.11.1
* Fixed a heap buffer overflow
* Fixed mfsplit(mf,,flag) could return uninitialized objects
causing SIGSEGV
* Fixed incgam(-1000.4,2) causing SIGSEGV
* Fixed mfcoefs(mfDelta(),0) causing SIGSEGV
* Fixed segfault in rnfidealup
-------------------------------------------------------------------
Fri Dec 7 21:14:49 UTC 2018 - Todd R <toddrme2178@gmail.com>
- Use %macro instead of %{macro} wherever possible.
-------------------------------------------------------------------
Fri Dec 7 16:38:08 UTC 2018 - Todd R <toddrme2178@gmail.com>
- Fix building on SLE 15
- Use %license macro
-------------------------------------------------------------------
Wed Aug 29 20:32:25 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 2.11.0
* fixed uninitialized memory reads in lgcdii and red_montgomery
* fixed memory leaks on pari_close [s_dbginfo, s_frame,
colormap/graphcolor
* polcoeff is deprecated and renamed polcoef: it now only
applies to scalars, polynomials, series and rational
functions; no longer to vector/matrices or quadratic forms
(use [] or "component")
* libpari: rename polcoeff0 -> polcoef, polcoeff_i -> polcoef_i,
truecoeff -> truecoef
-------------------------------------------------------------------
Sat Sep 9 12:33:24 UTC 2017 - jengelh@inai.de
- Update to new upstream release 2.9.3
* Expression "issquare(Mod(1,67)*x^4+Mod(14,67)*x^2+Mod(49,67))"
and "polroots(t_POL whose coeffs vary by a factor > 2^100000)"
had caused SIGSEGV
-------------------------------------------------------------------
Tue Feb 21 00:00:10 UTC 2017 - jengelh@inai.de
- Update to new upstream release 2.9.1
* lfunartin was using too much stack
* fflog in char 3 or 5 was slower than intended
* modular algorithms could fail for very large input
-------------------------------------------------------------------
Tue Nov 29 11:45:37 UTC 2016 - jengelh@inai.de
- Update to new upstream release 2.9.0
* fixed nfisisom(x,x^0) causing a crash
* fixed crash on BIB in ellpointtoz(t_PADIC)
* fixed wrong result for nfroots(non-monic t_POL)
* fixed division by zero on doing
e=ellinit([1,-1,1,98,126],O(5^10)); ellpointtoz(e,[1,14])
* fixed rare crash in bnfisprincipal
-------------------------------------------------------------------
Sun Jul 31 16:46:14 UTC 2016 - jengelh@inai.de
- Update to new upstream release 2.7.6
* fixed O(1)==O(x) returning 0
* matsolve(a,b) and a^(-1) gave wrong results [or SEGV] when t_MAT
a was not square and a,b "modular"; same for x^(-1)
* fixed a memory leak in pari_close: sopath was not freed
-------------------------------------------------------------------
Sat Mar 12 20:32:55 UTC 2016 - jengelh@inai.de
- Update to new upstream release 2.7.5
* forprime engine could skip (fast) sieve in favour of (slow)
* corrected return values/exceptions of functions
-------------------------------------------------------------------
Thu Feb 26 12:42:06 UTC 2015 - jengelh@inai.de
- Update to new upstream release 2.7.3
* "??bnrL1" and "??ellL1" did not work anymore and were fixed
* thue(f^e*g, ...), e even, (f,g)=1 missed solutions such that f<0
* nfisincl(t_POL, t_POL) could lead to wrong negative results
* ellcard over non-prime fields could return wrong results
* weber(1+I) was missing its imaginary part
-------------------------------------------------------------------
Sun Oct 12 08:15:21 UTC 2014 - jengelh@inai.de
- Update to new upstream release 2.7.2. Fixed were:
* (gp -p N) or (primelimit=N in gprc_ for N >= 436273290 resulted
in an incorrect primetable.
* monomial(exact zero, d, v) returned an invalid t_POL / t_RFRAC
* 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]
* iferr() could crash if some component of the t_ERROR were clones
* nffactor() could overflow the stack when default accuracy too low
* obsolete use of E=[a1,a2,a3,a4,a6] in ellmul crashed
* incorrect rounding in mulrr/divrr for one-word precision reals
* multiif did not handle correctly return() in conditions
* is_gener_Fp could return wrong results
* Fq_sqrtn(t_INT,..,&zeta) could return a wrong root of 1
* bnfinit: SEGV due to precision issues
* zm_zc_mul only worked for square zm matrices
* [gphelp] infinite loop when $COLUMNS too small
* factoru(1) returned a t_MAT instead of the expected "matsmall"
* when compatible = 3; series() used a random precision
* isprime() could crash on large input
* gphelp did not handle === correctly
-------------------------------------------------------------------
Wed Aug 6 05:14:57 UTC 2014 - jengelh@inai.de
- Update to new upstream release 2.7.1
* Q_pvalrem(t_FRAC) returned a wrong result
* The "ellheegner" function was using too much memory in some cases
* nfhilbert(K,x,y, P above 2) could give wrong results
* nfpow_u didn't handle non-integral rational numbers
* nfroots(, t_POL with leading coeff -1) could miss solutions
-------------------------------------------------------------------
Fri Apr 18 14:53:48 UTC 2014 - jengelh@inai.de
- Update to new upstream release 2.7.0
* added new library functions FlxX_to_FlxC, FlxXV_to_FlxM, polx_FlxX,
Flx_lead, RgV_to_RgM
-------------------------------------------------------------------
Wed Feb 5 01:56:32 UTC 2014 - jengelh@inai.de
- Update to new upstream release 2.5.5
* sin'(1) with default(compatible,3) caused a crash
* add missing call to normalize() in lift(t_POL/t_SER)
* galoisinit(x^3+x^2-2*x-1) led to uninitialized read
* polred() could return non-squarefree polynomials
* bnrdisc could return a wrong result if the modulus had more than
2 prime divisors
* FFT mulii relied on unspecified order of evaluation
* local() could corrupt polynomial variable of the same name
- Add pari-nodate.diff
-------------------------------------------------------------------
Sun Jan 6 20:10:01 UTC 2013 - jengelh@inai.de
- Restore original library filename after confirming with upstream
(This change is transparent to all users)
-------------------------------------------------------------------
Thu Nov 29 19:09:42 UTC 2012 - jengelh@inai.de
- Update to new upstream release 2.5.3
* Fixed a bug whereby calling a GP function with a lot of omitted
arguments could crash
* idealramgroups() and idealfrobenius() did not accept a bnf
-------------------------------------------------------------------
Sun Feb 26 22:13:05 UTC 2012 - scorot@free.fr
- fix build requirement to allow build on SLE-11
- recompress source file to bzip2 format to allow build on SLE-11
- add missing %%post and %%postun scriptlets
-------------------------------------------------------------------
Mon Sep 26 08:52:28 UTC 2011 - jengelh@medozas.de
- Initial package (version 2.5.0) for build.opensuse.org