"Source: Text/Geometry/AlgSrf.text";
"Line: 4587";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/AlgSrf.text, line: 4587
// Example: H126E24 ()
print "Example: H126E24";
ei := GetEchoInput();
SetEchoInput(true);
P<x,y,z,w> := ProjectiveSpace(Rationals(),3);
p1 := x^4 + y^4 - z^2*w^2;
_,_,typ := ClassifyRationalSurface(Surface(P,p1));
typ;
p2 := 2*x + y + 8*z + 5*w;
Y,_,typ := ClassifyRationalSurface(Surface(P,p2));
typ; Y;
p3 := x^2 - 4*x*z + 3*x*w + y*z - y*w + 2*z^2 - 3*z*w + w^2;
_,_,typ := ClassifyRationalSurface(Surface(P,p3));
typ;
p4 := (y^2 - w*z)*(w^2 - y*x) + (x*z - y*w)^2;
S := Surface(P,p4);
Y,mps,typ := ClassifyRationalSurface(S);
typ;
mps[2]; // the fibration map
p5 := x^3*y - 4*x^3*z - 6*x^3*w - 3*x^2*y^2 - 2*x^2*y*z
    - 3*x^2*y*w + 50*x^2*z^2 + 146*x^2*z*w + 108*x^2*w^2
    - 11*x*y^2*z + 2*x*y^2*w + 61*x*y*z^2 + 149*x*y*z*w
    + 65*x*y*w^2 + 68*x*z^3 + 228*x*z^2*w + 260*x*z*w^2
    + 112*x*w^3 + 4*y^4 - 13*y^3*z - 19*y^3*w + 20*y^2*z^2
    + 77*y^2*z*w + 55*y^2*w^2 + 40*y*z^3 + 106*y*z^2*w
    + 58*y*z*w^2 - 2*y*w^3 + 22*z^4 + 84*z^3*w + 130*z^2*w^2
    + 108*z*w^3 + 38*w^4;
S := Surface(P,p5);
_,mps,typ := ClassifyRationalSurface(S);
typ;
mps[1]; //birational map from Y to P2
p6 := x^2*y^2 + 8*x^3*y + 4*x^4 + x*y*z^2 - x^2*z^2 - y^2*w^2
    - 7*x*y*w^2 + 8*x^2*w^2;
S := Surface(P,p6);
Y,mps,typ := ClassifyRationalSurface(S);
typ; Y;
mps[2]; //the fibration map
p7 := x^2*w^3 + y^3*w^2 + z^5;
Y,_,typ := ClassifyRationalSurface(Surface(P,p7));
typ; Y; Ambient(Y);
p8 := w^3*y^2*z + (x*z + w^2)^3;
Y,_,typ := ClassifyRationalSurface(Surface(P,p8));
typ; Y;
SetEchoInput(ei);
