Design and Modelling of Critical Software Systems

Entry requirements: Basic knowledge of software systems, statistics, modelling and programming skills

Credits: 6

Course: Core

Language of the course: Russian


To introduce students to critical systems (modelling, synthesis and analysis) and encourage their direct participation in reseach. Students will be able to select a research topic for their mini-projects in the area, analyzing real data and modelling social networks, biological systems, transport networks, etc.


  • Matrix and solutions of systems of linear equations: 1. Efficient matrix operations. Parallel matrix-vector multiplication. Strassen algorithm, Fox's algorithm for matrix multiplication. 2. Conjugate gradient scheme and Krylov's solutions of systems of linear equations. 3. Optimality of conjugate gradient scheme. Matrix-preconditioner. Biconjugate gradient method. 4. Construction of preconditioner based on ILU decomposition. 5. Sparce matrices, storage and basic matrix operations.
  • Non-linear problems: 1. Solution methods of first-order non-linear problems. Non-linear method of conjugate gradients. 2. Solution methods of second-order non-linear problems. Newton's method and Newton–Raphson method. Convergence of Newton's method. 3. Quasi-Newton method. Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm. 4. Linear programming method.
  • Linear functional operators: 1. Fast Fourier transform, numerical implementation. Spectral methods for solving partial differential equations. 2. Radon transform, Laplace transform. Numerical implementation. 3. Parallel realization of Fourier and Laplace transforms. 4. Method of finite volume solution of partial differential equations. Meshless solutions of partial differential equations. 5. Spatial decomposition method in parallel solutions of partial differential equations.
  • Numerical solutions of partial differential equations and OpenFOAM application package.


Lectures and labs


Attendance is mandatory. Students should complete all the assignments. The final grade is based on the student performance throughout the course.