1. Gauss-Manin connection of a family of surface with Hodge numbers 1 8 1

The following family of K3 surfaces has been studied by A. Clingher, C. F. Doran.  I work in the affine coordinates z=1. A generic member of the family is singular and so I made a new parameter and add -s to the affine equation. Now, the affine part of a generic fiber is smooth and we can compute the Gauss-Manin connection. Its de Rham cohomology is of dimension 10.
A basis of the de Rham cohomology is given by m dxdydz/df, where m ranges in the monomials
                                            xw3,xw2,w3,xy,xw,w2,y,x,w,1

The Gauss-Manin connection in this basis is of the form
                                            1/discriminant (A da+Bdb+Cdc+Ddd+Sds)
Here da is the differential of a and so on.  You may regard dp as the derivative of p with respect to a parameter t if all a,b,c, d and s are functions in t. The result is
                                              
discriminantA, B, C ,D, S
In my computer all four derivations were makinng the memory full. Therefore, I had to calculate each A, B,C,D and S separately, go out of  Singular (to make the memory free of previous calculations) and then run the next derivation.  Therefore, these lines did not work. Here also some other  calculations where I did before having the above calculations. 

A NICE OBSERVATION: The connection has singularity neither in s=0 nor c=0. But its singular locus crosses (s,c)=(0,0).
This means that in general we cannot substitute (s,c)=(0,0). If we set first s=0 then the resulting system has poles in c=0. But if we put first c=0, surprisingly the resulting system with ds=0 has no poles at s=0 (s is canclelled from the denominator and nominator). A typical example of this situation is (s^2+sc+c)/(s^2+c^2).


//Calculating A_a
LIB "linalg.lib";
LIB "foliation.lib";
ring r=(0,a,b,c,d,s),(x,y,w),wp(8,9,6);// For s=0 the family is singular
poly f=y^2*w-4*x^3+3*a*x*w^2+b*w^3+c*x*w-(1/2)*(d*w^2+w^4);
number disc=discriminant(f-s);
//disc is divisible by s^5
disc=disc/s^4;//We keep one s in the discriminant
matrix et1=etaof(f-s, disc, s)[2];
list aabb=infoof(f-s, disc, et1);
list GM;
matrix gmmat[10][10];
for (int i=1;i<=10;i=i+1)
{
GM=gaussmaninvf(f-s,gen(1), poly(aabb[7][i]), aabb);
//For other parameters use gen(2),gen(3) and gen(4);
GM[1]*disc;
gmmat[i,1..10]=linear(f-s, GM[2],aabb)[1];
}
write(":w gaussmanink3_a_s.txt", gmmat);
matrix gmmat1=substpar(gmmat/s,s,0);
write(":w gaussmanink3_a.txt", gmmat1);


2. Reading the data of the previous paragraph:


We bring the data of the previous paragraph in Singular format:
 

LIB "linalg.lib";
LIB "foliation.lib";
ring r=(0,a,b,c,d,s, p(1..5),t),(x,y,w),wp(8,9,6);// parameters and their derivatives. t will be used when we restrict to one parameter locus.
poly f=y^2*w-4*x^3+3*a*x*w^2+b*w^3+c*x*w-(1/2)*(d*w^2+w^4);
number disc=discriminant(f-s);
//disc is divisible by s^5
disc=disc/s^4;//We keep one s in the discriminant
matrix et1=etaof(f-s, disc, s)[2];
list aabb=infoof(f-s, disc, et1);


matrix GM_s[10][10];//The Gauss-Manin connections considering a,b,c,d as dependent parameters with derivatives da,db,dc,dd, respectively.
matrix gmmat[10][10];
list gaussmanink3_names="gaussmanink3_a_s.txt", "gaussmanink3_b_s.txt", "gaussmanink3_c_s.txt","gaussmanink3_d_s.txt", "gaussmanink3_s_s.txt";
list GMlist;
int i;
number discriminantk3_s;
string sss;
sss="discriminantk3_s="+read("discriminantk3_s.txt")+";";
execute(sss);

for (i=1;i<=5;i=i+1)
{
sss="gmmat="+read(gaussmanink3_names[i])+";";
execute(sss);
GMlist=insert(GMlist,gmmat, size(GMlist));
GM_s=GM_s+gmmat*p(i);
}








3. The procedure LinearRelations for dealing with singular tame polynomial


If s tends to zero then the family of surfaces becomes singular but we have still a 10 dimensional vector space V. There is a subspace of V
such that its projection into the actual second de Rham cohomology  of the surface is zero.  The procedure LinearRelations from foliation.lib calculates this subspace.


4. The Gauss-Manin connection of M-polarized (rank 18, c=0) K3 surfaces:



//---We first run the commands in paragraph 2---------------------
list gml=GMlist[1],GMlist[2],GMlist[4];
for (i=1;i<=3;i=i+1)
{
gml[i]=substpar(gml[i],c,0); gml[i]=substpar(gml[i]/s^2,s,0);
}
number discriminantk3=number(substpar(discriminantk3_s,c,0));
discriminantk3=number(substpar(discriminantk3/s^2,s,0));
 
//Writing the 5*5 system
f=substpar(f,c,0);
list AA=LinearRelations(f);

//--To write the linear relations in the article
list simAA; for (i=1;i<=5;i=i+1){simAA=insert(simAA, AA[i]/content(AA[i]),size(simAA));}

matrix S[10][10];
S[1,10]=1; S[2,9]=1; S[3,6]=1; S[4,3]=1;
//list mon=1, w, w^2, w^3;
for (i=1;i<=6;i=i+1)
{
S[4+i,1..10]=cleardenommat(linear(f, AA[i],aabb)[1])[2];
}
det(S);
list ngml;
list palist=a,b,d;
matrix Sinv=inverse(S);
for (i=1;i<=3;i=i+1)
{
gmmat=gml[i];
gmmat=(discriminantk3*diffpar(S,palist[i])+S*gmmat)*Sinv;
ngml=insert(ngml, gmmat, size(ngml));
print(ngml[i]);
}
for (i=1;i<=3;i=i+1)
{
ngml[i]=submat(ngml[i],1..4,1..4);
}




//Verifying 22 and 23 of Clingher-Doran-Lewis-Whitcher
number disc=number(substpar(discriminantk3,a,1));
matrix Gb=substpar(ngml[2],a,1); //derivation with respect to b
matrix Gd=substpar(ngml[3],a,1); //derivation with respect to d

poly disc_b=diffpar(disc,b);
poly disc_d=diffpar(disc,d);
matrix Gbb=disc*(diffpar(Gb,b))-(disc_b)*Gb+(Gb*Gb);
matrix Gdd=disc*(diffpar(Gd,d))-(disc_d)*Gd+(Gd*Gd);
matrix Gbd=disc*(diffpar(Gb,d))-(disc_d)*Gb+(Gb*Gd);
matrix Gdb=disc*(diffpar(Gd,b))-(disc_b)*Gd+(Gd*Gb);
// Check the integrability
print(Gbd-Gdb);
// Differential equations 23 and 23
matrix g2=Gbb-(4*d)*Gdd-(4*disc)*Gd;
print(g2);
matrix Id[4][4]; for (i=1;i<=4;i=i+1){Id[i,i]=1;}
matrix g3=(-1+b^2+d)*Gbb+(2*b*disc)*Gb+(4*b*d)*Gbd+(2*d*disc)*Gd+((5/36)*disc^2)*Id;
print(g3);



//-Calculating the PF equation---
matrix pa[1][3]= (16 + t)*(256 + t), (-512 + t)*(-8 + t)*(64 + t), 2985984*t^3;
// matrix pa[1][3]= (t^2+246*t+729)*(t+27)^2, (t^2-486*t-19683)*(t^2+18*t-27)*(t+27)^2, 2^(12)*(3^6)*t^4*(t+27)^4;
// matrix pa[1][3]= (t+6)*(t+12)*(t^3+18*t^2+84*t+24)*(t^3+252*t^2+(2^4)*(3^5)*t+(2^6)*(3^5)), (t^2+12*t+24)*(t^2+36*t+216)*(-t^4+504*t^3+13824*t^2+12441*t+373248)*(t^4+24*t^3+192*t^2+504*t-72), 2985984*t^7*(t+8)^5*(t+9)^5;
matrix dpa[1][3]; //the derivation of parameters;
for (i=1;i<=3;i=i+1)
{
dpa[1,i]=diffpar(pa[1,i], t);
}
list lpar=a,b,d;
matrix sys[4][4];
matrix hel[4][4];
int j;
poly disc_t=discriminantk3;
for (j=1;j<=3;j=j+1)
{
hel=ngml[j];
for (i=1;i<=3;i=i+1)
{
hel=substpar(hel,lpar[i],pa[1,i]);
}
sys=sys+ dpa[1,j]*hel;
disc_t=substpar(disc_t,lpar[j],pa[1,j]);
}
sys=sys/disc_t;
matrix BB[1][4]; BB[1,1]=1;
matrix pf=sysdif(sys,BB,t);


5A. The Gauss-Manin connection of N-polarized (rank 17, c<>0) K3 surfaces: Calculating the 5times 5 system with the presence of the holomorphic two form:

We calculate the Gauss-Manin connection in the basis m dxdydw, where m runs through
                                                   1, w, w^2, w^3, xw
The result is      
                                            1/discriminant (A da+Bdb+Cdc+Ddd)
Here da is the differential of a and so on.  You may regard dp as the derivative of p with respect to a parameter t if all a,b,c, d are functions in t.


//we run first the commands in paragraph 2.

list AA=LinearRelations(f);
list simAA; for (i=1;i<=5;i=i+1){simAA=insert(simAA, AA[i]/content(AA[i]),size(simAA));}
matrix S[10][10];
S[1,10]=1; S[2,9]=1; S[3,6]=1; S[4,3]=1; S[5,5]=1;
//list mon=1, w, w^2, w^3, xw;
for (i=1;i<=5;i=i+1)
{
S[5+i,1..10]=cleardenommat(linear(f, AA[i],aabb)[1])[2];
}
det(S);

list newGMlist;
list palist=a,b,c,d;
poly disc1=substpar(discriminantk3_s/s,s,0);
matrix Sinv=inverse(S);
for (i=1;i<=4;i=i+1)
{
gmmat=GMlist[i];
gmmat=substpar(gmmat/s,s,0);
gmmat=(disc1*diffpar(S,palist[i])+S*gmmat)*Sinv;
newGMlist=insert(newGMlist, gmmat, size(newGMlist));
print(newGMlist[i]);
}
list ngml;
for (i=1;i<=4;i=i+1)
{
ngml=insert(ngml,submat(newGMlist[i],1..5,1..5), size(ngml));
}

disc1=disc1/c^5;
for (i=1;i<=4;i=i+1)
{
ngml[i]=ngml[i]/c^5; print(ngml[i]);
}

write(":w discriminant5t5.txt", disc1);
write(":w derAa5t5.txt", ngml[1]);
write(":w derAb5t5.txt", ngml[2]);
write(":w derAc5t5.txt", ngml[3]); 
write(":w derAd5t5.txt", ngml[4]);

5B. The Gauss-Manin connection of N-polarized (rank 17, c<>0) K3 surfaces: Reading the data of 5*5 connection obtained in the previous paragraph:

//We just need the files derAa5t5.txt and ..... for running the commands in this paragraph.
LIB "linalg.lib";
LIB "foliation.lib";
ring r=(0,a,b,c,d,s, p(1..5),t),(x,y,w),wp(8,9,6);// parameters and their derivatives.

list gaussmanink3_names="derAa5t5.txt", "derAb5t5.txt", "derAc5t5.txt","derAd5t5.txt";
list ngml;
int i;
number disc1;
string sss;
sss="disc1="+read("discriminant5t5.txt")+";";
execute(sss);
matrix gmmat[5][5];

for (i=1;i<=4;i=i+1)
{
sss="gmmat="+read(gaussmanink3_names[i])+";";
execute(sss);
ngml=insert(ngml,gmmat, size(ngml));
}
//----until now just reading the data----------------------



5C. The Gauss-Manin connection of N-polarized (rank 17, c<>0) K3 surfaces: The Picard-Fuchs of the Decagon curve:


//First we run the commands in paragraph 5B
//Decagon curve in H_5
//The expressions calculated by chuck:
poly Tnew=t;
poly ap= 625* (-3 + Tnew)^2;
poly bp= -(625/2)* (-1134 + 1458* Tnew - 504 *Tnew^2 + 23* Tnew^3);
poly cp= -(759375/4) *(-2 + Tnew)^2 *(2 + Tnew)^4;
poly dp= 18984375/4 *(-2 + Tnew)^2* (2 + Tnew)^4 *(9 + 2 *Tnew);

matrix pa[1][4]=ap,bp,cp,dp;

matrix dpa[1][4]; //the derivation of parameters;
for (i=1;i<=4;i=i+1)
{
dpa[1,i]=diffpar(pa[1,i], t);
}
list lpar=a,b,c,d;
matrix sys[5][5];
poly disc_t=disc1;
matrix hel[5][5];
int j;
for (j=1;j<=4;j=j+1)
{
hel=ngml[j];
for (i=1;i<=4;i=i+1)
{
hel=substpar(hel,lpar[i],pa[1,i]);
}
sys=sys+ dpa[1,j]*hel;
disc_t=substpar(disc_t,lpar[j],pa[1,j]);
}
sys=sys/disc_t;
matrix BB[1][5]; BB[1,1]=1;
matrix pf=sysdif(sys,BB,t);
//WE GET THE FOLLOWING 4TH ORDER DIFF. EQU.
_[1,1]=504/(625*t^4-5000*t^2+10000)
_[1,2]=(72*t)/(5*t^4-40*t^2+80)
_[1,3]=(124*t^2-176)/(5*t^4-40*t^2+80)
_[1,4]=(10*t)/(t^2-4)
_[1,5]=1
_[1,6]=0




5E. The Gauss-Manin connection of N-polarized (rank 17, c<>0) K3 surfaces: Calculating the 5times 5 system in a basis compatible with Hodge filtration:



In this paragraph we calculate the Gauss-Manin connection in the basis O, O_b O_c, O_d, O_dd. We have used -4a d/da,-6b d/db,-10c d/dc,-12*d  d/dd instead of d/da, d/db, d/dc and d/dd. Due to some computational problem we have done the calculations in two steps. We get

                                                                     nabla [O, O_b O_c, O_d, O_dd]^tr=(A da+ B db+Cdc+ D dd) [O, O_b O_c, O_d, O_dd]^tr    
The discriminant is already included in the above matrices:.
                                                                      




//First we run the commands in paragraph 5B
//If you want to perform derivation with respect to a,b,c,d then multimplication
// list derlog=1,1,1,1;
//For derivation+multiplication with some expression change 1's.
list derlog=-4*a,-6*b,-10*c,-12*d;
for (i=1;i<=4;i=i+1) {ngml[i]=ngml[i]*derlog[i];}
list palist=a,b,c,d;
list discp;
matrix komak[5][5]; int i, j;
for (i=1;i<=4;i=i+1) {discp=insert(discp, derlog[i]*diffpar(disc1,palist[i]),size(discp));}
for (i=1;i<=4;i=i+1)
{
for (j=i;j<=4;j=j+1)
{
komak=disc1*(derlog[j]*diffpar(ngml[i],palist[j]))-discp[j]*ngml[i]+ngml[i]*ngml[j];
ngml=insert(ngml, komak,size(ngml));
}
}

matrix dom[15][5]; dom[1,1]=1;
for (i=2;i<=15;i=i+1){ dom[i,1..5]=submat(ngml[i-1], 1,1..5); }
matrix S[4][4]=submat(dom,intvec(1,3,4,5,15),1..5);
//S[2,1..5]=submat(S, 2,1..5)/disc1; S[3,1..5]=submat(S, 3,1..5)/disc1; S[4,1..5]=submat(S, 4,1..5)/disc1; S[5,1..5]=submat(S, 5,1..5)/disc1^2;
//Doing the above operation makes the calculation very slow. We will do it in a separate calculation.
print(S);
list dS;
for (i=1;i<=4;i=i+1){ dS=insert(dS, derlog[i]*diffpar(S,palist[i]),size(dS));}
number detS=number(det(S));
matrix Sadj=adjoint(S);
list final;
for (i=1;i<=4;i=i+1)
{
gmmat=ngml[i];
gmmat=disc1*dS[i]+S*gmmat;
gmmat=gmmat*Sadj; print(gmmat);
final=insert(final, gmmat, size(final));
}
matrix Aa=final[1]/detS;
matrix Ab=final[2]/detS;
matrix Ac=final[3]/detS;
matrix Ad=final[4]/detS;
write(":w derAa.txt", Aa);
write(":w derAb.txt", Ab);
write(":w derAc.txt", Ac); 
write(":w derAd.txt", Ad);
//----------The system of the previous paragraph is written in the basis omega, discriminant*omega_b, discriminant*omega_c discriminant*omega_c discriminant^2*omega_dd
//----------We write it in omega,omega_b omega_c,omega_d,omega_dd------------------------

LIB "linalg.lib";
LIB "foliation.lib";
ring r=(0,a,b,c,d),(x,y,w),wp(8,9,6);
list derlog=-4*a,-6*b,-10*c,-12*d;
list fin;
string ss;
matrix gmmat[5][5];
list ls="derAa.txt", "derAb.txt", "derAc.txt", "derAd.txt";
int i;
for (i=1;i<=4;i=i+1)
{ ss="gmmat"+"="+read(ls[i])+";";
execute(ss);
fin=insert(fin, gmmat,size(fin));
}

string sss; number disc1; sss="disc1="+read("discriminant5t5.txt")+";"; execute(sss);
matrix S[5][5]; S[1,1]=1; S[2,2]=1/disc1; S[3,3]=1/disc1; S[4,4]=1/disc1; S[5,5]=1/disc1^2;
list dS;
list palist=a,b,c,d;
for (i=1;i<=4;i=i+1){ dS=insert(dS, derlog[i]*diffpar(S,palist[i]),size(dS));}
matrix Sinv=inverse(S);
list final;
for (i=1;i<=4;i=i+1)
{
gmmat=fin[i];
gmmat=dS[i]+S*gmmat/disc1;
gmmat=gmmat*Sinv; print(gmmat);
final=insert(final, gmmat, size(final));
}
write(":w derAa-compatible.txt", final[1]);
write(":w derAb-compatible.txt", final[2]);
write(":w derAc-compatible.txt", final[3]); 
write(":w derAd-compatible.txt", final[4]);









6A: The Gauss-Manin connection of N-polarized (rank 17, c<>0) K3 surfaces: Calculating the first, second and third derivative of the holomorphic 2-form:


In this paragraph we assume that ab,c,d depend on three parameters u,v,w and we calculate the 3*5 matrix der3
                                                               [O_u,O_uv, O_uvw]^tr=der3*[1*O, w*O, w^2*O, w^3*O, xw*O]^tr
In the next paragraphs we will replace w with u or v.

//First run the commands in paragraph 5B
ring r2=(0,a,b,c,d,t),(a_u,b_u,c_u,d_u, a_v,b_v,c_v,d_v,a_uv,b_uv,c_uv,d_uv, a_w,b_w,c_w,d_w,a_uw,b_uw,c_uw,d_uw, a_vw,b_vw,c_vw,d_vw,a_uvw,b_uvw,c_uvw,d_uvw),dp;
// parameters and their derivatives.
list ngml=imap(r,ngml);
poly disc1=imap(r,disc1);
poly co=41278242816;
disc1=disc1*co; //The discriminant has now integer coefficients.
for (i=1;i<=4;i=i+1) {ngml[i]=co*ngml[i];}
int i,j;


list palist =a,b,c,d,a_u,b_u,c_u,d_u, a_v,b_v,c_v,d_v,a_uv,b_uv,c_uv,d_uv, a_w,b_w,c_w,d_w,a_uw,b_uw,c_uw,d_uw, a_vw,b_vw,c_vw,d_vw,a_uvw,b_uvw,c_uvw,d_uvw;

matrix komak[5][5];
matrix komakv[5][5];
matrix komakw[5][5];

for (i=1;i<=4;i=i+1)
{komak=komak+palist[4+i]*ngml[i];
komakv=komakv+palist[8+i]*ngml[i];
komakw=komakw+palist[16+i]*ngml[i]; palist[4+i]; palist[8+i]; palist[16+i];}
list dergm=komak;

komak=0;
for (i=1;i<=4;i=i+1){komak=komak+diffpar(dergm[1], palist[i])*palist[8+i]; palist[i],palist[8+i];}
for (i=5;i<=8;i=i+1){komak=komak+ diff(dergm[1], palist[i])*palist[8+i]; palist[i], palist[8+i];}
komak=disc1*komak+dergm[1]*komakv;
dergm=insert(dergm, komak,size(dergm));


komak=0;
for (i=1;i<=4;i=i+1){komak=komak+diffpar(dergm[2], palist[i])*palist[16+i]; palist[i],palist[16+i];}
for (i=5;i<=16;i=i+1) {komak=komak+ diff(dergm[2], palist[i])*palist[16+i]; palist[i],palist[16+i];}
komak=disc1*komak+dergm[2]*komakw;
dergm=insert(dergm, komak,size(dergm));
komak=0;






matrix der3[3][5];//First, second and third derivatives
for (i=1;i<=3;i=i+1){ der3[i,1..5]=submat(dergm[i],1,1..5);}
list dergm;//To kill the data inside dergm;
write(":w 1st2nd3rd-derivatives.txt", der3);




6B. The Gauss-Manin connection of N-polarized (rank 17, c<>0) K3 surfaces: The box type equation:

  


//we need the file 1st2nd3rd-derivatives.txt
LIB "linalg.lib";
LIB "foliation.lib";
ring r2=(0,a,b,c,d,t),(a_u,b_u,c_u,d_u, a_v,b_v,c_v,d_v,a_uv,b_uv,c_uv,d_uv, a_w,b_w,c_w,d_w,a_uw,b_uw,c_uw,d_uw, a_vw,b_vw,c_vw,d_vw,a_uvw,b_uvw,c_uvw,d_uvw, a_uu,b_uu,c_uu,d_uu, a_uvu,b_uvu,c_uvu,d_uvu, a_vu,b_vu,c_vu,d_vu ),dp;
// parameters and their derivatives. derivation with respect to u and v do not commute
matrix der3[3][5];
string sss="der3="+read("1st2nd3rd-derivatives.txt")+";";
execute(sss);

matrix AA[5][5]; //1,u,v,uv,uu,uvv.
AA[1,1]=1;
AA[2,1..5]=submat(der3,1,1..5);
AA[4,1..5]=submat(der3,2,1..5);

list pl=a_u,b_u,c_u,d_u;
list plo=a_v,b_v,c_v,d_v;
int i;
matrix komak[1][5]=submat(der3,1,1..5);
for (i=1;i<=4;i=i+1){komak=subst(komak, pl[i],plo[i]); pl[i],plo[i];}
AA[3,1..5]=komak;
komak=0;
matrix BB=AA;


komak=submat(der3,2,1..5);
pl=a_v,b_v,c_v,d_v,a_uv,b_uv,c_uv,d_uv;
plo=a_u,b_u,c_u,d_u, a_uu,b_uu,c_uu,d_uu;
for (i=1;i<=8;i=i+1){komak=subst(komak, pl[i],plo[i]);pl[i],plo[i];}
AA[5,1..5]=komak;
komak=0;

komak=submat(der3,3,1..5);
pl =a_w,b_w,c_w,d_w,a_uw,b_uw,c_uw,d_uw, a_vw,b_vw,c_vw,d_vw,a_uvw,b_uvw,c_uvw,d_uvw;
plo=a_u,b_u,c_u,d_u,a_uu,b_uu,c_uu,d_uu, a_vu,b_vu,c_vu,d_vu,a_uvu,b_uvu,c_uvu,d_uvu;
for (i=1;i<=16;i=i+1){komak=subst(komak, pl[i],plo[i]);pl[i],plo[i];}
BB[5,1..5]=komak;
komak=0;
matrix A4=submat(AA,2..5,2..5);
matrix B4=submat(BB,2..5,2..5);
AA=0; BB=0;

write(":w box-equation-no1.txt", A4);
write(":w box-equation-no2.txt", B4);






5E. The Gauss-Manin connection of N-polarized (rank 17, c<>0) K3 surfaces: The box type equation: Reading the data and cheking it with well-known Humbert surfaces

  


//we need the file box-equation-no1.txt and box-equation-no2.txt
LIB "linalg.lib";
LIB "foliation.lib";
ring r2=(5,a,b,c,d,u,v),(a_u,b_u,c_u,d_u, a_v,b_v,c_v,d_v,a_uv,b_uv,c_uv,d_uv, a_uu,b_uu,c_uu,d_uu, a_uvu,b_uvu,c_uvu,d_uvu, a_vu,b_vu,c_vu,d_vu),dp;
// parameters and their derivatives.
matrix box1[4][4];
string sss="box1="+read("box-equation-no2.txt")+";";
execute(sss);
list pl=a,b,c,d,a_u,b_u,c_u,d_u, a_v,b_v,c_v,d_v,a_uv,b_uv,c_uv,d_uv, a_uu,b_uu,c_uu,d_uu, a_uvu,b_uvu,c_uvu,d_uvu, a_vu,b_vu,c_vu,d_vu;
int i,j;


//H_5
matrix box1H=box1;
box1=0;
poly F=(d-b^2-a^3)^2-4*a*(c-a*b)^2;
list H=a,b,c,d,diffpar(F,b),-diffpar(F,a),poly(0),poly(0),poly(0), poly(0), diffpar(F,d),-diffpar(F,c);
poly komak;
for (i=1;i<=4;i=i+1)
{
for (j=1;j<=4;j=j+1)
{
komak=komak+diffpar(H[i+4],H[j])*H[j+8]; pl[i+4],pl[j],pl[j+8];
}
H=insert(H,komak, size(H));
komak=0;
}
for (i=1;i<=4;i=i+1)
{
for (j=1;j<=4;j=j+1)
{
komak=komak+diffpar(H[i+4],H[j])*H[j+4]; pl[i+4],pl[j],pl[j+4];
}
H=insert(H,komak, size(H));
komak=0;
}
for (i=1;i<=4;i=i+1)
{
for (j=1;j<=4;j=j+1)
{
komak=komak+diffpar(H[i+12],H[j])*H[j+4]; pl[i+12],pl[j],pl[j+4];
}
H=insert(H,komak, size(H));
komak=0;
}
for (i=1;i<=4;i=i+1)
{
for (j=1;j<=4;j=j+1)
{
komak=komak+diffpar(H[i+8],H[j])*H[j+4]; pl[i+8],pl[j],pl[j+4];
}
H=insert(H,komak, size(H));
komak=0;
}


for (i=1;i<=4;i=i+1){box1H=substpar(box1H,pl[i],H[i]); pl[i], H[i];}
for (i=5;i<=28;i=i+1){box1H=subst(box1H,pl[i],H[i]); pl[i], H[i];}
poly deti=det(box1H);
deti=substpar(deti,a,a_u);//a_u just as a variable
ideal II=substpar(F,a,a_u);
II=std(II);
reduce(deti, II);



for (i=1;i<=4;i=i+1){box1=subst(box1,pl[24+i],pl[12+i]); pl[24+i],pl[12+i]; }
matrix box1H=box1;
box1=0;
list H=1 + 144*u^5 - 8*v^5 + 16*v^10, 1 - 648*u^5 - 12*v^5 + 864*u^5*v^5 + 48*v^10 - 64*v^15, -248832*u^10*v^5, 248832*u^10*(12*u^5 + v^5 + 8*v^10);
for (i=1;i<=4;i=i+1){H=insert(H,diffpar(H[i],u), size(H));}
for (i=1;i<=8;i=i+1){H=insert(H,diffpar(H[i],v), size(H));}
for (i=1;i<=4;i=i+1){H=insert(H,diffpar(H[i+4],u), size(H));}
for (i=1;i<=4;i=i+1){H=insert(H,diffpar(H[i+12],u), size(H));}
for (i=1;i<=4;i=i+1){box1H=substpar(box1H,pl[i],H[i]); pl[i], H[i];}
for (i=5;i<=24;i=i+1){box1H=subst(box1H,pl[i],H[i]); pl[i], H[i];}
det(box1H);









//a=u,b=v;
matrix box1H=box1;
list H=a,b,0,d,1,0,0,0, 0,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0;
for (i=5;i<=24;i=i+1){box1H=subst(box1H,pl[i],H[i]); pl[i], H[i];}
for (i=1;i<=4;i=i+1){box1H=substpar(box1H,pl[i],H[i]); pl[i], H[i];}









5D. The Gauss-Manin connection of N-polarized (rank 17, c<>0) K3 surfaces: Restriction to Humbert surfaces:

//Humbert surfaces
//H_5:
{a -> (1 - 8*u5 + 16*u10 + 144*v5)/(144*u2*v4), b -> (1 - 12*u5
+ 48*u10 - 64*u15 - 648*v5 + 864*u5*v5)/(1728*u3*v6), c -> -1, d ->
(u5 + 8*u10 + 12*v5)/(12*u6*v2)}



//H_8:
{a -> 1 + 144*u5- 8*v5 + 16*v10, b -> 1 - 648*u5 - 12*v5 + 864*u5*v5 + 48*v10 - 64*v15, c -> -248832*u10*v5, d ->
248832*u10*(12*u5 + v5 + 8*v10)}

H_8: {a -> 1 + 144*u^5 - 8*v^5 + 16*v^10, b -> 1 - 648*u^5 - 12*v^5 +
> 864*u^5*v^5 + 48*v^10 - 64*v^15, c -> -248832*u^10*v^5, d ->
> 248832*u^10*(12*u^5 + v^5 + 8*v^10)}













6. Before the procedure of "LinearRelations":

Before the exact description of the linear relations between the canonical basis of the de Rham cohomology of f=0, I wrote many lines
about the the 10*10 connection. Here is what I wrote.