-
-
Notifications
You must be signed in to change notification settings - Fork 657
Description
Is there an existing issue for this?
- I have searched the existing issues for a bug report that matches the one I want to file, without success.
Problem Description
It is conjectured that asymptotically almost all matroids are paving matroids. Mederos, Pérez-Cabrera, Takane, Tapia-Sánchez, and Zavala provide an algorithm to construct all paving matroids of a given rank with groundset of a given size. This ticket aims to implement their algorithm and allow iteration over the set of all paving matroids.
Proposed Solution
Calling matroids.PavingMatroids(n,k)
should return a class (uniquely) representing the set of paving matroids on groundsets of size n
and rank k
. It should have a __contains__
method to test if a matroid is a paving matroid, and an __iter__
method to support looping over all of them.
Alternatives Considered
Alternatives could be to implement matroids.PavingMatroid_n(n)
to iterate over all paving matroids with a fixed groundset size and all ranks, and similarly matroids.PavingMatroid_k(k)
.
Additional Information
Algorithm is in https://arxiv.org/pdf/1906.04931.pdf.