InitFusion( subtbl, tbl ) F
For two ordinary character tables subtbl and tbl,
InitFusion returns a parametrized map that is a first approximation
of the class fusion from subtbl to tbl,
using condition 1. listed in the description of PossibleClassFusions
(see PossibleClassFusions).
If there are classes for which no images are possible, according to this
criterion, then fail is returned.
gap> subtbl:= CharacterTable( "2F4(2)" );; tbl:= CharacterTable( "Ru" );; gap> fus:= InitFusion( subtbl, tbl ); [ 1, 2, 2, 4, [ 5, 6 ], [ 5, 6, 7, 8 ], [ 5, 6, 7, 8 ], [ 9, 10 ], 11, 14, 14, [ 13, 14, 15 ], [ 16, 17 ], [ 18, 19 ], 20, [ 25, 26 ], [ 25, 26 ], [ 5, 6 ], [ 5, 6 ], [ 5, 6 ], [ 5, 6, 7, 8 ], [ 13, 14, 15 ], [ 13, 14, 15 ], [ 18, 19 ], [ 18, 19 ], [ 25, 26 ], [ 25, 26 ], [ 27, 28, 29 ], [ 27, 28, 29 ] ]
CheckPermChar( subtbl, tbl, approxmap, permchar ) F
CheckPermChar replaces the entries of the parametrized map approxmap
by improved values,
according to condition 3. listed in the description of
PossibleClassFusions (see PossibleClassFusions).
CheckPermChar returns true if no inconsistency occurred, and false
otherwise.
gap> permchar:= Sum( Irr( tbl ){ [ 1, 5, 6 ] } );;
gap> CheckPermChar( subtbl, tbl, fus, permchar ); fus;
true
[ 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 ]
ConsiderTableAutomorphisms( approxmap, grp ) F
ConsiderTableAutomorphisms replaces the entries of the parametrized map
approxmap by improved values, according to condition 4. listed in the
description of PossibleClassFusions (see PossibleClassFusions).
Afterwards exactly one representative of fusion maps (contained in approxmap) in each orbit under the action of the permutation group grp is contained in the modified parametrized map.
ConsiderTableAutomorphisms returns the list of positions where
approxmap was changed.
gap> ConsiderTableAutomorphisms( fus, AutomorphismsOfTable( tbl ) ); [ 16 ] gap> fus; [ 1, 2, 2, 4, 5, 7, 8, 9, 11, 14, 14, [ 13, 15 ], 16, [ 18, 19 ], 20, 25, [ 25, 26 ], 5, 5, 6, 8, 14, [ 13, 15 ], [ 18, 19 ], [ 18, 19 ], [ 25, 26 ], [ 25, 26 ], 27, 27 ]
FusionsAllowedByRestrictions( subtbl, tbl, subchars, chars,
approxmap, parameters ) F
Let subtbl and tbl be ordinary character tables,
subchars and chars two lists of (values lists of) characters of
subtbl and tbl, respectively,
approxmap a parametrized map that is an approximation of the class
fusion of subtbl in tbl,
and parameters a record with components
maxlen, minamb, maxamb (three integers),
quick (a boolean),
and contained (a function).
Usual values of contained are ContainedCharacters or
ContainedPossibleCharacters.
FusionsAllowedByResrictions replaces the entries of approxmap
by improved values,
according to condition 5. listed in the description of
PossibleClassFusions (see PossibleClassFusions).
More precisely, the strategy used is as follows.
First, for each c Î chars ,
let restricted:= CompositionMaps( c, approxmap ).
parameters.quick = false then the scalar products of restricted
with subchars are checked;
if not all scalar products are nonnegative integers then
an empty list is returned,
otherwise c is deleted from the list of characters to inspect.
Indeterminateness( minus ) is smaller than
parameters.minamb then c is deleted from the list of
characters.
parameters.minamb £ Indeterminateness( restricted )
£ parameters.maxamb then construct
poss:= parameters.contained( subtbl, subchars, restricted )
and Parametrized( poss ),
and improve the approximation of the fusion map using UpdateMap.
If this yields no further immediate improvements then we branch.
If there is a character from chars left with less or equal
parameters.maxlen possible restrictions,
compute the union of fusion maps allowed by these possibilities.
Otherwise we choose a class C such that the possible restrictions of a
character in chars differ at C,
and compute recursively the union of all allowed fusion maps with image
at C fixed in the set given by the current approximation of the fusion
map.
gap> subtbl:= CharacterTable( "U3(3)" );; tbl:= CharacterTable( "J4" );; gap> fus:= InitFusion( subtbl, tbl );; gap> TestConsistencyMaps( ComputedPowerMaps( subtbl ), fus, > ComputedPowerMaps( tbl ) ); true gap> fus; [ 1, 2, 4, 4, [ 5, 6 ], [ 5, 6 ], [ 5, 6 ], 10, [ 12, 13 ], [ 12, 13 ], [ 14, 15, 16 ], [ 14, 15, 16 ], [ 21, 22 ], [ 21, 22 ] ] gap> ConsiderTableAutomorphisms( fus, AutomorphismsOfTable( tbl ) ); [ 9 ] gap> fus; [ 1, 2, 4, 4, [ 5, 6 ], [ 5, 6 ], [ 5, 6 ], 10, 12, [ 12, 13 ], [ 14, 15, 16 ], [ 14, 15, 16 ], [ 21, 22 ], [ 21, 22 ] ] gap> FusionsAllowedByRestrictions( subtbl, tbl, Irr( subtbl ), > Irr( tbl ), fus, rec( maxlen:= 10, > contained:= ContainedPossibleCharacters, minamb:= 2, > maxamb:= infinity, quick:= false ) ); [ [ 1, 2, 4, 4, 5, 5, 6, 10, 12, 13, 14, 14, 21, 21 ], [ 1, 2, 4, 4, 6, 6, 6, 10, 12, 13, 15, 15, 22, 22 ], [ 1, 2, 4, 4, 6, 6, 6, 10, 12, 13, 16, 16, 22, 22 ] ]
GAP 4 manual