CoCoA code for <i>Plane Curves containing star configurations</i>

Adam Van Tuyl

Department of Mathematics and Statistics
McMaster University
Hamilton, ON, Canada
L8S 4L8
vantuyl@math.mcmaster.ca

CoCoA code for Plane curves containing star configurations

In the paper

we study the following problem. For each nonnegative integer d, we want to compute the dimension of the family of curves of degree d that contain a star configuration.

In Section 2 of the paper (see Remark 2.7), we describe a method to compute the dimension of this family of curves. This remark is used in the proof of Theorems 2.9 and 3.1 to justify that the dimension of the family of curves of degree that contain a star configuration is a particular value. As promised in the paper, we provide the CoCoA code that we used to verify these three results.

Feel free to borrow and adapt the code.

CoCoA code

The following code has been checked on CoCoA 4.7.5.

The first example takes care of Theorem 2.9 dealing with the Luroth quartics.


  -------------------------------------------
  -- Computed Examples For paper:
  -- "The locus of star configurations"
  -- Carlini-Guardo-Van Tuyl
  -------------------------------------------

  ---------------------------------------------
  -- LUROTH EXAMPLE of Theorem 2.9
  -- (d,l) = (4,5)
  -- ------------------------------------------

Use S::=QQ[x[1..3]];
L1:=x[1];
L2:=x[2];
L3:=x[3];
L4:=x[1]+x[2]+x[3];
L5:=x[1]+2*x[2]+3*x[3];

LH1:=L2*L3*L4*L5;
LH2:=L1*L3*L4*L5;
LH3:=L1*L2*L4*L5;
LH4:=L1*L2*L3*L5;
LH5:=L1*L2*L3*L4;
Q1:=L3*L4*L5+L2*L4*L5+L2*L3*L5+L2*L3*L4;
Q2:=L3*L4*L5+L1*L4*L5+L1*L3*L5+L1*L3*L4;
Q3:=L2*L4*L5+L1*L4*L5+L1*L2*L5+L1*L2*L4;
Q4:=L2*L3*L5+L1*L3*L5+L1*L2*L5+L1*L2*L3;
Q5:=L2*L3*L4+L1*L3*L4+L1*L2*L4+L1*L2*L3;
I:=Ideal(LH1,LH2,LH3,LH4,LH5,Q1,Q2,Q3,Q4,Q5);
-- Compute (dim I_d) -1 
H:=Hilbert(S/I);
Bin(4+2,2)- EvalHilbertFn(H,4)-1;

13
-------------------------------
We now look at two special cases of the star configuration of points in P2 made from six general lines. These proves two special cases of Theorem 3.1. We verify both cases in two different ways. The first way makes use of Remark 2.7. The second way is to compute the rank of the evaluation matrix.


----------------------------
-- (d,l) = (5,6)
----------------------------

Use S::=QQ[x[1..3]];
L1:=x[1];
L2:=x[2];
L3:=x[3];
L4:=x[1]+x[2]+x[3];
L5:=x[1]+2*x[2]+3*x[3];
L6:=x[1]+3*x[2]+10*x[3];

LH1:=L2*L3*L4*L5*L6;
LH2:=L1*L3*L4*L5*L6;
LH3:=L1*L2*L4*L5*L6;
LH4:=L1*L2*L3*L5*L6;
LH5:=L1*L2*L3*L4*L6;
LH6:=L1*L2*L3*L4*L5;
Q1:=L3*L4*L5*L6+L2*L4*L5*L6+L2*L3*L5*L6+L2*L3*L4*L6+L2*L3*L4*L5;
Q2:=L3*L4*L5*L6+L1*L4*L5*L6+L1*L3*L5*L6+L1*L3*L4*L6+L1*L3*L4*L5;
Q3:=L2*L4*L5*L6+L1*L4*L5*L6+L1*L2*L5*L6+L1*L2*L4*L6+L1*L2*L4*L5;
Q4:=L2*L3*L5*L6+L1*L3*L5*L6+L1*L2*L5*L6+L1*L2*L3*L6+L1*L2*L3*L5;
Q5:=L2*L3*L4*L6+L1*L3*L4*L6+L1*L2*L4*L6+L1*L2*L3*L6+L1*L2*L3*L4;
Q6:=L2*L3*L4*L5+L1*L3*L4*L5+L1*L2*L4*L5+L1*L2*L3*L5+L1*L2*L3*L4;
I:=Ideal(LH1,LH2,LH3,LH4,LH5,LH6,Q1,Q2,Q3,Q4,Q5,Q6);
Hilbert(S/I);
-- Compute (dim I_d) -1 
H:=Hilbert(S/I);
Bin(5+2,2)- EvalHilbertFn(H,5)-1;

17
-------------------------------

------------------------------------------
-- (d,l) = (5,6) Using the matrix approach
------------------------------------------

C1:=L2*Q4;
C2:=L1*Q4;
C3:=L3*Q5;
C4:=L2*Q5;
C5:=L1*Q6;
C6:=L3*Q6;
C7:=L6*Q1;
C8:=L3*Q2;
C9:=L6*Q2;
C10:=L6*Q3;
C11:= L4*Q3;
C12:= L5*Q1;

P12:=[0,0,1];
P13:=[0,1,0];
P14:=[0,1,-1];
P15:=[0,3,-2];
P16:=[0,10,-3];
P23:=[1,0,0];
P24:=[1,0,-1];
P25:=[3,0,-1];
P26:=[10,0,-1];
P34:=[1,-1,0];
P35:=[2,-1,0];
P36:=[3,-1,0];
P45:=[1,-2,1];
P46:=[7,-9,2];
P56:=[11,-7,1];

C:=[C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12];

M1:=[Eval(T,P14) | T In C];
M2:=[Eval(T,P24) | T In C];
M3:=[Eval(T,P25) | T In C];
M4:=[Eval(T,P35) | T In C];
M5:=[Eval(T,P36) | T In C];
M6:=[Eval(T,P16) | T In C];
M7:=[Eval(T,P15) | T In C];
M8:=[Eval(T,P26) | T In C];
M9:=[Eval(T,P23) | T In C];
M10:=[Eval(T,P34) | T In C];
M11:=[Eval(T,P46) | T In C];
M12:=[Eval(T,P12) | T In C];

M:=Mat([M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12]);
Rank(M);

12
-------------------------------

---------------------------------
-- (d,l) = (6,6) Using Remark 2.7
---------------------------------

Use S::=QQ[x[1..3]];
L1:=x[1];
L2:=x[2];
L3:=x[3];
L4:=x[1]+x[2]+x[3];
L5:=x[1]+2*x[2]+3*x[3];
L6:=x[1]+3*x[2]+10*x[3];

L:=4*x[1]+18*x[2]-12*x[3];

LH1:=L2*L3*L4*L5*L6;
LH2:=L1*L3*L4*L5*L6;
LH3:=L1*L2*L4*L5*L6;
LH4:=L1*L2*L3*L5*L6;
LH5:=L1*L2*L3*L4*L6;
LH6:=L1*L2*L3*L4*L5;
Q1:=L*(L3*L4*L5*L6+L2*L4*L5*L6+L2*L3*L5*L6+L2*L3*L4*L6+L2*L3*L4*L5);
Q2:=L*(L3*L4*L5*L6+L1*L4*L5*L6+L1*L3*L5*L6+L1*L3*L4*L6+L1*L3*L4*L5);
Q3:=L*(L2*L4*L5*L6+L1*L4*L5*L6+L1*L2*L5*L6+L1*L2*L4*L6+L1*L2*L4*L5);
Q4:=L*(L2*L3*L5*L6+L1*L3*L5*L6+L1*L2*L5*L6+L1*L2*L3*L6+L1*L2*L3*L5);
Q5:=L*(L2*L3*L4*L6+L1*L3*L4*L6+L1*L2*L4*L6+L1*L2*L3*L6+L1*L2*L3*L4);
Q6:=L*(L2*L3*L4*L5+L1*L3*L4*L5+L1*L2*L4*L5+L1*L2*L3*L5+L1*L2*L3*L4);
I:=Ideal(LH1,LH2,LH3,LH4,LH5,LH6,Q1,Q2,Q3,Q4,Q5,Q6);
Hilbert(S/I);
-- Compute (dim I_d) -1 
H:=Hilbert(S/I);
Bin(6+2,2)- EvalHilbertFn(H,6)-1;

24
-------------------------------

------------------------------------------
-- (d,l) = (6,6) Using the matrix approach
------------------------------------------

C1:=L2*Q4;
C2:=L1*Q4;
C3:=L3*Q5;
C4:=L2*Q5;
C5:=L1*Q6;
C6:=L3*Q6;
C7:=L6*Q1;
C8:=L3*Q2;
C9:=L6*Q2;
C10:=L6*Q3;
C11:= L4*Q3;
C12:= L5*Q1;

P12:=[0,0,1];
P13:=[0,1,0];
P14:=[0,1,-1];
P15:=[0,3,-2];
P16:=[0,10,-3];
P23:=[1,0,0];
P24:=[1,0,-1];
P25:=[3,0,-1];
P26:=[10,0,-1];
P34:=[1,-1,0];
P35:=[2,-1,0];
P36:=[3,-1,0];
P45:=[1,-2,1];
P46:=[7,-9,2];
P56:=[11,-7,1];

C:=[C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12];

M1:=[Eval(T,P14) | T In C];
M2:=[Eval(T,P24) | T In C];
M3:=[Eval(T,P25) | T In C];
M4:=[Eval(T,P35) | T In C];
M5:=[Eval(T,P36) | T In C];
M6:=[Eval(T,P16) | T In C];
M7:=[Eval(T,P15) | T In C];
M8:=[Eval(T,P26) | T In C];
M9:=[Eval(T,P23) | T In C];
M10:=[Eval(T,P34) | T In C];
M11:=[Eval(T,P46) | T In C];
M12:=[Eval(T,P12) | T In C];

M:=Mat([M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12]);
Rank(M);

12
-------------------------------


Last Updated: May 12, 2015
URL: http://ms.mcmaster.ca/~vantuyl/research/PlaneCurvesStarConfig_CGVT.html