"Source: Text/Geometry/Scheme.text";
"Line: 3073";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/Scheme.text, line: 3073
// Example: H122E18 ()
print "Example: H122E18";
ei := GetEchoInput();
SetEchoInput(true);
P4<x,y,z,t,u> := ProjectiveSpace(Rationals(),4);
X := Scheme(P4,[x^2+y^2-2*z^2, x*t+t^2-y*u+2*u^2]);
IsIrreducible(X);
assert $1;
sngs := SingularSubscheme(X);
Support(sngs);
pts := PointsOverSplittingField(sngs);
pts;
pt := pts[1];
k := Ring(Parent(pt));
k;
p := X(k)!Eltseq(pt);
boo,F,seq,dat := IsHypersurfaceSingularity(p,3);  
boo;
assert $1;
R<a,b,c> := Parent(F);
F;
HypersurfaceSingularityExpandFurther(dat,4,R);
Rk<p,q,r,s,w> := PolynomialRing(k,5); 
 //can use Rk as base-changed coordinate ring here
HypersurfaceSingularityExpandFunction(dat,(p^2+q*s)/w^2,3,R);
// Both singularities are simple $A_1$ singularities which are
// characterised by having Milnor number 1.
MilnorNumberAnalyticHypersurface(dat);
assert $1 eq 1;
SetEchoInput(ei);
