Singular Manual: determineNormalFormEquation

| #### D.15.2.19 determineNormalFormEquation Procedure from library `arnold.lib` (see arnold_lib). Usage: determineNormalFormEquation(N); N a NormalForm as given by @ref(determineNormalForm) Return: a normalform equation, stored in N.normalFormEquation, occuring in the normalform, stored in N.normalForm, of the polynomial, stored in N.phi.sourcegerm, as well as polynomials, stored in N.extension1 and N.extension2 (of type Poly), defining the parameters, given as ring variables in N.normalFormEquation. Example:
    LIB "arnold.lib";
    ring R=0,(x,y),ds;
    poly g = x4+2*x2y2+y4+x^(10)+y^(10);
    poly phix = x+y^2+x^2+x*y+x^2*y+x*y^3;
    poly phiy = y+y^2+2*x^2+x*y+y*x^2+y^2*x+x*y^4;
    map phi = R,phix,phiy;
    g=phi(g);
    Poly F = makePoly(g);
    NormalForm N;
    N = determineNormalForm(F);
    determineNormalFormEquation(N);
    ==> Embedding dimension = 2
    ==> Corank of singularity = 2
    ==> Normal form of type = (0,34),(1,9),(2,2),(9,1),(34,0)
    ==> Normal form = (a(1))*x^2*y^2+x^9*y+x*y^9+x^34+y^34
    ==> Exceptional Hypersurface is not determined.
    ==> Normal form equation =x^34+y^34+x^9*y+x*y^9+65536/25*x^2*y^2*e^16
    ==> Minimal polynomial = (a^2+1)
    ==> Minimal polynomial 2 =(625/4294967296*a)*v^40+1
    ==> Minimal polynomial 3 =e*v-1
    ==> Milnor number = 33
    ==> Modality = 1
    ==> Monomials corresponding to moduli terms = x^2*y^2
    ==> Delta invariant = 18
    ==> Number of branches = 4
    ==> Determinacy <= 16
    ==> Non-degenerate part = 0
    ==> Chain of transformations before Morse split of length 0
    ==> Chain of transformations after Morse split of length 16
    ==>
    ==>

User manual for Singular version 4.4.1, 2025, generated by texi2html.