|
Calling Sequence
|
|
intersectcurves(f, g, x, y, options)
intersectcurves(f, g, x, y, z, options)
intersectcurves(f, g, x, y, z, t, u, options)
|
|
Parameters
|
|
f, g
|
-
|
polynomials with rational coefficients describing algebraic curves
|
x, y
|
-
|
variable names
|
z
|
-
|
optional variable name for the homogeneous case
|
t, u
|
-
|
optional variable names to be used in the result
|
options
|
-
|
optional equation of the form 'sort'='multiplicity'
|
|
|
|
|
Returns
|
|
list of pairs of the form , where describe a set of intersection points in homogeneous coordinates and is a positive integer representing the intersection multiplicity of each of the points in . Three cases may occur:
•
|
. In this case all points in are affine, is an irreducible univariate polynomial, and is an irreducible bivariate polynomial, with the property that the -coordinates of all points are precisely the roots of and the -coordinates are precisely the roots of for some such . The cycle description of is
|
•
|
and . In this case all points in are at infinity and is an irreducible univariate polynomial with the property that the -coordinates of all points are precisely the roots of . The cycle description of is .
|
•
|
, a special point at infinity.
|
|
|
Options
|
|
•
|
'sort'='multiplicity': If this optional argument is specified, the output will be sorted by increasing multiplicity.
|
|
Otherwise, by default, affine points precede points at infinity in the output order, and further to this the output is sorted by increasing degree of and then by increasing degree of .
|
|
|
Description
|
|
•
|
The intersectcurves command computes the intersection cycle, i.e., the formal sum of the intersection points in the projective plane, with multiplicities, of the two plane algebraic curves given by and , respectively.
|
•
|
If f and g are polynomials in x and y, and either z=1 or z is omitted, then the intersection cycle of their homogenized versions and is computed.
|
•
|
If z is specified and f and g are polynomials in x, y, and z, both polynomials are required to be homogeneous.
|
•
|
The polynomials f and g are assumed to have no nonconstant common factor. This can be checked using gcd. Otherwise an error message will be generated.
|
|
|
Examples
|
|
>
|
|
| (1) |
The output represents the two points and in the projective plane , each taken with multiplicity 2.
>
|
|
| (4) |
This represents the affine points of multiplicity , each of and with multiplicity , and the infinite point with multiplicity .
Note that were used instead of as variables in the output polynomials.
Let us verify that each of these points actually lies on both curves.
>
|
|
>
|
|
>
|
|
>
|
|
By Bezout's theorem, the total number of intersection points, counted with multiplicities, equals the product of the degrees of the input polynomials (note that actually represents two points):
We can also request the output to be sorted by multiplicity:
>
|
|
| (10) |
>
|
|
| (11) |
>
|
|
| (12) |
>
|
|
| (13) |
In this example,
–
|
is the formal sum of the two points , where runs over the two roots of ;
|
–
|
is the formal sum of the two points ;
|
–
|
is the formal sum of the two points , where runs over the two roots of , plus the formal sum of the two points , where runs over the two roots of .
|
–
|
is the formal sum of the six points , where runs over the roots of , i.e., the th roots of ;
|
–
|
is the formal sum of the four points , where runs over the four roots of , i.e., the primitive th roots of unity;
|
–
|
is the formal sum of the two points , where are the two roots of , i.e., the primitive cube roots of unity.
|
|
|
References
|
|
|
J. Hilmar and C. Smyth, Euclid meets Bezout: intersecting algebraic plane curves with the Euclidean algorithm, American Mathematical Monthly 117 (2010), 250-260.
|
|
|
Compatibility
|
|
•
|
The algcurves[intersectcurves] command was introduced in Maple 17.
|
|
|
|
|