Skip to content

katufurukawa/ProlongationKernels

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

This is a Macaulay2 package based on a combinatorial algorithm of the paper arXiv:2410.00652 to determine the linear space $Ik+1$ of homogeneous polynomials of $I$ of degree $k+1$ for the ideal $I := I(σ_k(v_d(\mathbb{P}^n)))$ of the $k$-secant variety of the $d$-uple Veronese embedding $v_d: \mathbb{P}^n → \mathbb{P}^N$ with $N = \binom{n+d}{n}-1$, where the space is the first non-trivial degree piece of $I$ and is obtained as the kernel of the map associated with prolongation.

The following examples demonstrate basic usage, with more available in examples.m2.

To use this package, first run:

load "ProlongationKernels.m2"

Then, it provides the following three functions:

  • prolongationKernelOfVeroneseEmb
  • ringVeroneseWeight
  • runProlongationProcedure

Tested on: Macaulay2, version 1.25.11 (Intel Core i7-1260P @ 4.7 GHz, 64 GB RAM).

Prolongation kernel of a Veronese Embedding

For $(k,d,n) = (4,3,3)$, we can determine the dimension of the prolongation kernel $I_5$ and also obtain the exact $36$ generators of the space.

-- s_4v_4P^3: dP4

result = prolongationKernelOfVeroneseEmb(
    4,3,3, -- k,d,n
    ReturnGenerators => true,
    Parallel => true,
    Verbose => false
    );

keys(result)

result#dimInfo

runProlongationProcedure

We can output all intermediate steps of the procedure, which is useful for both manual verification and understanding how the algorithm works. Setting $(k,d,n) = (3,3,2)$ and taking the weight $(4,4,4)$ yields a defining polynomial known as the classical Aronhold invariant.

-- s_3v_3P^2: Aronhold invariant

R = ringVeroneseWeight(3,2) -- d, n
wt = {4,4,4} -- target weight: sum of wt = d*(k+1)

result = runProlongationProcedure(
    R, wt,
    InitialVariables => {}, -- you can put some monomial, e.g., s_(0,0,3)*s_(0,2,1)*s_(2,1,0)^2
    ReturnGenerators => true,
    ReturnSteps => true
    );

keys(result)

result#generators#0 -- Aronhold invariant

result#steps

About

A combinatorial procedure for computing prolongation kernels

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors