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

allMinors -- returns all minors of one matroid in another

Synopsis

Description

This method returns a list of all possible ways to realize N as a minor of M. The output is a list of pairs (S, T) of subsets of the ground set of M such that minor(M, S, T) is isomorphic to N.

In fact, S will be an independent subset of M, of size = rank M - rank N, and T will be a coindependent subset of M, of size = #((M/S).groundSet) - #N.groundSet, which is disjoint from S.

The output of this method should be the empty list iff the output of hasMinor is false (for the same input).

i1 : V = specificMatroid "vamos"

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

o1 : Matroid
i2 : U25 = uniformMatroid(2,5)

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

o2 : Matroid
i3 : elapsedTime L = allMinors(V, U25);
 -- 0.023602 seconds elapsed
i4 : #L

o4 = 64
i5 : netList L_{0..4}

     +----------+-------+
o5 = |set {3, 5}|set {2}|
     +----------+-------+
     |set {3, 5}|set {4}|
     +----------+-------+
     |set {3, 6}|set {2}|
     +----------+-------+
     |set {3, 6}|set {7}|
     +----------+-------+
     |set {5, 6}|set {0}|
     +----------+-------+
i6 : all(L, pair -> areIsomorphic(U25, minor(V, pair#0, pair#1)))

o6 = true

See also

Ways to use allMinors :

For the programmer

The object allMinors is a method function.