# 38.2 Algebras and Unital Algebras

Not all algebras contain a (left and right) multiplicative neutral identity element, but if an algebra contains such an identity element it is unique.

If an algebra A contains a multiplicative neutral element then in general it cannot be derived from an arbitrary element a of A by forming a / a or a^0, since these operations may be not defined for the algebra A.

More precisely, it may be possible to invert a or raise it to the zero-th power, but A is not necessarily closed under these operations. For example, if a is a square matrix in GAP then we can form a^0 which is the identity matrix of the same size and over the same field as a.

On the other hand, an algebra may have a multiplicative neutral element Zero and One for Algebras).

In many cases, however, the zero-th power of algebra elements is well-defined, with the result again in the algebra. This holds for Finitely Presented Algebras) and all those matrix algebras whose generators are the generators of a finite group.

For practical purposes it is useful to distinguish general algebras and unital algebras.

A unital algebra in GAP is an algebra U that is known to contain zero-th powers of elements, and all functions may assume this. A not unital algebra A may contain zero-th powers of elements or not, and no function for A should assume existence or nonexistence of these elements in A. So it may be possible to view A as a unital algebra using AsUnitalAlgebra( A ) (see AsUnitalAlgebra), and of course it is always possible to view a unital algebra as algebra using AsAlgebra( U ) (see AsAlgebra).

A can have unital subalgebras, and of course U can have subalgebras that are not unital.

The images of unital algebras under operation homomorphisms are either unital or trivial, since the identity of the source acts trivially, so its image under the homomorphism is the identity of the image.

The following example shows the main differences between algebras and unital algebras.

gap> a:= [ [ 1, 0 ], [ 0, 0 ] ];;
gap> alg1:= Algebra( Rationals, [ a ] );
Algebra( Rationals, [ [ [ 1, 0 ], [ 0, 0 ] ] ] )
gap> id:= a^0;
[ [ 1, 0 ], [ 0, 1 ] ]
gap> id in alg1;
false
gap> alg2:= UnitalAlgebra( Rationals, [ a ] );
UnitalAlgebra( Rationals, [ [ [ 1, 0 ], [ 0, 0 ] ] ] )
gap> id in alg2;
true
gap> alg3:= AsAlgebra( alg2 );
Algebra( Rationals, [ [ [ 1, 0 ], [ 0, 0 ] ], [ [ 1, 0 ], [ 0, 1 ] ]
] )
gap> alg3 = alg2;
true
gap> AsUnitalAlgebra( alg1 );
Error, <D> is not unital

We see that if we want the identity matrix to be contained in an algebra that is not known to be unital, it might be necessary to add it to the generators. If we would not have the possibility to define unital algebras, this would lead to the strange situations that a two-generator algebra means an algebra generated by one nonidentity generator and the identity matrix, or that an algebra is free on the set X but is generated as algebra by the set X plus the identity.

GAP 3.4.4
April 1997