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

# coextension -- the free coextension of a matroid

## Synopsis

• Usage:
coextension M
• Inputs:
• M,
• Outputs:
• , the free coextension of the matroid

## Description

This function is provided by the package Matroids.

A matroid N is a coextension of the matroid M if the dual of M is an extension of the dual of N. The free coextension of M is the dual of the free extension of the dual of M. The free coextension of a uniform matroid U_{r,n} is U_{r+1,n+1}.

 i1 : M = uniformMatroid(3, 4); i2 : N = coextension M o2 = a "matroid" of rank 4 on 5 elements o2 : Matroid i3 : quickIsomorphismTest(N, uniformMatroid(4, 5)) o3 = true

The free coextension N is a matroid whose ground set is the ground set of M plus one additional element e. Flats of the free coextension come in one of two types: They are either independent sets of M or sets containing e that become flats of M after removing e.

 i4 : M = matroid completeGraph 3; i5 : partition(I -> #I, independentSets M) o5 = HashTable{0 => {set {}} } 1 => {set {1}, set {2}, set {0}} 2 => {set {1, 2}, set {0, 2}, set {0, 1}} o5 : HashTable i6 : partition(F -> rank(M, F), flats M) o6 = HashTable{0 => {set {}} } 1 => {set {2}, set {1}, set {0}} 2 => {set {0, 1, 2}} o6 : HashTable i7 : N = coextension M o7 = a "matroid" of rank 3 on 4 elements o7 : Matroid i8 : partition(F -> rank(N, F), flats N) o8 = HashTable{0 => {set {}} } 1 => {set {3}, set {2}, set {1}, set {0}} 2 => {set {2, 3}, set {1, 3}, set {0, 3}, set {1, 2}, set {0, 2}, set {0, 1}} 3 => {set {0, 1, 2, 3}} o8 : HashTable