"Source: Text/Geometry/AlgSrf.text";
"Line: 4792";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/AlgSrf.text, line: 4792
// Example: H126E25 ()
print "Example: H126E25";
ei := GetEchoInput();
SetEchoInput(true);
P<x,y,z,w> := ProjectiveSpace(Rationals(),3);
p1 := x^4 + y^4 - z^2*w^2;
p2 := 2*x + y + 8*z + 5*w;
p3 := x^2 - 4*x*z + 3*x*w + y*z - y*w + 2*z^2 - 3*z*w + w^2;
p4 := (y^2 - w*z)*(w^2 - y*x) + (x*z - y*w)^2;
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;
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;
p7 := x^2*w^3 + y^3*w^2 + z^5;
p8 := w^3*y^2*z + (x*z + w^2)^3;
P2<X,Y,W> := ProjectiveSpace(Rationals(), 2);
ParametrizeProjectiveHypersurface(Surface(P, p1), P2);
assert not $1;
ParametrizeProjectiveHypersurface(Surface(P, p2), P2);
ParametrizeProjectiveHypersurface(Surface(P, p3), P2);
ParametrizeProjectiveHypersurface(Surface(P, p4), P2);
ParametrizeProjectiveHypersurface(Surface(P, p5), P2);
ParametrizeProjectiveHypersurface(Surface(P, p6), P2);
ParametrizeProjectiveHypersurface(Surface(P, p7), P2);
ParametrizeProjectiveHypersurface(Surface(P, p8), P2);
IsRational(Surface(P, p7));
assert $1;
P4<u,v,w,x,y> := ProjectiveSpace(Rationals(),4);
P2<X,Y,Z> := ProjectiveSpace(Rationals(), 2);
S := Surface(P4,[u^2 + v^2 + w^2 - x^2, y - x]);
ParametrizeProjectiveSurface(S, P2);
S := Surface(P2,[]);
ParametrizeProjectiveSurface(S, P2);
SetEchoInput(ei);
