AffineOperation( U, V, varphi, tau )
Let U be an ag group with an induced generating system u_1, ..., u_m
and let V be a vector space with base (o_1, ..., o_n). Further U
should act affinely on V. So if v is an element of V and u is an
element of U, then v^u = v_u + x_u, such that the function which maps
v to v_u is linear and x_u is an element of V. These actions are
given by the functions varphi and tau as follows. <varphi>(
v, u) must return the representation of v_u with respect to the base
(o_1, ..., o_n) as sequence of finite field elements. <tau>( u )
must return the representation of x_u in the base (o_1, ..., o_n) as
sequence of finite field elements. If these conditions are fulfilled,
AffineOperation returns a matrix group M describing this action.
Note that M.images contains a list of matrices m_i, such that m_i
describes the action of u_i and m_i is of the form
left(
beginarraycc
L_u_i & 0
x_u_i & 1
endarray
right),
where L_u is the matrix which describes the linear operation v in Vmapsto v_u.
gap> v4 := AgSubgroup( s4, [ c, d ], true );
Subgroup( s4, [ c, d ] )
gap> v4.field := GF( 2 );
GF(2)
gap> phi := function( v, g )
> return Exponents( v4, v^g, v4.field );
> end;
function ( v, g ) ... end
gap> tau := g -> Exponents( v4, v4.identity, v4.field );
function ( g ) ... end
gap> V := rec( base := [ c, d ], isDomain := true );
rec(
base := [ c, d ],
isDomain := true )
gap> AffineOperation( s4, V, phi, tau );
Group( [ [ Z(2)^0, Z(2)^0, 0*Z(2) ], [ 0*Z(2), Z(2)^0, 0*Z(2) ],
[ 0*Z(2), 0*Z(2), Z(2)^0 ] ],
[ [ 0*Z(2), Z(2)^0, 0*Z(2) ], [ Z(2)^0, Z(2)^0, 0*Z(2) ],
[ 0*Z(2), 0*Z(2), Z(2)^0 ] ] )
GAP 3.4.4