Décomposition d'un polynôme en somme de deux polynômes, pair et impair
#!/usr/bin/env python# -*- coding: UTF-8 -*-"""
décomposition d'un polynôme en deux polynômes, respectivement pair et impair,
qui par sommation rendent le polynôme intial
"""def polyadd(a,b):
"""
Addition de deux polynômes de coefficients a et b
"""
r = a[:]# on travaille sur une copie de a pour ne pas le modifier
t = b[:]# idem pour b
g =[]# polynôme somme
n1 =len(r)# ordre du premier polynôme
n2 =len(t)# ordre du second polynômeif n1 > n2: # premier polynôme de plus haut degré que le secondfor i inrange(n1-n2):
t.append(0)elif n1 < n2: # second polynôme de plus haut degré que le premierfor i inrange(n2-n1):
r.append(0)# r et t ont à présent la même longueurfor i inrange(len(r)):
g.append(r[i] + t[i])return g # on retourne les coefficients additionnés dans la liste gdef dpi(a):
"""
décomposition d'un polynôme en deux polynômes, respectivement pair et impair,
qui par sommation rendent le polynôme intial
"""
p =[]# sortie polynôme pair
i =[]# sortie polynôme impair
n =len(a)-1for j inrange(n+1):
if j%2==0:
p.append(a[j])
i.append(0.)else:
i.append(a[j])
p.append(0.)# autre idée :#p = a[0::2] # il faut ajouter des 0 ...#i = a[1::2] # il faut ajouter des 0 ...return p,i
#po = [1., 2., 3., 4., 5., 6., 7., 8., 9.]
po =[1.]print(po)
p1, p2 = dpi(po)print(p1)print(p2)
a = polyadd(p1, p2)print(a)
Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus