# FreeLieAlgebra(VarSet, R)ΒΆ

The category of free Lie algebras. It is used by domains of non-commutative algebra: LiePolynomial and XPBWPolynomial. Author: Michel Petitot (petitot@lifl.`fr`)

0: %

from AbelianMonoid

*: (%, R) -> %

from RightModule R

*: (Integer, %) -> %

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (R, %) -> %

from LeftModule R

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

/: (%, R) -> % if R has Field

from LieAlgebra R

=: (%, %) -> Boolean

from BasicType

~=: (%, %) -> Boolean

from BasicType

coef: (XRecursivePolynomial(VarSet, R), %) -> R

`coef(x, y)` returns the scalar product of `x` by `y`, the set of words being regarded as an orthogonal basis.

coerce: % -> OutputForm
coerce: % -> XDistributedPolynomial(VarSet, R)

`coerce(x)` returns `x` as distributed polynomial.

coerce: % -> XRecursivePolynomial(VarSet, R)

`coerce(x)` returns `x` as a recursive polynomial.

coerce: VarSet -> %

`coerce(x)` returns `x` as a Lie polynomial.

construct: (%, %) -> %

from LieAlgebra R

degree: % -> NonNegativeInteger

`degree(x)` returns the greatest length of a word in the support of `x`.

eval: (%, List VarSet, List %) -> %

`eval(p, [x1, ..., xn], [v1, ..., vn])` replaces `xi` by `vi` in `p`.

eval: (%, VarSet, %) -> %

`eval(p, x, v)` replaces `x` by `v` in `p`.

latex: % -> String

from SetCategory

LiePoly: LyndonWord VarSet -> %

`LiePoly(l)` returns the bracketed form of `l` as a Lie polynomial.

lquo: (XRecursivePolynomial(VarSet, R), %) -> XRecursivePolynomial(VarSet, R)

`lquo(x, y)` returns the left simplification of `x` by `y`.

mirror: % -> %

`mirror(x)` returns `Sum(r_i mirror(w_i))` if `x` is `Sum(r_i w_i)`.

opposite?: (%, %) -> Boolean

from AbelianMonoid

rquo: (XRecursivePolynomial(VarSet, R), %) -> XRecursivePolynomial(VarSet, R)

`rquo(x, y)` returns the right simplification of `x` by `y`.

sample: %

from AbelianMonoid

subtractIfCan: (%, %) -> Union(%, failed)
trunc: (%, NonNegativeInteger) -> %

`trunc(p, n)` returns the polynomial `p` truncated at order `n`.

varList: % -> List VarSet

`varList(x)` returns the list of distinct entries of `x`.

zero?: % -> Boolean

from AbelianMonoid

AbelianGroup

AbelianMonoid

AbelianSemiGroup

BasicType

BiModule(R, R)

CancellationAbelianMonoid

SetCategory