TransferDiagram( inside1, between,
inside2 )
TransferDiagram( inside1,
between, inside2, improvements )
Like in CommutativeDiagram, it is checked that [ CompositionMaps( between,
inside1 ) = CompositionMaps( inside2, between
) ] holds for the paramaps inside1, between and
inside2, that means the paramap between occurs twice in
each commutative diagram.
Additionally, CheckFixedPoints CheckFixedPoints is called.
If a record improvements with fields impinside1,
impbetween and impinside2 is specified, only those
diagrams with elements of impinside1 as positions in inside1,
elements of impbetween as positions in between or
elements of impinside2 as positions in inside2 are
considered.
When an inconsistency occurs, the program immediately returns false;
else it returns a record with lists impinside1, impbetween
and impinside2 of found improvements.
gap> s:= CharTable( "2F4(2)" );; ru:= CharTable( "Ru" );;
gap> fus:= InitFusion( s, ru );;
gap> permchar:= Sum( Sublist( ru.irreducibles, [ 1, 5, 6 ] ) );;
gap> CheckPermChar( s, ru, fus, permchar );; fus;
[ 1, 2, 2, 4, 5, 7, 8, 9, 11, 14, 14, [ 13, 15 ], 16, [ 18, 19 ], 20,
[ 25, 26 ], [ 25, 26 ], 5, 5, 6, 8, 14, [ 13, 15 ], [ 18, 19 ],
[ 18, 19 ], [ 25, 26 ], [ 25, 26 ], 27, 27 ]
gap> TransferDiagram( s.powermap[2], fus, ru.powermap[2] );
rec(
impinside1 := [ ],
impbetween := [ 12, 23 ],
impinside2 := [ ] )
gap> TransferDiagram( s.powermap[3], fus, ru.powermap[3] );
rec(
impinside1 := [ ],
impbetween := [ 14, 24, 25 ],
impinside2 := [ ] )
gap> TransferDiagram( s.powermap[2], fus, ru.powermap[2], last );
rec(
impinside1 := [ ],
impbetween := [ ],
impinside2 := [ ] )
gap> fus;
[ 1, 2, 2, 4, 5, 7, 8, 9, 11, 14, 14, 15, 16, 18, 20, [ 25, 26 ],
[ 25, 26 ], 5, 5, 6, 8, 14, 13, 19, 19, [ 25, 26 ], [ 25, 26 ], 27,
27 ]