A Knowledge-Based Linear Algebra Compiler

Outline

This project is concerned with the automatic generation of both algorithms and code for linear algebra-based scientific calculations. The goal is to develop a system that takes a high-level description of a linear algebra problem as input and returns a family of algorithms that efficiently solve this problem, using high performance implementations of common matrix operations as provided by libraries like BLAS and LAPACK. To achieve this goal, the compiler needs an extensive database of linear algebra knowledge and the capability to apply that knowledge to manipulate the mathematical problem, similar to how a human expert derives algorithms.