For a matroid M on a ground set E, and k >= 1, a (2)partition (X, E  X) of E(M) is called a kseparation of M if X >= k, E  X >= k, and rank(X) + rank(E  X)  rank(M) <= k1. The separation is called minimal if either X = k or E  X = k.
This method computes a kseparation of M, if one exists. If no kseparation of M exists, then null is returned.
Efficiency is achieved by using special structure of kseparations: if (X, E  X) is a minimal kseparation (and no mseparation with m < k exists) with X = k, then X is either an independent cocircuit or a coindependent circuit. On the other hand, if (X, E  X) is a nonminimal separation with E  X minimal, then X is both a flat and a coflat. In particular, if the ranks of all flats have been previously computed (e.g. via fVector), then this method should finish quickly.
For k = 1, it is generally more efficient to use components and isConnected than this method.



The object getSeparation is a method function.