"Source: Text/Geometry/AlgSrf.text";
"Line: 6915";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/AlgSrf.text, line: 6915
// Example: H126E42 ()
print "Example: H126E42";
ei := GetEchoInput();
SetEchoInput(true);
R<a,b,c> := PolynomialRing(Rationals(),3);
f := 4*a*b^2*c*(a+c)^2+(a*(b+c)^2+b*(a+c)^2)*(a*(-b+c)^2+b*(c-a)^2);
S := DegreeTwoK3Surface(f);
x,y,z,w := Explode([Ambient(S).i : i in [1..4]]);
eqns := [[x-z,y^2*z+2*y*z^2+z^3+w],
 [x,y*z^2+w], [y+z,x^2*z-z^3+w],
 [y,x*z^2+w], [z,x^2*y+x*y^2+w],
 [x^2+y*z, x*y^2-y^2*z-x*z^2-y*z^2-w],
 [x^2+x*y+y^2+x*z+2*y*z,y^3+x*y*z+4*y^2*z+x*z^2+3*y*z^2+w]];
Ls := [Scheme(Ambient(S),e) : e in eqns];
Lsd := [Scheme(Ambient(S),[Evaluate(u,[x,y,z,-w]) : u in e]) : e in eqns];
imat := IntersectionMatrixOnDegree2K3(S, Ls cat Lsd);
SetVerbose("KodFibs",1);
time confs := KodairaConfigurations(imat);
#confs;
Max([#e : e in confs]);
// 3 is the maximum number of disjoint Kodaira fibrations in 
// one of the configuration sets.
// Get the indices in confs of the size 2 and 3 configuration sets
s2 := [i : i in [1..#confs] | #(confs[i]) eq 2];
#s2;
s3 := [i : i in [1..#confs] | #(confs[i]) eq 3];
#s3;
confs[s3[3]];
confs[1968];
SetEchoInput(ei);
