TP PYTHON - 10 4
ou
>>> P= polyGeo (5)
>>> P
-1+X-X**2+ X**3-X **4+X**5
>>> Q= polyGeo (8)
>>> Q
1-X+X **2 -X**3+X**4-X **5+X**6 -X**7+X**8
>>> P+Q
X**6-X **7+X**8
3) La méthode spéciale __sub__ permet de redéfinir la soustraction. Le faire et tester cet opérateur.
Un exemple :
>>>P= polynome (1 ,2,3 ,-4)
>>> P
1+2 X+3X**2 -4 X**3
>>> Q= polynome (3 ,-2 ,1)
>>> Q
3-2X+X**2
>>> P-Q
-2+4X+2X**2 -4 X**3
>>> P-P
0
La multiplication scalaire. Si Pest un polynôme et αun réel, la fonction x7→ αP(x) est un polynôme
et se note αP.
Python fournit une méthode spéciale __rmul__ ( pour right multiplication), qui, si Pest un objet et a
un objet d’une autre classe, déclenche cette méthode de Plorsque l’objet a*P est créé.
Voici un exemple d’utilisation de cette multiplication scalaire :
>>> P= polynome (1 ,-2 ,1)
>>> -2*P
-2+4X -2X**2
[Qu. 5] Ecrire la définition de cette méthode pour que, si l’objet Preprésente le polynôme Pet ale
réel α, l’objet a*P représente le polynôme αP.
Le produit. Reprenons nos deux polynômes, P=
n−1
X
k=0
akXket Q=
m−1
X
k=0
bkXk. Naturellement, la fonction
produit, PQ, c’est à dire celle qui à tout xréel associe P(x)Q(x) est une fonction polynomiale et vérifie :
PQ =
n+m−2
X
k=0
ckXk
les réels cks’exprimant à partir des réels a0, ..., anet b0, ..., bm. Précisément :
∀k∈[[0,n+m−2]] ,ck=
min(n−1,k)
X
i=max(k−m+1,0)
aibk−i
Par exemple, pour k=0, c0=a0b0et pour k=n+m−2, cn+m−2=an−1bm−1.