Skip to content

SageMath code for lattices of cyclic flats of binary matroids

Notifications You must be signed in to change notification settings

pettinen/matroids

Repository files navigation

Configuration of lattices of cyclic flats of binary matroids

Code related to my BSc thesis on the topic of binary matroids. Specifically, the configurations of their lattices of cyclic flats and the hypothesized uniqueness of said configurations.

Although configuration uniqueness is currently just a conjecture, I am currently working on code to reconstruct the cyclic flats from height-3 and height-4 configurations (and assuming that succeeds, hopefully generalizing from there.)

A rough overview of what this repository contains:

  • binary_matroid.py: a subclass of Sage’s BinaryMatroid augmented with utility methods, most relating to cyclic flats and their lattice configurations
  • configuration.py: a Configuration class (building upon Sage’s LatticePoset) and work-in-progress algorithms for reconstructing cyclic flats
  • search.py: brute-force search for non-isomorphic matroids with identical configurations (one of the first things I did)
  • test scripts for whatever I’m current working on
  • a usage example which is (hopefully) self-evident

Benchmarks (exhaustive search for collisions through m×n binary matrices on an i7-9700K):

  • 4×4: 24 s
  • 4×5: 7 min 37 s
  • 4×6: 2 h 42 min
  • 5×4: 6 min 20 s
  • 5×5: 3 h 50 min

About

SageMath code for lattices of cyclic flats of binary matroids

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages