1 Introduction

Given a meromorphic linear differential system on the Riemann sphere,

$$ \frac{dX}{dz}=A(z)X\quad\mathrm{with}\ A(z)\in\mathrm{M}_n \bigl(\mathbb{C}(z) \bigr), $$
(1)

it is important to determine whether a singularity of A is a regular or an irregular singular point for the system (1). Unlike the case with scalar linear differential equations, for which there is a purely algebraic condition on the orders of the poles of the coefficients due to L. Fuchs [10], a system (1) can display arbitrarily high pole orders at a regular singularity.

Example 1

(2)

has a regular singularity at z=0 for any N∈ℤ.

Consider the differential system, expanded in the neighbourhood of the singular point (assumed for simplicity to be z=0) under the following form, where we put \(\theta=z\frac{d}{dz}\):

$$ \theta X=\frac{1}{z^{p}}\sum_{i\geq0}A_iz^iX \quad\mathrm{with}\ p\geq0\ \mathrm{and}\ A_0\neq0\ \mathrm{if}\ p>0. $$
(3)

The integer p is known as the Poincaré rank \(\mathfrak{p}(A)\) of the system. Finding the type of singularity involves knowing the minimum value m(A) of this rank, sometimes known as the true Poincaré rank, under gauge transformations

$$ A_{[P]}=P^{-1}AP-P^{-1}\theta P\quad\mathrm{with}\ P= \sum_{k\geq k_0}P_kz^k\in \mathrm{GL}_n(K) \ \mathrm{where}\ K=\mathbb{C} \bigl((z) \bigr), $$
(4)

in the sense that z=0 is a regular singularity of (1) if and only if m(A)=0.

Several lines of research have been opened to tackle this problem. The most classical tries to iteratively construct a suitable gauge transformation P, usually coefficient by coefficient in its series expansion. Featured methods rely on the linear algebra over ℂ involved by (4), like Moser and continuators [4, 15, 21], whose methods are widely used nowadays in computer algebra, or other researchers such as [3, 13], while [2] uses Lie group theoretic tools.

The nature of a singularity of A can also be considered from the point of view of meromorphic connections [7], and especially, as a question of stability of certain lattices under the differential operator induced by the connection [14, 20]. We focus here specifically on the approach of saturating lattices used by Gérard and Levelt [12]: the true Poincaré rank is the minimum integer k such that the sequence of k-saturated lattices (recalled in Sect. 2.1) eventually stabilises.

Recent work has shown close relations between the geometric framework of the Bruhat–Tits building of SL(K), for some discrete-valued field such as K=ℂ((z)), and tropical convexity [16, 17, 25]. In particular, any finite union of apartments in the Bruhat–Tits building (a so-called membrane) can be faithfully represented as the set of integer-valued points of the tropical linear space defined by a tropical Plücker vector (or valuated matroid). If a membrane \(\mathcal{M}\) is generated by vectors v 1,…,v m , a lattice Λ in \(\mathcal{M}\) admits as non-unique representative vector any u∈ℤm such that \(\varLambda=\sum_{i=1}^{m}\mathcal{O}z^{-u_{i}}v_{i}\), where \(\mathcal{O}\) is the valuation ring of K. Results of Keel and Tevelev [17] show that, when lattices are in a same membrane, they are homothetic if and only if their representative points are projected on the same point of the attached tropical linear space by an explicit nearest point projection map ([16], see also [5, 11]).

We show here that Gérard and Levelt’s approach can be formulated and efficiently computed in this framework. Let ∇ be a meromorphic connection acting on an n-dimensional vector space V over K. We construct first the Gérard–Levelt membrane \(\mathcal{M}_{\varLambda}\) that contains all the relevant k-saturated lattices of a given lattice Λ (Proposition 8). Our main result is the following tropical version of Gérard–Levelt’s lattice stabilisation criterion. Let Λ be a lattice, let \(u^{\ell}_{k}\) represent the th order k-saturated lattice of Λ, let π Λ be the projection map onto the attached tropical linear space L Λ , and

$$I_{\varLambda}= \bigl\{k\in\mathbb{R}^+\,|\,\pi_{\varLambda } \bigl(u^{n}_k \bigr)=\pi_{\varLambda} \bigl(u^{n-1}_k \bigr) \bigr\}. $$

Theorem 1

The true Poincaré rank m and the Katz rank κ of a connectionacting on V satisfy

$$m=\min I_{\varLambda}\cap\mathbb{N}\quad\mbox{\textit{and}}\quad \kappa=\min I_{\varLambda}\quad \mbox{\textit{for any lattice}}\ \varLambda\ \mbox{\textit{in}}\ V. $$

It is remarkable that same formula holds for the computation of the true Poincaré rank of the connection, and for a more subtle invariant like the Katz rank, which can moreover be computed without having to either compute a single gauge transformation or perform the usually required ramification of the variable.

Example 2

(Pflügel–Barkatou)

Let dX/dz=AX with

(5)

One gets \(\pi_{\varLambda}(u^{4}_{k})=\pi_{\varLambda}(u^{3}_{k})\) if and only if \(k\geq\frac{3}{2}\), hence m=2 and \(\kappa=\frac{3}{2}\).

Finally, we give in Sect. 5 an efficient algorithm to compute this projection map. Indeed, the explicit algorithms given in [16] are too complex in practice. We generalise the algorithmic approach to tropical projection developed by Ardila [1], and further by Rincón [23], for ordinary matroids, to the case of valuated matroids, defined by Dress and collaborators [9]. Namely, if p is a valuated matroid of rank n on [m], and L p is the tropical linear space [24] attached to it, then we have the following result.

Theorem 2

Let x∈ℝm and let B be an x-minimal base of p. Then \(\omega=\pi_{L_{p}}(x)\) can be computed in the following way:

$$\omega_i=\left \{\begin{array}{l@{\quad}l} x_i & \mbox{\textit{if}}\ i\in B,\\[3pt] \min_{u\neq i}(p(B\cup\{i\}\backslash\{u\})-p(B)+x_u) & \mbox{\textit{otherwise}}. \end{array} \right . $$

The algorithm based on this result,Footnote 1 which computes the nearest -projection on the tight-span of a valuated matroid, has a wider applicability than the differential computations explained in the previous parts, especially in phylogenetics [8].

2 Meromorphic connections

A meromorphic connection is a map \(\nabla:V\simeq K^{n} \rightarrow\varOmega(V)=V\otimes_{K}\varOmega^{1}_{\mathbb{C}}(K)\) which is ℂ-linear and satisfies the Leibniz rule

$$\nabla(fv)=v\otimes df+f\nabla v\quad \mathrm{for}\ f \in K\ \mathrm{and}\ v \in V. $$

The matrix Mat(∇,(e)) is given by \(\nabla e_{j}=-\sum^{n}_{i=1} e_{i}\otimes\varOmega_{ij}\) for a basis (e). A basis change P∈GL n (K) gauge-transforms the matrix of ∇ by

$$ \varOmega_{[P]}=P^{-1}\varOmega P-P^{-1}\,dP. $$
(6)

Contracting with \(z^{k+1}\frac{d}{dz}\) yields a differential operator ∇ k , and system (1) is the expression of ∇−1(v)=0 in the basis (e).

A lattice Λ in V is a free sub-\(\mathcal{O}\)-module of rank n, that is, a module of the form

$$\varLambda=\bigoplus_{i=1}^n\mathcal{O}e_i \quad \mathrm{for\ some\ basis}\ (e)\ \mathrm{of}\ V. $$

The lattice Λ induces a valuation on V, defined by

$$v_{\varLambda}(x)=\max \bigl\{k\in\mathbb{Z}\,|\,x\in z^k \varLambda \bigr\}. $$

Let Λ be the set of all lattices in V. The Poincaré rank ofon the lattice Λ is defined as the integer

(7)

and the true Poincaré rank as \(m(\nabla)=\min_{\varLambda \in \boldsymbol{\varLambda}} \mathfrak{p}_{\varLambda }(\nabla)\).

2.1 Gérard–Levelt’s saturated lattices

For any vector eV and any derivation τ∈Der(K/ℂ), define for ∈ℕ the family

$$Z_{\tau}^{\ell}(e)= \bigl(e,\nabla_{\tau}e,\ldots, \nabla_{\tau }^{\ell} e \bigr). $$

The module \(\mathcal{O}_{\tau}^{\ell}(e)\) induced over \(\mathcal{O}\) by \(Z_{\tau}^{\ell }(e)\) only depends on the valuation v(τ) of the derivation τ. We can therefore restrict to the particular derivations \(\tau_{k}=z^{k+1}\frac{d}{dz}\) for k∈ℕ. In this case, we put \(\nabla_{\tau_{k}}=\nabla_{k}\), and denote by \(Z^{\ell}_{k}(e)\) and \(\mathcal{O}^{\ell}_{k}(e)\) the corresponding objects. For k≥1, Gérard and Levelt define the lattices (see also [19])

$$F^{\ell}_k(\varLambda)=\varLambda+\nabla_k \varLambda+\cdots+ \nabla_k^{\ell}\varLambda. $$

Note that

$$F^{\ell}_k(\varLambda)=\sum_{i=1}^n Z^{\ell}_k(e_i)\quad\mathrm{for\ any\ basis}\ (e_1,\ldots,e_n)\ \mathrm{of}\ \varLambda. $$

Theorem 3

(Gérard, Levelt)

The true Poincaré rank m(∇) ofis

$$m(\nabla)=\min \bigl\{k\in\mathbb{N}\,|\,F^{n}_k( \varLambda)=F^{n-1}_k( \varLambda) \bigr\}\quad\mbox{ \textit{for any lattice}}\ \varLambda \subset V. $$

This means that km(∇) if and only if, for some (equivalently, any) lattice Λ in V, the Poincaré rank on \(F^{n-1}_{k}(\varLambda)\) is at most k. Stated otherwise, finding the true Poincaré rank is finding the largest lattice whose Poincaré rank is bounded by its index in the following sequence:

$$ F^{n-1}_0(\varLambda)\supset\cdots\supset F^{n-1}_{p-1}( \varLambda) \supset\varLambda. $$
(8)

Let us extend this notation to multi-indices. Let ≥0, and let α=(α 1,…,α )∈ℤ be an integer multi-index of length |α|= and weight w(α)=α 1+⋯+α . Let us define also the partial multi-indices α |j =(α 1,…,α j ) and

$$\nabla^{\alpha}=\nabla_{\alpha_{\ell}}\circ\cdots\circ \nabla_{\alpha_1}. $$

Let by convention α |0=ϵ and ∇ϵ=id V for the empty sequence ϵ. Let finally \(\mathcal{O}^{\alpha}(e)\) be the \(\mathcal{O}\)-module spanned by the sequence

$$Z^{\alpha}(e)= \bigl(\nabla^{\alpha_{\vert j}}e \bigr)_{0\leq j\leq {\alpha}} . $$

Lemma 3

For any α=(α 1,…,α )∈ℤ, one has

$$\nabla^{\alpha}=z^{w(\alpha)}P_{\alpha}(\nabla_0) \quad\mbox {\textit {where}}\ P_{\alpha}(X)=X(X+\alpha_1)\cdots \bigl(X+w(\alpha_{\vert\ell-1})\bigr)\in \mathbb{Z}[X]. $$

Proof

The proof goes by induction on the length of the multi-index α. Let D=∇0. The claim obviously holds for a multi-index of length 0, with P ϵ =1, so assume that there exists P α ∈ℤ[X] such that ∇α=z w(α) P α (D) for α. Let β∈ℤ+1. Then by definition, we have

Indeed, \(P_{\beta_{\vert\ell}}(D)\) commutes with D since it has by assumption constant coefficients. The result follows, since we have then \(P_{\beta}(X)=P_{\beta_{\vert\ell}}(X)(X+w(\beta_{\vert\ell}))\). □

Lemma 4

Let Λ be a lattice in V. For any ∈ℕ and α∈ℕ, the \(\mathcal{O}\)-module \(\mathcal{O}^{\alpha}(e)\) is spanned over \(\mathcal{O}\) by the family

$$\bigl(e,z^{\alpha_1}\nabla_0 e,\ldots,z^{w(\alpha_{\vert\ell-1})} \nabla_0^{\ell-1} e \bigr). $$

Proof

According to Lemma 3, the family \(Z^{\alpha_{\vert\ell -1}}(e)\) is related to \(Z_{0}^{\ell-1}(e)\) by the matrix \(P=Az^{W_{\alpha}}\) where

$$W_{\alpha}=\mathrm{diag}\bigl(0,\alpha_1,\ldots,w( \alpha_{\vert\ell-1})\bigr), $$

and A is an upper triangular integer matrix with diagonal entries equal to 1, therefore \(A\in\mathrm{SL}_{\ell}(\mathbb{Z})\subset\mathrm {GL}_{\ell }(\mathcal{O})\). The families \(z^{W_{\alpha}}Z_{0}^{\ell-1}(e)\) and \(Z^{{\alpha}_{\vert\ell-1}}(e)\) are related by the matrix

$$\tilde{P}=z^{-W_{\alpha}}P=z^{-W_{\alpha}}Az^{W_{\alpha}}\quad \mbox{whose entries are}\ A_{ij}z^{w(\alpha_{\vert j})-w(\alpha_{\vert i})}. $$

Since A is upper triangular, and the partial sums α i +⋯+α j are non-negative, the matrix \(\tilde{P}\) is in \(\mathrm {GL}_{n}(\mathcal{O})\), and therefore both families span the same \(\mathcal{O}\)-module. □

3 Tropical convexity and lattices

Let M={d 1,…,d m } be lines in V such that d 1+⋯+d m =V, and consider the subset of Λ defined by

$$[M]=\{\ell_1+\cdots+\ell_m \,|\,\ell_i \ \mathrm{is\ a\ lattice\ in}\ d_i\}. $$

Following Keel and Tevelev, who call in [17] the set induced by [M] modulo homothety a membrane, we call this the affine membrane spanned by M.

For a choice \(\mathcal{A}=(v_{1},\ldots,v_{m})\) of non-zero vectors in the lines d i , any lattice in the membrane defined by M={d 1,…,d m } can be represented (non uniquely) by an integer-valued point as follows: a lattice point u∈ℤm corresponds to the lattice

$$ \varLambda_u=\sum_{i=1}^m \mathcal{O} z^{-u_i}v_i. $$
(9)

Membranes spanned by m lines in the Bruhat–Tits building have a faithful representation as tropical linear spaces in m-dimensional space.

Let (ℝ=ℝ∪{∞},⊕,⊙) be the tropical semialgebra, with the operations

$$x\oplus y=\min(x,y)\quad \mathrm{and}\quad x\odot y=x+y \quad \mathrm{for}\ x,y\in \mathbb{R}_{\infty}. $$

An affine membrane M and a basis (e) of V determine a valuated matroid

$$ \begin{array}{rcl} {p:}{\: [m]^n }& \rightarrow& {\mathbb{R}_{\infty}} \\[6pt] {\omega} &\mapsto& {v(\det_{(e)} M_{\omega})} \end{array} $$
(10)

where \(M_{\omega}=(v_{\omega_{1}},\ldots,v_{\omega_{n}})\) is the subfamily of vectors of M indexed by ω. To a valuated matroid p of rank n over [m] there is a tropical linear space \(L_{p}\subset\mathbb{R}_{\infty}^{m}\) attached as follows:

$$ L_p= \Bigl\{x\in\mathbb{R}_{\infty}^m \,\Big\vert\, \forall\tau\in{{[m]} \choose{n+1}},\:\min_{1\leq i\leq n+1}p\bigl(\tau\backslash\{ \tau_i\} \bigr)+x_{\tau_i}\ \mathrm{is\ attained\ twice} \Bigr\}. $$
(11)

Depending on the authors, L p is said to be a tropical convex cone in \(\mathbb{R}_{\infty}^{m}\) [5] or a tropical polytope [16] in \(\mathbb{R}_{\infty}^{m}/\mathbb{R} (1,\ldots,1)\). Both definitions mean that

$$\lambda\odot u\oplus\mu\odot v\in L_p\quad \mathrm{for\ any}\ \lambda,\mu \in\mathbb{R}_{\infty}\ \mathrm{and}\ u,v\in L_p. $$

Example 5

Take the membrane generated by the four vectors

$$v_1=\left ( \begin{matrix} 1\\ 0 \end{matrix} \right ),\qquad v_2=\left ( \begin{matrix} 0\\ 1 \end{matrix} \right ),\qquad v_3=\left ( \begin{matrix} z^{-N}\\ 1 \end{matrix} \right )\quad \mathrm{and}\quad v_4=\left ( \begin{matrix} \alpha z^{-N}\\ 1 \end{matrix} \right )\quad \mathrm{with}\ \alpha\neq1. $$

Applying directly formula (11) to the valuated matroid p defined in (10) readily shows that L p consists of four half-planes in \(\mathbb{R}_{\infty}^{4}\) defined by

with P=(0,−N,−N,−N). These four half-planes intersect along the line P+ℝ(1,1,1,1).

According to [5, 11, 16], the tropical nearest point projection map \(\pi_{L_{p}}: \mathbb{R}_{\infty}^{m} \rightarrow L_{p}\) is defined by

$$ \pi_{L_p}(x)=\min\{w\in L_p \,|\,w\geq x\}, $$
(12)

where the minimum is taken for the coordinate-wise ordering

$$y\geq x\quad \iff\quad y_i\geq x_i\quad \mathrm{for\ all}\ 1\leq i \leq m. $$

There are at least two other ways, given by the authors of [16], adapting [1], to characterise or compute \(\pi_{L_{p}}(x)\).

Blue Rule::

\(\pi_{L_{p}}(x)=(w_{1},\ldots,w_{m})\) with

$$w_i=\min_{\sigma\in{{[m]}\choose{n-1}}}\max_{j\neq \sigma} \bigl(p\bigl(\sigma\cup \{i\}\bigr)-p\bigl( \sigma\cup\{j\}\bigr)+x_j \bigr). $$
Red Rule::

Starting with v=(0,…,0)∈ℝm, for every \(\tau\in{{[m]}\choose{n+1}}\) such that \(\alpha=\min_{1\leq i\leq n+1}p(\tau\backslash\{\tau_{i}\})+x_{\tau_{i}}\) is only attained once, say at τ i , compute γ=βα where β is the second smallest number in that collection, and put \(v_{\tau_{i}}:=\max(v_{\tau_{i}},\gamma)\). Then \(\pi_{L_{p}}(x)=x+v\).

Theorem 4

The map \(\pi_{L_{p}}:\mathbb{R}_{\infty}^{m} \rightarrow L_{p}\) induces a bijection Ψ M between [M] and the lattice points in L p

$$\varPsi_M(\varLambda_u) = \pi_{L_p}(u_1, \ldots,u_m). $$

If we let \(z^{-u}v=(z^{-u_{1}}v_{1},\ldots,z^{-u_{m}}v_{m})\), then z u v and z u v span the same lattice Λ if and only if \(\pi_{L_{p}}(u)=\pi_{L_{p}}(u^{\prime})\).

Proof

Let \(\varLambda=\sum_{i=1}^{m} \mathcal{O}z^{-u_{i}}v_{i}\), and let \(w=\pi_{L_{p}}(u)\). According to [17], Theorem 4.17 (see also [16], Theorem 18), there exists α∈ℝ such that w i =v Λ (v i )+α for all 1≤im. By definition, v Λ (x)=max{k∈ℤ | xz k Λ}. Accordingly, we have \(z^{-w_{i}}v_{i}\in z^{-\alpha }\varLambda\), and thus α≥0. By (12), we get α=0 and thus

$$ \pi_{L_p}(u)= \bigl(v_{\varLambda}(v_1), \ldots,v_{\varLambda}(v_m) \bigr). $$
(13)

By construction, if u′≥u, then \(z^{-u_{i}}v_{i}=z^{(u'_{i}-u_{i})}z^{-u'_{i}}v_{i}\in\mathcal{O}z^{-u'_{i}}v_{i}\), for 1≤im, hence ΛΛ u. Since in particular wu holds, we get ΛΛ w . Conversely, we have \(\varLambda_{w}=\sum_{i=1}^{m} \mathcal{O}z^{-w_{i}}v_{i}\subset\varLambda\). Therefore, if \(\pi_{L_{p}}(u)=\pi_{L_{p}}(u')\) then Λ u =Λ u. The converse follows directly from (13). □

As mentioned in [16], as soon as the projection \(\pi_{L_{p}}(u)\) is computed, one can also determine a basis of the lattice Λ u .

Lemma 6

Let M={v 1,…,v m } be a set of vectors of rank n in V, and let L p be the associated tropical linear space. Let \((w_{1},\ldots,w_{m})=\pi_{L_{p}}(u)\). For any n-subset τ⊂{1,…,m} such that \(p(\tau)-w_{\tau_{1}}-\cdots-w_{\tau_{n}}\) is minimal, the subfamily \((v_{\tau_{1}},\allowbreak \ldots,v_{\tau_{n}})\) is an \(\mathcal{O}\)-basis of Λ u .

Proof

Fix a basis (e) in V. Let M be the n×m matrix of coordinates of v 1,…,v m in (e), and let M τ denote the square submatrix obtained by selecting the columns having their index in τ. The family

$$z^{-u_{\tau}}v_{\tau} = \bigl(z^{-u_{\tau_1}} v_{\tau_1}, \ldots,z^{-u_{\tau_n}}v_{\tau_n} \bigr) $$

spans an \(\mathcal{O}\)-submodule Λ τ of Λ w . If the rank of the subfamily \(v_{\tau }=(v_{\tau_{1}},\ldots ,v_{\tau_{n}})\) is not n, then we have \(v(\det_{(e)}(M_{\tau}z^{-u_{\tau}}))=\infty\). Let us therefore choose two n-subsets τ and τ′ of [m], and assume that both v τ and v τ have full rank. The matrix of the basis change from \(z^{-u_{\tau}}v_{\tau}\) to \(z^{-u_{\tau^{\prime}}}v_{\tau^{\prime}}\) is given by \(P=z^{u_{\tau^{\prime}}}M_{\tau^{\prime}}^{-1}M_{\tau}z^{-u_{\tau }}\). Therefore, we have Λ τ Λ τ if and only if v(P)≥0, that is,

$$p(\tau)-w_{\tau_1}-\cdots-w_{\tau_n}\geq p \bigl( \tau^{\prime} \bigr)-w_{\tau^{\prime}_1}-\cdots-w_{\tau^{\prime}_n}. $$

By assumption, there exists a subset τ such that Λ τ =Λ w . Since Λ w is the largest of all the submodules Λ τ , the result follows. □

As a consequence, one can find a basis of the lattice Λ u by computing the minimum of a valuated matroid, which can be performed efficiently by a greedy algorithm (see Algorithms 2 and 3 in Sect. 5).

Example 7

Continuing Example 5, consider the hyperplanes H 0={xy=N}, H 1={xz=N}, H 2={xt=N}, H 3={yz=0}, H 4={yt=0} and H 5={zt=0}. Let \(H_{i}^{+}\) (resp. \(H_{i}^{-}\)) be the half-space defined by replacing equality by ≥ (resp. ≤) in the defining equations of hyperplane H i . Then \(\mathbb{R}_{\infty}^{4}\) is subdivided into the fiber subsets \(R_{i}=\pi_{L_{p}}^{-1}(L_{i})\) defined by

To get the explicit projection formulæ, one must subdivide further the regions R i into three regions each. The following table sums up the properties of the projection map \(\pi_{L_{p}}\), with the convention that, e.g. for row one: if \(u=(x,y,z,t)\in H_{0}^{+}\cap H_{1}^{+}\cap H_{2}^{-}\cap H_{4}^{-} \cap H_{5}^{-}\), then \(\pi_{L_{p}}(u)=(x,x-N,x-N,t)\in\varDelta_{1}\). The underlined coordinates correspond to the u-minimal base (as explained in Lemma 6).

$$\arraycolsep=5pt \begin{array}{@{}llllllll@{}} \hline H_0 & H_1 & H_2 & H_3 & H_4 & H_5 & \pi_{L_p}(x,y,z,t) & \varDelta_i \\ \hline + & + & - & & - & - & (\underline{x},x-N,x-N,\underline{t}) & \varDelta_1 \\ - & & - & + & - & - & (y+N,\underline{y},y,\underline{t}) & \varDelta_1 \\ & - & - & - & - & - & (z+N,z,\underline{z},\underline{t}) & \varDelta_1 \\[6pt] + & - & + & - & & + & (\underline{x},x-N,\underline{z},x-N) & \varDelta_2 \\ - & - & & - & + & + & (y+N,\underline{y},\underline{z},y) & \varDelta_2 \\ & - & - & - & - & + & (t+N,t,\underline{z},\underline{t}) & \varDelta_2 \\[6pt] - & + & + & + & + & & (\underline{x},\underline{y},x-N,x-N) & \varDelta_3 \\ - & - & & + & + & + & (z+N,\underline{y},\underline{z},z) & \varDelta_3 \\ - & & - & + & + & - & (t+N,\underline{y},t,\underline{t}) & \varDelta_3 \\[6pt] + & + & + & + & + & & (\underline{x},\underline{y},y,y) & \varDelta_4 \\ + & + & + & - & & + &(\underline{x},z,\underline{z},z) & \varDelta_4 \\ + & + & + & & - & - & (\underline{x},t,t,\underline{t}) & \varDelta_4 \\ \hline \end{array} $$

4 The Gérard–Levelt membranes

Proposition 8

Fix a basis (e) of Λ, and ≥0. Let [M ] be the membrane spanned by the vectors \((\nabla_{0}^{j} e_{i})_{1\leq i \leq n,0\leq j \leq\ell}\). Then \(F^{\ell'}_{k}(\varLambda)\in[M_{\ell}]\) for all k≥0 and ′≤.

Proof

For the considered basis (e), the lattice \(L=F^{\ell'}_{k}(\varLambda )\) satisfies

$$L=\mathcal{O}^{\alpha}(e_1)+\cdots+\mathcal{O}^{\alpha}(e_n) \quad \mathrm{with}\ \alpha= \bigl(0,k,\ldots,k \ell' \bigr). $$

Reordering terms as \((e_{1},\ldots,e_{n},\nabla_{0} e_{1},\ldots\nabla_{0} e_{n},\ldots,\nabla_{0}^{\ell'} e_{n})\), formula (9) and Lemma 4 imply that L can be represented in the membrane [M ] by the lattice point

$$\bigl(\underbrace{0,\ldots,0}_{n\ \mathrm{times}},\underbrace{-k, \ldots,-k}_{n\ \mathrm{times}},\ldots,\underbrace{-k\ell',\ldots,-k \ell'}_{n\ \mathrm{times}} \bigr). $$

Since by definition, \(z^{-v_{\varLambda}(v)}v\in\varLambda\) holds for any vV, the module L can also be represented as an element of the membrane [M ] by

$$\bigl(\underbrace{0,\ldots,0}_{n\ \mathrm{times}}, \underbrace{-k, \ldots,-k}_{n\ \mathrm{ times}},\ldots,\underbrace{-k\ell',\ldots,-k \ell'}_{n\ \mathrm{times}}, v_{\varLambda} \bigl(\nabla_0^{\ell'+1} e_1 \bigr),\ldots,v_{\varLambda} \bigl(\nabla_0^{\ell} e_n \bigr) \bigr). $$

 □

The lattices \(F^{\ell}_{k}(\varLambda)\) for 0≤n can therefore all be seen as elements of the same membrane [M n ].

Definition 9

\(\mathcal{M}_{\varLambda}=[M_{n}]\) is called the Gérard–Levelt membrane attached to Λ. For any basis (e), the lattice \(F^{\ell}_{k}(\varLambda)\) is represented by the lattice point

$$u^{\ell}_k= \bigl(\underbrace{0,\ldots,0}_{n\ \mathrm{times}}, \underbrace{-k,\ldots,-k}_{n\ \mathrm{times}},\ldots,\underbrace {-k\ell,\ldots,-k \ell}_{n\ \mathrm{times}}, v_{\varLambda} \bigl(\nabla_0^{\ell+1} e_1 \bigr),\ldots,v_{\varLambda} \bigl(\nabla_0^{n} e_n \bigr) \bigr). $$

If Mat(∇0,(e))=A for a basis (e) of Λ, then \(\mathcal{M}_{\varLambda}\) is described in (e) by the n×n(n+1) saturation matrix

$$ \mathbf{M}=\left ( \begin{array}{c@{\quad}c@{\quad}c@{\quad}c} I_n & A & \ldots& A_n \end{array} \right )\quad \mathrm{where}\ A_{k+1}= \biggl(z\frac{d}{dz}+A \biggr)A_k \ \mathrm{and}\ A_0=I_n. $$
(14)

The tropical projection π Λ onto the tropical linear space L Λ attached to the Gérard–Levelt membrane \(\mathcal{M}_{\varLambda}\) maps a point u to a unique representative. Checking if km(∇) requires to know if the lattice points \(u^{n-1}_{k}\) and \(u^{n}_{k}\) represent the same lattice, that is,

$$\pi_{\varLambda} \bigl(u^{n}_k \bigr)= \pi_{\varLambda} \bigl(u^{n-1}_k \bigr). $$

Corollary 10

For any Λ, we have \(m(\nabla)=\min\{k\in\mathbb{N}\,|\,\pi_{\varLambda }(u^{n}_{k})=\pi_{\varLambda}(u^{n-1}_{k})\}\).

Example 11

For Example 1, the saturation matrix is

The lattice \(F^{2}_{k}(\mathcal{O}^{2})\) is represented by the point \(u^{2}_{k}=(0,0,-k,-k,-2k,-2k)\) and \(F^{1}_{k}(\mathcal{O}^{2})\) by \(u^{1}_{k}=(0,0,-k,-k,0,-N+1)\). However, the membrane can be reduced to dimension 4, and seen as a particular case of Example 5, with generators

$$v_1=\left ( \begin{matrix} 1\\ 0 \end{matrix} \right ),\qquad v_2=\left ( \begin{matrix} 0\\ 1 \end{matrix} \right ),\qquad v_3=\left ( \begin{matrix} z^{-N+1}\\ 1 \end{matrix} \right ) \quad \mathrm{and}\quad v_4=\left ( \begin{matrix} (3-N)z^{-N+1} \\ 1 \end{matrix} \right ) $$

and the lattice representatives can be replaced by \(u^{2}_{k}=(0,0,-k,-2k)\) and \(u^{1}_{k}=(0,0,-k,-N+1)\). According to the projection formulæ in Example 7, we get

(15)
(16)

therefore we get m(A)=0. The lattices represented by the points correspond to \(\varLambda_{1}=\mathcal{O}^{2}\) in the case (15) and \(\varLambda_{2}=\mathcal{O} v_{2}\oplus z^{k} v_{3}\) in the case (16).

4.1 Tropical computation of the Katz rank

It is well known (cf. [3]) that in a neighbourhood of z=0 there exists a formal fundamental solution Y of (1) of the form \(Y=\hat{F}(z)z^{J}Ue^{Q}\) where \(\hat{F}(z)\) is a formal (usually divergent) meromorphic matrix, U,J are constant matrices and

$$Q=\mathrm{diag} \bigl(q_1 \bigl(z^{-\frac{1}{p}} \bigr),\ldots, q_n \bigl(z^{-\frac{1}{p}} \bigr) \bigr), \quad \mathrm{with}\ q_i \in X\mathbb{C}[X]\ \mathrm{and}\ p\geq1. $$

The Katz rank of the connection is the rational number

$$\kappa(\nabla)=\frac{1}{p}\max\deg_{1\leq i\leq n}q_i, $$

and is usually computed as the minimum Poincaré rank of the connection obtained after a suitable ramification z 1/p of the variable. However, this is not needed in the tropical setting.

Theorem 5

Let \(\pi_{\varLambda}:\mathcal{M}_{\varLambda} \rightarrow L_{\varLambda}\) be the tropical nearest point projection map of the Gérard–Levelt membrane \(\mathcal{M}_{\varLambda}\) of any lattice Λ onto its attached tropical linear space L. Then the Katz rank κ(∇) of the connectionsatisfies

$$\kappa(\nabla)=\min \bigl\{k\in\mathbb{R}^+\,|\,\pi_{\varLambda } \bigl(u^{n}_k \bigr)=\pi_{\varLambda} \bigl(u^{n-1}_k \bigr) \bigr\}\quad \mbox{\textit{for any lattice}}\ \varLambda. $$

Proof

The Katz rank is the minimum Poincaré rank of the connection ∇ H induced on the pure algebraic extension H=K[T]/(T Nz) of K with N=lcm(1,2,…,n) (see e.g. [18] or [6]). If we put ζ for the class of T, then \(\mathrm{Mat}((\nabla_{H})_{\zeta\frac{d}{d\zeta}},(e\otimes 1))=N\mathrm{Mat}(\nabla_{z\frac{d}{dz}},(e))\). Thus if X(z) satisfies \(z\frac{d}{dz}X(z)=A(z)X(z)\) the system satisfied by Y(ζ)=X(ζ N) is

$$\zeta\frac{d}{d\zeta}Y(\zeta)=NA \bigl(\zeta^N \bigr)Y(\zeta). $$

Put \(\tilde{A}(\zeta)=NA(\zeta^{N})\). The sequence \((\tilde{A}_{k})_{k\in\mathbb{N}}\) defined by relation (14) of iterated \(\zeta\frac{d}{d\zeta}\)-derivatives of \(\tilde{A}\) satisfies

$$\tilde{A}_k(\zeta)=N^kA_k \bigl( \zeta^N \bigr). $$

Let q be the valuated matroid defined by \(q(\omega)=w(\det\tilde{M}(\zeta)_{\omega})\), for any n-subset ω of indices of the columns of \(\tilde{M}(\zeta)\) with respect to the ζ-adic valuation w. By construction we have

The lattice \(N_{H}=\sum_{i=1}^{m} \mathcal{O}_{H} \zeta^{-u_{i}}v_{i}\otimes1\) has tropical representation in L q as the projection of the point u∈ℤm with respect to the matroid q=Np. By corollary 10, we have \(m(\nabla_{H})=\min\{k\in\mathbb{N}\,|\,\pi_{N_{H}}(u^{n}_{k})=\pi_{N_{H}}(u^{n-1}_{k})\}\). On the other hand, \(\kappa(\nabla)=\frac{1}{N}m(\nabla_{H})\) holds. Therefore, we get

$$\kappa(\nabla)=\min \biggl\{k\in\frac{1}{N}\mathbb{N}\,\Big\vert\, \pi_{\varLambda} \bigl(u^{n}_k \bigr)=\pi_{\varLambda } \bigl(u^{n-1}_k \bigr) \biggr\}. $$

This formula holds for any extension H′ of degree divisible by the denominator s of κ(∇). Since the minimum is attained, the formula also holds in the limit, yielding the claimed result. □

Example 12

For Example 2, the saturation matrix M has size 4×20, and the lattice \(F^{4}_{k}(\mathcal{O}^{4})\) is therefore represented by the point

$$u^{4}_k=(0,0,0,0,-k,-k,-k,-k,-2k,\ldots,-3k,-4k,-4k,-4k,-4k) \in\mathbb{R}^{20}. $$

The matrix M is too long to be displayed entirely, so we show here only the principal parts of its entries.

Accordingly the lattice \(F^{3}_{k}(\mathcal{O}^{4})\) is represented by

$$u^{3}_k=(0,0,0,0,-k,-k,-k,-k,-2k,\dots,-3k,-6,-5,-5,-6). $$

Similar computations as those in Example 11 give \(\pi_{\varLambda}(u^{4}_{k})=\pi_{\varLambda}(u^{3}_{k})\) if and only if \(k\geq\frac{3}{2}\), hence m=2 and \(\kappa=\frac{3}{2}\).

5 A projection algorithm on a tropical linear space

The Blue and Red rules from [16] recalled in Sect. 3 have unfortunately a high computational complexity, since they involve iterating over cardinality \(m\choose n\) sets. In our case, it is especially impractical since for the Gérard–Levelt membrane, we have mn 2. In this section, we present an efficient algorithm, inspired by Ardila’s work on ordinary matroids [1], to compute the projection of a point x∈ℝm onto the tropical linear space L p attached to a valuated matroid p.

5.1 Valuated matroids

Let us recall the setup of valuated matroids, and fix the notations that we will use. For the results listed in this section, we refer to [22], although their definition, following [8], comes with the opposite sign. Let E be a finite set, and a map p:2E→ℝ=ℝ∪{∞}. Let \(\mathcal{B}=\{ B\subset E \,|\, p(B)\neq\infty\}\). The pair (E,p) is a valuated matroid if \(\mathcal{B}\neq \emptyset\) and for \(B,B'\in\mathcal{B}\) and uBB′ there exists vB′∖B such that

$$ p(B)+p \bigl(B' \bigr)\geq p\bigl(B\cup\{v\}\backslash \{u\}\bigr)+p \bigl(B'\cup\{u\}\backslash\{v\} \bigr). $$
(17)

A subset \(B\in\mathcal{B}\) is called a base of p. In particular, \(\mathcal{B}\) is the set of bases of an ordinary matroid P on E that we call the matroid underlying p. A base B is minimal if p(B)≤p(B′) for any base \(B'\in\mathcal{B}\). Any vector of the form

$$X(B,v)= \bigl(p\bigl(B\cup\{v\}\backslash\{u\}\bigr)-p(B),\: u\in E \bigr) $$

for some base B and vEB is by definition a circuit of p. If X is a circuit of p, its support

$$\overline{X}=\{e\in E \,|\,X_e\neq\infty\} $$

is a circuit of the matroid P. More precisely, it is the fundamental circuit of B and v, that is, the unique circuit of P included in B∪{v}. Similarly, any vector of the form

$$X^*(B,v)= \bigl(p\bigl(B\cup\{u\}\backslash\{v\}\bigr)-p(B), u\in E \bigr) $$

for some base B and vB is thus a cocircuit of p.

Some important features of circuits and cocircuits of p are in fact encoded in the underlying matroid P. For any circuit C of P, the set of circuits of p that have C as support is of the form

$$X+\alpha(1,\ldots,1)\quad \mathrm{for}\ \alpha\in\mathbb{R}. $$

Conversely, for any circuit X of p, X+α(1,…,1) for α∈ℝ is a circuit of p. The same result applies to cocircuits. Recall the following result.

Lemma 13

Any circuit (resp. cocircuit) of P containing vE can be represented as the fundamental circuit (resp. cocircuit) of a base B such that vB (resp. vB).

Proof

Let C be a circuit of P. By definition, for any vC, the set C∖{v} is contained in some base B. Therefore CB∪{v} holds. But there is a unique circuit satisfying this condition. Since the cocircuits are the circuits of the dual matroid, the same result holds. □

In what follows, we will speak by abuse of notation of the fundamental circuit or cocircuit of B and v for a valuated matroid p. This is harmless as long as the results that we state are invariant up to the addition of a constant. If we need to specify a representative, we will often use the only one with non-negative coordinates and with minimum coordinate equal to 0, or with some fixed value at some element of E.

For any x∈ℝm, the map

$$p_x(B)=p(B)-\sum_{b\in B}x_b $$

extended to all 2E by p x (A)=∞ for \(A\notin\mathcal{B}\) defines also, as is well known, a valuated matroid on E.

Lemma 14

If X is any circuit of p, then X+x is a circuit of p x , and if X is a cocircuit of p, then X x is a cocircuit of p x .

Proof

By the definition of a circuit of p, circuits of p x have coordinates

Hence, X x (B,v)=X(B,v)+xx v (1,…,1). Similarly, we have

Hence, \(X^{*}_{x}(B,v)=X(B,v)-x+x_{v}(1,\ldots,1)\). By the projectivity property of circuits and cocircuits, the result is established. Since the sets of bases for p and p x coincide, these are indeed the only circuits and cocircuits of p x . □

5.2 The projection algorithm

A valuated matroid \(p:{E\choose{n}} \rightarrow\mathbb{R}_{\infty}\) of rank n over a finite set E=[m] induces a tropical linear space L p defined by (11). This subspace of \(\mathbb{R}_{\infty}^{m}\) corresponds (up to sign) to what Dress and Terhalle call the tight span of a valuated matroid, except for the fact that, while L p is invariant by translation by (1,…,1), the tight-span consists of only one point in every orbit (see [24]). In this section, we present an efficient algorithmic method to compute the tropical projection from ℝm onto L p that generalises results obtained by Ardila for ordinary matroids in [1].

Proposition 15

Let p be a valuated matroid of rank n on [m], and let uE. The following conditions are equivalent:

  1. (i)

    u belongs to at least one minimal base of p.

  2. (ii)

    u is never the unique minimum in a circuit of p.

  3. (iii)

    u is minimal in some cocircuit of p.

Proof

(i)⇒(iii): Assume that B is a minimal base containing u. Let C =X (B,u) be the fundamental cocircuit of B and u. By definition, we have

$$C^*_v=p\bigl(B\cup\{v\}\backslash\{u\}\bigr)-p(B) \geq0=C^*_u. $$

That is, u is minimal in the cocircuit of B and u.

(iii)⇒(ii): suppose that u is the unique minimum for p on a circuit C. Assume that C is a cocircuit of p where u is minimal. By assumption, we have

$$C_u<C_{u'}\quad \mathrm{and}\quad C^*_u\leq C^*_{u'}\quad \mathrm{for}\ u'\neq u. $$

Accordingly, C+C has a unique minimum at u. By orthogonality of circuits and cocircuits ([22], Theorem 3.11, p. 204), the set of indices that minimise C+C cannot have cardinality one. Therefore, the contradiction is established.

Let us finally prove (ii)⇒(i): consider a minimum base B. If uB, let C=X(B,u) be the circuit generated by B and u. By assumption, the minimum in C is attained at vu. The support of C is equal to the fundamental circuit of B and u for the ordinary matroid underlying p. Therefore, B∪{u}∖{v} is a base of p and

$$p\bigl(B\cup\{u\}\backslash\{v\}\bigr)-p(B)\leq p \bigl(B\cup\bigl \{u'\bigr\}\backslash \{v\} \bigr)-p(B)\quad \mathrm{for}\ u'\in C. $$

Putting v=u′ we get p(B∪{u}∖{v})≤p(B). Since we assumed that B was minimal, we get (i). □

Therefore we get the following characterisation of the (finite part of the) tropical linear space L p .

Proposition 16

Let x∈ℝm, and let p be a valuated matroid of rank n on [m]. The following are equivalent.

  1. (i)

    xL p .

  2. (ii)

    Every element of E belongs at least to one x-minimal base of p.

  3. (iii)

    Every circuit of p contains at least two x-minimal elements.

  4. (iv)

    Every element of E is x-minimal in at least one cocircuit of p.

Proof

(i) and (iii) are equivalent by the definition of L p (cf. [16]). The remaining assertions are obtained by applying Proposition 15 to the valuated matroid p x . □

Note that the previous characterisation does not apply when x has an infinite coordinate, since p x is then no longer a valuated matroid. However, x u =∞ happens only when u does not belong to any base. To deal with this case, one can either restrict to loop-free matroids (which means removing any 0 vectors in the membrane case), or put \(\pi_{L_{p}}(x)_{u}=\infty\).

The computation of \(\pi_{L_{p}}(x)\) can be performed independently for every coordinate of the vector x. For a given uE, there is a (unique) normalisation of a circuit C of p containing u such that \(C^{x}_{u}=x_{u}\).

Proposition 17

If uE violates any one of the three conditions of Proposition 15 for the valuated matroid p x , then u satisfies them for the modified vector \(x'=(x_{1},\ldots,x'_{u},\ldots,x_{m})\) with

$$x'_u=\max_{C\ni u}\min_{e\in C\backslash\{u\}} C^x_e, $$

where all the circuits are normalised so that \(C^{x}_{u}=x_{u}\). Moreover, the conditions of Proposition 15 are not satisfied at u for \(x''=(x_{1},\ldots,x'_{u}-\varepsilon,\ldots,x_{m})\) with ε>0.

Proof

By assumption, u is the unique x-minimum over some circuit \(\widetilde{C}\) containing u. The support of such a circuit C can be defined as \(\overline{C}=X(B,u)\) the fundamental circuit of u and a base \(B\not\ni u\). The x-value at \(e\in\overline{C}\) of the circuit C is of the form \(C^{x}_{e}=p(B\cup\{u\}\backslash\{e\})-p(B)+x_{e}+ \alpha\) for some constant α∈ℝ, so we may choose as representative of any circuit C containing u the only one such that \(C^{x}_{u}=x_{u}\), namely the one defined by \(C^{x}_{e}=p(B\cup\{u\}\backslash\{e\})-p(B)+x_{e}\).

Then by assumption

$$x'_u\geq\min_{e\in C\backslash\{u\}}\widetilde{C}^{x}_e> \widetilde{C}^{x}_u=x_u, $$

and for any circuit Cu, we have

$$C^{x'}_e=\left \{ \begin{array}{l@{\quad}l} C^{x'}_e & \mathrm{if}\ e\neq u\\[6pt] C^{x'}_u=x'_u &\mathrm{if}\ e=u. \end{array} \right . $$

Therefore

$$C^{x'}_u\geq\min_{e\in C\backslash\{u\}}C^x_e= \min_{e\in C\backslash\{u\}}C^{x'}_e $$

so u cannot be the unique x′-minimum of any circuit containing u. On the other hand, there exists a circuit C containing u such that \(\min_{e\in C\backslash\{u\}}C^{x}_{e}=x'_{u}\). Putting \(x''_{u}=x'_{u}-\varepsilon\) for any ε>0, then u will be the x″-unique minimum over the circuit C. Thus x′ is the smallest vector that corrects the value of x at u. □

Theorem 6

Let x∈ℝm and let B be an x-minimal base of p. Then \(\omega=\pi_{L_{p}}(x)\) can be computed in the following way:

$$\omega_i=\left \{ \begin{array}{l@{\quad}l} x_i & \mathrm{if}\ i\in B\\[6pt] \min_{u\neq i}(p(B\cup\{i\}\backslash\{u\})-p(B)+x_u) & \mathrm{otherwise.} \end{array} \right . $$

Moreover, B is also ω-minimal.

Proof

If iB holds, then i is x-minimal in the fundamental cocircuit X (B,i). Therefore all conditions of Proposition 15 apply to i. Otherwise, let X(B,i) be the fundamental circuit of B and i, normalised so that X(B,i) i =x i . According to Proposition 17, we have to prove that \(\min_{e\neq i}(X(B,i)_{e}+x_{e})=\max_{C\ni i}\min_{e\in C\backslash\{ i\}} C^{x}_{e}\). By construction, ≤ holds. Moreover, it is sufficient to prove the result for x=0. So assume that B is minimum and X(B,i) i =0. We want to show that min ei (X(B,i) e )≥min eC∖{i} C e for any circuit C containing i.

Let C=X(B′,i) be any circuit containing i. Consider uC∖{i} such that min ei X(B,i) e =X(B,i) u . By construction, B 1=B∪{i}∖{u} is a base. Since iB 1B′, we apply axiom (17) and deduce that there exists jB′∖B 1, such that

Reordering terms, and inserting p(B), we get

$$p\bigl(B\cup\{i\}\backslash\{u\}\bigr)-p(B)+p(B)-p\bigl(B\cup\{j\}\backslash\{u \} \bigr)\geq p \bigl(B'\cup\{i\}\backslash\{j\} \bigr) -p \bigl(B' \bigr), $$

that is

$$X(B,i)_{u}+p(B)-p\bigl(B\cup\{j\}\backslash\{u\}\bigr)\geq X \bigl(B',i \bigr)_j=C_j. $$

Since B is a minimal base, we have p(B)−p(B∪{j}∖{u})≤0, hence

$$X(B,i)_{u}\geq\min_{e\in C\backslash\{i\}}C_e\quad \mathrm{since}\ j \in C\backslash\{i\}, $$

and the result is established.

For the last statement, consider a p x -minimum base B. Let B′ be a base which is adjacent to B, that is, such that there exist ij in E with B∖{i}=B′∖{j}. Let Δ=p ω (B′)−p ω (B). Then we have

Hence B is locally ω-minimum. According to [9], the global minimum of p ω is obtained by choosing the local minimum at each step. Hence B is also a global minimum of p ω . □

Theorem 6 yields an efficient method to compute the tropical projection \(\pi_{L_{p}}(x)\), described in Algorithm 1. Instead of considering all circuits or cocircuits as in the Red and Blue rules, our algorithm uses only the fundamental circuits of a minimal base.

Algorithm 1
figure 1

Tropical projection on a linear tropical space L p

Computing a minimal base B of p x can be performed by the greedy Algorithm 2, originally described in [9].

Algorithm 2
figure 2

Greedy algorithm for a minimal base

5.3 The greedy algorithm for a realisable valuated matroid

Let VK n, and consider a family of mn vectors M=(v 1,…,v m ) of rank n. For any basis (e) of V, consider the valuated matroid

$$p_{(e)}(\omega)=v \bigl(\det_{(e)}(M_{\omega}) \bigr) \quad \mathrm{where}\ M_{\omega}=(v_{\omega_1},\ldots,v_{\omega_n}). $$

Lemma 18

A base B is minimal for p (e) if and only if it is minimal for p (ε) for any other basis (ε) of V.

Proof

For any family F of n vectors, one has det(ε)(F)=det(e)(F)det(ε)(e). Therefore

$$p_{(\varepsilon)}(\omega) = v \bigl(\det_{(\varepsilon)}(M_{\omega }) \bigr) = v \bigl(\det_{(e)}(M_{\omega}) \bigr)+v \bigl( \det_{(\varepsilon)}(e) \bigr) = p_{(e)}(\omega)+v \bigl( \det_{(\varepsilon)}(e) \bigr). $$

Hence p (ε)p (e) is a constant map, and the claim is established. □

It follows that in the minimising step of the greedy Algorithm 2, it does not matter in which basis we compute the determinant. This simplifies the search for the minimising vector. Let us assume that the first n vectors form a base B, in which we express all other vectors. Namely, we consider the matrix

$$ \mathbf{M}_B=\left ( \begin{array}{c@{\quad}c@{\quad}c@{\quad}c}I_n & C_{n+1} & \ldots& C_m \end{array} \right )\quad \mathrm{where}\ C_i\ \mbox{are the coordinates of}\ v_i\ \mathrm{in}\ B. $$
(18)

Moreover we consider B to be the starting point of the greedy algorithm, except that we will reorder successively the vectors of B in another order than 1,2,…,n. Indeed, consider matrices of the form

$$A_{i,u}=\left ( \begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} 1 & & u_1 & & 0 \\ & \ddots&\vdots& &\\ \vdots& & u_i & &\vdots\\ & & \vdots& \ddots& \\ 0 & & u_n & & 1 \end{array} \right ). $$

It is clear that detA i,u =u i and that

$$(A_{i,u})^{-1}=A_{i,\tilde{u}}\quad \mathrm{holds}\quad \tilde{u}= \biggl(-\frac{u_1}{u_i},\ldots,\frac{1}{u_i},\ldots,-\frac {u_n}{u_i} \biggr). $$

Therefore, if (i 1,j 1) are indices such that \(v(\mathbf{M}_{i_{1},j_{1}})\leq v(\mathbf{M}_{i,j})\), then replacing the vector \(e_{i_{1}}\) in the base B by the vector \(v_{j_{1}}\) will indeed attain the local minimum. The next step consists of

  1. 1.

    Define \((e_{1},\ldots,u_{i_{1}},\ldots,e_{n})\) as new base B′.

  2. 2.

    Create M B=(A i,u )−1 M B .

Then one starts the same procedure again with the matrix M B: this time the minimum should be taken over rows ii 1 and columns jj 1. This is explained in Algorithm 3.

Algorithm 3
figure 3

Greedy algorithm for a realisable matroid