Réponse de Jean Jacquelin
du 16/8/1 à 17h 14 :Je ne suis pas sûr d'avoir bien compris votre
question. Voici quelques réflexions à ce sujet :
Si vous vous trouvez dans la situation suivante: Quelqu'un vous dit: "J'ai une
fonction que je ne vous dévoile pas. Vous pouvez me demander 1024 points de cette
fonction. Avec cela, dites-moi de quelle fonction il s'agit". Votre réponse sera:
"impossible de trouver avec certitude quelle est la fonction. En effet, on peut
trouver autant de fonctions que l'on veut. Mais je ne peux pas deviner laquelle vous avez
utilisée".
Au contraire, si la question qui vous est posée est la suivante : "J'ai choisi
une fonction dans telle ou telle liste de fonctions usuelles. Vous pouvez me demander 1024
points de cette fonction. Avec cela, dites-moi de quelle fonction il s'agit". Votre
réponse pourrait être: "Oui, en principe, je peux retrouver la fonction en question
dans la plupart des cas. Au pire, il me faudra tester les fonctions de la liste usuelle
les unes après les autres. Et je n'ai pas besoin d'autant de points, car le nombre de
paramètres à déterminer est faible en général. Néanmoins, si vous avez choisi une
fonction comportant plus de 1024 paramètres (comme par exemple un polynôme du 1025 ième
degré, j'échouerai. Et même lorsqu'une solution est possible en théorie, je ne suis
pas certain en pratique de pouvoir mener les calculs à terme, soit pour des raisons de
précision de calcul numérique, soit pour des raisons de volume ou de temps de
calcul".
Le problème est encore différent si on demande de trouver une fonction (n'importe
laquelle) passant par 1024 points et non pas la fonction particulière qui a servi à
calculer ces points.
C'est encore autre chose si l'on donne 1024 points au hasard (sans utiliser de fonction
pour les calculer) ou si c'est un algorithme de génération de nombres pseudo-aléatoires
qui est utilisé, cet algorithme étant une façon, bien que très spéciale, de définir
une fonction.
Il y a probablement bien d'autres cas. Conclusion : La réponse est très ambiguë.
Espérons que d'autres interlocuteurs vous apporterons des idées plus précises
Réponse de Willix du 22/8/1
à 13h 25 :
Quand on se penche sur la question que vous posez, la réponse la plus courante
est alors l'interpolation de Lagrange, qui est en fait déduie d'un résultat
algébrique : On cherche, parmi les 1024 points les solutions qui permettent
d'avoir un polynôme qui s'annule en 1023 points, et en ajoutant ces polynômes
on reconstitue la fonction.
Cependant, cette méthode ne me parait pas très approprié pour votre calcul,
sauf si parmi les 1024 points il y a beaucoup de zéros.
Je vous donne quand même la formule qui permet de trouver un polynôme
interpolateur.
{Ai}={1024 points}
Le polynôme de degré 1024 qui vaut 1 en Aj et 0 aux autres points est
P= somme (x-Ai)/(Aj-Ai)
i différent de j
En ajoutant ces polynômes, vous urez ainsi un polynome de degré 1024, ce qui ne diminue
pas votre nombre d'inconnues, mais qui doit réduire le nombre de calcul fait par
l'ordinateur, en effet si ma mémoire est bonne on passe d'un nombre de calcul en n^3 à
n² (n étant le nombre de points où on fixe les valeurs) si on lui fait résoudre un
système par la méthode du pivot de Gauss. Sinon, l'interpolation est un problème
classique de mathématique, et de nombreux ouvrages lui sont consacrés, mais ils doivent
être d'un niveau assez élevé. Bon courage Fifidou.
|