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

# simpleMatroid -- simple matroid associated to a matroid

- Usage:
    `S = simpleMatroid M`
- Inputs:
  - M, a matroid,
- Outputs:
  - a matroid, the simple matroid associated to M

## Description

The simple matroid associated to a matroid M is obtained from M by deleting all loops, and all but one element from each parallel class.

In a simple matroid, the lattice of flats has the empty set as minimal element, and all atoms are singletons.

    i1 : M = uniformMatroid(0, 2) ++ uniformMatroid(1, 2) ++ uniformMatroid(2, 4)

    o1 = a "matroid" of rank 3 on 8 elements

    o1 : Matroid

    i2 : isSimple M

    o2 = false

    i3 : S = simpleMatroid M

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

    o3 : Matroid

    i4 : latticeOfFlats M == latticeOfFlats S

    o4 = true

    i5 : select(flats S, f -> rank(S, f) <= 1)

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

    o5 : List

    i6 : AG32 = affineGeometry(3, 2)

    o6 = a "matroid" of rank 4 on 8 elements

    o6 : Matroid

## See also

- isSimple(Matroid) -- whether a matroid is simple

## Ways to use simpleMatroid:

- `simpleMatroid(Matroid)`

## For the programmer

The object simpleMatroid 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:2764:0.