# Algorithmic Algebra

### Content

The goal of computer algebra is to find algorithms for the effective solution of algebraic problems. In contrast to numerics one always tries to find exact solutions to a given problem. Modern computer algebra is an area of research on the cusp of many new developments. It plays an important and ever-growing role both in pure mathematics (algebraic geometry, number theory) and in applied mathematics (cryptography, coding theory, robotics).

This course is an introduction to computer algebra, with an emphasis on applications in algebra and number theory. We will treat the following themes:

- Solving algebraic systems of equations through the use of Gröbner bases
- Lattice reduction and shortest vectors
- Factorizing integers and polynomials

During the exercise sessions, we will use the computer algebra system SageMath.

### Prerequisites

Besides the fundamental first-year lectures Elemente der Algebra is a prerequisite. The relevant competencies are group theory and elementary ring theory (polynomial rings, principal ideal domains, and greatest common divisors).

### Learning goals

The course will develop the following skills:

- Knowledge of the most important methods and notions from computer algebra (Groebner bases, lattice, factoring)
- Understanding the mathematical theory (Buchberger's Algorithm, LLL, quadratic sieve) underlying these methods
- Understanding the applications of these methods, both theoretical (in algebraic geometry and number theory) and applied (cryptography and coding theory)
- Analyzing the applicability of the methods that pass muster (which factorization algorithm should be applied in which circumstances?) as well as their running times (which calculations with Gröbner basis are within practical range?).

## Intended audience

All students of mathematics in the bachelor or in Lehramt can take this course. It can serve as the start of a specialization in Algebra and Number Theory, but also as preparation for a bachelor's thesis or a Staatsexamen.

The course is V2Ü1 and contains 4LP.

- Bachelor mathematische Studiengänge : Wahlpflicht Reine Mathematik
- Master mathematische Studiengänge: keine Anrechnung möglich
- Lehramt Mathematik, alte Studienordnung: Vertiefung Algebra/Zahlentheorie
- Lehramt Mathematik, neue Studienordnung: Wahlmodul

## Exercises

Exercise sheets and points will be managed through Moodle.

## Examination

You can pass this course by successfully taking part in a graded written or oral exam at the end of term. We will decide on the exam method during the first weeks of the course.

To be admitted to the exam, you will need to obtain at least 50% of the points given out in the exercises. There is a second exam that takes place later. Note that you can participate in it without taking part in the first exam.

## Literature

- von zur Gathen, Gerhard: Modern Computer Algebra
- Cohen, Cuypers, Sterk: Some Tapas of Computer Algebra

Lectures notes will be made available as well.

## Methodology

The current situation with COVID-19 has given rise to considerable challenges. As is indicated below, the course will take place online. Though this is different than usual, we are convinced that your participation can be just as useful and successful as it normally would have been, if not more.

The most important thing is that your participation in this course be **active** and **communicative**. Fortunately this remains possible online. We will give you all the tools and instructions that you need for this as the course proceeds, and inversely you can share all year questions and remarks. If you do so in an active fashion, then because of the new format you will have more possibilities than ever before to make your mark on the course and improve it in a direction that helps you most. All changes are therefore equally well opportunities.

Details can be found on the Moodle website of the course. In a nutshell, the most important changes are:

- Instead of showing up and sitting down in a lecture hall, you read the lecture notes yourself. Afterwards, you make a small quiz to test your knowledge. You can then ask questions and furnish further feedback to what you have read. Videos will then be created to answer your most important questions, to discuss the feedback, and to elaborate further examples.
- Exercise classes also take place online. We will enable active collaboration and discussion, so that all can take part in the course in the most engaged way possible.

## Teachers

- Lectures: Jeroen Sijsling
- Exercise classes: Tim Evink

## Timetable

**Lectures - From 04/11/2020**- Wednesdays, 10:00 - 12:00

**Exercise classes - From 05/11/2020**- Thursdays, 10:00 - 12:00

## Important links

The exercise sheets and lectures notes can be found on Moodle. Please also do not forget to register for the lecture there.