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 |
The object allMatroids is a method function.