# CASA Function: neighbGraph

Computed the neighborhood graph of a plane algebraic curve.

### Calling Sequence:

• l := neighbGraph(A)

### Parameters:

A : algset("impl")
• An algebraic set in implicit representation specifying a plane curve.

### Result:

l : neighborhoodTree
• The neighborhood tree of the given plane curve.

### Description:

• This function returns the neighborhood tree of the given plane curve. It is represented by a list of form:
• l := [] or [node_1,...,node_n] where node_i := [mult,point,{trans},neighborhoodTree]
• The above structure has to be interpreted in the following way: On the top level, after applying the transformation trans in node_i, the top level points become the projective singularities of the curve. Each point is given its multiplicity. This linear coordinate transformation assures that (1:0:0) and (0:1:0) are not points on the homogenized function of the polynomial defining the plane curve. On the lower levels, we do the following: Move the singularity to the origin (i.e. (0:0:1), apply the transformation trans in node_i such that no tangent at (0:0:1) is an irregular line (i.e. x=0 or y=0), no other fundamental point (i.e. (1:0:0) and (0:1:0)) is on the curve. We get a transformed curve, say F. Now the points we have are the singularities (except (0:1:0)) of the quadratic transformation of F. Then the neighboring tree of all neighboring points is recursively computed.
• For the theory behind neighboring points we refer to .
• Additional information on the trace of computation is provided by the userinfo routine.

### Examples:

> a1:=mkImplAlgSet([y^2*z^3-x^5],[x,y,z],["basespace"="projective"]); > neighbGraph(a1);  