G-module SEP
AUTHORS: David Joyner, David Roe
OBJECTIVE
Create
- 1. a Python class data structure representing a finite rank G-module R, where G is a given group (already defined in SAGE),
2. a Python class representing a group-with-action G on a set X, where X is a given set (or list?).
PROPERTIES
- 1. The G-module class should be able to:
interface with the MeatAxe data types (see section 3.1.2 of the MeatAxe manual),
structure inherited by FreeModule class,
- have default construction of ZZ[G] but allow for constructing F[H], where F is any field and H is a group containing G,
- implements a G-set X by simply constructing the free abelian group ZZ[X] = ZZ^X,
- interface with the HAP free ZZ[G]-module data type (Here is some info from HAP's manual: "In order to represent a word w in a free ZG-module M of rank n we use a list of integer pairs w=[ [i1,t1], [i2,t2], ..., [ik,tk] ]. The integers ij lie in the range between -n and n and correspond to the free ZZ[G]-generators of M and their additive inverses. The integers tj are positive and correspond to the group element eltsG[tj]. The (partial) listing eltsG may contain duplicate copies of elements of G.")
- interface with HAP's FpGModule(A,G) construction when G is a p-group and M = GF(p)[G]
- 2. The group-with-action class should be able to:
- implement group actions of a Galois group acting on a field,
- if R is an instance of the G-module class then G is a group-with-action on R.