Nelson is an array programming language providing a powerful open computing environment for engineering and scientific applications using modern C/C++ libraries (Boost, Eigen, …) and others state of art numerical libraries. It has sophisticated data structures (including cell, struct, linear systems, …), an interpreter and a high level programming language. Nelson has been developped to be an open/modular system where an user can define these own data types and operations on these data types b
Hipparchus is a library of lightweight, selfcontained mathematics and statistics components addressing the most common problems not available in the Java programming language. Hipparchus started as a fork of Apache Commons Math. The fork was initiated by most of the main developers and a few contributors of Apache Commons Math.
DataMelt (DMelt), is a platform for numeric computation, data analysis, statistics and data visualization. DMelt can be used for analysis of large data volumes, data mining, statistical analyses and math computations. DMelt creates highquality vectorgraphics images (SVG, EPS, etc.) that can be included in LaTeX and other textprocessing systems. As a computational platform, one can use a number of languages, such as Python (Jython), Java, Groovy, Ruby (JRuby), BeanShell and Octave.
MathMod is a mathematical modeling software. It visualizes and animate implicit and parametric surfaces, either with 3D or 4D hypersurface plotting. It provides JSONcompatible scripting facilities, OBJ and K3DSurf format export or .js conversion, readytouse animation algorithm examples, and includes a simple editor.
Python matplotlib is a for 2D plotting publicationready figures in various formats, or rendering them interactively crossplatform. It can be scripted or used in Pythons interactive shell, within web applications, or through bindings with multiple GUI toolkits. It simplifies plot generation, histograms, power spectra, bar charts, error charts, scatter plots. Typical uses only require a few lines of code, while complex rendering is kept feasible. Its pyplot interface provides a MATLABstyle API.
Maxima is a computer algebra system comparable to commercial systems like Mathematica and Maple. It emphasizes symbolic mathematical computation: algebra, trigonometry, calculus, and much more.
The emgr framework is a compact opensource model reduction software toolbox for (empirical) GRAMIANbased model order reduction (MOR) and uncertainty quantification (UQ). It's compatible with OCTAVE and MATLAB.
This is a vectorized libm. Elementary functions like trig, pow, asinh can be evaluated using SIMD instructions. It is portable, and currently supports SSE2, AVX, AVX2, FMA4, AVX512F and ARM NEON. The library is coded without a conditional branch. It is extensively tested to check if it handles corner cases well.
GNU Dr. Geo, a libre software to design & manipulate interactive geometric sketches. Its aim is to be an open, easy to study, modify and extend interactive geometry software. Distributed with its source code it is modifymeready.
Yacas is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. It uses its own programming language designed for symbolic as well as arbitraryprecision numerical computations. The system has a library of scripts that implement many of the symbolic algebra operations; new algorithms can be easily added to the library.
Mavscript allows the user to do calculations in a text document. Plain text and OpenOffice Writer files (odt) are supported. The calculation is done by the algebra system Yacas (default), Jasymca or by the Java interpreter BeanShell.
This package provides a Python translation of the Matlab package Qpecgen which generates random MPEC test problems with quadratic objective functions and affine variational inequality constraints. For more information, see the paper and accompanying code by Houyuan Jiang, Daniel Ralph, 1997.
A C++ library that supports a few operations on boolean expression binary trees. The main features are a simple boolean expression parser, an algorithm to convert a boolean expression tree into its Disjunctive Normal Form, and a function that determines if an expression tree is in DNF. A commmandline tool can also be used to convert to DNF.
bigz is a simple but featurerich C library for bignum calculations. It's the continuation of an old BigNum project originally begun as a research project. Current releases include many fixes, extensions and improvements. It's not as efficient as GMP, but comes with a smaller footprint, provides Z+Q infinite precision, and is rather portable and multithread safe.
librsb is a library for sparse matrix computations featuring the Recursive Sparse Blocks (RSB) matrix format. This format allows cache efficient and multithreaded (that is, shared memory parallel) operations on large sparse matrices. The most common operations necessary to iterative solvers are available, e.g.: matrixvector multiplication, triangular solution, rows/columns scaling, diagonal extraction / setting, blocks extraction, norm computation, formats conversion. The RSB format is especia
GluCat is a generic library of C++ templates that implement universal Clifford algebras over the field of real numbers. The PyClical extension module for Python gives users an easy Python scripting interface for calculations in Clifford algebras. The name PyClical is an homage to Pertti Lounesto's CLICAL.
The Bricks collection is a set of Pascal units that provides a class library for rapid programming of highperformance computer simulations in life sciences. It also delivers a class library that facilitates the generation of block diagrams in software. CyberUnits is a reusable crossplatform class library for rapid programming of highperformance computer simulations in life sciences. It supports modelling for biomedical cybernetics and systems biology with Object Pascal, S and Matlab.
Functy is a 3D graphics generation tool. It plots cartesian, spherical or parametric curve functions. It allows altering their parameters for immediate redraws to explore 3D function results. It utilized GPU functions entirely for visualization.
ODE is a high performance library for simulating rigid body dynamics. It is fully featured, stable, mature, and platform independent with an easytouse C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments, and virtual creatures. It is currently used in many computer games, 3D authoring tools, and simulation tools.
ODE is a high performance library for simulating rigid body dynamics. It is fully featured, stable, mature, and platform independent with an easytouse C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments, and virtual creatures. It is currently used in many computer games, 3D authoring tools, and simulation tools.
A library for parsing mathematical expressions. Unlike similar projects, JBEE is able to parse numbers formated according to the user's locale and uses BigDecimal internally instead of double for arbitrary precision.
SCaVis is an environment for scientific computation, data analysis and data visualization designed for scientists, engineers and students. While itself implemented in Java, it provides bindings for Jython, Groovy, JRuby, BeanShell or Matlab/Octav for symbolic calculations. It features chart plotting, histograms, advanced statistics, symbolic calculations, data analysis, mathematical functions, data mining, linear algebra and plots.
Geomview is an interactive 3D viewing program for Unix. Geomview lets you view and manipulate threedimensional objects: you use the mouse to rotate, translate, zoom in and out, and so on. Geomview can be used as a standalone viewer for static objects or as a display engine for other programs which produce dynamically changing geometry. Geomview can display objects described in a variety of file formats. Geomview comes with a wide selection of example objects, and you can create your own objects
Practically Random is a test suite for PRNGs. It provides multithreaded statistical probing of the actual randomness of RNGs. It also includes multiple welldesigned pseudorandom number generators and interfaces.
FriCAS is a computer algebra system forked from Axiom. It provides calculus (integral calculation, differentiation) and abstract algebra, function plotting, and has an integreated help system. It's implemented in Spad, a strongly types highlevel language, for expressing mathematical algorithms in natural notation.
This is iStoa, a set of interactive activities to play with mathematics. Its target audience are primary school students. It contents is currently targeting grade 1.
Posest is a C/C++ GPL library for 3D pose estimation from point correspondences. Pose estimation refers to the computation of position and orientation estimates that fully define the posture of a rigid object in space (6 DoF in total). The computation is based on a set of known 3D points and their corresponding 2D projections on an image. Posest estimates the relative motion between the 3D points and the camera system; single or binocular camera systems are supported. Image points typically orig
MACE is a calculator, or algorithm and equation solver suitable for students. It covers 160 logical operations, statistical distributions and functions in the fields analysis, arithmetic, complex functions, linear algebra, differential calculus and statistics. MACE provides a wizard and natural formula and function insertion, also comes with a custom scripting language, and provides extensive help.
clojure2minizinc provides an interface between stateoftheart constraint solvers (via MiniZinc) and a very highlevel programming language with excellent abstraction capabilities, Clojure. The clojure2minizinc user models in Clojure constraint satisfaction or optimisation problems over Boolean, integer, real number, and/or set variables. clojure2minizinc translates them into MiniZinc, they are solved in the background by a compatible solver, and the result is read back into Clojure. clojure2mi
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. Provides efficient classes for vectors, matrices and cubes, as well as many functions which operate on the classes (eg. contiguous and noncontiguous submatrix views). Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided
GNU Octave is a highlevel interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write noninteractive programs. The Octave language is quite similar to Matlab so
