I am an FNRS research fellow (aspirant FNRS) at the Unversité catholique de Louvain, in the department of mathematical engineering (part of the ICTEAM) until Sept. 2014. There, I obtained my Ph.D. on February 14, 2014 with the advisory of Pierre-Antoine Absil and Vincent Blondel.

I look into the theory and applications of optimization methods on manifolds (for which I develop a toolbox called Manopt) to solve computational problems. A reference in this field is the book Optimization Algorithms on Matrix Manifolds. My initial research in that area was about the design and analysis of numerical algorithms for curve fitting on manifolds, which I started during my master thesis. More recently, I have been working on low-rank matrix completion and synchronization of rotations, which are at the center of my doctoral thesis. Over the last three years, I visited PACM (the program in applied and computational mathematics at Princeton University) a number of times, to collaborate with Amit Singer and his group on synchronization problems.

I hold a master's degree in mathematical engineering from the Ecole polytechnique de Louvain (ingénieur civil en mathématiques appliquées) (2008-2010). During my master's, I completed a one month internship in video processing under the supervision of Benoît Macq at UCLouvain's TELE lab. (2008) and a three months internship in mathematical seismology with Laurent Demanet in the mathematics departments at Stanford then MIT (2009).

Here is a CV.

Manopt: a Matlab toolbox for optimization on Manifolds

Manopt, available at manopt.org, is a user-friendly, open source and documented Matlab toolbox which can be used to leverage the power of modern Riemannian optimization algorithms with ease. Manopt won the ORBEL Wolsey Award 2014 for best open source operational research implementation.

Tell me more/less

Synchronization: estimating rotations from relative measurements

Synchronization is the problem of estimating elements $g_1, \ldots, g_N$ in a group $G$, given measurements of relative quantities: $h_{ij} \approx g_i^{}g_j^{-1}$. These elements are best visualized on a graph (undirected), where each element $g_i$ is a node and there exists an edge between two nodes $g_i$ and $g_j$ if a measurement $h_{ij}$ is available. I focus on $G = \mathrm{SO}(n)$, the group of rotations:

$$\mathrm{SO}(n) = \{ R \in \mathbb{R}^{n\times n} \colon R^TR = I_n \ \mathrm{ and } \ \operatorname{det}(R) = +1 \}.$$

SynchronizeMLE is the distribution of Matlab codes for this project, available under BSD license. It contains code both to perform the estimation and to compute Cramér-Rao bounds.

Tell me more/less

Riemannian Staircase: solving convex programs with diagonal block constraints

We propose an algorithm to solve convex problems of the form $$\min_X f(X)$$ with $X$ a symmetric matrix of size $n\times n$ such that $$X\succeq 0 \textrm{ and } X_{ii} = I_d \forall i,$$ meaning that the $d\times d$ diagonal blocks of $X$ are identity matrices. The cost function $f$ is assumed smooth and convex.

Here is our Matlab code for what we call the Riemannian staircase method. It is readily usable to solve such problems with $f(X) = \operatorname{Trace}(CX)$ and a Huber-loss smoothed version of $f(X) = \sum_{(i,j)\in E} \|X_{ij} - C_{ij}\|_F$ (notice the absence of square). See also my slides.

Tell me more/less

Low-rank matrix completion

Let $M \in \mathbb{R}^{m\times n}$ be a matrix with low rank $r \ll \min(m, n)$. Low-rank matrix completion is the task of estimating (or recovering) $M$ from measurements $\hat M_{ij} \approx M_{ij}$ of a few entries $(i, j) \in \Omega$.

At NIPS 2011, we proposed RTRMC, a Riemannian trust-region method for low-rank matrix completion:


Tell me more/less

Curve fitting on manifolds: interpolation and regression

In this project, which was the topic of my master's thesis, we are given time-labeled points on a Riemannian manifold $\mathcal{M}$ (for example, on a sphere, on the group of rotations, on the set of positive-definite matrices, etc.): $p_1, \ldots, p_n$, associated to timestamps $t_1 \leq \ldots \leq t_n$. The goal is to propose a curve (a model) on the manifold, $\gamma \colon [t_1, t_n] \to \mathcal{M}$, such that the curve fits the data (exactly for interpolation, reasonably for regression): $\gamma(t_i) \approx p_i$ and such that $\gamma$ is smooth in some suitable sense. Interpolation and regression are fundamental operations in signals processing. They serve the goals of denoising and resampling acquired data. These tasks are well understood when the data belongs to a Euclidean space such as $\mathbb{R}^n$, but much less so when the data belongs to a nonlinear manifold.

Tell me more/less





Journal papers


Conference papers





Nicolas Boumal
Av. George Lemaitre 4-6, bte L4.05.01
1348 Louvain-la-Neuve, Belgium

Phone: +32 10 47 80 10
Office: Euler a-124 (level -1)
E-mail: nicolas.boumal@uclouvain.be

Random stuff

My officemate is Romain Hollanders.

Romain, Karim and I won 2nd place in the SIAM Math Matters: Apply It! 2011 contest, with our poster introducing the large public to the importance of math in monitoring fetal ECG's.

My Erdös number is 3, courtesy of my co-author and advisor Vincent Blondel.

Research will get you places! It got me in: Palo Alto, Boston, Princeton, London, Prague, Cannes, Lisbon, Milan, Dagstuhl, Granada, Sierra Nevada, Valencia, Berlin, Les Houches, Costa da Caparica, Paris, Florence... and various places in Belgium (Louvain-la-Neuve, Leuven, Liège, La Roche, Mons, Knokke, Daverdisse...).


  • Mathématiques 1 (FSAB1101), TA, autumn 2008, autumn 2009
  • Projet 1 (FSAB1501), TA, autumn 2010
  • Théorie des Matrices (INMA2380), TA, spring 2011, autumn 2013
  • Signaux et Systèmes (LFSAB1106), TA, autumn 2011
  • Analyse numérique : approximation, interpolation, intégration (LINMA2171), TA, autumn 2011 and 2012
  • Mathématiques 2 (LFSAB1102), TA, spring 2012
  • Modélisation et analyse des systèmes dynamiques (LINMA2370), TA, autumn 2012
  • Projet en ingénierie mathématique (LINMA2360), TA, spring 2012 and 2013
  • Projet en mathématiques appliquées (LINMA1375), TA, spring 2013
  • Systèmes dynamiques non linéaires (LINMA2361), TA, autumn 2013