Recall: pari-2.7-stable was released in March 2014, pari-2.8-testing is scheduled after Atelier 2015 (february ?). # DISCUSSION FROM ATELIER 2014 & AFTERMATH ([X] = DONE!) New mathematical features for PARI-2.8 (testing) -> PARI-2.9 (stable) ## Elliptic curves / Arithmetic geometry - [X] over number fields [ general infrastructure ] - [X] Tate's algorithm over number fields, above 2 and 3 as well ! (Nicolas?) - [X] global minimal equation, Weierstrass class - [X] qfsolve [ over Q ] - include ratpoint ? - include Denis Simon's ellQ.gp - descent - S-integral points - fields generated by torsion points under Galois action. - [X] modular equation / class polynomials (Hamish) - isogeny matrix [ done over Q ] - [X] pairings / APIP [ Jerome Milan's package ] : - fix Tate self pairing - FpE_FpQXE_* [ 1 pt in base, 1 pt in extension ] - various optimized crypto pairings - [X] Frobenius matrix via Kedlaya's algorithm for p>2 - Frobenius matrix via Kedlaya's algorithm for p=2 - Genus 2 curves - Export local solvability of hyperelliptic equations (over number fields) - Arithmetic & pairings on Mumford representation for hyperelliptic curves Jacobians - Khuri-Makdisi's algorithms (Jacobians of (modular) curves) (Peter, Nicolas) ## Modular symbols - [X] modular symbols, merge the kb-modsym2 branch - support \Gamma_0(1) ! - q-expansions for Eisenstein symbols - support \Gamma_1(N) - other coefficient modules F_q[x,y]_{k-2}, p-adic distributions (overconvergent symbols), etc. ## Algebraic number theory - dynamic nf (confer 'ell'): add new components dynamically as they are computed (integer basis, class group/units...) - [X] better rnf structures allowing maps between TWO nf [not 1 nf + 1 hack] (useful for CSA Aurel) - [X] rnfidealprimedec - rnfinit with list of prime to maximize at, like nfinit([pol,L]) (+rnfcertify ?) (useful for Aurel & Denis) - compact fundamental units (bnfinit + flag) - compact S-units (bnfinit + flag) - rewrite bnfsunit to compute directly S-units without reducing to fundamental units ? - cyclotomic units / subfields to help bnfinit (Jean-Robert) - [X] get rid of bnrinit(,,1): *no* function should need explicit expanded generators, implicit descriptions in terms of linear algebra should be enough. - rewrite lowerboundforregulator [#1572] - [X] relative polcompositum - rnfkummer for composite degrees - rnfkummer for prime power degrees (needed for CSA Aurel) - [X] fix rnfkummer (fix and merge kb-rnfkummer) - [X] bnrisgalois - [X] polsturm -> Uspensky (merge loic-Uspensky) - abstract / generalize ad hoc abelian groups constructions (short exact sequences) - [X] sign of algebraic number [ proven ] (useful for CSA Aurel, useful for lots of stuff Denis) - nfpolsturm(nf,pol,i) where 1<=i<=nf.r1 (useful for Aurel & Denis) - idealispower (Nicolas) - idealsqrtn (useful for CSA Aurel) (Nicolas) - nfissquare - non maximal orders - cubic / quartic / quintic fields by discriminant - [X] support idealstar / ideallog with nf = NULL (over Q) - more central simple algebras: orders, ideals, localizations (Aurel) - Fieker-Klueners polgalois algorithm, GAP module using PARI ? - van Hoeij-Klueners (maximal) sufbields algorithm - primesnf() for the primes in a nf whose norm lie in an interval ## L-functions (Pascal / Henri) - [X] Dirichlet character - [X] Hecke character - [X] L(s,\chi), at least for deg <=2 - [X] Artin L-functions ## Multiprecision: - Change libpari prec variable to be in bits instead of words. - merge the new-t_REAL branch - go through transcendental functions and include rigorous/faster algorithms - hooks to optionally link with mpfr / mpc higher lever routines - asymptotically fast Flx_resultant [ see Flint ] ## Parallelisation, use parallel interface internally: - CRT - [X] polmodular - factorint - znlog - SEA - bnfinit - ... ## GP - [X] 0xDEADBEEF (integers in hexadecimal) - [X] expose the iterator associated to forxxx() functions, e.g. forprime [ vectorprime(), sumprime(), prodprime(), prime ideals... ] partition / forpartion [ ... ] certain subsets (e.g. sets with m elements, words of Hamming weight k...) - forprimestep(p = a, {b}, Mod(c,d), ...) - forfactored - [X] fold - [X] move "useful" functions from gp.c -> libpari (e.g. handling of \[a-z] shortcuts) - V[-1] (= V[#V-1]) ? - V[a..b] when a > b ? (= []) [CONTROVERSIAL: cool but marginally useful compared to effort] - "dictonary arguments" (aka named parameters) f( disc := 10, p := 7, len := 18 ) instead of f(len, disc, p) = ; f(18,10,7) \\ imagine 42 arguments ## Misc - Factorisation of bivariate polynomials (bifactor script) - Baker-Davenport - Generic Newton method - Abel-Jacobi map ## Technical stuff / internals - cleanup input/output (don't change global pari_infile, etc.) - [Configure] let gcc try to find its libraries first [ don't start by overriding with /usr/lib, /usr/lib64, etc ] - properly tune Flx operations wrt p and degree. - cleanup entree* - remove built-in hashtable and use generic one - don't overload "value" / remove "useless" struct members - parser must only create polynomial variables when creating a t_POL/t_SER - separate valuation for t_SER / t_PADIC (servalp / valp) - rename all gerepile* functions -> gc_* - fix DLLDFLAGS on OS/X [#1623] # LEFTOVERS FROM ATELIER 2013 ## Short hacks - Lambert W [ for x >= -1/e ! ] - primepi for large arguments - inverse gamma / inverse erfc - LinearRecurrence [ via Mod(x, T(x))^N ] - Hurwitz zeta - Bell numbers - sumrat \sum F(n), F rational function \sum (-1)^n F(n), F rational function \prod F(n)) - sumeulerrat, \sum_{p prime} F(p^s) \prod_{p prime} F(p^s) - tools for p-adic analysis: Newton polygon (slopes, # of zeros), Amice transform and interpolation - vecprod (= \prod_i v[i]), see vecsum ## Long term projects - change t_SER format (-> faster + easier to maintain) s[0] = type | lg s[1] = valuation s[2] = precp s[2] = t_POL + functions operating on t_POL mod X^n [ RgXn_... ] - t_REAL format - stat functions ? -> Gaussian vectors - Elliptic curves over finite fields: [proposed by Damien Robert] 1) Basic - geometric points over an extension - base change - Various models, morphisms between them, e.g. from / to Weierstrass 2) Isogenies - isogeny graphs - If $\phi_l(j,j')=0$, compute the isogeny corresponding to E, E' - Isogeny class of an elliptic curve - Endomorphism ring 3) Misc - Weil restriction - Symplectic basis for l-torsion