Macaulay 2
   HOME

TheInfoList



OR:

Macaulay2 is a free
computer algebra system A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The de ...
created by Daniel Grayson (from the
University of Illinois at Urbana–Champaign The University of Illinois Urbana-Champaign (UIUC, U of I, Illinois, or University of Illinois) is a public land-grant research university in the Champaign–Urbana metropolitan area, Illinois, United States. Established in 1867, it is the f ...
) and Michael Stillman (from
Cornell University Cornell University is a Private university, private Ivy League research university based in Ithaca, New York, United States. The university was co-founded by American philanthropist Ezra Cornell and historian and educator Andrew Dickson W ...
) for computation in
commutative algebra Commutative algebra, first known as ideal theory, is the branch of algebra that studies commutative rings, their ideal (ring theory), ideals, and module (mathematics), modules over such rings. Both algebraic geometry and algebraic number theo ...
and
algebraic geometry Algebraic geometry is a branch of mathematics which uses abstract algebraic techniques, mainly from commutative algebra, to solve geometry, geometrical problems. Classically, it studies zero of a function, zeros of multivariate polynomials; th ...
.


Overview

Macaulay2 is built around fast implementations of algorithms useful for computation in commutative algebra and algebraic geometry. This core functionality includes arithmetic on rings, modules, and matrices, as well as algorithms for Gröbner bases,
free resolution In mathematics, and more specifically in homological algebra, a resolution (or left resolution; dually a coresolution or right resolution) is an exact sequence of modules (or, more generally, of objects of an abelian category) that is used to de ...
s, Hilbert series, determinants and Pfaffians, factoring, and similar. In addition, the system has been extended by a large number of packages. Nearly 200 packages are included in the distribution of Macaulay2 as of 2019, and notable package authors include Craig Huneke and Frank-Olaf Schreyer. The Journal of Software for Algebra and Geometry has published numerous packages and programs for Macaulay2. Macaulay2 has an interactive
command-line interface A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
used from the terminal (see ). It can also use
emacs Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
or GNU TeXmacs as a user interface. Macaulay2 uses its own interpreted
high-level programming language A high-level programming language is a programming language with strong Abstraction (computer science), abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ''elements'', be ea ...
both from the command line and in saved programs. This language is intended to be easy to use for mathematicians, and many parts of the system are indeed written in the Macaulay2 language. The algebraic algorithms that form the core functionality are written in C++ for speed. The interpreter itself is written in a custom type safety layer over C. Both the system and the programming language are published under the
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
version 2 or 3.


History

Stillman, along with Dave Bayer had authored the predecessor system, Macaulay, beginning in 1983. They named Macaulay after
Francis Sowerby Macaulay Francis Sowerby Macaulay FRS (11 February 1862, Witney – 9 February 1937, Cambridge) was an English mathematician who made significant contributions to algebraic geometry. He is known for his 1916 book ''The Algebraic Theory of Modular Syste ...
, an English mathematician who made significant contributions to
algebraic geometry Algebraic geometry is a branch of mathematics which uses abstract algebraic techniques, mainly from commutative algebra, to solve geometry, geometrical problems. Classically, it studies zero of a function, zeros of multivariate polynomials; th ...
. The Macaulay system showed that it was possible to solve actual problems in algebraic geometry using Gröbner basis techniques, but by the early 1990s, limitations in its architecture were becoming an obstruction. Using the experience with Macaulay, Grayson and Stillman began work on Macaulay2 in 1993. The Macaulay2 language and design has a number of improvements over that of Macaulay, allowing for infinite coefficient rings, new data types, and other useful features. Macaulay continued to be updated and used for some time after the 1993 introduction of Macaulay2. The last released version was 3.1, from August 2000. The Macaulay webpage currently recommends switching to Macaulay2. Macaulay2 has been updated regularly since its introduction. David Eisenbud has been listed as a collaborator on the project since 2007.


Sample session

The following session defines a
polynomial ring In mathematics, especially in the field of algebra, a polynomial ring or polynomial algebra is a ring formed from the set of polynomials in one or more indeterminates (traditionally also called variables) with coefficients in another ring, ...
, an ideal inside , and the
quotient ring In ring theory, a branch of abstract algebra, a quotient ring, also known as factor ring, difference ring or residue class ring, is a construction quite similar to the quotient group in group theory and to the quotient space in linear algebra. ...
R = S/I. The text i1 : is the 1st input prompt in a session, while o1 is the corresponding output. i1 : S=QQ ,b,c,d,e o1 = S o1 : PolynomialRing i2 : I=ideal(a^3-b^3, a+b+c+d+e) 3 3 o2 = ideal (a - b , a + b + c + d + e) o2 : Ideal of S i3 : R = S/I o3 = R o3 : QuotientRing


Reception

In a 2006 interview, Andrei Okounkov cited Macaulay2 along with
TeX Tex, TeX, TEX, may refer to: People and fictional characters * Tex (nickname), a list of people and fictional characters with the nickname * Tex Earnhardt (1930–2020), U.S. businessman * Joe Tex (1933–1982), stage name of American soul singer ...
as a successful
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
project used in
mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
and suggested that funding agencies look into and learn from these examples. Macaulay2 has been cited in over 2,600 scholarly publications.


See also

*
Singular Singular may refer to: * Singular, the grammatical number that denotes a unit quantity, as opposed to the plural and other forms * Singular or sounder, a group of boar, see List of animal names * Singular (band), a Thai jazz pop duo *'' Singula ...
and CoCoA, two other computer algebra systems that are specialized for computation in commutative algebra * Comparison of computer algebra systems


References


Further reading

* (Full text available online.) *


External links

* for Macaulay2
Web interface
to Macaulay2 {{Computer algebra systems Computer algebra system software for Linux Domain-specific programming languages Free computer algebra systems