Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't define Dimension for groups #43

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion archive/group2.gd
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ DeclareOperation( "ProjElWithFrobWithPSIsom",
[IsMatrix and IsFFECollColl, IsMapping, IsField,
IsGeneralMapping and IsSPGeneralMapping and IsOne] );
DeclareOperation( "ProjElsWithFrobWithPSIsom", [IsList, IsField] );
DeclareAttribute( "Dimension", IsProjGroupWithFrobWithPSIsom );
DeclareProperty( "CanComputeActionOnPoints", IsProjGroupWithFrobWithPSIsom );
DeclareOperation( "CorrelationOfProjectiveSpace", [ IsList, IsField] );
DeclareOperation( "CorrelationOfProjectiveSpace", [ IsList, IsMapping, IsField] );
Expand Down
24 changes: 0 additions & 24 deletions archive/group2.gi
Original file line number Diff line number Diff line change
Expand Up @@ -1001,30 +1001,6 @@ InstallGlobalFunction( OnProjSubspacesExtended,
return VectorSpaceToElement(ps,newvec);
end );

# CHECKED 19/09/11 jdb
#############################################################################
#O Dimension( <g> )
# returns the dimension of the correlation group <g>. The dimension of this
# group is defined as the vector space dimension of the projective space
# of which <g> was defined as a projective group, or, in other words, as the
# size of the matrices.
##
InstallMethod( Dimension,
"for a projective group with Frobenius with vspace isomorphism",
[IsProjGroupWithFrobWithPSIsom],
function( g )
local gens;
if HasParent(g) then
return Dimension(Parent(g));
fi;
# Now start to investigate:
gens := GeneratorsOfGroup(g);
if Length(gens) > 0 then
return Length(gens[1]!.mat);
fi;
Error("dimension could not be determined");
end );

# CHECKED 20/09/11 jdb
#############################################################################
#P ActionOnAllPointsHyperplanes( <g> )
Expand Down
5 changes: 0 additions & 5 deletions doc/include/attributes_inventory.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,6 @@ A: ProjectiveDimension: IsElementOfLieGeometry
A: ProjectiveDimension: IsEmptySubspace
A: Dimension: IsLieGeometry

group.gd: attributes

A: Dimension: IsProjectiveGroupWithFrob

projectivespace.gd: attributes

A: ProjectivityGroup: IsProjectiveSpace
Expand All @@ -48,7 +44,6 @@ A: StandardFrame: IsSubspaceOfProjectiveSpace

correlations.gd: attributes

A: Dimension: IsProjGroupWithFrobWithPSIsom
A: GramMatrix: IsPolarityOfProjectiveSpace
A: CompanionAutomorphism: IsPolarityOfProjectiveSpace
A: SesquilinearForm: IsPolarityOfProjectiveSpace
Expand Down
2 changes: 0 additions & 2 deletions doc/include/methods_inventory.txt
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,6 @@ M: ViewObj, [IsProjectiveGroupWithFrob and HasGeneratorsOfGroup],
M: ViewObj, [IsProjectiveGroupWithFrob and HasSize],
M: ViewObj, [IsProjectiveGroupWithFrob and HasGeneratorsOfGroup and HasSize],
M: BaseField, [IsProjectiveGroupWithFrob],
M: Dimension, [IsProjectiveGroupWithFrob],
M: OneImmutable, # was [IsGroup and IsProjectiveGroupWithFrob], I think might be
M: CanComputeActionOnPoints, [IsProjectiveGroupWithFrob],
M: ActionOnAllProjPoints, [ IsProjectiveGroupWithFrob ],
Expand Down Expand Up @@ -413,7 +412,6 @@ M: MatrixOfCorrelation, InstallMethod(MatrixOfCorrelation,[IsProjGrpElWithFrobWi
M: FieldAutomorphism, InstallMethod(FieldAutomorphism,[IsProjGrpElWithFrobWithPSIsomand IsProjGrpElWithFrobWithPSIsomRep],
M: ProjectiveSpaceIsomorphism, InstallMethod(ProjectiveSpaceIsomorphism,[IsProjGrpElWithFrobWithPSIsomand IsProjGrpElWithFrobWithPSIsomRep],
M: Embedding, [IsProjectiveGroupWithFrob, IsProjGroupWithFrobWithPSIsom],
M: Dimension, [IsProjGroupWithFrobWithPSIsom],
M: ActionOnAllPointsHyperplanes, [ IsProjGroupWithFrobWithPSIsom ],
M: CanComputeActionOnPoints, [IsProjGroupWithFrobWithPSIsom],
M: NiceMonomorphism, [IsProjGroupWithFrobWithPSIsom and CanComputeActionOnPoints and IsHandledByNiceMonomorphism], 50,
Expand Down
2 changes: 2 additions & 0 deletions doc/projgroups.xml
Original file line number Diff line number Diff line change
Expand Up @@ -619,6 +619,7 @@ the base field of the vector space on which the group acts.
</Description>
</ManSection>

<!--
<ManSection>
<Attr Name="Dimension" Arg="g"/>
<Returns>a number</Returns>
Expand All @@ -627,6 +628,7 @@ the dimension of the vector space on which the group acts.
</Description>
</ManSection>
</Section>
-->


<Section>
Expand Down
1 change: 0 additions & 1 deletion lib/correlations.gd
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ DeclareOperation( "ProjElWithFrobWithPSIsom",
[IsMatrix and IsFFECollColl, IsMapping, IsField,
IsGeneralMapping and IsSPGeneralMapping and IsOne] );
DeclareOperation( "ProjElsWithFrobWithPSIsom", [IsList, IsField] );
DeclareAttribute( "Dimension", IsProjGroupWithFrobWithPSIsom );
DeclareProperty( "CanComputeActionOnPoints", IsProjGroupWithFrobWithPSIsom );

DeclareOperation( "CorrelationOfProjectiveSpace", [ IsList, IsField] );
Expand Down
26 changes: 1 addition & 25 deletions lib/correlations.gi
Original file line number Diff line number Diff line change
Expand Up @@ -1340,30 +1340,6 @@
return VectorSpaceToElement(ps,newvec);
end );

# CHECKED 19/09/11 jdb
#############################################################################
#O Dimension( <g> )
# returns the dimension of the correlation group <g>. The dimension of this
# group is defined as the vector space dimension of the projective space
# of which <g> was defined as a projective group, or, in other words, as the
# size of the matrices.
##
InstallMethod( Dimension,
"for a projective group with Frobenius with vspace isomorphism",
[IsProjGroupWithFrobWithPSIsom],
function( g )
local gens;
if HasParent(g) then
return Dimension(Parent(g));
fi;
# Now start to investigate:
gens := GeneratorsOfGroup(g);
if Length(gens) > 0 then
return NrRows(gens[1]!.mat);
fi;
Error("dimension could not be determined");
end );

# CHECKED 20/09/11 jdb
#############################################################################
#P ActionOnAllPointsHyperplanes( <g> )
Expand Down Expand Up @@ -1414,7 +1390,7 @@
[IsProjGroupWithFrobWithPSIsom],
function( g )
local d,q;
d := Dimension( g );
d := NrRows(GeneratorsOfGroup(g)[1]!.mat);;

Check warning on line 1393 in lib/correlations.gi

View check run for this annotation

Codecov / codecov/patch

lib/correlations.gi#L1393

Added line #L1393 was not covered by tests
q := Size( BaseField( g ) );
if (q^d - 1)/(q-1) > FINING.LimitForCanComputeActionOnPoints then
return false;
Expand Down
2 changes: 0 additions & 2 deletions lib/group.gd
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,6 @@ DeclareGlobalFunction( "OnProjSubspacesNoFrob" );
# as a projective semilinear group (i.e. a collineation group), and for these
# groups we have the operations defined (ml 05/11/2012)
#DeclareOperation( "ActionOnAllProjPoints", [IsProjectivityGroup] );
#DeclareAttribute( "Dimension", IsProjectivityGroup );
#DeclareProperty( "CanComputeActionOnPoints", IsProjectivityGroup );


Expand All @@ -158,7 +157,6 @@ DeclareGlobalFunction( "OnProjSubspacesWithFrob" );

DeclareOperation( "ActionOnAllProjPoints", [IsProjectiveGroupWithFrob] );

DeclareAttribute( "Dimension", IsProjectiveGroupWithFrob );
DeclareProperty( "CanComputeActionOnPoints", IsProjectiveGroupWithFrob );

DeclareGlobalFunction( "NiceMonomorphismByOrbit" );
Expand Down
59 changes: 3 additions & 56 deletions lib/group.gi
Original file line number Diff line number Diff line change
Expand Up @@ -1765,59 +1765,6 @@ InstallMethod( BaseField,

# TO DO (22/03/2014): We ought to set the basefield on creating collineation groups.

# CHECKED 6/09/11 jdb
#############################################################################
#O Dimension( <g> )
# returns the dimension of the projective group <g>. The dimension of this
# group is defined as the vector space dimension of the projective space
# of which <g> was defined as a projective group, or, in other words, as the
# size of the matrices.
##

# ml 07/11/2012: I have taken out the view, print and display methods
# for projectivity groups, since these are also collineation groups in FinInG

#InstallMethod( Dimension,
# "for a projective group",
# [IsProjectivityGroup],
# function( g )
# local gens;
# if HasParent(g) then
# return Dimension(Parent(g));
# fi;
# # Now start to investigate:
# gens := GeneratorsOfGroup(g);
# if Length(gens) > 0 then
# return NrRows(gens[1]!.mat);
# fi;
# Error("dimension could not be determined");
# end );

# CHECKED 6/09/11 jdb
#############################################################################
#O Dimension( <g> )
# returns the dimension of the projective collineation group <g>. The dimension of this
# group is defined as the vector space dimension of the projective space
# of which <g> was defined as a projective group, or, in other words, as the
# size of the matrices.
##
InstallMethod( Dimension,
"for a projective collineation group",
[IsProjectiveGroupWithFrob],
function( g )
local gens;
if HasParent(g) and HasDimension(Parent(g)) then #JB: 22/03/2014: Made sure the parent had a dimension first
return Dimension(Parent(g));
fi;
# Now start to investigate:
gens := GeneratorsOfGroup(g);
if Length(gens) > 0 then
return NrRows(gens[1]!.mat);
elif IsTrivial(g) then #JB: 22/03/2014: The trivial group with no generators slipped through.
return NrRows(One(g)!.mat);
fi;
Error("dimension could not be determined");
end );

# CHECKED 6/09/11 jdb
#############################################################################
Expand Down Expand Up @@ -1911,7 +1858,7 @@ InstallMethod( CanComputeActionOnPoints,
[IsProjectiveGroupWithFrob],
function( g )
local d,q;
d := Dimension( g );
d := NrRows(GeneratorsOfGroup(g)[1]!.mat);;
q := Size( BaseField( g ) );
if (q^d - 1)/(q-1) > FINING.LimitForCanComputeActionOnPoints then
return false;
Expand Down Expand Up @@ -2061,7 +2008,7 @@ InstallMethod( ActionOnAllProjPoints,
local a,d,f,o,on,orb,v, m, j;
Info(InfoFinInG,4,"Using ActionOnAllProjPoints");
f := BaseField(pg);
d := Dimension(pg);
d := NrRows(GeneratorsOfGroup(pg)[1]!.mat);;
o := One(f);
on := One(pg);
v := ZeroMutable(on!.mat[1]);
Expand Down Expand Up @@ -2326,7 +2273,7 @@ InstallMethod( FindBasePointCandidates,
d := NrRows(gens[1]!.el!.mat);
else
f := BaseField(g);
d := Dimension(g);
d := NrRows(gens[1]!.mat);
fi;
cand := rec( points := NewMatrix(IsCMatRep, f,d, IdentityMat(d,f)), used := 0,
ops := ListWithIdenticalEntries(d,OnProjPointsWithFrob) );
Expand Down
1 change: 0 additions & 1 deletion old/group2old.gd
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,4 @@ DeclareOperation( "ProjElWithFrobWithVSIsom",

DeclareOperation( "ProjElsWithFrobWithVSIsom", [IsList, IsField] );

DeclareAttribute( "Dimension", IsProjGroupWithFrobWithVSIsom );
DeclareProperty( "CanComputeActionOnPoints", IsProjGroupWithFrobWithVSIsom );
16 changes: 0 additions & 16 deletions old/group2old.gi
Original file line number Diff line number Diff line change
Expand Up @@ -482,22 +482,6 @@ InstallGlobalFunction( OnPointsHyperplanesWithFrobWithVSIsom,
fi;
end );

InstallMethod( Dimension,
"for a projective group with Frobenius with vspace isomorphism",
[IsProjGroupWithFrobWithVSIsom],
function( g )
local gens;
if HasParent(g) then
return Dimension(Parent(g));
fi;
# Now start to investigate:
gens := GeneratorsOfGroup(g);
if Length(gens) > 0 then
return Length(gens[1]!.mat);
fi;
Error("dimension could not be determined");
end );

InstallMethod( ActionOnPointsHyperplanes,
"for a projective group with Frobenius with vspace isomorphism",
[ IsProjGroupWithFrobWithVSIsom ],
Expand Down
Loading