nl en

Algorithms in Algebra (BM)


Admission requirements

Linear algebra, (abelian) groups, rings, fields, comparable to the courses Lineaire Algebra 1 and 2 and Algebra 1 and 2 of the Leiden Bachelor Wiskunde. See the lecture notes at


Polynomial rings over fields have unique factorisation, but how do you compute this factorisation efficiently? How can you do computations with abelian groups in practice? How do we find short vectors in a lattice (discrete subgroup of Rn)? How to find the minimal polynomial of an algebraic number from just a numerical approximation? How to find the set of zeroes of a system of polynomial equations?

These are natural questions after undergraduate algebra, and their answers become even more important when studying algebraic number theory, algebraic geometry, or cryptography.

This is an introductory course on computer algebra, aimed at third year BSc students and first year MSc students.

Topics include:

  • Complexity (fast vs slow for computers)

  • Hermite and Smith normal form of matrices

  • The LLL algorithm and applications

  • Polynomial factoring over finite fields

  • Gröbner bases

Course Objectives

Students understand the workings of the algorithms treated in the course and are able to apply them. Students are better prepared for the intricacies of algorithms in algebra, including algebraic number theory, algebraic geometry, and post-quantum and public-key cryptography.


The schedule for the course can be found on MyTimeTable.

You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different

Mode of instruction

Lecture, problem class, self-study, computer class, about two homework assignments that count for a grade.

Assessment method

The final grade consists of practical assignments (20%) and a written (retake) exam (80%). To pass the course, the (unrounded) grade for the final exam should be at least 5 and the (unrounded) weighted average of the two partial grades at least 5.5. No minimum grade is required for the homework in order to take the exam or to pass the course. The homework counts as a practical and there is no retake for it.

Reading list

Joachim von zur Gathen and Jürgen Gerhard, Modern Computer Algebra (Third Edition, 2013).
The book is available as a download through the library: here

Having a physical copy of the book is highly recommended. This seems to cost between EUR 100 and 180 at various bookstores or the publisher link above.

We may occasionally use other sources that are freely available electronically from the library.


From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.
Extensive FAQ's on MyStudymap can be found here.


See the lecturer information column in the e-prospectus or the contact information on the Brightspace page.