Dear Mr. Sorouhesh, dear GAP Forum, On 11 Jul 2012, at 21:07, Mr. Sorouhesh wrote:
> Dear Friends, > > Trough working on the following problem: > > http://math.stackexchange.com/q/168180 > > you can see, the questioner defined a* new operation *on CyclicGroup(7) , > to find inverse elements and search some properties in the group. > > This crossed my mind with this question if we can define a new well-defined > operation on a certain set ,in GAP, to do for example what he did in the > above question? Of course - allowing to define new objects and operations is one of the central GAP design principles. There is a function called ArithmeticElementCreator which offers a simple interface to create new arithmetic elements by providing functions that perform addition, multiplication etc. See `?ArithmeticElementCreator' to see the documentation and example. One can get further with an approach described in the Reference manual, Chapter 82 "An Example – Designing Arithmetic Operations", while ArithmeticElementCreator may be useful to get started though does not permit to exploit all potential features. See also the Circle package <http://www.cs.st-andrews.ac.uk/~alexk/circle/> which provides functionality to construct circle objects that will respect the circle multiplication r *s = r + s + rs, to create multiplicative structures, generated by such objects, and to compute adjoint semigroups and adjoint groups of finite rings. We were trying to make Chapter 2 "Implementing circle objects" useful for users who want to implement their own objects and operations following our examples. Best regards, Alexander _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum