Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

2 Posets
 2.1 The Poset type
 2.2 Examples of posets
 2.3 Plotting posets
 2.4 Homomorphisms
 2.5 Constructing poset homomorphisms in different ways
 2.6 Construction of posets
 2.7 Representations of the ordering
 2.8 Saving posets

2 Posets

2.1 The Poset type

Every poset has a Set of points and an Ordering.

2.1-1 Ordering
‣ Ordering( X )( operation )

A function computing the order of the poset \(X\). The truth value of the expression \(x\geq y\) is Ordering(X)(x,y).

gap> W:=TheWallet();
<finite poset of size 11>
gap> o:=Ordering(W);
function( x, y ) ... end
gap> o(1,5);
true
gap> o(1,7);
false

2.1-2 Set
‣ Set( X )( operation )

The set of points of \(X\).

gap> Set(TheWallet());
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]

2.1-3 \=
‣ \=( X_1, X_2 )( operation )

Two posets are equal if the sets of points are equal and the ordering is the same.

gap> P:=PosetByCoveringRelations([1,2,3,4],[]);
<finite poset of size 4>
gap> Q:=PosetByCoveringRelations([1,2,3,4], [[1,3],[1,4],[2,3],[2,4]]);
<finite poset of size 4>
gap> P = Q;
false
gap> P = P;
true

2.1-4 Size
‣ Size( X )( attribute )

The size (number of points) of \(X\).

gap> S4:=MinimalFiniteModelSphere(4);;
gap> Size(S4);
10

2.1-5 Iterator
‣ Iterator( X )( operation )

An iterator for the set of points of \(X\).

2.1-6 \in
‣ \in( x, X )( operation )

The truth value of \(x\in X\).

gap> 11 in TheWallet();
true
gap> 12 in TheWallet();
false
gap> S2:=MinimalFiniteModelSphere(2);;
gap> IdentityMap(S2) in HomPosets(S2,S2);
true

2.2 Examples of posets

2.2-1 EmptyPoset
‣ EmptyPoset( )( operation )

The empty poset.

gap> P:=EmptyPoset();
<finite poset of size 0>

2.2-2 MinimalFiniteModelSphere
‣ MinimalFiniteModelSphere( n )( operation )

The minimal finite model of the \(n\)-sphere \(S^n\) [Bar11, Section 3.2].

gap> S1:=MinimalFiniteModelSphere(1);
<finite poset of size 4>
gap> S4:=MinimalFiniteModelSphere(4);
<finite poset of size 10>

2.2-3 TheWallet
‣ TheWallet( )( operation )

The Wallet is a homotopically trivial poset on \(11\) points which is not contractible [Bar11, Example 4.2.1].
The Wallet.

gap> W:=TheWallet();
<finite poset of size 11>
gap> Set(W);
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
gap> PosetHomology(W);
[ [ 0 ], [  ], [  ] ]

2.2-4 TheTriangle
‣ TheTriangle( )( operation )

The Triangle is a poset on 19 points, see [Fer17, Example 2.2.7].
The Triangle.

2.2-5 FiniteModelProjectivePlane
‣ FiniteModelProjectivePlane( )( operation )

A finite model of the projective plane \(\mathbb{R}P^2\) [Bar11, Example 7.1.1].
Finite model of the projective plane.

gap> RP2:=FiniteModelProjectivePlane();
<finite poset of size 13>
gap> FundamentalGroup(RP2);
#I  there are 1 generator and 1 relator of total length 2
<fp group on the generators [ f1 ]>
gap> Size(last);
2
gap> PosetHomology(RP2);
[ [ 0 ], [ 2 ], [  ] ]

2.3 Plotting posets

To produce plots, the functions in this section need the software graphviz (https://www.graphviz.org) to be installed.

2.3-1 DotCode
‣ DotCode( X, options )( function )

Returns a string in the DOT language representing the Hasse diagram of the poset X. The parameter options allows to customize the plot.

2.3-2 DotCodeToFile
‣ DotCodeToFile( code, filename )( function )

This function takes code in the DOT language and saves the plot at filename.

2.3-3 PlotHasseDiagram
‣ PlotHasseDiagram( X, filename )( function )

This function plots the Hasse diagram of X using the command dot. The plot is displayed and stored at filename. Many file extensions are supported.

gap> W:=TheWallet();;
gap> PlotHasseDiagram(W,"wallet.pdf");

2.3-4 PlotMorseMatching
‣ PlotMorseMatching( X, M, filename )( function )

This function plots a Morse matching using the command dot. The matched edges are reversed and colored red. The plot is displayed and stored at filename.
A matching.

gap> F:=FreeGroup("x","y");;
gap> AssignGeneratorVariables(F);;
gap> G:=F/[x^3,y^3,Comm(x,y)];;
gap> P:=PosetFpGroup(G);
<finite poset of size 50>
gap> M:=GreedySpanningMatching(P);;
gap> PlotMorseMatching(P,M,"matching.pdf");

2.4 Homomorphisms

2.4-1 IdentityMap
‣ IdentityMap( X )( attribute )

The identity \(1_X\colon X\to X\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2], [4,1],[4,2]]);
<finite poset of size 4>
gap> id:=IdentityMap(A);
<order preserving map>
gap> 1^id;
1
gap> 2^id;
2
gap> 3^id;
3
gap> 4^id;
4

2.4-2 CompositionPosetHomomorphisms
‣ CompositionPosetHomomorphisms( f, g )( operation )
‣ CompositionPosetHomomorphismsNC( f, g )( operation )
‣ \*( f, g )( operation )

The composition \(f\circ g\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2], [4,1],[4,2]]);
<finite poset of size 4>
gap> id:=IdentityMap(A);
<order preserving map>
gap> f:=PosetHomomorphismByImages(A,A, [2,1,4,3]);
<order preserving map>
gap> g:=CompositionPosetHomomorphisms(f,id);
<order preserving map>
gap> g = f;
true
gap> f2:=CompositionPosetHomomorphisms(f,f);
<order preserving map>
gap> f2 = id;
true
gap> h:=PosetHomomorphismByImages(EmptyPoset(),A,[]);
<order preserving map>
gap> CompositionPosetHomomorphisms(h,f);
fail

The composition \(f\circ g\) without any checks. The composition \(g\circ f\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2], [4,1],[4,2]]);
<finite poset of size 4>
gap> id:=IdentityMap(A);
<order preserving map>
gap> f:=PosetHomomorphismByImages(A,A, [2,1,4,3]);
<order preserving map>
gap> f*f = IdentityMap(A);
true
gap> f*id = f;
true

2.4-3 SourceMap
‣ SourceMap( f )( operation )

The source \(X\) of a map \(f\colon X\to Y\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2], [4,1],[4,2]]);
<finite poset of size 4>
gap> f:=PosetHomomorphismByImages(A,A, [2,1,4,3]);
<order preserving map>
gap> SourceMap(f) = A;
true

2.4-4 TargetMap
‣ TargetMap( f )( operation )

The target \(Y\) of a map \(f\colon X\to Y\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2], [4,1],[4,2]]);
<finite poset of size 4>
gap> f:=PosetHomomorphismByImages(A,A, [2,1,4,3]);
<order preserving map>
gap> TargetMap(f) = A;
true

2.4-5 UnderlyingFunction
‣ UnderlyingFunction( f )( attribute )

A GAP function computing f as a set function.

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2], [4,1],[4,2]]);
<finite poset of size 4>
gap> f:=PosetHomomorphismByImages(A,A, [2,1,4,3]);
<order preserving map>
gap> uf:=UnderlyingFunction(f);
function( x ) ... end
gap> uf(1);
2
gap> uf(2);
1

2.4-6 Inverse
‣ Inverse( f )( attribute )
‣ InverseImmutable( f )( attribute )

The inverse of the isomorphism f.

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2],[4,1],[4,2]]);
<finite poset of size 4>
gap> B:=PosetByCoveringRelations([5..8], [[7,5],[7,6],[8,5],[8,6]]);
<finite poset of size 4>
gap> h:=PosetHomomorphismByImages(A,B,[5,6,7,8]);
<order preserving map>
gap> inv1:=Inverse(h);
<order preserving map>
gap> inv2:=InverseImmutable(h);
<order preserving map>
gap> inv1 = inv2;
true

2.4-7 ImageMap
‣ ImageMap( f )( operation )

The image \(f(X)\) of a map \(f\colon X\to Y\), given as a subposet of \(Y\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2],[4,1],[4,2]]);
<finite poset of size 4>
gap> B:=PosetByCoveringRelations([5..8], [[7,5],[7,6],[8,5],[8,6]]);
<finite poset of size 4>
gap> h:=PosetHomomorphismByImages(A,B,[5,6,7,8]);
<order preserving map>
gap> ImageMap(h);
<finite poset of size 4>
gap> last = B;
true

2.4-8 ImageMap
‣ ImageMap( f, x )( operation )
‣ \^( x, f )( operation )

The image \(f(x)\) of an element \(x\in X\) by the map \(f\colon X \to Y\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2],[4,1],[4,2]]);
<finite poset of size 4>
gap> B:=PosetByCoveringRelations([5..8], [[7,5],[7,6],[8,5],[8,6]]);
<finite poset of size 4>
gap> h:=PosetHomomorphismByImages(A,B,[5,6,7,8]);
<order preserving map>
gap> ImageMap(h,1);
5
gap> ImageMap(h,3);
7

The image \(f(x)\) of an element \(x\in X\) by the map \(f\colon X \to Y\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2],[4,1],[4,2]]);
<finite poset of size 4>
gap> B:=PosetByCoveringRelations([5..8], [[7,5],[7,6],[8,5],[8,6]]);
<finite poset of size 4>
gap> h:=PosetHomomorphismByImages(A,B,[5,6,7,8]);
<order preserving map>
gap> 1^h;
5
gap> 3^h;
7

2.4-9 \*
‣ \*( L, f )( operation )

Given a list \(L\) of poset homomorphisms, it return the list of the compositions \(f\circ g\) for \(g\in L\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2],[4,1],[4,2]]);;
gap> B:=PosetByCoveringRelations([5..8], [[7,5],[7,6],[8,5],[8,6]]);;
gap> f:=PosetHomomorphismByImages(A,A, [2,1,4,3]);;
gap> h:=PosetHomomorphismByImages(A,B,[5,6,7,8]);;
gap> [h,f] * f;
[ fail, <order preserving map> ]
gap> [Inverse(h), f] * h;
[ <order preserving map>, <order preserving map> ]

2.4-10 \*
‣ \*( f, L )( operation )

Given a list \(L\) of poset homomorphisms, it return the list of the compositions \(g\circ f\) for \(g\in L\).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2],[4,1],[4,2]]);;
gap> B:=PosetByCoveringRelations([5..8], [[7,5],[7,6],[8,5],[8,6]]);;
gap> f:=PosetHomomorphismByImages(A,A, [2,1,4,3]);;
gap> h:=PosetHomomorphismByImages(A,B,[5,6,7,8]);;
gap> f *[h,f];
[ <order preserving map>, <order preserving map> ]

2.4-11 \^
‣ \^( f, n )( operation )

Returns \(f^n\). If \(n=0\) returns the identity. If \(f\) is an isomorphism \(f^{-1}\) is its inverse.

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2],[4,1],[4,2]]);;
gap> f:=PosetHomomorphismByImages(A,A, [2,1,4,3]);;
gap> f^2;
<order preserving map>
gap> f^-2 = IdentityMap(A);
true
gap> B:=PosetByCoveringRelations([5..8], [[7,5],[7,6],[8,5],[8,6]]);;
gap> h:=PosetHomomorphismByImages(A,B,[5,6,7,8]);;
gap> h^2;
fail

2.5 Constructing poset homomorphisms in different ways

2.5-1 PosetHomomorphismByFunction
‣ PosetHomomorphismByFunction( X, Y, f )( operation )

Creates the order preserving map \(f\colon X\to Y\) defined by the GAP function f.

2.5-2 PosetHomomorphismByFunctionNC
‣ PosetHomomorphismByFunctionNC( X, Y, f )( operation )

Creates the order preserving map \(f\colon X\to Y\) defined by the GAP function f without any checks.

2.5-3 PosetHomomorphismByImages
‣ PosetHomomorphismByImages( X, Y, ys )( operation )

Creates the order preserving map \(f\colon X\to Y\) defined by \(f(x) = ys[i]\) if i = PositionSorted(Set(X),x).

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2],[4,1],[4,2]]);;
gap> B:=PosetByCoveringRelations([5..8], [[7,5],[7,6],[8,5],[8,6]]);;
gap> h:=PosetHomomorphismByImages(A,B,[5,6,7,8]);;
gap> List(Set(A), x->x^h);
[ 5, 6, 7, 8 ]

2.5-4 PosetHomomorphismByMapping
‣ PosetHomomorphismByMapping( X, Y, f )( operation )

2.5-5 IsomorphismPosets
‣ IsomorphismPosets( X, Y )( operation )

An isomorphism between \(X\) and \(Y\) or fail if the posets are not isomorphic.

gap> A:=PosetByCoveringRelations([1..4], [[3,1],[3,2],[4,1],[4,2]]);;
gap> IsomorphismPosets(A,MinimalFiniteModelSphere(1));
<order preserving map>
gap> IsomorphismPosets(A,EmptyPoset());
fail

2.6 Construction of posets

2.6-1 PosetByFunction
‣ PosetByFunction( X, f )( operation )

PosetByFunction creates a poset with set of points X and ordering function f. Checks that f defines a reflexive, antisymmetric and transitive relation on X.

gap> G:=AlternatingGroup(5);
Alt( [ 1 .. 5 ] )
gap> S:=AllSubgroups(G);;
gap> P:=PosetByFunction(S, IsSubgroup);
<finite poset of size 59>
gap> Q:=PosetOfSubgroups(G);
<finite poset of size 59>
gap> P = Q;
true

2.6-2 PosetByFunctionNC
‣ PosetByFunctionNC( X, f )( operation )

PosetByFunctionNC creates a poset with set of points X and ordering function f without any checks.

gap> G:=AlternatingGroup(5);
Alt( [ 1 .. 5 ] )
gap> S:=AllSubgroups(G);;
gap> start:=Runtime();; P:=PosetByFunction(S,IsSubgroup);; Runtime()-start;
624
gap> start:=Runtime();; Q:=PosetByFunctionNC(S,IsSubgroup);; Runtime()-start;
0
gap> P = Q;
true

2.6-3 PosetByOrderMatrix
‣ PosetByOrderMatrix( M )( operation )

Returns the poset \(X\) on \(\{1,\ldots,n\}\) such that \(i\succcurlyeq j\) is given by \(M_{i,j}\).

gap> S1:=MinimalFiniteModelSphere(1);
<finite poset of size 4>
gap> M:=OrderMatrix(S1);
[ [ true, false, false, false ], [ false, true, false, false ], [ true, true, true, false ],
  [ true, true, false, true ] ]
gap> Q:=PosetByOrderMatrix(M);
<finite poset of size 4>
gap> Set(Q);
[ 1 .. 4 ]
gap> IsomorphismPosets(S1,Q);
<order preserving map>

2.6-4 PosetByOrderMatrix
‣ PosetByOrderMatrix( X, M )( operation )

Returns the poset on X such that X[i]>X[j] is given by M[i][j].

gap> S1:=MinimalFiniteModelSphere(1);
<finite poset of size 4>
gap> M:=OrderMatrix(S1);
[ [ true, false, false, false ], [ false, true, false, false ], [ true, true, true, false ],
  [ true, true, false, true ] ]
gap> Set(S1);
[ [ 1, "x" ], [ 1, "y" ], [ 2, "x" ], [ 2, "y" ] ]
gap> P:=PosetByOrderMatrix(["a","b","c","d"],M);
<finite poset of size 4>
gap> Set(P);
[ "a", "b", "c", "d" ]
gap> IsomorphismPosets(P,Q);
<order preserving map>

2.6-5 PosetByOrderMatrixNC
‣ PosetByOrderMatrixNC( M )( operation )

Returns the poset \(X\) on \(\{1,\ldots,n\}\) such that \(i\succcurlyeq j\) is given by \(M_{i,j}\) without any checks.

2.6-6 PosetByOrderMatrixNC
‣ PosetByOrderMatrixNC( X, M )( operation )

Returns the poset on X such that X[i]>X[j] is given by M[i][j] without any checks.

2.6-7 PosetByOrderRelation
‣ PosetByOrderRelation( R )( operation )

Creates a Poset poset from a partial order binary relation, see IsPartialOrderBinaryRelation (Reference: IsPartialOrderBinaryRelation).

gap> R2:=BinaryRelationOnPoints([[1,2,3], [2,3], [3]]);
Binary Relation on 3 points
gap> IsPartialOrderBinaryRelation(R2);
true
gap> P:=PosetByOrderRelation(R2);
<finite poset of size 3>

2.6-8 PosetByHasseDiagram
‣ PosetByHasseDiagram( X )( operation )

Not implemented.

2.6-9 PosetByCoveringRelations
‣ PosetByCoveringRelations( X, rel )( operation )

Creates the poset on X with covering relations given by rel. Each element of rel must be a pair [x,y] representing a covering relation \(x\succ y\).

gap> rel:=[[1,3], [1,4], [2,3], [2,4]];
[ [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ] ]
gap> Q:=PosetByCoveringRelations([1,2,3,4],rel);
<finite poset of size 4>
gap> S1:=MinimalFiniteModelSphere(1);
<finite poset of size 4>
gap> IsomorphismPosets(S1,Q);
<order preserving map>

2.7 Representations of the ordering

2.7-1 RelationByPoset
‣ RelationByPoset( X )( operation )

Turns a poset X into a Relation on [1..n], see Relations (Reference: Relations).

gap> W:=TheWallet();
<finite poset of size 11>
gap> RelationByPoset(W);
<general mapping: <object> -> <object> >
gap> IsPartialOrderBinaryRelation(last);
true

2.7-2 OrderMatrix
‣ OrderMatrix( X )( attribute )

The order matrix of X. After calling OrderMatrix comparing two elements of X becomes immediate.

gap> S1:=MinimalFiniteModelSphere(1);
<finite poset of size 4>
gap> OrderMatrix(S1);
[ [ true, false, false, false ], [ false, true, false, false ], [ true, true, true, false ],
  [ true, true, false, true ] ]

2.7-3 OrderingByIndex
‣ OrderingByIndex( X )( attribute )

Returns a two valued function on the set [1..Size(X)]. If X has order matrix, this function valued in \((i,j)\) returns OrderMatrix(X)[i][j]. Otherwise, it returns Ordering(X)(Set(X)[i],Set(X)[j]).

gap> S1:=MinimalFiniteModelSphere(1);
<finite poset of size 4>
gap> OrderMatrix(S1);
[ [ true, false, false, false ], [ false, true, false, false ], [ true, true, true, false ],
  [ true, true, false, true ] ]
gap> fun:=OrderingByIndex(S1);
function( i, j ) ... end
gap> fun(1,3);
false
gap> fun(3,1);
true
gap> fun(2,2);
true

2.7-4 CoveringRelations
‣ CoveringRelations( X )( attribute )

The list of covering relations of X.

gap> W:=TheWallet();
<finite poset of size 11>
gap> Set(W);
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
gap> CoveringRelations(W);
[ [ 1, 5 ], [ 1, 6 ], [ 2, 5 ], [ 2, 7 ], [ 3, 6 ], [ 3, 8 ], [ 4, 7 ], [ 4, 8 ], [ 5, 9 ], [ 5, 10 ], [ 6, 9 ],
  [ 6, 10 ], [ 7, 10 ], [ 7, 11 ], [ 8, 10 ], [ 8, 11 ] ]

2.7-5 UpperCovers
‣ UpperCovers( X )( attribute )

Returns the function on X such that its value on an element x in X is the list of the upper covers of x. Recall that given a finite poset \(X\) and an element \(x\in X\), its upper covers are the elements \(y\in X\) such that \(y > x\) and there is no \(z\in X\) such that \(y > z > x\).

gap> W:=TheWallet();
<finite poset of size 11>
gap> Set(W);
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
gap> CoveringRelations(W);
[ [ 1, 5 ], [ 1, 6 ], [ 2, 5 ], [ 2, 7 ], [ 3, 6 ], [ 3, 8 ], [ 4, 7 ], [ 4, 8 ], [ 5, 9 ], [ 5, 10 ], [ 6, 9 ],
  [ 6, 10 ], [ 7, 10 ], [ 7, 11 ], [ 8, 10 ], [ 8, 11 ] ]
gap> fun:=UpperCovers(W);
function( x ) ... end
gap> fun(1);
[  ]
gap> fun(10);
[ 5, 6, 7, 8 ]
gap> fun(5);
[ 1, 2 ]

2.7-6 UpperCovers
‣ UpperCovers( X, x )( operation )

Returns the upper covers of the element x in the poset X.

gap> W:=TheWallet();
<finite poset of size 11>
gap> Set(W);
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
gap> UpperCovers(W,10);
[ 5, 6, 7, 8 ]

2.7-7 LowerCovers
‣ LowerCovers( X )( attribute )

Returns the function on X such that its value on an element x in X is the list of the lower covers of x. Recall that given a finite poset \(X\) and an element \(x\in X\), its lower covers are the elements \(y\in X\) such that \(x > y\) and there is no \(z\in X\) such that \(x > z > y\).

gap> S1:=PosetByCoveringRelations([1,2,3,4], [[3,1],[3,2],[4,1],[4,2]]);
<finite poset of size 4>
gap> CoveringRelations(S1);
[ [ 3, 1 ], [ 3, 2 ], [ 4, 1 ], [ 4, 2 ] ]
gap> g:=LowerCovers(S1);
function( x ) ... end
gap> g(2);
[  ]
gap> g(4);
[ 1, 2 ]

2.7-8 LowerCovers
‣ LowerCovers( X, x )( operation )

Returns the lower covers of the element x in the poset X.

gap> S1:=PosetByCoveringRelations([1,2,3,4], [[3,1],[3,2],[4,1],[4,2]]);
<finite poset of size 4>
gap> LowerCovers(S1,4);
[ 1, 2 ]

2.7-9 MaximalElements
‣ MaximalElements( X )( attribute )

The set of maximal points of \(X\).

gap> G:=AlternatingGroup(5);
Alt( [ 1 .. 5 ] )
gap> SpG:=BrownPoset(G,2);
<finite poset of size 20>
gap> Max:=MaximalElements(SpG);;
gap> Size(Max);
5
gap> List(Max,Order);
[ 4, 4, 4, 4, 4 ]
gap> S:=SylowSubgroup(G,2);;
gap> N:=Normalizer(G,S);;
gap> Index(G,N);
5
gap> Min:=MinimalElements(SpG);;
gap> Size(Min);
15
gap> List(Min,Order);
[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ]

2.7-10 MinimalElements
‣ MinimalElements( X )( attribute )

The set of minimal points of \(X\).

gap> G:=AlternatingGroup(5);
Alt( [ 1 .. 5 ] )
gap> SpG:=BrownPoset(G,2);
<finite poset of size 20>
gap> Min:=MinimalElements(SpG);;
gap> Size(Min);
15
gap> List(Min,Order);
[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ]

2.7-11 MaximumPoset
‣ MaximumPoset( X )( attribute )

Returns the maximum of the poset if it exists. Otherwise it returns fail.

gap> P:=CyclicGroup(4);
<pc group of size 4 with 2 generators>
gap> SpG:=BrownPoset(P,2);
<finite poset of size 2>
gap> MaximumPoset(SpG);
Group([ f2, f1 ])
gap> W:=TheWallet();
<finite poset of size 11>
gap> MaximumPoset(W);
fail

2.7-12 MinimumPoset
‣ MinimumPoset( X )( attribute )

Returns the minimum of the poset if it exists. Otherwise it returns fail.

gap> P:=SmallGroup(4,2);
<pc group of size 4 with 2 generators>
gap> SpG:=BrownPoset(P,2);
<finite poset of size 2>
gap> MinimumPoset(SpG);
fail
gap> W:=TheWallet();
<finite poset of size 11>
gap> MinimumPoset(W);
fail

2.7-13 IndicesElementsAbove
‣ IndicesElementsAbove( arg )( attribute )

2.7-14 IndicesElementsBelow
‣ IndicesElementsBelow( arg )( attribute )

2.8 Saving posets

2.8-1 SavePosetAsListsOfElementsBelow
‣ SavePosetAsListsOfElementsBelow( arg1, arg2 )( operation )

2.8-2 SavePosetAsOrderMatrix
‣ SavePosetAsOrderMatrix( arg1, arg2 )( operation )
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind

generated by GAPDoc2HTML