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.
TooN is a very efficient numerics library for C++. The main focus of the library is efficient and safe handling of large numbers of small vector matrices and providing as much compile time checking as is possible. The library also works with large vectors and matrices and integrates easily with existing code. In addition to elementary vector and matrix operations, the library also providers linear solvers, matrix decompositions, optimization, and wrappers around LAPACK.
POSNUMCON is a command-line (or console mode) program for converting between positional numeral systems written in C++. It is able to convert between any positional numeral system (e.g. decimal, octal, binary and hexadecimal) with base (radix) between 2-36 (there is the possibility for extension). It offers full support for big length, negative, and floating-point (fractional) numbers, saving calculation results to a text file. It is fully and easily customizable.
GSL shell offers an interactive user interface that gives access to the GSL collection of mathematical functions. It is based on the powerful and elegant scripting language Lua. GSL shell is not just a wrapper over the C API of GSL, but offers a much more simple and expressive way to use GSL. The objective is to give the user the power to easily access GSL functions without having to write a complete C application. It also has a powerful module to produce plots or almost any kind of graphics based on data or functions.
NLopt is a library for nonlinear optimization that allows one to select from a wide variety of optimization algorithms by changing a single parameter. Its features include both local and global optimization, unconstrained, bound-constrained, or nonlinear-inequality constrained problems, and optimization using function values only or using derivatives if they are available. It was initially begun as a wrapper around several existing optimization packages, but it now also includes original implementations of several algorithms for which no free code was available. It provides interfaces callable from C/C++, Fortran, Matlab, GNU Octave, Python, and GNU Guile.
wgms3d is a full-vectorial electromagnetic waveguide mode solver. It computes the modes of dielectric waveguides at a specified wavelength using a second-order finite-difference method. The waveguide cross section may consist of several adjacent regions of constant refractive index (i.e., step-index profiles). Dielectric interfaces do not have to be aligned with the discretization grid; they may be arbitrarily slanted or curved. The entire waveguide may be curved along the propagation direction. Leakage and curvature losses can be computed using Perfectly Matched Layers as absorbing boundaries.
PyParticles is a particle simulation toolbox entirely written in Python. It simulates a particle-by-particle model with the most popular integrations methods, including Euler, Runge Kutta, and Midpoint. It represents the results on an OpenGL or Matplotlib plot, and offers an easy-to-use API.
The mctdhtools project aims to provide a set of routines for easily reading and manipulating the output of the Heidelberg MCTDH code. Its goal is to allow a new user to quickly get started with writing custom analysis programs, and to allow more experienced users to write small, clean, and testable analysis programs, something that seems incompatible with the Fortran-77 code of the Heidelberg MCTDH package.
nan_payload is an Ada package that provides support for using the NaN payload field from IEEE-754 floating point. Storing 'non-available' errors as well as other symbolic values instead of any of the numbers in numeric arrays is necessary in many statistical applications. The package allows you to read and write the part of NaN IEEE754-64 bit values known as 'the payload', which is 51 bits long, and also to treat the long_float type as an implicit tagged type by storing tags and values in the payload. Calendar dates with ms resolution as well as 9-letter symbols and some not available/error codes are provided as subtypes. Formatted output with Fortran-like descriptors as well as reading values from strings for these types is also provided.