next | previous | forward | backward | up | index | toc

# elementaryQuotient -- associated to a modular cut or linear subclass

## Synopsis

• Usage:
elementaryQuotient(M, L)
• Inputs:
• M,
• L, a list, a list of flats or hyperplanes of the matroid forming a modular cut/linear subclass
• Optional inputs:
• CheckWellDefined => ..., default value false, check whether the list is a modular cut or linear subclass
• EntryMode => ..., default value "modular cut", use a modular cut or linear subclass
• Outputs:
• , the elementary quotient of the matroid associated to modular cut/linear subclass

## 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 {2, 3}, set {0, 2}, set {4, 2}, set {1, 2}} 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

• isElementaryQuotient -- whether a matroid is an elementary quotient of another matroid
• isLinearSubclass -- whether a list of hyperplanes of a matroid is a linear subclass
• isModularCut -- whether a list of flats of a matroid is a modular cut
• isQuotient -- whether a matroid is a quotient of another matroid
• linearSubclass -- associated to an elementary quotient or modular cut
• modularCut -- associated to an elementary quotient or linear subclass

## Ways to use elementaryQuotient :

• elementaryQuotient(Matroid,List)

## For the programmer

The object elementaryQuotient is .