• Conrad Sanderson   
  • about
  • publications
  • datasets
  • code
  • Armadillo - C++ library for linear algebra & scientific computing

    • allows fast prototyping and computationally intensive experiments
    • provides high-level syntax and functionality deliberately similar to Matlab
    • bridges the gap between research and development
    • used for machine learning, pattern recognition, signal processing, bioinformatics, statistics, finance, etc
    • 600,000+ downloads as of 2021
    • open source under the Apache 2.0 license
    • used by Facebook, NASA, Boeing, Siemens, Deutsche Bank, MIT, CMU, Stanford, etc
    • more info & downloads: http://arma.sourceforge.net

  • ensmallen - C++ library for non-linear numerical optimisation

    • large set of standard and cutting-edge optimisers
    • includes full-batch gradient descent techniques, small-batch techniques, gradient-free optimisers, constrained optimisation
    • supports optional callbacks to customise the optimisation process
    • applicable to artificial intelligence, machine learning, pattern recognition, computer vision, etc.
    • open source under BSD license
    • more info & downloads: https://ensmallen.org

  • mlpack - extensive C++ machine learning library

    • built on Armadillo and ensmallen
    • implementation of many machine learning algorithms
    • includes bindings for Python, Julia, Go, R
    • open source under BSD license
    • more info & downloads: https://mlpack.org

  • PyArmadillo - linear algebra library for Python

    • streamlined linear algebra library (matrix maths) for the Python language, with emphasis on ease of use
    • provides high-level syntax and functionality deliberately similar to Matlab
    • alternative to NumPy / SciPy
    • relies on Armadillo for the underlying C++ implementation of matrix objects and associated functions
    • open source under the Apache 2.0 license
    • more info & downloads: https://pyarma.sourceforge.io

  • Source code for various computer vision & image processing algorithms:

    • state-of-the-art shadow detection algorithms
    • detection of anomalies (unusual events) in surveillance videos
    • state-of-the-art foreground detection / background subtraction
    • static background estimation from cluttered videos