group.py GenerateGroup

AbelianGenerate

This is a class for finite group with generators.
It provides some functions for abelian groups.

Initialize

See GenerateGroup

Example:

>>>Gga=AbelianGenerate([intresidue.IntegerResidueClass(2, 20), intresidue.IntegerResidueClass(6, 20)])

(See intresidue.py)

Methods

relationLattice

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)

computeStructure

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

Other methods are inherited from GenerateGroup class.