Skip to content

Iterator for paving matroids #35464

@trevorkarn

Description

@trevorkarn

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions