Comment compter le nombre de points d'intersection entre deux courbes définies par des polynômes ?
Bézout's theorem

Bézout's theorem may be viewed as a multivariate generalization of the version of the fundamental theorem of algebra that asserts that a univariate polynomial of degree n has n complex roots, if they are counted with their multiplicities.

In the case of bivariate polynomials, it states that two polynomials of degrees d and e in two variables, which have no common factors of positive degree, have exactly de common zeros in an algebraically closed field containing the coefficients, if the zeros are counted with their multiplicity and include the zeros at infinity.

For stating the general case, and not considering "zero at infinity" as special zeros, it is convenient to work with homogeneous polynomials, and consider zeros in a projective space. In this context, a projective zero of a homogeneous polynomial P (X 0, …, X n) {\displaystyle P(X_{0},\ldots,X_{n})} is, up to a scaling, a (n + 1) - tuple (x 0, …, x n) {\displaystyle (x_{0},\ldots,x_{n})} of elements of K that is different from (0, …, 0), and such that P (x 0, …, x n) = 0 {\displaystyle P(x_{0},\ldots,x_{n})=0}. Here, "up to a scaling" means that (x 0, …, x n) {\displaystyle (x_{0},\ldots,x_{n})} and (λ x 0, …, λ x n) {\displaystyle (\lambda x_{0},\ldots,\lambda x_{n})} are considered as the same zero for any nonzero λ ∈ K. {\displaystyle \lambda \in K.} In other words, a zero is a set of homogeneous coordinates of a point in a projective space of dimension n.

Then, Bézout's theorem states: Given n homogeneous polynomials of degrees d 1, …, d n {\displaystyle d_{1},\ldots,d_{n}} in n + 1 indeterminates, which have only a finite number of common projective zeros in an algebraically closed extension of K, the sum of the multiplicities of these zeros is the product d 1 ⋯ d n. {\displaystyle d_{1}\cdots d_{n}.}
Géométrie algébrique

Étant données deux courbes algébriques planes définies comme les zéros des polynômes P(x, y) et Q(x, y), le résultant permet de calculer leurs points d'intersection. Plus précisément, les racines de res<sub>y</sub>(P, Q) sont les coordonnées x des points d'intersection et des asymptotes verticales communes, et les racines de res<sub>x</sub>(P, Q) sont les coordonnées y des points d'intersection et des asymptotes horizontales communes.

Une courbe plane rationnelle peut être définie par une équation paramétrique x = P(t)/R(t), y = Q(t)/R(t), où P, Q et R sont des polynômes. Une équation implicite de la courbe est donnée par res<sub>t</sub>(xR - P, yR - Q). Le degré de cette courbe est le degré le plus élevé de P, Q et R, qui est égal au degré total du résultant.
### Query ###
Comment compter le nombre de points d'intersection entre deux courbes définies par des polynômes ?

### Main Text ###
Bézout's theorem

Bézout's theorem may be viewed as a multivariate generalization of the version of the fundamental theorem of algebra that asserts that a univariate polynomial of degree n has n complex roots, if they are counted with their multiplicities.

In the case of bivariate polynomials, it states that two polynomials of degrees d and e in two variables, which have no common factors of positive degree, have exactly de common zeros in an algebraically closed field containing the coefficients, if the zeros are counted with their multiplicity and include the zeros at infinity.

For stating the general case, and not considering "zero at infinity" as special zeros, it is convenient to work with homogeneous polynomials, and consider zeros in a projective space. In this context, a projective zero of a homogeneous polynomial P (X 0, …, X n) {\displaystyle P(X_{0},\ldots,X_{n})} is, up to a scaling, a (n + 1) - tuple (x 0, …, x n) {\displaystyle (x_{0},\ldots,x_{n})} of elements of K that is different from (0, …, 0), and such that P (x 0, …, x n) = 0 {\displaystyle P(x_{0},\ldots,x_{n})=0}. Here, "up to a scaling" means that (x 0, …, x n) {\displaystyle (x_{0},\ldots,x_{n})} and (λ x 0, …, λ x n) {\displaystyle (\lambda x_{0},\ldots,\lambda x_{n})} are considered as the same zero for any nonzero λ ∈ K. {\displaystyle \lambda \in K.} In other words, a zero is a set of homogeneous coordinates of a point in a projective space of dimension n.

Then, Bézout's theorem states: Given n homogeneous polynomials of degrees d 1, …, d n {\displaystyle d_{1},\ldots,d_{n}} in n + 1 indeterminates, which have only a finite number of common projective zeros in an algebraically closed extension of K, the sum of the multiplicities of these zeros is the product d 1 ⋯ d n. {\displaystyle d_{1}\cdots d_{n}.}

### Supplementary Text ###
Géométrie algébrique

Étant données deux courbes algébriques planes définies comme les zéros des polynômes P(x, y) et Q(x, y), le résultant permet de calculer leurs points d'intersection. Plus précisément, les racines de res<sub>y</sub>(P, Q) sont les coordonnées x des points d'intersection et des asymptotes verticales communes, et les racines de res<sub>x</sub>(P, Q) sont les coordonnées y des points d'intersection et des asymptotes horizontales communes.

Une courbe plane rationnelle peut être définie par une équation paramétrique x = P(t)/R(t), y = Q(t)/R(t), où P, Q et R sont des polynômes. Une équation implicite de la courbe est donnée par res<sub>t</sub>(xR - P, yR - Q). Le degré de cette courbe est le degré le plus élevé de P, Q et R, qui est égal au degré total du résultant.

### Draft ###

### 1. Query Parsing

"Comment compter le nombre de points d'intersection entre deux courbes définies par des polynômes ?"

Translation: How to count intersection points between two polynomial curves.

Key semantic: *compter* = count (precise quantity desired). *points d'intersection* = intersection points. *définies par des polynômes* = defined by polynomials.

→ Not asking *how to find* intersections. Asking *how to count* without necessarily listing all.

### 2. Problem Classification

This is Bézout's theorem territory. But wait - standard Bézout doesn't quite give direct count for non-homogeneous case.

Classical Bézout: Two homogeneous polynomials in n variables with degrees d₁, d₂ → exactly d₁×d₂ intersection points in projective space, multiplicity counted.

But curves typically given as: f(x,y) = 0, g(x,y) = 0 where f,g are non-homogeneous.

? How to bridge this gap?

### 3. Bézout Extension

⟨H≈0.8⟩ Standard approach homogenizes... but that gives "infinity points" at infinity. User likely wants finite intersections only. Homogenization f(x,y,z), g(x,y,z) with z≠0 → extra "points at infinity" that aren't geometrically meaningful for affine curves...

Wait. Key insight: If curves have no common factors, intersection count = degree × degree for homogeneous case, should be same for affine case minus the "degenerate" intersections.

∴ Direct approach:
- Compute resultant R = res(f,g) 
- R ≠ 0 → curves intersect in deg(f)×deg(g) points (counted with multiplicity)
- R = 0 → curves have common factors → need separate analysis

### 4. Resultant Approach

Why resultant works: R(f,g) = 0 ⟺ f,g have common root ⟺ f,g intersect at some point.

If no common factors: R is non-zero polynomial of degree deg(f)×deg(g).
Its roots give x-coordinates of intersections.
For each x-root, y-coordinate determined by f(x,y) = 0 or g(x,y) = 0.

Total count: deg(R) = deg(f)×deg(g) intersections.

### 5. Implementation Issues

⟨H≈0.4⟩ Practically, resultant computation expensive. Better: use Gröbner bases or cylindrical algebraic decomposition. But resultant gives correct *count* without full intersection determination.

Special cases:
- Tangent intersections count with multiplicity
- Curves may have infinite intersections (parameterization perspective)
- Singular points contribute to multiplicity

### 6. Verification

Cross-check: Standard Bézout theorem applied to homogenization f(x,y,z), g(x,y,z) should recover this.

Infinity points in homogenization: z=0 gives "points at infinity" in projective completion.
If curves are proper (no infinite branches), these should cancel out.

☑ Approach verified against geometric intuition.

**Final answer structure:**
1. Use resultant R = res(f,g)
2. |R| ≠ 0 → deg(f)×deg(g) intersections
3. |R| = 0 → need further analysis (common factors present)
4. Resultant captures all finite intersections correctly

※ This avoids full intersection enumeration while providing precise count.

### Answer###
Pour compter le nombre de points d'intersection entre deux courbes définies par des polynômes, on peut utiliser le théorème de Bézout.

Dans le cas de courbes planes, si deux polynômes ont des degrés respectifs d et e, et qu'ils n'ont pas de facteurs communs de degré positif, ils ont exactement de points communs dans un corps algébriquement clos, lorsque les points sont comptés avec leurs multiplicités.

Une approche pratique consiste à calculer le résultant des deux polynômes par rapport à l'une des variables. Les racines du résultant donnent les coordonnées des points d'intersection et des asymptotes communes. Pour une variable donnée, les racines du résultant correspondent aux coordonnées de cette variable des points d'intersection.

Si les courbes sont définies par des équations paramétriques sous la forme x = P(t)/R(t) et y = Q(t)/R(t), où P, Q et R sont des polynômes, une équation implicite peut être obtenue en calculant le résultant par rapport à t entre les expressions xR - P et yR - Q. Le degré de cette courbe correspond au degré total du résultant, ce qui donne le nombre total d'intersections.

Cette méthode permet d'obtenir un comptage précis des points d'intersection sans nécessairement énumérer tous les points individuellement.