A selection of algorithms, implemented during the courses at UNI-LJ and covering different topics:
- Approximation and interpolation: Remes method, orthonormal poly. base, poly. spline interpolation operators.
- Bioinformatics: Learning of Hidden Markov Models (HMMs).
- Computational geometry: Solving the ghosts vs busters problem via the ham-sandwich cut.
- Computer-aided geometric design: Methods focusing on the construction of Bezier curves.
- Linear programming: The simplex method.
- Machine learning: Logistic regression, decision trees, random forests, kernelised ridge regression, support vector regression, and artificial neural networks (multi-layer perceptron).
- Numerical integration and solving of ODEs: Methods for numerical integration and solving ordinary differential equations.
- Numerical solving of PDEs: Finite element method and finite difference methods for solving partial differential equations - specific instances of various (elliptic, parabolic, hyperbolic) problems.
- Randomised and approximation algorithms: Satisfiability (SAT), subset sum and min-cut solving.
- Systems biology: An overview of the problem of model integration.
- Topological data analysis: Vietoris-Rips complex construction.
Certain problems have their own readme
files for better illustration.
Most implementations are coded in python
or matlab
, while a few are in Rust
. The code is commented somewhat inconsistently and is unlikely to be updated, but might be helpful nonetheless (free to use in any capacity).