Macaulay2 is an interpreted, dynamically typed programming language intended to support research in algebraic geometry and commutative algebra through open sourced software.
A First Example
Here is an example of how to compute the minimal free resolution of the twisted cubic:
Code:
R = QQ[x, y, z, w]; -- defines a ring
I = monomialCurveIdeal(R, {1, 2, 3})
C = res I -- computes the resolution
Getting help:
-- quick usage information
? monomialCurveIdeal
-- details and examples
help monomialCurveIdeal
-- documentation on the web
viewHelp monomialCurveIdeal
Result:
Learn by Reading
Learn by Writing
Package Development
Documentation
Research
Community
Development of Macaulay2 by Daniel R. Grayson and Michael E. Stillman has been funded by the National Science Foundation since 1992. We also acknowledge our many contributors, software libraries used by Macaulay2, as well as Macaulay, the predecessor of Macaulay2 written by Dave Bayer and Michael Stillman.
The namesake of Macaulay2 is Francis Macaulay FRS.