next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
ConformalBlocks :: ConformalBlocks

ConformalBlocks -- for vector bundles of conformal blocks on the moduli space of curves


Vector bundles of conformal blocks are vector bundles on the moduli stack of Deligne-Mumford stable n-pointed genus g curves Mg,n that arise in conformal field theory. Each triple (g,l,(λ1,...,λn)) with g a simple Lie algebra, l a nonnegative integer called the level, and 1,...,λn) an n-tuple of dominant integral weights of g specifies a conformal block bundle V=V(g,l,(λ1,...,λn)). This package computes ranks and first Chern classes of conformal block bundles on M0,n using formulas from Fakhruddin’s paper [Fakh].

Most of the functions are in this package are for Sn symmetric divisors and/or symmetrizations of divisors, but a few functions are included for non-symmetric divisors as well.

Some of the documentation nodes refer to books, papers, and preprints. Here is a link to the Bibliography.

Between versions 1.x and 2.0, the package was rewritten in a more object-oriented way, and the basic Lie algebra functions were moved into a separate package called LieTypes.


Certification a gold star

Version 0.5 of this package was accepted for publication in volume 8 of the journal The Journal of Software for Algebra and Geometry on 2 August 2018, in the article Software for computing conformal block divisors on bar M_0,n. That version can be obtained from the journal or from the Macaulay2 source code repository,, commit number 923fbcc7c77b23f510bb0d740e00fc1722a2f397.


This documentation describes version 2.4 of ConformalBlocks.

Source code

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


  • Types
    • ConformalBlockVectorBundle -- the class of conformal block vector bundles on the moduli space of n-pointed genus g curves
    • SymmetricDivisorM0nbar -- the class of S_n symmetric divisors on the moduli space of stable n-pointed genus 0 curves
  • Functions and commands
  • Methods
    • - SymmetricDivisorM0nbar -- negate a symmetric divisor
    • coefficientList(SymmetricDivisorM0nbar), see coefficientList -- the coefficients of a symmetric divisor D in the standard basis
    • conformalBlockDegreeM04bar(ConformalBlockVectorBundle), see conformalBlockDegreeM04bar -- computes the degree of a conformal block bundle on $\bar{M}_{0,4}$
    • conformalBlockRank(ConformalBlockVectorBundle), see conformalBlockRank -- computes the rank of the conformal block vector bundle
    • expression(ConformalBlockVectorBundle) (missing documentation)
    • expression(SymmetricDivisorM0nbar) (missing documentation)
    • FCurveDotConformalBlockDivisor(List,ConformalBlockVectorBundle), see FCurveDotConformalBlockDivisor -- intersection of an F-curve with a conformal block divisor
    • 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(ConformalBlockVectorBundle) (missing documentation)
    • 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}$
    • symmetrizedConformalBlockDivisor(ConformalBlockVectorBundle), see symmetrizedConformalBlockDivisor -- computes the symmetrization of the first Chern class of a conformal block vector bundle