Hilbert Functions of Chopped Ideals


This page contains auxiliary code, data and visualizations to the paper:
Fulvio Gesmundo, Leonie Kayser, and Simon Telen. Hilbert Functions of Chopped Ideals
MIS-Preprint: 7/2023 arXiv: 2307.02560

Abstract. A chopped ideal is obtained from a homogeneous ideal by considering only the generators of a fixed degree. We investigate cases in which the chopped ideal defines the same finite set of points as the original one-dimensional ideal. The complexity of computing these points from the chopped ideal is governed by the Hilbert function and regularity. We conjecture values for these invariants and prove them in many cases. We show that our conjecture is of practical relevance for symmetric tensor decomposition.

On this page you can find the code and data used to prove Theorem 5.1 and the implementation of numerical symmetric tensor decomposition using eigenvalue methods in Julia. We also indicate how to verify and reproduce our computational claims. Additionally we show some visualizations for the case example of 18 points in the plane and of the saturation gaps.

18 points in the plane

We recall the setting of the paper. Let \(Z=\{z_1,\dots,z_r\}\subseteq \mathbb{P}^n\) be a general set of points, and \(d\geq 0\). We are interested in comparing the ideals \(I := I(Z)\) and \(I_{\langle d \rangle} := \langle I_d\rangle_S\), in particular, when the graded components coincide. This problem occurs somewhat naturally in the setting of “low rank” symmetric tensor decomposition, when only equations of a certain degree are readily availably.

The smallest interesting example occurs for \(r=18\) general points \(Z\) in the plane. In the tensor setting, this corresponds to a general rank \(18\) form of degree \(10\) in \(3\) variables.

loadPackage "Points"
I = randomPoints(2,18);
Ichop = ideal super basis(5,I);
I == Ichop
for t to 10 list {t, hilbertFunction(t,I), hilbertFunction(t,Ichop)}

The lowest nonzero component \(I_5\) is generated by \(\binom{5+2}{2} - 18 = 3\) quintics \(q_1,q_2,q_3\), here is a randomly generated example:

A rendering of three linearly independent quintics passing through 18 general points in the real plane.

These polynomials do not generate \(I\), indeed, there is a minimal generator in \(I_6\) is missing. The Hilbert functions of the two ideals are as follows:

The Hilbert functions of the ideal of 18 general points in the plane, and of the chopped ideal in degree 5. These functions agree except in degree 6 where the missing sextic lives.

Which generator of \(I_6\) is missing? Splitting the points in groups of \(9+9\), there is a unique cubic through each group. Their product spans a complement of \((I_{\langle 5 \rangle})_6\) in \(I_6\) (Proposition 3.1). Here is one such partition in the previous example:

Two cubic curves passing through 9 of the 18 points from before.

Verifying the conjecture - Thm. 5.1

To verify cases of the Expected Syzygy Conjecture you need Macaulay2 and the file ChoppedIdeals.m2. To test a specific case \((n,r)\) you can simply type

load "ChoppedIdeals.m2";
(n,r) = (2,31);
(Z,I) = testCase(n,r);

To verify our certificates download them from KEEPER (you can also select a subset or only specific files). Place the text files in a directory together with ChoppedIdeals.m2.

load "ChoppedIdeals.m2";
verifyDirectory "."

You may want to organize them in a different directory, then you have to replace "." in the previous line. You can also certify individual certificates, e.g. “d07_r0032.txt” using

verifyCertificate "d07_r0031.txt"

For details about the computation check the commented Macaulay2 code.

Numerical experiments with Julia

To test the numerical symmetric tensor application of chopped ideals download the Julia code Catalecticant.zip. Extract the files and follow the instructions in “examples.jl”, after loading the packages you can execute the example file line by line and follow along.

Visualizing the saturation gaps

The following diagrams show the saturation gaps for various numbers of general points. The case of 18 points in the plane is the gap \([5,7]\). Generally, a gap \([d,d+e_0]\) indicates that \(d\) is the lowest degree in which \(I(Z)\) has equations (also its Hilbert regularity) and \(e_0>0\) is minimal such that \((I_{\langle d \rangle})_{d+e_0} = I_{d+e_0}\). This is the interval in which the Hilbert function \(h_{S/I_{\langle d \rangle}}(t)\) will exceed \(h_{S/I}(t)\) in the case \(e_0>1\).

The expected saturation gaps for r at most 118 points in the plane. The expected saturation gaps for r at most 117 points in P3.

Project page created: 10/07/2023

Project contributors: Fulvio Gesmundo, Leonie Kayser, Simon Telen

Corresponding author of this page: Leonie Kayser, kayser@mis.mpg.de

Macaulay2 code written by: Leonie Kayser

Julia code written by: Simon Telen

Software used: Macaulay2 (v1.21), Julia (v1.8.3)

System setup used:

  • Macaulay2 (v1.21): MPI MiS Compute Server (4x 18-Core Intel Xeon E7-8867 v4 at 2.4 GHz, 3072 GB RAM)

  • Julia (v1.8.3): MacBook Pro with Intel Core i7 processor at 2.6 GHz, 16 GB RAM

License for code of this project page: MIT License (https://spdx.org/licenses/MIT.html)

License for all other content of this project page (text, images, …): CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Last updated 12/10/2023.