contrib/operatingsystem: Add chdir/mkdir for ABCL.
[maxima.git] / share / sym / docsym-fr.tex
bloba0aebf2baa02b6f0bcb7cd6cbdc64ac0e2a5c72a
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\\
9 LITP (tour 45-55)\\
10 4, Place Jussieu\\
11 75252 Paris Cedex 05\\
12 Unit\'e associ\'ee au CNRS No 248\\
13 et\\
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\\}
19 \begin{document}
20 \maketitle
23 \newpage
24 \noindent
25 {\bf INTRODUCTION}\\
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
29 formel {\tt MACSYMA}.
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~:
43 \begin{eqnarray*}
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)}).
47 \end{eqnarray*}
48 Soit ${\cal A}[\underline x]$ l'anneau des polyn\^omes
49 en les $n$ variables
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
52 comme suit~:
53 \begin{eqnarray*}
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}).
57 \end{eqnarray*}
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]$
62 respectivement.
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 \;|\;
67 \sigma
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
81 $S_n p =\{
82 p\}$.
84 Un polyn\^ome sym\'etrique peut-\^etre repr\'esent\'e par des
85 partitions~:
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
120 [[3,4],[-2,5,1]].\\
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~:
135 \begin{eqnarray*}
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),
139 \end{eqnarray*}
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
142 not\'ee $S_DA$.
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
148 $\cal A$.
149 L'action de $S_D$ sur ${\cal A}[X]$ est d\'efinie
150 comme suit~:
151 \begin{eqnarray*}
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).
155 \end{eqnarray*}
156 L'orbite de $f$ sous l'action de $S_D$ sera
157 not\'ee $S_Df$.
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
170 multi-partitions~:
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
177 x}_r^{I_r}.
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
210 {\tt MACSYMA}
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}~:
214 \begin{verbatim}
215 load(``sym.mac'');
216 \end{verbatim}
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~:
229 \begin{description}
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}.
237 \end{description}
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
242 suffit d'\'ecrire :
243 \begin{center}
244 {\tt oper : expand;}
245 \end{center}
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}
254 \begin{itemize}
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$
271 dans la partition.
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}.
293 \end{itemize}
294 \small
295 \begin{verbatim}
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]]]
306 \end{verbatim}
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
310 r\'esolvantes.
311 \normalsize
312 \subsection{Sur les polyn\^omes d'une variable}
313 \begin{itemize}
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.
327 \end{itemize}
328 \small
329 \begin{verbatim}
330 ELE2POLYNOME([2,e1,e2],z);
332 Z - E1 Z + E2
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);
340 7 5 3
341 X - 14 X + 56 X - 56 X + 22
342 \end{verbatim}
343 \normalsize
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
351 {\tt lvar}.
352 \begin{itemize}
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}.
384 \end{itemize}
385 \small
386 \begin{verbatim}
387 TPARTPOL(x^3-y,[x,y]);
389 manque des monomes
390 \end{verbatim}
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.
395 \small
396 \begin{verbatim}
397 lvar : [x,y,z]$
398 pc : 2*a^3*b*x^4*y;
400 2 a b x y
401 psym : EXPLOSE(pc,lvar);
402 3 4 3 4 3 4
403 2 a b y z + 2 a b x z + 2 a b y z
404 3 4 3 4 3 4
405 + 2 a b x z + 2 a b x y + 2 a b x y
406 \end{verbatim}
407 \normalsize
408 Et si on lui applique la fonction {\tt CONTRACT} on retrouve une forme
409 contract\'ee~:
410 \small
411 \begin{verbatim}
412 CONTRACT(psym,lvar);
414 2 a b x y
415 TCONTRACT(psym,lvar);
417 2 a b x y
418 TPARTPOL(psym,lvar);
420 [[2 a b, 4, 1]]
421 PARTPOL(psym,lvar);
423 [[2 a b, 4, 1]]
424 ppart : CONT2PART(pc,lvar);
426 [[2 a b, 4, 1]]
427 PART2CONT(ppart,lvar);
429 2 a b x y
430 \end{verbatim}
431 \normalsize
433 \subsection{Les fonctions li\'ees aux partitions}
434 \begin{itemize}
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)}
446 $\longrightarrow$
447 liste des partitions de poids $n$ et
448 de longueur $m$.
449 \item {\tt LTREILLIS(n,m)} \index{ltreillis(n,m)}
450 $\longrightarrow$
451 liste des partitions de poids $n$ et
452 de longueur inf\'erieure ou \'egale \`a $m$.
453 \end{itemize}
454 \small
455 \begin{verbatim}
456 KOSTKA([3,3,3],[2,2,2,1,1,1]);
458 LGTREILLIS(4,2);
459 [[3, 1], [2, 2]]
460 LTREILLIS(4,2);
461 [[4, 0], [3, 1], [2, 2]]
462 TREILLIS(4);
463 [[4], [3, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1]]
464 TREINAT([5]);
465 [[5]]
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]]
469 TREINAT([3,2]);
470 [[5], [4, 1], [3, 2]]
471 \end{verbatim}
472 \normalsize
473 \subsection{Les calculs d'orbites}
474 \begin{itemize}
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
478 sous l'action
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.
490 \end{itemize}
491 \small
492 \begin{verbatim}
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]);
496 2 2 2
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]
503 \end{verbatim}
504 \normalsize
505 \subsection{Le produit contract\'e de deux polyn\^omes sym\'etriques}
506 \begin{itemize}
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.
513 \end{itemize}
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]$.
518 \small
519 \begin{verbatim}
521 p1 : x*y^2 + x^2*y$
522 p2 : y+x$
523 prod : expand(p1*p2);
524 3 2 2 3
525 x y + 2 x y + x y
526 \end{verbatim}
527 \normalsize
528 Constatons c'est la forme \'etendue du produit obtenu avec {\tt MULTSYM}~:
529 \small
530 \begin{verbatim}
531 PARTPOL(prod,[x,y]);
532 [[1, 3, 1], [2, 2, 2]]
533 ppart1 : PARTPOL(p1,[x,y]);
534 [[1, 2, 1]]
535 ppart2 : PARTPOL(p2,[x,y]);
536 [[1, 1, 0]]
537 MULTSYM(ppart1, ppart2, 2);
538 [[1, 3, 1], [2, 2, 2]]
539 \end{verbatim}
540 \normalsize
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.
545 \begin{itemize}
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}$]) }
555 $\longrightarrow$
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.
560 On le d\'ecompose
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
571 fonctions
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}$]) }
577 $\longrightarrow$
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.
581 \end{itemize}
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$.
589 \small
590 \begin{verbatim}
591 elem:1$
593 elem([],x**4 - 2*y*z, [x,y,z]);
595 4 2 2
596 e1 - 4 e2 e1 + 4 e3 e1 + 2 e2 - 2 e2 - 4 e4
597 \end{verbatim}
598 \normalsize
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~:
602 \small
603 \begin{verbatim}
604 elem([3],x**4 - 2*y*z,[x,y,z]);
606 4 2 2
607 e1 - 4 e2 e1 + 4 e3 e1 + 2 e2 - 2 e2
608 \end{verbatim}
609 \normalsize
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}~:
613 \small
614 \begin{verbatim}
615 ELEM([3,7],x^4-2*x*y,[x,y]);
618 28 e3 + 2 e2 - 198 e2 + 2401
619 \end{verbatim}
620 \normalsize
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~:\\
628 \small
629 \begin{verbatim}
630 elem :2$
631 ELEM([3,f1,f2,f3],x^4+y^4+z^4 - 2*(x*y + x*z + y*z),[x,y,z]);
633 4 2 2
634 f1 - 4 f2 f1 + 4 f3 f1 + 2 f2 - 2 f2
636 elem:3$
637 ELEM(([],[[1, 2, 1]],[]);
638 E1 E2 - 3 E3
639 \end{verbatim}
640 \normalsize
642 Il en est de m\^{e}me pour le drapeau {\tt pui} associ\'e \`a la fonction
643 {\tt PUI}.\\
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
650 plus loin).
651 \small
652 \begin{verbatim}
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]]);
661 3 P1 P2 P1
662 T2 + P1 T1 + ------- - ---
664 \end{verbatim}
665 \normalsize
666 \begin{itemize}
667 \item {\tt ELE2PUI(m,cele) \index{ele2pui(m,cele) }
668 $\longrightarrow$ cpui}\\
669 r\'{e}alise le passage des fonctions
670 sym\'{e}triques
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
678 \'egal \`a
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
682 \'el\'ementaire.
683 \end{itemize}
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.
688 \small
689 \begin{verbatim}
690 PUI2ELE(3,[]);
693 p1 p2 p3 p1 p2 p1
694 [3, p1, --- - --, -- - ----- + ---]
695 2 2 3 2 6
698 \end{verbatim}
699 \normalsize
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.
707 \small
708 \begin{verbatim}
709 PUI2ELE(4,[3,2]);
710 4 - p2 p3 - 3 p2 + 4
711 [3, 2 , ------, -------------, 0]
712 2 3
713 ELE2PUI(3,[]);
715 [3, e1, e1 - 2 e2, 3 e3 - 3 e1 e2 + e1 ]
716 \end{verbatim}
717 \normalsize
718 Ici, comme le cardinal est 2, la troisi\`{e}me fonction sym\'{e}trique
719 \'{e}l\'{e}mentaire est nulle~:
720 \small
721 \begin{verbatim}
722 ELE2PUI(3,[2]);
724 [2, e1, e1 - 2 e2, e1 - 3 e1 e2]
725 \end{verbatim}
726 \normalsize
727 \begin{itemize}
728 \item {\tt PUIREDUC(n,cpui) \index{puireduc(n,cpui) }
729 $\longrightarrow$ [card,$p_{1},p_{2},p_{3},...,p_{n}$]}\\
730 permet d'avoir
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}.
733 \end{itemize}
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.
739 \small
740 \begin{verbatim}
741 PUIREDUC(3,[2]);
743 3 p1 p2 p1
744 [2, p1, p2, ------- - ---]
747 \end{verbatim}
748 \normalsize
749 \begin{itemize}
750 \item {\tt ELE2COMP(m , cele) \index{ele2comp(m , cele)}
751 $\longrightarrow$ ccomp}\\
752 r\'{e}alise le passage des fonctions
753 sym\'{e}triques
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.
784 \end{itemize}
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).
795 \small
796 \begin{verbatim}
798 MON2SCHUR([1,1,1]);
799 x1 x2 x3
800 MON2SCHUR([3]);
802 x1 x2 x3 + x1 x2 + x1
804 MON2SCHUR([1,2]);
806 2 x1 x2 x3 + x1 x2
807 \end{verbatim}
808 \normalsize
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.
811 \small
812 \begin{verbatim}
813 a1 : PUI2COMP(3,[3]);
815 p2 p1 p3 p1 p2 p1
816 [3, p1, -- + ---, -- + ----- + ---]
817 2 2 3 2 6
818 a2 : COMP2ELE(3, a1);
820 p1 p2 p3 p1 p2 p1
821 [3, p1, --- - --, -- - ----- + ---]
822 2 2 3 2 6
823 a3 : ELE2PUI(3,a2);
824 [3, p1, p2, p3]
826 a4 : COMP2PUI(3,[]);
828 [3, h1, 2 h2 - h1 , 3 h3 - 3 h1 h2 + h1 ]
830 a5 : PUI2ELE(3,a4);
832 [3, h1, h1 - h2, h3 - 2 h1 h2 + h1 ]
834 a6 : ELE2COMP(3,a5);
835 [3, h1, h2, h3]
836 \end{verbatim}
837 \normalsize
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}).
842 \small
843 \begin{verbatim}
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]);
856 (d50) h1 h2 - h3
858 (c51) ELEM([],d48,[x1,x2,x3]);
860 (d51) e1 e2 - e3
862 (c52) PUI([],d48,[x1,x2,x3]);
865 p1 p3
866 (d52) --- - --
869 (c53) SCHUR2COMP(h1*h2-h3,[h1,h2,h3]);
872 (d53) s
873 1, 2
875 (c54) SCHUR2COMP(a*h3,[h3]);
877 (d54) s a
880 \end{verbatim}
881 \normalsize
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
886 anneau $A$.
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 :
891 \begin{eqnarray*}
892 f_*(p)(y) = \prod_{h\in S_nf} (y- h(\alpha_1,\ldots ,\alpha_n)),
893 \end{eqnarray*}
894 o\`u $\alpha_1,\ldots ,\alpha_n$ sont les racines de $p$.\\
896 Si la fonction de transformation est
897 \begin{enumerate}
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
903 expression,
904 \item un mon\^ome dont le coefficient est 1,
905 \item la fonction de la r\'esolvante de Cayley ,
906 \item de Lagrange,
907 \item un polyn\^ome quelconque,
908 \end{enumerate}
909 alors chaque r\'esolvante associ\'ee est respectivement appel\'ee
910 {\it r\'esolvante }
911 \begin{enumerate}
912 \item {\it unitaire},
913 \item {\it lin\'eaire},
914 \item {\it altern\'ee},
915 \item {\it somme},
916 \item {\it sym\'etrique},
917 \item {\it produit},
918 \item {\it de Cayley},
919 \item {\it de Lagrange},
920 \item {\it g\'en\'erale}.
921 \end{enumerate}
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 :
933 \begin{enumerate}
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.
945 \end{enumerate}
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
953 donc :
955 \begin{itemize}
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).
996 \end{itemize}
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
1006 \begin{enumerate}
1007 \item unitaire,
1008 \item lineaire,
1009 \item alternee,
1010 \item somme,
1011 \item symetrique,
1012 \item produit,
1013 \item Cayley
1014 \item lagrange,
1015 \item generale.
1016 \end{enumerate}
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 :
1020 \begin{itemize}
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
1025 $y$ de
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}$.
1036 \end{itemize}
1037 {\it Exemples}.
1038 \small
1039 \begin{verbatim}
1040 resolvante:unitaire;
1041 RESOLVANTE(x^7-14*x^5 + 56*x^3 - 56*X + 22,x,x^3-1,[x]);
1043 7 6 5 4 3
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]);
1051 24 20 16 12
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]);
1058 24 20 16 12
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]);
1064 24 20 16 12
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]]);
1071 24 20 16 12
1072 Y + 80 Y + 7520 Y + 1107200 Y
1074 + 49475840 Y + 344489984 Y + 655360000
1076 resolvante_diedrale(x^5-3*x^4+1,x);
1077 15 12 11 10 9 8 7 6
1078 X - 21 X - 81 X - 21 X + 207 X + 1134 X + 2331 X - 945 X
1080 5 4 3 2
1081 - 4970 X - 18333 X - 29079 X - 20745 X - 25326 X - 697
1082 \end{verbatim}
1083 \normalsize
1084 Nous constatons ainsi que la fonction {\tt DIRECT} est une g\'en\'eralisation
1085 de la fonction r\'esolvante.
1086 \small
1087 \begin{verbatim}
1088 resolvante : lineaire$
1089 RESOLVANTE(x^4-1,x,x1+2*x2,[x1,x2]);
1090 12 8 4
1091 Y + 13 Y + 611 Y - 625
1092 DIRECT([x^4-1],x,x1+2*x2,[[x1,x2,x3]]);
1093 12 8 4
1094 Y + 13 Y + 611 Y - 625
1095 \end{verbatim}
1096 \normalsize
1097 Le r\'esultat de ce dernier calcul eut \'et\'e le m\^eme avec
1098 \begin{verbatim}
1099 DIRECT([x^4-1],x,x1+2*x2,[[x1,x2]]);
1100 \end{verbatim}
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.
1104 \small
1105 \begin{verbatim}
1106 resolvante:lineaire$
1107 RESOLVANTE(x^4-1,x,x1+x2+x3,[x1,x2,x3]);
1109 Y - 1
1110 resolvante:symetrique$
1112 RESOLVANTE(x^4-1,x,x1+x2+x3,[x1,x2,x3]);
1114 Y - 1
1115 resolvante:lineaire$
1116 RESOLVANTE(x^4+x+1,x,x1-x2,[x1,x2]);
1117 12 8 6 4 2
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]);
1121 12 8 6 4 2
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]);
1125 12 8 6 4 2
1126 Y + 8 Y + 26 Y - 112 Y + 216 Y + 229
1127 \end{verbatim}
1128 \normalsize
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.
1137 \small
1138 \begin{verbatim}
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]]);
1147 e1 f1
1149 n: MULTI_ELEM([[2,e1,e2],[2,f1,f2]],l[2],[[x,y],[a,b]]);
1151 2 2 2 2
1152 8 e2 f2 - 2 e1 f2 - 2 e2 f1 + e1 f1
1154 PUI2ELE(2,[2,m,n]);
1157 [2, e1 f1, - 4 e2 f2 + e1 f2 + e2 f1 ]
1159 ELE2POLYNOME(%,y);
1161 2 2 2
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,
1165 [[u, v], [a, b]]);
1167 2 2 2
1168 y - e1 f1 y - 4 e2 f2 + e1 f2 + e2 f1
1170 \end{verbatim}
1171 \normalsize
1172 \begin{itemize}
1173 \item{\tt PUI\_DIRECT($[f_1, \ldots, f_q]$,[$lvar_1,\ldots ,lvar_p$],
1174 [$d_1,d_2,...,d_p$])}\\
1175 \index{pui\_direct}
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$).
1196 \end{itemize}
1197 \small
1198 \begin{verbatim}
1199 L:[[x,y],[a,b]]$
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]);
1208 2 2 2 2 3 3
1209 [2 A X, 4 A B X Y + 2 A X , 3 A B X Y + 2 A X ,
1211 2 2 2 2 3 3 4 4
1212 12 A B X Y + 4 A B X Y + 2 A X ,
1214 3 2 3 2 4 4 5 5
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 ,
1225 2 3 2 2 3
1226 9 x y + 12 a x y + 3 x + 6 a x + 12 a x + 8 a ]
1229 \end{verbatim}
1230 \normalsize
1231 Evidemment, on retrouve le m\^eme r\'esultat ainsi
1232 \small
1233 \begin{verbatim}
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 ,
1240 2 3 2 2 3
1241 9 x y + 12 a x y + 3 x + 6 a x + 12 a x + 8 a ]
1242 \end{verbatim}
1243 \normalsize
1244 \newpage
1245 \section*{Signification des objets }
1247 {\tt card}
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.
1294 \include{docsymidx}
1295 \tableofcontents
1296 \end{document}