Let $\mathcal{M}$ be a rank-$d$ matroid on $[n]$. Say a matroid $\mathcal{N}$ is a relaxation of $\mathcal{M}$ if $\mathrm{rank}(\mathcal{N})=d$, $\mathrm{groundset}(\mathcal{N})=[n]$, and every independent set of $\mathcal{M}$ is an independent set of $\mathcal{N}$ (observe that this notion of relaxation is in the labeled sense).
Has anyone seen the set of all relaxations of $\mathcal{M}$ naturally show up in some context?
I'm particularly interested in the algorithmic task of listing all relaxations of a given matroid $\mathcal{M}$, and in any heuristic to make an implementation more efficient than performing the enumeration by brute force; it would be even better if such an implementation already exists.
Actually, I only care about those relaxations of $\mathcal{M}$ that are realizable over a fixed field, say $\mathbb{C}$, which brings me to the next question:
Does anyone know of an implementation of a (finite) algorithm that decides whether a matroid is representable and provides a representation in case it is? (that such a finite algorithm exists can be proved using Groebner bases)
Here I'm explicitly disregarding any complexity issues; I just want to be able to do compute a realization for some small matroids.
Note: the first question is different from the "opposite" one of listing all matroids that specialize a fixed matroid, which has been asked here. I wonder how different the task of listing all relaxations is.
Update: I implemented the following brute-force algorithm in sage to enumerate the relaxations of a rank-$d$ matroid on $[n]$:
For every subset
$\mathcal{F}$ of the nonbases of
$\mathcal{M}$, check whether
$bases(\mathcal{M})\cup \mathcal{F}$is the collection of bases of a matroid.
According to sage's method .is_valid()
for matroids, the outcome for all the matroids I tested was that all $2^{\#\{nonbases(\mathcal{M})\}}$ subsets of $\binom{[n]}{d}$ obtained form the bases of a matroid, which wasn't what I expected.
Can it be that there's a bug in sage's
.is_valid()
method, or is it actually to be expected that most naive relaxations of a matroid (as enumerated above) are actually matroids?
(the reward is independent from the update in the question)