The minor M / X \ Y of M is given by contracting X and deleting Y from M. The resulting matroid is independent of the order in which deletion and contraction is done. If X (or Y) is a set (of indices in M.groundSet), then X is identified with the sublist of elements of M with indices in X: cf. groundSet for more on this package-wide convention.
|
|
|
|
|
|
|
|
Note that there is potential ambiguity for the second argument - namely, whether or not Y is treated with respect to the ground set of M or M / X (which are different). This method assumes that the indices of Y (and X) are taken with respect to the ground set of M.
If one already has the indices Y0 of Y in M / X (or the indices X0 of X in M \ Y), one can simply use the notation M / X \ Y0 (or (M \ Y) / X0). Thus this method serves purely as a convenience, to save the user the (trivial) task of computing Y0 from Y.
If X and Y are not disjoint, then an error is thrown (thus one should subtract X from Y beforehand).
|
|
|
|
|
|
|
|
The object minor is a method function.