Algorithme de Remez
En mathématiques, l’algorithme de Remez, du nom de son inventeur Eugène Yakovlevitch Remez, vise à construire la meilleure approximation polynomiale d'une fonction continue sur un intervalle borné, étant donné le degré maximal du polynôme.
Cet algorithme est le calcul pratique lié au théorème d'équi-oscillation de Tchebychev (cf. Théorie de l'approximation). Voir aussi les polynômes de Tchebychev.
Algorithme
Le but est de trouver le polynôme de degré n qui approche au mieux une fonction continue f donnée sur un intervalle , dans le sens où le maximum de la différence entre le polynôme et la fonction doit être minimal :
Cela implique que la différence entre le polynôme et la fonction atteindra extremums, de même amplitude et qui alterneront.
Notons le polynôme cherché.
Il y a donc inconnues qui sont :
Première étape :
Un départ possible est de choisir les zéros du polynôme de Tchebychev de degré et de déterminer le polynôme qui coïncide avec la fonction en ces points. Il faut faire une homothétie des zéros pour tenir compte des bornes de l'intervalle. Les valeurs à prendre en compte sont :
- , pour
Il faut donc résoudre :
- pour
Explicitement, si on cherche les coefficients du polynôme cela donne :
Sous forme de matrice, cela donne :
Première étape, meilleur départ :
Un meilleur départ est de choisir les extremums du polynôme de Tchebychev de degré , bornes comprises.
Deuxième étape :
Une fois un premier polynôme approximant la fonction trouvé, chercher les n+2 extremums de la différence entre le polynôme et la fonction. En général, les deux bornes et font partie de ces extremums. Cela devrait donner points .
En général, est le premier extremum, ensuite les autres extremums alternent entre "minima" et "maxima", jusqu'à .
Troisième étape :
Déterminer le polynôme de degré qui satisfait :
où e est la n+2e inconnue.
Si l'approximation trouvée n'est pas suffisamment bonne, retourner à l'étape 2. En général une itération suffit, la convergence est très rapide.
Sous forme de matrice, l'équation à résoudre est :
La valeur absolue donne une bonne estimation de la différence maximale entre le polynôme et la fonction sur l'intervalle donné.
Remarque
Une dernière légère amélioration serait d'écrire le polynôme sous la forme :
où est le n-ème polynôme de Tchebychev.
Ensuite on évalue efficacement ce polynôme en par
pour
Les coefficients décroîtront habituellement rapidement.
Article connexe
Bibliographie
- J.-M. Muller, Elementary functions: Algorithms and Implementation. éd. Birkhäuser (1997, rééd. 2005), (ISBN 0-8176-4372-9), p. 41–47
- Numerical Recipes, The Art of Scientific Computing, Second Edition ou Third Edition, William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery, éd. Cambridge university press, 1992 ou 2007. Chapitre 5, "Chebyshev Approximation" jusqu'à "Rational Chebyshev Approximation".
Liens externes
- (en) Eric W. Weisstein, « Remez Algorithm », sur MathWorld
- Approximation polynomiale de fonctions dans le langage SciLab, avec une implémentation de l'algorithme de Remez. C.f. la Série 4 et le corrigé qui suit.
- Portail de l'informatique théorique