Baptiste Wicht edited this page Sep 2, 2016 · 2 revisions

ETL (Expressions Template Library) is a header-only library for C++ providing vector and matrix classes with support for Expression Templates to perform very efficient operations on them.

The library supports numerous features:

  • Matrix and vector (runtime-sized and compile-time-sized)
  • Simple element-wise operations
  • Reductions (sum, mean, max, ...)
  • Unary operations (sigmoid, log, exp, abs, ...)
  • Matrix multiplication
  • Convolution (1D and 2D and higher variations)
  • Max Pooling
  • Fast Fourrier Transform
  • Symmetric matrix adapter (experimental)
  • Sparse matrix (experimental)

If you are new to this project, I recommend reading Getting Started.