CASA Function: passGenCurve
Generates a general curve and passing it through specified points.
Calling Sequence:
 C := passGenCurve(deg,points,c)
 C := passGenCurve(deg,points,c,vars)
 C := passGenCurve(deg,points,c,vars, ext)
Parameters:
 deg : posint
 Degree of the resulting curve.
 points : list(list)
 List of points through which the curve should pass.
 c : table
 name of a global table to holding coefficients
 vars : list(name)

 ext : list
 List of field extensions.
Result:
 C : algset
 A curve (or a system of curves) in projective space of degree deg passing through the specified points points.
Description:
 The function returns a curve (or a system of curves) in projective 3space of degree deg passing through specified points. The resulting curve will contain vars as variables.
 The third parameter is used as a name of a table holding coefficients of the resulting curve (system).
 If some points have algebraic coordinates, the fifth argument has to list extensions, where the coordinates of the points are lying. Precisely, for each point there has to be a list describing the extension of the coordinate field over the rational numbers. If all coordinates of a point are rational, the empty list has to be supplied. If some points have nonrational coordinates the procedure expects as the fifth argument a list of the same length as points where each element (list) specifies a tower of extensions [alpha_1,...,alpha_k] such that the corresponding point lies in Q(alpha_1,...,alpha_k) and the minimal polynomial for alpha_i (argument of the RootOf) is irreducible over Q(alpha_1,...,alpha_{i1}).
 A point in points is given either as a list [x0,x1,x2] (denoting a simple point) or as a nested list [[x0,x1,x2],m] (denoting a singular point with multiplicity m). Note that m = 1 is possible.
Examples:
> points := [[[RootOf(z^2+1),1,0],2],[[0,0,1],3],[[1,1,1],2]]:
> fieldExtensions := [[RootOf(z^2+1)],[],[]]:
> c1:=passGenCurve(5,points,u,[x,y,z],fieldExtensions);
> c2:=setRandomParameters(c1);
> singularities(c2);
See Also:
[CASA]
[setRandomParameters]
[neighbGraph]