Creation of Free Algebras and Elements

Contents

Creation of Free Algebras

Currently algebras may only be created over fields. Free algebras are objects of type AlgFr with elements of type AlgFrElt.

FreeAlgebra(K, n) : Fld, RngIntElt -> AlgFr
Create a free algebra in n>0 variables over the field K. The angle bracket notation can be used to assign names to the indeterminates; e.g., F<a,b,c> := FreeAlgebra(GF(2), 3);.
ExteriorAlgebra(K, n) : Fld, RngIntElt -> AlgExt
Create an exterior algebra in n>0 variables over the field K. The angle bracket notation can be used to assign names to the indeterminates; The angle bracket notation can be used to assign names to the indeterminates; e.g., F<a,b,c> := ExteriorAlgebra(GF(2), 3);.

Print Names

The AssignNames and Name functions can be used to associate names with the indeterminates of free algebras after creation.

AssignNames(~F, s) : AlgFr, [ MonStgElt ]) ->
Procedure to change the name of the indeterminates of a free algebra F. The i-th indeterminate will be given the name of the i-th element of the sequence of strings s (for 1≤i≤#s); the sequence may have length less than the number of indeterminates of F, in which case the remaining indeterminate names remain unchanged.

This procedure only changes the name used in printing the elements of F. It does not assign to identifiers corresponding to the strings the indeterminates in F; to do this, use an assignment statement, or use angle brackets when creating the free algebra.

Name(F, i) : AlgFr, RngIntElt -> AlgFrElt
Given a free algebra F, return the i-th indeterminate of F (as an element of F).

Creation of Polynomials

The easiest way to create (noncommutative) polynomials in a given algebra is to use the angle bracket construction to attach variables to the indeterminates, and then to use these variables to create polynomials (see the examples). Below we list other options.

One(F) : AlgFr -> AlgFrElt
Identity(F) : AlgFr -> AlgFrElt
Zero(F) : AlgFr -> AlgFrElt
Representative(F) : AlgFr -> AlgFrElt
F . i : AlgFr, RngInt -> AlgFrElt
Return the i-th indeterminate for the free algebra F in n variables (1≤i≤n) as an element of F.
elt< R | a > : AlgFr, RngElt -> AlgFrElt
R ! s : AlgFr, RngElt -> AlgFrElt
R ! s : AlgFr, [ RngElt ] -> AlgFrElt
elt< R | s > : AlgFr, [ RngElt ] -> AlgFrElt
This element constructor can only be used for trivial purposes in noncommutative free algebras: given a free algebra F=R[x1, ..., xn] and an element a that can be coerced into the coefficient ring R, the constant polynomial a is returned; if a is in F already it will be returned unchanged.
V2.28, 13 July 2023