25.77 AffineOperation

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 ] ] ) 

Previous Up Top Next
Index

GAP 3.4.4
April 1997