-  3.39.17
FAµST's Documentation

What is the FAµST Toolbox ?

The FAµST toolbox provides algorithms and data structures to decompose a given dense matrix into a product of sparse matrices in order to reduce its computational complexity (both for storage and manipulation).

FaµST can be used to:

  • speed up / reduce the memory footprint of iterative algorithms commonly used for solving high dimensional linear inverse problems,
  • learn dictionaries with an intrinsically efficient implementation,
  • compute (approximate) fast Fourier transforms on graphs.

The FAµST toolbox is organized in several parts:

  • The FAµST core library, a C++ backend implementing FAµST-related data structures and algorithms,
  • matfaust, a Matlab frontend / API to use the FAµST library,
  • pyfaust, a Python frontend / API to use the FAµST library. A sphinx API doc is also available for pyfaust.

This documentation details the API of those frontends (a.k.a. wrappers) and shows out some basic examples of code.

Getting started with FAµST

Please refer to this README for a quick guide on how to install and use FAµST wrappers.

You might also be interested in this introduction to pyfaust through Jupyter Notebook:

Download all the notebooks (.ipynb) here.

Besides, if you're more familiar with Matlab, some livescripts are also available to introduce matfaust.

Download all the livescripts (.mlx) here.

Learning more about the FAµST Framework

A general introduction to the FAµST framework is available in the following paper:

[1] Le Magoarou L. and Gribonval R., “Flexible multi-layer sparse approximations of matrices and applications”, Journal of Selected Topics in Signal Processing, 2016.

The following papers can come as complement:

[2] Le Magoarou L. and Gribonval R., Gramfort A., “FAµST: speeding up linear transforms for tractable inverse problems“, European Signal Processing Conference (EUSIPCO), Aug 2015, Nice, France.

[3] Le Magoarou L., Gribonval R., Tremblay N., “Approximate fast graph Fourier transforms via multi-layer sparse approximation“,Transactions on Signal and Information Processing over Networks

The FAµST toolbox was initially released as a Matlab implementation (versions 1.x).
Since version 2.0, it has been implemented in C++. Besides, the development of wrappers has made this C++ core accessible from Matlab and Python programming languages.


FAµST has been developed in several Inria teams: PANAMA, DANTE and OCKHAM.
For further information on the FAµST Project, please visit the website faust.inria.fr.

Researchers: Luc Le Magoarou, Rémi Gribonval, Le Quoc Tung, Amélie Barbe, Léon Zheng, Elisa Riccietti, Mathurin Massias
Software engineers: Adrien Leman (2016), Nicolas Bellot(2015-2016), Thomas Gautrais (2015), Hakim Hadj-Djilani (2018-), Pascal Carrivain (2023-).

(Documentation) Rémi Gribonval, Hakim Hadj-Djilani, Pascal Carrivain
(of doc generation) 2023-10-27 - 14:50