Macaulay2 » Documentation
Packages » TriangularSets :: minimalObjects
next | previous | forward | backward | up | index | toc

minimalObjects -- minimal elements in a partial order

Synopsis

Description

The comparison function cmp should take values in $\{-1,0,1\}$ as follows:

if $a>b$ then cmp(a,b) = 1,

if $a<b$ then cmp(a,b) = -1,

if $a,b$ are incomparable then cmp(a,b) = 0,

cmp(a,a) can be either -1 or 1.

As an example, consider the poset of divisors.

i1 : L = 2..20

o1 = (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)

o1 : Sequence
i2 : cmp = (i,j) -> if i%j==0 then 1 else if j%i==0 then -1 else 0;
i3 : prime = minimalObjects(L, cmp);
i4 : select(L, i -> prime#i)

o4 = (2, 3, 5, 7, 11, 13, 17, 19)

o4 : Sequence

      

For the programmer

The object minimalObjects is a function closure.