## 16 Search Results

### Axiom

Axiom is a general purpose Computer Algebra system. It is useful for research and development of mathematical algorithms. It defines a strongly typed, mathematically correct type hierarchy. It has a programming language and a built-in compiler.

### Cinderella

Cinderella is a software system for doing geometry on a computer. The new version Cinderella.2 also includes physics simulations and algorithmic elements.

### CoCoA

CoCoA is a system for Computations in Commutative Algebra. It is able to perform simple and sophisticated operations on multivaraiate polynomials and on various data related to them (ideals, modules, matrices, rational functions). For example, it can readily compute Grobner bases, syzygies and minimal free resolution, intersection, division, the radical of an ideal, the ideal of zero-dimensional schemes, Poincare' series and Hilbert functions, factorization of polynomials, toric ideals. The capabilities of CoCoA and the flexibility of its use are further enhanced by the dedicated high-level programming language. For convenience, the system offers a textual interface, an Emacs mode, and a graphical user interface common to most platforms.

### Fermat

Fermat is a super calculator - computer algebra system, in which the basic items being computed can be rational numbers, modular numbers, elements of finite fields, multivariable polynomials, multivariable rational functions, or multivariable polynomials modulo other polynomials. Fermat is available for Mac OS, Windows, Unix, and Linux. It is shareware. The basic “ground ring" F is the field of rational numbers. One may choose to work modulo a specified integer n, thereby changing the ground ring F from Q to Z/n. On top of this may be attached any number of unevaluated variables t_1, t_2, .. t_n., thereby creating the polynomial ring F[t_1, t_2, .. t_n] and its quotient field, the rational functions. Further, polynomials p, q, .. can be chosen to mod out with, creating the quotient ring F(t_1, t_2, ..)/[p, q, ...]. It is possible to allow Laurent polynomials. Once the computational ring is established in this way, all computations are of elements of this ring.

### GAP

GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory. GAP provides a programming language, a library of thousands of functions implementing algebraic algorithms written in the GAP language as well as large data libraries of algebraic objects. GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more. GAP is developed by international cooperation. The system, including source, is distributed freely under the terms of the GNU General Public License. You can study and easily modify or extend GAP for your special use. The current version is GAP 4, the older version GAP 3 is still available.

### LiE

LiE is the name of a software package that enables mathematicians and physicists to perform computations of a Lie group theoretic nature. It focuses on the representation theory of complex semisimple (reductive) Lie groups and algebras, and on the structure of their Weyl groups and root systems. LiE does not compute directly with elements of the Lie groups and algebras themselves; it rather computes with weights, roots, characters and similar objects.

### LinBox

LinBox is a C++ template library for exact, high-performance linear algebra computation with dense, sparse, and structured matrices over the integers and over finite fields. LinBox has the following top-level functions: solve linear system, matrix rank, determinant, minimal polynomial, characteristic polynomial, Smith normal form and trace. A good collection of finite field and ring implementations is provided, for use with numerous black box matrix storage schemes.

### Maple

Maple is an environment for scientific and engineering problem-solving, mathematical exploration, data visualization and technical authoring.

### Mathomatic

Mathomatic is a free, portable, general-purpose CAS (Computer Algebra System) and calculator software that can symbolically solve, simplify, combine, and compare equations, perform complex number and polynomial arithmetic, etc. It does some calculus and is very easy to use.

### Normaliz

Normaliz is a tool for computations in affine monoids, vector configurations, lattice polytopes, and rational cones. Its input data can be specified in terms of a system of generators or vertices or a system of linear homogeneous Diophantine equations, inequalities and congruences or a binomial ideal. Normaliz computes the dual cone of a rational cone (in other words, given generators, Normaliz computes the defining hyperplanes, and vice versa), a placing (or lexicographic) triangulation of a vector configuration (resulting in a triangulation of the cone generated by it), the Hilbert basis of a rational cone, the lattice points of a lattice polytope, the normalization of an affine monoid, the Hilbert (or Ehrhart) series and the Hilbert (or Ehrhart) (quasi) polynomial under a Z-grading (for example, for rational polytopes), NEW: generalized (or weighted) Ehrhart series and Lebesgue integrals of polynomials over rational polytopes via NmzIntegrate, a description of the cone and lattice under consideration by a system of inequalities, equations and congruences

### Octave

GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language. Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave's own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.

### PARI/GP

PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers, etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.

### PolyBoRi

The core of PolyBoRi is a C++ library, which provides high-level data types for Boolean polynomials and monomials, exponent vectors, as well as for the underlying polynomial rings and subsets of the powerset of the Boolean variables. As a unique approach, binary decision diagrams are used as internal storage type for polynomial structures. On top of this C++-library we provide a Python interface. This allows parsing of complex polynomial systems, as well as sophisticated and extendable strategies for Gröbner base computation. PolyBoRi features a powerful reference implementation for Gröbner basis computation.

### Sage

SAGE is a framework for number theory, algebra, and geometry computation. It is open source and freely available under the terms of the GNU General Public License (GPL). SAGE is a Python library with a customized interpreter. It is written in Python, C++, and C (via Pyrex). Python (http://www.python.org) is an open source object-oriented interpreted language, with a large number of libraries, e.g., for numerical analysis, which are available to users of SAGE. Python can also be accessed in library mode from C/C++ programs. SAGE provides an interface to several important open source libraries, including Cremona’s MWRANK library for computing with elliptic curves, the PARI library (pari.math.u-bordeaux.fr) for number theory, Shoup’s number theory library NTL (http://www.shoup.net/ntl/), SINGULAR (http://www.singular.uni-kl.de) for commutative algebra, GAP (http://www.gap-system.org) for group theory and combinatorics, and maxima (http://maxima.sourceforge.net) for symbolic computation and calculus.