TransformingPermutations( mat1, mat2 )
tries to construct a permutation pi that transforms the set of rows of
the matrix mat1 to the set of rows of the matrix mat2 by permutation
of columns.
If such a permutation exists, a record with fields columns
, rows
and group
is returned, otherwise false
:
If 'TransformingPermutations( <mat1>, <mat2> ) = <r>' not= 'false'
then
Permuted( List(mat1,x-Permuted(x,r.columns)),r.rows ) = mat2
,
and r.group
is the group of matrix automorphisms of mat2;
this group stabilizes the transformation, i.e. for g in that group and
pi the value of the columns
field, also pi g would be a valid
permutation of columns.
gap> mat1:= CharTable( "Alternating", 5 ).irreducibles; [ [ 1, 1, 1, 1, 1 ], [ 4, 0, 1, -1, -1 ], [ 5, 1, -1, 0, 0 ], [ 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 ] ] gap> mat2:= CharTable( "A5" ).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 ] ] gap> TransformingPermutations( mat1, mat2 ); rec( columns := (), rows := (2,4)(3,5), group := Group( (4,5) ) )
GAP 3.4.4