K désigne un corps commutatif.
K[X] désigne l'anneau des polynômes à coefficients dans K.
K(X) désigne le corps des fractions rationnelles à coefficients dans K.
Les résultats qui suivent sont surtout utiles en analyse (recherche de primitives pour les fractions rationnelles)
On s'intéresse particulièrement aux fractions rationnelles dont le dénominateur est décomposé en facteurs irréductibles. Donc aux fractions $F=\frac{A}{B}\text{ avec }B=\prod_{i=1}^{n}P_i^{r_{i}}$ les Pi étant irréductibles sur K.
Nous rappelons qu'une telle décomposition est toujours possible dans la mesure où K[X] est factoriel, mais que cela ne signifie pas qu'il s'agisse d'une chose aisée ou routinière. On ne dispose pas d'algorithme permettant de résoudre de façon 'exacte' les équations de tout degré que celles-ci soient à coefficients dans ℝ ou dans ℂ. Nous ne soulevons donc aucune difficulté autour de la décomposition en soi, supposant qu'elle est donnée a priori.
Le premier résultat (lemme 1) nous dit qu'une telle fraction peut être scindée en une somme de termes qui sont des fractions dont le dénominateur est une puissance d'un polynôme irréductible.Posons $B_i=\frac{B}{P_i^{r_i}}$, B étant, comme ci-dessus, le dénominateur de F.
Alors les $B_i$ sont premiers entre eux. En effet les facteurs irréductibles de $B_i$ sont les $P_j$ pour j≠i. Donc il n'existe aucun facteur irréductible commun à tous les $B_i$.
On peut donc appliquer le théorème de Bézout. Il existe donc des polynômes $C_i$ tels que $1=\sum_{i=1}^{n}C_iB_i$. Multipliant par le numérateur A de F il vient $A=\sum_{i=1}^{n}(AC_i)B_i$ et $F=\sum_{i=1}^{n}(AC_i)\frac{B_i}{B}$ Mais par définition $\frac{B_i}{B}=\frac{1}{P_i^{r_i}}$ donc $F=\frac{A}{B}=\sum_{i=1}^{n}\frac{AC_i}{P_i^{r_i}}$ de sorte qu'il suffit de prendre $A_i=AC_i$.La preuve se fait par récurrence sur le degré de A.
Si d°(A)=0 c'est évident. Sinon on fait une division euclidienne de A par B, A=BQ+R et on applique l'hypothèse de récurrence à Q dont le degré est strictement inférieur à celui de A.Voici une application avec le langage julia 1.6 et le package Nemo :
Voici maintenant le résultat principal :