# Hilbert Functions of Chopped Ideals

## Overview

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:

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:

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:

## 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$$.

Project page created: 10/07/2023

Project contributors: Fulvio Gesmundo, Leonie Kayser, Simon Telen

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