# LieAlgebra -- the class of all Lie algebras

## Description

This type represents graded Lie algebras. More precisely, the Lie algebras under consideration are graded over ${\mathbb Z}^{+}\times {\mathbb Z}^n\times {\mathbb Z}/2{\mathbb Z}$, where the first component is called the degree, and the last component is called the sign, which is 0 or 1 and have effect on the axioms, see below. The list of components of the grading except the sign is called the weight, and the last component of the weight is called the homological degree. If no differential is defined, then the homological degree will be zero for all elements. Each object of type LieAlgebra is also a type L, and elements in L belong also to the type LieElement, which is the parent of L. Lie multiplication is given by LieElement LieElement.

The axioms for Lie algebras depend on the signs of the generators, which are specified by lieAlgebra(...,Signs=>...). The sign of a homogeneous element can be obtained by the function sign. In the axioms below the sign of an element $a$ is written sign($a$).

Anticommutativity: [$a$, $b$] = -(-1)^{sign($a$) * sign($b$)} [$b$, $a$]

Jacobi identity: [$a$, [$b$, $c$]] = [[$a$, $b$], $c$] + (-1)^{sign($a$) * sign($b$)} [$b$, [$a$, $c$]]

Also, in characteristic 2 and 3, there are in addition the following axioms:

Characteristic 2: [$a$, $a$] = 0

Characteristic 3: [$a$, [$a$, $a$]] = 0

 i1 : L = lieAlgebra{a,b} o1 = L o1 : LieAlgebra i2 : a o2 = a o2 : L i3 : class L o3 = LieAlgebra o3 : Type i4 : parent L o4 = LieElement o4 : Type i5 : a b o5 = - (b a) o5 : L i6 : weight oo o6 = {2, 0} o6 : List

## Functions and methods returning an object of class LieAlgebra :

• differentialLieAlgebra -- make a differential Lie algebra
• "holonomy(List,List)" -- see holonomy -- compute the holonomy Lie algebra associated to an arrangement or matroid
• koszulDual -- compute the Lie algebra whose enveloping algebra is the Koszul dual of a quadratic algebra
• lieAlgebra -- make a free Lie algebra
• minimalModel -- compute the minimal model

## For the programmer

The object LieAlgebra is a type, with ancestor classes HashTable < Thing.