<p>In this chapter we describe the functions in <strong class="pkg">Semigroups</strong> for creating and manipulating partitioned binary relations, henceforth referred to by their acronym PBRs. We begin by describing what these objects are.</p>
<p>PBRs were introduced in the paper <a href="chapBib_mj.html#biBMartin2011aa">[MM13]</a> as, roughly speaking, the maximum generalization of bipartitions and related objects. Although, mathematically, bipartitions are a special type of PBR, in <strong class="pkg">Semigroups</strong> bipartitions and PBRs are currently distinct types of objects. It is possible to change the representation from bipartition to PBR, and from PBR to bipartition, when appropriate; see Section <a href="chap4_mj.html#X86B714987C01895F"><span class="RefLink">4.3</span></a> for more details. The reason for this distinct is largely historical, bipartition appeared in the literature, and in the <strong class="pkg">Semigroups</strong> package, before PBRs.</p>
<h4>4.1 <span class="Heading">The family and categories of PBRs</span></h4>
div="">< class"""nbsp/span>hrefchap4_mj.htmlX86B714987C01895F">4.3 <span class="Heading">Changing the representationofa PBR</span</a
<h5>4.1-1 IsPBR</h5>
<div class"">< class=func=10<><td="tdleft"><codeclass"" IsPBR<code<><tdtd classtdright>&; /='color:red'>td/></table<div
<p> class=ContSSbr >span="nocss>nbsp; nbsp;span>ahref".#java.lang.StringIndexOutOfBoundsException: Range [107, 106) out of bounds for length 138
<p>Every PBR in <strong class="pkg">GAP</strong> belongs to the category <code class="java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 7
<p>Every collection of PBRs belongs to the category <code class="code">IsPBRCollection</code>. For example, PBR semigroupsspan="ContSS"><br /<spanclass"">nbspnbsp;/><ahref=".htmlX7F4C8A2B79E6D963>.54
<p>Every collection of collections of PBRs belongs to <code class="code">IsPBRCollColl</code>. For example, a span="">< /< class>nbspnbsp<span href".#X7E263B2F7B838D6E">456IsIdentityPBR<a></span>
<p>aid" namename=="">>/p>
<h44.2 <span class=HeadingCreatingPBRs/pan<h4
<> areseveral of creating instrongclass="pkg"></> which in section>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code /div><div
<p>Returns: A PBR.</p>
<p>The arguments <var class="Arg">left</var> and Semigroups ofPBRs
<pGiven anargumentcode class"PBR<returns the code=""x :/p>
<ul>
<><>or <codeclass"codei/code the range>j</code> in <var class="Arg">left[i]</var>;</p>
</li>
<li><p>forspan>/>
</li>
</ul>
<p>pPBRs introducedin <ahrefchapBib_mjhtml"[]> as roughly speaking maximum generalization of nd objects Although, mathematically are a special type of PBR, in Semigroups bipartitions and PBRs are currently distinct types of objects. It is possible to change the representation from bipartition to PBR, and from PBR to bipartition, when appropriatejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<p><a java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<h5>4.2-3 EmptyPBR</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleftjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<>eturnsA PBR.<p>
<p>If <var class="Arg">n</var> is a positive integer, then <code class="code">EmptyPBRjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<=""pre
<span ([ 3 , 1,2 ] 1],[3 21, ]]
[ ,]] ,[]]java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
< =">&;java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 83
true>>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IdentityPBR</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
pReturns .pjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
<p>If <var class="Arg">n</var> is a positive integer, then <code class="code">IdentityPBR</code> returns the identity PBR of degree <var class="Arg">n</var>. This PBR has <code class="code">2</code><varclass="Arg">n</var> edges: specifically, for each <code class="code">i</code> in the ranges <code class="code">[1 .. n]</code> and <code class="code">[-n .. -1]</code>, the identity PBR has an edge from <code class="code">i</code> to <code class="code">-i</code>.</p>
<p>If <var class="Arg">n</var> is a positive integer, then <code class="code">UniversalPBR</code> returns the PBR of degree <var class="Arg">n</var> with <code class="code">4 * n ^ 2</code> edges,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<divspanclass=>apgt;</spanspanclassGAPinputIsEmptyPBR;/>
<span class="java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 16
PBR -2 -1,1 ],2 -1, 1, 2],
[ [ -2, -1, 1, 2
<span class="GAPprompt">gap></span> <span class="GAPinput">IsUniversalPBR(x);</span>
true</pre></div>
<div class="func"><span="GAPprompt">gap&t;<//span> <spanclass"GAPinput"> :=Transformation[,2,1);/>
<p>Returns A .</p>
<p>When the argument
<div class="example"><pre>
<span class="GAPprompt">></span<classGAPinput"> :=PBR[-3] [-], [-]],[],[3,[1 2]]]);;<>
<span class="GAPprompt">gap></span> <span class="GAPinput">PBR([ -2] [- ][[ ,1 ]java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
true
< ="">&;span< =GAPinput
Transformation( 3,3, 2 ] java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
<span class="GAPprompt">gap></span> <span([ java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
<span="gapgt> ": (,)(2 4);
Error, the argument (a pbr) does not define a transformation</pre></div>
<p>[ -[-,] , ][ , ]]java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
<h4>4.4 <span class="Heading">Operators for java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
<
<dt><strong.4 />
<dd><p>returns the product of <var class="Arg">x</var> and <var class="Arg">y</var when <var class=Arg>/>and< > are.>
</dd>
<dt>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<>>returnsclass">x/> is lessthanthe < class="">y, or the degrees are equal and the out-neighbours of x (as a list of list of positive integers) is lexicographically less than the out-neighbours of y.
< class"func>func "10%
<="">< classfuncwidth=0">trtd="< class"">&827 </ode < classArg><var/><td=""> )td/></><div
<p>Returns: A PBR, or a positive integer.</p>
These set PBRs classn<>and <code class">[11 . 2 4 ><var^2</><p>
<p>More precisely, if <var class="Arg">m</var>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<p>If <var class="Arg">mat</var> is a PBR of degree <var class="Arg">n</var>, then <code class="code">NumberPBR</code> returns the number in <code class="code">[1 .. 2 ^ (4 * <var class="Arg">n</var> ^ 2)]</code> that corresponds to <var class="Arg">mat</var>.</p>
<div class="func"><table class="func" width="100%"><tr><tdp>A is <strongclass"button"">empty if itno edges. code>/ class="keyw">true</code> if the PBR <var class="Arg">x</var> is empty and <codeclass="keyw">false</code> if it is not.</p>
<>: code""true orcodejava.lang.StringIndexOutOfBoundsException: Range [57, 52) out of bounds for length 82
<p>A is class""emptystrong>if has . <code=code> codeclass""truecode the PBR< class">>x/var>isempty and false if it is not.
<p>A PBR of degree <code class="code">n</code> is the <strong class="button">identity</strong> PBR of degree <code class="code">n</code> if it is the identity <p>Returns: <code class="keyw"true/code it is the identity of the full PBR monoid of degree <code class="code">n</code>. The identity PBR of degree <code class="code">n</code> has <code class="code">2n</code> edges. Specifically, for each <codeclass="code">i</code> in the ranges <code class="code">[1 .=code>-. -1</>, identityPBRhas edge from class=""i<code <codeclass">-icode.pjava.lang.StringIndexOutOfBoundsException: Index 556 out of bounds for length 556
<p><code class="code">IsIdentityPBR</code> returns <code class="keyw">true</code> is the PBRfalse
< class"prejava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
< ="GAPprompt">apgt/spanclass"">x : PBR([-2,[1], [1, 2];/>
PBR([ [ -2 ], [ -1 ] ], [ [ 1 ], [ 2 ] ])
<span class="GAPprompt">gap></java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
false
<span class>.- <h5
PBR([ =""< classwidth0<<tdjava.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 221
<span class="GAPprompt">gap></span> <span class="GAPinput">IsIdentityPBR(x);</span>
true</pre></div>
<p>A PBR of degree <code class="code">n</code> is <strong class="button">universal</strong> if it has <code class="code">4 * n ^ 2</code> edges, i.e. every possible edge.</p>
<div class="example"><pre class"">&t;/span><span=""x:PBR[2 1][],[[1]-2, )<span
<span =GAPprompt>>spanspan class"">x =PBR[]] [])</>
PBR classGAPpromptgap>/spanspan=GAPinputIsUniversalPBR;<span
<span java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
false
<span class="GAPprompt">gap></<<div
PBR([ [ -2, 1 ], [ 2 ] ], [ [ -1 ], [ -2, 1 ]])
< classGAPpromptgap
false
<span class="GAPprompt">gap><pIf PBR classArgx/> definesbipartition < class">sBipartitionPBR/code> returns< class"">
PBR([ [ -1p> < class">> definesa if and only if when considered as a boolean matrix it is an equivalence.
<span class="GAPprompt">gap></span> <span class="GAPinput">IsUniversalPBR(x);</span>
true</pre></div>
<p> <var="">x/var definesbipartitionif onlyif considered as aboolean matrixitis equivalence.</p
<p>If <var class class"GAPprompt">><span< class=GAPinput [2 -,1, -, -,] [])<span
<div class="example"><pre>
<span class="GAPprompt">&t;</pan< =GAPinputx :=BR[[13] -,java.lang.StringIndexOutOfBoundsException: Range [87, 86) out of bounds for length 112
<span ="GAPprompt">><span< class=GAPinput" [-2 -1,2], [-2, -1, 1,2,3],
<span class="GAPprompt">></span> <span class="GAPinput"> [-2, -1, 1, 2]]);java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
PBR( -,3] [ 1, 3] [ 2, 1 2,3]]java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
[ [ -2, -1, 2 ], [ -2, -1, 1, 2, 3 ], [ -2, -1, 1,false/></div
<span class="GAPprompt">gap></span> <span classp>< ="X7AF425D17BBE9023" name"AF425D17BBE9023>/a>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">x := PBR([[-2, -1, 1], [2, 3], [2, 3]],</span>
<span class="GAPprompt">></span> <span class="GAPinput"> [[-2, -1, 1], [-2, -1, 1], [-3]]);</span>
PBR([ [ -2, -1, 1 ], [ 2, 3 ], [ 2, 3 ] ],
<span class="GAPprompt">
true
<span classp>If the < class"xvar>definesatransformation,java.lang.StringIndexOutOfBoundsException: Range [75, 71) out of bounds for length 221
false/>/>
<p><a id="X7AF425D17BBE9023"p> definition,< =funccode> (ah=chap4_mjXCBBE6080439596span class=RefLink431/span/)and class""></code (ahrefchap4_mjhtmlX8407F516825A514Aspan class=RefLink.-2span</a>) define mutually inverse isomorphisms from the full transformation monoid of degree <code class="code">n</code> to the submonoid of the full PBR monoid of degree <code class="code">n</code>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<>4.-9</>
<div class="func"><table class="
<pReturns<codeclass"">truecode <code="keyw">false/>java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
<p>If thePBR( [ 2 -, ,[-2 ,java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
<<pre/>
<p>With this definition, <"name=X7962D03186B1AFDF"</<>
<p>A PBR <var class="Arg">x</var> defines a dual transformation if and only if <code class="code">Star(<var class="Arg">x</var>)</code> satisfies <code class="func">IsTransformationPBRspanclass="GAPprompt>>IsDualTransformationPBR(x)
<div class<p>With this definition,<code class="func">AsPBR/> (ahref"chap4_mj.html#X81CBBE6080439596">< ="RefLink">4.-1/></> and class="func"></>(a hrefchap4_mjhtmlX795B1C16819905E8>span =RefLink>33<spana)definemutuallyinverseisomorphismsfrom symmetric <code class"code>nto submonoid of hefullPBR monoid of degree n> ofall the elements satisfying IsPartialPermPBR.
< class"example>pre>
<p>If the PBR <var class="Arg">x</var> defines a partial permutation, then <code class="code">IsPartialPermPBR</code> ([ [-,1 , ]] [ -1 ] - ]java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
<p>A PBR <var class="Arg">x</var> defines a partial perm if and only if it satisfies <code class="func">IsBipartitionPBR</code> (<a href="chap4_mj.html#X81EC86397E098BC8"><span class="RefLink">4.5-8</span></a>) and and when it is considered as a bipartition it satisfies <code class="func">IsPartialPermBipartition</code> (<a href="chap3_mj.html#X87C771D37B1FE95C"><span class="RefLink">3.5-15</span></a>).</p>
<p>With this definition, <code class="func">AsPBR</code> (<a href="chap4_mj.html#X81CBBE6080439596"><span class="RefLink">4.3-1</span>2/pre><div
divjava.lang.StringIndexOutOfBoundsException: Index 216 out of bounds for length 216
PBR[-,1,[2 [ 11, - ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsPartialPermPBR(x);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">x := PartialPerm([3, 1]);</spanp>With thisdefinition <code class"func">AsPBR<>(<a href".htmlX81CBBE6080439596">span=RefLink.-1/span<a and< class=funcAsPermutationcode><=chap4_mj< class"RefLink"434/></a>) define mutually isomorphisms the group degree ="">n/>to ofthefull monoidof <codeclass"">n<code> all satisfying =code<>(..the codeclass"">GroupOfUnitscode < href".htmlX811AEDD88280C277>sclass="RefLink">11.9-1) of the full PBR monoid of degree n).
[2,1,3]
<span class="GAPprompt">gap></panspan=GAPinputAsPBR) (x)AsPBR(^2)<span
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
<span classclass="">gapgt/span> <span class"GAPinput">IsPermPBR()</>
2</></>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsPermPBR</code>( <var java.lang.StringIndexOutOfBoundsException: Index 129 out of bounds for length 12
<>Returns class<code < class></code>./>
<p>If the PBR <var class="Arg">x</var> defines a permutation, then <code class="code">IsPermPBR</code> returns <code class="keyw">true</code>, and if not, then <
<p> PBRvarclass">x<span=RefLink5-<><a)andandit considered satisfiesclass"code(a ".>span=RefLink54<span/>./>
<p>java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
<h4>: < classkeywtrue/> < class=keywfalse><pjava.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
Semigroups PBRs
</span></h4>
<p>Semigroups and monoids of PBRs can be created in the usual way in <strong class="pkg">GAP</strong> using the functions <code class="func">Semigroup</code> (<a href="../../../doc/
<p>It is possible to create inverse
<p>Note that every PBR semigroup in <strong class="pkg">Semigroups</strong
<p>In this example <code class="code">S</code> cannot be converted into a monoid using <code class="func">AsMonoid</code> (<a href="../../../doc/ref/chap51_mj.html#X7B22038F832B9C0F"><span class="RefLink">Reference: AsMonoid</span></a>) since the <code class="func">One</code> (<a href="../../../doc/ref/chap31_mj.html#X8046262384895B2A"><span class="RefLink">Reference: One</span></a>) of any element in <code class="code">S</code> differs from the multiplicative neutral element.</p>
<p>For more details see <code class="func">IsMagmaWithOne</code> (<a href="../../../doc/ref/chap35_mj.html#X86071DE7835F1C7C"><span class="RefLink">Reference: IsMagmaWithOne</span></a>).</p>
¤ 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.0.29Bemerkung:
(vorverarbeitet)
¤
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.