Macaulay2 » Documentation
Packages » ConformalBlocks :: ConformalBlocks
next | previous | forward | backward | up | index | toc

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 $\bar{M}_{g,n}$ that arise in conformal field theory. Each triple $(\mathbf{g},l,(\lambda_1,...,\lambda_n))$ with $\mathbf{g}$ a simple Lie algebra, $l$ a nonnegative integer called the level, and $(\lambda_1,...,\lambda_n)$ an n-tuple of dominant integral weights of $\mathbf{g}$ specifies a conformal block bundle $V=V(\mathbf{g},l,(\lambda_1,...,\lambda_n))$. This package computes ranks and first Chern classes of conformal block bundles on $\bar{M}_{0,n}$ using formulas from Fakhruddin's paper [Fakh].

Most of the functions are in this package are for $S_n$ 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 of Software for Algebra and Geometry on 2 August 2018, in the article Software for computing conformal block divisors on bar M_0,n (DOI: 10.2140/jsag.2018.8.81). That version can be obtained from the journal or from the Macaulay2 source code repository.


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
    • basisOfSymmetricCurves(ZZ) -- see basisOfSymmetricCurves -- produces a basis of symmetric curves
    • canonicalDivisorM0nbar(ZZ) -- see canonicalDivisorM0nbar -- returns the class of the canonical divisor on the moduli space of stable n-pointed genus 0 curves
    • 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
    • conformalBlockVectorBundle(LieAlgebra,ZZ,List,ZZ) -- see conformalBlockVectorBundle -- creates an object of class ConformalBlockVectorBundle
    • FCurveDotConformalBlockDivisor(List,ConformalBlockVectorBundle) -- see FCurveDotConformalBlockDivisor -- intersection of an F-curve with a conformal block divisor
    • FdotBjIntMat(ZZ) -- see FdotBjIntMat -- matrix of intersection numbers between F-curves and divisors on $\bar{M}_{0,n}$
    • 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
    • kappaDivisorM0nbar(ZZ) -- see kappaDivisorM0nbar -- the class of the divisor kappa
    • 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
    • Number * SymmetricDivisorM0nbar -- multiply a symmetric divisor by a number
    • psiDivisorM0nbar(ZZ) -- see psiDivisorM0nbar -- returns the class of the divisor $\Psi$
    • 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(ZZ,Expression) -- see symmetricDivisorM0nbar -- create a symmetric divisor on the moduli space of stable pointed genus 0 curves
    • symmetricDivisorM0nbar(ZZ,IndexedVariable) -- see symmetricDivisorM0nbar -- create a symmetric divisor on the moduli space of stable pointed genus 0 curves
    • symmetricDivisorM0nbar(ZZ,List) -- see symmetricDivisorM0nbar -- create a symmetric divisor on the moduli space of stable pointed genus 0 curves
    • SymmetricDivisorM0nbar + SymmetricDivisorM0nbar -- add two $S_n$ symmetric divisors
    • SymmetricDivisorM0nbar == SymmetricDivisorM0nbar -- test equality of two symmetric divisor classes on $\bar{M}_{0,n}$
    • symmetricFCurves(ZZ) -- see symmetricFCurves -- a list of all symmetric F-curves given n
    • symmetrizedConformalBlockDivisor(ConformalBlockVectorBundle) -- see symmetrizedConformalBlockDivisor -- computes the symmetrization of the first Chern class of a conformal block vector bundle

For the programmer

The object ConformalBlocks is a package.