This is HodgeIntegrals.info, produced by Macaulay2, version 1.25.11

HodgeIntegrals -- Hodge integrals on the moduli space of curves
***************************************************************

Description
===========

See 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:

  *  $\psi_i$ is the first Chern class of the $i$-th cotangent line bundle
    $L_i$, whose value at a fixed curve $(C; p_1,...,p_n)$ is the cotangent
    space to $C$ at $p_i$.
  *  $k_j$ is the pushforward of $\psi_i^{j+1}$ via the forgetful morphism
    which forgets the $i$-th marked point.
  *  $\lambda_i$ is the $i$-th Chern class of the Hodge bundle $E$, whose value
    at a fixed curve $(C; p_1,...,p_n)$ is $H^0(C,K_C)$, or the space of
    differential one-forms on $C$.

 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].

References
==========

[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
http://math.stanford.edu/~vakil/programs/index.html.

[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}$.

Contributors
============

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

  * Greg Smith (see http://www.mast.queensu.ca/~ggsmith/ )

Author
======

  * Stephanie Yang (see http://www.stephanieyang.com ) <stpyang@math.kth.se>

Certification a gold star
=========================

Version 1.2.1 of this package was accepted for publication in volume 2 (see
https://msp.org/jsag/2010/2-1/ ) of The Journal of Software for Algebra and
Geometry: Macaulay2 (see https://msp.org/jsag/ ) on 2010-04-17, in the article
Intersection numbers on Mbar_{g,n} (see https://msp.org/jsag/2010/2-1/p01.xhtml
) (DOI: 10.2140/jsag.2010.2.1 (see https://doi.org/10.2140/jsag.2010.2.1 )).
That version can be obtained from the journal (see
https://msp.org/jsag/2010/2-1/jsag-v2-n1-x01-code.zip ).

Version
=======

This documentation describes version 1.2.1 of HodgeIntegrals, released 29 April
2010.

Citation
========

If you have used this package in your research, please cite it as follows:

+-----------------------------------------------------------------------------+
|@misc{HodgeIntegralsSource,                                                  |
|  title = {{HodgeIntegrals: Hodge integrals on the moduli space of curves.   |
|  author = {Stephanie Yang},                                                 |
|  howpublished = {A \emph{Macaulay2} package available at                    |
|    \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages   |
|}                                                                            |
|                                                                             |
|@article{HodgeIntegralsArticle,                                              |
|  title = {{Intersection numbers on $Mbar_{g,n}$}},                          |
|  author = {Stephanie Yang},                                                 |
|  journal = {The Journal of Software for Algebra and Geometry: Macaulay2},   |
|  volume = {2},                                                              |
|  year = {2010},                                                             |
|}                                                                            |
|-----------------------------------------------------------------------------|
| Version~1.2.1}},                                                            |
|                                                                             |
|                                                                             |
|}}                                                                           |
+-----------------------------------------------------------------------------+

Exports
=======

  * 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 (Macaulay2Doc),
defined in HodgeIntegrals.m2.

-------------------------------------------------------------------------------

The source of this document is in HodgeIntegrals.m2:518:0.

ch -- Chern character of the Hodge bundle
*****************************************

  * Usage:
        ch_a
  * Inputs:
      * a, an integer (Macaulay2Doc),
  * Outputs:
      * a ring element (Macaulay2Doc),

Description
===========

This is an element in the ring created by hodgeRing.  It is the $a$-th graded
part of the Chern character of the Hodge bundle on ${\bar M}_{g,n}$.

Examples
========

 Here is a simple example which calculates $\int_{{\bar M}_{1,1}} ch_1$.

+-----------------------------------------------------------------------------+
|i1 : R = hodgeRing (1, 1);                                                   |
+-----------------------------------------------------------------------------+
|i2 : ch_1                                                                    |
|                                                                             |
|o2 = ch                                                                      |
|       1                                                                     |
|                                                                             |
|o2 : R                                                                       |
+-----------------------------------------------------------------------------+
|i3 : integral(1, 1, ch_1)                                                    |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|      1                                                                      |
|o3 = --                                                                      |
|     24                                                                      |
|                                                                             |
|o3 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+

See also
========

  * HodgeIntegrals -- Hodge integrals on the moduli space of curves
  * hodgeRing -- create a ring containing algebraic classes
    on moduli spaces of curves
  * integral -- evaluate Hodge integrals

For the programmer
==================

The object ch, is an indexed variable table (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in HodgeIntegrals.m2:708:0.

hodgeRing -- create a ring containing algebraic classes on moduli spaces of curves
**********************************************************************************

  * Usage:
        hodgeRing(g,n)
  * Inputs:
      * g, an integer (Macaulay2Doc),
      * n, an integer (Macaulay2Doc),
  * Outputs:
      * a polynomial ring (Macaulay2Doc),

Description
===========

The function hodgeRing, must must be called before
integral, in order to initialize a ring QQ[$\psi_1, ..., \psi_a, k_1,
..., k_b, \lambda_1, ..., \lambda_c$] containing variables used by
integral.  The inputs g and n should be at least as large as the
genus and number of points that will used. Overestimating the values of g and n
are fine, but initializing these numbers too small will result in error
messages.

Caveat
======

The output of hodgeRing is not a geometric object but a computational one. The
intersection numbers are calculated recursively using pullbacks by natural
morphisms (c.f., equations (4), (8)--(11), and (13) of [Y]). Rather than
initializing a new tautological ring for every step of this recursion, this
package provides the function hodgeRing to the user to create a ring large
enough to contain all the variables which might be needed, and uses
endomorphisms of the master ring instead of natural morphisms between several
rings.

Here are some examples:

+-----------------------------------------------------------------------------+
|i1 : R = hodgeRing (4, 1);                                                   |
+-----------------------------------------------------------------------------+
|i2 : integral (1, 1, psi_1)                                                  |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|      1                                                                      |
|o2 = --                                                                      |
|     24                                                                      |
|                                                                             |
|o2 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+
|i3 : integral (3, 0, lambda_1^6)                                             |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|       1                                                                     |
|o3 = -----                                                                   |
|     90720                                                                   |
|                                                                             |
|o3 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+

References
==========

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

See also
========

  * HodgeIntegrals -- Hodge integrals on the moduli space of curves
  * integral -- evaluate Hodge integrals

For the programmer
==================

The object hodgeRing, is a function closure (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in HodgeIntegrals.m2:572:0.

integral -- evaluate Hodge integrals
************************************

  * Usage:
        integral(g, n, klp)
  * Inputs:
      * g, an integer (Macaulay2Doc),
      * n, an integer (Macaulay2Doc),
  * Outputs:
      * a rational number (Macaulay2Doc),

Description
===========

 This function computes top intersection numbers among tautological classes on
the moduli space of curves. The tautological classes include products of the
Mumford-Morita-Miller classes $k_i$, the cotangent line classes $\psi_i$, and
the Chern classes and Chern characters, $\lambda_i$ and $ch_i$ of the Hodge
bundle.

The function hodgeRing, must be called previously with values
of g and n at least as large as those to be used.,

Examples
========

 Here are a few examples illustrating the $\lambda_g$ formula [FP, Theorem 1],
$$\int_{{\bar M}_{g,n}} \psi_1^{a_1}...\psi_n^{a_n} \lambda_g=
|B_{2g}|(2g+n-3)!(2^{2g-1}-1) / (a_1!...a_n!2^{2g-1}(2g)!),$$ where $B_i$
represents the $i$-th Bernoulli number.

+-----------------------------------------------------------------------------+
|i1 : R = hodgeRing (3, 3);                                                   |
+-----------------------------------------------------------------------------+
|i2 : integral (1, 1, lambda_1)                                               |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|      1                                                                      |
|o2 = --                                                                      |
|     24                                                                      |
|                                                                             |
|o2 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+
|i3 : integral (2, 2, psi_1 * psi_2^2 * lambda_2)                             |
|warning: clearing value of symbol tempCh to allow                            |
|       : debug with expression   debug 1257   or                             |
|                                                                             |
|       7                                                                     |
|o3 = ----                                                                    |
|     1920                                                                    |
|                                                                             |
|o3 : R                                                                       |
|-----------------------------------------------------------------------------|
| access to subscripted variables based on it                                 |
|with command line option   --debug 1257                                      |
+-----------------------------------------------------------------------------+
|i4 : integral (3, 3, psi_1 * psi_2^2 * psi_3^3 *                             |
|warning: clearing value of symbol tempCh to allow                            |
|       : debug with expression   debug 1257   or                             |
|                                                                             |
|       31                                                                    |
|o4 = -----                                                                   |
|     16128                                                                   |
|                                                                             |
|o4 : R                                                                       |
|-----------------------------------------------------------------------------|
|lambda_3)                                                                    |
| access to subscripted variables based on it                                 |
|with command line option   --debug 1257                                      |
+-----------------------------------------------------------------------------+

Here are a few more examples.

+-----------------------------------------------------------------------------+
|i5 : R = hodgeRing (4, 0);                                                   |
+-----------------------------------------------------------------------------+
|i6 : integral (2, 0, lambda_1^3)                                             |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|       1                                                                     |
|o6 = ----                                                                    |
|     2880                                                                    |
|                                                                             |
|o6 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+
|i7 : integral (3, 0, lambda_1^6)                                             |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|       1                                                                     |
|o7 = -----                                                                   |
|     90720                                                                   |
|                                                                             |
|o7 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+
|i8 : integral (4, 0, lambda_1^9)                                             |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|        1                                                                    |
|o8 = ------                                                                  |
|     113400                                                                  |
|                                                                             |
|o8 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+

References
==========

[FP] Faber, C. and Pandharipande, R., Hodge integrals, partition matrices, and
the $\lambda_g$ conjecture. Annals of Mathematics, 156 (2002), 97-124.

See also
========

  * HodgeIntegrals -- Hodge integrals on the moduli space of curves
  * hodgeRing -- create a ring containing algebraic classes
    on moduli spaces of curves
  * wittenTau -- Witten tau integrals

For the programmer
==================

The object integral, is a function closure (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in HodgeIntegrals.m2:629:0.

kappa -- Miller-Morita-Mumford classes
**************************************

  * Usage:
        kappa_a
  * Inputs:
      * a, an integer (Macaulay2Doc),
  * Outputs:
      * a ring element (Macaulay2Doc),

Description
===========

This is an element in the ring created by hodgeRing. It is the
Miller-Morita-Mumford class discussed in [AC].

 Here is a simple example which calculates $\int_{{\bar M}_{1,1}} k_1$.

+-----------------------------------------------------------------------------+
|i1 : R = hodgeRing (1, 1);                                                   |
+-----------------------------------------------------------------------------+
|i2 : kappa_1                                                                 |
|                                                                             |
|o2 = kappa                                                                   |
|          1                                                                  |
|                                                                             |
|o2 : R                                                                       |
+-----------------------------------------------------------------------------+
|i3 : integral(1, 1, kappa_1)                                                 |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|      1                                                                      |
|o3 = --                                                                      |
|     24                                                                      |
|                                                                             |
|o3 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+

References
==========

[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.

See also
========

  * HodgeIntegrals -- Hodge integrals on the moduli space of curves
  * hodgeRing -- create a ring containing algebraic classes
    on moduli spaces of curves
  * integral -- evaluate Hodge integrals

For the programmer
==================

The object kappa, is an indexed variable table (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in HodgeIntegrals.m2:737:0.

lambda -- Chern class of the Hodge bundle
*****************************************

  * Usage:
        lambda_a
  * Inputs:
      * a, an integer (Macaulay2Doc),
  * Outputs:
      * a ring element (Macaulay2Doc),

Description
===========

This is an element in the ring created by hodgeRing. It is the $a$-th Chern
class of the Hodge bundle on ${\bar M}_{g,n}$.,

 Here is a simple example which calculates $\int_{{\bar M}_{1,1}} \lambda_1$.

+-----------------------------------------------------------------------------+
|i1 : R = hodgeRing (1, 1);                                                   |
+-----------------------------------------------------------------------------+
|i2 : lambda_1                                                                |
|                                                                             |
|o2 = lambda                                                                  |
|           1                                                                 |
|                                                                             |
|o2 : R                                                                       |
+-----------------------------------------------------------------------------+
|i3 : integral(1, 1, lambda_1)                                                |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|      1                                                                      |
|o3 = --                                                                      |
|     24                                                                      |
|                                                                             |
|o3 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+

See also
========

  * HodgeIntegrals -- Hodge integrals on the moduli space of curves
  * hodgeRing -- create a ring containing algebraic classes
    on moduli spaces of curves
  * integral -- evaluate Hodge integrals

For the programmer
==================

The object lambda, is an indexed variable table (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in HodgeIntegrals.m2:762:0.

psi -- cotangent line class
***************************

  * Usage:
        psi_i
  * Inputs:
      * i, an integer (Macaulay2Doc),
  * Outputs:
      * a ring element (Macaulay2Doc),

Description
===========

This is an element in the ring created by hodgeRing. It is the $i$-th cotangent
line class. Definitions and properties can be found in [AC].

 Here is a simple example which calculates $\int_{{\bar M}_{1,1}} \psi_1$.

+-----------------------------------------------------------------------------+
|i1 : R = hodgeRing (1, 1);                                                   |
+-----------------------------------------------------------------------------+
|i2 : psi_1                                                                   |
|                                                                             |
|o2 = psi                                                                     |
|        1                                                                    |
|                                                                             |
|o2 : R                                                                       |
+-----------------------------------------------------------------------------+
|i3 : integral(1, 1, psi_1)                                                   |
|warning: clearing value of symbol tempCh to                                  |
|       : debug with expression   debug 1257                                  |
|                                                                             |
|      1                                                                      |
|o3 = --                                                                      |
|     24                                                                      |
|                                                                             |
|o3 : R                                                                       |
|-----------------------------------------------------------------------------|
|allow access to subscripted variables based on it                            |
|  or with command line option   --debug 1257                                 |
+-----------------------------------------------------------------------------+

References
==========

[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.

See also
========

  * HodgeIntegrals -- Hodge integrals on the moduli space of curves
  * hodgeRing -- create a ring containing algebraic classes
    on moduli spaces of curves
  * integral -- evaluate Hodge integrals

For the programmer
==================

The object psi, is an indexed variable table (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in HodgeIntegrals.m2:794:0.

wittenTau -- Witten tau integrals
*********************************

  * Usage:
        wittenTau(g,a), wittenTau(a)
  * Inputs:
      * g, an integer (Macaulay2Doc),
      * a, a list (Macaulay2Doc),
  * Outputs:
      * a rational number (Macaulay2Doc),

Description
===========

 The Witten tau coefficients are top intersection numbers of cotangent line
classes on the moduli space of curves. The integral of
$\psi_1^{d_1}\psi_2^{d_2}...\psi_n^{d_n}$ on the moduli space of stable
$n$-pointed curves of genus $g$ is denoted: $$\int_{{\bar M}_{g,n}}
\psi_1^{d_1}...\psi_n^{d_n} = <\tau_{d_0}\tau_{d_1}...\tau_{d_n}> =
<\tau_0^{a_0}\tau_1^{a_1}...\tau_k^{a_k}>.$$ The list $\{a_0,a_1,...,a_k\}$ is
the argument for wittenTau. These integrals are computed recursively using the
string equation, dilation equation, and an effective genus recursion formula of
Liu and Xu [LX].

The genus is an optional parameter. If it is omitted, the genus is
automatically calculated.

Examples
========

Here are some examples illustrating the well-known formula that is a result of
Witten's conjecture: $$\int_{{\bar M}_{0,n}} \psi_1^{a_1}...\psi_n^{a_n} =
\frac{(n-3)!}{a_1!...a_n!}$$

+----------------------------+
|i1 : wittenTau (0,{3})      |
|                            |
|o1 = 1                      |
|                            |
|o1 : QQ                     |
+----------------------------+
|i2 : wittenTau (0,{4, 1, 1})|
|                            |
|o2 = 3                      |
|                            |
|o2 : QQ                     |
+----------------------------+
|i3 : wittenTau (0,{5, 0, 2})|
|                            |
|o3 = 6                      |
|                            |
|o3 : QQ                     |
+----------------------------+

Here are some additional examples in higher genus.

+--------------------------------+
|i4 : wittenTau (1,{0,1})        |
|                                |
|      1                         |
|o4 = --                         |
|     24                         |
|                                |
|o4 : QQ                         |
+--------------------------------+
|i5 : wittenTau (3,{0,0,0,0,0,1})|
|                                |
|o5 = 0                          |
|                                |
|o5 : QQ                         |
+--------------------------------+
|i6 : wittenTau (5,{0,0,0,0,0,3})|
|                                |
|       41873                    |
|o6 = ---------                  |
|     255467520                  |
|                                |
|o6 : QQ                         |
+--------------------------------+

References
==========

[LX] Liu, K. and Xu, H. An effective recursion formula for computing
intersection numbers. Available at http://front.math.ucdavis.edu/0710.5322

See also
========

  * HodgeIntegrals -- Hodge integrals on the moduli space of curves
  * hodgeRing -- create a ring containing algebraic classes
    on moduli spaces of curves
  * integral -- evaluate Hodge integrals

Ways to use wittenTau:
======================

  * "wittenTau(List)"
  * "wittenTau(ZZ,List)"

For the programmer
==================

The object wittenTau, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in HodgeIntegrals.m2:682:0.