FreeMat is a free environment for rapid engineering and scientific prototyping and data processing. It is similar to commercial systems such as MATLAB from Mathworks, and IDL from Research Systems, but is Open Source. FreeMat includes several novel features such as a codeless interface to external C/C++/FORTRAN code, parallel/distributed algorithm development (via MPI), and plotting and visualization capabilities. Read more hot
(commercial) Maple is the ultimate productivity tool for solving mathematical problems and creating interactive technical applications. Intuitive and easy to use, it delivers the most advanced, complete, reliable mathematical capabilities that can only come from a market-leading tool that has been developed and tested over 25 years. Maple allows you to create rich, executable technical documents that provide both the answer and the thinking behind the analysis. Maple documents seamlessly combine numeric and symbolic calculations, explorations, mathematical notation, documentation, buttons and sliders, graphics, and animations that can be shared and reused by your colleagues. hot
(commercial) Mathematica seamlessly integrates a numeric and symbolic computational engine, graphics system, programming language, documentation system, and advanced connectivity to other applications. It is this range of capabilities--many world-leading in their own right--that makes Mathematica uniquely capable as a "one-stop shop" for you or your organization's technical work. It can handle complex symbolic calculations that often involve hundreds of thousands or millions of terms. Read more hot
(commercial) MATLAB is a high-level language and interactive environment that enables
you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran. Read more hot
matplotlib is a pure Python plotting library designed to bring publication quality plotting to Python with a syntax familiar to MATLAB users. All of the plotting commands in the pylab interface can be accessed either via a functional interface familiar to MATLAB users or an object oriented interface familiar to Python users. Read more hot
1DRANGE is a branch-and-bound algorithm for computing rigorous outer and inner bounds for the range of univariate functions, using boundary-value forms.
aamath is a program that reads mathematical expressions in infix notation and renders them as ASCII art. It may be useful to send mathematics through text-only media, such as e-mail or newsgroups.
a package for automatic differentiation of Algorithms; it facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++
AnallogicA is an application that generates logical tables based on logical propositions.
APFP (Arbitrary Precision Floating Point) is an Unicon class for performing arbitrary precision floating point calculations. It also includes a class for calculating with arbitrary precision complex numbers. It requires unicon overloaded operators.
ASCEND is both a large-scale object-oriented mathematical modeling environment and a strongly typed mathematical modeling language.
Axiom is a general purpose system for doing mathematics by computer. It is especially useful for mathematical research and for development of mathematical algorithms. The Axiom Language is a strongly-typed high-level programming language for expressing abstract mathematical concepts. Read more
BAYES-LIN is intended for people who already know about Bayes linear methods, graphical modelling and local computation, and want a collection of object-oriented programming tools for carrying out computations. Local computation in BAYES-LIN is achieved via message-passing between objects representing clique-tree nodes.
Bear is a mathematical research tool for calculating and testing discreteness of holonomy representations of complex projective structures on punctured tori. It can be used to draw pictures of Bers slices and explore the geometry of quasifuchsian space in the SL2(C) representation variety. It also has powerful scripting features that make it easy to create complex animations or to automate larger calculations.
bernina is an interactive interface to the Sum^it library that provides some efficient computations revolving around operators in Q[x,d/dx] or Q(x)[d/dx].
Cadabra is a computer algebra system for the manipulation of what could loosely be called tensorial expressions. It is aimed at, though not necessarily restricted to, theoretical high-energy physicists. Because of its target audience, the program's interface, storage system and underlying philosophy differ substantially from other computer algebra systems
Calculating Pi is an opensource project for the calculation of the mathematical constant Pi.
Cantor is a front-end to powerful mathematics and statistics packages. Cantor integrates them into the KDE Platform and provides a nice, worksheet-based, graphical user interface.
Computer Algebra Software for constructive Algebraic geometry: designed for performing computations and reasoning about geometric objects in classical algebraic geometry, in particular affine and projective algebraic geometry over an algebraically closed field F of characteristic 0
Cellumat3D is a tool for simulating and exploring 3D cellular automata. The simulated universe is effectively unbound and visualized using OpenGL. Currently 2-state automata similar to Conway's 2D "Game of Life" with customizable rulesets are supported.
Centrinia is a set of modules that perform various mathematical operations. The locus of functionality is in a dynamically loaded library. In the future, the Centrinia project will be comprised of many stand-alone applications that will use the library as their kernel.
ChaosExplorer is a C++ QT project developed to give users the ability to investigate fractals, attractors, bifurcations and other chaotic functions. The program's focus is on freedom to manipulate any possible parameter.
The Chombo package provides a set of tools for implementing finite difference methods for the solution of partial differential equations on block-structured adaptively refined rectangular grids. Both elliptic and time-dependent modules are included. Support for parallel platforms and standardized self-describing file formats are included.
CMAT is a matrix calculator program, written in C. Calculations can be performed on matrices with complex rational coefficients using exact arithmetic routines, as well as on matrices with elements mod p.
The Coq tool is a proof assistant which is able to handle calculus assertions, to check proofs of these assertions mechanically, and to extract a certified program from the constructive proof of its formal specification.
The DAKOTA (Design Analysis Kit for Optimization and Terascale Applications) toolkit provides a flexible, extensible interface between analysis codes and iterative systems analysis methods. DAKOTA contains algorithms for optimization with gradient and nongradient-based methods; uncertainty quantification with sampling, reliability, and stochastic finite element methods; parameter estimation with nonlinear least squares methods; and sensitivity/variance analysis with design of experiments and parameter study capabilities
Dr. Geo is a GTK interactive geometry software. It allows one to create geometric figure plus the interactive manipulation of such figure in respect with their geometric constraints. It is usable in teaching situation with students from primary or secondary level. Dr. Geo integrates advanced features as an integrated Scheme programming language to define scripts within a figure. The language is also used to define functionnaly interactive figure. Read more
E is a a purely equational theorem prover for full first-order logic. That means it is a program that you can stuff a mathematical specification (in first-order format) and a hypothesis into, and which will then run forever, using up all of your machines resources. E's inference core is based on a modified version of the superposition calculus for equational clausal logic as described in [BG94].
EasyMaths is a mathematics program for Linux which has two components: a computation server, and a GTK GUI for communicating with the server.
ECPP is a package containing a primality proving program. It is based in particular on the multiprecision package BigNum, developed jointly by INRIA and Digital PRL.
ehrhart is a polynomials and parametric vertices program.
EngLab is a cross-compile mathematical platform with a C like syntax intended to be used both by engineers and users with small programming knowledge. It supports programming through small script files but also enables the user to easily compile his own functions as shared objects and use them through the program's main interface. The ability to easily integrate new code and toolboxes as shared objects is expected to drive community in developing new functions extremely fast.
Euler is a powerful numerical laboratory with a programming language. The system can handle real, complex and interval numbers, vectors and matrices. It can produce 2D/3D plots. Included is a programming language. Euler comes with Yacas, a computer algebra system. So one can combine symbolic and fast numeric programming.
Euler for GTK+
The GTK+ based version of EULER, a program for quickly and interactively computing with real and complex numbers and matrices, or with intervals, in the style of MatLab, Octave, ... It can draw and animate your functions in two and three dimensions.
funct is devoted to the (numerical) study of real or complex functions f(x) of one real variable x. It can produce graphics on X11 windows, Postscript files, or PNG files. funct uses the command interpreter library interpcom.
GetDP is a general finite element solver using mixed elements to discretize de Rham-type complexes in one, two and three dimensions. The main feature of GetDP is the closeness between the input data defining discrete problems (written by the user in ASCII data files) and the symbolic mathematical expressions of these problems.
The name GiNaC is an iterated and recursive abbreviation for GiNaC is Not a CAS, where CAS stands for Computer Algebra System. It has been developed to become a replacement engine for xloops which in the past was powered by the Maple CAS. Its design is revolutionary in a sense that contrary to other CAS it does not try to provide extensive algebraic capabilities and a simple programming language but instead accepts a given language (C++) and extends it by a set of algebraic capabilities.
A gnome mathematical GUI designed to be a central tool where you can launch various other existing mathematical tools. It now supports Numerical Python Session, and more soon.
Gnatlab is a freeware clone of the Matlab mathematics package.
goldstr generates the golden string. The golden string is a binary sequence which is mathematically related to the golden section and the Fibonacci numbers.
Groups, Algorithms, and Programming
GAP is a system for computational discrete algebra with particular emphasis on computational group theory and related areas. It provides a Pascal-like interpreted language, data types for many algebraic objects, a function library, and large libraries of data.
GTybalt is a free computer algebra system featuring: Object Oriented: gTybalt allows symbolic calculations within the C++ programming language, High quality output: Mathematical formulae are visualized using TeX fonts and can easily be converted to LaTeX on a what-you-see-is-what-you-get basis.
Hilbert Class Library is a collection of C++ classes which apply object-oriented programming principles to implement mathematical objects such as vectors, linear and nonlinear operators, and functions.
HECKE is a program for computing with modular forms using modular symbols. Among other things, it can be used to compute basis of q-expansions and Hecke operators on fairly general spaces of modular forms, and for computing special values of L-functions.
highest is a program that efficiently finds the n highest (or lowest) numbers in a list of numbers on stdin. The traditional way of computing this using GNU sort should have a running time of O(n log n), where n is the number of numbers to check.
Hilbert II provides a program suite that enables a mathematician to put theorems and proofs into that knowledge base. These proofs are automatically verified by a proof checker. Also texts in "common mathematical language" can be integrated. The mathematical axioms, definitions and propositions are combined to so called qedeq modules. Such a module could be seen as a mathematical textbook which includes formal correct proofs.
HOPDM is a package for solving large scale linear, convex quadratic and convex nonlinear programming problems. The code is an implementation of the infeasible primal-dual interior point method. It uses multiple centrality correctors; their number is chosen appropriately for a given problem in order to reduce the overall solution time. HOPDM automatically chooses the most efficient factorization method for a given problem (either normal equations or augmented system). The code compares favourably with commercial LP, QP and NLP packages.
(commercial) IDL is software for data analysis, visualization, and cross-platform application development. IDL combines all of the tools you need for any type of project, from "quick-look," interactive analysis and display to large-scale commercial programming projects. Thousands of technical professionals use IDL every day to rapidly develop algorithms, interfaces, and powerful visualizations and quickly crunch through large numerical problems.
ised is a command-line tool for generating number sequences and arithmetic evaluation. Unlike big gui-based software (e.g. Mathematica, Derive, Matlab, Octave,...) it is intended for use in shell scripting, together with gnu core utilities.
Jacket by AccelerEyes
(commercial) The Jacket platform consists of a runtime and language processing system that automatically optimizes existing applications or new algorithms for GPU computing. Jacket currently supports the MATLAB language as a frontend to the platform.