« Python pour le calcul scientifique/Polynômes » : différence entre les versions

Contenu supprimé Contenu ajouté
avec la classe
Ligne 25 :
On peut aussi évaluer un polynôme défini directement par ses racines :
<source lang="python">
nppol.polyalfromroots(x, [r1, r2, r3])
</source>
Le vecteur du affine polynôme ''a''<sub>0</sub> + ''a''<sub>1</sub>⋅''x'', donc le vecteur <code>[a0, a1]</code>, s'obtient avec
<source lang="python">
nppol.polyline(a0, a1)
</source>
 
Ligne 42 ⟶ 47 :
plt.plot(x, y, "+")
plt.plot(x, nppol.polyval(x, p)
</source>
NumPy propose des polynômes élémentaires :
<source lang="python">
nppol.polyzero # p(x) = 0
nppol.polyone # p(x) = 1
nppol.polyx # p(x) = x
</source>
 
Ligne 53 ⟶ 64 :
nppol.polypol(p, n) # élévation à la puissance p^n
</source>
 
== Classe <code>Polynomial</code> ==
Le module propose la classe <code>Polynomial</code>. Le polynôme a donc une représentation propre et dispose de méthodes optimisées.
 
Les exemples ci-dessus deviennent :
<source lang="python">
p = nppol.Polynomial((a0, a1, a2)) # p(x) = a0 + a1⋅x + a2⋅x^2
p.__call(x)__ # évaluation de p(x), x étant un nombre ou un vecteur
p.roots() # racines de p
p = nppol.Polynomial.fromroots((r0, r1, r2)) # p(x) = (x - r1)⋅(x - r2)⋅(x - r3)
p = nppol.Polynomial.fit(x, y, 2) # régression polynomiale de degré 2 sur (x, y)
</source>
Les opérations classiques s'appliquent aux polynômes : <code>+</code>, <code>-</code>, <code>*</code>, <code>//</code>, <code>%</code>, <code>**</code>.
 
== Notes et références ==