# 50.41 ContainedDecomposables

`ContainedDecomposables( constituents, moduls, parachar, func )`

For a list of rational characters constituents and a parametrized More about Maps and Parametrized Maps), the set of all elements chi of parachar is returned that satisfy <func>( chi ) (i.e., for that `true` is returned) and that ``modulo moduls lie in the lattice spanned by constituents''. This means they lie in the lattice spanned by constituents and the set { <moduls>[i]cdot e_i; 1leq ileq n}, where n is the length of parachar and e_i is the i-th vector of the standard base.

```    gap> hs:= CharTable("HS");; s:= CharTable("HSM12");; s.identifier;
"5:4xa5"
gap> rat:= RationalizedMat(s.irreducibles);;
gap> fus:= InitFusion( s, hs );
[ 1, [ 2, 3 ], [ 2, 3 ], [ 2, 3 ], 4, 5, 5, [ 5, 6, 7 ], [ 5, 6, 7 ],
9, [ 8, 9 ], [ 8, 9 ], [ 8, 9, 10 ], [ 8, 9, 10 ], [ 11, 12 ],
[ 17, 18 ], [ 17, 18 ], [ 17, 18 ], 21, 21, 22, [ 23, 24 ],
[ 23, 24 ], [ 23, 24 ], [ 23, 24 ] ]
# restrict a rational character of 'hs' by 'fus',
# see chapter "Maps and Parametrized Maps"\:
gap> rest:= CompositionMaps( hs.irreducibles[8], fus );
[ 231, [ -9, 7 ], [ -9, 7 ], [ -9, 7 ], 6, 15, 15, [ -1, 15 ],
[ -1, 15 ], 1, [ 1, 6 ], [ 1, 6 ], [ 1, 6 ], [ 1, 6 ], [ -2, 0 ],
[ 1, 2 ], [ 1, 2 ], [ 1, 2 ], 0, 0, 1, 0, 0, 0, 0 ]
# all vectors in the lattice\:
gap> ContainedDecomposables( rat, s.centralizers, rest, x -> true );
[ [ 231, 7, -9, -9, 6, 15, 15, -1, -1, 1, 6, 6, 1, 1, -2, 1, 2, 2, 0,
0, 1, 0, 0, 0, 0 ],
[ 231, 7, -9, -9, 6, 15, 15, 15, 15, 1, 6, 6, 1, 1, -2, 1, 2, 2, 0,
0, 1, 0, 0, 0, 0 ],
[ 231, 7, -9, 7, 6, 15, 15, -1, -1, 1, 6, 6, 1, 1, -2, 1, 2, 2, 0,
0, 1, 0, 0, 0, 0 ],
[ 231, 7, -9, 7, 6, 15, 15, 15, 15, 1, 6, 6, 1, 1, -2, 1, 2, 2, 0,
0, 1, 0, 0, 0, 0 ] ]
# better filter, only characters (see "ContainedCharacters")\:
gap> ContainedDecomposables( rat, s.centralizers, rest,
>                  x->NonnegIntScalarProducts(s,s.irreducibles,x) );
[ [ 231, 7, -9, -9, 6, 15, 15, -1, -1, 1, 6, 6, 1, 1, -2, 1, 2, 2, 0,
0, 1, 0, 0, 0, 0 ],
[ 231, 7, -9, 7, 6, 15, 15, -1, -1, 1, 6, 6, 1, 1, -2, 1, 2, 2, 0,
0, 1, 0, 0, 0, 0 ] ]```

An application of `ContainedDecomposables` is ContainedCharacters `ContainedCharacters`.

For another strategy that works also for irrational characters, see ContainedSpecialVectors.

GAP 3.4.4
April 1997