This function uses propagation and factorization to recursively compute ranks in terms of the ranks on M0,3. These are determined by the so-called fusion rules and are computed via the function fusionCoefficient in the LieTypes package. See [Beauville] for details on these topics.
In the example below we compute the rank of the conformal block bundle V(sl3,2,(ω1,ω1,ω2,ω2)).
i1 : needsPackage("LieTypes") o1 = LieTypes o1 : Package |
i2 : sl_3=simpleLieAlgebra("A",2); |
i3 : V=conformalBlockVectorBundle(sl_3,2,{{1,0},{1,0},{0,1},{0,1}},0) o3 = ConformalBlockVectorBundle{Genus => 0 } Level => 2 LieAlgebra => LieAlgebra{isSimple => true } LieAlgebraRank => 2 RootSystemType => A NumberOfPoints => 4 Weights => {{1, 0}, {1, 0}, {0, 1}, {0, 1}} o3 : ConformalBlockVectorBundle |
i4 : conformalBlockRank(V) o4 = 2 |