Polynomes TD
Polynomes TD
[1,1,0,1]
[1,0,0,0,-5]
P(X)=5+2X^4
Q(X)=0
Def image(P ,v) :
Result=0
For i in range(len(P)):
Result=P[i]*(v**i)
Def degre(P):
For i in range(len(P)-1;-1;-1):
If P[i] !=0:
Return i
Return 0
Def monome(a;i):
Return [0] * i + [a]
Def normaliser (P) :
While len(P) >1 and P[-1] ==0 :
P.pop()
Return P
Def mul_scalaire(P;v):
Return normaliser([v*coeff for coeff in P])
Def somme(P;Q):
Max_len = max(len(P);len(Q))
P+= [0] * (max_len – len(P))
Q+= [0] * (max_len – len(Q))
Return normaliser([P[i] + Q[i] for i in range
(max_len)])
Def difference(P;Q) :
Max_len = max(len(P) ; len(Q))
P += [0] * (max_len – len(P))
Q += [0] * (max_len – len(Q))
Return normaliser([P[i] – Q[i] for i in
range(max_len)])
Def produit(P;Q) :
Result=[0] * (len(P) + len(Q)-1)
For i in range(len(P)):
For j in range(len(Q)):
Result[i + j] += P[i] * Q[j]
Return normaliser(result)
Def div(P;Q) :
If len(Q) == 0:
Raise ValueError(“Division par zero’’)
Quotient = [0] * (len(P) – len(Q) +1)
Reste = P.copy()
While len(reste) >= len(Q) :
Coeff = reste[-1] / Q[-1]
Deg = len(reste) – len(Q)
Quotient[deg] = coeff
For i in range(len(Q)):
Reste[deg + i] -= coeff*Q[i]
Reste = normaliser(reste)
Return normaliser(quotient) ;normaliser(reste)
Def derivée(P) :
Return normaliser([i * P[i] for I in range(1;len(P))])
Def primitive(P):
Return normaliser([0] + [P[i] /(i+1) for i in
range(len(P))])
Zayd LEKHRIBAT