Skip to content

Commit 8852cc7

Browse files
committed
Transfer more properties when conjugating matrix groups
1 parent d0fe30f commit 8852cc7

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

lib/grpmat.gi

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1266,3 +1266,53 @@ InstallMethod( InvariantBilinearForm,
12661266
Q:= InvariantQuadraticForm( matgrp ).matrix;
12671267
return rec( matrix:= ( Q + TransposedMat( Q ) ) );
12681268
end );
1269+
1270+
#############################################################################
1271+
##
1272+
#M ConjugateGroup( <G>, <g> ) of a matrix group
1273+
##
1274+
InstallMethod( ConjugateGroup, "<G>, <g>", IsCollsElms,
1275+
[ IsMatrixGroup, IsMultiplicativeElementWithInverse ],
1276+
function( G, g )
1277+
local H, m, ginv;
1278+
1279+
H := GroupByGenerators( OnTuples( GeneratorsOfGroup( G ), g ), One(G) );
1280+
UseIsomorphismRelation( G, H );
1281+
If HasIsGeneralLinearGroup( G ) then
1282+
SetIsGeneralLinearGroup( H, IsGeneralLinearGroup( G ) );
1283+
fi;
1284+
If HasIsSpecialLinearGroup( G ) then
1285+
SetIsSpecialLinearGroup( H, IsSpecialLinearGroup( G ) );
1286+
fi;
1287+
If HasIsSubgroupSL( G ) then
1288+
SetIsSubgroupSL( H, IsSubgroupSL( G ) );
1289+
fi;
1290+
if HasInvariantBilinearForm( G ) or HasInvariantQuadraticForm( G ) then
1291+
ginv := g^-1;
1292+
fi;
1293+
if HasInvariantBilinearForm( G ) then
1294+
m := ginv * InvariantBilinearForm(G).matrix * TransposedMat(ginv);
1295+
SetInvariantBilinearForm( H, rec( matrix := m ) );
1296+
fi;
1297+
if HasInvariantQuadraticForm( G ) then
1298+
m := ginv * InvariantQuadraticForm(G).matrix * TransposedMat(ginv);
1299+
SetInvariantQuadraticForm( H, rec( matrix := m ) );
1300+
fi;
1301+
if IsSubset( FieldOfMatrixGroup( G ), FieldOfMatrixList( [ g ] ) ) then
1302+
if HasIsNaturalGL( G ) then
1303+
SetIsNaturalGL( H, IsNaturalGL( G ) );
1304+
fi;
1305+
if HasIsNaturalSL( G ) then
1306+
SetIsNaturalSL( H, IsNaturalSL( G ) );
1307+
fi;
1308+
if HasIsFullSubgroupGLorSLRespectingBilinearForm( G )
1309+
and IsFullSubgroupGLorSLRespectingBilinearForm( G ) then
1310+
SetIsFullSubgroupGLorSLRespectingBilinearForm( H, true );
1311+
fi;
1312+
if HasIsFullSubgroupGLorSLRespectingQuadraticForm( G )
1313+
and IsFullSubgroupGLorSLRespectingQuadraticForm( G ) then
1314+
SetIsFullSubgroupGLorSLRespectingQuadraticForm( H, true );
1315+
fi;
1316+
fi;
1317+
return H;
1318+
end );

0 commit comments

Comments
 (0)