This type implements $S_n$ symmetric divisors on the moduli space of stable n-pointed genus 0 curves $\bar{M}_{0,n}$.

The standard basis of the $Q$-vector space of $S_n$ symmetric divisors on $\bar{M}_{0,n}$ is given by the boundary divisors B_i, as we now explain. Let $\Delta_I$ be the closure of the locus of curves with two irreducible components meeting at one node such that the marked points with labels in $I$ lie on the first component, and the marked points with labels in $I^c$ lie on the second component. Then $B_i= \sum_{\#I=i} \Delta_I$, and the divisors $B_2, ..., B_{[n/2]}$ form a basis of the space of symmetric divisors. See [KM].

Symmetric divisors are implemented as hash tables. The key "NumberOfPoints" records the number of marked points, i.e., the $n$ in $\bar{M}_{0,n}$. The keys must be integers between 2 and $[n/2]$; the value of the key i is the coefficient of $B_i$ when a divisor $D$ is written in the standard basis.

An object of the "SymmetricDivisorM0nbar" class can be created using the function symmetricDivisorM0nbar in either one of two ways: by entering $n$ and a linear polynomial in the $B_i$'s, or entering $n$ and a list of coefficients.

Methods are included for adding two symmetric divisors, negating a divisor, multiplying a divisor by a scalar, and testing equality of two divisors. The function coefficientList returns the list of the coefficients.

- canonicalDivisorM0nbar -- returns the class of the canonical divisor on the moduli space of stable n-pointed genus 0 curves
- kappaDivisorM0nbar -- the class of the divisor kappa
- psiDivisorM0nbar -- returns the class of the divisor $\Psi$
- scale -- reduces a list or divisor by the gcd of its coefficients
- symmetricDivisorM0nbar -- create a symmetric divisor on the moduli space of stable pointed genus 0 curves
- symmetrizedConformalBlockDivisor -- computes the symmetrization of the first Chern class of a conformal block vector bundle

- - SymmetricDivisorM0nbar -- negate a symmetric divisor
- coefficientList(SymmetricDivisorM0nbar) -- see coefficientList -- the coefficients of a symmetric divisor D in the standard basis
- expression(SymmetricDivisorM0nbar) (missing documentation)
- isExtremalSymmetricFDivisor(SymmetricDivisorM0nbar) -- see isExtremalSymmetricFDivisor -- tests whether an S_n symmetric divisor spans an extremal ray of the cone of symmetric F-divisors
- isSymmetricFDivisor(SymmetricDivisorM0nbar) -- see isSymmetricFDivisor -- checks whether a symmetric divisor intersects all the F-curves nonnegatively
- killsCurves(SymmetricDivisorM0nbar) -- see killsCurves -- given an S_n symmetric divisor D, produces a list of symmetric F-curves C such that C dot D = 0
- net(SymmetricDivisorM0nbar) (missing documentation)
- Number * SymmetricDivisorM0nbar -- multiply a symmetric divisor by a number
- scale(SymmetricDivisorM0nbar) -- see scale -- reduces a list or divisor by the gcd of its coefficients
- symmetricCurveDotDivisorM0nbar(List,SymmetricDivisorM0nbar) -- see symmetricCurveDotDivisorM0nbar -- the intersection number of a symmetric F-curve C with the symmetric divisor D
- SymmetricDivisorM0nbar + SymmetricDivisorM0nbar -- add two $S_n$ symmetric divisors
- SymmetricDivisorM0nbar == SymmetricDivisorM0nbar -- test equality of two symmetric divisor classes on $\bar{M}_{0,n}$

The object SymmetricDivisorM0nbar is a type, with ancestor classes HashTable < Thing.