This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Numerical Hilbert functions for Macaulay2

Robert Krone
Abstract.

The NumericalHilbert package for Macaulay2 includes algorithms for computing local dual spaces of polynomial ideals, and related local combinatorial data about its scheme structure. These techniques are numerically stable, and can be used with floating point arithmetic over the complex numbers. They provide a viable alternative in this setting to purely symbolic methods such as standard bases. In particular, these methods can be used to compute initial ideals, local Hilbert functions and Hilbert regularity.

1. Introduction

Symbolic algorithms in algebraic geometry are well studied and can be very powerful, but for many applications they can also be ineffective. Many problems are most naturally phrased over the real or complex numbers, and the running times of symbolic algorithms may become impractical. There has been a recent push to develop numerical or symbol-numeric hybrid alternatives. These methods have already shown success in tackling problems in engineering and other fields [10], for example using homotopy tracking to quickly solve zero-dimensional polynomial systems [1], [5]. Numerical methods are good at computing information about varieties, and often do best when things are regular, but we would also like insight into schemes structure.

The Macaulay dual space is a tool that can be used to numerically compute local combinatorial information, such as multiplicity structure and Hilbert function, about a polynomial system at a particular point. In conjunction with other tools, this information can be used to recover scheme theoretic data about an ideal. First introduced in [6], for a thorough discussion we refer to [8]. The NumericalHilbert package for Macaulay2 [3] provides methods for both computing dual spaces and extracting information from them, implementing algorithms described in [9], [2] and [4]. These methods are designed to work using floating point arithmetic over the complex numbers, and are stable to numerical error.

Related existing software includes ApaTools by Zeng [11] and a Maple package of Mantzaflaris and Mourrain [7]. Both can compute multiplicity structure of an isolated solution to a polynomial system, while our package expands this functionality by including tools for computing on positive-dimensional varieties as well.

We will assume we have black-box methods for computing numerical rank, kernel or image of a matrix. In practice this can be done with singular value decomposition. Additionally we will assume access to a method that can approximately sample points from a variety, with any desired precision.

2. Dual space

Let R=[x1,,xn]R=\mathbb{C}[x_{1},\ldots,x_{n}] and let RdR_{d} denote the subspace of polynomials of degree at most dd. The truncated dual space is the vector-space dual D0d=(Rd)D^{d}_{0}=(R_{d})^{*}, i.e. the set of functionals RdR_{d}\to\mathbb{C}. The Macaulay dual space (or local dual space) of RR at the origin is

D0=d0D0d.D_{0}=\bigcup_{d\geq 0}D_{0}^{d}.

For each monomial xαRx^{\alpha}\in R, we define a monomial functional α\partial^{\alpha} by

α(βncβxβ)=cα.\partial^{\alpha}\left(\sum_{\beta\in\mathbb{N}^{n}}c_{\beta}x^{\beta}\right)=c_{\alpha}.

Note that these monomial functionals form a basis of D0D_{0}, and so its elements can be represented as “polynomials” in [1,,n]\mathbb{C}[\partial_{1},\ldots,\partial_{n}].

For an arbitrary point yny\in\mathbb{C}^{n} we can also define the dual space at yy, denoted DyD_{y}, by translating yy to the origin. The monomial functional yαDy\partial_{y}^{\alpha}\in D_{y} evaluates to 1 on i=1n(xiyi)αi\prod_{i=1}^{n}(x_{i}-y_{i})^{\alpha_{i}} and to 0 on all other monomials in x1y1,,xnynx_{1}-y_{1},\ldots,x_{n}-y_{n}. We will take our point of interest to be the origin without loss of generality, since we can make it so by a change of coordinates.

The classes PolySpace and DualSpace defined in the NAGtypes package are used to represent finite-dimensional subspaces of RR and DyD_{y} respectively. PolySpace stores a basis of the subspace, and DualSpace stores a basis and the base point yy. For convenience we express dual space elements as polynomials in RR by identifying α\partial^{\alpha} with xαx^{\alpha} although this is an abuse of notation.

For an ideal IRI\subset R there is a subspace of dual functionals D0[I]D0D_{0}[I]\subset D_{0} which is the orthogonal to II.

D0[I]={pD0p(f)=0 for all fI}.D_{0}[I]=\{p\in D_{0}\mid p(f)=0\text{ for all }f\in I\}.

We refer to D0[I]D_{0}[I] as the dual space of II, while the truncated dual space of II is D0d[I]=D0[I]D0dD_{0}^{d}[I]=D_{0}[I]\cap D_{0}^{d}.

The dual space of II exactly characterizes the local properties of II at the origin. To make this precise, let R0R_{0} denote the localization of RR at the maximal ideal x1,,xn\langle x_{1},\ldots,x_{n}\rangle. Expressing elements of R0R_{0} as power series, we can still evaluate them with functionals in D0D_{0} and so define D0[IR0]D_{0}[IR_{0}].

Proposition 1.

D0[I]D_{0}[I] satisfies the following

  • D0[I]=D0[IR0].D_{0}[I]=D_{0}[IR_{0}].

  • The orthogonal to D0[I]D_{0}[I] in R0R_{0} is exactly IR0IR_{0}.

Computing a basis for the dual space of II immediately provides useful combinatorial data about the local behavior of II at the origin. A consequence of the above proposition is that

dimD0[I]=dim(R0/IR0).\dim_{\mathbb{C}}D_{0}[I]=\dim_{\mathbb{C}}(R_{0}/IR_{0}).

Therefore if the origin is an isolated solution to the system described by II then its multiplicity is equal to dimD0[I]\dim_{\mathbb{C}}D_{0}[I].

There is a simple algorithm to compute the dual space of II truncated to degree dd from a generating set FF. A functional pD0dp\in D_{0}^{d} is in D0d[I]D_{0}^{d}[I] if and only if p(xαf)=0p(x^{\alpha}f)=0 for all fFf\in F and |α|d|\alpha|\leq d. Form a matrix with rows the coefficient vectors of each xαfx^{\alpha}f, including only the terms of degree d\leq d. The kernel of this matrix consists of the coefficient vectors of D0d[I]D_{0}^{d}[I]. For a full discussion of this algorithm we refer to [2].

The method truncatedDual computes a basis of the truncated dual of an ideal II at a point yy. If yy is known to be an isolated solution then zeroDimensionalDual can be used to compute a basis for the full dual space of II. The optional argument Strategy allows the user to specify which algorithm to use. Using Strategy => DZ will use the simple algorithm described above. However the default Strategy => BM is an implementation of an algorithm developed by Mourrain in [9], which generally has better asymptotic running time.

Example 2.

Let I=x12+x224,(x11)2[x1,x2]I=\langle x_{1}^{2}+x_{2}^{2}-4,(x_{1}-1)^{2}\rangle\subset\mathbb{C}[x_{1},x_{2}]. An approximate solution to the system is y=(1,1.7320508)y=(1,1.7320508).

i1 : needsPackage "NumericalHilbert";

i2 : R = CC[x_1,x_2];

i3 : I = ideal{x_1^2 + x_2^2 - 4, (x_1 - 1)^2}

             2    2       2
o3 = ideal (x  + x  - 4, x  - 2x  + 1)
             1    2       1     1

o3 : Ideal of R

i4 : y = point matrix{{1,1.7320508}};

i5 : zeroDimensionalDual(y, I)

o5 = | -1 .866025x_1-.5x_2 |

o5 : DualSpace

Here Dy[I]=span{1, 0.86602510.52}D_{y}[I]=\operatorname{span}\{-1,\ 0.866025\partial_{1}-0.5\partial_{2}\} has dimension 2, the multiplicity of the solution approximated by yy.

3. Computing Hilbert functions

If II is positive-dimensional at the point of interest, the dual space of II has infinite dimension and computing a basis is not possible. However truncated duals can always be computed, the dimensions of which correspond to values of the Hilbert function. We define the local Hilbert function of II at 0 to be

HIR0(d):=dimR0/(IR0+𝔪d+1)dimR0/(IR0+𝔪d)H_{IR_{0}}(d):=\dim_{\mathbb{C}}R_{0}/(IR_{0}+\mathfrak{m}^{d+1})-\dim_{\mathbb{C}}R_{0}/(IR_{0}+\mathfrak{m}^{d})

where 𝔪=x1,,xn\mathfrak{m}=\langle x_{1},\ldots,x_{n}\rangle, the maximal ideal at 0.

Proposition 3.

HIR0(d)=dimD0d[I]dimD0d1[I].H_{IR_{0}}(d)=\dim_{\mathbb{C}}D_{0}^{d}[I]-\dim_{\mathbb{C}}D_{0}^{d-1}[I].

The method hilbertFunction can be applied to a DualSpace to find its dimension in a particular degree or list of degrees.

Example 4.

Consider the cyclic 4-root system I=x1+x2+x3+x4,x1x2+x2x3+x3x4+x4x1,x1x2x3+x2x3x4+x3x4x1+x4x1x2,x1x2x3x41I=\langle x_{1}+x_{2}+x_{3}+x_{4},\ x_{1}x_{2}+x_{2}x_{3}+x_{3}x_{4}+x_{4}x_{1},\ x_{1}x_{2}x_{3}+x_{2}x_{3}x_{4}+x_{3}x_{4}x_{1}+x_{4}x_{1}x_{2},\ x_{1}x_{2}x_{3}x_{4}-1\rangle. It cuts out a curve in 4\mathbb{C}^{4} with several singular points including (1,1,1,1)(-1,1,1,-1). We obtain an approximation yy of this point with our numerical solver.

i6 : R = CC[x_1..x_4];

i7 : I = ideal {x_1 + x_2 + x_3 + x_4,
                x_1*x_2 + x_2*x_3 + x_3*x_4 + x_4*x_1,
                x_2*x_3*x_4 + x_1*x_3*x_4 + x_1*x_2*x_4 + x_1*x_2*x_3,
                x_1*x_2*x_3*x_4 - 1};

i8 : y = point matrix{{-1.00000000000002-3.43663806114685e-15*ii,
                        .999999999999981+1.03073641806016e-14*ii,
                        1.00000000000002-1.08861573140903e-14*ii,
                       -.999999999999984+3.31351409927520e-15*ii}};

i9 : D = truncatedDual(y, I, 6);

i10 : hilbertFunction({0,1,2,3,4,5,6}, D)

o10 = {1, 2, 1, 1, 1, 1, 1}

o10 : List

We see that values of HIRy(d)H_{IR_{y}}(d) for dd from 0 to 6 are 1,2,1,1,1,1,11,2,1,1,1,1,1. We might guess from this that the Hilbert function remains constant for all d2d\geq 2 but this can’t be verified from the information here so far.

For d>>0d>>0 the Hilbert function HIR0(d)H_{IR_{0}}(d) is polynomial in dd and this is called the Hilbert polynomial, HPIR0(d)HP_{IR_{0}}(d). If the Hilbert polynomial has degree rr, then IR0IR_{0} has dimension r+1r+1. The multiplicity of II at the origin is cr!cr! where cc is the lead coefficient of HPIR0HP_{IR_{0}}.

To compute the Hilbert polynomial of positive-dimensional IR0IR_{0} we use the dual space to compute the generators of the initial ideal of IR0IR_{0} using the algorithm described in [4]. Let \succeq be a graded monomial order on the monomial functional of D0D_{0}, and let \geq be the reverse order but on R0R_{0}, i.e. a graded local order on the monomials. The initial ideal of IR0IR_{0}, denoted inIR0\operatorname{in}_{\geq}IR_{0}, is the monomial ideal generated by the initial terms of elements of IR0IR_{0}. Similarly the initial dual space is inD0[I]\operatorname{in}_{\succeq}D_{0}[I] spanned by the initial terms of D0[I]D_{0}[I]. A monomial xαx^{\alpha} is in inIR0\operatorname{in}_{\geq}IR_{0} if and only if α\partial^{\alpha} is not in inD0[I]\operatorname{in}_{\succeq}D_{0}[I], or equivalently

inD0[I]=D0[inIR0].\operatorname{in}_{\succeq}D_{0}[I]=D_{0}[\operatorname{in}_{\geq}IR_{0}].

By observing the monomials missing from inD0[I]\operatorname{in}_{\succeq}D_{0}[I] we search for generators of inD0[I]\operatorname{in}_{\succeq}D_{0}[I]. The stopping criteria described in [4] makes this search exhaustive.

The method gCorners produces the generators of the initial ideal inIR0\operatorname{in}_{\geq}IR_{0}. Similarly sCorners produces a list of the maximal monomials not in inIR0\operatorname{in}_{\geq}IR_{0}. To compute the Hilbert polynomial of IR0IR_{0} we can use the existing method hilbertPolynomial on the monomial ideal generated by the output of gCorners. The method localHilbertRegularity computes the degree dd at which the Hilbert function and Hilbert polynomial agree.

Example 5.

We continue with the cyclic 4-root system from Example 4. We omit intermediate output for readability.

i11 : G = gCorners(y, I)

o11 = | x_4 x_3 x_2^2 x_1x_2 |

              1       4
o11 : Matrix R  <--- R

i12 : hilbertPolynomial(monomialIdeal G, Projective=>false)

o12 = 1

o12 : QQ[i]

The generators of the initial ideal inIR0\operatorname{in}_{\geq}IR_{0} are {x4,x3,x22,x1x2}\{x_{4},x_{3},x_{2}^{2},x_{1}x_{2}\}. The Hilbert function of an ideal and its initial ideal agree. The Hilbert polynomial of a monomial ideal such as inIR0\operatorname{in}_{\geq}IR_{0} is simple to compute and here we see it is HPIR0(d)=1HP_{IR_{0}}(d)=1. Since the Hilbert polynomial has degree 0, the local dimension of II at yy is 1. The multiplicity is also 1.

i13 : localHilbertRegularity(y, I)

o13 = 2

The regularity of the Hilbert function is d=2d=2. This confirms that HIRy(d)=1H_{IR_{y}}(d)=1 for all d2d\geq 2. We have now completely described the local Hilbert function of II at yy.

References

  • [1] Daniel J Bates, Jonathan D Hauenstein, Andrew J Sommese, and Charles W Wampler. Bertini: Software for numerical algebraic geometry. Available at www.nd.edu/~sommese/bertini, 2006.
  • [2] Barry H Dayton and Zhonggang Zeng. Computing the multiplicity structure in solving polynomial systems. In International Symposium on Symbolic and Algebraic Computation, pages 116–123. ACM, 2005.
  • [3] Daniel R. Grayson and Michael E. Stillman. Macaulay2, a software system for research in algebraic geometry. Available at www.math.uiuc.edu/Macaulay2/.
  • [4] Robert Krone. Numerical algorithms for dual bases of positive-dimensional ideals. Journal of Algebra and Its Applications, 12(06):1350018, 2013.
  • [5] Anton Leykin. Numerical algebraic geometry. Journal of Software for Algebra and Geometry, 3:5–10, 2011.
  • [6] Francis Sowerby Macaulay. The algebraic theory of modular systems. Cambridge University Press, 1916.
  • [7] Angelos Mantzaflaris and Bernard Mourrain. Deflation and certified isolation of singular zeros of polynomial systems. In Proceedings of the 36th international symposium on Symbolic and algebraic computation, pages 249–256. ACM, 2011.
  • [8] M Marinari, H Möller, and T Mora. On multiplicities in polynomial system solving. Transactions of the American Mathematical Society, 348(8):3283–3321, 1996.
  • [9] B. Mourrain. Isolated points, duality and residues. J. Pure Appl. Algebra, 117/118:469–493, 1997. Algorithms for algebra (Eindhoven, 1996).
  • [10] Andrew J. Sommese and Charles W. Wampler, II. The numerical solution of systems of polynomials. World Scientific Publishing Co. Pte. Ltd., Hackensack, NJ, 2005.
  • [11] Zhonggang Zeng. Apatools: a software toolbox for approximate polynomial algebra. In Software for Algebraic Geometry, pages 149–167. Springer, 2008.