  A contemporary and exciting application of Groebner bases is their use in
computational biology, particularly in the reverse engineering of gene
regulatory networks from experimental data. In this setting, the data are
typically limited to tens of points, while the number of genes or variables is
potentially in the thousands. As such data sets vastly underdetermine the
biological network, many models may fit the same data and reverse engineering
programs often require the use of methods for choosing parsimonious models.
Grobner bases have recently been employed as a selection tool for polynomial
dynamical systems that are characterized by maps in a vector space over a
finite field.
  While there are numerous existing algorithms to compute Groebner bases, to
date none has been specifically designed to cope with large numbers of
variables and few distinct data points. In this paper, we present an algorithm
for computing Grobner bases of zero-dimensional ideals that is optimized for
the case when the number m of points is much smaller than the number n of
indeterminates. The algorithm identifies those variables that are essential,
that is, in the support of the standard monomials associated to a polynomial
ideal, and computes the relations in the Groebner bases in terms of these
variables. When n is much larger than m, the complexity is dominated by nm^3.
The algorithm has been implemented and tested in the computer algebra system
Macaulay 2. We provide a comparison of its performance to the
Buchberger-Moeller algorithm, as built into the system.
