intersectcurves - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


algcurves

  

intersectcurves

  

intersect two plane algebraic curves

 

Calling Sequence

Parameters

Returns

Options

Description

Examples

References

Compatibility

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.

(2)

(3)

(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.

(5)

(6)

(7)

(8)

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):

(9)

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.

• 

For more information on Maple 17 changes, see Updates in Maple 17.

See Also

algcurves

 


Download Help Document