Algorithms with Numbers

About the Course

This course represents an introduction to algorithms with numbers, including linear algebra problems and arbitrary precision arithmetic, that appear virtually everywhere, from cryptography to audio processing. You will learn how to:

— implement the basic number theory algorithms like Euclidean algorithm that are basic building blocks for modern cryptography;

— work with large numbers arising in cryptography and high precision arithmetic;

— solve systems of linear equations that appear in many areas from designing electrical circuits to computer graphics;

— implement Fast Fourier Transform that is inevitable in signal processing.

Each module includes a programming assignment that will improve both your understanding of the topics and your programming skills.


  1. Prime numbers and Euclid’s Algorithm.
  2. Arbitrary Precision Arithmetic and Polynomials.
  3. Systems of Linear Equations.
  4. Matrices and Fast Fourier Transform.
Enroll in a course:
Course's authors:

  • Alexander Kulikov
    Senior research fellow at Steklov Institute of Mathematics at St. Petersburg, Russian Academy of Sciences, founder and board member of Computer Science Center

  • Victor Petrov
    Senior Researcher at Chebyshev Laboratory of SPbU

  • Nikolai Vavilov
    Doctor of Physics and Mathematics, Professor of Mathematics at Chebyshev Laboratory of SPbU

  • Aleksei Tolstsikov
    Master of Physical and Mathematical Sciences, senior lecturer at the Department of Computational Mathematics, Belarusian State University

Данный курс входит в специализацию:

Computational Geometry
©Санкт-Петербургский государственный университет
2021 год