Macaulay 2 is a computer algebra system devoted to supporting research in algebraic geometry, commutative algebra, and their applications.
Macaulay2 includes core algorithms for computing Gröbner bases and graded or multi-graded free resolutions of modules over quotient rings of graded or multi-graded polynomial rings with a monomial ordering. The core algorithms are accessible through a versatile high level interpreted user language with a powerful debugger supporting the creation of new classes of mathematical objects and the installation of methods for computing specifically with them. Macaulay2 can compute Betti numbers, Ext, cohomology of coherent sheaves on projective varieties, primary decomposition of ideals, integral closure of rings, and more.
Macaulay2 uses its own high level programming language, intended to closely match the syntax used by mathematicians in the field.
Key Features
- Aims to support efficient computation associated with a wide variety of high level mathematical objects, including Galois fields, number fields, polynomial rings, exterior algebras, Weyl algebras, quotient rings, ideals, modules, homomorphisms of rings and modules, graded modules, maps between graded modules, chain complexes, maps between chain complexes, free resolutions, algebraic varieties, and coherent sheaves.
- Simple yet powerful interpreted language. Every object has a type, such as Type, ZZ (integer), String, HashTable, Ring, Matrix, Function, etc. The core mathematical algorithms are written in C++ and compiled, not interpreted.
- Cross-platform support – runs under Linux, Mac OS X, Windows, and FreeBSD.
Website: macaulay2.com
Support: GitHub Code Repository
Developer: Daniel R. Grayson, Michael E. Stillman
License: GNU General Public License, version 2 or 3
Macaulay2 is written in C++ and C. Learn C++ with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials.
Related Software
| Computer Algebra Systems | |
|---|---|
| Scilab | Numerical computational package |
| Maxima | System for the manipulation of symbolic and numerical expressions |
| Octave | Powerful programming language with built-in plotting and visualization tools |
| SageMath | Open source alternative to Magma, Maple, Mathematica and Matlab |
| SymPy | Python library for symbolic mathematics |
| SINGULAR | Computer Algebra System for polynomial computations |
| Macaulay2 | Software system for research in algebraic geometry |
| Cadabra | Symbolic computer algebra system for field theory problems |
| PARI/GP | Widely used algebra system designed for fast computations in number theory |
| GAP | System for computational discrete algebra |
| FriCAS | Fork of Axiom |
| CoCoA | System for doing computations in commutative algebra |
| Mathics | General-purpose CAS with Mathematica-compatible syntax and functions |
| FORM | Symbolic Manipulation System |
| Nelson | Numerical computational language |
| wxMaxima | GUI for the sublime Maxima CAS |
| Xcas | Cross-platform mathematical environment |
| REDUCE | General-purpose computer algebra system for symbolic computation |
| OSCAR | Comprehensive computer algebra system for advanced mathematics |
| Axiom | General purpose Computer Algebra system |
| Symja | Computer algebra system and symbolic mathematics library |
| CGSuite | For research in combinatorial game theory |
| Eigenmath | Compact symbolic mathematics and computer algebra application |
Read our verdict in the software roundup.
| Geometry Software | |
|---|---|
| GeoGebra | Dynamic mathematics software for learning and teaching |
| Kig | KDE4 software for exploring geometric constructions |
| Dr. Geo | Interactive geometry software |
| SINGULAR | Commutative algebra system for polynomial computations |
| Macaulay2 | Supporting research in algebraic geometry and commutative algebra |
| polymake | Research in polyhedral geometry |
| C.a.R. | Dynamic geometry program for use in schools and universities |
| Geomview | For mathematics research and education |
| Geometria | Interactive software for creating and solving problems in 3D gemoetry |
| JGEX | Construct, explore and prove geometry theorems |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.