next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Matroids :: allMatroids

allMatroids -- returns all n-element matroids

Synopsis

Description

This method returns a list of matroids on n elements, for small n (currently, n <= 8). This list is complete for isomorphism types of matroids on n elements, i.e. every matroid on n elements is isomorphic to a unique matroid in this list.

One can perform many verifications using this method:

i1 : L = allMatroids 5; #L

o2 = 38
i3 : all(L, isWellDefined)

o3 = true
i4 : all(subsets(L, 2), S -> quickIsomorphismTest(S#0, S#1) == "false")

o4 = true
i5 : tally(L/fVector/values)

o5 = Tally{{1, 1} => 5              }
        {1, 2, 1} => 6
        {1, 3, 1} => 4
        {1, 3, 3, 1} => 4
        {1, 4, 1} => 2
        {1, 4, 4, 1} => 3
        {1, 4, 6, 1} => 2
        {1, 4, 6, 4, 1} => 2
        {1, 5, 1} => 1
        {1, 5, 5, 1} => 1
        {1, 5, 6, 1} => 1
        {1, 5, 8, 1} => 1
        {1, 5, 8, 5, 1} => 1
        {1, 5, 10, 1} => 1
        {1, 5, 10, 7, 1} => 1
        {1, 5, 10, 10, 1} => 1
        {1, 5, 10, 10, 5, 1} => 1
        {1} => 1

o5 : Tally
i6 : smallMatroids = flatten apply(6, i -> allMatroids i); -- all matroids on < 6 elements
i7 : #smallMatroids

o7 = 70

Ways to use allMatroids :

For the programmer

The object allMatroids is a method function.