Le polynôme x2+2xy+y2 s’écrit au format interne :
%%%{1,[2,0]%%%}+%%%{2,[1,1]%%%}+%%%{1,[0,2]%%%}
On peut transformer x2+2xy+y2 au format interne avec la commande
symb2poly (voir 6.25.6). Par exemple p:=symb2poly((x+y)^
2,[x,y]) renvoie
%%%{1,[2,0]%%%}+%%%{2,[1,1]%%%}+%%%{1,[0,2]%%%}
Pour un polynôme de n variables, f va agir sur les coefficients de
chaque monôme du polynôme.
Pour agir sur un monôme de n variables, f doit être une fonction de
n+1 variables, on considère que ces variables représentent le coefficient,
l’exposant de la première variable,...,l’exposant de la n-ième variable
et f transforme le coefficient de ce monôme.
Par exemple, si le monôme est 5x2y3, au format interne il s’écrit :
%%%{5,[2,3]%%%}
et si f est dédfinie par :
f(a,b,c):=a*(2*b+3*c)
alors
map(%%%{5,[2,3]%%%},f) renvoie le monôme
f(5,2,3)x2y3=65x2y3 écrit au format interne, c’est à dire
%%%{65,[2,3]%%%}
On tape :
map(%%%{5,[2,3]%%%},(a,b,c)->a*(2b+3c))
On obtient :
%%%{65,[2,3]%%%}
On tape :
map(%%%{1,[2,0]%%%}+%%%{2,[1,1]%%%}+%%%{1,[0,2]%%%},(a,b,c)->a*(b+2c))
On obtient :
%%%{2,[2,0]%%%}+%%%{6,[1,1]%%%}+%%%{4,[0,2]%%%}
car si f est la fonction (a,b,c)−>a*(b+2c) alors f(1,2,0)=2,f(2,1,1)=6, f(1,0,2)=4