title:
Efficient Algorithms in Computer Algebra
Algorithmes efficaces en calcul formel
manager:
Vincent Neiger
ects:
6*
period:
1-2
hours:
48
weeks:
16
hours-per-week:
3
language:
French by default
lang:
breakable:
Yes
track:
A
themes:
Computer Algebra, Algorithms, Cryptography
number:
2.22
year:
2024, 2025

Objectives

Computer Algebra (also known as Symbolic Computation, or Calcul formel in French) consists in developing computer representations and manipulations of mathematical objects in an exact way, in contrast with traditional scientific computing for example. As a counterpart of such exact algebraic representations, computation times are often large and memory requirements are often huge if one employs naive algorithms. In this course, we introduce basic computer algebra algorithms to work with polynomials, series, and matrices, so as to achieve in many cases quasi-optimal complexity bounds. Such algorithms are largely used in practice in computer algebra systems and also in several other modern algorithmic domains that rely on algebraic techniques, such as cryptography, multivariate cryptanalysis, and error-correcting codes.

This course is particularly well suited to those who wish to rigorously understand the algorithmic foundations of algebraic calculation and their general principles, as a supplement of the courses Codes correcteurs d'erreurs et applications à la cryptographie (Error correcting codes and applications to cryptography CODES), Cryptographie basée sur les réseaux euclidiens (Lattice-based Cryptography and Cryptanalysis LCRYPT), Algorithmes arithmétiques pour la cryptologie (Arithmetic algorithms for cryptology CRYPTALG) and Analyse d'algorithmes (Analysis of algorithms AOFA).

Organization for 2025-2026

This webpage holds the contents of the whole course and will be updated on a weekly basis to integrate various notes and documents, and potentially to reflect evolutions based on what could be presented during lectures.

Time and location

On Wednesdays, 16:15-19:15, room 1004.

Professors
Alin Bostan Inria & Sorbonne Université
Marc Mezzarobba CNRS
Vincent Neiger Sorbonne Université
Mohab Safey El Din Sorbonne Université
Language

Summary: English spoken if requested, otherwise French spoken; all slides in English; book in French.

In line with the MPRI terminology, the course is “in English upon request”, meaning that lectures will be in French, unless one or more non-French-speaking student requests English (in recent years, the course has been often fully taught in English). One main reference book of the course was written in French and will not be translated. In all lectures, whatever the spoken language, slides will be written in English. In all cases, students will be allowed to take their exams in French or English.

Periods and evaluation

The course is breakable, so that students may elect not to attend the second period (thus validating only half of the ECTS). We strongly recommend against attending the second period only, without the first one.

Except for students who will officially choose to quit the course after the first half, the global mark will be an average between the marks for the first and second halves of the course.

Book (pdf version freely available): AECF

Other useful references can be found at the end of this webpage.

Lecture 1. 17/09

Vincent Neiger

Introduction. Extended Euclidean algorithm. Fast polynomial multiplication.

Slides & SageMath code

Lecture 2. 24/09

Alin Bostan

Dense linear algebra: from Gauss to Strassen, and some recent developments.

Slides Exercices

Lecture 3. 01/10

Alin Bostan

Newton iteration for power series, fast polynomial division, fast evaluation and interpolation.

Slides Exercices

Lecture 4. 08/10

Alin Bostan

C-recursive sequences: Nth term and first N terms. Application to power series composition.

Slides Exercices

Lecture 5. 15/10

Vincent Neiger

Computations with polynomial matrices: introduction, motivations, and basic algorithms.

Slides & Exercises

Lecture 6. 22/10

Vincent Neiger

Using polynomial matrices I: approximation and interpolation, structured matrices, and fast GCD.

Slides, SageMath Code, Exercises

NO LECTURE. 29/10

NO LECTURE. 05/11

Lecture 7. 12/11

Marc Mezzarobba

D-finite power series.

Lecture 8. 19/11

Marc Mezzarobba

Special session: Tutorial / Exercises / Exam preparation.

FIRST-PERIOD EXAM ON 26/11 or 03/12

Some rules: The consultation of static data (lecture slides, personal notes, computer algebra books, …) on an electronic device is authorized, provided that these devices are not connected to any network. Consultation of the course and personal notes on paper is authorized.

Lecture 9. 10/12

Marc Mezzarobba

Solutions of linear differential equations.

Lecture 10. 17/12

Marc Mezzarobba

Definite summation and integration.

Lecture 11. 07/01

Mohab Safey El Din

Multivariate polynomials, division and ideal membership problems.

Lecture 12. 14/01

Mohab Safey El Din

Gröbner bases and the Buchberger algorithm.

Lecture 13. 21/01

Mohab Safey El Din

Linearization and the F4 algorithm.

Lecture 14. 28/01

Mohab Safey El Din

Regularity and complexity analysis through generating series.

Lecture 15. 04/02

Vincent Neiger

Using polynomial matrices II: Hermite Normal form and Gröbner basis change of order.

Lecture 16. 11/02

Alin Bostan

Opening: applications of computer algebra.

FIRST ORAL EXAM GROUP. 18/02

SECOND ORAL EXAM GROUP. 25/02

SECOND-PERIOD EXAM: SPECIAL DATES, SEE ABOVE

In recent years, the second-period exam consisted in a presentation of a research article, followed by some questions by the course teachers. The research article was chosen by the student a few weeks before, from a list provided by the teachers.

Bibliography

General works:

The book emanating from this course over the past years: