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