Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  presentation.gd   Sprache: unbekannt

 
#
# walrus: Computational Methods for Finitely Generated Monoids and Groups
#

#! @Chapter Pregroup Presentations
#!
#! @Section Creating Pregroup Presentations
#!
#! @Arguments pregroup, relators
#! @Returns a pregroup presentation
#! @Description
#! Creates a pregroup presentation over the <A>pregroup</A> with
#! relators <A>relators</A>.
DeclareGlobalFunction("NewPregroupPresentation");

#! @Arguments F, rred, rgreen
#! @Returns a pregroup presentation
#! @Description
#! Creates a pregroup presentation over the pregroup defined by
#! <A>F</A> and <A>rred</A> with relators <A>rgreen</A>.
DeclareGlobalFunction("PregroupPresentationFromFp");

#! @Arguments presentation
#! @Returns a finitely presented group
#! @Description
#! Converts the pregroup presentation <A>presentation</A> into
#! a finitely presented group.
DeclareGlobalFunction("PregroupPresentationToFpGroup");


#!
#! @Section Filters, Attributes, and Properties
#!
DeclareCategory("IsPregroupPresentation", IsObject);
DeclareRepresentation( "IsPregroupPresentationRep"
                     , IsPregroupPresentation and IsComponentObjectRep and IsAttributeStoringRep
                     , [] );

BindGlobal( "PregroupPresentationType"
          , NewType( NewFamily( "PregroupPresentationFam")
                   , IsPregroupPresentationRep ) );


DeclareAttribute("Pregroup", IsPregroupPresentation );
DeclareAttribute("Generators", IsPregroupPresentation );
DeclareAttribute("Relators", IsPregroupPresentation );
DeclareAttribute("RelatorsAndInverses", IsPregroupPresentation );
DeclareAttribute("Locations", IsPregroupPresentation );
DeclareAttribute("Places", IsPregroupPresentation );
DeclareAttribute("Bases", IsPregroupPresentation );
DeclareAttribute("Powers", IsPregroupPresentation );
DeclareAttribute("VertexGraph", IsPregroupPresentation );
DeclareAttribute("VertexGraphDistances", IsPregroupPresentation );
DeclareAttribute("VertexTriples", IsPregroupPresentation );
DeclareAttribute("RLetters", IsPregroupPresentation );
DeclareAttribute("PlaceTriples", IsPregroupPresentation );
DeclareAttribute("ShortRedBlobIndex", IsPregroupPresentation );
DeclareAttribute("OneStepReachablePlaces", IsPregroupPresentation );
DeclareAttribute("LengthLongestRelator", IsPregroupPresentation );
DeclareAttribute("LocationIndex", IsPregroupPresentation );

DeclareOperation("Blob",
                 [IsPregroupPresentation,
                  IsElementOfPregroup, IsElementOfPregroup, IsElementOfPregroup]);

DeclareAttribute("VertexTripleCache", IsPregroupPresentation, "mutable" );
DeclareGlobalFunction("IsRLetter");

#! @Section Hyperbolicity testing for pregroup presentations
#!
#! @Arguments presentation, epsilon
#! @Description
#! Test the group presented by <A>presentation</A> for hyperbolicity using
#! the RSym tester with parameter <A>epsilon</A>.
DeclareOperation("RSymTestOp", [IsPregroupPresentation, IsRat]);
#! @Arguments args...
#!
#! @Description
#! This is a wrapper for <Ref Oper="RSymTestOp" Label="for
#! IsPregroupPresentation, IsRat" />. If the first argument given is a free
#! group, the second and third lists of words over the free group, and the
#! fourth a rational, then this function creates a pregroup presentation from
#! the input data and invokes <Ref Oper="RSymTestOp" Label="for
#! IsPregroupPresentation, IsRat" /> on it. If the first
#! argument is a pregroup presentation and the second argument is rational
#! number, then it invokes <Ref Oper="RSymTestOp" Label="for
#! IsPregroupPresentation, IsRat" /> on that input.
DeclareGlobalFunction("RSymTest");

#! @BeginGroup
#! @Description Tests a given presentation for hyperbolicity using the RSym test procedure.
#! @Arguments presentation
DeclareOperation("IsHyperbolic", [IsPregroupPresentation]);
#! @Arguments presentation, epsilon
DeclareOperation("IsHyperbolic", [IsPregroupPresentation, IsRat]);
#! @Arguments F, rred, rgreen, epsilon
DeclareOperation("IsHyperbolic", [IsFreeGroup, IsObject, IsObject, IsRat]);
#! @EndGroup



#! @Section Input and Output of Pregroup Presentations

#! @Arguments presentation
#! @Returns A KBMAG rewriting system
#! @Description
#! Turns the pregroup presentation <A>presentation</A> into
#! valid input for Knuth-Bendix rewriting using KBMAG. Only
#! available if the kbmag package is available.
DeclareGlobalFunction("PregroupPresentationToKBMAG");

#! @Arguments stream, presentation
#! @Description
#! Writes the pregroup presentation <A>presentation</A> to
#! <A>stream</A>.
#! @BeginExample
#! gap> T := TriangleGroup(2,3,7);;
#! gap> str := "";; stream := OutputTextString(str, true);;
#! gap> PregroupPresentationToStream(stream, T);
#! gap> Print(str);
#! rec(
#!   rels := [ [ 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3 ] ],
#!   table := [ [ 1, 2, 3, 4 ], [ 2, 1, 0, 0 ], [ 3, 0, 4, 1 ], [ 4, 0, 1, 3 ] ] );
#! @EndExample
DeclareGlobalFunction("PregroupPresentationToStream");

#! @Arguments stream
#! @Returns A pregroup presentation
#! @Description
#! Reads a pregroup presentation from an input stream in the same format
#! that <Ref Func="PregroupPresentationToStream" /> uses.
#! @BeginExample
#! gap> stream := InputTextString(str);
#! InputTextString(0,146)
#! gap> PregroupPresentationFromStream(stream);
#! <pregroup presentation with 3 generators and 1 relators>
#! @EndExample
DeclareGlobalFunction("PregroupPresentationFromStream");

#! @Arguments stream, presentation
#! @Description
#! Writes the pregroup presentation <A>presentation</A> to
#! <A>stream</A>. Uses a simpler format than
#! <Ref Func="PregroupPresentationToStream" />
DeclareGlobalFunction("PregroupPresentationToSimpleStream");

#! @Arguments filename, presentation
#! @Description
#! Writes the pregroup presentation <A>presentation</A> to
#! file with name <A>filename</A>.
DeclareGlobalFunction("PregroupPresentationToFile");

#! @Arguments filename
#! @Description
#! Reads a pregroup presentation from file with <A>filename</A>.
DeclareGlobalFunction("PregroupPresentationFromFile");

#! @Arguments stream, presentation
#! @Description
#! Writes the pregroup presentation <A>presentation</A> to
#! file with name <A>filename</A> in a simple format.
DeclareGlobalFunction("PregroupPresentationToSimpleFile");



DeclareGlobalFunction("LogPregroupPresentation");

[ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge