Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/semigroups/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 29.7.2025 mit Größe 8 kB image not shown  

Quelle  maximal.xml   Sprache: XML

 
#############################################################################
##
#W  maximal.xml
#Y  Copyright (C) 2013-16                                James D. Mitchell
##                                                          Wilf A. Wilson
##
##  Licensing information can be found in the README file of this package.
##
#############################################################################
##

<#GAPDoc Label="MaximalSubsemigroups">
<ManSection>
  <Attr Name = "MaximalSubsemigroups" Arg = "S" Label="for a finite semigroup"/>
  <Oper Name = "MaximalSubsemigroups" Arg = "S, opts"
    Label="for a finite semigroup and a record"/>
  <Returns>
    The maximal subsemigroups of <A>S</A>.
  </Returns>
  <Description>
    If <A>S</A> is a finite semigroup, then the attribute
    <C>MaximalSubsemigroups</C> returns a list of the non-empty maximal
    subsemigroups of <A>S</A>.  The methods used by <C>MaximalSubsemigroups</C>
    are based on <Cite Key="Graham1968aa"/>, and are described in
    <Cite Key="Donoven2018aa"/>.

    <P/>

    It is computationally expensive to search for the maximal subsemigroups of a
    semigroup, and so computations involving <C>MaximalSubsemigroups</C> may be
    very lengthy. A substantial amount of information on the progress of
    <C>MaximalSubsemigroups</C> is provided through the info class <Ref
      InfoClass="InfoSemigroups"/>, with increasingly detailed information given
    at levels 1, 2, and 3.

    <P/>

    The behaviour of <C>MaximalSubsemigroups</C> can be altered via the second
    argument <A>opts</A>, which should be a record. The optional
    components of <A>opts</A> are:

    <List>

      <Mark>gens (a boolean)</Mark>
      <Item>
        If <C><A>opts</A>.gens</C> is <K>false</K> or unspecified, then the
        maximal subsemigroups themselves are returned and not just generating
        sets for these subsemigroups.

        <P/>

        It can be more computationally expensive to return the generating sets
        for the maximal subsemigroups, than to return the maximal subsemigroups
        themselves.
      </Item>

      <Mark>contain (a list)</Mark>
      <Item>
        If <C><A>opts</A>.contain</C> is duplicate-free list of elements of
        <A>S</A>, then <C>MaximalSubsemigroups</C> will search for the maximal
        subsemigroups of <A>S</A> which contain those elements.
      </Item>

      <Mark>D (a &D;-class)</Mark>
      <Item>
        For a maximal subsemigroup <C>M</C> of a finite semigroup <A>S</A>,
        there exists a unique &D;-class which contains the complement of
        <C>M</C> in <A>S</A>. In other words, the elements of <A>S</A> which
        <C>M</C> lacks are contained in a unique &D;-class.

        <P/>

        If <C><A>opts</A>.D</C> is a &D;-class of <A>S</A>, then
        <C>MaximalSubsemigroups</C> will search exclusively for those maximal
        subsemigroups of <A>S</A> whose complement is contained in
        <C><A>opts</A>.D</C>.
      </Item>

      <Mark>types (a list)</Mark>
      <Item>
        <E>This option is relevant only if <A>S</A> is a regular Rees
          (0-)matrix semigroup over a group.</E>
        <P/>

        As described at the start of this subsection, <Ref Sect =
          "Computing maximal subsemigroups" />, a maximal subsemigroup of a
        regular Rees (0-)matrix semigroup over a group is one of 6 possible
        types.
        <P/>

        If <A>S</A> is a regular Rees (0-)matrix semigroup over a group and
        <C><A>opts</A>.types</C> is a subset of <C>[1 .. 6]</C>, then
        <C>MaximalSubsemigroups</C> will search for those maximal subsemigroups
        of <A>S</A> of the types enumerated by <C><A>opts</A>.types</C>.
        <P/>

        The default value for this option is <C>[1 .. 6]</C> (i.e. no
        restriction).
      </Item>
    </List>
  <Example><![CDATA[
gap> S := FullTransformationSemigroup(3);
<full transformation monoid of degree 3>
gap> MaximalSubsemigroups(S);
[ <transformation semigroup of degree 3 with 7 generators>,
  <transformation semigroup of degree 3 with 7 generators>,
  <transformation semigroup of degree 3 with 7 generators>,
  <transformation semigroup of degree 3 with 7 generators>,
  <transformation monoid of degree 3 with 5 generators> ]
gap> MaximalSubsemigroups(S,
> rec(gens := true, D := DClass(S, Transformation([2, 2, 3]))));
[ [ Transformation( [ 1, 1, 1 ] ), Transformation( [ 3, 3, 3 ] ),
      Transformation( [ 2, 2, 2 ] ), IdentityTransformation,
      Transformation( [ 2, 3, 1 ] ), Transformation( [ 2, 1 ] ) ] ]
gap> MaximalSubsemigroups(S,
> rec(contain := [Transformation([2, 3, 1])]));
[ <transformation semigroup of degree 3 with 7 generators>,
  <transformation monoid of degree 3 with 5 generators> ]
gap> R := PrincipalFactor(
> DClass(FullTransformationMonoid(4), Transformation([2, 2])));
<Rees 0-matrix semigroup 6x4 over Group([ (2,3,4), (2,4) ])>
gap> MaximalSubsemigroups(R, rec(types := [5],
>   contain := [RMSElement(R, 1, (), 1),
>               RMSElement(R, 1, (2, 3), 2)]));
[ <subsemigroup of 6x4 Rees 0-matrix semigroup with 10 generators>,
  <subsemigroup of 6x4 Rees 0-matrix semigroup with 10 generators>,
  <subsemigroup of 6x4 Rees 0-matrix semigroup with 10 generators>,
  <subsemigroup of 6x4 Rees 0-matrix semigroup with 10 generators> ]]]></Example>
  </Description>
</ManSection>
<#/GAPDoc>

<#GAPDoc Label="NrMaximalSubsemigroups">
<ManSection>
  <Attr Name = "NrMaximalSubsemigroups" Arg = "S" />
  <Returns>
    The number of maximal subsemigroups of <A>S</A>.
  </Returns>
  <Description>
    If <A>S</A> is a finite semigroup, then <C>NrMaximalSubsemigroups</C>
    returns the number of non-empty maximal subsemigroups of <A>S</A>.  The
    methods used by <C>MaximalSubsemigroups</C> are based on <Cite
      Key="Graham1968aa"/>, and are described in <Cite Key="Donoven2018aa"/>.

    <P/>

    It can be significantly faster to find the number of maximal subsemigroups
    of a semigroup than to find the maximal subsemigroups themselves.

    <P/>

    Unless the maximal subsemigroups of <A>S</A> are already known, the command
    <C>NrMaximalSubsemigroups(<A>S</A>)</C> simply calls the command
    <C>MaximalSubsemigroups(<A>S</A>, rec(number := true))</C>.

    <P/>

    For more information about searching for maximal subsemigroups of a finite
    semigroup in the &SEMIGROUPS; package, and for information about the options
    available to alter the search, see <Ref Oper="MaximalSubsemigroups"
      Label="for a finite semigroup and a record"/>. By supplying the additional
    option <C><A>opts</A>.number :=</C> <K>true</K>, the number of maximal
    subsemigroups will be returned rather than the subsemigroups themselves.

  <Example><![CDATA[
gap> S := FullTransformationSemigroup(3);
<full transformation monoid of degree 3>
gap> NrMaximalSubsemigroups(S);
5
gap> S := RectangularBand(3, 4);;
gap> NrMaximalSubsemigroups(S);
7
gap> R := PrincipalFactor(
> DClass(FullTransformationMonoid(4), Transformation([2, 2])));
<Rees 0-matrix semigroup 6x4 over Group([ (2,3,4), (2,4) ])>
gap> MaximalSubsemigroups(R, rec(number := true, types := [3, 4]));
10]]></Example>
  </Description>
</ManSection>
<#/GAPDoc>

<#GAPDoc Label="IsMaximalSubsemigroup">
<ManSection>
  <Oper Name = "IsMaximalSubsemigroup" Arg = "S, T"/>
  <Returns>
    <K>true</K> or <K>false</K>.
  </Returns>
  <Description>
    If <A>S</A> and <A>T</A> are semigroups, then <C>IsMaximalSubsemigroup</C>
    returns <K>true</K> if and only if <A>T</A> is a maximal subsemigroup of
    <A>S</A>.
    <P/>

    A <E>maximal subsemigroup</E> of <A>S</A> is a proper subsemigroup of
    <A>S</A> which is contained in no other proper subsemigroup of <A>S</A>.

    <Example><![CDATA[
gap> S := ZeroSemigroup(2);;
gap> IsMaximalSubsemigroup(S, Semigroup(MultiplicativeZero(S)));
true
gap> S := FullTransformationSemigroup(4);
<full transformation monoid of degree 4>
gap> T := Semigroup(Transformation([3, 4, 1, 2]),
>                   Transformation([1, 4, 2, 3]),
>                   Transformation([2, 1, 1, 3]));
<transformation semigroup of degree 4 with 3 generators>
gap> IsMaximalSubsemigroup(S, T);
true
gap> R := Semigroup(Transformation([3, 4, 1, 2]),
>                   Transformation([1, 4, 2, 2]),
>                   Transformation([2, 1, 1, 3]));
<transformation semigroup of degree 4 with 3 generators>
gap> IsMaximalSubsemigroup(S, R);
false]]></Example>
  </Description>
</ManSection>
<#/GAPDoc>

100%


¤ Dauer der Verarbeitung: 0.22 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.