Singular Manual: norTest

  | #### D.4.18.11 norTest Procedure from library `normal.lib` (see normal_lib). Assume: nor is the output of normal(i) (any options) or normalP(i,"withRing") or normalC(i) (any options). In particular, the ring nor[1][1] contains the ideal norid and the map normap: basering/i --> nor[1][1]/norid. Return: an intvec v such that:
               v[1] = 1 if the normap is injective and 0 otherwise
               v[2] = 1 if the normap is finite and 0 otherwise
               v[3] = 1 if nor[1][1]/norid is normal and 0 otherwise
If n=1 (resp n=2) only v[1] (resp. v[2]) is computed and returned Theory: The procedure can be used to test whether the computation of the normalization was correct: basering/i --> nor[1][1]/norid is the normalization of basering/i if and only if v=1,1,0. Note: For big examples it can be hard to fully test correctness; the partial test norTest(i,nor,2) is usually fast Example:
    LIB "normal.lib";
    int prl = printlevel;
    printlevel = -1;
    ring r = 0,(x,y),dp;
    ideal i = (x-y^2)^2 - y*x^3;
    list nor = normal(i);
    norTest(i,nor);                //1,1,1 means that normal was correct
    ==> 1
    ==> 1
    ==> 1,1,1
    nor = normalC(i);
    norTest(i,nor);                //1,1,1 means that normal was correct
    ==> 1
    ==> 1
    ==> 1,1,1
    ring s = 2,(x,y),dp;
    ideal i = (x-y^2)^2 - y*x^3;
    nor = normalP(i,"withRing");
    norTest(i,nor);               //1,1,1 means that normalP was correct
    ==> 1
    ==> 1
    ==> 1,1,1
    printlevel = prl;

User manual for Singular version 4-1-1p4, 2018, generated by texi2html.