Contributor
Dattatreya Mohapatra

Add statistics and machine learning functions to Boost.uBLAS


Mentors
David Bellot, Mohd Sharique
Organization
Boost C++ Libraries

Boost.uBLAS employs numerous compile-time optimizations which improve the performance of matrix operations. However, there is no implementation of any application on matrices which can exploit this performance - like mean, variance, factorization etc. Providing some such fundamental functionalities for vectors and matrices in a single package would be a great addition to the uBLAS library. The goal of this project is to lay out the foundation of uBLAS to support basic statistical analysis methods and machine learning algorithms. More specifically, I am interested in implementing the following fundamental components:

  • Basic statistics
  • Running statistics
  • Histograms - with custom number of bins and edges
  • KMeans clustering
  • Principal Component Analysis (PCA)
  • Gaussian Mixture Model - Expectation Maximization