Circle Adjoint groups of finite rings Version 1.6.1 25 September 2017 Alexander Konovalov Panagiotis Soules Alexander Konovalov Email: mailto:alexk@mcs.st-andrews.ac.uk Homepage: http://www.cs.st-andrews.ac.uk/~alexk/ Address: School of Computer Science University of St Andrews Jack Cole Building, North Haugh, St Andrews, Fife, KY16 9SX, Scotland Panagiotis Soules Email: mailto:psoules@math.uoa.gr Address: Department of Mathematics National and Capodistrian University of Athens Panepistimioupolis, GR-15784, Athens, Greece ------------------------------------------------------- Abstract The GAP4 package Circle extends the GAP functionality for computations in adjoint groups of associative rings. It provides functionality to construct circle objects that will respect the circle multiplication r ⋅ s = r + s + rs, and to compute adjoint semigroups and adjoint groups of finite rings. Also it may serve as an example of extending the GAP system with new multiplicative objects. ------------------------------------------------------- Copyright © 2006-2017 by Alexander Konovalov and Panagiotis Soules Circle is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For details, see the FSF's own site http://www.gnu.org/licenses/gpl.html. If you obtained Circle, we would be grateful for a short notification sent to one of the authors. If you publish a result which was partially obtained with the usage of Circle, please cite it in the following form: A. Konovalov, P. Soules. Circle --- Adjoint groups of finite rings, Version 1.6.1; 2017 (http://www.cs.st-andrews.ac.uk/~alexk/circle/). ------------------------------------------------------- Acknowledgements We acknowledge very much Alexander Hulpke and James Mitchell for their helpful comments and advices, and the referee for testing the package and useful suggestions. ------------------------------------------------------- Contents (Circle) 1 Introduction 1.1 General aims 1.2 Installation and system requirements 2 Implementing circle objects 2.1 First attempts 2.2 Defining circle objects 2.3 Installing operations for circle objects 3 Circle functions 3.1 Circle objects 3.1-1 CircleObject 3.1-2 UnderlyingRingElement 3.1-3 IsCircleObject 3.1-4 IsPositionalObjectOneSlotRep 3.1-5 CircleFamily 3.2 Operations with circle objects 3.2-1 One 3.2-2 InverseOp 3.2-3 IsUnit 3.2-4 IsCircleUnit 3.3 Construction of the adjoint semigroup and adjoint group 3.3-1 AdjointSemigroup 3.3-2 AdjointGroup 3.4 Service functions 3.4-1 InfoCircle 4 A sample computation with Circle