Reduced( tbl, constituents,
reducibles )
Reduced( tbl, reducibles
)
returns a record with fields remainders and irreducibles,
both lists:
Let rems be the set of nonzero characters obtained
from reducibles by subtraction of
[ sum_chiinconstituents
fracScalarProduct( tbl, chi,
reducibles[i] ) ScalarProduct( tbl,
chi, constituents[j] ) cdotchi]
from reducibles[i] in the first case or subtraction
of
[ sum_j leqi fracScalarProduct(
tbl, reducibles[j], reducibles[i] )
ScalarProduct( tbl, reducibles[j], reducibles[j]
) cdotreducibles[j] ]
in the second case.
Let irrs be the list of irreducible characters in rems.
rems is reduced with irrs and all found
irreducibles until no new irreducibles are found. Then irreducibles
is the set of all found irreducible characters, remainders is
the set of all nonzero remainders.
If one knows that reducibles are ordinary characters of tbl
and constituents are irreducible ones, ReducedOrdinary ReducedOrdinary
may be faster.
Note that elements of remainders may be only virtual characters
even if reducibles are ordinary characters.
gap> t:= CharTable( "A5" );;
gap> chars:= Sublist( t.irreducibles, [ 2 .. 4 ] );;
gap> chars:= Set( Tensored( chars, chars ) );;
gap> Reduced( t, chars );
rec(
remainders := [ ],
irreducibles :=
[ [ 1, 1, 1, 1, 1 ], [ 3, -1, 0, -E(5)-E(5)^4, -E(5)^2-E(5)^3 ],
[ 3, -1, 0, -E(5)^2-E(5)^3, -E(5)-E(5)^4 ], [ 4, 0, 1, -1, -1 ],
[ 5, 1, -1, 0, 0 ] ] )