un problème de calcul formel

Quelqu'un a-t'il déjà considéré le problème suivant avec un langage de calcul formel (je pense en particulier à sage) ?

Je sais qu'une application linéaire L définie sur une algèbre vérifie mettons
L(1)=1
L(x)=u
L(y)=v
L(x^2)=z
L(y^2)=t

Comment faire dire au logiciel que $L((1+x+y)^2)=1+z+t+2*u+2*t+2*L(xy)$ ? Merci.


Merci.

Réponses

  • Voila un programme en Xcas pour faire ca:
    fonction L(s)
      local k;
      si size(lname(s))==0 alors return s; fsi;
      k:=find(s,[x,y,x^2,y^2]);
      si size(k)>0 alors return [u,v,z,t][k[0]]; fsi;
      si type(s)!=expression alors return 'L'(s); fsi;
      si s[0]=='+' alors 
        k:=feuille(s);
        k:=map([k],L);
        return '+'(k); fsi;
      si s[0]=='*' && size(lname(s[1]))==0 alors
       k:=tail(feuille(s)); 
       return s[1]*L('*'(k)) 
      fsi;
      return 'L'(s);
    ffonction:;
    L(normal((1+x+y)^2))
    
  • Et un lien pour le
    [url=http://www-fourier.ujf-grenoble.fr/~parisse/xcasfr.html#+fonction L(s)%0A local k%3B%0A si size(lname(s))%3D%3D0 alors return s%3B fsi%3B%0A k%3A%3Dfind(s%2C[x%2Cy%2Cx^2%2Cy^2])%3B%0A si size(k)>0 alors return [u%2Cv%2Cz%2Ct][k[0]]%3B fsi%3B%0A si type(s)!%3Dexpression alors return 'L'(s)%3B fsi%3B%0A si s[0]%3D%3D'%2B' alors %0A k%3A%3Dfeuille(s)%3B%0A k%3A%3Dmap([k]%2CL)%3B%0A return '%2B'(k)%3B fsi%3B%0A si s[0]%3D%3D'*' %26%26 size(lname(s[1]))%3D%3D0 alors%0A k%3A%3Dtail(feuille(s))%3B %0A return s[1]*L('*'(k)) %0A fsi%3B%0A return 'L'(s)%3B%0Affonction%3A%3B&+L(normal((1%2Bx%2By)^2))&]tester en ligne[/url]
  • Par contre, ca ne fera rien si on a des proprietes sur L(X*Y).
Connectez-vous ou Inscrivez-vous pour répondre.