diff --git a/lib/grpffmat.gd b/lib/grpffmat.gd index b3c626c3b1..cfac52c599 100644 --- a/lib/grpffmat.gd +++ b/lib/grpffmat.gd @@ -26,7 +26,8 @@ ## ## <#/GAPDoc> ## -DeclareSynonym( "IsFFEMatrixGroup", IsFFECollCollColl and IsMatrixGroup ); +DeclareCategory( "IsFFEMatrixGroup", IsMatrixGroup ); +InstallTrueMethod( IsFFEMatrixGroup, IsFFECollCollColl and IsMatrixGroup ); ############################################################################# diff --git a/lib/grpmat.gd b/lib/grpmat.gd index 5ef8db275d..eabc1765e5 100644 --- a/lib/grpmat.gd +++ b/lib/grpmat.gd @@ -26,7 +26,8 @@ ## ## <#/GAPDoc> ## -DeclareSynonym( "IsMatrixGroup", IsRingElementCollCollColl and IsGroup ); +DeclareCategory( "IsMatrixGroup", IsGroup ); +InstallTrueMethod( IsMatrixGroup, IsRingElementCollCollColl and IsGroup ); ############################################################################# ## diff --git a/lib/matobj1.gd b/lib/matobj1.gd index afc33a3d15..0532865648 100644 --- a/lib/matobj1.gd +++ b/lib/matobj1.gd @@ -263,6 +263,36 @@ DeclareCategory( "IsMatrixObj", IsMatrixOrMatrixObj ); DeclareCategory( "IsRowListMatrix", IsMatrixObj ); + +############################################################################# +## +# Two filters to speed up some methods: +DeclareFilter( "IsIntVector" ); # TODO: replace this legacy filter from matobjplist.gi with something better +DeclareFilter( "IsFFEVector" ); + +DeclareCategory( "IsFFEVectorObj", IsVectorObj ); +DeclareCategory( "IsCyclotomicVectorObj", IsVectorObj ); + +DeclareCategory( "IsFFEMatrixOrMatrixObj", IsMatrixOrMatrixObj ); +# DeclareSynonym( "IsFFEMatrix", IsFFEMatrixOrMatrixObj and IsMatrix ); +# DeclareSynonym( "IsFFEMatrixObj", IsFFEMatrixOrMatrixObj and IsMatrixObj ); +# or maybe +# DeclareProperty( "IsFFEMatrix", IsMatrix ); +# DeclareProperty( "IsFFEMatrixObj", IsMatrixObj ); + +DeclareCategory( "IsCyclotomicMatrixOrMatrixObj", IsMatrixOrMatrixObj ); +# DeclareSynonym( "IsCyclotomicMatrix", IsCyclotomicMatrixOrMatrixObj and IsMatrix ); +# DeclareSynonym( "IsCyclotomicMatrixObj", IsCyclotomicMatrixOrMatrixObj and IsMatrixObj ); +# or maybe have them be properties with methods so users are not confused ?!? +# DeclareProperty( "IsCyclotomicMatrix", IsMatrix ); +# DeclareProperty( "IsCyclotomicMatrixObj", IsMatrixObj ); + + +InstallTrueMethod( IsFFEMatrixOrMatrixObj, IsFFECollColl and IsMatrix ); +InstallTrueMethod( IsCyclotomicMatrixOrMatrixObj, IsCyclotomicCollColl and IsMatrix ); + + + ############################################################################# ## #A BaseDomain( ) diff --git a/lib/matobjplist.gd b/lib/matobjplist.gd index 5bcd6d38db..2c591f4829 100644 --- a/lib/matobjplist.gd +++ b/lib/matobjplist.gd @@ -122,7 +122,3 @@ BindGlobal( "ROWSPOS", 4 ); #BindGlobal( "BDPOS", 1 ); # see above BindGlobal( "ELSPOS", 2 ); -# Two filters to speed up some methods: -DeclareFilter( "IsIntVector" ); -DeclareFilter( "IsFFEVector" ); -