Abstract 1 Introduction 2 Preliminaries 3 Fast Span Computation Algorithm 4 Adaptive Sparsification Framework of Quanrud 5 Linear Matroid Intersection Algorithms References

Faster Approximate Linear Matroid Intersection

Tatsuya Terao ORCID Research Institute for Mathematical Sciences, Kyoto University, Japan
Abstract

We consider a fast approximation algorithm for the linear matroid intersection problem. In this problem, we are given two r×n matrices M1 and M2, and the objective is to find a largest set of columns that are linearly independent in both M1 and M2. We design a (1ε)-approximation algorithm with time complexity O~ε(nnz(M1)+nnz(M2)+rω), where nnz(Mi) denotes the number of nonzero entries in Mi for i=1,2, r denotes the maximum size of a common independent set, and ω<2.372 denotes the matrix multiplication exponent. Our approximation algorithm is faster than the exact algorithm by Harvey [FOCS’06 & SICOMP’09] and Cheung–Kwok–Lau [STOC’12 & JACM’13], which runs in O~(nnz(M1)+nnz(M2)+nrω1) time.

We also develop a fast (1ε)-approximation algorithm for the weighted version of the linear matroid intersection problem. In fact, we design a (1ε)-approximation algorithm for weighted linear matroid intersection with time complexity O~ε(nnz(M1)+nnz(M2)+rω). Our algorithm improves upon the (1ε)-approximation algorithm by Huang–Kakimura–Kamiyama [SODA’16 & Math. Program.’19], which runs in O~ε(nnz(M1)+nnz(M2)+nrω1) time.

To obtain these results, we combine Quanrud’s adaptive sparsification framework [ICALP’24] with a simple yet effective method for efficiently checking whether a given vector lies in the linear span of a subset of vectors, which is of independent interest.

Keywords and phrases:
Linear matroid intersection, fast approximation algorithm
Copyright and License:
[Uncaptioned image] © Tatsuya Terao; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Algorithm design techniques
; Mathematics of computing Matroids and greedoids
Related Version:
Full Version: https://arxiv.org/abs/2604.11725 [54]
Acknowledgements:
We thank Yusuke Kobayashi for his insightful comments, generous support, and valuable feedback on the manuscript. In particular, his input greatly helped us establish Lemma 11. We also thank Kou Hamada for helpful conversations that contributed to the initial motivation for this work. We are grateful to Takashi Noguchi for his helpful comments, which simplified the proof of Lemma 11. Finally, we thank the anonymous reviewers for their careful reading and valuable suggestions.
Funding:
This work was partially supported by the joint project of Kyoto University and Toyota Motor Corporation, titled “Advanced Mathematical Science for Mobility Society” and by JSPS KAKENHI Grant Number JP24KJ1494.
Editor:
Pierre Fraigniaud

1 Introduction

Fast Algorithms for Linear Matroid Problems.

Matroids are combinatorial structures that abstract linear independence and provide a unifying framework capturing fundamental properties of matrices and graphs. We focus on fast algorithms for problems on linear matroids that are given explicitly as the columns of an r×n matrix M over a field 𝔽.

Motivated by the view that running time should reflect not only the matrix dimensions r×n but also its sparsity, we design faster algorithms whose complexity depends on nnz(M) (the number of nonzero entries of M) in addition to r and n. In fact, many commonly studied matroids admit sparse linear representations. For example, it is well known that a graphic matroid can be represented by a vertex-edge incidence matrix with exactly two nonzero entries per edge, resulting in a total of 2m nonzero entries, where m is the number of edges (see e.g., [47, Section 5.1]).

From this perspective, an important contribution is due to Cheung–Kwok–Lau [14], who developed a remarkable sketching technique and, as a result, presented a surprising algorithm for computing the rank of a matrix M in O~(nnz(M)+(rank(M))ω) time.111The O~ notation omits polylog factors. Note that even checking whether a given subset of vectors is independent already requires O((rank(M))ω) time, and reading the input takes O(nnz(M)) time.

Nguye^~n [44] presented an elegant algorithm for computing a maximum-weight base of a linear matroid represented by a matrix M. While a direct application of the sketching technique of Cheung–Kwok–Lau would only yield a running time of O~(nnz(M)+n(rank(M))ω1), his refined use of this technique leads to (nnz(M)+(rank(M))ω)1+o(1). This problem has also been studied, under the name column rank profile problem [19, 36, 52, 20], which asks for the lexicographically smallest sequence of rank(M) column indices such that the corresponding columns of the matrix are linearly independent. Dumas–Pernet–Sultan [20] achieved the same time complexity for the column rank profile problem.

Linear Matroid Intersection.

In this work, we consider fast approximation algorithms for linear matroid intersection. This linear matroid intersection problem can be described without relying on matroid terminology as follows: Given two r×n matrices M1 and M2 over a field 𝔽, where the columns in M1 and M2 are indexed by {1,,n}, the objective is to find a set I{1,,n} of maximum size such that the columns indexed by I are linearly independent in both M1 and M2. Many important problems in combinatorial optimization, such as bipartite matching, rainbow spanning tree, arborescence, and spanning tree packing, can be viewed as special cases of linear matroid intersection.

For the linear matroid intersection problem, Cunningham [16] gave a combinatorial algorithm with time complexity O~(nr2). Gabow–Xu [28, 29] proposed a faster combinatorial algorithm with time complexity O~(nrr1/(4ω))=O(nrr0.62), where ω is the exponent of matrix multiplication, known to satisfy ω<2.371339 [3]. Here, r denotes the maximum size of a common independent set. Harvey [33] developed an algebraic algorithm with time complexity O(nrω1). Cheung–Kwok–Lau [14] combined their elegant sketching technique with Harvey’s algorithm [33], obtaining an algorithm with running time O~(nnz(M1)+nnz(M2)+nrω1). In fact, simply applying their sketching technique reduces an r×n input matrix to an O(r)×n matrix while preserving linear dependence among the columns.

Given the progress on the case of a single matroid [14, 20, 44], it is natural to ask whether linear matroid intersection can be solved in O~(nnz(M1)+nnz(M2)+rω) time. Note that even checking whether a given subset is independent in a single matroid already requires O(rω) time, and reading the input takes O(nnz(M1)+nnz(M2)) time. Avoiding the dependence on n is most meaningful when rn, a regime that arises naturally, for example, for graphic matroids. However, achieving a running time of O~(nnz(M1)+nnz(M2)+rω) seems quite challenging. To achieve such a running time, one must avoid explicitly computing the product of an O(r)×n matrix and an n×O(r) matrix, which would already take O(nrω1) time. Here, it is well known that M1 and M2 have a common base if and only if det(M1DM2)0, where D is a diagonal matrix with variables on the diagonal Di,i=xi (see for e.g., [31, Lemma 2.5]). Using this matrix formulation, a standard approach to the decision version of linear matroid intersection, i.e., deciding whether a common base exists, requires computing the product of an O(r)×n matrix and an n×O(r) matrix. Hence, to our knowledge, no prior result has shown that the time complexity for merely estimating the size of a maximum common independent set can be faster than that of Cheung–Kwok–Lau.

Our Result for Maximum Cardinality Linear Matroid Intersection.

Our main result is to develop a (1ε)-approximation algorithm for linear matroid intersection running in O~ε(nnz(M1)+nnz(M2)+rω) time.222The O~ε notation omits polylog factors and polynomial factors in ε1. We note that our algorithm is applicable over any field.

Theorem 1.

For any ε>0, a (1ε)-approximate solution to the maximum cardinality linear matroid intersection problem can be computed with high probability333We say “with high probability” if the failure probability is at most nΘ(1). in O~ε(nnz(M1)+nnz(M2)+rω) time.

Our approximation algorithm in Theorem 1 is faster than the exact algorithm obtained by combining Harvey’s algorithm [33] with the sketching technique of Cheung–Kwok–Lau [14], which runs in O~(nnz(M1)+nnz(M2)+nrω1) time. Even when M1 and M2 are dense and r=Θ(r), our approximation algorithm achieves a running time of O~ε(nr+rω), which is faster than the O(nrω1) time required by Harvey’s exact algorithm [33]. Surprisingly, our complexity is almost the same as that of computing the rank of a matrix [14], and also that of finding a maximum-weight base of a single linear matroid [20, 44].

Weighted Linear Matroid Intersection.

We also consider the weighted version of the linear matroid intersection problem. In this problem, we are given two r×n matrices M1 and M2 over a field 𝔽, whose columns are indexed by {1,,n}, and a weight function c:{1,,n}0. The objective is to find a set I{1,,n} such that the columns indexed by I are linearly independent in both M1 and M2, and the total weight eIc(e) is maximized. Gabow–Xu [28, 29] gave a combinatorial algorithm with time complexity O~(nr7ω5ωlog(nC))=O~(nr1.77log(nC)), where C is the largest given weight. Harvey [32] proposed an algebraic algorithm with time complexity O~(C1+o(1)nrω1). Huang–Kakimura–Kamiyama [35] presented a (1ε)-approximation algorithm with time complexity O~ε(nnz(M1)+nnz(M2)+nrω1), where r is the maximum size of a common independent set.

Our Result for Maximum Weight Linear Matroid Intersection.

Using a similar idea to that used to obtain Theorem 1, we also develop a (1ε)-approximation algorithm for weighted linear matroid intersection running in O~ε(nnz(M1)+nnz(M2)+rω) time. We note that our algorithm is applicable over any field.

Theorem 2.

For any ε>0, a (1ε)-approximate solution to the weighted linear matroid intersection problem can be computed with high probability in O~ε(nnz(M1)+nnz(M2)+rω) time.

Our algorithm in Theorem 2 improves upon the (1ε)-approximation weighted linear matroid intersection algorithm by Huang–Kakimura–Kamiyama [35], which runs in O~ε(nnz(M1)+nnz(M2)+nrω1) time.

1.1 Technical Overview

Adaptive Sparsification Framework of Quanrud [48].

Our linear matroid intersection algorithm builds upon the adaptive sparsification framework of Quanrud [48], which was developed to obtain a fast (1ε)-approximation algorithm for matroid intersection in the oracle model. However, we emphasize that a direct application of Quanrud’s framework does not yield the running time achieved by our algorithm.

In Quanrud’s framework, the original problem over n elements is reduced to O(log(n)/ε) primal-dual instances of matroid intersection, each over O~ε(r) elements, where r is the maximum size of a common independent set. For linear matroid intersection, computing primal and dual solutions to sparsified instances can be done straightforwardly using Harvey’s exact algorithm for linear matroid intersection [33]. Applied to the sparsified instance of size O~ε(r), Harvey’s algorithm runs in O~ε(rω) time, which is sufficiently fast. To adaptively construct sparsified instances, it is necessary to compute span1(S~) and span2(T~), where (S~,T~) denotes a dual solution to the sparsified instance. For linear matroids, a straightforward method can compute the spans in O(nrω1) time, but this is still too slow for our purpose.

Challenge in Computing a Span.

Without using matroid terminology, our task is as follows: Given an r×n matrix M and a subset S[n], determine whether each column vector 𝒎i lies in the linear span of the set {𝒎jjS}, where 𝒎1,,𝒎n denote the vectors corresponding to the columns of M. We present a simple randomized algorithm that solves this task in O~(nnz(M)+rω) time, which is of independent interest.

In the oracle model, where an algorithm accesses a matroid through an independence oracle, the span

span(S)={vVrank(S{v})=rank(S)}

of a set S can be computed naively using a linear number of queries. However, when the matroid is given via a matrix representation, the standard approaches are too inefficient for our purpose. Naively, each independence query takes O(rω) time, and thus the most straightforward implementation requires O(nrω) time. The standard Gaussian elimination approach takes O(nr2) time to compute the span. Using the fact that the linear representation of /S, the matroid obtained by contracting by S, can be computed in O(nrω1) time (see [33, Fact 4.1]), we can reduce the time complexity to O(nrω1). However, this complexity is still inefficient for obtaining a linear matroid intersection algorithm that outperforms the best known exact algorithm. To compute the span faster than O(nrω1) time, one must avoid computing the product of an r×n matrix and an n×r matrix, which is a challenging task.

To overcome this difficulty, our fast span computation algorithm shares a similar spirit with the famous Freivalds’ algorithm [24] (see e.g., [42, Section 7.1]) for verifying matrix multiplication without actually performing the multiplication. In our approach, we sample a vector 𝒗 from the orthogonal complement of span{𝒎jjS}, which can be computed in O~(nnz(M)+rω) time. Then, for each column vector 𝒎i, we check whether 𝒗𝒎i=0. It is obvious that if 𝒎ispan{𝒎jjS}, then 𝒗𝒎i=0 always holds. Furthermore, we can show that if 𝒎ispan{𝒎jjS}, then 𝒗𝒎i0 with high probability. The total time required to compute all inner products 𝒗𝒎i for all i[n] is O(nnz(M)). Therefore, the total running time of our span computation algorithm is O~(nnz(M)+rω), which is efficient enough to enable the design of a linear matroid intersection algorithm that outperforms the best known exact algorithm.

Challenge for Weighted Linear Matroid Intersection.

For weighted linear matroid intersection, a naive combination of the adaptive sparsification framework of Quanrud [48] and our fast span computation algorithm yields a (1ε)-approximation algorithm with time complexity O~ε(nnz(M1)+nnz(M2)+rω+1). This additional factor arises because, in the weighted setting, we need to test membership in span(S) not for a single candidate set S, but for O(r) different candidates. To improve the running time to O~ε(nnz(M1)+nnz(M2)+rω), we carefully employ the fast Gram–Schmidt orthonormalization algorithm of van den Brand [57]. Concretely, we use van den Brand’s algorithm to compute, for each set in the support of the dual solution in the weighted setting, a basis for the corresponding subspace as well as a basis for its orthogonal complement.

When considering matrices over the real field , the idea of employing the fast Gram– Schmidt orthonormalization algorithm of van den Brand works correctly in conjunction with the techniques described above. However, over an arbitrary field 𝔽, the argument may fail. This is because, when considering matrices over a field other than , it may happen that a linear subspace W satisfies WW{𝟎} and W+W𝔽r,444For example, consider W=span{(1,1,0,0),(0,0,1,1)} over the binary field GF(2). Then, W=span{(1,1,0,0),(0,0,1,1)}. In this case, neither WW={𝟎} nor W+W=(GF(2))4 holds. where W is the orthogonal complement of W (i.e., W={𝒗𝔽r𝒘W,𝒗𝒘=0}). This issue matters in our setting because we need to maintain bases for subspaces corresponding to many different sets, and for this purpose, our algorithm relies on the property that WW={𝟎} and WW=𝔽r.

To design an algorithm applicable to any field, we replace the Euclidean inner product 𝒗𝒘 with the bilinear form 𝒗,𝒘=𝒗B𝒘, where we choose w1,,wr independently and uniformly at random from 𝔽, and define a diagonal r×r matrix B such that Bi,i=wi. Here, we define the orthogonal complement with respect to the bilinear form 𝒗,𝒘=𝒗B𝒘 as WB={𝒗𝔽r𝒘W,𝒗,𝒘=𝒗B𝒘=0}. For a fixed linear subspace W, we can show that both WWB={𝟎} and WWB=𝔽r hold with high probability.

To determine whether 𝒎ispan{𝒎jjS}, it suffices to check whether 𝒗,𝒎i=𝒗B𝒎i=0. Here, 𝒗 is a vector sampled from the orthogonal complement of span{𝒎jjS} with respect to the bilinear form 𝒗,𝒘=𝒗B𝒘. We make use of a fast orthogonalization algorithm with respect to the bilinear form 𝒗,𝒘=𝒗B𝒘, which is a modified version of the fast Gram–Schmidt orthonormalization algorithm of van den Brand [57].

1.2 Related Work

Faster Matroid Intersection under Oracle Models.

In addition to the linear matroid model, another standard model for handling matroids is the oracle model. In this model, an algorithm accesses a matroid through an oracle that answers queries about its structure. In recent years, the development of faster algorithms for matroid intersection under oracle models has attracted significant attention. Starting the work of Edmonds [21, 22], many fast algorithms in the oracle model have been studied [2, 55, 38, 16, 25, 51, 39, 13, 35, 45, 12, 9, 6, 56, 7, 48, 53, 8, 18]. There have also been many studies on fast matroid intersection algorithms for several important specific classes of matroids [27, 26, 16, 28, 29, 59, 32, 33, 35]. Recently, Blikstad–Mukhopadhyay–Nanongkai–Tu [7] proposed a remarkable new oracle model, called dynamic oracle, which unifies various results on fast matroid intersection algorithms for specific classes of matroids; see [7, Table 2].

Note that the recent dynamic oracle framework of Blikstad–Mukhopadhyay–Nanongkai–Tu [7] yields a linear matroid intersection algorithm with time complexity O(n2.5925r), using the dynamic matrix rank maintenance algorithm of [58]. However, this complexity is slower than that of Harvey [33].

Additional Related Work.

There are several studies on fast algebraic algorithms for problems that generalize linear matroid intersection, such as linear matroid parity [15], fractional linear matroid parity [46], and linear delta-matroid parity [37]. Matoya–Oki [41] derandomized Harvey’s [33] linear matroid intersection algorithm for a special case known as a Pfaffian pair. Linear matroid intersection has also been well studied in parallel and other computational models [43, 31, 30, 1]. The intersection of multiple linear matroids has also attracted interest in the parameterized algorithm community; see, for example, [17, Section 12.3] and [5, 40, 10, 23].

Concurrent Work.

Independent of our work, Dudeja–Grilnberger [18] presented a remarkable reduction in the independence oracle model that converts any (1ε)-approximation algorithm for unweighted matroid intersection into a (1ε)-approximation algorithm for weighted matroid intersection, while increasing the running time by only a factor of logC, where C denotes the aspect ratio. Thus, one might hope that, when combined with our unweighted result in Theorem 1, their reduction could yield a weighted result comparable to Theorem 2. However, their reduction relies on several subroutines, including a procedure for greedily computing a common independent set, and it is unclear whether all of these subroutines can be implemented efficiently for linear matroids. Accordingly, it is unclear whether their reduction, combined with Theorem 1, can yield a result comparable to Theorem 2.

2 Preliminaries

2.1 Basic Notation

The set {1,,n} is denoted by [n]. If U is a set, then (Uk) denotes the set of all its subsets of size k.

Consider a matrix M over a field 𝔽. Let nnz(M) denote the number of nonzero entries in M. Let M[S] denote the submatrix consisting of columns indexed by S. Let M[R,C] denote the submatrix consisting of the rows indexed by R and the columns indexed by C. Let [AB] denote the matrix whose columns consist of those of A, followed by those of B. We write I to denote the identity matrix. Let span{𝒗1,,𝒗k} denote the linear span of the set of vectors {𝒗1,,𝒗k}.

2.2 Assumptions and Conventions

When 𝔽 is a finite field, we can assume that |𝔽|=Ω(poly(n)) by the following well-known lemma. As a result of this assumption, the running time of our algorithm increases by a multiplicative factor of polylog(n).

Lemma 3 (from [14, Lemma 2.1]).

Let A be an r×n matrix over a field 𝔽 with pc elements. We can construct a finite field 𝔽 with pck=Ω(poly(n)) elements and an injective mapping f:𝔽𝔽 so that the image of 𝔽 is a subfield of 𝔽. Then, the r×n matrix A where Aij=f(Aij) satisfies the following property: a set of columns of A is independent if and only if the corresponding set of columns of A is independent. This preprocessing step takes O(nnz(A)) time. Each field operation in 𝔽 can be performed using polylog(n) field operations in 𝔽.

When 𝔽 is an infinite field, we assume the exact arithmetic model where each field operation is performed in one unit of time. In the algorithm, we also require the ability to sample a random element from an arbitrary subset of size Ω(poly(n)) in 𝔽. This assumption is needed for the application of the Schwartz–Zippel Lemma.555The Schwartz–Zippel Lemma is used in Harvey’s exact algorithm for linear matroid intersection [33] and in the sketching technique of Cheung–Kwok–Lau [14], both of which are components of our algorithm.

Lemma 4 (Schwartz–Zippel Lemma [50]).

Let P𝔽[x1,,xn] be a nonzero polynomial of total degree d over a field 𝔽. Let S be a finite subset of 𝔽 and let r1,,rn be chosen independently and uniformly at random from S. Then, the probability that P(r1,,rn)=0 is at most d/|S|.

We assume that two n×n matrices can be multiplied in O(nω) time. The current best upper bound on ω is ω<2.371339 [3]. For an n×n matrix, it is known that computing the determinant, rank, and inverse can all be done in the same time complexity as one matrix multiplication [11, 34].

The assumptions in this subsection were also made in [14, 44].

2.3 Matroid Preliminaries

For the basics of matroid theory, see, for example, the excellent textbooks of Oxley [47] or Schrijiver [49].

A pair =(V,) of a finite set V and a non-empty set family 2V is called a matroid if the following properties are satisfied.

(Downward closure property)

If I and JI, then J.

(Augmentation property)

If I,J and |J|<|I|, then there exists vIJ such that J{v}.

A set IV is called independent if I and dependent otherwise.

Matroid Rank and Span.

Motivated by linear algebra, matroids have associated notions of a rank function and a span function, defined as follows. For a matroid =(V,), the rank of is rank()=max{|I|I}. In addition, for any SV, the rank of S is rank(S)=max{|I|IS,I}. Moreover, for any SV, the span of S is span(S)={vVrank(S{v})=rank(S)}.

Matroid Intersection.

In the matroid intersection problem, we are given two matroids 1=(V,1) and 2=(V,2), and the objective is to find a common independent set I12 of maximum size.

Edmonds [21] proved the following min-max theorem, which is now well known.

Theorem 5 (Matroid intersection theorem [21]; see also [49, Theorem 41.1]).

Let 1=(V,1), 2=(V,2) be matroids, with rank function rank1 and rank2, respectively. Then,

maxI12|I|=minS,TV,ST=V(rank1(S)+rank2(T)).

Here, (S,T) is called a dual solution to matroid intersection, where S and T minimize the right-hand side of the equation in Theorem 5.

In our linear matroid intersection algorithm, we use Harvey’s exact algorithm for linear matroid intersection [33] to compute primal and dual solutions to sparsified instances.

Theorem 6 (Harvey’s exact linear matroid intersection algorithm; see [33, Section 4.6]).

An exact solution to the maximum cardinality linear matroid intersection problem can be computed with high probability in O~(nrω1) time. Furthermore, an exact dual solution can also be computed with high probability in O~(nrω1) time.

2.4 Sketching Technique of Cheung–Kwok–Lau

In our algorithm, we use the sketching technique of Cheung–Kwok–Lau [14]. Using this technique, we can reduce the dimension of the input matrix from r×n to O(r)×n.

Lemma 7 (Sketching technique of Cheung–Kwok–Lau [14]; from [14, Lemma 2.9]).

There is an algorithm that, given an r×n matrix A over a field 𝔽, returns an O(k)×n matrix A over a field 𝔽 in O(nnz(A)) time, with nnz(A)=O(nnz(A)), such that for any set S[n] of size at most k, if the columns indexed by S are linearly independent in A, then the columns of A indexed by S are also linearly independent with probability at least 1O(1/n1/3).

In our fast span computation algorithm, we use the following lemma.

Lemma 8 (Fast computation of a basis of the orthogonal complement of the column space).

There is a randomized algorithm that, given an r×n matrix M over a field 𝔽, finds a basis of the orthogonal complement of the column space of M with high probability in O((nnz(M)+rω)logn) time.

Lemma 8 can be easily derived from the following lemma, which was obtained using the sketching technique of Cheung–Kwok–Lau. Here, the null space of a matrix A is the subspace of vectors 𝒙 such that A𝒙=𝟎.

Lemma 9 (from [14, Theorem 1.3(2)]; see also [14, Section 4.1.2]).

There is a randomized algorithm that, given an m×n matrix A over a field 𝔽, finds a basis of the null space of A with high probability in O((nnz(A)+n(rank(A))ω1)logn) time.

Let W denote the column space of an r×n matrix M, i.e., W=span{𝒎1,,𝒎n}, where 𝒎1,,𝒎n are the column vectors of M. The orthogonal complement of W, denoted by W, is defined as W={𝒙𝔽r𝒘W,𝒘𝒙=0}. Now, 𝒙W if and only if 𝒎i𝒙=0 for any i[n]. We have W={𝒙𝔽rM𝒙=𝟎}. Therefore, to find a basis of the orthogonal complement of the column space of M, we simply compute a basis of the null space of M using Lemma 9. Note that M is an n×r matrix. Hence, Lemma 8 follows from Lemma 9.

2.5 Fast Gram–Schmidt Orthonormalization

For our maximum weight linear matroid intersection algorithm for matrices over , we use the fast Gram–Schmidt orthonormalization algorithm of van den Brand [57].

Lemma 10 (Fast Gram–Schmidt orthonormalization; from van den Brand [57, Section 4.5]).

Given an r×n matrix M with rn over , where 𝐦1,,𝐦n are column vectors of M, there is an algorithm that repeatedly computes 𝐦i=𝐦iPi1𝐦i, where Pi1𝐦i denotes the orthogonal projection of 𝐦i onto span{𝐦1,,𝐦i1}, and then normalizes 𝐦i if 𝐦i𝟎. The total running time of this process is O(nω).

To extend our algorithm to arbitrary fields, we modify a fast Gram–Schmidt orthonormalization algorithm of van den Brand into a fast orthogonalization algorithm with respect to the bilinear form 𝒗,𝒘=𝒗B𝒘; see the full version [54] for details.

3 Fast Span Computation Algorithm

As part of our technical contribution, we develop a fast span computation algorithm, which is used as a subroutine in our maximum cardinality linear matroid intersection algorithm. The following lemma states its running time guarantee.

Lemma 11.

There is a randomized algorithm that, given an r×n matrix M over a field 𝔽 whose columns are the representation of elements of a matroid , and a set S[n],666Although in our application the size of S is always O~ε(r), we state the lemma in a general form for potential broader applicability., computes span(S) with high probability in O~(nnz(M)+rω) time.

We note that our algorithm is applicable over any field.

The core idea of our algorithm is very simple. In our algorithm, we first sample a vector 𝒗 from the orthogonal complement of span{𝒎jjS}, where 𝒎1,,𝒎n denote the vectors corresponding to the columns of the input matrix M. Then, we output the set {i[n]𝒗𝒎i=0} as span(S). See Algorithm 1 for the pseudocode of our algorithm.

Let W=span{𝒎jjS}. The orthogonal complement of W, denoted by W, is defined as W={𝒗𝔽r𝒘W,𝒗𝒘=0}. When considering matrices over a field other than , it may occur that W does not satisfy WW={𝟎} or W+W=𝔽r. Nevertheless, for our purpose it suffices that (W)=W, which in fact holds over any field.777This can be verified by a simple argument in linear algebra. Now, fix any 𝒙W. For any 𝒚W, we have 𝒚𝒙=0. Thus, 𝒙(W), and hence W(W). Moreover, the Rank–nullity theorem implies that dim(W)=rdim(W) and dim((W))=rdim(W). Therefore, dim((W))=dim(W), which, together with W(W), yields (W)=W.

Note that we assume |𝔽|=Ω(poly(n)). Recall that, by Lemma 3, this assumption can be made without loss of generality.

Algorithm 1 Span computation algorithm.

Proof.

In our algorithm, we first compute a basis {𝒃1,,𝒃k} of the orthogonal complement of span{𝒎jjS} by applying Lemma 8 to M[S]. This step takes O((nnz(M)+rω)logn) time.

Next, we choose r1,,rk independently and uniformly at random from a finite subset F𝔽 with |F|=Θ(n2), and compute

𝒗=j=1krj𝒃j,

which takes O(r2) time, since kr and each 𝒃j is an r-dimensional vector.

We claim that the value of 𝒗𝒎i satisfies the following two properties. Here, 𝒎𝟏,,𝒎𝒏 denote the vectors corresponding to the columns of the matrix M.

  • If ispan(S), then we have 𝒗𝒎i=0 for every possible choice of r1,,rk, since 𝒗 lies in the orthogonal complement of span{𝒎jjS}.

  • If ispan(S), then we have 𝒗𝒎i0 with probability at least 11/|F|. This can be shown as follows. Consider the multivariate polynomial

    P(x1,,xk)=j=1kxj𝒃j𝒎i.

    Here, to show that P(x1,,xk) is a nonzero polynomial, we prove the following claim.888Over the real number field , the claim is immediate. However, over an arbitrary field 𝔽, one cannot in general rely on WW={𝟎} or W+W=𝔽r, so some care is required. For completeness, we give a careful proof, which uses only the identity (W)=W. Recall that we are assuming ispan(S).

    Claim 12.

    There exists some j[k] such that 𝒃j𝒎i0.

    Proof of Claim 12.

    Let W=span{𝒎jjS}. Here, we have 𝒎iW. Suppose, for the sake of contradiction, that 𝒃j𝒎i=0 for all j[k], where {𝒃1,,𝒃k} form a basis of W. Then, 𝒎i is orthogonal to every vector in W, which implies that 𝒎i(W)=W, contradicting the assumption 𝒎iW. Therefore, there exists some j[k] such that 𝒃j𝒎i0, which completes the proof. By Claim 12, P(x1,,xk) is a nonzero polynomial of total degree 1. Since r1,,rk are chosen independently and uniformly at random from a finite subset F𝔽, by the Schwartz–Zippel Lemma (Lemma 4), the probability that

    P(r1,,rk)=j=1krj𝒃j𝒎i=𝒗𝒎i=0

    is at most 1/|F|.

Then, we only need to check, for each i[n], whether 𝒗𝒎i=0. The total time required to compute all inner products 𝒗𝒎i for all i[n] is O(nnz(M)). Finally, we output the set {i[n]𝒗𝒎i=0} as span(S).

There are at most n operations that check whether ispan(S), and each fails with probability at most 1/|F|. Therefore, the probability that at least one of them fails is at most n/|F|=O(1/n), where we recall that |F|=Θ(n2).

In summary, we can compute span(S) with high probability in O((nnz(M)+rω)logn) time.

4 Adaptive Sparsification Framework of Quanrud

In this section, we describe the adaptive sparsification framework of Quanrud [48], which was developed to obtain a fast (1ε)-approximation algorithm for matroid intersection in the independence oracle model. Our linear matroid intersection algorithm builds upon this framework.

Quanrud’s framework employs a multiplicative weight update method, inspired by Assadi’s semi-streaming maximum matching algorithm [4]. In this framework, we maintain a weight for each element and repeat the following O(log(n)/ε) iterations: In each iteration, we sample Θ(min{klog(n)/ε,n}) elements, in proportion to their weight, compute primal and dual solutions over the sampled elements, and then update the weights of elements. In Quanrud’s paper, k is set to r, where r denote the maximum size of a common independent set.999When we apply Quanrud’s framework to linear matroid intersection, we set k=r instead of k=r.

4.1 Maximum Cardinality Matroid Intersection

In this subsection, we describe Quanrud’s framework for maximum cardinality matroid intersection. The pseudocode is shown in Algorithm 2.

Algorithm 2 Quanrud’s maximum cardinality matroid intersection algorithm in the independence oracle model (from [48, Figure 1]).

We maintain a weight function w:V0 over the elements, where all elements initially have equal weights. We then repeat the following process for L=O(log(n)/ε) iterations: In each iteration, we first sample O~(k/ε) elements VV in proportion to w. Then, we compute a maximum common independent set I and a dual solution (S~,T~) for the subproblem over V.101010In Quanrud’s paper, a (1ε)-approximate solution is computed in Line 4 of Algorithm 2. However, when applying Quanrud’s framework to linear matroid intersection, we compute an exact solution. It is clear that this does not affect the correctness. Note that S~,T~V. We extend these sets to their spans, setting S=span1(S~) and T=span2(T~). Finally, we update the weights w by setting w(e)w(e)/2 for all elements eST. After L iterations, we output I with the largest cardinality among all iterations.

When applying Quanrud’s framework to linear matroid intersection, we use Harvey’s linear matroid intersection algorithm (Theorem 6) to implement Line 4 of Algorithm 2, and our fast span computation algorithm presented in Section 3 to implement Line 5. See Section 5.1 for details.

4.2 Maximum Weight Matroid Intersection

In this subsection, we describe Quanrud’s framework for maximum weight matroid intersection. The high-level approach in the weighted case is similar to that in the unweighted case, but requires additional technical sophistication. The pseudocode is shown in Algorithm 3.

Algorithm 3 Quanrud’s maximum weight matroid intersection algorithm in the independence oracle model (from [48, Figure 2]).

Here, we refer to a solution (y,z), where y,z:2V0, of the following LP as a dual solution. This LP is the dual of the LP relaxation of the weighted matroid intersection problem.

minimize SV(rank1(S)y(S)+rank2(S)z(S))overy,z:2V0 (1)
s.t. Se(y(S)+z(S))c(e)foralleV

Quanrud defines (y,z) to be compact if the supports of y and z satisfy the following conditions:

support(y) {span1({e1}),span1({e1,e2}),,span1({e1,,ek})},
support(z) {span2({f1}),span2({f1,f2}),,span2({f1,,fk})}.

Here, e1,,ekV and f1,,fkV are two sequences of k elements.

As in the unweighted case, we maintain a weight function w:V0 with initially equal weights, and repeat the following process for L=O(log(n)/ε) iterations: In each iteration, we first sample O~(k/ε) elements VV in proportion to w. Then, we compute a (1ε)-approximate maximum-weight common independent set I and a compact (1ε)-approximate dual solution y~,z~:2V0 for the subproblem over V. We then construct y,z:2V0 from y~,z~ by setting

y(span1(S)) =y~(S)1+εfor all Ssupport(y~),
z(span2(T)) =z~(T)1+εfor all Tsupport(z~).

We set y(F)=0 (resp. z(F)=0) for any F2V not of the form span1(S) with Ssupport(y~) (resp. span2(T) with Tsupport(z~)). Here, x1+ε = (1+ε)log1+εx denote rounding x up to the nearest power of 1+ε. Since (y,z) is compact, there exists a sequence e1,,ek such that every set in the support of y has the form Si=(span1({e1,,ei}))V. Then, every set in the support of y has the form Si=span1(Si)=span1({e1,,ei}). Symmetrically, the same property holds for z, with a different sequence of k elements determined by z. Thus, (y,z) is also compact. Finally, we update the weights w by setting w(e)w(e)/2 for all elements eV such that Se(y(S)+z(S))c(e) holds. After L iterations, we output I that maximizes c(I) over all iterations.

When applying Quanrud’s framework to maximum weight linear matroid intersection, we use the (1ε)-approximate weighted linear matroid intersection algorithm by Huang–Kakimura–Kamiyama [35] to implement Line 4 of Algorithm 3. To implement Line 6, we combine our fast span computation algorithm presented in Section 3 with the fast Gram–Schmidt orthonormalization algorithm of van den Brand [57] (Lemma 10). See Section 5.2 for details.

5 Linear Matroid Intersection Algorithms

In this section, we prove Theorems 1 and 2 by combining the sparsification framework of Quanrud [48] (see Section 4 for details) with our fast span computation algorithm presented in Section 3.

When we apply Quanrud’s framework to linear matroid intersection, we set k=r instead of k=r. In the proofs of Theorems 1 and 2, we apply Quanrud’s framework to matrices that have been suitably preprocessed using the sketching technique of Cheung–Kwok–Lau [14] (Lemma 7). For the preprocessed matrices, the maximum size of a common independent set is within a constant factor of the number of rows, which justifies setting k=r.111111Actually, sampling Θ(min{rlog(n)/ε,n}) elements, instead of Θ(min{rlog(n)/ε,n}), in each iteration does not affect the correctness of Quanrud’s framework. This is because the approximation guarantee relies on Lemma 9 (and Lemma 13 in the weighted case) in Quanrud’s paper [48], which states that sampling Ω(min{rlog(n)/ε,n}) elements is sufficient.

5.1 Maximum Cardinality Linear Matroid Intersection

We first show the following theorem, and then prove Theorem 1 using this theorem.

Theorem 13.

For any ε>0, a (1ε)-approximate solution to the maximum cardinality linear matroid intersection problem can be computed with high probability in O~ε(nnz(M1)+nnz(M2)+rω) time.

Proof.

We show that, when the matroids are given by matrix representations, Quanrud’s maximum cardinality matroid intersection algorithm (Algorithm 2) can be implemented in O~ε(nnz(M1)+nnz(M2)+rω) time. By using Harvey’s exact algorithm for linear matroid intersection (Theorem 6), Line 4 can be implemented in O~ε(rω) time, since the number of elements in the sparsified set is O~ε(r). By applying Lemma 11, Line 5 can be implemented in O~(nnz(M1)+nnz(M2)+rω) time. Furthermore, Lines 3 and 6 can be implemented in O~ε(n) time. Since the number of iterations of the for loop is O(log(n)/ε), the total running time is the desired bound of O~ε(nnz(M1)+nnz(M2)+rω), which completes the proof.

Following the approach of [14, Section 4.3.2], we can improve the running time to O~ε(nnz(M1)+nnz(M2)+rω), which proves Theorem 1.

Proof of Theorem 1.

We assume without loss of generality that ε<1/2.

Given an integer , we consider the task of finding a set I[n] of size at least min{(1ε),(1ε)r} such that the columns indexed by I are linearly independent in both M1 and M2. Using Lemma 7 with k=, we compress the input matrices M1 and M2 into O()×n matrices M1 and M2, in O(nnz(M1)) and O(nnz(M2)) time, respectively. We have nnz(M1)=O(nnz(M1)) and nnz(M2)=O(nnz(M2)). Furthermore, for any set S[n] of size at most , if the columns indexed by S are linearly independent in both M1 and M2, then the columns indexed by S are also linearly independent in both M1 and M2 with probability at least 1O(1/n1/3). Consequently, the maximum size of a common independent set for M1 and M2 is min{,r} with high probability. Then, we apply the algorithm in Theorem 13 to find a (1ε)-approximate solution to the linear matroid intersection problem on M1 and M2, which runs in O~ε(nnz(M1)+nnz(M2)+ω)=O~ε(nnz(M1)+nnz(M2)+ω) time.

To find a solution of size at least (1ε)r, we set =2,4,8, and apply the above algorithm until there is no solution of size /2. The total running time of this algorithm is O~ε(nnz(M1)+nnz(M2)+rω), which completes the proof.

5.2 Maximum Weight Linear Matroid Intersection

We first show the following theorem, and then prove Theorem 2 using this theorem.

Theorem 14.

For any ε>0, a (1ε)-approximate solution to the maximum weight linear matroid intersection problem can be computed with high probability in O~ε(nnz(M1)+nnz(M2)+rω) time.

In Quanrud’s framework, we need to compute a (1ε)-approximate maximum-weight common independent set and a compact (1+ε)-approximate dual solution for the sparsified instances. When implementing Quanrud’s framework for linear matroids, we use the following lemma to compute compact primal-dual solutions. This lemma is obtained by combining the (1ε)-approximation algorithm for the weighted matroid intersection by Huang–Kakimura–Kamiyama [35] with the argument of Quanrud’s paper [48]. See the full version [54] for the proof of Lemma 15.

Lemma 15.

Given two r×n matrix M1 and M2 over a field 𝔽, and a weight function c:[n]0, there is an algorithm that computes a (1ε)-approximate maximum-weight common independent set I, along with a compact (1+ε)-approximate dual solution y,z:2[n]0, with high probability in O~ε(nrω1) time.

To efficiently implement Line 6 of Algorithm 3, we present the following lemma. This lemma is obtained by combining our fast span computation algorithm described in Section 3 with the fast Gram–Schmidt orthonormalization algorithm of van den Brand (Lemma 10).

Lemma 16.

Let M be an r×n matrix over a field 𝔽, and let {i1,,ir}[n] be a set of indices. Here, 𝐦1,,𝐦n denote the vectors corresponding to the columns of M. Then, there is an algorithm that answers the following query: given j[n] and α[r], determine whether 𝐦jspan{𝐦iββα} with high probability in O(nnz(𝐦j)) time. This algorithm requires O(rω) time for preprocessing.

Here, we provide a proof only for matrices over . The extension to matrices over an arbitrary field is deferred to the full version [54]. To make the algorithm applicable over arbitrary fields, the key modification is to replace the Euclidean inner product 𝒗𝒘 with the bilinear form 𝒗,𝒘=𝒗B𝒘 (see the full version [54] for details).

Proof of Lemma 16 for matrices over .

We first describe the preprocessing algorithm. First, we apply the fast Gram–Schmidt orthonormalization algorithm of van den Brand [57] (Lemma 10) to the sequence of 2r vectors 𝒎i1,,𝒎ir,𝒆1,,𝒆r, which takes O(rω) time. Here, 𝒆ir is the standard basis vector (i.e., the vector with 1 in the i-th coordinate and 0 elsewhere). Then, we obtain a vector sequence 𝒎i1,,𝒎ir,𝒆1,,𝒆r. We note that this vector sequence includes the zero vector 𝟎. We then choose q1,,q2r independently and uniformly at random from a finite subset R of size poly(n) (e.g., R={1,2,,poly(n)}). Next, for each α[r], we compute a vector 𝒗α=j=α+1rqj𝒎ij+j=1rqr+j𝒆j. This can be implemented in O(r2) time by computing the sums in reverse order. We note that 𝒗α lies in the orthogonal complement of span{𝒎i1,,𝒎iα}.

Next, we describe how to answer the query. It suffices to check whether 𝒗α𝒎j=0, which can be done in O(nnz(𝒎j)) time. As in the proof of Lemma 11, if 𝒎jspan{𝒎iββα} holds, then 𝒗α𝒎j=0 always holds, otherwise 𝒗α𝒎j0 holds with probability at least 11/|R|=11/poly(n). Therefore, checking whether 𝒗α𝒎j=0 suffices to decide whether 𝒎jspan{𝒎iββα}, which completes the proof.

We now present the proof of Theorem 14.

Proof of Theorem 14.

We show that, when the matroids are given by matrix representations, Quanrud’s maximum weight matroid intersection algorithm (Algorithm 3) can be implemented in O~ε(nnz(M1)+nnz(M2)+rω) time. By Lemma 15, Line 4 can be implemented in O~ε(rω) time, since the number of elements in the sparsified set is O~ε(r).

In our algorithm, we do not explicitly compute (y,z) computed in Line 5. Here, (y,z) computed in Line 5 is compact, and thus we can write

support(y) {span1({i1}),span1({i1,i2}),,span1({i1,,ir})}, (2)
support(z) {span2({j1}),span2({j1,j2}),,span2({j1,,jr})},

for two sequences of r elements i1,,ir[n] and j1,,jr[n]. Here, let 1 (resp. 2) denote the matroid represented by the matrix M1 (resp. M2). The elements i1,,ir and j1,,jr belong to the sparsified set, and are computed in Line 4. To implement Line 5, we simply compute the value of y(span1({i1,,iα})) and z(span2({j1,,jα})) for each α[r], which takes O(r) time. Note that we do not explicitly compute span1({i1,,iα}) or span2({j1,,jα}).

It remains to bound the running time of Line 6. In this line, for each i[n], we need to check whether Si(y(S)+z(S))c(i). Here, 𝒎1(1),,𝒎n(1) (resp. 𝒎1(2),,𝒎n(2)) denote the vectors corresponding to the columns of M1 (resp. M2). As preprocessing, for all α[r], we compute
yα=γ{α,α+1,,r}y(span1({i1,,iγ})),zα=γ{α,α+1,,r}z(span2({j1,,jγ})),

which takes O(r) time. Furthermore, we apply the preprocessing algorithm of Lemma 16 to M1 and {i1,,ir}, which takes O(rω) time; we do the same for M2 and {j1,,jr}.

We now describe how to check whether Si(y(S)+z(S))c(i) holds for each i[n] in O~(nnz(𝒎i(1))+nnz(𝒎i(2))) time. We can binary search for the first index α(1)[r] (resp. α(2)[r]) such that 𝒎i(1)span{𝒎iβ(1)βα(1)} (resp. 𝒎i(2)span{𝒎jβ(2)βα(2)}). Note that, for all γα(1), we have 𝒎i(1)span{𝒎iβ(1)βγ}. By Lemma 16, this binary search process takes O~(nnz(𝒎i(1))+nnz(𝒎i(2))) time. Here, we have Si(y(S)+z(S))=yα(1)+zα(2), so this value can be computed in O(1) time. Thus, for each i[n], we can check whether Si(y(S)+z(S))c(i) in O~(nnz(𝒎i(1))+nnz(𝒎i(2))) time. Therefore, Line 6 can be implemented in O~(nnz(M1)+nnz(M2)+rω) time, which completes the proof.

Using the sketching technique of Cheung–Kwok–Lau [14] (Lemma 7), we can improve the running time to O~ε(nnz(M1)+nnz(M2)+rω), which proves Theorem 2.

Proof of Theorem 2.

As a first step, we compute a 2/3-approximate solution S¯ to the maximum cardinality linear matroid intersection for the input matrices M1 and M2, using Theorem 1, in O~ε(nnz(M1)+nnz(M2)+rω) time. We then apply Lemma 7 with k=32|S¯|. Note that kr and k=Θ(r). The lemma compresses the input matrices M1 and M2 into O(r)×n matrices M1 and M2, in O(nnz(M1)) and O(nnz(M2)) time, respectively. We have nnz(M1)=O(nnz(M1)) and nnz(M2)=O(nnz(M2)). Furthermore, for any set S[n] of size at most r, if the columns indexed by S are linearly independent in both M1 and M2, then the columns indexed by S are also linearly independent in both M1 and M2 with probability at least 1O(1/n1/3). We then apply the algorithm in Theorem 14 to the compressed matrices M1 and M2 to find a (1ε)-approximate solution to the maximum weight linear matroid intersection problem. This algorithm runs in O~ε(nnz(M1)+nnz(M2)+rω)=O~ε(nnz(M1)+nnz(M2)+rω) time.

References

  • [1] Aryan Agarwala, Yaroslav Alekseev, and Antoine Vinciguerra. Linear matroid intersection is in catalytic logspace. In Proceedings of the 17th Innovations in Theoretical Computer Science Conference (ITCS 2026), volume 362, pages 3:1–3:23, 2026. doi:10.4230/LIPIcs.ITCS.2026.3.
  • [2] Martin Aigner and Thomas A Dowling. Matching theory for combinatorial geometries. Transactions of the American Mathematical Society, 158(1):231–245, 1971. doi:10.1090/S0002-9947-1971-0286689-5.
  • [3] Josh Alman, Ran Duan, Virginia Vassilevska Williams, Yinzhan Xu, Zixuan Xu, and Renfei Zhou. More asymmetry yields faster matrix multiplication. In Proceedings of the 36th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2025), pages 2005–2039. SIAM, 2025. doi:10.1137/1.9781611978322.63.
  • [4] Sepehr Assadi. A simple (1ε)-approximation semi-streaming algorithm for maximum (weighted) matching. TheoretiCS, 4, 2025. Preliminary version in SOSA 2024. doi:10.46298/theoretics.25.16.
  • [5] Alexander I Barvinok. New algorithms for linear k-matroid intersection and matroid k-parity problems. Mathematical Programming, 69(1):449–470, 1995. doi:10.1007/BF01585571.
  • [6] Joakim Blikstad. Breaking O(nr) for matroid intersection. In Proceedings of the 48th International Colloquium on Automata, Languages, and Programming (ICALP 2022), volume 198, pages 31:1–31:17, 2021. doi:10.4230/LIPIcs.ICALP.2021.31.
  • [7] Joakim Blikstad, Sagnik Mukhopadhyay, Danupon Nanongkai, and Ta-Wei Tu. Fast algorithms via dynamic-oracle matroids. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing (STOC 2023), pages 1229–1242, 2023. doi:10.1145/3564246.3585219.
  • [8] Joakim Blikstad and Ta-Wei Tu. Efficient matroid intersection via a batch-update auction algorithm. In Proceedings of the 8th Symposium on Simplicity in Algorithms (SOSA 2025), pages 226–237. SIAM, 2025. doi:10.1137/1.9781611978315.18.
  • [9] Joakim Blikstad, Jan van den Brand, Sagnik Mukhopadhyay, and Danupon Nanongkai. Breaking the quadratic barrier for matroid intersection. In Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing (STOC 2021), pages 421–432, 2021. doi:10.1145/3406325.3451092.
  • [10] Cornelius Brand and Kevin Pratt. Parameterized applications of symbolic differentiation of (totally) multilinear polynomials. In Proceedings of the 48th International Colloquium on Automata, Languages, and Programming (ICALP 2021), pages 38:1–38:19, 2021. doi:10.4230/LIPIcs.ICALP.2021.38.
  • [11] James R Bunch and John E Hopcroft. Triangular factorization and inversion by fast matrix multiplication. Mathematics of Computation, 28(125):231–236, 1974.
  • [12] Deeparnab Chakrabarty, Yin Tat Lee, Aaron Sidford, Sahil Singla, and Sam Chiu-wai Wong. Faster matroid intersection. In Proceedings of the 60th Annual Symposium on Foundations of Computer Science (FOCS 2019), pages 1146–1168. IEEE, 2019. doi:10.1109/FOCS.2019.00072.
  • [13] Chandra Chekuri and Kent Quanrud. A fast approximation for maximum weight matroid intersection. In Proceedings of the 27th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2016), pages 445–457. SIAM, 2016. doi:10.1137/1.9781611974331.ch33.
  • [14] Ho Yee Cheung, Tsz Chiu Kwok, and Lap Chi Lau. Fast matrix rank algorithms and applications. Journal of the ACM (JACM), 60(5):1–25, 2013. Preliminary version in STOC 2012. doi:10.1145/2528404.
  • [15] Ho Yee Cheung, Lap Chi Lau, and Kai Man Leung. Algebraic algorithms for linear matroid parity problems. ACM Transactions on Algorithms (TALG), 10(3):1–26, 2014. Preliminary version in SODA 2011. doi:10.1145/2601066.
  • [16] William H Cunningham. Improved bounds for matroid partition and intersection algorithms. SIAM Journal on Computing, 15(4):948–957, 1986. doi:10.1137/0215066.
  • [17] Marek Cygan, Fedor V Fomin, Łukasz Kowalik, Daniel Lokshtanov, Dániel Marx, Marcin Pilipczuk, Michał Pilipczuk, and Saket Saurabh. Parameterized algorithms. Springer, 2015. doi:10.1007/978-3-319-21275-3.
  • [18] Aditi Dudeja and Mara Grilnberger. A weighted-to-unweighted reduction for matroid intersection. arXiv preprint arXiv:2602.15702, 2026. doi:10.48550/arXiv.2602.15702.
  • [19] Jean-Guillaume Dumas, Clément Pernet, and Ziad Sultan. Simultaneous computation of the row and column rank profiles. In Proceedings of the 38th International Symposium on Symbolic and Algebraic Computation (ISSAC 2013), pages 181–188, 2013. doi:10.1145/2465506.2465517.
  • [20] Jean-Guillaume Dumas, Clément Pernet, and Ziad Sultan. Fast computation of the rank profile matrix and the generalized bruhat decomposition. Journal of Symbolic Computation, 83:187–210, 2017. doi:10.1016/j.jsc.2016.11.011.
  • [21] Jack Edmonds. Submodular functions, matroids, and certain polyhedra. In Combinatorial Structures and Their Applications, pages 69–87, 1970.
  • [22] Jack Edmonds. Matroid intersection. In Annals of Discrete Mathematics, volume 4, pages 39–49. Elsevier, 1979. doi:10.1016/S0167-5060(08)70817-3.
  • [23] Eduard Eiben, Tomohiro Koana, and Magnus Wahlström. Determinantal sieving. TheoretiCS, 4, 2025. Preliminary version in SODA 2024. doi:10.46298/theoretics.25.21.
  • [24] Rūsiņš Freivalds. Fast probabilistic algorithms. In Proceedings of the 8th International Symposium on Mathematical Foundations of Computer Science (MFCS 1979), pages 57–69. Springer, 1979.
  • [25] Satoru Fujishige and Zhang Xiaodong. An efficient cost scaling algorithm for the independent assignment problem. Journal of the Operations Research Society of Japan, 38(1):124–136, 1995.
  • [26] Harold N Gabow and Matthias Stallmann. Efficient algorithms for graphic matroid intersection and parity. In Proceedings of the 12th Colloquium on Automata, Languages and Programming (ICALP 1985), pages 210–220. Springer, 1985. doi:10.1007/BFb0015746.
  • [27] Harold N Gabow and Robert E Tarjan. Efficient algorithms for simple matroid intersection problems. In Proceedings of the 20th Annual Symposium on Foundations of Computer Science (FOCS 1979), pages 196–204. IEEE, 1979. doi:10.1109/SFCS.1979.14.
  • [28] Harold N Gabow and Ying Xu. Efficient algorithms for independent assignment on graphic and linear matroids. In Proceedings of the 30th Annual Symposium on Foundations of Computer Science (FOCS 1989), pages 106–111. IEEE Computer Society, 1989. doi:10.1109/SFCS.1989.63463.
  • [29] Harold N Gabow and Ying Xu. Efficient theoretic and practical algorithms for linear matroid intersection problems. Journal of Computer and System Sciences, 53(1):129–147, 1996. doi:10.1006/jcss.1996.0054.
  • [30] Rohit Gurjar, Taihei Oki, and Roshan Raj. Fractional linear matroid matching is in Quasi-NC. In Proceedings of the 32nd Annual European Symposium on Algorithms (ESA 2024), volume 308, pages 63:1–63:14, 2024. doi:10.4230/LIPIcs.ESA.2024.63.
  • [31] Rohit Gurjar and Thomas Thierauf. Linear matroid intersection is in Quasi-NC. computational complexity, 29(2):9, 2020. Preliminary version in STOC 2017. doi:10.1007/s00037-020-00200-z.
  • [32] Nicholas JA Harvey. An algebraic algorithm for weighted linear matroid intersection. In Proceedings of the 8th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2007), pages 444–453, 2007. URL: http://dl.acm.org/citation.cfm?id=1283383.1283430.
  • [33] Nicholas JA Harvey. Algebraic algorithms for matching and matroid problems. SIAM Journal on Computing, 39(2):679–702, 2009. Preliminary version in FOCS 2006. doi:10.1137/070684008.
  • [34] Nicholas James Alexander Harvey. Matchings, matroids and submodular functions. PhD thesis, Massachusetts Institute of Technology, 2008.
  • [35] Chien-Chung Huang, Naonori Kakimura, and Naoyuki Kamiyama. Exact and approximation algorithms for weighted matroid intersection. Mathematical Programming, 177(1-2):85–112, 2019. Preliminary version in SODA 2016. doi:10.1007/s10107-018-1260-x.
  • [36] Claude-Pierre Jeannerod, Clément Pernet, and Arne Storjohann. Rank-profile revealing gaussian elimination and the cup matrix decomposition. Journal of Symbolic Computation, 56:46–68, 2013. doi:10.1016/j.jsc.2013.04.004.
  • [37] Tomohiro Koana and Magnus Wahlström. Faster algorithms on linear delta-matroids. In Proceedings of 42nd International Symposium on Theoretical Aspects of Computer Science (STACS 2025), volume 327, pages 62:1–62:19, 2025. doi:10.4230/LIPIcs.STACS.2025.62.
  • [38] Eugene L Lawler. Matroid intersection algorithms. Mathematical Programming, 9(1):31–56, 1975. doi:10.1007/BF01681329.
  • [39] Yin Tat Lee, Aaron Sidford, and Sam Chiu-wai Wong. A faster cutting plane method and its implications for combinatorial and convex optimization. In Proceedings of the 56th Annual Symposium on Foundations of Computer Science (FOCS 2015), pages 1049–1065. IEEE, 2015. doi:10.1109/FOCS.2015.68.
  • [40] Dániel Marx. A parameterized view on matroid optimization problems. Theoretical Computer Science, 410(44):4471–4479, 2009. Preliminary version in ICALP 2006. doi:10.1016/j.tcs.2009.07.027.
  • [41] Kazuki Matoya and Taihei Oki. Pfaffian pairs and parities: Counting on linear matroid intersection and parity problems. SIAM Journal on Discrete Mathematics, 36(3):2121–2158, 2022. Preliminary version in IPCO 2021. doi:10.1137/21m1421751.
  • [42] Rajeev Motwani and Prabhakar Raghavan. Randomized Algorithms. Cambridge University Press, 1995. doi:10.1017/cbo9780511814075.
  • [43] Harihar Narayanan, Huzur Saran, and Vijay V Vazirani. Randomized parallel algorithms for matroid union and intersection, with applications to arborescences and edge-disjoint spanning trees. SIAM Journal on Computing, 23(2):387–397, 1994. Preliminary version in SODA 1992. doi:10.1137/S0097539791195245.
  • [44] Huy L Nguyen. Fast greedy for linear matroids. In Proceedings of the 30th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2019), pages 516–524. SIAM, 2019. doi:10.1137/1.9781611975482.32.
  • [45] Huy L Nguyen. A note on Cunningham’s algorithm for matroid intersection. arXiv preprint arXiv:1904.04129, 2019. doi:10.48550/arXiv.1904.04129.
  • [46] Taihei Oki and Tasuku Soma. Algebraic algorithms for fractional linear matroid parity via noncommutative rank. SIAM Journal on Computing, 54(1):134–162, 2025. Preliminary version in SODA 2023. doi:10.1137/22m1537096.
  • [47] James G Oxley. Matroid theory, volume 3. Oxford University Press, USA, 2006.
  • [48] Kent Quanrud. Adaptive sparsification for matroid intersection. In Proceedings of the 51st International Colloquium on Automata, Languages, and Programming (ICALP 2024), volume 297, pages 118:1–118:20, 2024. doi:10.4230/LIPIcs.ICALP.2024.118.
  • [49] Alexander Schrijver. Combinatorial optimization: polyhedra and efficiency, volume 24. Springer, 2003.
  • [50] Jacob T Schwartz. Fast probabilistic algorithms for verification of polynomial identities. Journal of the ACM (JACM), 27(4):701–717, 1980. doi:10.1145/322217.322225.
  • [51] Maiko Shigeno and Satoru Iwata. A dual approximation approach to weighted matroid intersection. Operations Research Letters, 18(3):153–156, 1995. doi:10.1016/0167-6377(95)00047-X.
  • [52] Arne Storjohann and Shiyun Yang. Linear independence oracles and applications to rectangular and low rank linear systems. In Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation (ISSAC 2014), pages 381–388, 2014. doi:10.1145/2608628.2608673.
  • [53] Tatsuya Terao. Deterministic (2/3ε)-approximation of matroid intersection using nearly-linear independence-oracle queries. In Proceedings of the 19th International Symposium on Algorithms and Data Structures (WADS 2025), volume 349, pages 50:1–50:18, 2025. doi:10.4230/LIPIcs.WADS.2025.50.
  • [54] Tatsuya Terao. Faster approximate linear matroid intersection. arXiv preprint arXiv:2604.11725, 2026. doi:10.48550/arXiv.2604.11725.
  • [55] Nobuaki Tomizawa and Masao Iri. An algorithm for determining the rank of a triple matrix product AXB with application to the problem of discerning the existence of the unique solution in a network. Electronics and Communications in Japan (Scripta Electronica Japonica II), 57(11):50–57, 1974.
  • [56] Ta-Wei Tu. Subquadratic weighted matroid intersection under rank oracles. In Proceedings of the 33rd International Symposium on Algorithms and Computation (ISAAC 2022), volume 248, pages 63:1–63:14, 2022. doi:10.4230/LIPIcs.ISAAC.2022.63.
  • [57] Jan van den Brand. Unifying matrix data structures: Simplifying and speeding up iterative algorithms. In Proceedings of Symposium on Simplicity in Algorithms (SOSA 2021), pages 1–13. SIAM, 2021. doi:10.1137/1.9781611976496.1.
  • [58] Jan van den Brand, Danupon Nanongkai, and Thatchaphol Saranurak. Dynamic matrix inverse: Improved algorithms and matching conditional lower bounds. In Proceedings of the 60th Annual Symposium on Foundations of Computer Science (FOCS 2019), pages 456–480. IEEE, 2019. doi:10.1109/FOCS.2019.00036.
  • [59] Ying Xu and Harold N Gabow. Fast algorithms for transversal matroid intersection problems. In Proceedings of the 5th International Symposium on Algorithms and Computation (ISAAC 1994), pages 625–633. Springer, 1994. doi:10.1007/3-540-58325-4_231.