The focus of this guide is on software designed for mathematics, the science of shape, quantity, and arrangement.

The branches of mathematics include algebra, analysis, arithmetic, calculus, combinatorics, game theory, geometry, number theory, numerical analysis, optimization, probability theory, set theory, statistics, and trigonometry.

Mathematical software is used to analyze, model, or calculate numeric, symbolic, or geometric data. It is a type of software used to solve mathematical problems or mathematical studies. As there are differing views as to the definition of mathematics, there are differing views of the software that is used in mathematics.

One type of mathematical software is a math library, which is a component of a programming language's standard library that contains functions or subroutines for common mathematical functions.

Functions of mathematical software are often found as components of software designed for other sciences.

A common mathematical software is a calculator that has been implemented as a computer program rather than as a physical hardware device. They provide operations for the user to select one at a time, but can also be used to perform any process consisting of a sequence of steps, each of which applies to one of these operations. Most calculators include a fairly limited set of simple operations and are used to perform short processes that are not resource-intensive.

Some mathematical software systems are computer algebra systems that use symbolic mathematics and are designed to solve classical algebra equations and problems in readable notation.

Others are designed to provide statistical analysis of data, or as proof assistants.

These, and any other software that has been designed primarily for the science of mathematics, are appropriate topics for this category. Software designed to teach mathematics, such as math tutors and the like, should be listed in the Mathematics category under Education & Training. A link is provided below.

### Categories

## @Mathematics |

### Recommended Resources

Automatically Tuned Linear Algebra Software

ATLAS is a research project focused on applying empirical techniques in order to provide portable performance, providing C and Fortran77 interfaces to a portable BLAS implementation, as well as routines from LAPACK, its chief purpose being to provide optimized libraries. It is available for download through the terms of the BSD License. Documentation, supporting files, and support options are highlighted, including known errors, compiler issues, and system problems.

http://math-atlas.sourceforge.net/

Originating in 2001, Cadabra is currently available on all major OS platforms, including BSD, Linux, macOS, and Windows, serving as a symbolic computer algebra system (CAS) designed particularly for the solution of problems encountered in field theory. Designed for field-theory problems, it allows for both abstract and component computations and includes a standalone graphical notebook interface that can be used as a frontend for SymPy and is programmable through Python.

https://cadabra.science/

The free and open-source software program is distributed under the GNU Lesser General Public License, and its source may be modified and redistributed under those terms. Calc is an interactive calculator that provides for easy large numeric calculations, which may nevertheless be easily programmed for difficult or long calculations. It is suitable for use in astronomy, mathematics, prime numbers, programming, and technology. Several source mirror sites are available.

http://www.isthe.com/chongo/tech/comp/calc/

Founded in Norway in 1984, Camo specializes in applying analytical science to process and product quality problems for decades. Its Unscrambler line of software is used for modeling, prediction, and optimization, using analytics to improve research and development, product development, process, and product quality, and includes Unscrambler, Unscrambler HSI, and Unscrambler Process Pulse. Free trials are available, or purchases can be made from the site.

https://www.camo.com/

Cantor is a KDE front-end to mathematical applications, allowing for the use of several popular mathematical applications from within a KDE-integrated worksheet interface, including dialogs for common tasks, as well as the sharing of worksheets with others. It also allows for running commands from mathematical programming languages, the management of variables, and integration with LaTeX or Markdown. Released as part of KDE Applications, Cantor is available in most Linux distributions.

https://cantor.kde.org/

Licensed under the GNU General Public License, FrAid is free and open-source, which means that the source may be downloaded and modified, and any resulting programs redistributed. The software is designed as a lightweight scripting environment for mathematical computations and visualizations. Software design goals include that it should be simple, dynamic, recursive, extensible, and have an extendable interface. FrAid applications are highlighted here, as examples.

http://fraid.sourceforge.net/

Frink is a calculating tool and programming language designed to make physical calculations simple, to ensure that the answers come out right, and for it to be useful in the real world. The application tracks units of measure, such as feet, meters, kilograms, watts, and so on, through all calculations, allowing the user to mix units of measure transparently, and so that it is verifiable. A full list of features is published to the site, along with sample calculations, and a download page.

http://futureboy.us/frinkdocs/

GAP (Groups, Algorithms, Programming) is a system for computational discrete algebra, with an emphasis on computational group theory. The package includes a programming language, a library of thousands of algebraic algorithm functions written in the GAP language, and large data libraries of algebraic objects. An overview and description of the mathematical capabilities of the system are given, along with a download page, release history, user forum, and documentation.

http://www.gap-system.org/

Created for the Visual Geometry Project at Swarthmore College, and developed by KCP Technologies, the Geometer’s Sketchpad is a commercial geometry software program used in the exploration of Euclidean geometry, algebra, calculus, and other areas of mathematics. Running on the macOS, Windows, or on Linux under Wine, the application allows for the creation of several objects that can be measured and used to solve difficult math problems.

https://www.dynamicgeometry.com/

Released in 1996, Dr. Geo is a free software package that allows users to design and manipulate interactive geometric sketches. Operating under the Linux, macOS, Windows, and Sugar backgrounds, Dr. Geo is available under the GNU General Public License. It is designed to manipulate various types of objects, such as points, lines, circles, and blocks of code. Its features are described in detail, a download page is included, and sponsorships are acknowledged.

http://www.drgeo.eu/

Published under the GNU Free Documentation License, Hilbert II includes a knowledge base of mathematical theorems and proofs in a formal correct form. The site also features a program suite that a mathematician can use to put theorems and proofs into that knowledge base, which are automatically verified by a proof checker. Known as QEDEQ, these modules can be read and edited with a simple text editor, using an XML schema specification. A glossary and documentation are provided.

http://www.qedeq.org/

Isabelle is a generic proof assistant designed to allow mathematical formulas to be expressed in a formal language, and providing tools for proving those formulas through logical calculus. Operable through the Linux, macOS, and Windows platforms, the program is distributed free under several open-source licenses, but the core code-base is subject to BSD-style regulations. The application bundles include both source and binary packages, installation instructions, and documentation.

http://isabelle.in.tum.de/

Operating under the name Maplesoft, Waterloo Maple is a Canadian software company that develops the Maple computer algebra system, the MapleSim physical modeling and simulation software, and MapleMBSE, an Excel-based tool that allows stakeholders across a business network to collaborate in the systems engineering process, and other software tools and add-ons, which are highlighted here, along with its support services, licensure options, and upgrades.

https://www.maplesoft.com/

Developed at MIT with funding from the US Department of Energy, and currently maintained by the Macsyma group at Project MAC, the computer algebra system is based on a 1982 version of Macsyma. Written in Common Lisp, it runs on all POSIX platforms, including BSD, Linux, macOS, Unix, Windows, and Android, and is available free under the terms of the GNU General Public License. It is a system for manipulating symbolic and numerical expressions.

http://maxima.sourceforge.net/

Online since 1998, this website is dedicated to true random numbers and other random ideas. The site has a coin flipping feature and a random die roller. The site also has statistical resources so you can see how the site simulates randomness. The site includes both free and premium randomness generators, which have been used for holding drawings, lotteries, sweepstakes, or to drive online games. An app for iOS or Android mobile devices is also available.

http://www.random.org/

Previously known as Sage or SAGE (for System for Algebra and Geometry Experimentation), SageMath is a computer algebra system. Supporting the Linux, macOS, Windows, Solaris, Android, and iOS operating systems, it is available under the terms of the GNU General Public License. SageMath integrates several specialized mathematics software packages into a common interface, written in Python. Documentation and a list of features are posted to the site.

http://www.sagemath.org/

Developed by Scilab Enterprises, Scilab is a free and open-source (GPLv2) alternative to MATLAB, first released in 1994, with a long history of development, currently by the Scilab team within ESI Group. Available for GNU/Linux, Mac, and Windows, its full system requirements are stated. Used in mechanics, data analytics, embedded and control systems, signal and image processing, and thermal and fluid dynamics, a list of features are posted.

https://www.scilab.org/

Singular Systems offers a variety of mathematical software written in Java. Its chief products are Jep Java, Jep extensions, Jep.Net, and GWTJep, as well as AutoAbacus, each of which is described here, with examples, a list of features, and documentation. Trial versions are available, as is a user support forum. Products may be ordered from the site. Also available are consulting services, customizations, extensions, integration assistance, and debugging services.

http://www.singularsys.com/

Maintained by Cloanto, SkinCalc is a free, skinnable calculator with more than a hundred different skins available for download. Skins allow the user to change the layout and functionality of the software. Skin authors are invited to submit skins to the archive. Documentation is available. Custom calculator packages may be ordered from Cloanto and may be currency-enabled, fetching daily exchange rates from various sources.

http://www.skincalc.com/

Maintained by the SymPy Development Team, SymPy is an open-source Python library for symbolic computation, providing computer algebra capabilities as a standalone application, a library to other applications, or as a browser-based application. Its features include symbolic arithmetic, calculus, algebra, discrete mathematics, and quantum physics. Free and open-source, SymPy is available under the terms of the New BSD License. Documentation and support information is given.

https://www.sympy.org/

Mathematica is a technical computing system by Wolfram Research that is used in several computing, engineering, mathematical, scientific, and technical fields. Written in the Wolfram Language, the system has two central parts, the kernel, and the front end, with the kernel interpreting expressions, while the front end provides a GUI. Available for Linux, macOS, Windows, and Raspbian, it is proprietary software, with several service and licensing plans.

https://www.wolfram.com/mathematica/

Yet Another Computer Algebra System (YACAS) was designed to be an easy-to-use, general-purpose computer algebra system, a program for symbolic manipulation of mathematical expressions. The application uses its own programming language that allows for symbolic and arbitrary-precision numerical computations and has a library of scripts that implement many of the symbolic algebraic operations, and new algorithms can be added. Documentation of the program and language is included.

http://www.yacas.org/