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

# modularCut -- associated to an elementary quotient or linear subclass

## Synopsis

• Usage:
modularCut(M, N),
modularCut(M, H)
• Inputs:
• M,
• N,
• H, a list, a list of hyperplanes of the matroid forming a linear subclass
• Optional inputs:
• CheckWellDefined => ..., default value false, check whether the list is a linear subclass
• Outputs:
• a list, a list of flats of the matroid forming a modular cut

## Description

This function is provided by the package Matroids.

An elementary quotient M of a matroid N is completely determined by a modular cut of flats of N. Given such an elementary quotient, this function produces the corresponding modular cut. See isModularCut for more details about modular cuts.

 i1 : N = matroid completeGraph 4; i2 : F = set {0, 1, 3}; i3 : TFN = truncate(F, N); i4 : isElementaryQuotient(TFN, N) o4 = true i5 : modularCut(TFN, N) o5 = {{0, 1, 3}, {0, 1, 2, 3, 4, 5}} o5 : List

In turn, a modular cut K of the matroid M is completely determined by a collection of hyperplanes of M called a linear subclass. See isLinearSubclass for more details about linear subclasses. Given a list H of hyperplanes of M forming a linear subclass, the corresponding modular cut consists of all flats F of M such that every hyperplane containing F belongs to H.

 i6 : A = matrix {{1, 0, 0, 1, 1}, {0, 1, 0, 1, -1}, {0, 0, 1, 0, 0}} o6 = | 1 0 0 1 1 | | 0 1 0 1 -1 | | 0 0 1 0 0 | 3 5 o6 : Matrix ZZ <-- ZZ i7 : M = matroid A o7 = a "matroid" of rank 3 on 5 elements o7 : Matroid i8 : H = drop(hyperplanes M, 1) o8 = {set {4, 2}, set {2, 3}, set {1, 2}, set {0, 2}} o8 : List i9 : isLinearSubclass(M, H) o9 = true i10 : modularCut(M, H) o10 = {set {2}, set {4, 2}, set {2, 3}, set {1, 2}, set {0, 2}, set {0, 1, 2, ----------------------------------------------------------------------- 3, 4}} o10 : List