Table des matières
Ceci est une ancienne révision du document !
Polynômes : fonctionnalités supplémentaires
Voici quelques fonctions utiles pour manipuler les polynômes :
Dérivation
Proposé et testé par RL, étudiant ba2 2012-2013. <sxh python; title : derivation.py> # -*- coding: utf-8 -*- def polyderiv(a):
"""dérivation d'un polynôme """ b=a[:] #copie de la liste des coefficients du polynôme de départ n=len(b)-1 #ordre du polynôme for i in range (n+1): b[i]=b[i]*i #on redéfinit chaque coefficient i de la liste par ce même coefficient*le degré b.pop(b[0]) #on supprime le premier élément de la liste (terme indépendant) return b
</sxh>
Multiplication par x
Proposition de AP, étudiant ba2 2012-2013 : <sxh python; title : polyx.py> # -*- coding: utf-8 -*- def polyx(a):
"""polyx est un fonction qui multiplie un polynôme par x. Cela revient à rajouter un 0 à gauche de la liste passée en argument de la fonction (a). """ b=[0] #Nouvelle liste dont le premier terme vaut 0. for coef in range(len(a)): #Pour tout les coefficients de la liste a de degré n, on ajoute la liste b. b.append(a[coef]) return b
</sxh> Les listes pouvant être concaténées, on peut écrire cela plus simplement encore : <sxh python; title : polyshift.py> # -*- coding: utf-8 -*- def polyshift (a):
"""Multiplication du polynome par la variable x""" b=[0]+a # cela revient à "shifter" la liste des coefficients en insérant un 0 "à gauche" return b
</sxh>
Intégration
Sur base de la proposition de RL, étudiant ba2 2012-2013 : <sxh python; title : polyintegr.py> def polyintegr(a):
"""intégration d'un polynôme """ b=[0] #on indique un coefficient indépendant nul en début de la liste (constante d'intégration nulle) n=len(a) #ordre du polynôme après intégration == ordre du polynôme avant intégration +1 for i in range (n): # on balaie sur toutes les puissances i successives b.append(a[i]/(i+1)) #le coefficient du terme correspondant après intégration est ajouté return b
</sxh> Suite...