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

elementaryQuotient -- associated to a modular cut or linear subclass

Synopsis

Description

This function is provided by the package Matroids.

An elementary quotient a matroid M is a matroid on the same ground set that is a quotient matroid of M having rank equal to the rank of M minus one. Every elementary quotient is completely determined by a modular cut of flats of M. See isModularCut for more details about modular cuts. The elementary quotient of M corresponding to a modular cut K is the extension of M by a single element e associated to K followed by the contraction of the set {e}.

i1 : A = matrix {{1, 0, 0, 1, 1}, {0, 1, 0, 1, -1}, {0, 0, 1, 0, 0}}

o1 = | 1 0 0 1 1  |
     | 0 1 0 1 -1 |
     | 0 0 1 0 0  |

              3       5
o1 : Matrix ZZ  <-- ZZ
i2 : M = matroid A

o2 = a "matroid" of rank 3 on 5 elements

o2 : Matroid
i3 : K = {{2}, {2, 4}, {2, 3}, {1, 2}, {0, 2}, {0, 1, 2, 3, 4}};
i4 : isModularCut(M, K)

o4 = true
i5 : Q1 = elementaryQuotient(M, K)

o5 = a "matroid" of rank 2 on 5 elements

o5 : Matroid

Equivalently since, a modular cut K of the matroid M is completely determined by a collection of hyperplanes of M called a linear subclass, we can form an elementary quotient by specifying a much shorter list of hyperplanes as follows. See isLinearSubclass for more details about linear subclasses.

i6 : H = linearSubclass(M, K)

o6 = {set {0, 2}, set {2, 4}, set {1, 2}, set {2, 3}}

o6 : List
i7 : Q2 = elementaryQuotient(M, H, EntryMode => "hyperplanes")

o7 = a "matroid" of rank 2 on 5 elements

o7 : Matroid
i8 : Q1 == Q2

o8 = true

See also

Ways to use elementaryQuotient :

For the programmer

The object elementaryQuotient is a method function with options.