# numericalHilbertFunction -- computes the values of the Hilbert function for the image of a variety

## Synopsis

• Usage:
numericalHilbertFunction(F, I, S, d)
numericalHilbertFunction(F, I, d)
• Inputs:
• F, a matrix, or list, or ring map, specifying a map
• I, an ideal, which is prime, specifying a source variety $V(I)$
• S, a list, of general points on $F(V(I))$
• d, an integer, the argument of the Hilbert function of $F(V(I))$
• Optional inputs:
• ConvertToCone => ..., default value false, specifies whether to convert image to a cone
• Precondition => ..., default value true, computes numerical kernel dimension of a matrix
• Software => ..., default value M2engine, specify software for homotopy continuation
• SVDGap => ..., default value 100000, computes numerical kernel dimension of a matrix
• UseSLP => ..., default value false
• Verbose => ..., default value true, display detailed output
• Outputs:
• , containing the number of linearly independent degree $d$ forms in the ideal of the projective closure of $F(V(I))$, along with approximations of those forms

## Description

This method computes values of the Hilbert function of the image of a variety, by numerical interpolation. In more detail, given a list $S$ of general points on $F(V(I))$ and a degree $d$, the method forms a matrix whose entries are the evaluations of monomials of degree $d$ at points in $S$. The kernel of this interpolation matrix gives degree $d$ equations of the image (provided the number of points in $S$ is at least the number of degree $d$ monomials). This technique circumvents the calculation of the kernel of the associated ring map.

In order to speed up computation, the list $S$ of points can be precomputed (see numericalImageSample). This list of points can then be re-used in multiple interpolation computations (which can yield a large speedup over performing separate sampling instances, if the ideal $I$ is not the zero ideal).

For a further speedup, the option UseSLP allows for the usage of straight-line programs in creating the interpolation matrix.

In the following, we compute the dimension of the space of quartics in the ideal of the twisted cubic and obtain the expected answer, $22$. Note that one can verify this by dimension counting: quartics in the coordinate ring pull back to forms of degree $12$ on $P^1$, of which there is a $13$-dimensional space; thus the space of quartics in the defining ideal has dimension $35 - 13 = 22$.

 i1 : R = CC[s,t] o1 = R o1 : PolynomialRing i2 : F = basis(3, R) -- warning: experimental computation over inexact field begun -- results not reliable (one warning given per session) o2 = | s3 s2t st2 t3 | 1 4 o2 : Matrix R <--- R i3 : numericalHilbertFunction(F, ideal 0_R, 4) Sampling image points ... -- used .0206623 seconds Creating interpolation matrix ... -- used .0616166 seconds Performing normalization preconditioning ... -- used .0118855 seconds Computing numerical kernel ... -- used .00207932 seconds o3 = a numerical interpolation table, indicating the space of degree 4 forms in the ideal of the image has dimension 22 o3 : NumericalInterpolationTable

The following example computes the dimension of Pl&uuml;cker quadrics in the defining ideal of the Grassmannian $Gr(2,4)$ of $P^1$'s in $P^3$, in the ambient space $P^5$.

 i4 : R = CC[x_(1,1)..x_(2,4)]; i5 : F = (minors(2, genericMatrix(R, 2, 4)))_*; i6 : S = numericalImageSample(F, ideal 0_R, 60); i7 : numericalHilbertFunction(F, ideal 0_R, S, 2, UseSLP => true) Creating interpolation matrix ... -- used .00442532 seconds Performing normalization preconditioning ... -- used .0140568 seconds Computing numerical kernel ... -- used .00163946 seconds o7 = a numerical interpolation table, indicating the space of degree 2 forms in the ideal of the image has dimension 1 o7 : NumericalInterpolationTable