Intégration des fractions rationnelles L’intégration des fractions rationnelles réelles a son importance propre, et est aussi utile du fait que de nombreux calculs de primitives peuvent, via un bon changement de variable, se ramener au calcul de primitives de fonctions rationnelles. Traditionnellement, la méthode exposée pour ces calculs de primitives passe par la décomposition en éléments simples, qui nécessite les étapes suivantes : 1. On décompose le dénominateur de la fraction en produit d’irréductibles. 2. On détermine la décomposition en éléments simples ; dans le cas d’un calcul automatisé, cela se fait par la résolution d’un système linéaire de d équations à d inconnues, où d est le degré du dénominateur. 3. Dans cette décomposition, on regroupe chaque terme de la forme c/(X − a), où a n’est pas réel, avec le terme conjugué. 4. On primitive chacun des termes obtenus. Considérons les fractions ci-dessous : U1 = 8x 5 − 10x 4 + 5 (2x 5 − 10x + 5)2 ; U2 = 4x 5 − 1 (x 5 + x + 1)2 ; U3 = 1 x7 + 1 4x 4 + 4x 3 + 16x 2 + 12x + 8 x 6 + 2x 5 + 3x 4 + 4x 3 + 3x 2 + 2x + 1 On va voir que chacune de ces fractions a une primitive simple. Pourtant, il est impossible de donner une forme simple pour les pôles de U1 : on ne peut donc pas utiliser la méthode précédente, sauf si l’on remplace les pôles par des approximations numériques. Pour U2 et U4 , le dénominateur se factorise dans Z, bien que cela ne soit pas évident. Enfin, les pôles de U3 sont les racines septièmes de −1 ; le calcul de la décomposition en éléments simples est donc relativement complexe. Dans tous ces exemples, une fois la décomposition obtenue, il reste encore beaucoup de calculs à effectuer avant d’obtenir la primitive cherchée ; clairement, la méthode décrite ci-dessus peut donc être très pénible, voire impossible à mettre en œuvre. On rappelle d’autre part que les primitives de fractions rationnelles sont la somme d’une fonction rationnelle et de termes qui sont des logarithmes ou arctangentes de polynômes ; on appellera ces deux parties respectivement la partie rationnelle et la partie transcendante de ces primitives. L’un des objectifs de cet article est de montrer que l’on peut calculer la partie rationnelle d’une primitive sans connaître les pôles de la fraction ; les seules compétences nécessaires sont de savoir calculer le PGCD de deux polynômes, et de savoir résoudre des systèmes d’équations linéaires. Nous discuterons aussi la possibilité d’obtenir la partie transcendante. Tout ce qui suit est constitué de résultats tous bien connus, mais qui sont dispersés entre les manuels de référence U4 = 1 classiques d’une part, et la littérature sur le calcul formel d’autre part. Il semblait donc nécessaire d’en donner une présentation unifiée. Dans tout ce qui suit, P /Q sera une fraction rationnelle à coefficients rationnels ; on supposera de plus que le dénominateur Q est unitaire. 1. La relation d’Hermite-Ostrogradski Théorème 1. Soit P /Q ∈ Q(X ) une fraction rationnelle sous forme irréductible, avec Q unitaire ; Q Q q −1 q soit Q = nk=1 D k k la décomposition de Q en irréductibles dans R[X ]. On pose Q 1 = nk=1 D k k et Q Q 2 = nk=1 D k . Alors, il existe deux polynômes P 1 et P 2 dans Q[X ] vérifiant Z Z P (x) P 1 (x) P 2 (x) dx = + dx (1) Q(x) Q 1 (x) Q 2 (x) On notera que ce résultat affirme essentiellement une propriété intuitivement claire : dans les primitives, les termes rationnels sont fournis par les facteurs multiples de Q, la partie transcendante par les facteurs simples. On raisonne par récurrence sur n, le nombre d’irréductibles distincts D k . Si n = 1, alors Q est de la forme (X − c)m ou (X 2 + aX + b)m , où X 2 + aX + b est irréductible dans R et m Ê 1. Pq Si Q = (X − c)m , alors on peut décomposer P sous la forme P = k=0 a k (X − c)k . On a alors Z q X P (x) dx = a k (x − c)k−m d x (x − c)m k=0 R On isole l’éventuel terme pour lequel k − m = −1 ; il fournit le terme (P 2 /Q 2 ) du théorème, puisqu’ici Q 2 = X − c. Les autres termes se primitivent en des polynômes ou des fractions de dénominateur (x −c)r avec r Ê m −1 : ils fournissent le terme P 1 /Q 1 , puisqu’ici Q 1 = (X −c)m−1 . On a donc bien le résultat cherché. Si Q = (X 2 + a X + b)m , on fait essentiellement la même chose, mais cela devient un peu plus compliqué. On effectue la division euclidienne de P par Q 2 = X 2 + aX +b : P = Q 2 R +S, où S est affine. On a donc Z Z Z P (x) R(x) px + q dx = d x + dx Q(x) Q 2 (x)m−1 Q 2 (x)m Z P (x) dx = Q(x) Z Une formule classique de réduction (qui s’obtient aisément à l’aide d’une intégration par parties) donne : Z Z M (x) px + q r d x = + dx (x 2 + ax + b)m (x 2 + ax + b)m−1 (x 2 + ax + b)m−1 où M est un polynôme de degré au plus 1 et r est une constante. En appliquant plusieurs fois la formule, on arrive finalement à Z Z M (x) px + q r d x = + dx (x 2 + ax + b)m (x 2 + ax + b)m−1 x 2 + ax + b où M est un polynôme de degré au plus 1 et r est une constante, et donc Z Z Z M (x) R(x) r P (x) dx = dx + + dx m−1 Q(x) Q 2 (x) Q 1 (x) Q 2 (x) 2 R On répète ensuite le procédé avec le terme R/Q 2m−1 ; en un nombre fini d’étapes, on obtient finalement la formule cherchée, ce qui achève la démonstration dans le cas n = 1. Q q Supposons maintenant le résultat établi jusqu’à un rang n − 1 Ê 1 ; soit Q = nk=1 D k k ayant n Qn−1 qk q q facteurs irréductibles distincts. Posons R = k=1 D k ; on a donc Q = R.D nn . Puisque R et D nn sont premiers entre eux, on peut trouver deux polynômes A et B tels que q P = AR + B D nn On a alors Z P (x) dx = Q(x) Z A(x) dx + q D nn (x) Z B (x) dx R(x) Puisque R admet n − 1 facteurs irréductibles distincts seulement, l’hypothèse de récurrence et le cas n = 1 permettent d’écrire chaque terme du membre de droite sous la forme (1). En regroupant judicieusement les termes et en réduisant au même dénominateur, on obtient la forme (1) cherchée pour la fraction P /Q, ce qui achève la démonstration. On peut d’autre part remarquer que, si degP < degQ, on peut en plus imposer les conditions deg P 1 < degQ 1 et deg P 2 < degQ 2 . En effet, si deg P 2 Ê degQ 2 , on peut effectuer la division euclidienne de P 2 par Q 2 , primitiver le quotient en un polynôme et intégrer ce polynôme dans le terme P 1 /Q 1 . Si deg P 1 = degQ 1 , alors P 1 /Q 1 = λ + R/Q 1 où λ est une constante, que l’on peut donc laisser tomber dans l’égalité (1) entre primitives. Enfin, si degP 2 < degQ 2 et deg P 1 > degQ 1 , alors, en dérivant l’égalité (1), on arrive à une impossibilité : le degré du membre de gauche est strictement négatif alors que celui du membre de droite est positif. On peut même établir l’unicité de ce couple (P 1 , P 2 ) ; nous ne le démontrerons pas, n’ayant pas besoin de ce résultat dans la suite. 2. Calcul pratique L’importance de la relation d’Hermite-Ostrogradski vient de ce qu’il est possible de calculer P 1 , Q 1 , P 2 et Q 2 sans connaître la factorisation de Q. Nous allons ici exposer la méthode. Il est clair tout d’abord que Q 1 est le PGCD unitaire de Q et Q 0 , et que Q 2 = Q/Q 1 . On voit d’autre part aisément que Q 1 divise Q 10 Q 2 , donc que S = Q 10 Q 2 /Q 1 est un polynôme. En dérivant la relation (1), on obtient donc P Q 1 P 10 − P 1Q 10 P 2 P 10 − P 1Q 10 /Q 1 P 2 + = = + Q Q2 Q1 Q2 Q 12 En éliminant les dénominateurs, on obtient P = P 10 Q 2 − P 1 S + P 2Q 1 . Dans cette équation, les polynômes P , Q 1 , Q 2 et S sont connus ; on détermine alors P 1 et P 2 par la méthode des coefficients indéterminés. Voici donc l’algorithme : Entrée : des polynômes P et Q, avec deg P < degQ. R Sortie : P 1 /Q1, la partie rationnelle de P /Q, et P 2 /Q 2 , l’intégrande de la partie transcendante. (1) Q 1 := PGCD(Q,Q 0 ) ; Q 2 := Q/Q 1 . (2) S := Q 10 Q 2 /Q 1 . (3) q := degQ 1 ; r := degQ 2 . 3 (4) Poser P 1 := a q−1 X q−1 + · · · + a 1 X + a 0 et P 2 = b r −1 X r −1 + · · · + b 1 X + b 0 . (5) Calculer T := P 10 Q 2 − P 1 S + P 2Q 1 . (6) Résoudre le système obtenu en identifiant les coefficients de T et ceux de P . À l’étape (6), si d = degQ, on résout en fait un système de d équations linéaires à d inconnues ; c’est aussi ce que l’on fait quand on décompose en éléments simples de manière mécanique, mais ici le travail d’intégration de la partie rationnelle est déjà fait. 4x 4 + 4x 3 + 16x 2 + 12x + 8 Traitons l’exemple U4 = 6 de l’introduction ; on obtient sucx + 2x 5 + 3x 4 + 4x 3 + 3x 2 + 2x + 1 cessivement Q 1 = PGCD(X 6 + 2X 5 + 3X 4 + 4X 3 + 3X 2 + 2X + 1, 6X 5 + 10X 4 + 12X 3 + 12X 2 + 6X + 2) = X3 + X2 + X +1 Q 2 = Q/Q 1 = X 3 + X 2 + X + 1 S = Q 10 Q 2 /Q 1 = 3X 2 + 2X + 1 P 1 = a2 X 2 + a1 X + a0 , P 2 = b2 X 2 + b1 X + b0 = P 10 Q 2 − P 1 S + P 2Q 1 T = b 2 X 5 + (−a 2 + b 2 + b 1 )X 4 + (−2a 1 + b 2 + b 1 + b 0 )X 3 + (a 2 − a 1 − 3a 0 + b 2 + b 1 + b 0 )X 2 + (2a 2 − 2a 0 + b 1 + b 0 )X + (a 1 − a 0 + b 0 ) On identifie ensuite les coefficients de P = 4X 4 + 4X 3 + 16X 2 + 12X + 8 avec ceux de T , et on résout le système obtenu. On obtient finalement Z 3x + 3 x2 − x + 4 + dx U4 (x) d x = − 3 2 3 x +x +x +1 x + x2 + x + 1 Z dx La dernière primitive est en fait 3 = Arctan(x) +C . 2 x +1 Les exemples U1 et U2 de l’introduction se traitent de même. On trouve Z Z Z 8x 5 − 10x 4 + 5 1−x dx = 5 5 2 (2x − 10x + 5) 2x − 10x + 5 Z Z x 4x 5 − 1 U2 (x) d x = dx = − 5 5 2 (x + x + 1) x +x +1 U1 (x) d x = 3. Fractions à pôles simples On vient de voir que l’on peut déterminer la partie rationnelle et l’intégrande de la partie transcendante en utilisant uniquement l’arithmétique des polynômes et l’algèbre linéaire. Dans la mesure où, dans la méthode des éléments simples, la complexité du calcul provient principalement des termes multiples au dénominateur, la simplification est considérable ; en effet, dans la partie qui reste à primitiver, le dénominateur est sans facteur carré, autrement dit n’a 4 que des pôles simples dans C. On pourrait, bien sûr, décomposer cette fraction en éléments simples pour achever la primitivation. On va voir que, sous réserves de connaître les pôles de la fraction, on peut en fait directement donner une expression simple des primitives. Théorème 2. Soit P /Q une fraction sous forme irréductible, telle que deg P < degQ, et dont tous les pôles complexes sont simples. Alors Z X P (a) P (x) dx = Log(x − a) +C (2) 0 Q(x) a Q (a) où la somme est étendue à l’ensemble des pôles de la fraction. Dans cette écriture, le Log(x − a) représente une primitive de x 7−→ x − a, que a soit réel ou complexe. Soit a une racine de Q : posons Q = (X − a)Q 1 , on a alors Q 1 (a) 6= 0. Nous voulons écrire P λ P1 = + Q X − a Q1 pour un certain scalaire λ et un polynôme P 1 . C’est effectivement possible : si l’on pose λ = P (a)/Q 1 (a), on a ³P ´ P (a) 1 ´ 1 ³ P (a) P1 = Q1 − = P− Q1 (3) Q Q 1 (a) X − a X −a Q 1 (a) ¡ ¢ Puisque P − P (a)/Q 1 (a) Q 1 s’annule en a, P 1 est bien un polynôme. D’autre part, on a immédiatement Q 1 (a) = Q 0 (a), donc P P (a)/Q 0 (a) P 1 = + Q X −a Q1 Soit maintenant b un autre pôle de la fraction. Montrons que P (b)/Q 0 (b) = P 1 (b)/Q 10 (b). Déjà, on a Q 0 = (X − a)Q 10 + Q 1 , donc Q 0 (b) = (b − a)Q 10 (b). De plus, la relation (3) fournit p 1 (b) = P (b)/(b −a), on a donc bien P (b)/Q 0 (b) = P 1 (b)/Q 10 (b). On peut maintenant répéter la construction précédente, pour obtenir P 1 P 1 (b)/Q 10 (b) P 2 = + Q1 X −b Q2 où Q 1 = (X − b)Q 2 et P 2 est un polynôme. Nous avons donc P P (a)/Q 0 (a) P (b)/Q 0 (b) P 2 = + + Q X −a X −b Q2 et P 2 (c)/Q 20 (c) = P (c)/Q 0 (c) pour toute racine c de Q 2 . On peut donc répéter le procédé jusqu’à épuisement des racines de Q, pour obtenir P X P (a)/Q 0 (a) P n = + Q X −a Qn a où la somme est étendue à tous les pôles de P /Q. Puisque Q n n’a plus de racines, P n /Q n est en fait un polynôme ; de plus, l’examen des limites en +∞ montre que c’est en fait le polynôme nul. On en déduit le résultat par primitivation. 5 Si la fraction P /Q est réelle, alors les racines non réelles de Q peuvent se regrouper avec leur conjuguée, le calcul qui suit fournissant une expression réelle des primitives. Soit a une racine non réelle de Q. Posons a = α + i β, avec (α, β) ∈ R2 , et P (a)/Q 0 (a) = γ + i δ. Alors P (a)/Q 0 (a) = γ − i δ, et, pour tout réel x, ³ 1 ³ 1 P (a) 1 1 ´ 1 ´ P (a) 1 + = γ + + i δ − Q 0 (a) x − a Q 0 (a) x − a x −a x −a x −a x −a 2x − 2α β = γ 2 − 2δ 2 2 x − 2αx + |a| x − 2αx + |a|2 On en déduit Z P (a) d x + Q 0 (a) x − a Z P (a) d x Q 0 (a) x − a ¡ ¢ = γ ln (x − α)2 + β2 − 2δ Z βdx (x − α)2 + β2 ³x −α´ = 2γ ln |x − a| − 2δ Arctan +C β Les primitives de P /Q sont donc les sommes des termes de ce type, quand a décrit par exemple l’ensemble des pôles non réels de partie imaginaire positive ; et des termes de la forme ln|x − a| quand a décrit l’ensemble des pôles réels. Il sera en général préférable d’utiliser ces formules, plutôt que de déterminer la décomposition en éléments simples par résolution d’un système d’équations linéaires. En particulier, si l’on ne connaît que des valeurs approchées des pôles, l’accumulation des erreurs d’arrondis risque de poser problème dans cette dernière méthode. Même si l’on connaît une forme simple des pôles, cette méthode reste préférable. 1 Reprenons l’exemple de U3 (x) = 7 ; les pôles, tous simples, sont les racines septièmes de x +1 −1, donc les nombres w k = e i θk pour 0 É k É 6, où l’on a posé θk = (2k + 1)π/7. La seule racine réelle est −1 = w 3 . On a P (w k ) 1 −6i θk = e pour 0 É k É 6 Q 0 (w k ) 7 et donc Z 2 ³ ¡ 2 ¢ dx 1X x − cos θk ´ = ln |x + 1| + cos(6θ ) ln x − 2 cos(θ )x + 1 + 2 sin(6θ ) Arctan k k k x7 + 1 7 k=0 sin θk 4. Existence d’une forme fermée Nous montrons dans cette section que, si les racines du dénominateur ne peuvent pas se calculer sous forme fermée, alors en général les primitives elles-mêmes ne peuvent pas être calculées sous forme fermée. Nous commençons par préciser ce que nous entendons par forme fermée. p Le polynôme X 2 −2 est à coefficients dans Q, mais n’a pas de racines dans Q, puisque 2 n’est 2 pas rationnel. Si l’on veut disposer d’un p corps F 1 contenant Q et dans lequel X −2 a une racine, usuelles de corps, donc alors cet ensemble devra contenir 2 et être stable par les opérations p devra en particulier contenir tous les nombres de la forme R( 2), où R est une fraction rationnelle à coefficients dans Q. Inversement, on vérifie aisément que l’ensemble de ces nombres p forme un corps vérifiant nos conditions : on le note Q( 2). 6 p p p Le nombre 2− 2 est alors dans F 1 = Q( 2), mais le polynôme X 3 −(2− 2) n’a p pas de racine dans F 1 . On contourne le problème en choisissant une racine troisième α de 2 − 2 dans C, et en travaillant dans le corps F 2 = F 1 (α), constitué des nombres de la forme R(α) où R est une fraction rationnelle à coefficients dans F 1 . On dira qu’un corps F est une extension radicale de Q s’il est obtenu par un nombre fini d’opérations de ce type, c’est-à-dire s’il existe des corps Q = F 0 ⊂ F 1 ⊂ F 2 ⊂ · · · ⊂ F n = F et des complexes α1 , . . . , αn tels que, pour tout k Ê 1, F k = F k−1 (αk ), et qu’une puissance de αk appartienne à F k−1 . Dans la relation (2), en regroupant les termes ayant le même coefficient P (a)/Q 0 (a), on obtient Z X P (x) d x = b i Log R i (x) (4) Q(x) i où chaque R i est R un polynôme. On dira que P /Q peut être exprimée sous forme fermée s’il existe une extension radicale F de Q telle que b i ∈ F et R i ∈ F [X ] pour tout i . On notera que cela signifie simplement que les nombres b i et les coefficients des polynômes R i peuvent s’obtenir à partir des rationnels en utilisant uniquement les opérations arithmétiques et les extractions de racines n-ièmes. On dispose du résultat suivant : Théorème 3. Soit RP /Q ∈ Q(X ) une fraction sous forme irréductibles, n’admettant que des pôles simples dans C. Si P /Q peut être exprimée sous forme fermée sur F , et si Q est irréductible sur F , alors il existe λ ∈ F tel que P = λQ 0 . Dans la relation (4), on peut supposer que, pour tout i , R i et R i0 sont premiers entre eux ; dans le cas contraire, R i aurait un facteur multiple S n qui donnerait simplement un autre terme nb i Log S dans la somme. On peut de même supposer R i et R j premiers entre eux pour i 6= j . En dérivant la relation (4) et en réduisant au même dénominateur, on obtient X P R 1 R 2 . . . R n = Q b i R 1 . . . R i0 . . . R n i Si 1 É j É n, alors R j divise tous les termes de la somme de droite, sauf le terme d’indice j avec lequel il est premier ; puisqu’il divise le membre de gauche, il doit donc diviser Q. C’est vrai pour tout j , et les R j sont premiers entre eux, donc R 1 . . . R n divise Q. Cela contredit l’irréductibilité de Q, sauf si n = 1 et Q = µR 1 . L’égalité précédente devient dans ce cas P /Q = λR 10 /R 1 , ce qui est le résultat demandé. R Par exemple, puisque X 2 − 2 est irréductible sur Q, d x/(x 2 − 2) ne peut pas être exprimée sans irrationnels. Un autre exemple est fourni par l’exemple U1 de l’introduction. On peut démontrer que le polynôme Q = 2X 5 − 10X + 5 n’est pas résoluble par radicaux, c’est-à-dire que ses racines ne sont pas dans une extension radicale de Q. Il est donc irréductible sur toute extension radicale de Q. Par suite, les primitives de P /Q n’ont une forme fermée que si P est de la forme λ(X 4 − 1). Les liens étroits qui existent entre expression sous forme fermée et résolution par radicaux n’ont rien pour surprendre : en effet, les problèmes difficiles qui ont conduit à la mise en place du Théorème Fondamental de l’Algèbre étaient en partie issus du problème de l’intégration des fractions rationnelles. 7 Dans certains cas, il est possible d’exprimer la partie transcendante R des 4primitives sans utiliser toutes les racines, ni même une seule d’entre elles. Considérons 2x/(x +1) d x ; un étudiant en licence est capable d’effectuer le changement de variable u = x 2 qui conduit à la primitive Arctan(x 2 ). Il est pinstructif p d’appliquer à cet exemple la méthode vue plus haut. Les racines de X 4 + 1 sont ±1/ 2 ± i / 2. On obtient les solutions Z p p 2x d x = Arctan( 2x − 1) − Arctan( 2x + 1) +C x4 + 1 C’est en général sous cette forme que les systèmespde calcul formel donnent d’ailleurs ces primitives, qui sont naturellement exprimées sur Q( 2). Mais, en utilisant la formule d’addition Arctan a + Arctan b = Arctan[(a + b)/(1 − ab)], on obtient Z 2x d x −1 π = Arctan 2 +C = − + Arctan x 2 +C = Arctan x 2 +C 4 x +1 x 2 Il est donc parfois possible d’exprimer les primitives d’une fraction rationnelle dans un corps plus petit que celui qui contient les racines de son dénominateur. La primitivation de la partie transcendante dépend en fait de la résolubilité d’un polynôme différent du dénominateur. On considère toujours une fraction P /Q irréductible et à pôles simples. Un nombre b est appelé un résidu de P /Q s’il existe une racine a de Q telle que b = P (a)/Q 0 (a). Notons que : 1. Un nombre b est un résidu si et seulement si P (a) − bQ 0 (a) = 0 pour une racine a de Q, ce qui est le cas si et seulement si les polynômes P − bQ 0 et Q ont une racine commune. 2. Si R est le PGCD des polynômes P − bQ 0 et Q, alors les racines de R sont exactement les racines de Q admettant b comme résidu. Dans l’équation (2), on regroupe les termes pour obtenir Z X P (x) d x = b i Log R i (x) Q(x) i où les b i sont les résidus et R i est le PGCD de P − b i Q 0 et Q. Ainsi, si nous arrivons à déterminer les résidus b i , un calcul de PGCD nous donnera les primitives. Pour cela, notons que, si b est un résidu, et si l’on calcule formellement le PGCD de P − bQ 0 et de Q, alors le premier reste constant (c’est-à-dire indépendant de X ) doit être nul ; et ce premier reste constant est en fait un polynôme en b. Le reste précédent est alors le PGCD pour les valeurs de b annulant ce polynôme. Illustrons ceci sur l’exemple de 2X /(X 4 + 1). On cherche le PGCD de X − 4bX 3 et de X 4 + 1. Le premier reste constant est 1 + 16b 2 ; le reste précédent est 1 − 4bX 2 . Les résidus sont i /4 et −i /4 ; on substitue dans 1 − 4bX 2 pour obtenir les R i correspondants, et on obtient Z ³ x2 − i ´ i i 2x d x i 2 2 = Log(1 − i x ) − Log(1 + i x ) = − Log x4 + 1 2 2 2 x2 + i La réponse est donnée sur le corps Q(i ), qui fournit les racines de 1+16b 2 . On retrouve la forme Arctan(x 2 ) en utilisant la relation entre Arctan et logarithme complexe : Arctan x = x −i π 1 Log − 2i x +i 2 8