This is a class for finite group with generators.
It provides some functions for abelian groups.
See GenerateGroup
Example:
>>>Gga=AbelianGenerate([intresidue.IntegerResidueClass(2, 20), intresidue.IntegerResidueClass(6, 20)])(See intresidue.py)
Return relation lattice basis as each column vector square matrix for generator.
The relation basis, V satisfies that product(generator[i]**V[i])=1.
>>>Gga.relationLattice() 10 7 0 1
This means that 2*10+6*0=2*7+6*1=0 (mod 20).(additive group operation)
Compute Finite Abelian Group Structure.
If the group,G = <h1>*<h2>*..*<hn>, return [(h1, ord(h1)),..(hn, ord(hn))] and #G.
(= denotes isomorphism, <hi> a cyclic group with generator hi and * direct product.)
>>>Gga.computeStructure() ([IntegerResidueClassRing,IntegerResidueClass(2, 20), 10)], 10L)
This means that this group is essentially generated by 2(mod 20) whose order is 10, and the generated group's order is also 10.
Other methods are inherited from GenerateGroup class.