Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/pkg/recog/gap/base/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 22.0.2025 mit Größe 4 kB image not shown  

Quelle  methods.gd   Sprache: unbekannt

 
#############################################################################
##
##  This file is part of recog, a package for the GAP computer algebra system
##  which provides a collection of methods for the constructive recognition
##  of groups.
##
##  This files's authors include Sergio Siccha.
##
##  Copyright of recog belongs to its developers whose names are too numerous
##  to list here. Please refer to the COPYRIGHT file for details.
##
##  SPDX-License-Identifier: GPL-3.0-or-later
##
##
##  Declarations of recog methods
##
#############################################################################

# <#GAPDoc Label="IsRecogMethod">
# <ManSection>
# <Filt Name="IsRecogMethod" Type="Category"/>
# <Description>
# The category of recognition methods, that is of the objects created via
# <Ref Func="RecogMethod"/>.
# </Description>
# </ManSection>
# <#/GAPDoc>
DeclareCategory("IsRecogMethod", IsObject);
BindGlobal("RecogMethodFamily", NewFamily("RecogMethodFamily", IsRecogMethod));
BindGlobal("RecogMethodType",
           NewType(RecogMethodFamily,
                   IsRecogMethod and IsAttributeStoringRep));

# <#GAPDoc Label="RecogMethod">
# <ManSection>
# <Func Name="RecogMethod" Arg="stamp, comment, func"/>
# <Description>
# Return a recognition method <C>method</C> in the filter
# <Ref Filt="IsRecogMethod"/>,
# where <A>stamp</A> is a string describing the method uniquely,
# <A>comment</A> is a string explaining how the method works, and
# <A>func</A> is the method itself.
# The components <A>stamp</A> and <A>comment</A> can be accessed via the
# attributes <Ref Attr="Stamp"/> and <Ref Attr="Comment"/>.
# <P/>
# A recognition method returns one of the following four values:
# <List>
# <Mark><K>Success</K></Mark>
# <Item>means that the method was successful and no more methods have to be
#     tried.</Item>
# <Mark><K>NeverApplicable</K></Mark>
# <Item>means that the method was not successful and that there is no point
#     to call the method again in this situation whatsoever.</Item>
# <Mark><K>TemporaryFailure</K></Mark>
# <Item>means that the method temporarily failed, that it however could be
#     sensible to call it again in this situation at a later stage. This
#     value is typical for a Las Vegas algorithm using randomised methods,
#     which has failed, but which may succeed when called again.</Item>
# <Mark><K>NotEnoughInformation</K></Mark>
# <Item>means that the method for some reason refused to do its work. However,
#     it is possible that it will become applicable later such that it makes
#     sense to call it again, for example when more information is available.</Item>
# </List>
# A recognition method <C>method</C> should always be stored into the component
# <C>Stamp(method)</C> of one of the following records:
# <Ref Var="FindHomMethodsGeneric"/>,
# <Ref Var="FindHomMethodsPerm"/>,
# <Ref Var="FindHomMethodsMatrix"/>, and
# <Ref Var="FindHomMethodsProjective"/>.
# To this end one can use the function <Ref Func="BindRecogMethod"/>.
# </Description>
# </ManSection>
# <#/GAPDoc>
DeclareGlobalFunction("RecogMethod");

# <#GAPDoc Label="BindRecogMethod">
# <ManSection>
# <Func Name="BindRecogMethod" Arg="r, arg"/>
# <Description>
# Create the recognition method <C>method</C> by calling
# <Ref Func="RecogMethod"/> with arguments <A>arg</A>.
# Then bind the component <C>Stamp(method)</C> of <A>r</A> to <A>method</A>.
# </Description>
# </ManSection>
# <#/GAPDoc>
DeclareGlobalFunction("BindRecogMethod");

# <#GAPDoc Label="CallRecogMethod">
# <ManSection>
# <Func Name="CallRecogMethod" Arg="m, args"/>
# <Description>
# Call <C>UnpackRecogMethod(m)</C> with arguments <A>args</A> and return the
# return value.
# The argument <A>m</A> must lie in <Ref Filt="IsRecogMethod"/>.
# </Description>
# </ManSection>
# <#/GAPDoc>
DeclareGlobalFunction("CallRecogMethod");

# <#GAPDoc Label="Stamp">
# <ManSection>
# <Attr Name="Stamp" Arg="method"/>
# <Description>
# The stamp of <A>method</A>, see <Ref Func="RecogMethod"/>.
# The argument <A>method</A> must lie in <Ref Filt="IsRecogMethod"/>.
# </Description>
# </ManSection>
# <#/GAPDoc>
DeclareAttribute("Stamp", IsRecogMethod);

# <#GAPDoc Label="Comment">
# <ManSection>
# <Attr Name="Comment" Arg="method"/>
# <Description>
# The comment of <A>method</A>, see <Ref Func="RecogMethod"/>.
# The argument <A>method</A> must lie in <Ref Filt="IsRecogMethod"/>.
# </Description>
# </ManSection>
# <#/GAPDoc>
DeclareAttribute("Comment", IsRecogMethod);
DeclareAttribute("ValidatesOrAlwaysValidInput", IsRecogMethod);

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]