Adam Van TuylDepartment of Mathematics and StatisticsMcMaster University Hamilton, ON, Canada L8S 4L8 vantuyl@math.mcmaster.ca |
CoCoA code for Star configurations on generic hypersurfaces |
In the paper
-
Star configurations on generic hypersurfaces. (with E. Carlini and
E. Guardo)
Journal of Algebra 407 (2014) 1--20.
In Section 4 of the paper (see Remark 4.4), we describe an effective way to test if a given hypersurface contains a star configuration.
This remark is used in the proof of Theorem 5.1 to justify the existence of a star configuration of type X(5) on the generic hypersurfaces of degree 3 and 4 in P3. As promised in the paper, we provide the CoCoA code that we used to verify Theorem 5.1 for these two cases.
Feel free to borrow and adapt the code.
CoCoA code
The following code has been checked on CoCoA 4.5.
------------------------------------------- -- Computed Examples For paper: -- "Star Configurations On Generic Hypersurfaces" -- Carlini-Guardo-Van Tuyl ------------------------------------------- Use S::=Q[w,x,y,z]; ------------------------------------------- -- Case: n=3, l = n+2 =5, d = 3 ------------------------------------------- --- 5 linear forms, And the generators of the -- star configuration ideal -- LL the elements of the form L_i*L_j*L_k with i =/= j =/=k -- over all linear forms In FF, i.e., the generators of the -- star configuration FF:=[x,y,z,w,x+y+z+w]; LL:=[]; For K1:=1 To 3 Do For K2:=K1+1 To 4 Do For K3:= K2+1 To 5 Do Append(LL,FF[K1]*FF[K2]*FF[K3]); EndFor; EndFor; EndFor; -- Construction of the Q_i's FF1:=Diff(FF,[FF[1]]); Q1:=[]; For K1:=1 To 3 Do For K2:=K1+1 To 4 Do Append(Q1,FF1[K1]*FF1[K2]); EndFor; EndFor; FF2:=Diff(FF,[FF[2]]); Q2:=[]; For K1:=1 To 3 Do For K2:=K1+1 To 4 Do Append(Q2,FF2[K1]*FF2[K2]); EndFor; EndFor; FF3:=Diff(FF,[FF[3]]); Q3:=[]; For K1:=1 To 3 Do For K2:=K1+1 To 4 Do Append(Q3,FF3[K1]*FF3[K2]); EndFor; EndFor; FF4:=Diff(FF,[FF[4]]); Q4:=[]; For K1:=1 To 3 Do For K2:=K1+1 To 4 Do Append(Q4,FF4[K1]*FF4[K2]); EndFor; EndFor; FF5:=Diff(FF,[FF[5]]); Q5:=[]; For K1:=1 To 3 Do For K2:=K1+1 To 4 Do Append(Q5,FF5[K1]*FF5[K2]); EndFor; EndFor; -------------------------------------------------- -- Choice of the M_i's (When d =3, so deg M_i =0) -------------------------------------------------- -- Set each M_{ijk} = 1, so each Q_i is simply the sum of -- products of the form L_j*L_k with j,k =/= i -- Ideal of Lemma 4.3 I:=Ideal(LL)+Ideal(Sum(Q1),Sum(Q2),Sum(Q3),Sum(Q4),Sum(Q5)); -- Computation of the Hilbert Function Hilbert(S/I,3); -- Output is 0, so I_3 = S_3, so we have an affirmative answer -- In this case. -------------------------------------------------- -- Choice of the M_i's (When d = 4, so deg M_i =1) -------------------------------------------------- -- Set each M_{ijk} To the same linear form that does Not -- pass through any of the points. M:=-w+3x+y+4z; -- So each Q_i is simply the sum of -- products of the form L_j*L_k with j,k =/= i multiplied by -- this linear form M -- Ideal of Lemma 4.3 I:=Ideal(LL)+Ideal(M*Sum(Q1),M*Sum(Q2),M*Sum(Q3),M*Sum(Q4),M*Sum(Q5)); -- Computation of the Hilbert Function Hilbert(S/I,4); -- So, I_4 = S_4, so result holds by Lemma 4.3. |