< ^ From:

> ^ Subject:

Dear GAP Forum,

When playing around with the 'Blocks' and 'Operation' functions of GAP

I encountered the following problem:

gap> sl22 := SpecialLinearGroup ( 2, 2 ); SL(2,2) gap> dom := Blocks ( sl22, Elements ( sl22 ), OnLeft ); [ [ [ [ 0*Z(2), Z(2)^0 ], [ Z(2)^0, 0*Z(2) ] ], [ [ Z(2)^0, Z(2)^0 ], [ Z(2)^0, 0*Z(2) ] ] ], [ [ [ 0*Z(2), Z(2)^0 ], [ Z(2)^0, Z(2)^0 ] ], [ [ Z(2)^0, Z(2)^0 ], [ 0*Z(2), Z(2)^0 ] ] ], [ [ [ Z(2)^0, 0*Z(2) ], [ 0*Z(2), Z(2)^0 ] ], [ [ Z(2)^0, 0*Z(2) ], [ Z(2)^0, Z(2)^0 ] ] ] ] gap> g := Operation ( sl22, dom, OnSets ); Error, List Element: <list>[4] must have a value at prm[i] := pos[PositionSorted( set, opr( D[i], gen ) )] ... in arg[1].operations.Operation( arg[1], arg[2], arg[3] ) called from Operation( sl22, dom, OnSets ) called from main loop brk>

It seems that 'PositionSorted' could not find the image of a block

in the block list. This becomes obvious if one tries to do this

directly:

gap> List ( dom, x->PositionSorted ( dom, sl22.1*x ) ); [ 4, 4, 4 ]

I suppose the elements of the block list are sets (as one would

expect) but the images sl22.1*dom[i] are not sets, their elements are

ordered in a different way and therefore they are not found in the

list. If the 'Set' operator is supplied explicitly the above statement

works:

gap> List ( dom, x->PositionSorted ( dom, Set ( sl22.1*x ) ) ); [ 1, 3, 2 ] -- ------------------------------------------------------------------------ Martin Wursthorn Universit"at Stuttgart Tel. (+49 711) 685 5517 Mathematisches Inst. B Fax. (+49 711) 685 5322 3. Lehrstuhl ------------------------------------------------------------------------

> < [top]