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

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.04284 seconds elapsed
i4 : #L

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

     +----------+-------+
o5 = |set {0, 1}|set {3}|
     +----------+-------+
     |set {0, 1}|set {2}|
     +----------+-------+
     |set {0, 2}|set {3}|
     +----------+-------+
     |set {0, 2}|set {1}|
     +----------+-------+
     |set {0, 4}|set {3}|
     +----------+-------+
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.