Bonjour, et merci de l'attention que vous porterez à ma question
Je cherche un algorithme pour calculer les (coefficients de) polynômes orthogonaux pour un certain poids f. Ma première idée était d'utiliser l'algorithme de Gram-Schmidt, mais celui-ci s'avère trop lent.
En fait, le but est de calculer des déterminants de Hankel d'une fonction f. La première manière de le faire est simplement de créer la matrice de Hankel (qui nécessite donc 2n-1 intégrations (n étant l'ordre du déterminant de Hankel)) et ensuite d'en prendre le déterminant.
Mais grâce à un théorème, on sait que ce même déterminant est en fait un produit des n-1 coefficients dominants des n-1 premiers polynômes orthogonaux de f. Je me demande donc s'il est possible de calculer le déterminant de Hankel de cette manière. Seulement pour l'instant (avec Gram-Schmidt), cela requiert de l'ordre de n^2 intégrations, ce qui est beaucoup plus qu'avec la manière "simple" et directe de le faire.
La raison pour laquelle je cherche à utiliser les polynômes orthogonaux est la suivante : quand n devient grand (en fait à partir de n ~= 20), le déterminant de Hankel devient énorme, ce qui engendre des erreurs de calculs bien trop importantes. Hors mon but est d'ensuite diviser par une constante qui est aussi énorme. Je voulais donc "diluer" cette division à travers le produit des coefficients orthogonaux...
Malheureusement Gram-Schmidt est vraiment trop long (~= 10 secondes pour n = 6 contre ~= 2 pour la méthode "simple").
La question est donc : y a-t-il un algorithme efficace (de l'ordre de n en fait) pour calculer les n premiers polynômes orthogonaux de f (f pouvant être absolument immonde :p (lisse, tout de même)).
Merci d'avance
Partager