Macaulay2 » Documentation
Packages » Matroids :: isSimple(Matroid)
next | previous | forward | backward | up | index | toc

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

- Function: isSimple
- Usage:
    `isSimple M`
- Inputs:
  - M, a matroid,
- Outputs:
  - a Boolean value, whether M is a simple matroid

## Description

A matroid is simple if it has no loops or parallel classes; equivalently, it has no circuits of size <= 2.

Among the class of simple matroids, the lattice of flats is a complete invariant. Every matroid has a unique simplification which has the same lattice of flats.

    i1 : isSimple matroid completeGraph 3

    o1 = true

    i2 : M = matroid(completeGraph 3, ParallelEdges => {set{0,1},set{0,1},set{1,2}}, Loops => {0,2})

    o2 = a "matroid" of rank 2 on 8 elements

    o2 : Matroid

    i3 : isSimple M

    o3 = false

    i4 : S = simpleMatroid M

    o4 = a "matroid" of rank 2 on 3 elements

    o4 : Matroid

    i5 : isSimple S

    o5 = true

    i6 : latticeOfFlats M == latticeOfFlats S

    o6 = true

Note that the dual of a simple matroid may not be simple:

    i7 : U = uniformMatroid(2, 2)

    o7 = a "matroid" of rank 2 on 2 elements

    o7 : Matroid

    i8 : isSimple U

    o8 = true

    i9 : isSimple dual U

    o9 = false

## See also

- simpleMatroid -- simple matroid associated to a matroid

## Ways to use this method:

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

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