1 \documentclass[11pt
]{article
}
2 \setlength{\textheight}{9.4in
}
3 \setlength{\textwidth}{6.75in
}
4 \setlength{\hoffset}{-
1.8cm
}
5 \setlength{\voffset}{-
2cm
}
6 \title{Extension SYM de MACSYMA\\
7 MANUEL DE L'UTILISATEUR
}
8 \author{Annick Valibouze\\
11 75252 Paris Cedex
05\\
12 Unit\'e associ\'ee au CNRS No
248\\
14 GDR DE CALCUL FORMEL MEDICIS\\
15 \small{e-mail : avb@sysal.ibp.fr
}}
16 \date{19 juillet
1993}
17 \hyphenation{sen-tant puis-sance men-tai-re
}
18 \newcommand{\indexentry}[2]{{\tt #1} &
#2\\
}
26 Cette documentation concerne un module de manipulation de fonctions
27 sym\'etriques implant\'e en CommonLisp. Ce module, nomm\'e
{\tt SYM
},
28 se pr\'esente actuellement comme une extension du syst\`eme de calcul
31 Parmi ses applications, signalons des calculs de r\'esolvantes.
33 \section{D\'
{e
}finitions et notations
}
34 Nous consid\`ererons un anneau $
\cal A$.
35 \subsection{Polyn\^omes sym\'etriques
}
36 Nous nous donnons un entier $n >
0$.
37 \subsubsection*
{Action de groupe
}
38 Soit $S_n$ le groupe sym\'etrique de degr\'e $n$.
40 Soit $E$ un ensemble quelconque. Notons $E^n$ l'ensemble des
41 $n$-uplets d'\'el\'ements de $E$. L'action de $S_n$ sur tout $n$-uplet
42 $
\underline a=(a_1,
\ldots,a_n)$ de $E^n$ est d\'efinie comme suit~:
44 S_n
\times & E^n &
\longrightarrow E^n\\
45 \sigma \;\;
\times &
{\underline a
} &
\longrightarrow
46 \sigma{\underline a
}=(a_
{\sigma (
1)
},
\ldots,a_
{\sigma (n)
}).
48 Soit $
{\cal A
}[\underline x
]$ l'anneau des polyn\^omes
50 de $
\underline x=(x_1,
\ldots ,x_n)$ \`a coefficients dans $
\cal A$.
51 L'action de $S_n$ sur $
{\cal A
}(
\underline x)$ est d\'efinie
54 S_n &
\times {\cal A
}[\underline x
] &
\longrightarrow {\cal A
}[\underline x
]\\
55 \sigma &
\times f &
\longrightarrow \sigma f \;\; :\;
56 \sigma f(
{\underline x
})=f(
\sigma{\underline x
}).
59 {\it Remarque.
} L'action de $S_n$ s'\'etend \`a des ensembles $E^c$
60 ou $
{\cal A
}[x_1,
\ldots ,x_c
]$ avec $c
\leq n$ par simple
61 plongement de ces ensembles dans $E^n$ et $
{\cal A
}[\underline x
]$
64 Soit $f$ une fonction de $
{\cal A
}[\underline x
]$ (resp. $
\underline a$ un
65 $n$-uplet). Nous noterons $S_nf$ (resp. $S_n
\underline a$) l'ensemble
66 $\
{\sigma f \;|\;
\sigma \in S_n \
}$ (resp. $\
{\sigma\underline a \;|\;
68 \in S_n \
}$) appel\'e l'
{\it orbite
} de $f$ (resp. $
\underline a$)
69 sous l'action de $S_n$.
71 \subsubsection*
{Partitions, polyn\^omes sym\'etriques
}
73 Soit $m$ un entier naturel.
74 Une
{\it partition
} de $m$, est une suite
75 d\'ecroissante d'entiers naturels $i_1
\geq i_2
\geq \ldots..$ appel\'ees
76 {\it parts
} dont la somme est \'egale \`a $m$. Cette somme est le
{\it poids
}.
77 de la partition et sa
{\it longueur
} est le nombre de ses parts non nulles.
79 Soit $p$ un polyn\^ome de $n$ variables. Ce polyn\^ome est dit
{\it
80 sym\'etrique
} s'il reste invariant sous l'action de $S_n$, c'est-\`a-dire si
84 Un polyn\^ome sym\'etrique peut-\^etre repr\'esent\'e par des
88 Soient $I=(i_1,
\ldots ,i_n)$ (i.e. $i_1
\geq i_2
\geq \ldots \geq i_n$)
89 une partition de longueur inf\'erieure ou
90 \'egale \`a $n$ et $
{\underline x
}^I$ le mon\^ome
92 {\underline x
}^I = x_1^
{i_1
}x_2^
{i_2
}\ldots x_n^
{i_n
}.
94 Une
{\it forme monomiale
} $M_I(
{\underline x
})$ sur $
{\underline x
}$
95 index\'ee par $I$ est la somme des mon\^omes de l'orbite de
96 $
{\underline x
}^I$ sous l'action de $S_n$ :
98 M_I(
{\underline x
}) =
\sum_{J
\in S_nI
}{\underline x
}^J.
100 Les formes monomiales constituent naturellement une base d'espace vectoriel
101 sur l'anneau des polyn\^omes sym\'etriques~: tout
102 polyn\^ome sym\'etrique se repr\'esente comme une
103 combinaison lin\'eaire finie de formes monomiales.
105 \subsubsection*
{Repr\'esentations en machine
}
107 Soit $p$ un polyn\^ome sym\'etrique sur un anneau $
\cal A$.
108 Supposons que $p$ soit donn\'e sur la base des formes monomiales.
110 Dans la
{\it repr\'esentation contract\'ee
} de $p$
111 on remplace toute forme monomiale $M_I(x)$ par $x^I$, ou par tout mon\^ome
112 de $S_nx^I$, son orbite.
113 Dans sa
{\it repr\'esentation partitionn\'
{e
}e
}, on remplace tout
{\it terme
114 monomial
} $cM_I(x)$, o\`u $c$ est un coefficient sur $
\cal A$, par la liste
115 $
[c,i_1,
\ldots ,i_n
]$ et on r\'eunit le tout dans une liste.
117 {\it Exemple.
} le polyn\^
{o
}me contract\'
{e
} associ\'
{e
} \`
{a
}
118 $
3x^
4 +
3y^
4 -
2xy^
5 -
2x^
5y$ est
119 $
3x^
4 -
2xy^
5$ et le polyn\^
{o
}me partitionn\'
{e
} est
122 \subsection{Polyn\^omes multi-sym\'etriques
}
123 Nous g\'en\'eralisons ici le cas sym\'etrique.
124 Nous nous donnons un entier $r >
0$ et un $r$-uplet d'entiers
125 $D=(d_1,
\ldots ,d_r)$.
127 \subsubsection*
{Action de groupe
}
129 Soient $E_1, E_2,
\ldots ,E_r$ $r$ ensembles quelconques.
130 Notons $D(E)$ le produit $E_1^
{d_1
}\times E_2^
{d_2
}\times \ldots \times E_r^
{d_r
}$
132 L'action du produit de groupes sym\'etriques
133 $S_D=S_
{d_1
}\times S_
{d_2
} \times \ldots \times S_
{d_r
}$ sur $D(E)$ est
134 d\'efinie naturellement comme suit~:
136 S_D
\times& D(E) &
\longrightarrow D(E)\\
137 \sigma\;\;
\times & A &
\longrightarrow
138 \sigma A=(
\sigma_1{\underline a
}_1,
\ldots ,
\sigma_r{\underline a
}_r),
140 o\`u $
\sigma = (
\sigma_1,
\ldots ,
\sigma_r)$ avec $
\sigma_i \in
141 S_
{d_i
}$. L'orbite de $A$ sous l'action de $S_D$ sera
144 De m\^eme si $X=(
{\underline x
}_1,
\ldots,
{\underline x
}_r)$ est un
145 $r$-uplet tel que la $i$-i\`eme composante
146 $
{\underline x
}_i$ est un $d_i$-uplet de variables, on notera $
{\cal A
}[X
]$
147 l'ensemble des polyn\^omes en les variables de $X$ et \`a coefficients dans
149 L'action de $S_D$ sur $
{\cal A
}[X
]$ est d\'efinie
152 S_D &
\times {\cal A
}[X
] &
\longrightarrow {\cal A
}[X
]\\
153 \sigma &
\times f &
\longrightarrow \sigma f \;\; :\;
154 \sigma f(X)= f(
\sigma X).
156 L'orbite de $f$ sous l'action de $S_D$ sera
159 \subsubsection*
{Multi-partitions, Polyn\^omes multi-sym\'etriques
}
161 Une
{\it multi-partition
}, $I$, d'ordre $r$ est un $r$-uplet de partitions.
162 Nous appellerons la
{\it multi-longueur
} de $I$ la liste des longueur
163 des partitions qui constituent $I$.
165 Soit $p$ un polyn\^ome de $d_1+
\cdots + d_r$ variables. Ce polyn\^ome
166 est dit
{\it multi-sym\'etrique
} s'il reste invariant par $S_D$,
167 c'est-a-dire si $S_D p =\
{p\
}$.
169 Un polyn\^ome multi-sym\'etrique peut-\^etre repr\'esent\'e par des
172 Soient $X$ comme ci-dessus et $I=(I_1,
\ldots,I_r)$ un
173 $r$-uplet de $
{\bf N
}^
{d_1
}\times \ldots \times {\bf N
}^
{d_r
}$.
174 on notera naturellement par $X^I$ le mon\^ome
176 X^I =
{\underline x
}_1^
{I_1
}\ldots{\underline
179 Si $I$ est une multi-partition de multi-longueur inf\'erieure \`a $D$,
180 nous d\'efinissons la
181 {\it multi-forme monomiale
} $M_I(X)$ sur $X$
182 index\'ee par $I$ par la somme des mon\^ome de l'orbite de
183 $X^I$ sous l'action de $S_D$ :
185 M_I(X) =
\sum_{J
\in S_DI
} X^J.
188 Il est naturel de repr\'esenter un polyn\^ome multi-sym\'etrique par une
189 combinaison lin\'eaire de multi-forme monomiales sur l'anneau des
190 coefficients du polyn\^ome.
191 \subsubsection*
{R\'epresentation machine
}
192 Consid\'erons maintenant un polyn\^ome multi-sym\'etrique \`a
193 coefficients dans un anneau $
\cal A$ en les variables de $X$.
194 Ce polyn\^ome s'exprime naturellement comme
195 une somme finie de $cM_I(X)$ o\`u $c
\in {\cal A
}$ et $M_I(X)$ est une
196 multi-forme monomiale sur $X$. Une
{\it forme contract\'ee
}
197 associ\'ee \`a un polyn\^ome multi-sym\'etrique
198 consiste \`a remplacer dans ce polyn\^ome chaque $M_I(X)$ par le mon\^ome
199 $X^I$ ou bien par un autre mon\^ome de son orbite $S_DX^I$.
201 \section{Initialisation et mode op\'eratoire
}
203 Le fichier sym.mac comporte toutes les commandes d'auto-chargement. C'est
204 \'eventuellement dans ce fichier qu'il faut modifier des noms de chemins si
205 l'utilisation de
{\tt SYM
} doit se faire d'un autre directory que celui
206 o\`u il est install\'e.
208 le fichier
{\tt compile.lsp
} comporte la liste des fichiers \`a
209 compiler. Pour l'ex\'ecuter on peut le charger sous
{\tt LISP
} ou sous
211 par la commande
{\tt load(``compile.lsp'').
}
212 Une fois les fichiers de
{\tt SYM
} compil\'es on charge le module sous
213 {\tt MACSYMA
} avec le fichier
{\tt sym.mac
}~:
218 Sauf en cas de pr\'
{e
}cision, les fonctions appel\'
{e
}es compl\`
{e
}tent les
219 listes avec des valeurs formelles.
220 Pour la i\`
{e
}me fonction sym\'
{e
}trique \'
{e
}l\'
{e
}mentaire, ce sera
{\tt ei
},
221 pour la i\`
{e
}me fonction puissance, ce sera
{\tt pi
}, et pour la i\`
{e
}me
222 fonction compl\`ete ce sera
{\tt hi
}.\\
224 Il existe plusieurs modes d'\'evaluation de polyn\^omes sous MACSYMA :
225 meval, expand, rat, ratsimp.
226 SYM permet le choix du mode op\'eratoire.
227 A chaque appel d'une fonction, SYM teste si le drapeau de la variable
{\tt oper
}
228 a \'et\'e modifi\'e. Dans ce cas, le mode op\'eratoire est modifi\'e ainsi~:
230 \item Si
{\tt oper = meval
} (par d\'efaut), on fait
231 les op\'erations avec
{\tt meval
} .
232 \item Si
{\tt oper = expand
}, elles sont faites avec
{\tt expand
}.
234 \item Si
{\tt oper = rat
}, elles sont faites avec
{\tt rat
}.
235 \item Si
{\tt oper = ratsimp
}, elles sont faites avec
{\tt ratsimp
}.
238 Le mode
{\tt meval
} est avantageux en num\'erique. Avec des valeurs
239 formelles le mode
{\tt rat
} est souvent pr\'ef\'erable.
241 Pour mettre le drapeau d'
{\tt oper
} \`a
{\tt expand
}, par exemple, il
246 \section{Descriptif des fonctions disponibles
}
248 Prenons q la valeur minimale entre le degr\'
{e
} du polyn\^ome
{\tt sym
}
249 et le cardinal
{\tt card
}.
250 On met dans
{\tt lvar
} les variables du polyn\^ome consid\'er\'e le
251 distinguant ainsi des param\`etres \'eventuels.
253 \subsection{Combinatoire
}
255 \item {\tt ARITE(DEGRE, ARITE, PUISSANCES)
}
256 \index{ARITE(DEGRE, ARITE, PUISSANCES)
}
257 applique le the'ore`me de l'arite'
258 (A. Valibouze (
1992) Sur l'arit\'e des fonctions, \`a para
{\^
\i}tre dans
259 la revue European Journal of Combinatorics ). Cette fonction permet de
260 passer d'une fonction puissance d'une resolvante en ARITE variables
261 a une fonction puissance en DEGRE variables. Elle rajoute un
262 coefficient binomial a chaque partition. On suppose que les fonctions
263 puissances sont donne\'es sur la base des formes monomiales de mani\`ere
264 partitionn\'ee dans la liste PUISSANCES.
266 \item {\tt CARD
\_ORBIT(partition,n)
}
267 \index{CARD
\_ORBIT(partition,n)
}
268 $
\longrightarrow$
{\tt entier
}\\
269 {\tt partition
} est une partition donn\'ee sous la forme
270 $
[a_1,m_1,...,a_q,m_q
]$ o\`u $m_i$ est la multiplicit\'e de $a_i$
272 La fonction calcule le cardinal de l'orbite de la partition sous
273 l'action du groupe sym\'etrique de degr\'e
{\tt n
}.
275 \item {\tt MULTINOMIAL(r,part)
} \index{MULTINOMIAL(r part)
}
276 $
\longrightarrow$
{\tt entier
}\\
277 o\`u
{\tt r
} est le poids de la partition
{\tt part
}. Cette
278 fonction ram\`ene le coefficient multinomial associ\'e : si les
279 parts de la partitions
{\tt part
} sont $i_1, i_2, ..., i_k$, le r\'esultat de
280 {\tt MULTINOMIAL
} est $r!/(i_1!i_2!...i_k!)$.
282 \item {\tt CARD
\_STAB(l,egal)
}
283 \index{CARD
\_STAB(l,egal)
} $
\longrightarrow$
{\tt entier
}\\
284 {\tt l
} est une liste d'objets ordonn\'es et
{\tt egal
} est le
285 test d'\'egalit\'e entre eux. Soit n la longueur de la liste
{\tt l
}.
286 Cette fonction calcule le cardinal du stabilisateur de
{\tt l
} sous
287 l'action du groupe sym\'etrique d'ordre n.
289 \item {\tt PERMUT(l)
} \index{PERMUT(l)
}
290 $
\longrightarrow$ liste\\
291 ram\`ene la liste des permutations de la liste
{\tt l
}.
296 CARD_ORBIT(
[5,
2,
1,
3],
6);
298 CARD_STAB(
[a, a, c, b, b
], eq);
300 CARD_STAB(
[1,
1,
2,
3,
3], "=");
303 arite(
4,
2,
[[[1,
2,
4]],
[[1,
5,
5],
[1,
2]],
[[1,
2,
2],
[1,
3]]]);
305 [[[1,
2,
4]],
[[1,
5,
5],
[3,
2]],
[[1,
2,
2],
[3,
3]]]
307 Ci-dessus la liste des
308 fonctions puissances est $
[x^
2y^
4,x^
5y^
5 + x^
2,x^
2y^
2+x^
3]$ l'arit\'e
309 est
2 et le degr\'e est
4. Cette fonction est utile aux calculs de
312 \subsection{Sur les polyn\^omes d'une variable
}
314 \item {\tt ELE2POLYNOME(cele,z)
} \index{ELE2POLYNOME(cele,z)
}
315 $
\longrightarrow$ polyn\^ome\\
316 donne le polyn\^ome en
{\tt z
} dont les fonctions
317 sym\'etriques \'el\'ementaires des racines sont dans la liste
{\tt cele
}.
318 {\tt cele
}=$
[n,e_1,...,e_n
]$ o\`u $n$ est le degr\'e du polyn\^ome et
319 $e_i$ la $i$-i\`eme fonction sym\'etrique \'el\'ementaire.
321 \item {\tt POLYNOME2ELE(polyn\^ome,z)
} \index{POLYNOME2ELE(polyn\^ome,z)
}
322 $
\longrightarrow$
{\tt cele
}\\
323 donne la liste
{\tt cele
}=$
[n,e_1,...,e_n
]$ o\`u $n$ est le
324 degr\'e du polyn\^ome de la variable
{\tt z
}
325 et $e_i$ la $i$-i\`eme fonction sym\'etrique
326 \'el\'ementaire des ses racines.
330 ELE2POLYNOME(
[2,e1,e2
],z);
334 POLYNOME2ELE(X^
7-
14*X^
5 +
56*X^
3 -
56*X +
22,X);
336 [7,
0, -
14,
0,
56,
0, -
56, -
22]
338 ELE2POLYNOME(
[7,
0, -
14,
0,
56,
0, -
56, -
22],X);
341 X -
14 X +
56 X -
56 X +
22
344 \subsection{Changements de repr\'esentations
}
345 Un polyn\^ome sym\'etrique peut \^etre donn\'e sous plusieurs formes :
346 \'eetendue, contract\'ee, partitionn\'ee. Les fonctions d\'ecrites ci-dessous
347 permettent de passer d'une forme \`a une autre. Certaines r\'ealisent de plus
348 un test de sym\'etrie.
350 Dans tout les cas les variables du polyn\^ome sont contenues dans la liste
353 \item {\tt TPARTPOL(polyn\^ome,lvar)
\index{tpartpol(polyn\^ome,lvar)
}
354 $
\longrightarrow$ ppart ,\\
355 PARTPOL(polyn\^ome, lvar)
\index{partpol(polyn\^ome, lvar)
}
356 $
\longrightarrow$ ppart
}\\
357 ram\`
{e
}nent, ordonn\'e dans l'ordre lexicographique croissant et
358 d\'ecroissant respectivement, le
359 polyn\^
{o
}me partitionn\'
{e
} associ\'
{e
} au polyn\^
{o
}me donn\'e sous sa forme
360 \'etendue. Si le polyn\^ome n'est pas sym\'etrique, la fonction
361 {\tt TPARTPOL
} d\'eclenche une erreur.
363 \item {\tt TCONTRACT(polyn\^ome,lvar)
\index{tcontract(polyn\^ome,lvar)
}
364 $
\longrightarrow$ pc
}\\
365 {\tt CONTRACT(polyn\^ome,lvar)
\index{contract(polyn\^ome,lvar)
}
366 $
\longrightarrow$ pc
}\\
367 agissent respectivement comme
{\tt TPARTPOL
} et
{\tt PARTPOL
} en restituant la repr\'esention contract\'ee.
369 \item {\tt CONT2PART(pc,lvar)
\index{cont2part(pc,lvar)
}
370 $
\longrightarrow$ ppart
}\\
371 rend le polyn\^ome partitionn\'e
{\tt ppart
} d'un polyn\^ome sym\'etrique
372 donn\'e sous une forme contract\'ee
{\tt pc
}.
374 \item {\tt PART2CONT(ppart,lvar)
\index{part2cont(ppart,lvar)
}
375 $
\longrightarrow$ pc
}\\
376 rend une forme contract\'ee
{\tt pc
} d'un polyn\^ome sym\'etrique
377 donn\'e sous sa forme partitionn\'e
{\tt ppart
}.
379 \item {\tt EXPLOSE(pc,lvar)
\index{explose(pc,lvar)
}
380 $
\longrightarrow$ psym
}\\
381 rend la forme \'etendue
{\tt psym
} d'un polyn\^ome sym\'etrique
382 donn\'e sous une forme contract\'ee
{\tt pc
}.
387 TPARTPOL(x^
3-y,
[x,y
]);
391 Soit le polyn\^ome sym\'etrique de $
{\bf Z
}[x,y,z
]$ dont une forme
392 contract\'ee est $
2a^
3bx^
4y$. Nous allons lui imposer divers changements
393 de repres\'entations.
401 psym : EXPLOSE(pc,lvar);
403 2 a b y z +
2 a b x z +
2 a b y z
405 +
2 a b x z +
2 a b x y +
2 a b x y
408 Et si on lui applique la fonction
{\tt CONTRACT
} on retrouve une forme
415 TCONTRACT(psym,lvar);
424 ppart : CONT2PART(pc,lvar);
427 PART2CONT(ppart,lvar);
433 \subsection{Les fonctions li\'ees aux partitions
}
435 \item {\tt KOSTKA(part1,part2)
} \index{KOSTKA(part1,part2)
}
436 $
\longrightarrow$ entier\\
437 (\'ecrit par P.ESPERET) ram\`ene le
438 nombre de Kostka associ\'e aux partitions
{\tt part1
} et
{\tt part2
}.
439 \item {\tt TREINAT(part)
} \index{treinat(part)
}
440 $
\longrightarrow$ liste des partitions
441 inf\'erieures pour l'ordre naturel
442 \`a la partition
{\tt part
} et de m\^eme poids.
443 \item{\tt TREILLIS(n)
} \index{treillis(n)
}
444 $
\longrightarrow$ liste des partitions de poids $n$.
445 \item {\tt LGTREILLIS(n,m)
} \index{lgtreillis(n,m)
}
447 liste des partitions de poids $n$ et
449 \item {\tt LTREILLIS(n,m)
} \index{ltreillis(n,m)
}
451 liste des partitions de poids $n$ et
452 de longueur inf\'erieure ou \'egale \`a $m$.
456 KOSTKA(
[3,
3,
3],
[2,
2,
2,
1,
1,
1]);
461 [[4,
0],
[3,
1],
[2,
2]]
463 [[4],
[3,
1],
[2,
2],
[2,
1,
1],
[1,
1,
1,
1]]
466 TREINAT(
[1,
1,
1,
1,
1]);
467 [[5],
[4,
1],
[3,
2],
[3,
1,
1],
468 [2,
2,
1],
[2,
1,
1,
1],
[1,
1,
1,
1,
1]]
470 [[5],
[4,
1],
[3,
2]]
473 \subsection{Les calculs d'orbites
}
475 \item {\tt ORBIT(polyn\^ome,lvar)
\index{orbit(polyn\^ome,lvar)
}
476 $
\longrightarrow$ $S_n$(polyn\^ome) \\
}
477 ram\`ene la liste des polyn\^omes de l'orbite du polyn\^ome
479 du groupe sym\'etrique $S_n$. Les $n$ variables du polyn\^ome
480 variables sont contenues dans la liste
{\tt lvar
}.
481 \item {\tt MULTI
\_ORBIT(polyn\^ome,
[lvar$_
{1}$,lvar$_
{2}$,
\ldots ,lvar$_
{r
}$
])
482 \index{multi
\_orbit(polyn\^ome,
[lvar$_
{1}$,lvar$_
{2}$,
\ldots ,lvar$_
{r
}$
])
}
483 $
\longrightarrow$ $
{S_D
}$(polyn\^ome)
}\\
484 les variables de
{\tt polyn\^ome
} sont dans les listes de variables
485 {\tt lvar$_1$,lvar$_
{2}$,
\ldots ,lvar$_
{r
}$
} sur
486 lesquelles on fait agir respectivement les groupes sym\'etriques
487 $S_
{d_1
},S_
{d_2
},
\ldots ,S_
{d_r
}$. Cette fonction
488 ram\`ene l'orbite du polyn\^ome sous l'action du produit
489 $S_D$ de ces groupes sym\'etriques.
493 ORBIT(a*x+b*y,
[x,y
]);
494 [a y + b x, b y + a x
]
495 ORBIT(
2*x+x**
2,
[x,y,z
]);
497 [z +
2 z, y +
2 y, x +
2 x
]
498 MULTI_ORBIT(a*x+b*y,
[[x,y
],
[a,b
]]);
499 [b y + a x, a y + b x
]
500 MULTI_ORBIT(x+y+
2*a,
[[x,y
],
[a,b,c
]]);
502 [y + x +
2 c, y + x +
2 b, y + x +
2 a
]
505 \subsection{Le produit contract\'e de deux polyn\^omes sym\'etriques
}
507 \item{\tt MULTSYM(ppart1, ppart2,n)
\index{multsym(ppart1, ppart2,n)
}
508 $
\longrightarrow$ pc
} \\
509 calcule le produit de deux polyn\^omes
510 sym\'etriques de
{\tt n
} variables dont
{\tt part1
} et
{\tt part2
} sont les
511 formes partitionn\'ees associ\'ees.
514 Soient deux polyn\^omes sym\'etriques
{\tt p1
} et
{\tt p2
}. On va
515 calculer le produit des polyn\^omes par une m\'ethode classique du
516 produit de deux polyn\^omes quelconques, puis on r\'ealisera
517 ce produit avec
{\tt MULTSYM
}. On se place dans $
{\bf Z
}[x,y
]$.
523 prod : expand(p1*p2);
528 Constatons c'est la forme \'etendue du produit obtenu avec
{\tt MULTSYM
}~:
532 [[1,
3,
1],
[2,
2,
2]]
533 ppart1 : PARTPOL(p1,
[x,y
]);
535 ppart2 : PARTPOL(p2,
[x,y
]);
537 MULTSYM(ppart1, ppart2,
2);
538 [[1,
3,
1],
[2,
2,
2]]
542 \subsection{Les changements de bases
}
543 De mani\`ere g\'en\'erale, la liste
{\tt lvar
} repr\'ente la liste des
544 variables des polyn\^omes.
546 \item {\tt ELEM(cele,sym,lvar)
\index{elem(cele,sym,lvar)
}
547 $
\longrightarrow$ P(e1,..., eq)
}\\
548 d\'
{e
}compose le polyn\^
{o
}me sym\'
{e
}trique
{\tt sym
}
549 en les fonctions sym\'
{e
}triques \'
{e
}l\'
{e
}mentaires
550 contenues dans
{\tt cele
} (
3 drapeaux possibles).
551 \item {\tt multi
\_elem(
[cele$_
{1}$,
\ldots, cele$_
{r
}$
],multi
\_pc,
552 [lvar$_
{1}$,
\ldots,lvar$_
{r
}$
])
553 \index{MULTI
\_ELEM(
[cele$_
{1}$,
\ldots, cele$_
{p
}$
],multi
\_pc,
554 [lvar$_
{1}$,
\ldots,lvar$_
{r
}$
])
}
556 P(cele$_
{1}$,
\ldots ,cele$_
{r
}$)
}\\
557 On a un polyn\^
{o
}me
{\tt multi
\_pc} multi-sym\'
{e
}trique sous l'action
558 de $S_D$ donn\'e par sa
559 forme multi-contract\'ee.
561 successivement en chacun des groupes
{\tt cele$_
{j
}$
} de
562 fonctions sym\'
{e
}triques \'
{e
}l\'
{e
}mentaires de l'ensemble
563 $
{\underline x
}_j$. La liste
564 de variables
{\tt lvar
}$_j$ permet de lire le polyn\^ome.
565 On y trouve les variables de $
{\underline x
}_j$ intervenant dans l'expression
566 du polyn\^ome multi-contract\'e.
568 \item {\tt PUI(cpui,sym,lvar)
\index{pui(cpui,sym,lvar)
}
569 $
\longrightarrow$ P(p1, ... ,pq)
}\\
570 d\'
{e
}compose un polyn\^
{o
}me sym\'
{e
}trique en les
572 puissances (
3 drapeaux possibles).
573 \item {\tt multi
\_pui(
[cpui$_
{1}$,
\ldots, cpui$_
{p
}$
],multi
\_pc,
574 [lvar$_
{1}$,
\ldots,lvar$_
{p
}$
])
575 \index{multi
\_pui(
[cpui$_
{1}$,
\ldots, cpui$_
{p
}$
],multi
\_pc,
576 [lvar$_
{1}$,
\ldots,lvar$_
{p
}$
])
}
578 P(cpui$_
{1}$,
\ldots ,cpui$_
{p
}$ )
}\\
579 agit comme
{\tt MULTI
\_ELEM} en d\'ecomposant le polyn\^ome multi-sym\'etrique
580 sur les fonctions puissances.
583 Si le polyn\^
{o
}me sym\'
{e
}trique est sous une forme contract\'
{e
}e
584 le drapeau
{\tt elem
} doit \^
{e
}tre \`
{a
} 1 (sa valeur par d\'
{e
}faut).
586 Consid\'erons le polyn\^ome sym\'etrique
587 $x^
4+y^
4+z^
4+t^
4 -
2*(x*(y + z +t) + y*(z + t) + z*t)$
588 dont une forme contract\'ee est $x^
4 -
2*y*z$.
593 elem(
[],x**
4 -
2*y*z,
[x,y,z
]);
596 e1 -
4 e2 e1 +
4 e3 e1 +
2 e2 -
2 e2 -
4 e4
599 Supposons maintenant que le nombre de variables du polyn\^ome
600 sym\'etrique est
3 (i.e. $t=
0$). Cette valeur
3 doit \^etre signal\'ee
601 en t\^ete de la liste
{\tt cele
} comme suit~:
604 elem(
[3],x**
4 -
2*y*z,
[x,y,z
]);
607 e1 -
4 e2 e1 +
4 e3 e1 +
2 e2 -
2 e2
610 Si de plus la premi\`ere fonction sym\'etrique \'elementaire
611 a une valeur particuli\`ere, $e_1=
7$, on la met en deuxi\`eme
612 \'el\'ement de la liste
{\tt cele
}~:
615 ELEM(
[3,
7],x^
4-
2*x*y,
[x,y
]);
618 28 e3 +
2 e2 -
198 e2 +
2401
621 Le $i$+
1-i\`eme \'el\'ement de la liste cele doit \^etre la $i$-i\`eme
622 fonction sym\'etrique \'el\'ementaire.
624 Si le polyn\^
{o
}me sym\'
{e
}trique est sous une forme \'etendue
625 le drapeau
{\tt elem
} doit \^
{e
}tre \`
{a
} 2~ et s'il est
626 sous une forme partitionn\'ee le drapeau
{\tt elem
} doit \^
{e
}tre \`
{a
} 3~:\\
631 ELEM(
[3,f1,f2,f3
],x^
4+y^
4+z^
4 -
2*(x*y + x*z + y*z),
[x,y,z
]);
634 f1 -
4 f2 f1 +
4 f3 f1 +
2 f2 -
2 f2
637 ELEM((
[],
[[1,
2,
1]],
[]);
642 Il en est de m\^
{e
}me pour le drapeau
{\tt pui
} associ\'e \`a la fonction
645 Pour la fonction
{\tt PUI
}, si des valeurs formelles doivent
646 \^
{e
}tre rajout\'
{e
}es \`
{a
}
647 {\tt cpui
} on tient compte du cardinal de l'alphabet, s'il est
648 fournit, pour calculer les fonctions puissances en fonction des
649 premi\`
{e
}res. On se sert alors de la fonction
{\tt PUIREDUC
} (voir
653 MULTI_ELEM(
[[2,e1,e2
],
[2,f1,f2
]],a*x+a^
2+x^
3,
[[x,y
],
[a,b
]]);
656 -
2 f2 + f1 + e1 f1 -
3 e1 e2 + e1
658 MULTI_PUI(
[[2,p1,p2
],
[2,t1,t2
]],a*x+a^
2+x^
3,
[[x,y
],
[a,b
]]);
662 T2 + P1
T1 + ------- - ---
667 \item {\tt ELE2PUI(m,cele)
\index{ele2pui(m,cele)
}
668 $
\longrightarrow$ cpui
}\\
669 r\'
{e
}alise le passage des fonctions
671 \'
{e
}l\'
{e
}mentaires aux fonctions puissances de
1 \`
{a
} m.
673 \item {\tt PUI2ELE(n,cpui)
\index{pui2ele(n,cpui)
}
674 $
\longrightarrow$ cele
}\\
675 r\'
{e
}alise le passage des fonctions
676 puissances aux fonctions
677 sym\'
{e
}triques \'
{e
}l\'
{e
}mentaires. Si le drapeau
{\tt pui2ele
} est
679 {\tt girard
}, on r\'ecup\`ere la liste des fonctions sym\'etriques
680 \'el\'ementaires de
1 \`
{a
} {\tt n
}, et s'il est \'egal \`a
{\tt close
}, on
681 r\'ecup\`ere la
{\tt n
}$^
{i
\grave{e
}me
}$ fonction sym\'etrique
684 Ci-dessous, on cherche les
3 premi\`
{e
}res fonctions sym\'
{e
}triques
685 \'
{e
}l\'
{e
}mentaires.
686 On ne donne pas de valeur aux
3 premi\`
{e
}res fonctions puissances. La
687 fonction rajoute donc des variables formelles.
694 [3, p1, --- - --, -- - ----- + ---
]
700 Ci-dessous on cherche les
4 premi\`eres fonctions sym\'etriques
701 \'el\'ementaires en fonctions des fonctions puissances telles
702 que $p_1=
2$. Le cardinal
703 de l'alphabet \'etant
3, la quatri\`eme fonction sym\'etrique
704 \'el\'ementaire est donc nulles. Ensuite la fonction
{\tt ELE2PUI
}
705 calcule les
3 premi\`res fonctions pussance en fonctions des
3 premi\`res
706 fonctions sym\'etriques \'el\'ementaires.
711 [3,
2 , ------, -------------,
0]
715 [3, e1, e1 -
2 e2,
3 e3 -
3 e1 e2 + e1
]
718 Ici, comme le cardinal est
2, la troisi\`
{e
}me fonction sym\'
{e
}trique
719 \'
{e
}l\'
{e
}mentaire est nulle~:
724 [2, e1, e1 -
2 e2, e1 -
3 e1 e2
]
728 \item {\tt PUIREDUC(n,cpui)
\index{puireduc(n,cpui)
}
729 $
\longrightarrow$
[card,$p_
{1},p_
{2},p_
{3},...,p_
{n
}$
]}\\
731 les fonctions puissances jusqu'\`
{a
} {\tt n
} connaissant celles jusqu'\`
{a
}
732 {\tt m
}. Le cardinal est pr\'
{e
}cis\'
{e
} dans
{\tt cpui
}.
735 Si le cardinal, n, de l'alphabet est donn\'
{e
}, on peut
736 exprimer toutes les fonctions puissances en fonction des n premi\`
{e
}res.
737 On prend par exemple
2 pour cardinal et on demande les
3 premi\`
{e
}res
738 fonctions puissances.
744 [2, p1, p2, ------- - ---
]
750 \item {\tt ELE2COMP(m , cele)
\index{ele2comp(m , cele)
}
751 $
\longrightarrow$ ccomp
}\\
752 r\'
{e
}alise le passage des fonctions
754 \'
{e
}l\'
{e
}mentaires aux fonctions sym\'etriques compl\`etes de
1 \`
{a
} m.
755 \item {\tt PUI2COMP(n, cpui)
\index{pui2comp(n, cpui)
}
756 $
\longrightarrow$ ccomp
}\\
757 r\'
{e
}alise le passage des fonctions
758 puissances aux fonctions
759 sym\'
{e
}triques compl\`etes de
1 \`
{a
} n.
760 \item {\tt COMP2ELE(n, ccomp)
\index{comp2ele(n, ccomp)
}
761 $
\longrightarrow$ cele
}\\
762 r\'
{e
}alise le passage des fonctions sym\'etriques
763 compl\`etes aux fonctions
764 sym\'
{e
}triques \'
{e
}l\'
{e
}mentaires de
1 \`
{a
} n.
765 \item {\tt COMP2PUI(n, ccomp)
\index{comp2pui(n, ccomp)
}
766 $
\longrightarrow$ cpui
}\\
767 r\'
{e
}alise le passage des fonctions sym\'etriques
768 compl\`etes aux fonctions
769 puissances de
1 \`
{a
} n.
770 \item {\tt MON2SCHUR(liste)
\index{mon2schur(liste)
}
771 $
\longrightarrow$ pc
}\\
772 r\'ealise le passage des formes monomiales aux fonctions de Schur. Le
773 r\'esultat
{\tt pc
} est donc un polyn\^ome sym\'etrique donn\'e sous
774 une forme contract\'ee.
776 \item {\tt SCHUR2COMP(P,
[h$i_
{1}$,...,h$i_
{q
}$
]))
777 \index{schur2comp(P,l)
}
778 $
\longrightarrow$ liste de listes
}\\
779 r\'ealise le passage des fonctions de Schur, not\'ees $S_
{I
}$,
780 aux fonctions totales. Le polyn\^ome P est un polyn\^ome en les fonctions
781 totales h$i_
{k
}$. Il est indispensable de noter ces fonctions totales
782 avec un h concat\'en\'e \`a un entier.
786 La fonction
{\tt MON2SCHUR
} permet d'\'ecrire une fonction
787 de Schur sur la base des formes monomiales
788 repr\'esent\'ees sous leur forme contract\'ee. La fonction de Schur
789 est donn\'ee par une partition. Nous allons d'abord
790 v\'erifier que la fonction de Schur associ\'e \`a la
791 partition $(
1^
3)$ est \'egale \`a la $
3^
{i
\grave{e
}me
}$
792 fonction sym\'etrique \'el\'ementaire et que celle associ\'ee
793 \`a la partition $(
3)$ est \'egale \`a la $
3^
{i
\grave{e
}me
}$ fonction
794 sym\'etrique compl\`ete (ceci d\'ecoule d'un r\'esultat g\'en\'eral).
802 x1 x2 x3 + x1 x2 + x1
809 Voyons sur un exemple comment, en op\'erant circulairement sur des changements
810 de bases, on recup\'ere bien sur la donn\'ee initiale.
813 a1 : PUI2COMP(
3,
[3]);
816 [3, p1, -- + ---, -- + ----- + ---
]
818 a2 : COMP2ELE(
3, a1);
821 [3, p1, --- - --, -- - ----- + ---
]
828 [3, h1,
2 h2 - h1 ,
3 h3 -
3 h1 h2 + h1
]
832 [3, h1, h1 - h2, h3 -
2 h1 h2 + h1
]
838 Ci-dessous on montre comment exprimer une fonction de Schur sur les
839 bases des formes monomiales (en
{\tt c48
}), des fonctions compl\`etes
840 (en
{\tt c50
}), des fonctions sym\'etriques \'el\'ementaires (en
{\tt c51
})
841 et des fonctions puissances (en
{\tt c52
}).
844 (c48) MON2SCHUR(
[1,
2]);
847 (d48)
2 x1 x2 x3 + x1 x2
849 (c49) COMP2ELE(
3,
[]);
852 (d49)
[3, h1, h1 - h2, h3 -
2 h1 h2 + h1
]
854 (c50) ELEM(d49,d48,
[x1,x2,x3
]);
858 (c51) ELEM(
[],d48,
[x1,x2,x3
]);
862 (c52) PUI(
[],d48,
[x1,x2,x3
]);
869 (c53) SCHUR2COMP(h1*h2-h3,
[h1,h2,h3
]);
875 (c54) SCHUR2COMP(a*h3,
[h3
]);
882 On a, en derni\`eres instructions, d\'ecompos\'e $h_
{1}h_
{2}-h_
{3}$
883 et $h_
{3}$ sur la base des fonctions de Schur.
884 \subsection{Les r\'esolvantes
}
885 Soit $p$ un polyn\^ome d'un variable $x$ et de degr\'e $n$ sur un
887 Soit $f
\in A
[x_1,x_2,
\ldots ,x_n
]$ une fonction de transformation et
888 $S_nf$ l'orbite de la fonction $f$ sur l'action du groupe sym\'etrique
889 $S_n$. Alors la r\'esolvante de $p$ par $f$, not\'ee $f_*(p)$,
890 est le polyn\^ome unitaire :
892 f_*(p)(y) =
\prod_{h
\in S_nf
} (y- h(
\alpha_1,
\ldots ,
\alpha_n)),
894 o\`u $
\alpha_1,
\ldots ,
\alpha_n$ sont les racines de $p$.\\
896 Si la fonction de transformation est
898 \item un polyn\^ome d'une variable ,
899 \item un polyn\^ome lin\'eaire,
900 \item une polyn\^ome lin\'eaire dont les coefficients non nuls sont altern\'es,
901 \item une polyn\^ome lin\'eaire avec que des coefficients unitaires,
902 \item un polyn\^ome sym\'etrique en les variables qui apparaissent dans son
904 \item un mon\^ome dont le coefficient est
1,
905 \item la fonction de la r\'esolvante de Cayley ,
907 \item un polyn\^ome quelconque,
909 alors chaque r\'esolvante associ\'ee est respectivement appel\'ee
912 \item {\it unitaire
},
913 \item {\it lin\'eaire
},
914 \item {\it altern\'ee
},
916 \item {\it sym\'etrique
},
918 \item {\it de Cayley
},
919 \item {\it de Lagrange
},
920 \item {\it g\'en\'erale
}.
923 Comme nous le verrons plus, il existe encore d'autres r\'esolvantes
924 (di\'edrale, de Klein, ...).
926 Nous d\'efinissons l'
{\it arit\'e
} d'une fonction comme le nombre de
927 variables qui apparaissent dans son expression. En g\'en\'eral si une fonction
928 est d'arit\'e $k$ nous notons $f(x_1,
\ldots,x_k)$ \`a la place de
929 $f(x_1,
\ldots ,x_k ,
\ldots ,x_n)$.
931 Donnons des exemples pour chacun de ces cas :
934 \item $f(x)=x^
7-x+
1$ d'arit\'e
1,
935 \item $f(x_1,x_2) = x_1+
3x_2$ d'arit\'e
2,
936 \item $f(x_1,x_2,x_3,x_4) = x_1 -x_2 +
3x_3-
3x_4$ d'arit\'e
4,
937 \item $f(x_1,x_2,x_3) = x_1+x_2+x_3$ d'arit\'e
3,
938 \item $f(x_1,x_2,x_3) =
3x_1x_2 +
3x_2x_3 +
3x_1x_3$ d'arit\'e
3,
939 \item $f(x_1,x_2) =x_1x_2$ d'arit\'e
2,
940 \item $f(x_1,x_2,x_3,x_4,x_5)=(x_1x2+x_2x_3+x_3x_4+x_4x_5+x_5x_1 -
941 (x_1x_3+x_3x_5+x_5x_2+x_2x_4+x_4x_1))^
2$
942 \item $f(x_1,x_2,x_3) =
\epsilon x_1 +
\epsilon^
2 x_2 +
\epsilon^
3
943 x_3$, o\`u $
\epsilon$ est une racine troisi\`eme de l'unit\'e,
944 \item $f(x_1,x_2,x_3) = x_1 +
2x_2x_3$ d'arit\'e
3.
946 Il est clair qu'une r\'esolvante somme ou produit est \'egalement
947 sym\'etrique et qu'une r\'esolvante somme ou altern\'ee est
948 \'egalement lin\'eaires.
950 Les calculs de ces r\'esolvantes se r\'ealisent de deux mani\`eres. Ou bien
951 avec la fonction
{\tt RESOLVANTE
} ou bien avec un nom sp\'ecifique
952 pr\'ec\'ed\'e de
{\tt RESOLVANTE
\_}. La liste des fonctions possibles est
956 \item {\tt RESOLVANTE
\_PRODUIT\_SYM(p,x)
}
957 \index{RESOLVANTE
\_PRODUIT\_SYM(p,x)
} qui calcule la liste toutes les
958 r\'esolvantes produit du polyn\^ome
{\tt p(x)
}
959 \item {\tt RESOLVANTE
\_UNITAIRE(p,q,x)
}
960 \index{RESOLVANTE
\_UNITAIRE(p,q,x)
}
961 qui calcule la r\'esolvante du
962 polyn\^ome
{\tt p(x)
} par le polyn\^ome
{\tt q(x)
}
963 Soit $
\prod_{p(
\alpha)=
0}(y-q(
\alpha))$
964 \item {\tt RESOLVANTE
\_ALTERNEE1(p,x)
}
965 \index{RESOLVANTE
\_ALTERNEE1(p,x)
}
966 qui calcule la transformation de
967 p(x) de degr\'e $n$ par la fonction $
\prod_{1\leq i<j
\leq n-
1} (x_i-x_j)$
968 \item {\tt RESOLVANTE
\_KLEIN(p,x)
}
969 \index{RESOLVANTE
\_KLEIN(p,x)
}
970 qui calcule la transformation de
971 {\tt p(x)
} par la fonction $x_1x_2+x_3$ et appel\'ee ainsi car elle
972 est associ\'ee au groupe de Klein,
973 \item {\tt RESOLVANTE
\_KLEIN3(p,x)
} qui calcule la transformation de
974 {\tt p(x)
} par la fonction $x_1x_2x_4+x_4$
975 \index{RESOLVANTE
\_KLEIN3(p,x)
}
976 \item {\tt RESOLVANTE
\_VIERER(p,x)
}
977 \index{RESOLVANTE
\_VIERER(p,x)
}
978 qui calcule la transformation de
979 {\tt p(x)
} par la fonction $x_1x_2-x_3x_4$
980 \item {\tt RESOLVANTE
\_DIEDRALE(p,x)
}
981 \index{RESOLVANTE
\_DIEDRALE(p,x)
}
982 qui calcule la transformation de
983 {\tt p(x)
} par la fonction $x_1x_2+x_3x_4$
984 \index{RESOLVANTE
\_BIPARTITE(p,x)
}
985 \index{RESOLVANTE
\_BIPARTITE(p,x)
} qui calcule la transformation de
986 {\tt p(x)
} par la fonction $x_1x_2
\ldots x_
{n/
2}+x_
{n/
2+
1}\ldots x_n$.
987 Le degr\'e de $p$ doit n\'ecessairement \^etre pair
988 \item {\tt RESOLVANTE(p,x,f,
[x1,x2,...,xk
])
}
989 \index{RESOLVANTE(p,x,f,
[x1,x2,...,xk
])
}
990 qui calcule la transformation de
991 {\tt p(x)
} par la fonction
{\tt f
} d'arit\'e
{\tt k
} et de variables
992 {\tt x1,x2,...,xk
} ; (L'arit\'e d'une fonction est le nombre minimum de
993 variables n\'ecessaire pour l'\'ecrire).
997 Il est essentiel pour
998 l'efficacit\'e des calculs de ne mettre dans la liste des variables de
999 {\tt f
} que celle qui apparaissent effectivement dans son expression.
1000 Avant d'appeler la fonction
{\tt resolvante
}, selon le type de
1001 r\'esolvante calcul\'ee on peut mettre un drapeau \`a la
1002 variable
{\tt resolvante
}
1003 afin d'utiliser l'algorithme le plus adapt\'e.
1004 Selon les cas des r\'esolvantes cit\'es plus haut nous devrons mettre
1005 le drapeau de la variable
{\tt resolvante
} respectivement \`a
1017 On peut g\'en\'eraliser la notion de r\'esolvante par la
1018 transformation de $r$ polyn\^ome par une fonction d\'ependant de
1019 $r$ blocs de variables :
1021 \item {\tt DIRECT
} \index{direct
}
1022 (
[$P_1,P_2,
\ldots,P_r$
],y,f,
[$lvar_1,lvar_2,
\ldots ,lvar_r$
])
1023 $
\longrightarrow$ $f_*(P_1,P_2,
\ldots, P_r)(y)$ \\
1024 qui, \'etant donn\'e les $r$ polyn\^omes $P_1,
\ldots, P_r$ en la variable
1026 degr\'es respectifs $d_1,
\ldots , d_r$, ram\`ene
1027 le polyn\^ome produit des $(y - h(a^
{(
1)
},
\ldots, a^
{(p)
}))$ o\`u
1028 $a^
{(i)
}$ est le $d_i$-uplet des racines de $P_i$ pour $i$ allant de
1
1029 \`a $r$ et o\`u $h$ parcoure toute l'orbite de la fonction $f$ sous
1030 l'action du produit de groupes sym\'etriques
1031 $S_
{d_1
}\times \cdots \times S_
{d_r
}$. Dans $lvar_i$ on met les variables
1032 de $f$ qui apparaisent effectivement dans son expression. C'est \`a dire
1033 que $lvar_i$ peut comporter moins de $d_i$ variables. La fonction
1034 {\tt direct
} se chargera d'en d\'eduire l'action du groupe
1035 sym\'etrique $S_
{d_i
}$.
1040 resolvante:unitaire;
1041 RESOLVANTE(x^
7-
14*x^
5 +
56*x^
3 -
56*X +
22,x,x^
3-
1,
[x
]);
1044 Y +
7 Y -
539 Y -
1841 Y +
51443 Y
1047 +
315133 Y +
376999 Y +
125253
1049 resolvante : lineaire$
1050 RESOLVANTE(x^
4-
1,x,x1+
2*x2+
3*x3,
[x1,x2,x3
]);
1052 Y +
80 Y +
7520 Y +
1107200 Y
1054 +
49475840 Y +
344489984 Y +
655360000
1056 resolvante : generale$
1057 RESOLVANTE(x^
4-
1,x,x1+
2*x2+
3*x3,
[x1,x2,x3
]);
1059 Y +
80 Y +
7520 Y +
1107200 Y
1061 +
49475840 Y +
344489984 Y +
655360000
1063 RESOLVANTE(x^
4-
1,x,x1+
2*x2+
3*x3,
[x1,x2,x3,x4
]);
1065 Y +
80 Y +
7520 Y +
1107200 Y
1067 +
49475840 Y +
344489984 Y +
655360000
1069 DIRECT(
[x^
4-
1],x,x1+
2*x2+
3*x3,
[[x1,x2,x3
]]);
1072 Y +
80 Y +
7520 Y +
1107200 Y
1074 +
49475840 Y +
344489984 Y +
655360000
1076 resolvante_diedrale(x^
5-
3*x^
4+
1,x);
1078 X -
21 X -
81 X -
21 X +
207 X +
1134 X +
2331 X -
945 X
1081 -
4970 X -
18333 X -
29079 X -
20745 X -
25326 X -
697
1084 Nous constatons ainsi que la fonction
{\tt DIRECT
} est une g\'en\'eralisation
1085 de la fonction r\'esolvante.
1088 resolvante : lineaire$
1089 RESOLVANTE(x^
4-
1,x,x1+
2*x2,
[x1,x2
]);
1091 Y +
13 Y +
611 Y -
625
1092 DIRECT(
[x^
4-
1],x,x1+
2*x2,
[[x1,x2,x3
]]);
1094 Y +
13 Y +
611 Y -
625
1097 Le r\'esultat de ce dernier calcul eut \'et\'e le m\^eme avec
1099 DIRECT(
[x^
4-
1],x,x1+
2*x2,
[[x1,x2
]]);
1101 Comme de plus il est
1102 plus efficace, il est conseiller de ne pas donner les variables
1103 n'intervenant pas dans l'expression de la fonction de transformation.
1106 resolvante:lineaire$
1107 RESOLVANTE(x^
4-
1,x,x1+x2+x3,
[x1,x2,x3
]);
1110 resolvante:symetrique$
1112 RESOLVANTE(x^
4-
1,x,x1+x2+x3,
[x1,x2,x3
]);
1115 resolvante:lineaire$
1116 RESOLVANTE(x^
4+x+
1,x,x1-x2,
[x1,x2
]);
1118 Y +
8 Y +
26 Y -
112 Y +
216 Y +
229
1119 resolvante:alternee$
1120 RESOLVANTE(x^
4+x+
1,x,x1-x2,
[x1,x2
]);
1122 Y +
8 Y +
26 Y -
112 Y +
216 Y +
229
1123 resolvante:generale$
1124 RESOLVANTE(x^
4+x+
1,x,x1-x2,
[x1,x2
]);
1126 Y +
8 Y +
26 Y -
112 Y +
216 Y +
229
1129 Nous calculons ci-dessous une image directe de deux mani\`eres diff\'erentes.
1130 La premi\`ere met en \'evidence les calculs interm\'ediaires
1131 utilis\'es par la fonction
{\tt DIRECT
}.
1132 On peut changer le drapeau de
{\tt direct
}. On a
{\tt puissances
} par
1133 d\'efaut ce qui veut dire que l'on utilise la fonction
{\tt MULTI
\_PUI}. Si
1134 on fait~:
{\tt direct : elementaire
}, la fonction
{\tt DIRECT
} utilise
1135 la fonction
{\tt MULTI
\_ELEM}
1136 g\'en\'eralement moins performante.
1140 l : PUI_DIRECT(MULTI_ORBIT(a*x+b*y,
[[x,y
],
[a,b
]]),
[[x,y
],
[a,b
]],
[2,
2]);
1143 [a x,
4 a b x y + a x
]
1145 m: MULTI_ELEM(
[[2,e1,e2
],
[2,f1,f2
]],l
[1],
[[x,y
],
[a,b
]]);
1149 n: MULTI_ELEM(
[[2,e1,e2
],
[2,f1,f2
]],l
[2],
[[x,y
],
[a,b
]]);
1152 8 e2 f2 -
2 e1 f2 -
2 e2 f1 + e1 f1
1157 [2, e1 f1, -
4 e2 f2 + e1 f2 + e2 f1
]
1162 y - e1 f1 y -
4 e2 f2 + e1 f2 + e2 f1
1164 DIRECT(
[z^
2 - e1* z + e2, z^
2 - f1* z + f2
], z, b*v + a*u,
1168 y - e1 f1 y -
4 e2 f2 + e1 f2 + e2 f1
1173 \item{\tt PUI
\_DIRECT($
[f_1,
\ldots, f_q
]$,
[$lvar_1,
\ldots ,lvar_p$
],
1174 [$d_1,d_2,...,d_p$
])
}\\
1176 Soit $f$ un polynome en $r$ blocs de variables $lvar_1,
\ldots ,lvar_r$
1177 Soit $c_i$ le nombre de variables dans $lvar_i$ et $S_C$ le produit des $r$
1178 groupes sym\'etriques $S_
{c_i
}$ de degr\'es respectifs
1179 $c_1,...,c_r$. Ce groupe agit
1180 naturellement sur $f$.
1181 La liste
{\tt ORBITE
} est l'orbite, not\'ee $S_Cf$, de la fonction $f$
1182 sous l'action de $S_C$. (Cette liste peut \^etre obtenue avec la fonction
1183 {\tt MULTI
\_ORBIT}).
1184 Les $d_i$ sont des entiers tels que
1185 $c_1
\leq d_1\;, c_2
\leq d_2 \;,
\ldots ,c_p
\leq d_p$.
1186 Notons $S_D$ le produit des groupes sym\'etriques
1187 $S_
{d_1
} \times S_
{d_2
} \times \ldots \times S_
{d_p
}$.\\
1189 La fonction
{\tt PUI
\_DIRECT} ram\`ene les $N$ premi\`eres fonctions
1190 puissances de l'orbite $S_Df$ de la fonction $f$
1191 d\'eduites des fonctions puissances de l'orbite $S_Cf$ o\`u
1192 $N$ est le cardinal de $S_Df$.
1194 Le r\'esultat est rendu sous forme multi-contract\'ee par rapport \`a $S_D$.
1195 (i.e. on ne conserve qu'un \'el\'ement par orbite sous l'action de $S_D$).
1201 pui_direct (
[b*y + a*x, a*y + b*x
],L,
[2,
2]);
1204 [a x,
4 a b x y + a x
]
1206 pui_direct(
[b*y + a*x, a*y + b*x
], L,
[3,
2]);
1209 [2 A X,
4 A B X Y +
2 A X ,
3 A B X Y +
2 A X ,
1212 12 A B X Y +
4 A B X Y +
2 A X ,
1215 10 A B X Y +
5 A B X Y +
2 A X ,
1217 3 3 3 3 4 2 4 2 5 5 6 6
1218 40 A B X Y +
15 A B X Y +
6 A B X Y +
2 A X
]
1220 pui_direct (
[y+x+
2*c, y+x+
2*b, y+x+
2*a
],
[[x,y
],
[a,b,c
]],
[2,
3]);
1223 [3 x +
2 a,
6 x y +
3 x +
4 a x +
4 a ,
1226 9 x y +
12 a x y +
3 x +
6 a x +
12 a x +
8 a
]
1231 Evidemment, on retrouve le m\^eme r\'esultat ainsi
1235 pui_direct(
[y+x+
2*a
],
[[x,y
],
[a
]],
[2,
3]);
1238 [3 x +
2 a,
6 x y +
3 x +
4 a x +
4 a ,
1241 9 x y +
12 a x y +
3 x +
6 a x +
12 a x +
8 a
]
1245 \section*
{Signification des objets
}
1248 est le cardinal de l'ensemble des variables sur lequel on travaille.\\
1250 {\tt $e_i$
} : i\`
{e
}me fonction sym\'
{e
}trique \'
{e
}l\'
{e
}mentaire.\\
1252 {\tt $p_i$
} : i\`
{e
}me fonction puissance.\\
1254 {\tt $h_i$
} : i\`
{e
}me fonction compl\`ete.\\
1256 {\tt ele
} =
[$e_
{1},e_
{2},e_
{3},...,e_
{n
}$
] , $n$ intervenant dans le
1257 descriptif des fonctions.\\
1259 {\tt cele
} =
[card,$e_
{1},e_
{2},e_
{3},...,e_
{n
}$
]\\
1261 {\tt pui
} =
[$p_
{1},p_
{2},p_
{3},...,p_
{m
}$
] , $m$ intervenant dans le
1262 descriptif des fonctions.\\
1264 {\tt cpui
} =
[card,$p_
{1},p_
{2},p_
{3},...,p_
{m
}$
].\\
1266 {\tt ccomp
} =
[card,$h_
{1},h_
{2},h_
{3},...,h_
{m
}$
].\\
1268 {\tt sym
} : polyn\^
{o
}me sym\'
{e
}trique sans pr\'
{e
}cision sur
1269 sa repr\'
{e
}sentation.\\
1271 {\tt fmc
} : forme monomiale contract\'
{e
}e.\\
1273 {\tt part
} : partition.\\
1275 {\tt tc
} : terme contract\'
{e
}.\\
1277 {\tt tpart
} : terme partitionn\'
{e
}.\\
1279 {\tt psym
} : polyn\^
{o
}me sym\'
{e
}trique sous sa forme \'etendue.\\
1281 {\tt pc
} : polyn\^
{o
}me sym\'etrique sous une forme contract\'
{ee
}.\\
1283 {\tt multi
\_pc} : polyn\^
{o
}me multisym\'etrique sous une forme
1284 multicontract\'
{ee
} sous $S_D$.\\
1286 {\tt ppart
} : polyn\^
{o
}me sym\'etrique sous sa forme partitionn\'
{ee
}.\\
1288 {\tt P($x_1,
\ldots , x_q$)
} : polyn\^
{o
}me en $x_1,
\ldots , x_q$.\\
1290 {\tt lvar
} : liste de variables.\\
1292 $
[lvar_1,
\ldots,lvar_r
]$ : liste de listes de variables.