-
-
Notifications
You must be signed in to change notification settings - Fork 713
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.