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 ]
GAP 3.4.4