Numerically verify that a set of thirteen points is not on an integral quintic curve of genus one
The ideal of thirteen general points in complex projective 3-space is defined by seven cubics, with 6 minimal syzygies of degree 4 and 3 of degree 5, and 3 second syzygies of degree 6. If the thirteen points are on an integral quintic curve of genus one, then there will be a second syzygy of degree 5; the point of Algorithm 2 in Section 6 of our paper is that we can guarantee that a collection of thirteen points does not lie on an integral quintic curve of genus one if its ideal does not have a second syzygy of degree 5. The following code showcases this result numerically. In order to produce second syzygies, we use the functions in NumericalSyzygies . These routines use singular value decomposition and a user-defined tolerance on singular values to produce syzygies of a fixed degree using only linear algebra.
Load functions to verify maximal Kruskal ranks
Click the "Evaluate" button below to define the functions in the file MaximalKruskalRanks .
Load functions to compute Numerical Syzygies
Click the "Evaluate" button below to define the functions in the file NumericalSyzygies .
Compute numerical syzygies of a general ideal of points
The following code generates a list of thirdteen points randomly in complex projective three-space. We verify numerically that there is no second syzygy of degree 5 on the ideal of these points.
Next we get the cubic polynomials that vanish at these points.
For a reality check, let's verify that the polynomials in CUBS indeed vanish at the points in POINTS.
The following code produces the linear syzygies on these cubics (numerically, up to the tolerance set by "tol"). There should be six linear syzygies, recorded as the columns of a 7x6 matrix, as expected for a collection of 13 general points.
As a reality check, we verify that the columns of SYZ1 are indeed syzygies on PolyList.
The following code produces the linear syzygies on the matrix SYZ1 (numerically, up to the tolerance set by "tol"). These are the second syzygies of degree 5. For a general set of thirteen points, there will not be any such syzygies. Adjusting the tolerance to a larger value should have little effect here, even if we set the tolerance as high as `tol=1'.
Compute numerical syzygies of an ideal of points on an elliptic quintic curve
The following line records a list of points that have been sampled from an elliptic quintic curve using Bertini (here are Bertini input and output files we used to obtain these points). We verify numerically that there is a second syzygy of degree 5 on the ideal of these points.
Let's verify that these points have maximal Kruskal ranks.
The equations defining the integral quintic curve of genus 1 from which we sampled the points is defined by the polynomials below. We verify that the given points do in fact lie on this curve.
That the given cubics actually define a smooth quintic curve of genus one can be verified in this Macaulay2 tutorial .
Next, we get the cubic polynomials that vanish at these points.
For a reality check, let's verify that the polynomials in CUBS indeed vanish at the points in POINTS.
The following code produces the linear syzygies on these cubics (numerically, up to the tolerance set by "tol"). This should be 7x6 matrix whose columns are the linear syzygies, the same as it is for a general set of points.
As a reality check, we verify that the columns of SYZ1 are indeed syzygies on PolyList.
The following code produces the linear syzygies on the matrix SYZ1 (numerically, up to the tolerance set by "tol"). These are the second syzygies of degree 5. For a general set of thirteen points, there will not be any such syzygies. This is a bit sensitive to the chosen tolerance, but setting `tol=10^(-11)' should work.
As a reality check, we verify that the columns of SYZ2 are indeed syzygies on the columns of SYZ1.