Manipulation de polynômes.

Utilisation de Xcas

Modérateur : xcasadmin

diplo
Messages : 5
Inscription : sam. nov. 07, 2009 2:17 pm

Manipulation de polynômes.

Message par diplo » sam. nov. 07, 2009 7:08 pm

Bonjour,
j'écris le script suivant.
P:=x*y+x*x:
et je veux la liste des coefficients et des exposants.
Je tape
L:=symb2poly(P,[x,y]);
Je suis content, j'ai la liste des coefficients et des exposants. Mais comment accéder à cette information pour l'utiliser.
L[1] ne donne rien L[1,1] non plus.
(supposons par exemple que je veuille écrire un script qui divise chaque coefficient par son degré).
Comment faire?
Merci,
Diplo.

parisse
Messages : 5894
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: Manipulation de polynômes.

Message par parisse » sam. nov. 07, 2009 7:51 pm

Il n'y a pas de support pour ça actuellement (je n'ai que des fonctions à la maple sur les polynomes au format symbolique, comme coeff(-x^4+3x*y^2+x,[x,y],[1,2]), mais ca n'est pas difficile d'en rajouter. Il faut juste définir lesquelles, L[1,2] me paraitrait raisonnable pour avoir le coeff du polynome au format interne correspondant à [1,2]. Après il faudrait voir ce que doit renvoyer coeffs, une liste de liste(coeff,monome)? De quoi avez-vous besoin?

diplo
Messages : 5
Inscription : sam. nov. 07, 2009 2:17 pm

Re: Manipulation de polynômes.

Message par diplo » sam. nov. 07, 2009 8:51 pm

J'ai besoin de multiplier chaque coefficient par une fonction linéaire du degré.
Donc si avec une notation multi-indicielle
P=\sum a_{i}x^i i=i_1,...,i_n
et l est une fonction linéaire de R^n dans lui même.
Je veux construire
Q=\sum l(i)a_i x^i
l(i)=\sum b_j i_j est une fonction prédéfinie.
(J'ai construit une librairie pour faire ça et d'autres choses en python, mais je ne sais pas si python peut utiliser les fonctions Xcas.)
Diplo

parisse
Messages : 5894
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: Manipulation de polynômes.

Message par parisse » dim. nov. 08, 2009 7:22 am

Ok, le mieux est peut-etre de modifier la fonction map lorsqu'on a a affaire a un polynome, il faudrait que la fonction appliquee soit
f(coeff,index1,...,indexn)->nouveau_coeff
et ca s'appliquerait alors a tous les monomes,
qu'en pensez-vous?

diplo
Messages : 5
Inscription : sam. nov. 07, 2009 2:17 pm

Re: Manipulation de polynômes.

Message par diplo » dim. nov. 08, 2009 10:01 am

Ce serait très pratique d'avoir une telle fonction, en effet.
Mais ce qui serait très pratique également c'est de pouvoir convertir le type polynôme en une liste
%%%{1,[2,0]%%%}+%%%{1,[1,1]%%%}
serait par exemple transformé en
[[1,[2,0]],[1,[1,1]]

parisse
Messages : 5894
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: Manipulation de polynômes.

Message par parisse » jeu. déc. 17, 2009 12:44 pm

Je remonte ce topic, j'avais oublie d'indiquer que de nouvelles fonctions ont ete rajoutees:
- convert pour convertir de liste vers polynome interne
- map pour appliquer une fonction aux coefficients d'un polynome interne

Répondre