next | previous | forward | backward | up | top | index | toc | Macaulay2 website
HodgeIntegrals :: HodgeIntegrals

HodgeIntegrals -- Hodge integrals on the moduli space of curves


HodgeIntegrals is a package for evaluating intersection numbers on the Deligne-Mumford moduli space of $n$-pointed stable curves of genus $g$, often denoted ${\bar M}_{g,n}$. This package evaluates integrals of the form $$\int_{{\bar M}_{g,n}} \psi_1^{e_1} ... \psi_n^{e_n} k_1^{f_1} ... k_b^{f_b} \lambda_1^{h_1} ... \lambda_g^{h_g},$$ where the values of $\psi_i$, $k_i$, and $\lambda_i$ are defined as follows:

A good introduction to ${\bar M}_{g,n}$ and related spaces can be found in the textbook [HM]. Two good references for the algebraic classes $\psi_i$, $k_i$, and $\lambda_i$, as well as their properties, are [AC] and [M].

This package is modelled after Carel Faber's Maple program KaLaPs, available for download [F]. For more details on how this package works, please read [Y].


[AC] Arbarello, E. and Cornalba, M. Combinatorial and algebro-geometric cohomology classes on the moduli spaces of curves. J. Algebraic Geom. 5. (1996), no. 4, 705--749.

[F] Faber, Carel. Maple program for calculating intersection numbers on moduli spaces of curves. Available at

[HM] Harris J., and Morrison, I. Moduli of Curves, Graduate Texts in Mathematics 187. Springer-Verlag, New York, 1996. ISBN: 0387984291.

[V] Vakil, R. The moduli space of curves and Gromov-Witten theory. Enumerative invariants in algebraic geometry and string theory (Behrend and Manetti eds.), Lecture Notes in Mathematics 1947, Springer, Berlin, 2008.

[Y] Yang, S., Intersection numbers on ${\bar M}_{g,n}$.


The following person has generously contributed code or worked on our code.


Certification a gold star

Version 1.2.1 of this package was accepted for publication in volume 2 of The Journal of Software for Algebra and Geometry: Macaulay2 on 2010-04-17, in the article Intersection numbers on Mbar_{g,n}. That version can be obtained from the journal or from the Macaulay2 source code repository.


This documentation describes version 1.2.1 of HodgeIntegrals.

Source code

The source code from which this documentation is derived is in the file HodgeIntegrals.m2.


  • Functions and commands
    • hodgeRing -- create a ring containing algebraic classes on moduli spaces of curves
    • integral -- evaluate Hodge integrals
    • wittenTau -- Witten tau integrals
  • Methods
    • "wittenTau(List)" -- see wittenTau -- Witten tau integrals
    • "wittenTau(ZZ,List)" -- see wittenTau -- Witten tau integrals
  • Other things
    • ch -- Chern character of the Hodge bundle
    • kappa -- Miller-Morita-Mumford classes
    • lambda -- Chern class of the Hodge bundle
    • psi -- cotangent line class

For the programmer

The object HodgeIntegrals is a package.