Resolution
Global GMS
ES Strata
Build. Blocks
Comb. Appl.
HCA Proving
Arrangements
Branches
Classify
Coding
Deformations
Equidim Part
Existence
Finite Groups
Flatness
Genus
Hilbert Series
Membership
Nonnormal Locus
Normalization
Primdec
Puiseux
Plane Curves
Saturation
Solving
Space Curves
Spectrum
Number of Branches via Normalization
LIB "normal.lib";

ring r=0,(x,y,z),ds;
ideal i=x^4-y*z^2,x*y-z^3,y^2-x^3*z;
We now pass to a global ordering, which is necessary for normalization.
(Normalization internally uses the calculation of a radical which in turn relies on a global lexicographical ordering.)
ring rr=0,(x,y,z),dp;
ideal i=imap(r,i);
normal(i);
==>

   // 'normal' created a list of 1 ring(s).
   // nor[1+1] is the delta-invariant in case of choose=wd.
   // To see the rings, type (if the name of your list is nor):
        show( nor);
   // To access the 1-st ring and map (similar for the others), type:
        def R = nor[1]; setring R;  norid; normap;
   // R/norid is the 1-st ring of the normalization and
   // normap the map from the original basering to R/norid
   [1]:
   //   characteristic : 0
   //   number of vars : 2
   //        block   1 : ordering a
   //                  : names    T(1) T(2)
   //                  : weights     1    0
   //        block   2 : ordering dp
   //                  : names    T(1) T(2)
   //        block   3 : ordering C
   
def rno=_[1];
setring rno;
norid;
==> norid[1]=T(2)^5-1
The ideal norid is generated by a polynomial in one variable of degree 5, which completely factors over the complex numbers. Hence the singularity has 5 branches.
<-- Branches of an isolated space curve singularity
<-- computed via Primary Decomposition
--> computed via Factorizing Gröbner

KL, 06/03 http://www.singular.uni-kl.de