Macaulay2 » Documentation
Packages » Matroids :: closure
next | previous | forward | backward | up | index | toc

closure -- closure of a subset of a matroid

Synopsis

Description

The closure of a subset S of a matroid (E, B) is the set cl(S) := {x $\in$ E : rank(S) = rank(S $\cup \{x\}$) }. The closure operator 2^E -> 2^E, S $\mapsto$ cl(S), completely determines the matroid (indeed, the maximal proper closed sets - i.e. hyperplanes - already determine the matroid).

i1 : M = matroid({a,b,c,d},{{a,b},{a,c}})

o1 = a "matroid" of rank 2 on 4 elements

o1 : Matroid
i2 : for s in subsets M_* do print(toString s | " has closure " | toString closure_M s)
{} has closure {3}
{a} has closure {0, 3}
{b} has closure {1, 2, 3}
{a, b} has closure {0, 1, 2, 3}
{c} has closure {1, 2, 3}
{a, c} has closure {0, 1, 2, 3}
{b, c} has closure {1, 2, 3}
{a, b, c} has closure {0, 1, 2, 3}
{d} has closure {3}
{a, d} has closure {0, 3}
{b, d} has closure {1, 2, 3}
{a, b, d} has closure {0, 1, 2, 3}
{c, d} has closure {1, 2, 3}
{a, c, d} has closure {0, 1, 2, 3}
{b, c, d} has closure {1, 2, 3}
{a, b, c, d} has closure {0, 1, 2, 3}
i3 : F = flats M

o3 = {set {3}, set {1, 2, 3}, set {0, 3}, set {0, 1, 2, 3}}

o3 : List
i4 : all(F, f -> closure_M f === f)

o4 = true

See also

Ways to use closure :

For the programmer

The object closure is a method function.