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 3-space 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 non-rational 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_{i-1}).
- 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]