Willow Project
Sierra Project
Lear Project

SPArse Modeling Software
now open-source!


What is SPAMS?

SPAMS (SPArse Modeling Software) is an optimization toolbox for solving various sparse estimation problems.
  • Dictionary learning and matrix factorization (NMF, sparse PCA, ...)
  • Solving sparse decomposition problems with LARS, coordinate descent, OMP, SOMP, proximal methods
  • Solving structured sparse decomposition problems (l1/l2, l1/linf, sparse group lasso, tree-structured regularization, structured sparsity with overlapping groups,...).
It is developped by Julien Mairal (INRIA), with the collaboration of Francis Bach (INRIA), Jean Ponce (Ecole Normale Supérieure), Guillermo Sapiro (University of Minnesota), Rodolphe Jenatton (INRIA) and Guillaume Obozinski (INRIA). It is coded in C++ with a Matlab interface. Recently, interfaces for R and Python have been developed by Jean-Paul Chieze (INRIA), and archetypal analysis was written by Yuansi Chen (UC Berkeley).


Version 2.1 and later are open-source under licence GPLv3. For other licenses, please contact the authors.

A monograph about sparse estimation

We encourage the users of SPAMS to read the following monograph, which contains numerous applications of dictionary learning, an introduction to sparse modeling, and many practical advices.

Related publications

You can find here some publications at the origin of this software.
The "matrix factorization" and "sparse decomposition" modules were developed for the following papers: The "proximal" module was developed for the following papers: The feature selection tools for graphs were developed for" The incremental and stochastic proximal gradient algorithm correspond to the following papers


25/05/2014: SPAMS v2.5 is released.
12/05/2013: SPAMS v2.4 is released.
05/23/2012: SPAMS v2.3 is released.
03/24/2012: SPAMS v2.2 is released with a Python and R interface, and new compilation scripts for a better Windows/Mac OS compatibility.
06/30/2011: SPAMS v2.1 goes open-source!
11/04/2010: SPAMS v2.0 is out for Linux and Mac OS!
02/23/2010: Windows 32 bits version available! Elastic-Net is implemented.
10/26/2009: Mac OS, 64 bits version available!

Last modification: 2015-03-19 12:21:28.248317358 +0100