Macaulay2 is a computer algebra system for research in algebraic geometry and commutative algebra. To experiment with it it, try the short example described just after the installation instructions.

software name and current version


There is abundant help available for using Macaulay2. Its manual is a beautifully prepared book more than 750 pages long, and the pdf and HyperTeX versions have extensive and thoughtful internal hypertext links. Read the online manual from the University of Illinois, or the local copy at /usr/local/Macaulay2/html/index.html.

A fine paper, "Macaulay2 and the geometry of Schemes," by Bernd Sturmfels and Gregory G. Smith, March 5, 2000, and other relevant articles from the recent literature are available via the Macaulay2 home page.


Go to the Macaulay2 download page and copy the macaulay2 package and documentation files into /usr/local.

installation instructions (as root)

  cd /usr/local/
  tar xzf Macaulay2-0.8.60-i686-Linux-glibc-2.1.3.tar.gz
  tar xzf Macaulay2-0.8.60-doc.tar.gz
  cd /usr/local/Macaulay2
  less README.txt
  cp bin/M2 /usr/local/bin

At this point you are ready to test Macaulay2 (as a regular user, not as root) by typing M2 at a command prompt. You should see a welcome banner and a Macaulay2 input prompt, i1:. Let's use the example suggested by the authors of the program in their installation instructions. Define a polynomial ring in three variables with coefficients in the finite field of integers mod 101 by typing

R = ZZ/101[x,y,z]

and hit Enter. You should see an acknowledgement that R is a PolynomialRing. Now compute a resolution with

res coker vars R

You should see a representation of the appropriate ChainComplex. This is a VERY sophisticated system! Type


to exit the system.

using Macaulay2 inside emacs

Macaulay2 is another program which is best used in an emacs environment. To get started, within emacs type M-x shell to get a shell, and then type M2 at the shell prompt to enter the system. Read the User's Guide (using the index to locate the discussion of emacs in section 24.267) and the files /usr/local/Macaulay2/README.txt and /usr/local/Macaulay2/emacs/emacs.hlp for suggestions on configuring emacs for compatibility with Macaulay2. Macaulay2 is a remarkably sophisticated and challenging system. Spending a bit of time with its documentation is a good investment.