This is the material presented at an 8-hour mini-course given by Paola Boito and Federico Poloni at the Pisa–Hokkaido–Roma2 summer school held in Pisa, August-September 2018.

- Lecture 1: definitions of matrix functions, vectorization and Kronecker products, Sylvester equations
- Lecture 2: Conditioning of matrix functions, methods to evaluate matrix polynomials, scaling and squaring algorithm for the matrix exponential, Schur-Parlett method to compute a generic function.
- Lecture 3: applications to boundary-value problems in control and queuing theory, Newton for the matrix sign function, invariant subspaces, algebraic Riccati equations
- Lecture 4: introduction to network theory, properties of complex networks, the Arnoldi method, computation of centrality and connectivity indices.