Extract( tbl, reducibles, grammat )
Extract( tbl, reducibles, grammat, missing )
tries to find irreducible characters by drawing conclusions out of a
given matrix grammat of scalar products of the reducible characters in
the list reducibles, which are characters of the table tbl.
Extract uses combinatorial and backtrack means.
Note: Extract works only with ordinary characters!
Extract may be accelerated by the specification of
missing.
Extract returns a record extr with components solution and choice
where solution is a list [ M_1, ldots, M_n ] of decomposition
matrices that satisfy the equation [ M_i^tr cdot X = Sublist(
reducibles, extr.choice[i] ) , ] for a matrix X of irreducible
characters, and choice is a list of length n whose entries are lists
of indices.
So each column stands for one of the reducible input characters, and each
row stands for an irreducible character. You can use Decreased
Decreased to examine the solution for computable irreducibles.
gap> s4 := CharTable( "Symmetric", 4 );;
gap> y := [ [ 5, 1, 5, 2, 1 ], [ 2, 0, 2, 2, 0 ], [ 3, -1, 3, 0, -1 ],
> [ 6, 0, -2, 0, 0 ], [ 4, 0, 0, 1, 2 ] ];;
gap> g := MatScalarProducts( s4, y, y );
[ [ 6, 3, 2, 0, 2 ], [ 3, 2, 1, 0, 1 ], [ 2, 1, 2, 0, 0 ],
[ 0, 0, 0, 2, 1 ], [ 2, 1, 0, 1, 2 ] ]
gap> e:= Extract( s4, y, g, 5 );
rec(
solution :=
[ [ [ 1, 1, 0, 0, 2 ], [ 1, 0, 1, 0, 1 ], [ 0, 1, 0, 1, 0 ],
[ 0, 0, 1, 0, 1 ], [ 0, 0, 0, 1, 0 ] ] ],
choice := [ [ 2, 5, 3, 4, 1 ] ] )
# continued in 'Decreased' ( see "Decreased" )
GAP 3.4.4