Kimon Fountoulakis

Kimon Fountoulakis

Assistant Professor

Computer Science University of Waterloo

I am an assistant professor in the School of Computer Science at the University of Waterloo. Prior to this I was a postdoctoral fellow at the University of California Berkeley in the Department of Statistics and a Principal Investigator at the International Computer Science Institute, where I worked with Michael Mahoney. I completed a PhD in optimization in the School of Mathematics at the University of Edinburgh under the supervision of Prof. Jacek Gondzio.


  • Optimization
  • Graph Analytics
  • Machine Learning
  • Scientific Computing


  • PhD in Numerical Optimization, 2015

    University of Edinburgh

  • MSc in Operational Research and Computational Optimization, 2010

    University of Edinburgh

  • BSc in Management Science and Technology, 2008

Recent Publications

Quickly discover relevant content by filtering publications.

Targeted Pandemic Containment Through Identifying Local Contact Network Bottlenecks

Decision-making about pandemic mitigation often relies upon mathematical modelling. Models of contact networks are increasingly used …

p-Norm Flow Diffusion for Local Graph Clustering

Local graph clustering and the closely related seed set expansion problem are primitives on graphs that are central to a wide range of …

Flow-based Algorithms for Improving Clusters: A Unifying Framework, Software, and Performance

Clustering points in a vector space or nodes in a graph is a ubiquitous primitive in statistical data analysis, and it is commonly used …

Statistical Guarantees for Local Graph Clustering

Local graph clustering methods aim to find small clusters in very large graphs. These methods take as input a graph and a seed node, …

Parallel and Communication Avoiding Least Angle Regression

We are interested in parallelizing the Least Angle Regression (LARS) algorithm for fitting linear regression models to high-dimensional …


  • p-Norm Flow Diffusion This repository contains the code to solve primal and dual p-Norm Flow Diffusion problems from the paper p-Norm Flow Diffusion for Local Graph clustering.

  • Local Graph Clustering provides methods to find local clusters in a given graph without touching the whole graph. C++ implementation with Python interface.

  • Trillion. Instance generators for l1-regularized over- and underdetermined least squares. The generators are implemented in MATLAB, they are memoryless and computationally inexpensive. Hence, large-scale instances can be created.

  • pdNCG: primal-dual Newton Conjugate Gradients. A MATLAB implementation for the solution of unconstrained l1-regularized problems. For example, Machine Learning problems, such as l1-regularized least-squares and logistic regression, Compressed Sensing problems, such as l1-synthesis, l1-analysis and isotropic total-variation. The solver is memoryless, it requires only matrix-vector product operations, hence it is appropriate for large-scale instances.

  • MFIPMCS: Matrix-free Interior Point Method for Compressed Sensing. An interior point method implemented in MATLAB for the solution of real valued compressed sensing problems. The “matrix-free” implies that only matrix-vector products operations are allowed and the process is memoryless. The solver implements efficient preconditioning techniques for the fast solution of linear systems at every iteration.

  • FCD: Flexible Coordinate Descent. This software only reproduces the experiments in paper Flexible Coordinate Descent.


I am always looking for highly motivated and hard-working Master’s and PhD students to work with. Send me an email if you would like to work with me.

  • Chris Bobotsis, MS, Fall 2020 - now
  • Aseem Baranwal ( website, twitter) PhD, Fall 2020 - now
  • Shenghao Yang, PhD, Spring 2020 - now
  • Mahdi Ramezani, PhD, Winter 2020 - now
  • Priyabrata Senapati, PhD, Winter 2020 - now
  • Edward Poon, MS, Fall 2019 - now
  • Chufeng Hu, MS, Winter 2019 - Winter 2020 (now at Amazon)


Course: CS 370 Spring 2020 - Numerical Computation

Course: CS 794 Fall 2019 - Optimization for Data Science

Course: CS 370 Winter 2019 - Numerical Computation


Numerical Optimization, Formulations and Algorithms, for Machine Learning

NSERC-Discovery Grant. Project duration 2019-2025.

Robust, Efficient, And Localizable Machine Learning Primitives

Data-Driven Discovery of Models (D3M) DARPA Grant. Project duration 2016-2020. In collaboration with M. Mahoney, Farbod Roosta-Khorasani and Alex Gittens.