/SingularVectors.jl

Julia tools for finding odd singular vector formula of Lie superalgebras.

Primary LanguageJuliaMIT LicenseMIT

SingularVectors

Demo for implementation of Universal Enveloping Algebras, which can be used for finding singular vectors.

Usage

Install by github links.

using Pkg
Pkg.add("http://github.com/RexWzh/SingularVectors.jl")

Example

Treat the Lie algebra as a subalgebra of the corresponding universal enveloping algebra.

using SingularVectors, Test
alg = AlgebraBySC(sl2scmat)
# elements of lie algebra
(e, h, f), scmat = alg.basis, alg.scmat
# elements of the enveloping algebra
ee, hh, ff = LieEnvElem.(alg.basis)

# PBW ordering: e < h < f
# (hh, ff, ee) = (hh, ee, ff) + (hh, [ff, ee])
#              = (ee, hh, ff) + 2 * (ee, ff) - (hh, hh)
@test ff * ee == ee * ff + f * e
@test hh * ff * ee == hh * ee * ff + hh * (f * e)

Notes:

  • Data type AlgebraBySC is an analogy of the GAP function AlgebraByStructureConstants
  • Element of SCMat are SparseVectors in order to save memory
  • For simplicity, I use SCMat instead of SCMat{T} to represent the structure constants array. This should be changed in the later work.