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

# coextension -- the free coextension of a matroid

- Usage:
    `coextension M`
- Inputs:
  - M, a matroid
- Outputs:
  - a matroid, 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

## See also

- extension -- of a matroid relative to a flat or modular cut

## Ways to use coextension:

- `coextension(Matroid)`

## For the programmer

The object coextension is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Matroids/doc-Matroids.m2:3733:0.