Size: 2606
Comment:
|
Size: 8323
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
== Descent on Cyclic Covers of the Projective Line == Port 200 lines of Magma code to Sage. * People: Michael Mourao, Maite Aranes == Finite Fields == Deal with David Roe's latest patch bomb. * People: John Cremona * Tickets: #7883, #8333, #8334, #8335 |
|
Line 17: | Line 33: |
* People: Bart de Smit, Willem Jan Palenstijn, Demeyer, Mak Trifkovic, Thijs van Dijk, Alyssa Milburn, Dan Bernstein, Sebastian Pancratz | * People: Bart de Smit, Willem Jan Palenstijn, Jeroen Demeyer, Mak Trifkovic, Thijs van Dijk, Alyssa Milburn, Dan Bernstein, Sebastian Pancratz |
Line 24: | Line 40: |
* People: Dan Bernstein, Tanja Lange, Niels Duif, Johannes van der Horst, Michiel Kosters, Marco Streng, Vince Bush, Julio Brau, Michael Mourao | * People: Dan Bernstein, Tanja Lange, Niels Duif, Johannes van der Horst, Michiel Kosters, Marco Streng, Vince Bush, Julio Brau, Michael Mourao, John Cremona * Tom Fisher's Magma code for invariants and covariants of plane cubics [[attachment:covariants.m]], and for minimization and reduction of genus one models [[attachment:g1minimisation-2008.m]] [[attachment:g1reduction-2008.m]] [[attachment:minred-demo1.m]] [[attachment:minred-demo2.m]] * Ian Connell's lecture notes contain all the formulas needed to convert plane cubics and hyperelliptic quartics: see http://www.math.mcgill.ca/connell/public/ECH1/ (first several pages of Chapter 1 (c1.ps)). |
Line 29: | Line 47: |
The main goal of this project is to get the basic infrastructure for function fields into Sage. If time permits, we will also implement Hess's algorithms. | The main goal of this project is to get the basic infrastructure for function fields into Sage. If time permits, we will also implement Hess's algorithms. See [[daysff/curves|Hess's papers and talks]]. People: William Stein, Maarten Derickx, Peter Bruin, Jan Tuitman, Max Flander, Tanja Lange, Michiel Kosters, Christiane Peters, Marco Streng |
Line 32: | Line 54: |
* Trac 9069: [[http://trac.sagemath.org/sage_trac/ticket/9069|Weak Popov Form (reduction algorithm)]] | |
Line 34: | Line 57: |
* People: William Stein, Maarten Derickx, Peter Bruin, Jan Tuitman, Max Flander, Tanja Lange, Michiel Kosters, Christiane Peters, Marco Streng | Make sure to see [[daysff/curves|this page for more links]]. |
Line 39: | Line 63: |
* plotting, actions, fundamental domains * Java * port Verrill's fund.dom. program * People: Vincent Delecroix, Maite Arianes, Thijs van Dijk |
* plotting (arc of circle, filling domain bounded with arc of circles, ...) * actions (using the coercion model to act on Hyperbolic Plane element by matrices) * fundamental domains (port H. Verrill program and implement R. Kulkarni method) * People: Vincent Delecroix, Maite Aranes, Thijs van Dijk {{http://iml.univ-mrs.fr/~delecroi/hyp-pic1.png|cool hyperbolic picture 1}} {{http://iml.univ-mrs.fr/~delecroi/hyp-pic2.png|cool hyperbolic picture 2}} Related tickets * Trac 3313: [[http://trac.sagemath.org/sage_trac/ticket/3313|Old ticket for lifting of SL_m(Z/nZ) to SL_m(Z)]] * Trac 7424: [[http://trac.sagemath.org/sage_trac/ticket/7424|Inconsistency of SL and PSL]] * Trac 9076: [[http://trac.sagemath.org/sage_trac/ticket/9076|plot arc of circle]] Created tickets: * Trac 9437: [[http://trac.sagemath.org/sage_trac/ticket/9437|detected bug for special linear group over finite rings]] * Trac 9439: [[http://trac.sagemath.org/sage_trac/ticket/9439|hyperbolic geometry]] Todo: * create a class for fundamental domains and make pairings appear on the boundary * work on general subgroup of the modular group |
Line 62: | Line 100: |
* Some code: {{{ sage: a = sqrt(2)+sqrt(3)+sqrt(5)+sqrt(7)+sqrt(11) sage: f = algebraic_dependency(a.numerical_approx(10000),32) sage: b = a.numerical_approx(100000) sage: time f(b) }}} * Code by Jeroen Demeyer to compute Swinnterton-Dyer polynomials very quickly using p-adics: {{{ # Lift a padic `x` to ZZ, but centered around zero: def centerlift(x): modulus = x.parent().prime_pow(x.precision_absolute()) z = ZZ(x); if (2*z > modulus): z -= modulus return z # L = list of numbers you want to take the square root of # bound = bound on the absolute value of the coefficients of # the resulting polynomial def swinnerton_dyer(L, bound): for p in Primes(): if all([gcd(p,s) == 1 and is_square(Mod(s,p)) for s in L]): break prec = ceil(log(bound)/log(p)) print "Using p =", p print "Precision:", p, "^", prec K = Qp(p, prec, print_mode="terse", print_pos=False) sqrts = [sqrt(K(s),extend=False) for s in L] n = len(L) padic_roots = [] for k in range(0, 2^n): binary = ZZ(k).digits(base=2,padto=n) root = sum([sqrts[i]*(binary[i]*2-1) for i in range(0,n)]) padic_roots.append(root) t = polygen(K) pol_padic = prod([t - r for r in padic_roots]) coeffs_ZZ = [centerlift(c) for c in pol_padic.list()] max_coeff = max([abs(c) for c in coeffs_ZZ]) print "Largest coefficient:", p, "^", ceil(log(max_coeff)/log(p)) return PolynomialRing(ZZ, names='t')(coeffs_ZZ) # Example: time swinnerton_dyer([2,3,5,7,11,13,17,19,23,29], 2^4000) # bound is heuristic }}} |
|
Line 72: | Line 159: |
* unify for matrices over GF(p) * C++ wizardry, etc |
* Polish linbox-sage interface (in LinBox), and release 1.1.7rc1 * Update Sage interface * Rewrite of sage-matrix-modn-dense: continued the work initiated at SD16 with Burcin * Mod 2 reduction bug (fixed!): [[http://trac.sagemath.org/sage_trac/ticket/6904|trac 9604]]. |
Line 83: | Line 171: |
== code used to get new ECM speed records == |
=== Specific Projects === * Greatly improve [[http://nb.sagemath.org/|the Sage Notebook website]] * Improved information on the site: * how to setup a server * standalone server * with sage * how to develop the sage notebook: give a complete example of how to change something * Make site much prettier -- I think it is ugly. * Database * Users and basic configuration -- get the startup time of sagenb.org down from 20 minutes to 1 second by replacing users.pickle by a sqlite database, and rewriting the notebook server to use this database instead of making a list of *all* users (and other data about them) in memory. * worksheets -- see [[http://trac.sagemath.org/sage_trac/ticket/8757|trac 8757]]; This might also totally deal with the above "users and basic configuration" info. * Worksheet labels * linking between worksheets: [[http://trac.sagemath.org/sage_trac/ticket/5042|trac 5042]] is relevant * support library worksheets, so you can type, e.g., {{{load "library.sws"}}} == General framework for the factor(n) command == |
Line 88: | Line 193: |
* People: Hendrik Lenstra, Dan Bernstein, Tanja Lange, Christiane Peters, Peng Tian, Julio Brau, Mak Trifkovic |
* special support for $p^n \pm 1$. * add functionality to factor() and to class Factorization * implement addprimes() in the PARI interface (already works for GP interface) * People: Hendrik Lenstra, Dan Bernstein, Jeroen Demeyer, Tanja Lange, Christiane Peters, Peng Tian, Julio Brau, Mak Trifkovic * [[http://ttic.uchicago.edu/~kalai/papers/old_papers/factorcryptology.pdf|Kalai's paper]] * Something actually done: Trac #9450 -- factoring elements of number fields |
Line 94: | Line 204: |
* mwrank... * People: Marco Streng, Mak Trifkovic, Peter Bruin |
* People: Marco Streng, Mak Trifkovic, Peter Bruin, John Cremona * Write a Conic class using Denis Simon's pari code, possibly mwrank, finding points over number fields, other fields? * http://wiki.sagemath.org/days23/conics |
Line 101: | Line 213: |
* People: Japp Spies, Dung Duong | * People: Japp Spies, Dung Duong, Peter Bruin, Michiel Kosters |
Line 105: | Line 217: |
* People: Lloyd Kilford |
* People: Lloyd Kilford, William Stein * Code: http://sage.math.washington.edu/home/ljpk/atkin_lehner_decomposition_dimensions.sage * [[http://trac.sagemath.org/sage_trac/ticket/9455|trac ticket number 9455]] |
Contents
- Descent on Cyclic Covers of the Projective Line
- Finite Fields
- sage-4.5
- ABC at home
- Models for elliptic curves
- Function Fields
- Hyperbolic geometry
- Ticket #4000 on rational polynomials... QQ[x] via FLINT
- Sage on GPU's
- ZZ[x] factoring in FLINT, plus LLL
- MPIR projects
- Ticket #4260 - Sage + Linbox
- Sage Notebook in the classroom
- General framework for the factor(n) command
- Solving Conics
- Sums of Squares
- Porting ECHIDNA code from MAGMA
Descent on Cyclic Covers of the Projective Line
- Port 200 lines of Magma code to Sage.
- People: Michael Mourao, Maite Aranes
Finite Fields
Deal with David Roe's latest patch bomb.
- People: John Cremona
- Tickets: #7883, #8333, #8334, #8335
sage-4.5
- Robert Miller
ABC at home
- review code
- model runtime
- People: Bart de Smit, Willem Jan Palenstijn, Jeroen Demeyer, Mak Trifkovic, Thijs van Dijk, Alyssa Milburn, Dan Bernstein, Sebastian Pancratz
Models for elliptic curves
genus 1 --> Weierstrass
- People: Dan Bernstein, Tanja Lange, Niels Duif, Johannes van der Horst, Michiel Kosters, Marco Streng, Vince Bush, Julio Brau, Michael Mourao, John Cremona
Tom Fisher's Magma code for invariants and covariants of plane cubics covariants.m, and for minimization and reduction of genus one models g1minimisation-2008.m g1reduction-2008.m minred-demo1.m minred-demo2.m
Ian Connell's lecture notes contain all the formulas needed to convert plane cubics and hyperelliptic quartics: see http://www.math.mcgill.ca/connell/public/ECH1/ (first several pages of Chapter 1 (c1.ps)).
Function Fields
The main goal of this project is to get the basic infrastructure for function fields into Sage. If time permits, we will also implement Hess's algorithms. See Hess's papers and talks.
People: William Stein, Maarten Derickx, Peter Bruin, Jan Tuitman, Max Flander, Tanja Lange, Michiel Kosters, Christiane Peters, Marco Streng
Trac 9054: Create a class for basic function_field arithmetic for Sage
Trac 9069: Weak Popov Form (reduction algorithm)
Trac 9094: is_square and sqrt for polynomials and fraction fields
Trac 9095: Heights of points on elliptic curves over function fields
Make sure to see this page for more links.
Hyperbolic geometry
- plotting (arc of circle, filling domain bounded with arc of circles, ...)
- actions (using the coercion model to act on Hyperbolic Plane element by matrices)
- fundamental domains (port H. Verrill program and implement R. Kulkarni method)
- People: Vincent Delecroix, Maite Aranes, Thijs van Dijk
Related tickets
Trac 7424: Inconsistency of SL and PSL
Trac 9076: plot arc of circle
Created tickets:
Trac 9437: detected bug for special linear group over finite rings
Trac 9439: hyperbolic geometry
Todo:
- create a class for fundamental domains and make pairings appear on the boundary
- work on general subgroup of the modular group
Ticket #4000 on rational polynomials... QQ[x] via FLINT
- People: Sebastian Pancratz, Bill Hart, Jan Tuitman
Sage on GPU's
- People: Dan Bernstein, Thijs van Dijk, Andy Novocin
ZZ[x] factoring in FLINT, plus LLL
- People: Andy Novocin, Wieb Bosma, Johannes van der Horst, Bill Hart, Max Flander
- Some code:
sage: a = sqrt(2)+sqrt(3)+sqrt(5)+sqrt(7)+sqrt(11) sage: f = algebraic_dependency(a.numerical_approx(10000),32) sage: b = a.numerical_approx(100000) sage: time f(b)
- Code by Jeroen Demeyer to compute Swinnterton-Dyer polynomials very quickly using p-adics:
# Lift a padic `x` to ZZ, but centered around zero: def centerlift(x): modulus = x.parent().prime_pow(x.precision_absolute()) z = ZZ(x); if (2*z > modulus): z -= modulus return z # L = list of numbers you want to take the square root of # bound = bound on the absolute value of the coefficients of # the resulting polynomial def swinnerton_dyer(L, bound): for p in Primes(): if all([gcd(p,s) == 1 and is_square(Mod(s,p)) for s in L]): break prec = ceil(log(bound)/log(p)) print "Using p =", p print "Precision:", p, "^", prec K = Qp(p, prec, print_mode="terse", print_pos=False) sqrts = [sqrt(K(s),extend=False) for s in L] n = len(L) padic_roots = [] for k in range(0, 2^n): binary = ZZ(k).digits(base=2,padto=n) root = sum([sqrts[i]*(binary[i]*2-1) for i in range(0,n)]) padic_roots.append(root) t = polygen(K) pol_padic = prod([t - r for r in padic_roots]) coeffs_ZZ = [centerlift(c) for c in pol_padic.list()] max_coeff = max([abs(c) for c in coeffs_ZZ]) print "Largest coefficient:", p, "^", ceil(log(max_coeff)/log(p)) return PolynomialRing(ZZ, names='t')(coeffs_ZZ) # Example: time swinnerton_dyer([2,3,5,7,11,13,17,19,23,29], 2^4000) # bound is heuristic
MPIR projects
- fmpz in Sage
- a very concrete C project
- People: Frederik Johansson, Bill Hart
Ticket #4260 - Sage + Linbox
Polish linbox-sage interface (in LinBox), and release 1.1.7rc1
- Update Sage interface
- Rewrite of sage-matrix-modn-dense: continued the work initiated at SD16 with Burcin
Mod 2 reduction bug (fixed!): trac 9604.
- People: Andy Novocin, Clement Pernet, (Burcin Erocal, remotely)
Sage Notebook in the classroom
- People: Bart de Smit, William Stein, Eric van der Velden, Willem Jan Palenstijn, Alyssa Milburn
Specific Projects
Greatly improve the Sage Notebook website
- Improved information on the site:
- how to setup a server
- standalone server
- with sage
- how to develop the sage notebook: give a complete example of how to change something
- how to setup a server
- Make site much prettier -- I think it is ugly.
- Improved information on the site:
- Database
- Users and basic configuration -- get the startup time of sagenb.org down from 20 minutes to 1 second by replacing users.pickle by a sqlite database, and rewriting the notebook server to use this database instead of making a list of *all* users (and other data about them) in memory.
worksheets -- see trac 8757; This might also totally deal with the above "users and basic configuration" info.
- Worksheet labels
linking between worksheets: trac 5042 is relevant
support library worksheets, so you can type, e.g., load "library.sws"
General framework for the factor(n) command
- mpfq is LGPL!
special support for p^n \pm 1.
- add functionality to factor() and to class Factorization
- implement addprimes() in the PARI interface (already works for GP interface)
- People: Hendrik Lenstra, Dan Bernstein, Jeroen Demeyer, Tanja Lange, Christiane Peters, Peng Tian, Julio Brau, Mak Trifkovic
- Something actually done: Trac #9450 -- factoring elements of number fields
Solving Conics
- People: Marco Streng, Mak Trifkovic, Peter Bruin, John Cremona
- Write a Conic class using Denis Simon's pari code, possibly mwrank, finding points over number fields, other fields?
Sums of Squares
- People: Japp Spies, Dung Duong, Peter Bruin, Michiel Kosters
Porting ECHIDNA code from MAGMA
- People: Lloyd Kilford, William Stein
Code: http://sage.math.washington.edu/home/ljpk/atkin_lehner_decomposition_dimensions.sage