Calculation of the unit group of a finite ring

332 Views Asked by At

Is there an easy/fast way using GAP to calculate the unit group of a finite ring? For example, the Units command does not work for some finite rings: (I'm using the GAP-package QPA)

gap> A:=NakayamaAlgebra([5],GF(3));
gap> IsRing(A);
true
gap> Units(A);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `GroupByGenerators' on 2 arguments called from
GroupByGenerators( [  ], one ) at /opt/gap4r8/lib/ring.gi:895 called from
<function "unknown">( <arguments> )
 called from read-eval loop at line 4 of *stdin*
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk> 
1

There are 1 best solutions below

1
On BEST ANSWER

Certainly easy: Units:

gap> r:=SmallRing(12,5);
<ring with 1 generators>
gap> Units(r);              
<group with 2 generators>

It works by running through all ring elements, so if is not necessarily fast if the ring is finite but large.