Calcul formel : Mode d'emploi - Exemples en Maple
Claude Gomez, Bruno Salvy, Paul Zimmermann
Masson, 1995
Chapitre VI, section 1.4, exercice 3, page 155.
Philippe.Dumas@inria.fr
http://algo.inria.fr/dumas/Maple/
|
|
Le point crucial est le fait que la fraction rationnelle proposée n'a que des pôles simples. Il en résulte que sa décomposition en éléments simples s'écrit , où la somme porte sur les pôles de la fraction. Le coefficient est le résidu de la fraction en le pôle et il est donné par la formule .
Le polynôme cherché est le polynôme dont les racines sont les . Dire que est racine de , c'est dire qu'il existe une racine commune au deux équations et . Il suffit donc de prendre pour , le résultant . Nous avons réduit la première équation au même dénominateur car le résultant s'applique à deux polynômes. Il ne reste plus qu'à mettre ce résultat en pratique.
> R:=(x^9+1)/(x^10-1);
> A:=numer(R):
B:=denom(R):
> F:=resultant(z*diff(B,x)-A,B,x);
Il est tentant de vérifier le résultat. On peut procéder comme suit. On décompose la fraction en employant convert/fullparfrac (qui a le mérite de travailler symboliquement et uniquement à l'aide de calculs de pgcd). Ensuite on explicite la décomposition en s'appuyant sur allvalues ; la transformation réussit parce que l'exemple est simple. La procédure unlikely est tirée de [DuGo97, page 119].
> dec:=convert(R,fullparfrac,x);
> unlikely:=proc(s)
local sf;
if has(s,Sum) then
if op(0,s)=Sum and has(op(2,s),RootOf) then
add(sf,sf={allvalues(subs(op(2,s),op(1,s)))})
else map(unlikely,s)
fi
else s
fi
end: # unlikely
> DEC:=unlikely(dec);
Il ne reste plus qu'à extraire chaque résidu et à vérifier qu'il est bien racine du polynôme obtenu.
> for i in DEC do
n:=remove(has,i,x);
evalc(subs(z=n,F))
od;
Il est important de noter que la vérification que nous venons d'effectuer est en général impossible parce qu'on ne sait pas résoudre explicitement les équations algébriques. Par contre la première partie, fondée sur l'emploi du résultant, est valable quel que soit le degré des polynômes mis en jeu. La seule hypothèse que nous avons utilisée est le fait que les pôles de la fraction sont simples. Ceci se vérifie par un calcul de pgcd et, à nouveau, ce calcul de pgcd est possible quel que soit le degré.