48.43 TransformingPermutations

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) ) )

Previous Up Top Next
Index

GAP 3.4.4
April 1997