Jours Sage à l'UQAM

14, 15 et 16 juillet 2009

Mardi le 14 juillet 2009

CRM Thematic Day on Mathematics and Computation

9:00

Meet with Jordi Quer at the Residencia lobby, take the train together to CRM

10:30-11:30

William Stein

'''Sage: Unifying Mathematical Software''', video part 1, video part 2

This will be an overview talk about Sage, which explains the history and motivation for the project, demos some key features of Sage, and discusses where we are going next. It will be accessible to people in all research areas and assumes no prior experience with Sage.

11:30-12:00

Coffee Break

12:00-13:00

Henri Cohen

'''Experimental methods in number theory and analysis''' video part 1, video part 2

In this talk, I would like to give a number of examples of numerical experiments coming from number theory and analysis, mention the tools used to perform them, and show how they sometimes can lead to interesting and deep conjectures.

14:30-15:30

Àngel Jorba

'''Developing tailored software for specific problems''' video part 1, video part 2

We will discuss the advantages and inconveniences of developing software (in a general purpose language like C) for concrete problems. I will also mention the results of a pool done by the Spanish project "i-Math" on the use of computational resources of the mathematical research groups in Spain.

15:30-16:00

Coffee Break

16:00-17:00

Round Table video part 1, video part 2

FME

18:45

Leave from Residencia to UPC

19:00--

Coding Sprint Organization at UPC video introductions

Tuesday, June 23

FME

10:30-11:30

Jordi Guàrdia

'''New ideas for computing integral bases''' video part 1, video part 2

The determination of the ring of integers of a number field is one of the main tasks of computational algebraic number theory. The use of higher Newton polygons provides a new insight into the problem, leading to a fast method to compute integral bases, discriminants and prime ideal factorization in number fields.

11:30-12:00

Coffee Break

12:00-13:00

William Stein

'''How to use Sage to compute with Elliptic Curves''' video part 1 video part 2

I will explain how to use Sage to define elliptic curves over various fields, do arithmetic on them, and compute standard invariants. Then I'll talk about elliptic curves over finite fields, and how to count points and compute the group structure. Next, I'll talk about elliptic curves over number fields and Sage's implementation of Tate's algorithm. Finally, I'll discuss computing the invariants in the BSD conjecture for elliptic curves over QQ.

13:00-14:30

Lunch

14:30-15:30

Clément Pernet & Majid Khonji

'''Computing exactly with unsafe resources: fault tolerant exact linear algebra and cloud computing''' video part 1 video part 2

In several ways, challenges in computational mathematics (including computational number theory, graph theory, cryptanalysis, ...) involve large linear algebra computations over Z or Q. Distributed, peer-to-peer or Cloud computing represents nowadays the best perspectives to access large and cheap computing power, but based on unreliable resources. Fault tolerant techniques are therefore developed in order to increase the confidence in the computations, or even to certify it. In the case of exact computations, the algebraic properties of the problems are well suited for the development of algorithm based fault tolerant protocols. In particular, the Chinese Remaindering Algorithm, offering an embarrassingly easy parallelization, can be adapted to work as an error correcting code and tolerate errors. We will present and demonstrate these algorithms and protocols in the case of a distributed computation of the determinant of a matrix over Z.

15:30-16:30

Martin Albrecht

'''How to get started developing Sage''' video part 1 video part 2

In this talk, we will try to highlight a few interesting and relevant bits and pieces for getting into Sage development. We will give an overview of how Sage is structured and step through the Sage development process. The talk is meant to be fairly interactive with people asking questions etc.

Free evening

Sant Joan festivity

Wednesday, June 24

FME

13:00-14:00

William Stein

'''Modular forms and modular abelian varieties in Sage''' video part 1 video part 2

I will survey the capabilities in Sage for computing dimensions of modular forms spaces, congruence subgroups, modular symbols, modular forms, Brandt modules, overconvergent modular forms, half-integral weight forms, and modular abelian varieties. I will discuss both what is in Sage, and what is missing.

14:30-15:30

Christian Eder

'''Faugere's F5 Algorithm: variants and implementation issues''' video part 1 video part 2

In this talk we shortly recall main properties of Gröbner bases used for their computations. After an introduction on Faugere's F5 Algorithm we examine its points of inefficiency, especially the reduction process, and present the variant F5C improving these. The benefits of this improvement are explained and represented in detail. Moreover some hints implementing F5's data structures are given and the positive effects of F5C on these are shown. In the end we give some insight into the implementation of F5's reduction process in an F4-ish manner, i.e. using symbolic preprocessing.

16:00--

Coding Sprint / Status Report

Thursday, June 25

FME

10:30-11:30

David Loeffler

'''P-adic modular forms in Sage''' video part 1, video part 2

I will give a quick introduction to p-adic modular forms, which are a generalisation of classical modular forms. I will first give a quick introduction to the theory, and then describe a few algorithms that can be used to compute them, and give an example of one of these which has been implemented in Sage since 3.4.1. Finally I will talk a little about some issues in inexact p-adic linear algebra that come up in the process.

11:30-12:00

Coffee Break

12:00-13:00

David Kohel

ECHIDNA: Open source Magma extensions for Sage sws, PDF video part 1 video part 2

I will present the open source GPL repository of Magma code:
Elliptic Curves and Higher Dimensional Analogues
(http://echidna.maths.usyd.edu.au/kohel/alg/),
with associated databases, and its use as an extension to Sage. This repository includes updates to the original packages for quaternion algebras, Brandt modules and generalization of my code for genera of lattices (as a quadratic modules package). As new features, it includes p-adic point counting via canonical lifts for elliptic curves (AGM-X_0(N)), extensions to the Igusa invariants and Mestre's algorithm (to small characteristic) in genus 2, arithmetic of CM fields and CM constructions for curves of genus 2, invariants of genus 3 curves (Dixmier-Ohno and Shioda's hyperelliptic invariants), and numerous other features (e.g. working in generic Picard groups, singular cubic curves and generalized Jacobians of singular hyperelliptics, etc.). The majority of the algorithms are completely new to Magma, and represent algorithms developed over more than a decade (with students and collaborators). The Sage developer community is invited to contribute, document, and improve ECHIDNA, and port features directly to Sage.

13:00-14:30

Lunch

14:30-15:30

Robert Miller

Fast compiled graphs in Sage video part 1 video part 2

There will be a demonstration and advertisement of new developments in graph theory in Sage. In particular, compiled Sage graphs have finally reached the same level of functionality as NetworkX graphs, the slower Python implementation.

16:00--

Coding Sprint Organizer / Status Report

Friday, June 26

FME

10:30-11:30

Rainer Schulze-Pillot

Siegel Theta Series and Modular Forms

Ordinary theta series count (in their Fourier coefficients) the number of ways in which the integral positive definite quadratic form Q(x)=x^t A x in m variables represents an integer n. Siegel theta series count instead the number of ways in which a given positive semidefinite g x g - matrix T can be represented as X^t A X with an integral m x g-Matrix X. In the same way in which ordinary theta series give modular forms on the upper half plane for congruence subgroups of SL_2(Z) the Siegel theta series give modular forms on a g(g+1)/2-dimensional space H_g for the symplectic group Sp_g(Z) and its congruence subgroups. Some computations for these have been done by Scharlau, Schiemann, and myself about 10 years ago; since then nothing much has happened apart from isolated computations of examples - maybe it's time to start another systematic attack on the subject.

11:30-12:00

Coffee Break

12:00-13:00

Emmanuel Thomé

'''Multiplication of binary polynomials'''

Multiplying binary polynomials is an elementary operation which occurs as a basic primitive in several contexts, from computer algebra to coding theory and cryptography. We study here a variety of algorithms for this operation, with the intent of obtaining satisfactory speeds for a wide range of possible degrees. We look into "low level" aspects related to microprocessor-specific optimizations, and higher level algorithms such as of course the Karatsuba and Toom-Cook approaches, but also two different FFT algorithms. Several improvements are presented. We provide comparisons of the timings obtained with those of the NTL library. The software presented can, as of NTL 5.5, be hooked into NTL as an add-on.

13:00-14:30

Lunch

14:30-15:30

Maite Aranes

'''Manin symbols over number fields''' video

I will discuss results about cusps and Manin symbols over a number field K, which should be useful in the computation of spaces of cusp forms for GL(2, K) via modular symbols. I will also present ongoing work on implementations of both of these in Sage.

16:00--

Coding Sprint // Status Report

Saturday, June 26

FME

10:30--

Coding Sprint wrapup video part 1, video part 2 video part 3