COMP2PUI(3,[4,g]);
                     2          3
           [4, g, - g  + 2 h2, g  - 3 h2 g + 3 h3]
pc : 2*a^3*b*x^4*y + x^5$
CONT2PART(pc,[x,y]);
                         3
                    [[2 a  b, 4, 1], [1, 5]]
Autres fonctions de changements de repre'sentations :
CONTRACT, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
psym : EXPLOSE(2*a^3*b*x^4*y,[x,y,z]);
        3      4      3      4      3    4   
     2 a  b y z  + 2 a  b x z  + 2 a  b y  z 
                3    4        3      4      3    4
           + 2 a  b x  z + 2 a  b x y  + 2 a  b x  y
CONTRACT(psym,[x,y,z]);
                        3    4
                     2 a  b x  y
Autres fonctions de changements de repre'sentations :
CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
DIRECT([z^2  - e1* z + e2, z^2  - f1* z + f2], z, b*v + a*u, 
              [[u, v], [a, b]]);
                    2                         2           2
                   z  - e1 f1 z - 4 e2 f2 + e1  f2 + e2 f1
DIRECT([z^3-e1*z^2+e2*z-e3,z^2  - f1* z + f2], z, b*v + a*u,
              [[u, v], [a, b]]);
 6            5            4       2     4          2  4 
Y  - 2 E1 F1 Y  - 6 E2 F2 Y  + 2 E1  F2 Y  + 2 E2 F1  Y
    2   2  4 
+ E1  F1  Y  
              3                  3       3        3          3  3
+ 9 E3 F1 F2 Y  + 5 E1 E2 F1 F2 Y  - 2 E1  F1 F2 Y  - 2 E3 F1  Y
	    3  3       2   2  2       2      2  2     4   2  2
- 2 E1 E2 F1  Y  + 9 E2  F2  Y  - 6 E1  E2 F2  Y  + E1  F2  Y
	    2     2       2   2     2       2      2     2 
- 9 E1 E3 F1  F2 Y  - 6 E2  F1  F2 Y  + 3 E1  E2 F1  F2 Y
            4  2 
+ 2 E1 E3 F1  Y  
    2   4  2                 2         2         2   
+ E2  F1  Y  - 27 E2 E3 F1 F2  Y + 9 E1  E3 F1 F2  Y
         2      2  
+ 3 E1 E2  F1 F2  Y
    3         2                3            2      3      
- E1  E2 F1 F2  Y + 15 E2 E3 F1  F2 Y - 2 E1  E3 F1  F2 Y
       2   3     
- E1 E2  F1  F2 Y
	    5          2   3                 3       3      3
- 2 E2 E3 F1  Y - 27 E3  F2  + 18 E1 E2 E3 F2  - 4 E1  E3 F2
       3   3 
 - 4 E2  F2
    2   2   3        2   2   2                2   2     3      2   2
+ E1  E2  F2  + 27 E3  F1  F2  - 9 E1 E2 E3 F1  F2  + E1  E3 F1  F2
    3   2   2       2   4                 4        2   6
+ E2  F1  F2  - 9 E3  F1  F2 + E1 E2 E3 F1  F2 + E3  F1
Recherche du polyno^me dont les racines sont les somme a+u ou a est racine de z^2 - e1* z + e2 et u est racine de z^2 - f1* z + f2
DIRECT([z^2  - e1* z + e2,z^2  - f1* z + f2], z,a+u,[[u],[a]]);
 4         3         3         2     2  2            2         2 
Y  - 2 F1 Y  - 2 E1 Y  + 2 F2 Y  + F1  Y  + 3 E1 F1 Y  + 2 E2 Y
    2  2 
+ E1  Y  
                               2                   2                 
- 2 F1 F2 Y - 2 E1 F2 Y - E1 F1  Y - 2 E2 F1 Y - E1  F1 Y
                2 
- 2 E1 E2 Y + F2  
                         2           2                2
+ E1 F1 F2 - 2 E2 F2 + E1  F2 + E2 F1  + E1 E2 F1 + E2
DIRECT peut prendre deux drapeaux possibles : ELEMENTAIRES et PUISSANCES (valeur par de'faut) qui permettent de de'composer les polyno^mes syme'triques apparaissant dans ce calcul par les fonctions syme'triques e'le'mentaires ou les fonctions puissances respectivement.
fonctions de SYM utilis'ees dans cette fonction :
MULTI_ORBIT (donc ORBIT), PUI_DIRECT, MULTI_ELEM (donc ELEM), MULTI_PUI (donc PUI), PUI2ELE, ELE2PUI (si le drapeau DIRECT est a` PUISSANCES).
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2PUI, ELEM, MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
 ele2polynome([2,e1,e2],z);
                                  2
                                 Z  - E1 Z + E2
 polynome2ele(x^7-14*x^5  + 56*x^3  - 56*X + 22,x);
              [7, 0, - 14, 0, 56, 0, - 56, - 22] 
 ele2polynome( [7, 0, - 14, 0, 56, 0, - 56, - 22],x);
                          7       5       3
                         X  - 14 X  + 56 X  - 56 X + 22
la re'ciproque : POLYNOME2ELE(p,z)
autres fonctions a` voir :
POLYNOME2ELE, PUI2POLYNOME.
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELEM, MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
Sur un alphabet de cardinal 3 avec e1, la premie`re fonction syme'trique e'le'mentaire, valant 7, le polyno^me syme'trique en 3 variables dont la forme contracte'e (ne de'pendant ici que de deux de ses variables) est x^4-2*x*y se de'compose ainsi en les fonctions syme'triques e'le'mentaires :
ELEM([3,7],x^4-2*x*y,[x,y]);
                               2
                   28 e3 + 2 e2  - 198 e2 + 2401
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
EXPLOSE(a*x +1,[x,y,z]);
                     (x + y + z) a + 1
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
kostka([3,3,3],[2,2,2,1,1,1]);
                                  6
LGTREILLIS(4,2);
[[3, 1], [2, 2]]
Voir e'galement : LTREILLIS, TREILLIS et TREINAT.
 ltreillis(4,2);
                         [[4, 0], [3, 1], [2, 2]]
Voir e'galement : LGTREILLIS, TREILLIS et TREINAT.
On e'crit cette fonction de Schur en fonction des formes monomiales en utilisant les fonctions TREINAT et KOSTKA. La forme rendue est un polyno^me syme'trique dans une de ses repre'sentations contracte'es avec les variables x1, x2, ...
 mon2schur([1,1,1]);
                               X1 X2 X3
 mon2schur([3]);
                                         2        3
                            X1 X2 X3 + X1  X2 + X1
 MON2SCHUR([1,2]);
					     2
 			      2 x1 x2 x3 + x1  x2
ce qui veut dire que pour 3 variables cela donne :
   2 x1 x2 x3 + x1^2 x2 + x2^2 x1 + x1^2 x3 + x3^2 x1
    + x2^2 x3 + x3^2 x2
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM, MULTI_ELEM, MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
MULTI_ELEM([[2,e1,e2],[2,f1,f2]],a*x+a^2+x^3,[[x,y],[a,b]]);
2 3 - 2 f2 + f1 + e1 f1 - 3 e1 e2 + e1
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM, MON2SCHUR, MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
 MULTI_ORBIT(a*x+b*y,[[x,y],[a,b]]);
          [b y + a x, a y + b x]
 multi_orbit(x+y+2*a,[[x,y],[a,b,c]]);
              [Y + X + 2 C, Y + X + 2 B, Y + X + 2 A]
voir e'galement : ORBIT pour l'action d'un seul groupe syme'trique
MULTI_PUI([[2,p1,p2],[2,t1,t2]],a*x+a^2+x^3,[[x,y],[a,b]]);
                                              3
                                       3 P1 P2   P1
                          T2 + P1 T1 + ------- - ---
                                          2       2
Soient les 2 polyno^mes syme'triques en x, y : 3*(x+y) + 2*x*y et 5*(x^2+y^2) dont les formes partitionne'es sont respectivement [[3,1],[2,1,1]] et [[5,2]], alors leur produit sera donne' par :
 MULTSYM([[3,1],[2,1,1]],[[5,2]],2);
            [[10, 3, 1], [15, 2, 1], [15, 3, 0]]
soit 10*(x^3*y+y^3*x)+15*(x^2*y +y^2*x) +15(x^3+y^3)
Fonctions de changements de repre'sentations d'un polyno^me syme'trique :
CONTRACT, CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
 orbit(a*x+b*y,[x,y]);
                        [A Y + B X, B Y + A X]
 orbit(2*x+x^2,[x,y]);
                                2         2
                              [Y  + 2 Y, X  + 2 X]
voir e'galement : MULTI_ORBIT pour l'action d'un produit de groupes syme'triques sur un polyno^me.
PART2CONT([[2*a^3*b,4,1]],[x,y]);
                        3    4
                     2 a  b x  y
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, EXPLOSE, PARTPOL, TCONTRACT, TPARTPOL.
PARTPOL(-a*(x+y)+3*x*y,[x,y]);
                   [[3, 1, 1], [- a, 1, 0]]
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, EXPLOSE, PART2CONT, TCONTRACT, TPARTPOL.
 POLYNOME2ELE(x^7-14*x^5  + 56*x^3  - 56*X + 22,x);
              [7, 0, - 14, 0, 56, 0, - 56, - 22] 
 ELE2POLYNOME( [7, 0, - 14, 0, 56, 0, - 56, - 22],x);
                          7       5       3
                         X  - 14 X  + 56 X  - 56 X + 22
la re'ciproque : ELE2POLYNOME(l,x)
PUI;
		       1
PUI([3,a,b],u*x*y*z,[x,y,z]);
			       3
			     (a  - 3 b a + 2 p3) u
         		     ---------------------
				      6
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM, MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
 PUI2COMP(2,[]);
					 2
				       p1  + p2
        		       [2, p1, --------]
					  2
 PUI2COMP(3,[2,a1]);
			      2	        3
			    a1  + p2  a1  + 3 p2 a1 + 2 p3
          	    [2, a1, --------, --------------------]
			       2	       6
Autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM, MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI, PUI2ELE, PUIREDUC, SCHUR2COMP.
Autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM, MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI, PUI2COMP, PUIREDUC, SCHUR2COMP.
(C6) polynome2ele(x^3-4*x^2+5*x-1,x);
(D6)                             [3, 4, 5, 1]
(C7) ele2pui(3,%);
(D7)                             [3, 4, 6, 7]
(C8) pui2polynome(x,%);
                               3      2
(D8)                          X  - 4 X  + 5 X - 1
Autres fonctions a` voir :
POLYNOME2ELE, ELE2POLYNOME.
Soit f un polynome en n blocs de variables lvar1,...,lvarn. Soit ci le nombre de variables dans lvari . Et SC le produit des n groupes syme'triques de degre' c1,...,cn. Ce groupe agit naturellement sur f La liste ORBITE est l'orbite, note'e SC(f), de la fonction f sous l'action de SC. (Cette liste peut e^tre obtenue avec la fonction : MULTI_ORBIT). Les di sont des entiers tels que c1<=d1, c2<=d2,...,cn<=dn. Soit SD le produit des groupes syme'triques S_d1 x S_d2 x...x S_dn.
la fonction pui_direct rame`ne les N premie`res fonctions puissances de SD(f) de'duites des fonctions puissances de SC(f) ou` N est le cardinal de SD(f).
Le re'sultat est rendue sous forme multi-contracte'e par rapport a SD. i.e. on ne conserve qu'un e'le'ment par orbite sous l'action de SD).
L:[[x,y],[a,b]]$
PUI_DIRECT(MULTI_ORBIT(a*x+b*y, L), L,[2,2]);
                                    2  2
                 [a x, 4 a b x y + a  x ]
PUI_DIRECT(MULTI_ORBIT(a*x+b*y, L), L,[3,2]);
                         2  2     2    2        3  3
  [2 A X, 4 A B X Y + 2 A  X , 3 A  B X  Y + 2 A  X ,
    2  2  2  2      3    3        4  4
12 A  B  X  Y  + 4 A  B X  Y + 2 A  X ,
    3  2  3  2      4    4        5  5
10 A  B  X  Y  + 5 A  B X  Y + 2 A  X ,
    3  3  3  3       4  2  4  2      5    5        6  6
40 A  B  X  Y  + 15 A  B  X  Y  + 6 A  B X  Y + 2 A  X ]
 PUI_DIRECT([y+x+2*c, y+x+2*b, y+x+2*a],[[x,y],[a,b,c]],[2,3]);
                             2              2
      [3 x + 2 a, 6 x y + 3 x  + 4 a x + 4 a , 
              2                   3        2       2        3
           9 x  y + 12 a x y + 3 x  + 6 a x  + 12 a  x + 8 a ]
PUI_DIRECT([y+x+2*c, y+x+2*b, y+x+2*a],[[x,y],[a,b,c]],[3,4]);
PUIREDUC(3,[2]);
						  3
				      3 p1 p2 - p1
         		  [2, p1, p2, -------------]
					    2
Afin de rendre plus efficaces les calculs on peut mettre des drapeaux a` la variable RESOLVANTE afin que des algorithmes ade'quates soient utilise's :
Si la fonction f est unitaire :
(x1*x2+x2*x3+x3*x4+x4*x5+x5*x1 -
     (x1*x3+x3*x5+x5*x2+x2*x4+x4*x1))^2
generale,
 resolvante:unitaire;
resolvante(x^7-14*x^5  + 56*x^3  - 56*X + 22,x,x^3-1,[x]);
  7      6        5         4          3           2
Y  + 7 Y  - 539 Y  - 1841 Y  + 51443 Y  + 315133 Y  + 376999 Y
 + 125253
resolvante : lineaire;
resolvante(x^4-1,x,x1+2*x2+3*x3,[x1,x2,x3]);
 24       20         16            12             8              4
Y   + 80 Y   + 7520 Y   + 1107200 Y   + 49475840 Y  + 344489984 Y
							 + 655360000
	       Meme solution pour : 
resolvante : general;
resolvante(x^4-1,x,x1+2*x2+3*x3,[x1,x2,x3]);
resolvante(x^4-1,x,x1+2*x2+3*x3,[x1,x2,x3,x4])
direct([x^4-1],x,x1+2*x2+3*x3,[[x1,x2,x3]]);
resolvante:lineaire$
resolvante(x^4-1,x,x1+x2+x3,[x1,x2,x3);
			       4
			      Y  - 1
resolvante:symetrique$
resolvante(x^4-1,x,x1+x2+x3,[x1,x2,x3]);
			       4
			      Y  - 1
resolvante(x^4+x+1,x,x1-x2,[x1,x2]);
	  12      8       6        4        2
	 Y   + 8 Y  + 26 Y  - 112 Y  + 216 Y  + 229
resolvante:alternee$
resolvante(x^4+x+1,x,x1-x2,[x1,x2]);
	  12      8       6        4        2
	 Y   + 8 Y  + 26 Y  - 112 Y  + 216 Y  + 229
resolvante:produit;
resolvante(x^7-7*x+3,x,x1*x2*x3,[x1,x2,x3]);
   35      33         29        28         27        26         24
  Y   - 7 Y   - 1029 Y   + 135 Y   + 7203 Y   - 756 Y   + 1323 Y
          23          22            21           20          19
+ 352947 Y   - 46305 Y   - 2463339 Y   + 324135 Y   - 30618 Y
	  18 
- 453789 Y   
	    17              15             14              12 
- 40246444 Y   + 282225202 Y   - 44274492 Y   + 155098503 Y
            11 
+ 12252303 Y
	   10              9            8            7             6
+ 2893401 Y   - 171532242 Y  + 6751269 Y  + 2657205 Y  - 94517766 Y
	   5             3
- 3720087 Y  + 26040609 Y  + 14348907
   resolvante:symetrique$
  resolvante(x^7-7*x+3,x,x1*x2*x3,[x1,x2,x3]);
  35      33         29        28         27        26         24
 Y   - 7 Y   - 1029 Y   + 135 Y   + 7203 Y   - 756 Y   + 1323 Y
          23          22            21           20          19
+ 352947 Y   - 46305 Y   - 2463339 Y   + 324135 Y   - 30618 Y
           18 
 - 453789 Y
            17              15             14              12
- 40246444 Y   + 282225202 Y   - 44274492 Y   + 155098503 Y
             11 
 + 12252303 Y   
           10              9            8            7             6
+ 2893401 Y   - 171532242 Y  + 6751269 Y  + 2657205 Y  - 94517766 Y
           5             3
- 3720087 Y  + 26040609 Y  + 14348907
resolvante:cayley$
resolvante(x^5-4*x^2+x+1,x,a,[]);
" resolvante de Cayley " 
 6       5         4          3            2
X  - 40 X  + 4080 X  - 92928 X  + 3772160 X  + 37880832 X + 93392896
Pour la re'solvante de Cayley, les 2 derniers arguments sont neutres et le polyno^me donne' en entre'e doit ne'cessairement e^tre de degre' 5.
Voir e'galement :
RESOLVANTE_BIPARTITE, RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE, RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE, RESOLVANTE , RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE, RESOLVANTE_BIPARTITE.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE, RESOLVANTE , RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE,RESOLVANTE_ALTERNEE1
 RESOLVANTE_BIPARTITE(x^6+108,x);
                 10        8           6             4
                Y   - 972 Y  + 314928 Y  - 34012224 Y
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE, RESOLVANTE, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE, RESOLVANTE_ALTERNEE1.
resolvante_diedrale(x^5-3*x^4+1,x);
 15       12       11       10        9         8         7        6
X   - 21 X   - 81 X   - 21 X   + 207 X  + 1134 X  + 2331 X  - 945 X
           5          4          3          2
   - 4970 X  - 18333 X  - 29079 X  - 20745 X  - 25326 X - 697
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE, RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE, RESOLVANTE_ALTERNEE1, RESOLVANTE, RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE, RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
  resolvante_produit_sym(x^5+3*x^4+2*x-1,x);
  5      4             10      8       7       6       5    4 
[Y  + 3 Y  + 2 Y - 1, Y   - 2 Y  - 21 Y  - 31 Y  - 14 Y  - Y
      3 
+ 14 Y
      2       10      8       7    6       5       4       3      2
+ 3 Y  + 1, Y   + 3 Y  + 14 Y  - Y  - 14 Y  - 31 Y  - 21 Y  - 2 Y  
      5      4
+ 1, Y  - 2 Y  - 3 Y - 1, Y - 1]
resolvante:produit$
esolvante(x^5+3*x^4+2*x-1,x,a*b*c,[a,b,c]);
 10      8       7    6       5       4       3      2
Y   + 3 Y  + 14 Y  - Y  - 14 Y  - 31 Y  - 21 Y  - 2 Y  + 1
Voir e'galement :
RESOLVANTE, RESOLVANTE_UNITAIRE, RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE, RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE, RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3, RESOLVANTE, RESOLVANTE_DIEDRALE.
SCHUR2COMP(h1*h2-h3,[h1,h2,h3]); s 1, 2 SCHUR2COMP(a*h3,[h3]); s a 3
Voir e'galement PRODRAC.
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TPARTPOL.
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT.
 treillis(4);
            [[4], [3, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1]]
Voir e'galement : LGTREILLIS, LTREILLIS et TREINAT.
   treinat([5]);
                               [[5]]
   treinat([1,1,1,1,1]);
    [[5], [4, 1], [3, 2], [3, 1, 1], [2, 2, 1], [2, 1, 1, 1],
     [1, 1, 1, 1, 1]]
   treinat([3,2]);
                        [[5], [4, 1], [3, 2]]
Voir e'galement : LGTREILLIS, LTREILLIS et TREILLIS.