R be an associative ring, not necessarily with a unit element. The set
of all elements of
R forms a monoid with the neutral element 0 from
under the operation
r*s = r + s + rs defined for all
operation is called
circle multiplication; it is also known as
multiplication. The monoid of elements of
R under circle multiplication is
called the adjoint semigroup of
R. The group of all invertible elements of
this monoid is called the adjoint group of
These notions naturally lead to a number of questions about the connection between a ring and its adjoint group, for example, how the ring properties will determine properties of the adjoint group; which groups can appear as adjoint groups of rings; which rings can have adjoint groups with prescribed properties, etc.
The main objective of the GAP package Circle is to extend GAP functionality for computations in adjoint groups of associative rings to make it possible to use the GAP system for the investigation of such questions.
Circle provides functionality to construct circle objects that will respect
r*s = r + s + rs, create multiplicative groups,
generated by these objects, and compute groups of elements, invertible with
respect to this operation, for finite radical algebras and finite associative
rings without one.