**Algorithm-architecture matching for sparse linear algebra. **AMSLA is a sparse linear algebra library for many-core and multi-core processors that automatically optimizes the data structures and their parameters based on the processors’ architectures.

AMSLA explores the performance and numerics of sparse linear algebra on many-core and multi-core computer processors. Inside these processors, when sparse linear algebra algorithms are executed, the pattern of accesses to memory is irregular. Because of this, the application’s performance is completely dependent on the problem’s structure.

AMSLA selects the best data structure representing the problem’s sparse matrix and optimizes its parameters, matching them to the processor’s architecture, and achieving high performance.

## Smart building optimization problems

A collection of mathematical optimization problems on smart buildings.

These are mixed-integer linear optimization problems where one wants to minimize the cost of providing power to either a single house or a set of flats. In the first case, the house has a photovoltaic panel and a battery, in the second case the photovoltaic panel is shared among the flats, and each flat has a battery.

The problems’ parameters can be changed to explore complexity and solution time.

## Data visualisation: studying the structure behind the maths

A data visualisation project based on sparse matrices.

Data visualisation tools can help better understand the structure of sparse matrices in terms of the shape of their graph representation. Using these tools, I represented and studied the structure of matrices that arise in the solution of some optimization problems.