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)