layout | title | parse |
---|---|---|
default |
Learn Macaulay2 |
true |
{::options parse_block_html="true" /}
Macaulay2 is an interpreted, dynamically typed programming language intended to support research in algebraic geometry and commutative algebra through open sourced software.
{:.label}
Here is an example of how to compute the minimal free resolution of the [_twisted cubic_](docs/example):
#### Code:
```
R = QQ[x, y, z, w]; -- defines a ring
I = monomialCurveIdeal(R, {1, 2, 3})
C = res I -- computes the resolution
```
-- quick usage information
? monomialCurveIdeal
-- details and examples
help monomialCurveIdeal
-- documentation on the web
viewHelp monomialCurveIdeal
#### Result:
{% M2 index %}
R = QQ[x, y, z, w];
I = monomialCurveIdeal(R, {1, 2, 3})
C = res I
{% endM2 %}
- [Beginning Macaulay2](BeginningMacaulay2)
- [Computations Book](book)
- [Cheat Sheet](cheatsheat)
- [Project Ideas](https://faculty.math.illinois.edu/Macaulay2/dev/projects/)
- [Editors and Workflows](examples)
- [M2 Style Guide](https://github.com/Macaulay2/M2/wiki/Package-Writing-Style-Guide)
- [Package directory](packages)
- [Language Reference](reference)
- [Internal Notes](https://github.com/Macaulay2/M2/wiki/Internals%3A-Meeting-Notes)
- [Source Code](https://github.com/Macaulay2/M2)
- [Books and Articles](https://faculty.math.illinois.edu/Macaulay2/Publications)
- [Citing Macaulay2](citing)
- [JSAG](http://j-sag.org/)
- [Workshops]({{ site.baseurl }}/workshops)
- [Slack Workspace](https://m2internals.slack.com/)
- [Google Groups](https://groups.google.com/group/macaulay2)
[![](https://www.gnu.org/software/emacs/images/emacs.png){:.feature}](https://www.gnu.org/software/emacs/)
The recommended IDE for using Macaulay2 in research is [Emacs](https://www.gnu.org/software/emacs/)
(here is a [cheat sheet](https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf)).
Community plugins are also available for
[Vim](https://github.com/Macaulay2/M2/tree/master/M2/Macaulay2/editors/vim),
[Atom](https://github.com/Macaulay2/language-macaulay2),
[VSCode](https://github.com/coreysharris/vscode-macaulay2), and
[Sublime](https://github.com/Macaulay2/M2/wiki/Using-Macaulay2-with-Sublime).
{%- for i in (0..3) -%}
{%- assign screenshot = site.baseurl | append: "/static/emacs" | append: i | append: ".png" -%}
[![]({{ screenshot }}){:.feature}]({{ screenshot }})
{%- endfor -%}
Development of Macaulay2 by [Daniel R. Grayson](https://faculty.math.illinois.edu/~dan/)
and [Michael E. Stillman](https://math.cornell.edu/michael-e-stillman) has been funded
by the National Science Foundation since 1992. We also acknowledge our many
[contributors](contributors), [software libraries](libraries) used by Macaulay2,
as well as [Macaulay](http://www.math.columbia.edu/~bayer/Macaulay/),
the predecessor of Macaulay2 written by Dave Bayer and Michael Stillman.
The namesake of Macaulay2 is Francis Macaulay FRS.