8 Algebras

Self-similar algebras and algebras with one (below FR algebras) are simply algebras [with one] whose elements are linear FR machines. They naturally act on the alphabet of their elements, which is a vector space.

Elements may be added, subtracted and multiplied. They can be vector or algebra linear elements; the vector elements are in general preferable, for efficiency reasons.

Finite-dimensional approximations of self-similar algebras can be computed; they are given as matrix algebras.

8.1 Creators for FR algebras

The most straightforward creation method for FR algebras is Algebra(), applied with linear FR elements as arguments. There are shortcuts to this somewhat tedious method:

8.1-1 FRAlgebra

‣ FRAlgebra( ring, {definition, } )

( operation )

‣ FRAlgebraWithOne( ring, {definition, } )

( operation )

Returns: A new self-similar algebra [with one].

This function constructs a new FR algebra [with one], generated by linear FR elements. It receives as argument any number of strings, each of which represents a generator of the object to be constructed.

ring is the acting domain of the vector space on which the algebra will act.

Each definition is of the form "name=[[...],...,[...]]" or of the form "name=[[...],...,[...]]:out", namely a matrix whose entries are algebraic expressions in the names, possibly using 0,1, optionally followed by a scalar. The matrix entries specify the decomposition of the element being defined, and the optional scalar specifies the output of that element, by default assumed to be one.

The option IsVectorElement asks for the resulting algebra to be generated by vector elements, see example below. The generators must of course be finite-state.

This function constructs a new FR algebra [vith one] a, generated by all the states of the FR machine m. There is a bijective correspondence between GeneratorsOfFRMachine(m) and the generators of a, which is accessible via Correspondence(a) (See Correspondence (7.1-4)); it is a homomorphism from the stateset of m to a, or a list indicating for each state of m a corresponding generator index in the generators of a (with 0 for identity).

In the non-NC forms, redundant (equal, zero or one) states are removed from the generating set of a.

8.2-3 Nillity

The first command computes the nillity of x, i.e. the smallest n such that x^n=0. The command is not guaranteed to terminate.

The second command returns whether x is nil, that is, whether its nillity is finite.

8.2-4 DegreeOfHomogeneousElement

‣ DegreeOfHomogeneousElement( x )

( attribute )

‣ IsHomogeneousElement( x )

( property )

Returns: The degree of x in its parent.

If x belongs to a graded algebra A, then the second command returns whether x belongs to a homogeneous component of Grading(A), and the first command returns the degree of that component (or fail if no such component exists).