Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/sonata/lib/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 23.8.2025 mit Größe 7 kB image not shown  

Quelle  grptfms.gd   Sprache: unbekannt

 
################################################################################
##
#W  grptfms.gd             Near-ring Library                   Christof N"obauer
##
#Y  Copyright (C)
##
##  $Log: grptfms.gd,v $
##  Revision 1.8  2008-11-13 14:18:17  stein
##  Replaced IsNearRingEnumerator by IsTransformationNearRingEnumerator
##
##  Revision 1.7  2002/01/18 07:20:50  erhard
##  I have added the function GraphOfMapping.
##
##  Revision 1.6  2001/06/28 18:56:43  erhard
##  I have added the functions EndoMappingByFunction, AsEndoMapping,
##  IdentityEndoMapping, IsIdentityEndoMapping, IsDistributiveEndoMapping.
##
##  Revision 1.5  2001/03/21 16:22:09  juergen
##  noch ein paar filter angepasst
##
##  Revision 1.4  2001/03/21 15:59:11  juergen
##  new operation EndoMappingByPositionList
##
##  Revision 1.3  2001/03/21 14:53:27  juergen
##  filter fuer isnearadditiveelementwithinverse angepasst
##
##  Revision 1.2  2001/03/21 14:41:07  juergen
##  erste korrekturen nach dem studium des tutorials
##
##  Revision 1.1.1.1  2000/02/21 15:59:03  hetzi
##  Sonata Project Start
##

DeclareOperation( "GroupGeneralMappingByGroupElement",
 [IsGroup,IsMultiplicativeElementWithInverse] ); 

InstallTrueMethod( IsNearRingElement, IsMapping );

InstallTrueMethod( IsNearAdditiveElementWithInverse, IsGeneralMapping );

DeclareAttribute( "GroupElementRepOfNearRingElement", IsNearRingElement );

DeclareAttribute( "EndoMappingFamily", IsGroup );

#############################################################################
##
#F  SizeFoldDirectProduct
##

DeclareAttribute( "SizeFoldDirectProduct", IsGroup );

#############################################################################
##
#C IsTransformationNearRing   Category for collections 
##      of FNR elements

DeclareSynonym( "IsTransformationNearRing",
 IsNearRing and IsGeneralMappingCollection );

#############################################################################
##
#R  IsTransformationNearRingRep  Representation for TfmNRs

DeclareRepresentation( "IsTransformationNearRingRep",
   IsTransformationNearRing and IsComponentObjectRep and
   IsAttributeStoringRep,
   ["elementsFam"] );

#############################################################################
##
#O TransformationNearRing   over a group

DeclareOperation( "TransformationNearRing", [IsGroup] );

#############################################################################
##
#O TransformationNearRingByGenerators ( <G> , <gens> )
##      by GroupTransformations

DeclareOperation( "TransformationNearRingByGenerators", [IsGroup, IsList] );

#############################################################################
##
#O TransformationNearRingByAdditiveGenerators ( <G> , <gens> )
##      by GroupTransformations

DeclareOperation( "TransformationNearRingByAdditiveGenerators",
  [IsGroup, IsList] );

#############################################################################
##
#P  IsFullTransformationNearRing nr = M(Gamma)

DeclareProperty( "IsFullTransformationNearRing", IsTransformationNearRing );

#############################################################################
##
#A  Gamma  the group the nearring acts on

DeclareAttribute( "Gamma", IsTransformationNearRing );

#############################################################################
##
#O  ConstantEndoMapping( <G>, <g> ) the constant mapping
##      on the group <G> that maps
##      every element to <g>

DeclareOperation( "ConstantEndoMapping",
  [IsGroup, IsMultiplicativeElementWithInverse] );


#############################################################################
##
#O  GraphOfMapping ( <m> )
##
##  returns the graph of the mapping m as a subset of <source> x <target>
##

DeclareOperation( "GraphOfMapping",
     [IsMapping] );



#############################################################################
##
#O  AsExplicitMultiplicationNearRing( <nr> ) returns an
##  explicit multiplication nearring which is isomorphic to
##  the nearring <nr>

DeclareOperation( "AsExplicitMultiplicationNearRing", [IsNearRing] );

############################################################################
## MATRIX NEARRINGS                                                        #
############################################################################

#############################################################################
##
#P  MatrixNearRingFlag( <nr> )

DeclareProperty( "MatrixNearRingFlag", IsTransformationNearRing );

DeclareSynonym( "IsMatrixNearRing", HasMatrixNearRingFlag );

#############################################################################
##
#A  CoefficientRange( <matnr> )  the nearring of coefficients of
##     the matrix nearring <matnr>

DeclareAttribute( "CoefficientRange", IsNearRing and IsMatrixNearRing );

#############################################################################
##
#A  DimensionOfMatrixNearRing( <matnr> ) the dimension of the matrix
##      nearring <matnr>

DeclareAttribute( "DimensionOfMatrixNearRing",
  IsNearRing and IsMatrixNearRing );

#############################################################################
##
#O  MatrixNearRing( <ngroup>, <dim> ) construct the matrix nearring of
##     dimension <dim> over the N-group
##     <ngroup>.

DeclareOperation( "MatrixNearRing", [IsGroup, IsInt and IsPosRat] );

#JE eigentlich sollten wir IsGroup and IsNGroup fordern, N-Gruppen werden
#   aber erst spaeter definiert. Bei den Methoden steht dann aber beides.
#   Ergo: die Fehlermeldung, die man erhaelt, wenn man MatrixNearRing mit
#         einer ordinaeren Gruppe aufruft, ist NO METHOD FOUND und nicht,
#         wie man erwarten sollte OPERATION NOT APPLICABLE.
#   Kurz: es is eh wurscht

#########################################################################
##
#A  SomeInvariantSubgroupsOfGamma( <nr> )
##
##  returns the subset of the set of <nr>-invariant subgroups of Gamma(<nr>)
##  where all subgroups which are contained in another are deleted

DeclareAttribute( "SomeInvariantSubgroupsOfGamma",
  IsNearRing and IsTransformationNearRing );

#########################################################################
##
#P  IsConstantEndoMapping( <m> )
##

DeclareProperty( "IsConstantEndoMapping", IsMapping );

#########################################################################
##
#P  IsIdentityMapping( <m> )
##

DeclareProperty( "IsIdentityMapping", IsGroupGeneralMapping );

#############################################################################
##
#R  IsTransformationNearRingEnumerator For nearrings with known additive group

DeclareRepresentation( "IsTransformationNearRingEnumerator",
   IsAttributeStoringRep,
   ["additiveGroup", "elementsFam"] );

#############################################################################
##
#O  EndoMappingByPositionList( <group>, <list> )
##

DeclareOperation( "EndoMappingByPositionList", [IsGroup,IsList] );




#############################################################################
##
#O  EndoMappingByFunction( <group>, <fun> )
##

DeclareOperation( "EndoMappingByFunction", [IsGroup, IsFunction] );



#############################################################################
##
#O  AsEndoMapping( <map> )
##

DeclareOperation( "AsEndoMapping", [IsMapping] );



#############################################################################
##
#O  IdentityEndoMapping( <G> )
##

DeclareOperation( "IdentityEndoMapping", [IsGroup] );


#############################################################################
##
#O  IsIdentityEndoMapping( <endomap> )
##

DeclareOperation( "IsIdentityEndoMapping", [IsEndoMapping] );



#############################################################################
##
#O  IsDistributiveEndoMapping( <endomap> )
##

DeclareOperation( "IsDistributiveEndoMapping", [IsEndoMapping] );







[ Dauer der Verarbeitung: 0.32 Sekunden  (vorverarbeitet)  ]