TRIP is a general computer algebra system dedicated to celestial mechanics. It includes a numerical kernel and has interfaces to gnuplot and xmgrace. Computations can be performed with double, quadruple, or multi-precision. Users can dynamically load external libraries written in C, C++, or Fortran. Parallel computations on multivariate polynomials can be performed.
Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. The API is deliberately similar to Matlab's. Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS numerics libraries. A delayed evaluation approach, based on template meta-programming, is used (during compile time) to combine several operations into one and reduce or eliminate the need for temporaries.
SHTns is a high-performance Spherical Harmonic Transform library. It was designed for numerical simulation (fluid flows, mhd, etc.) in spherical geometries, but can be used for any kind of problem involving scalar or vector spherical harmonics. It is very fast, thanks to careful vectorization and runtime tuning. It supports multi-threaded transforms via OpenMP. It features scalar and vector transforms, synthesis and analysis, and flexible truncation and normalization. A Python interface is included.
SHOGUN is a machine learning toolbox whose focus is on large scale kernel methods and especially on Support Vector Machines (SVM). It provides a generic SVM object interfacing to several different SVM implementations, all making use of the same underlying, efficient kernel implementations. Apart from SVMs and regression, SHOGUN also features a number of linear methods like Linear Discriminant Analysis (LDA), Linear Programming Machine (LPM), (Kernel) Perceptrons, and algorithms to train hidden Markov models. SHOGUN can be used from within C++, Matlab, R, Octave, and Python.
The Graphical Models Toolkit (GMTK) is a toolkit for rapidly prototyping statistical models using dynamic graphical models (DGMs) and dynamic Bayesian networks (DBNs). It can be used for speech and language processing, bioinformatics, activity recognition, and any time series application. It features exact and approximate inference, many built-in factors including dense, sparse, and deterministic conditional probability tables, native support for ARPA backoff-based factors and factored language models, parameter sharing, gamma and beta distributions, dense and sparse Gaussian factors, heterogeneous mixtures, deep neural network factors, and time-inhomogeneous trellis factors, arbitrary order embedded Markov chains, a GUI graph viewer, and much more.
FEniCS is a collection of free software for automated, efficient solution of differential equations. It has an extensive list of features, including automated solution of variational problems, automated error control and adaptivity, a comprehensive library of finite elements, high performance linear algebra, and many more. It is organized as a collection of interoperable components, including the problem-solving environment DOLFIN, the form compiler FFC, the finite element tabulator FIAT, the just-in-time compiler Instant, the code generation interface UFC, the form language UFL, and a range of additional components.
DOLFIN is the C++ interface of the FEniCS project for the Automation of Computational Mathematical Modeling (ACMM), providing a consistent PSE (Problem Solving Environment) for solving ordinary and partial differential equations. Key features include a simple, consistent and intuitive object-oriented API; automatic and efficient evaluation of variational forms through FFC; automatic and efficient assembly of linear systems; and support for general families of finite elements.
MLPACK is a C++ machine learning library with an emphasis on scalability, speed, and ease-of-use. Its aim is to make machine learning possible for novice users by means of a simple, consistent API, while simultaneously exploiting C++ language features to provide maximum performance and maximum flexibility for expert users. It contains algorithms such as k-means, Gaussian mixture models, hidden Markov models, density estimation trees, kernel PCA, locality-sensitive hashing, sparse coding, linear regression and least-angle regression.
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. Theano features tight integration with numpy, transparent use of a GPU, efficient symbolic differentiation, speed and stability optimizations, dynamic C code generation, and extensive unit-testing and self-verification. Theano has been powering large-scale computationally intensive scientific investigations since 2007. But it is also approachable enough to be used in the classroom (IFT6266 at the University of Montreal).