• Aucun résultat trouvé

3 Nouvelle vision des algorithmes existants

On interpr`ete maintenant les algorithmes de Paszkowski [Pas75] et Rebillard [Reb98]

comme le calcul d’un num´erateur d’une fraction d’op´erateurs de r´ecurrence. On propose aussi un nouvel algorithme plus rapide. Les trois algorithmes calculent la m^eme r´ecurrence.

Partant de

𝐿=

𝑘

𝑖=0

𝑝𝑖(𝑥)𝜕𝑥𝑖, (5.9)

ces algorithmes ´evitent d’utiliser des fractions en rempla¸cant les d´erivations par des int´egrations, exploitant le fait que

𝐼∶=𝐷1= ( 1

2𝑛) (−𝑆𝑛+𝑆𝑛1)

est un polyn^ome (et non une fraction). Ces algorithmes calculent le polyn^ome 𝐼𝑘𝜙(𝐿), qui est le num´erateur de 𝜙(𝐿) =𝐼𝑘𝐼𝑘𝜙(𝐿). Ainsi, par le th´eor`eme 5.5, leur r´esultat est une r´ecurrence annulant les coefficients des s´eries de Tchebychev solutions de 𝐿.

Si 𝑝𝑘(1)𝑝𝑘(−1) ≠0, la proposition 5.4 montre que𝐼𝑘 est le d´enominateur de la fraction irr´eductible et de plus dans ce cas tous les algorithmes calculent la fraction irr´eductible.

Sinon, le r´esultat de ces algorithmes peut avoir un plus grand ordre que celui retourn´e par l’algorithme de Lewanowicz.

Entr´ee: 𝐿= ∑𝑘𝑖=0𝑝𝑖(𝑥)𝜕𝑥𝑖 Sortie: 𝐼𝑘𝜙(𝐿)

Calculer 𝑞0, . . . , 𝑞𝑘 tels que 𝐿= ∑𝑘𝑖=0𝜕𝑥𝑖𝑞𝑖(𝑥) 𝑅∶=𝑞𝑘(𝑋)

pour tout 𝑖de 1 `a𝑘 faire 𝑅∶=𝑅+𝐼𝑖𝑞𝑘𝑖(𝑋)

fin pour renvoyer 𝑅

Algorithme 5.2:Algorithme de Paszkowski

Exemple 5.13. La fonction (1−𝑥2)14 a ´et´e trait´ee avec l’exemple 5.11. L’algorithme de Lewanowicz retourne la r´ecurrence d’ordre deux (5.7). Le num´erateur retourn´e par les autres algorithmes est d’ordre 4.

(2𝑛+1)𝑐𝑛−4(𝑛+2)𝑐𝑛+2+ (2𝑛+7)𝑐𝑛+4=0.

Il est cependant possible de r´ecup´erer une r´ecurrence d’ordre plus petite : le gcld de 𝐴= (2𝑛+7)𝑆𝑛4−4(𝑛+2)𝑆2𝑛+ (2𝑛+1) avec 𝐼 est 𝐼, de sorte que 𝐴 se factorise comme 𝐴= (𝑆𝑛2−1)𝑃 avec 𝑃 comme dans l’exemple5.11.

Plus g´en´eralement, en divisant le r´esultat du calcul de 𝐼𝑘𝜙(𝐿) `a gauche par le gcld avec 𝐼𝑘, on retrouve le r´esultat de l’algorithme de Lewanowicz.

3.1 Algorithme de Paszkowski

Le point de d´epart de l’algorithme de Paszkowski est de r´e´ecrire 𝐿 de (5.9) sous la forme (eqInv) comme ci-dessous

𝐿=

𝑘

𝑖=0

𝜕𝑥𝑖𝑞𝑖(𝑥). (eqInv)

Les polyn^omes 𝑞𝑖 peuvent ^etre calcul´es par r´ecurrence en commen¸cant par 𝑞𝑘 = 𝑝𝑘 et soustrayant𝜕𝑥𝑘𝑞𝑘 pour produire un op´erateur d’ordre plus petit.

Alors

𝐼𝑘𝜙(𝐿) =

𝑘

𝑖=0

𝐼𝑘𝑖𝑞𝑖(𝑋). (5.10)

L’algorithme5.2 s’en d´eduit.

3.2 Algorithme de Rebillard

Le point de d´epart de l’algorithme de Rebillard est l’identit´e 𝑋𝑘=𝐼𝑘𝑋𝐷𝑘= (2𝑛)1((𝑛+𝑘)𝑆𝑛+ (𝑛−𝑘)𝑆𝑛1),

3. NOUVELLE VISION DES ALGORITHMES EXISTANTS 95

Entr´ee: 𝐿= ∑𝑘𝑖=0𝑝𝑖(𝑥)𝜕𝑥𝑖 Sortie: 𝐼𝑘𝜙(𝐿)

Calculer𝑝𝑖(𝑋𝑘),𝑖=0, . . . , 𝑘 𝑅∶=𝑝𝑘(𝑋𝑘)

pour tout𝑖 de 1 `a𝑘 faire 𝑅∶=𝑅+𝑝𝑘𝑖(𝑋𝑘)𝐼𝑖 fin pour

renvoyer 𝑅

Algorithme 5.3: Algorithme de Rebillard qui d´ecoule d’une simple r´ecurrence. De l`a, il d´eduit

𝐼𝑘𝜙(𝐿) =

𝑘

𝑖=0

𝐼𝑘𝑝𝑖(𝑋)𝐷𝑘𝐼𝑘𝑖=

𝑘

𝑖=0

𝑝𝑖(𝑋𝑘)𝐼𝑘𝑖. L’algorithme 5.3s’en d´eduit.

3.3 Analyse de complexit´e

On donne maintenant une analyse de complexit´e des algorithmes de Paszkowski, Rebillard et Lewanowicz. Ceci r´ev`ele une source d’inefficacit´e pour des ordres grands, ce que l’on corrige dans notre nouvel algorithme dans la section suivante.

On a besoin de consid´erer les tailles des polyn^omes en deux variables𝑛et 𝑆𝑛. On dit qu’un polyn^ome a un bidegr´e (𝑑, 𝑘) en (𝑛, 𝑆𝑛)quand il a un degr´e𝑚 en 𝑛et𝑝 en 𝑆𝑛.

D’abord, on analyse avec plus de pr´ecision la forme de𝐼𝑖. Proposition 5.14 (Rebillard [Reb98]). Pour tout 𝑖∈N,

𝐼𝑖= 1 𝑟(𝑖)

(𝑛+1)𝑖1𝑆𝑛𝑖+

𝑖1

𝑘=1

𝑠(𝑘)𝑆𝑛𝑖+2𝑘+ (𝑛𝑖+1)𝑖1𝑆𝑛𝑖

,

o`u𝑟(𝑖) =2𝑖𝑛𝑖𝑘=11(𝑛2𝑘2), 𝑠(𝑘) = (−1)𝑘(𝑖

𝑘)(𝑛𝑖+2𝑘)(𝑛+𝑘+1)𝑖1𝑘(𝑛𝑖+1)𝑘1, et on utilise le symbole de Pocchammer (𝑎)𝑖=𝑎(𝑎+1)⋯(𝑎+𝑖−1).

En particulier, le bidegr´e de𝑟(𝑖)𝐼𝑖 en(𝑛, 𝑆𝑛)est(𝑖−1,2𝑖). La preuve est une fastidieuse mais simple r´ecurrence que l’on omet ici. De cette formule se d´eduit une estimation pr´ecise des tailles des polyn^omes qui sont calcul´es.

Corollaire 5.15. Si 𝐿 dans (5.9) a un bidegr´e (𝑑, 𝑘) en (𝑥, 𝜕𝑥), alors 𝑟(𝑘)𝐼𝑘𝜙(𝐿) est un polyn^ome de bidegr´e en (𝑛, 𝑆𝑛) au plus (2𝑘−1,2(𝑘+𝑑)).

D´emonstration. D’abord, 𝐿 peut ^etre r´e´ecrit comme dans l’algorithme de Paszkowski

𝑘𝑖=0𝜕𝑖𝑥𝑞𝑖(𝑥) avec deg𝑞𝑖𝑑. L’identit´e 𝑟(𝑘)𝐼𝑘𝜙(𝐿) =

𝑘

𝑖=0

𝑟(𝑘) 𝑟(𝑖)

(𝑟(𝑖)𝐼𝑖)𝑞𝑘𝑖(𝑋) (5.11) montre que c’est un polyn^ome en𝑛. Chaque terme de cette somme est le produit entre un polyn^ome de bidegr´e(2(𝑘𝑖),0), un polyn^ome de bidegr´e(𝑖−1,2𝑖) et un polyn^ome de bidegr´e au plus(0,2𝑑). Ainsi chaque sommant a un bidegr´e au plus (2𝑘𝑖−1,2𝑖+2𝑑), d’o`u le r´esultat.

Proposition 5.16. Etant donn´´ e 𝐿 comme ci-dessus en entr´ee, l’algorithme de Paszkowski requiert 𝒪(𝑑𝑘3) op´erations arithm´etiques.

D´emonstration. La premi`ere ´etape est le calcul des𝑞𝑖 `a partir des 𝑝𝑖. La m´ethode r´ecursive requiert seulement𝒪(𝑑𝑘2) op´erations arithm´etiques comme cela est montr´e dans la section suivante.

L’´etape suivante est la boucle. Le principal co^ut de cette ´etape est la multiplication de𝐼𝑖 par𝑞𝑘𝑖(𝑋). On multiplie le polyn^ome de bidegr´e(𝑖−1,2𝑖), avec un polyn^ome en𝑆𝑛 seulement, de degr´e 2𝑑. Le co^ut de ces multiplications est 𝒪(𝑖2𝑑)op´erations arithm´etiques.

La somme de𝑖jusqu’`a 𝑘donne le r´esultat.

Proposition 5.17. Dans les m^emes conditions, l’algorithme de Rebillard requiert 𝒪(𝑑3𝑘+ 𝑑2𝑘3) op´erations arithm´etiques.

D´emonstration. La premi`ere ´etape est le calcul des 𝑝𝑖(𝑋𝑘). Le polyn^ome 𝑋𝑘𝑖 est de bi-degr´e (3𝑖,2𝑖) en (𝑛, 𝑆𝑛). Ainsi chaque 𝑝𝑖(𝑋𝑘) peut-^etre calcul´e en 𝒪(𝑑3) op´erations et l’ensemble en𝒪(𝑑3𝑘)op´erations.

Le co^ut de la 𝑖`eme ´etape de la boucle est domin´e par le co^ut de la multiplication de𝑝𝑘𝑖(𝑋𝑘) par 𝐼𝑖. Le polyn^ome 𝑝𝑘𝑖(𝑋𝑘) est de bidegr´e (3𝑑,2𝑑)en(𝑛, 𝑆𝑛), puisque 𝐼𝑖 est de bidegr´e(2𝑖−1,2𝑖). La multiplication na¨ıve requiert alors 𝒪(𝑑2𝑖2) op´erations. La somme jusqu’`a𝑘donne le r´esultat.

Le r´esultat de l’algorithme de Lewanowicz est diff´erent en g´en´eral. On donne une comparaison dans les cas o`u il co¨ıncide.

Proposition 5.18. Dans les m^emes conditions, et si les gcrd durant son ex´ecution sont triviaux, l’algorithme de Lewanowicz requiert 𝒪(𝑑𝑘3) op´erations arithm´etiques.

D´emonstration. On donne seulement un aper¸cu. Comme tous les gcrd sont triviaux, il s’av`ere que le calcul des lclm et des cofactors sont de m^emes ordres de complexit´e que le calcul du produit𝑄𝑝𝑖, o`u on a de plus𝑄=𝐼𝑘𝑖. Les m^emes arguments que lors de l’analyse de l’algorithme de Paszkowski permettent de conclure.

3. NOUVELLE VISION DES ALGORITHMES EXISTANTS 97

En fait les r´ecurrences retourn´ees par l’algorithme de Lewanowicz et de Paszkowski co¨ıncide souvent. En effet la proposition 5.4page 90nous dit que pour que les r´ecurrences ne co¨ıncident pas, il faut que l’´equation diff´erentielle admette une singularit´e en ±1. Ce ph´enom`ene est assez rare.