Lie Theory

Cartan matrices

JuLie.CartanMatrixType
struct CartanMatrix{T} <: MatElem{T}

A (generalized) Cartan matrix $C$ is a square matrix over the integers, satisfying the following rules:

\[\begin{aligned} & C_{i,i} = 2 & \\ & C_{i,j} ≤ 0 \quad \text{ for } \quad i≠j \\ & C_{i,j} = 0 \quad \Leftrightarrow \quad C_{j,i} = 0`` \end{aligned}\]

We implement them as MatElem from AbstractAlgebra.jl over fmpz.

You can create a CartanMatrix with

CartanMatrix( "A4~" )     #calls essentially CartanMatrix('A', 4, true)
CartanMatrix( "C6" )      #calls essentially CartanMatrix('C', 6)

which generates the CartanMatrix: $\tilde{A_4}$ resp. $C_6$

If you would like to generate block diagonal matrices you can do so with

CartanMatrix(["A3~","G2","B12"])    #calls essentially CartanMatrix(['A','G','B'],[3,2,12],[true,false,false])
source

Complex reflection groups

JuLie.ImprimitiveComplexReflectionGroupType
ImprimitiveComplexReflectionGroup

In the Shephard–Todd classification of irreducible complex reflection groups, the imprimitive ones are of the form G(m,p,n) for positive integers m,p,n satisfying the following conditions:

  • p divides m
  • n > 1 (otherwise not primitive)
  • (m,p,n) ≠ (1,1,n) (otherwise not irreducible)
  • (m,p,n) ≠ (2,2,2) (otherwise not irreducible)

So far, these groups are not implemented as groups but just as a structure carrying the integers m,p,n. This will be upgraded to an actual group once OSCAR has decided how to do that formally and I know what's the best way to do this. Nonetheless, we can deduce useful information from just the integers.

Example

julia> W=ImprimitiveComplexReflectionGroup(2,1,4) #The Weyl group B4
julia> order(W)
384
source
JuLie.orderFunction
order(W::ImprimitiveComplexReflectionGroup)

The order of the group W. For W=G(m,p,n) this is equal to (mⁿn!)/p.

References

G. Lehrer and D. Taylor, Unitary reflection groups, Australian Mathematical Society Lecture Series, Vol 20, Cambridge University Press (2009), p274.

source
JuLie.rankFunction
rank(W::ImprimitiveComplexReflectionGroup)

By defniniton, the rank of W=G(m,p,n) is the number n. This is also equal the dimension of one (any) irreducible reflection representation of W.

source
JuLie.ngensFunction
ngens(W::ImprimitiveComplexReflectionGroup)

The cardinality of one (any) minimal generating set of W consisting of reflections of W. For W=G(m,p,n) this number is:

  • n if p=1 or p=m
  • n+1 otherwise.

References

G. Lehrer and D. Taylor, Unitary reflection groups, Australian Mathematical Society Lecture Series, Vol 20, Cambridge University Press (2009), p35.

source
JuLie.degreesFunction
degrees(W::ImprimitiveComplexReflectionGroup)

The degrees of W are the degrees of one (any) system of fundamental invariants of the invariant ring ℂ[V]ᵂ, where V is one (any) irreducible reflection representation of W and ℂ[V] is the symmetric algebra of the dual of V. We sort the degrees increasingly. For W=G(m,p,n) they are m, 2m, …, (n-1)m, and nm/p. We sort them increasingly.

References

G. Lehrer and D. Taylor, Unitary reflection groups, Australian Mathematical Society Lecture Series, Vol 20, Cambridge University Press (2009), p274.

source
JuLie.exponentsFunction
exponents(W::ImprimitiveComplexReflectionGroup)

The exponents of W are the integers mᵢ ≔ dᵢ-1, where the dᵢ are the degrees of W.

source
JuLie.codegreesFunction
codegrees(W::ImprimitiveComplexReflectionGroup)

The codegrees of W, sorted decreasingly. For W=G(m,p,n) they are:

  • 0, m, 2m, …, (n-1)m if p ≠ m;
  • 0, m, 2m, …, (n-2)m, (n-1)m - n if p=m.

References

G. Lehrer and D. Taylor, Unitary reflection groups, Australian Mathematical Society Lecture Series, Vol 20, Cambridge University Press (2009), p274.

source
JuLie.coexponentsFunction
coexponents(W::ImprimitiveComplexReflectionGroup)

The coexponents $m_i^*$ of W are related to the codegrees $d_i^*$ via $m_i^* := d_i^* + 1$.

source
JuLie.num_reflectionsFunction
num_reflections(W::ImprimitiveComplexReflectionGroup)

The number of (complex) reflections in W. This is equal to the sum over the exponents of W.

References

G. Lehrer and D. Taylor, Unitary reflection groups, Australian Mathematical Society Lecture Series, Vol 20, Cambridge University Press (2009), Theorem 4.14.

source
JuLie.num_classes_reflectionsFunction
num_classes_reflections(W::ImprimitiveComplexReflectionGroup)

The number of conjugacy classes of (complex) reflections in W. For W=G(m,p,n) this is equal to:

  • m/p if n>2, or n=2 and p is odd;
  • m/p + 1 if n=2 and p is even.

References

U. Thiel, On restricted rational Cherednik algebras (2014), Theorem 15.27.

source
JuLie.num_hyperplanesFunction
num_hyperplanes(W::ImprimitiveComplexReflectionGroup)

The number of reflecting hyperplanes (fixed spaces of complex reflections) of W. This is equal to the sum over the coexponents.

source
JuLie.coxeter_numberFunction
coxeter_number(W::ImprimitiveComplexReflectionGroup)

The Coxeter number $h$ of $W$ is defined as

\[h := \frac{N+N^*}{n} \;,\]

where $N$ is the number of reflections, $N^*$ is the number of reflecting hyperplanes, and $n$ is the rank of $W$.

source