Merge branch 'master' into bug-4403-remove-polyfill
[maxima.git] / doc / info / pt / Symmetries.texi
blobad742f47234a62fbabf83f774b99bc8ec31b1800
1 @c /Symmetries.texi/1.11/Tue Mar  6 15:46:20 2007/-ko/
2 @c ficheiro gentilmente traduzido por Helciclever Barros da Silva
3 @c end concepts Symmetries
4 @c Notes by K.O.:
5 @c In {Function} mon2schur, I don't know how to produce both
6 @c nice-looking dvi/pdf output, and HTML output.  Same situation occurs in
7 @c a couple of other places.  I've favored dvi/pdf.  So right now, "make
8 @c html" reports some (non-fatal) errors.
10 @menu
11 * Definições para Simetrias::  
12 @end menu
14 @node Definições para Simetrias,  , Simetrias, Simetrias
15 @section Definições para Simetrias
17 @subsection Mudando a base do sistema de numeração
19 @deffn {Função} comp2pui (@var{n}, @var{L})
20 implementa a passagem das funções simétricas completamente simétricas fornecidas na lista
21 @var{L} para as funções simétricas elementares de 0 a @var{n}. Se a
22 lista @var{L} contiver menos que @var{n+1} elementos, será completada com
23 valores formais do tipo @var{h1}, @var{h2}, etc. Se o primeiro elemento
24 da lista @var{L} existir, ele é interpretado como sendo o tamanho do alfabeto,
25 de outra forma o tamanho é escolhido para @var{n}.
28 @c GENERATED FROM THE FOLLOWING
29 @c comp2pui (3, [4, g]);
30 @example
31 (%i1) comp2pui (3, [4, g]);
32                         2                    2
33 (%o1)    [4, g, 2 h2 - g , 3 h3 - g h2 + g (g  - 2 h2)]
34 @end example
36 @end deffn
39 @deffn {Função} ele2pui (@var{m}, @var{L})
40 vai de funções simétricas elementares para as funções completas.
41 Similar a @code{comp2ele} e @code{comp2pui}.
43 Outras funções para mudanças de base: @code{comp2ele}.
45 @end deffn
48 @deffn {Função} ele2comp (@var{m}, @var{L})
49 Vai de funções simétricas elementares para funções completas.
50 Similar a @code{comp2ele} e a @code{comp2pui}.
52 Outras funções para mudanças de base: @code{comp2ele}.
53 @end deffn
56 @deffn {Função} elem (@var{ele}, @var{sym}, @var{lvar})
57 ddecompões o polinómio simétrico @var{sym}, nas variáveis
58 contidas na lista @var{lvar}, em termos de funções elementares
59 simétricas fornecidas na lista @var{ele}.  Se o primeiro elemento de
60 @var{ele} for fornecido, esse primeiro elemento será o tamanho do alfabeto, de outra forma o
61 tamanho será o grau do polinómio @var{sym}.  Se valores forem
62 omitidos na lista @var{ele}, valores formais do tipo @var{e1},
63 @var{e2}, etc. serão adicionados.  O polinómio @var{sym} pode ser fornecido de
64 três diferentes formas: contraída (@code{elem} pode então ser 1, seu
65 valor padrão), particionada (@code{elem} pode ser 3), ou extendida
66 (i.e. o polinómio completo, e @code{elem} pode então ser 2).  A
67 função @code{pui} é usada então da mesma forma.
69 sobre um alfabeto de tamanho 3 com @var{e1}, a primeira funç@`{a}o elementar
70 simétrica, com valor 7, o polinómio simétrico em 3 variáveis cuja
71 forma contraída (que aqui depende de duas de suas variáveis) é
72 @var{x^4-2*x*y} decomposto como segue em funções elementares simétricas:
74 @c GENERATED FROM THE FOLLOWING
75 @c elem ([3, 7], x^4 - 2*x*y, [x, y]);
76 @c ratsimp (%);
77 @example
78 (%i1) elem ([3, 7], x^4 - 2*x*y, [x, y]);
79 (%o1) 7 (e3 - 7 e2 + 7 (49 - e2)) + 21 e3
81                                          + (- 2 (49 - e2) - 2) e2
82 (%i2) ratsimp (%);
83                               2
84 (%o2)             28 e3 + 2 e2  - 198 e2 + 2401
85 @end example
87 @noindent
88 Outras funções para mudanças de base: @code{comp2ele}.
90 @end deffn
93 @deffn {Function} mon2schur (@var{L})
94 a lsita @var{L} representa a função de Schur @math{S_L}: temos
95 @iftex
96 @math{L = [i_1,i_2, \ldots, i_q]}, with @math{i_1 \le i_2 \le \ldots \le i_q}.
97 A função de Schur @math{S_{i_1,i_2, \ldots, i_q}} é a menor
98 da matriz infinita @math{h_{i-j}}, @math{i \ge 1, j \ge 1},
99 consistindo das @math{q} primeiras linhas e as colunas @math{i_1+1,
100 i_2+2, \ldots, i_q+q}.
101 @end iftex
102 @c UNFORTUNATELY TEXINFO DOES NOT HAVE A NOTION OF "@ELSE"
103 @c SO IT IS NECESSARY TO REPEAT THE FOLLOWING NON-TEX STUFF FOR INFO AND FOR HTML ... SIGH
104 @ifinfo
105 @math{L = [i_1, i_2, ..., i_q]}, com @math{i_1 <= i_2 <= ... <= i_q}.
106 A função de Schur @math{S_[i_1, i_2, ..., i_q]} é a menor
107 da matriz infinita @math{h_[i-j]}, @math{i <= 1, j <= 1},
108 consistindo das @math{q} primeiras linhas e as colunas @math{1 + i_1,
109 +2 + i_2, ..., q + i_q}.
110 @end ifinfo
111 @ifhtml
112 @math{L = [i_1, i_2, ..., i_q]}, com @math{i_1 <= i_2 <= ... <= i_q}.
113 A função de Schur @math{S_[i_1, i_2, ..., i_q]} é a menor
114 da matriz infinita @math{h_[i-j]}, @math{i <= 1, j <= 1},
115 consistindo das @math{q} primeiras linhas e as colunas @math{1 + i_1,
116 2 + i_2, ..., q + i_q}.
117 @end ifhtml
119 Essa função de Schur pode ser escrita em termos de mon@^omios usando
120 @code{treinat} e @code{kostka}.  A forma retornada é um polinómio
121 simétrico na representação contraída nas variáveis @math{x_1,x_2,\ldots}.
123 @c GENERATED FROM THE FOLLOWING
124 @c mon2schur ([1, 1, 1]);
125 @c mon2schur ([3]);
126 @c mon2schur ([1, 2]);
127 @example
128 (%i1) mon2schur ([1, 1, 1]);
129 (%o1)                       x1 x2 x3
130 (%i2) mon2schur ([3]);
131                                   2        3
132 (%o2)                x1 x2 x3 + x1  x2 + x1
133 (%i3) mon2schur ([1, 2]);
134                                       2
135 (%o3)                  2 x1 x2 x3 + x1  x2
136 @end example
138 @noindent
139 o qual significa que para 3 variáveis fornece:
141 @c UM, FROM WHAT ARGUMENTS WAS THE FOLLOWING GENERATED ?? (original comment)
142 @example
143    2 x1 x2 x3 + x1^2 x2 + x2^2 x1 + x1^2 x3 + x3^2 x1
144     + x2^2 x3 + x3^2 x2
145 @end example
146 @noindent
147 Outras funções para mudanças de base: @code{comp2ele}.
149 @end deffn
152 @deffn {Função} multi_elem (@var{l_elem}, @var{multi_pc}, @var{l_var})
153 decompões um polinómio multi-simétrico na forma multi-contraída
154 @var{multi_pc} nos grupos de variáveis contidas na lista de listas
155 @var{l_var} en termos de funções elementares simétricas contidas em
156 @var{l_elem}.
158 @c GENERATED FROM THE FOLLOWING
159 @c multi_elem ([[2, e1, e2], [2, f1, f2]], a*x + a^2 + x^3, [[x, y], [a, b]]);
160 @c ratsimp (%);
161 @example
162 (%i1) multi_elem ([[2, e1, e2], [2, f1, f2]], a*x + a^2 + x^3, [[x, y], [a, b]]);
163                                                   3
164 (%o1)         - 2 f2 + f1 (f1 + e1) - 3 e1 e2 + e1
165 (%i2) ratsimp (%);
166                          2                       3
167 (%o2)         - 2 f2 + f1  + e1 f1 - 3 e1 e2 + e1
168 @end example
170 Outras funções para mudanças de base: @code{comp2ele}.
172 @end deffn
175 @c WHAT ARE THE ARGUMENTS FOR THIS FUNCTION ?? (original comment)
176 @deffn {Função} multi_pui
177 é para a função @code{pui} o que a função @code{multi_elem} é para
178 a função @code{elem}.
180 @c GENERATED FROM THE FOLLOWING
181 @c multi_pui ([[2, p1, p2], [2, t1, t2]], a*x + a^2 + x^3, [[x, y], [a, b]]);
182 @example
183 (%i1) multi_pui ([[2, p1, p2], [2, t1, t2]], a*x + a^2 + x^3, [[x, y], [a, b]]);
184                                             3
185                                 3 p1 p2   p1
186 (%o1)              t2 + p1 t1 + ------- - ---
187                                    2       2
188 @end example
190 @end deffn
193 @c HMM, pui IS A VARIABLE AS WELL.  It's a function, for sure.
194 @deffn {Função} pui (@var{L}, @var{sym}, @var{lvar})
195 decompõe o polinómio simétrico @var{sym}, nas variáveis na
196 lista @var{lvar}, em termos de funções exponenciais na lista @var{L}.
197 Se o primeiro elemento de @var{L} for fornecido, esse primeiro elemento será o tamanho do
198 alfabeto, de outra forma o tamanho será o grau do polinómio
199 @var{sym}.  Se valores forem omitidos na lista @var{L}, valores formais do
200 tipo @var{p1}, @var{p2} , etc. serão adicionados. O polinómio
201 @var{sym} pode ser fornecido de três diferentes formas: contraída (@code{elem}
202 pode então ser 1, seu valor padrão), particionada (@code{elem} pode ser
203 3), ou extendida (i.e. o polinómio completo, e @code{elem} pode então
204 ser 2). A função @code{pui} é usada da mesma forma.
206 @c GENERATED FROM THE FOLLOWING
207 @c pui;
208 @c pui ([3, a, b], u*x*y*z, [x, y, z]);
209 @c ratsimp (%);
210 @example
211 (%i1) pui;
212 (%o1)                           1
213 (%i2) pui ([3, a, b], u*x*y*z, [x, y, z]);
214                        2
215                    a (a  - b) u   (a b - p3) u
216 (%o2)              ------------ - ------------
217                         6              3
218 (%i3) ratsimp (%);
219                                        3
220                       (2 p3 - 3 a b + a ) u
221 (%o3)                 ---------------------
222                                 6
223 @end example
224 @noindent
225 Outras funções para mudanças de base: @code{comp2ele}.
227 @end deffn
231 @deffn {Função} pui2comp (@var{n}, @var{lpui})
232 converte a dista das primeiras @var{n} funções completas (com o
233 comprimento em primeiro lugar) em termos de funções exponenciais fornecidas na lista
234 @var{lpui}. se a lista @var{lpui} for vazia, o cardinal é @var{n},
235 de outra forma o cardinal será seu primeiro elemento (como em @code{comp2ele} e em
236 @code{comp2pui}).
238 @c GENERATED FROM THE FOLLOWING
239 @c pui2comp (2, []);
240 @c pui2comp (3, [2, a1]);
241 @c ratsimp (%);
242 @example
243 (%i1) pui2comp (2, []);
244                                        2
245                                 p2 + p1
246 (%o1)                   [2, p1, --------]
247                                    2
248 (%i2) pui2comp (3, [2, a1]);
249                                             2
250                                  a1 (p2 + a1 )
251                          2  p3 + ------------- + a1 p2
252                   p2 + a1              2
253 (%o2)     [2, a1, --------, --------------------------]
254                      2                  3
255 (%i3) ratsimp (%);
256                             2                     3
257                      p2 + a1   2 p3 + 3 a1 p2 + a1
258 (%o3)        [2, a1, --------, --------------------]
259                         2               6
260 @end example
261 @noindent
262 Outras funções para mudanças de base: @code{comp2ele}.
264 @end deffn
268 @deffn {Função} pui2ele (@var{n}, @var{lpui})
269 efectiva a passagem de funções exponenciais para as funções elementares simétricas.
270 Se o sinalizador @code{pui2ele} for @code{girard}, @code{pui2ele} irá retornar a lista de
271 funções elementares simétricas de 1 a @var{n}, e se o sinalizador for
272 @code{close}, @code{pui2ele} retornará a @var{n}-ésima função simétrica elementar.
274 Outras funções para mudanças de base: @code{comp2ele}.
275 @end deffn
278 @deffn {Função} puireduc (@var{n}, @var{lpui})
279 @var{lpui} é uma lista cujo primeiro elemento é um inteiro @var{m}.
280 @code{puireduc} fornece as primeiras @var{n} funções exponenciais em termos das
281 primeiras @var{m} funções.
283 @c GENERATED FROM THE FOLLOWING
284 @c puireduc (3, [2]);
285 @example
286 (%i1) puireduc (3, [2]);
287                                          2
288                                    p1 (p1  - p2)
289 (%o1)          [2, p1, p2, p1 p2 - -------------]
290                                          2
291 (%i2) ratsimp (%);
292                                            3
293                                3 p1 p2 - p1
294 (%o2)              [2, p1, p2, -------------]
295                                      2
296 @end example
297 @end deffn
300 @deffn {Função} schur2comp (@var{P}, @var{l_var})
301 @var{P} é um polinómio nas variáveis da lista @var{l_var}.  Cada
302 uma dessas variáveis represetna uma função simétrica completa.  Na
303 lista @var{l_var} o @var{i}-ésima função simétrica completa é representada através da
304 concatenação da letra @code{h} com o inteiro @var{i}:
305 @code{h@var{i}}.  Essa função expressa @var{P} em termos de funções de
306 Schur.
309 @c GENERATED FROM THE FOLLOWING
310 @c schur2comp (h1*h2 - h3, [h1, h2, h3]);
311 @c schur2comp (a*h3, [h3]);
312 @example
313 (%i1) schur2comp (h1*h2 - h3, [h1, h2, h3]);
314 (%o1)                         s
315                                1, 2
316 (%i2) schur2comp (a*h3, [h3]);
317 (%o2)                         s  a
318                                3
319 @end example
320 @end deffn
326 @subsection Modificando represetnações
328 @deffn {Função} cont2part (@var{pc}, @var{lvar})
329 Retorna o polinómio particionado associado 
330 @`{a} forma contraída @var{pc} cujas variáveis estão em @var{lvar}.
332 @c GENERATED FROM THE FOLLOWING
333 @c pc: 2*a^3*b*x^4*y + x^5;
334 @c cont2part (pc, [x, y]);
335 @example
336 (%i1) pc: 2*a^3*b*x^4*y + x^5;
337                            3    4      5
338 (%o1)                   2 a  b x  y + x
339 (%i2) cont2part (pc, [x, y]);
340                                    3
341 (%o2)              [[1, 5, 0], [2 a  b, 4, 1]]
342 @end example
343 @end deffn
345 @deffn {Função} contract (@var{psym}, @var{lvar})
346 retorna uma forma contraída (i.e. um mon@^omio
347 @c CHECK ME!!
348 de grupo ssimétrico) do polinómio @var{psym} nas variáveis contidas
349 na lista @var{lvar}.  A função @code{explose} executa a
350 operação inversa.  A função @code{tcontract} testa a simétria do
351 polinómio.
353 @c GENERATED FROM THE FOLLOWING
354 @c psym: explose (2*a^3*b*x^4*y, [x, y, z]);
355 @c contract (psym, [x, y, z]);
356 @example
357 (%i1) psym: explose (2*a^3*b*x^4*y, [x, y, z]);
358          3      4      3      4      3    4        3    4
359 (%o1) 2 a  b y z  + 2 a  b x z  + 2 a  b y  z + 2 a  b x  z
361                                            3      4      3    4
362                                       + 2 a  b x y  + 2 a  b x  y
363 (%i2) contract (psym, [x, y, z]);
364                               3    4
365 (%o2)                      2 a  b x  y
366 @end example
367 @end deffn
370 @deffn {Função} explose (@var{pc}, @var{lvar})
371 retorna o polinómio simétrico associado com a forma contraída
372 @var{pc}. A lista @var{lvar} conté as variáveis.
374 @c GENERATED FROM THE FOLLOWING
375 @c explose (a*x + 1, [x, y, z]);
376 @example
377 (%i1) explose (a*x + 1, [x, y, z]);
378 (%o1)                  a z + a y + a x + 1
379 @end example
380 @end deffn
383 @deffn {Função} part2cont (@var{ppart}, @var{lvar})
384 vai da forma particionada para a forma contraída de um polinómio simétrico.
385 A forma contraída é convertida com as variáveis em @var{lvar}.
387 @c GENERATED FROM THE FOLLOWING
388 @c part2cont ([[2*a^3*b, 4, 1]], [x, y]);
389 @example
390 (%i1) part2cont ([[2*a^3*b, 4, 1]], [x, y]);
391                               3    4
392 (%o1)                      2 a  b x  y
393 @end example
394 @end deffn
398 @deffn {Função} partpol (@var{psym}, @var{lvar})
399 @var{psym} é um polinómio simétrico nas variáveis da lista
400 @var{lvar}. Essa função retorna sua represetnação particionada.
402 @c GENERATED FROM THE FOLLOWING
403 @c partpol (-a*(x + y) + 3*x*y, [x, y]);
404 @example
405 (%i1) partpol (-a*(x + y) + 3*x*y, [x, y]);
406 (%o1)               [[3, 1, 1], [- a, 1, 0]]
407 @end example
409 @end deffn
411 @deffn {Função} tcontract (@var{pol}, @var{lvar})
412 testa se o polinómio @var{pol} é simétrico nas variáveis da
413 lista @var{lvar}.  Se for, @code{tcontract} retorna uma representação contraída como o faz a
414 função @code{contract}.
416 @end deffn
420 @deffn {Função} tpartpol (@var{pol}, @var{lvar})
421 testa se o polinómio @var{pol} é simétrico nas variáveis da
422 lista @var{lvar}.  Se for, @code{tpartpol} retorna sua represetnação particionada como
423 o faz a função @code{partpol}.
425 @end deffn
427 @deffn {Função} direct ([@var{p_1}, ..., @var{p_n}], @var{y}, @var{f}, [@var{lvar_1}, ..., @var{lvar_n}])
428 calcula a imagem directa (see M. Giusti, D. Lazard et A. Valibouze,
429 ISSAC 1988, Rome) associada @`{a} função @var{f}, na lista de
430 variáveis @var{lvar_1}, ..., @var{lvar_n}, e nos polinómios
431 @var{p_1}, ..., @var{p_n} na variável @var{y}.  A quantidade de argumetnos que a
432 funç@`{a}o @var{f} pode receber é importante para o cálculo.  Dessa forma, se a
433 expressão para @var{f} não depende de alguma variável, é inútil
434 incluir essa variável, e não incluir essa variável irá também reduzir
435 consideravelmente o montante cálculos efetuados.
437 @c GENERATED FROM THE FOLLOWING
438 @c direct ([z^2  - e1* z + e2, z^2  - f1* z + f2],
439 @c               z, b*v + a*u, [[u, v], [a, b]]);
440 @c ratsimp (%);
441 @c ratsimp (direct ([z^3-e1*z^2+e2*z-e3,z^2  - f1* z + f2],
442 @c               z, b*v + a*u, [[u, v], [a, b]]));
443 @example
444 (%i1) direct ([z^2  - e1* z + e2, z^2  - f1* z + f2],
445               z, b*v + a*u, [[u, v], [a, b]]);
446        2
447 (%o1) y  - e1 f1 y
449                                  2            2             2   2
450                   - 4 e2 f2 - (e1  - 2 e2) (f1  - 2 f2) + e1  f1
451                 + -----------------------------------------------
452                                          2
453 (%i2) ratsimp (%);
454               2                2                   2
455 (%o2)        y  - e1 f1 y + (e1  - 4 e2) f2 + e2 f1
456 (%i3) ratsimp (direct ([z^3-e1*z^2+e2*z-e3,z^2  - f1* z + f2],
457               z, b*v + a*u, [[u, v], [a, b]]));
458        6            5         2                        2    2   4
459 (%o3) y  - 2 e1 f1 y  + ((2 e1  - 6 e2) f2 + (2 e2 + e1 ) f1 ) y
461                           3                               3   3
462  + ((9 e3 + 5 e1 e2 - 2 e1 ) f1 f2 + (- 2 e3 - 2 e1 e2) f1 ) y
464          2       2        4    2
465  + ((9 e2  - 6 e1  e2 + e1 ) f2
467                     2       2       2                   2    4
468  + (- 9 e1 e3 - 6 e2  + 3 e1  e2) f1  f2 + (2 e1 e3 + e2 ) f1 )
470   2          2                      2     3          2
471  y  + (((9 e1  - 27 e2) e3 + 3 e1 e2  - e1  e2) f1 f2
473                  2            2    3                5
474  + ((15 e2 - 2 e1 ) e3 - e1 e2 ) f1  f2 - 2 e2 e3 f1 ) y
476            2                   3           3     2   2    3
477  + (- 27 e3  + (18 e1 e2 - 4 e1 ) e3 - 4 e2  + e1  e2 ) f2
479          2      3                   3    2   2
480  + (27 e3  + (e1  - 9 e1 e2) e3 + e2 ) f1  f2
482                    2    4        2   6
483  + (e1 e2 e3 - 9 e3 ) f1  f2 + e3  f1
484 @end example
486 Encontrando um polinómio cujas raízes são somatórios @math{a+u} onde @math{a}
487 é uma raíz de @math{z^2 - e_1 z + e_2} e @math{u} é uma raíz de @math{z^2 -
488 +f_1 z + f_2}.
490 @c GENERATED FROM THE FOLLOWING
491 @c ratsimp (direct ([z^2 - e1* z + e2, z^2 - f1* z + f2],
492 @c                           z, a + u, [[u], [a]]));
493 @example
494 (%i1) ratsimp (direct ([z^2 - e1* z + e2, z^2 - f1* z + f2],
495                           z, a + u, [[u], [a]]));
496        4                    3             2
497 (%o1) y  + (- 2 f1 - 2 e1) y  + (2 f2 + f1  + 3 e1 f1 + 2 e2
499      2   2                              2               2
500  + e1 ) y  + ((- 2 f1 - 2 e1) f2 - e1 f1  + (- 2 e2 - e1 ) f1
502                   2                     2            2
503  - 2 e1 e2) y + f2  + (e1 f1 - 2 e2 + e1 ) f2 + e2 f1  + e1 e2 f1
505      2
506  + e2
507 @end example
509 @code{direct} aceita dois sinalizadores: @code{elementaires} (elementares) e
510 @code{puissances} (exponenciais - valor padrão) que permitem a decomposição
511 de polinómios simétricos que aparecerem nesses cálculos em
512 funções simétricas elementares ou em funções exponenciais
513 respectivamente.
515 Funções de @code{sym} utilizadas nesta função :
517 @code{multi_orbit} (portanto @code{orbit}), @code{pui_direct}, @code{multi_elem}
518 (portanto @code{elem}), @code{multi_pui} (portanto @code{pui}), @code{pui2ele}, @code{ele2pui}
519 (se o sinalizador @code{direct} for escolhido para @code{puissances}).
521 @end deffn
523 @deffn {Função} multi_orbit (@var{P}, [@var{lvar_1}, @var{lvar_2},..., @var{lvar_p}])
525 @var{P} é um polinómio no conjunto de variáveis contidas nas lista
526 @var{lvar_1}, @var{lvar_2}, ..., @var{lvar_p}. Essa função retorna a
527 órbita do polinómio @var{P} sob a ação do produto dos
528 grupos simétricos dos conjuntos de variáveis represetnadas nas @var{p}
529 listas.
531 @c GENERATED FROM THE FOLLOWING
532 @c multi_orbit (a*x + b*y, [[x, y], [a, b]]);
533 @c multi_orbit (x + y + 2*a, [[x, y], [a, b, c]]);
534 @example
535 (%i1) multi_orbit (a*x + b*y, [[x, y], [a, b]]);
536 (%o1)                [b y + a x, a y + b x]
537 (%i2) multi_orbit (x + y + 2*a, [[x, y], [a, b, c]]);
538 (%o2)        [y + x + 2 c, y + x + 2 b, y + x + 2 a]
539 @end example
540 @noindent
541 Veja também: @code{orbit} para a ação de um grupo simétrico simples.
542 @end deffn
544 @deffn {Função} multsym (@var{ppart_1}, @var{ppart_2}, @var{n})
545 retorna oproduto de dois polinómios simétricos em @var{n}
546 varieis trabalhando somente módulo a ação do grupo simétrico de
547 ordem @var{n}. O polinómios estão em sua forma particionada.
549 Dados 2 polinómio simétricos em @var{x}, @var{y}:  @code{3*(x + y)
550 + 2*x*y} e @code{5*(x^2 + y^2)} cujas formas particionadas são @code{[[3,
551 1], [2, 1, 1]]} e @code{[[5, 2]]}, seu produto irá ser
553 @c GENERATED FROM THE FOLLOWING
554 @c multsym ([[3, 1], [2, 1, 1]], [[5, 2]], 2);
555 @example
556 (%i1) multsym ([[3, 1], [2, 1, 1]], [[5, 2]], 2);
557 (%o1)         [[10, 3, 1], [15, 3, 0], [15, 2, 1]]
558 @end example
559 @noindent
560 isso é @code{10*(x^3*y + y^3*x) + 15*(x^2*y + y^2*x) + 15*(x^3 + y^3)}.
562 Funções para mudar as representacões de um polinómio simétrico:
564 @code{contract}, @code{cont2part}, @code{explose}, @code{part2cont},
565 @code{partpol}, @code{tcontract}, @code{tpartpol}.
566 @end deffn
568 @deffn {Função} orbit (@var{P}, @var{lvar})
569 calcula a órbita do polinómio @var{P} nas variáveis na lista
570 @var{lvar} sob a ação do grupo simétrico do conjunto das
571 variáveis na lista @var{lvar}.
573 @c GENERATED FROM THE FOLLOWING
574 @c orbit (a*x + b*y, [x, y]);
575 @c orbit (2*x + x^2, [x, y]);
576 @example
577 (%i1) orbit (a*x + b*y, [x, y]);
578 (%o1)                [a y + b x, b y + a x]
579 (%i2) orbit (2*x + x^2, [x, y]);
580                         2         2
581 (%o2)                 [y  + 2 y, x  + 2 x]
582 @end example
583 @noindent
584 Veja também @code{multi_orbit} para a ação de um produto de grupos
585 simétricos sobre um polinómio.
586 @end deffn
588 @deffn {Função} pui_direct (@var{orbite}, [@var{lvar_1}, ..., @var{lvar_n}], [@var{d_1}, @var{d_2}, ..., @var{d_n}])
590 Tomemos @var{f} para ser um polinómio em @var{n} blocos de variáveis @var{lvar_1},
591 ..., @var{lvar_n}.  Façamos @var{c_i} ser o n;umero de variáveis em
592 @var{lvar_i}, e @var{SC} ser o produto de @var{n} grupos simétricos de
593 grau @var{c_1}, ..., @var{c_n}. Essas ações dos grupos naturalmente sobre @var{f}.
594 A lista @var{orbite} é a órbita, denotada @code{@var{SC}(@var{f})}, da
595 função @var{f} sob a ação de @var{SC}. (Essa lista pode ser
596 obtida através da função @code{multi_orbit}.)  Os @var{di} são inteiros
597 de forma que @math{c_1 \le d_1, c_2 \le d_2, \ldots, c_n \le d_n}.  
599 @iftex
600 Tomemos @var{SD} para ser o produto dos grupos simétricos @math{S_{d_1} \times
601 +S_{d_2} \times \cdots \times S_{d_n}}.
602 @end iftex
603 @c UNFORTUNATELY TEXINFO DOES NOT HAVE A NOTION OF "@ELSE"
604 @c SO IT IS NECESSARY TO REPEAT THE FOLLOWING NON-TEX STUFF FOR INFO AND FOR HTML ... SIGH
605 @ifinfo
606 Tomemos @var{SD} para ser o produto dos grupos simétricos @math{S_[d_1] x
607 S_[d_2] x ... x S_[d_n]}.
608 @end ifinfo
609 @ifhtml
610 Tomemos @var{SD} para ser o produto dos grupos simétricos @math{S_[d_1] x
611 S_[d_2] x ... x S_[d_n]}.
612 @end ifhtml
613 A função @code{pui_direct} retorna
614 as primeiras @var{n} funções exponenciais de @code{@var{SD}(@var{f})} deduzidas
615 das funções exponenciais de @code{@var{SC}(@var{f})}, onde @var{n} é
616 o tamanho de @code{@var{SD}(@var{f})}.
618 O resultado está na multi-forma contraída com relação a @var{SD}, i.e. somente um
619 elemento é mantido por órbita, sob a ação de @var{SD}.
621 @c GENERATED FROM THE FOLLOWING
622 @c l: [[x, y], [a, b]];
623 @c pui_direct (multi_orbit (a*x + b*y, l), l, [2, 2]);
624 @c pui_direct (multi_orbit (a*x + b*y, l), l, [3, 2]);
625 @c pui_direct ([y + x + 2*c, y + x + 2*b, y + x + 2*a], [[x, y], [a, b, c]], [2, 3]);
626 @example
627 (%i1) l: [[x, y], [a, b]];
628 (%o1)                   [[x, y], [a, b]]
629 (%i2) pui_direct (multi_orbit (a*x + b*y, l), l, [2, 2]);
630                                        2  2
631 (%o2)               [a x, 4 a b x y + a  x ]
632 (%i3) pui_direct (multi_orbit (a*x + b*y, l), l, [3, 2]);
633                              2  2     2    2        3  3
634 (%o3) [2 a x, 4 a b x y + 2 a  x , 3 a  b x  y + 2 a  x , 
636     2  2  2  2      3    3        4  4
637 12 a  b  x  y  + 4 a  b x  y + 2 a  x , 
639     3  2  3  2      4    4        5  5
640 10 a  b  x  y  + 5 a  b x  y + 2 a  x , 
642     3  3  3  3       4  2  4  2      5    5        6  6
643 40 a  b  x  y  + 15 a  b  x  y  + 6 a  b x  y + 2 a  x ]
644 (%i4) pui_direct ([y + x + 2*c, y + x + 2*b, y + x + 2*a], [[x, y], [a, b, c]], [2, 3]);
645                              2              2
646 (%o4) [3 x + 2 a, 6 x y + 3 x  + 4 a x + 4 a , 
648                  2                   3        2       2        3
649               9 x  y + 12 a x y + 3 x  + 6 a x  + 12 a  x + 8 a ]
650 @end example
652 @c THIS NEXT FUNCTION CALL TAKES A VERY LONG TIME (SEVERAL MINUTES)
653 @c SO LEAVE IT OUT TIL PROCESSORS GET A LITTLE FASTER ...
654 @c pui_direct ([y + x + 2*c, y + x + 2*b, y + x + 2*a], [[x, y], [a, b, c]], [3, 4]);
656 @end deffn
658 @subsection Partições
660 @deffn {Função} kostka (@var{part_1}, @var{part_2})
661 escrita por P. Esperet, calcula o número de Kostka da partição
662 @var{part_1} e @var{part_2}.
664 @c GENERATED FROM THE FOLLOWING
665 @c kostka ([3, 3, 3], [2, 2, 2, 1, 1, 1]);
666 @example
667 (%i1) kostka ([3, 3, 3], [2, 2, 2, 1, 1, 1]);
668 (%o1)                           6
669 @end example
670 @end deffn
672 @deffn {Função} lgtreillis (@var{n}, @var{m})
673 retorna a lista de partições de peso @var{n} e comprimento @var{m}.
675 @c GENERATED FROM THE FOLLOWING
676 @c lgtreillis (4, 2);
677 @example
678 (%i1) lgtreillis (4, 2);
679 (%o1)                   [[3, 1], [2, 2]]
680 @end example
681 @noindent
682 Veja também: @code{ltreillis}, @code{treillis} e @code{treinat}.
683 @end deffn
685 @deffn {Função} ltreillis (@var{n}, @var{m})
686 retorna a lista de partições de peso @var{n} e comprimento menor que ou
687 igual a @var{m}.
689 @c GENERATED FROM THE FOLLOWING
690 @c ltreillis (4, 2);
691 @example
692 (%i1) ltreillis (4, 2);
693 (%o1)               [[4, 0], [3, 1], [2, 2]]
694 @end example
696 @noindent
697 Veja também: @code{lgtreillis}, @code{treillis} e @code{treinat}.
698 @end deffn
700 @deffn {Função} treillis (@var{n})
701 retorna todas as partições de peso @var{n}.
703 @c GENERATED FROM THE FOLLOWING
704 @c treillis (4);
705 @example
706 (%i1) treillis (4);
707 (%o1)    [[4], [3, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1]]
708 @end example
710 Veja também: @code{lgtreillis}, @code{ltreillis} e @code{treinat}.
712 @end deffn
714 @deffn {Função} treinat (@var{part})
715 retorna a lista de partições inferiores @`{a} partiç@`{a}o @var{part} com relação @`{a}
716 ordem natural.
718 @c GENERATED FROM THE FOLLOWING
719 @c treinat ([5]);
720 @c treinat ([1, 1, 1, 1, 1]);
721 @c treinat ([3, 2]);
722 @example
723 (%i1) treinat ([5]);
724 (%o1)                         [[5]]
725 (%i2) treinat ([1, 1, 1, 1, 1]);
726 (%o2) [[5], [4, 1], [3, 2], [3, 1, 1], [2, 2, 1], [2, 1, 1, 1], 
728                                                  [1, 1, 1, 1, 1]]
729 (%i3) treinat ([3, 2]);
730 (%o3)                 [[5], [4, 1], [3, 2]]
731 @end example
733 @noindent
734 Outras funções de mudança de representação :
736 Veja também: @code{lgtreillis}, @code{ltreillis} e @code{treillis}.
738 @end deffn
740 @subsection Polinómios e suas raízes
742 @deffn {Função} ele2polynome (@var{L}, @var{z})
743 retorna o polinómio em @var{z} de forma que as funções elementares
744 simétricas de suas raízes estejam na lista @code{@var{L} = [@var{n},
745 @var{e_1}, ..., @var{e_n}]}, onde @var{n} é o grau dos
746 polinómios e @var{e_i} é a @var{i}-ésima função simétrica elementar.
748 @c GENERATED FROM THE FOLLOWING
749 @c ele2polynome ([2, e1, e2], z);
750 @c polynome2ele (x^7 - 14*x^5 + 56*x^3  - 56*x + 22, x);
751 @c ele2polynome ([7, 0, -14, 0, 56, 0, -56, -22], x);
752 @example
753 (%i1) ele2polynome ([2, e1, e2], z);
754                           2
755 (%o1)                    z  - e1 z + e2
756 (%i2) polynome2ele (x^7 - 14*x^5 + 56*x^3  - 56*x + 22, x);
757 (%o2)          [7, 0, - 14, 0, 56, 0, - 56, - 22]
758 (%i3) ele2polynome ([7, 0, -14, 0, 56, 0, -56, -22], x);
759                   7       5       3
760 (%o3)            x  - 14 x  + 56 x  - 56 x + 22
761 @end example
762 @noindent
763 o inverso: @code{polynome2ele (@var{P}, @var{z})}.
765 Veja também:
766 @code{polynome2ele}, @code{pui2polynome}.
768 @end deffn
770 @deffn {Função} polynome2ele (@var{P}, @var{x})
771 fornece a lista @code{@var{l} = [@var{n}, @var{e_1}, ..., @var{e_n}]}
772 onde @var{n} é o grau do polinómio @var{P} na variável
773 @var{x} e @var{e_i} é a @var{i}-ésima função simétrica elementar
774 das raízes de @var{P}.
776 @c GENERATED FROM THE FOLLOWING
777 @c polynome2ele (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x);
778 @c ele2polynome ([7, 0, -14, 0, 56, 0, -56, -22], x);
779 @example
780 (%i1) polynome2ele (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x);
781 (%o1)          [7, 0, - 14, 0, 56, 0, - 56, - 22]
782 (%i2) ele2polynome ([7, 0, -14, 0, 56, 0, -56, -22], x);
783                   7       5       3
784 (%o2)            x  - 14 x  + 56 x  - 56 x + 22
785 @end example
786 @noindent
787 A inversa: @code{ele2polynome (@var{l}, @var{x})}
789 @end deffn
791 @deffn {Função} prodrac (@var{L}, @var{k})
792 @var{L} é uma lista contendo as funções simétricas elementares 
793 sobre um conjunto @var{A}. @code{prodrac} retorna o polinómio cujas raízes
794 são os produtos @var{k} por @var{k} dos elementos de @var{A}.
796 Veja também @code{somrac}.
797 @end deffn
799 @deffn {Função} pui2polynome (@var{x}, @var{lpui})
800 calcula o polinómio em @var{x} cujas funções exponenciais
801 das raízes são dadas na lista @var{lpui}.
803 @c GENERATED FROM THE FOLLOWING
804 @c polynome2ele (x^3 - 4*x^2 + 5*x - 1, x);
805 @c ele2pui (3, %);
806 @c pui2polynome (x, %);
807 @example
808 (%i1) pui;
809 (%o1)                           1
810 (%i2) kill(labels);
811 (%o0)                         done
812 (%i1) polynome2ele (x^3 - 4*x^2 + 5*x - 1, x);
813 (%o1)                     [3, 4, 5, 1]
814 (%i2) ele2pui (3, %);
815 (%o2)                     [3, 4, 6, 7]
816 (%i3) pui2polynome (x, %);
817                         3      2
818 (%o3)                  x  - 4 x  + 5 x - 1
819 @end example
820 @noindent
821 Veja também:
822 @code{polynome2ele}, @code{ele2polynome}.
823 @end deffn
825 @deffn {Função} somrac (@var{L}, @var{k})
826 A lista @var{L} contains função simétrica elementars de um polynomial
827 @var{P} . The function computes the polinómio whose roots are the 
828 @var{k} by @var{k} distinct sums of the roots of @var{P}. 
830 Also see @code{prodrac}.
831 @end deffn
833 @subsection Resolvents
835 @deffn {Função} resolvante (@var{P}, @var{x}, @var{f}, [@var{x_1},..., @var{x_d}]) 
836 calculates the resolvent of the polinómio @var{P} in @var{x} of degree
837 @var{n} >= @var{d} by the function @var{f} expressed nas variáveis 
838 @var{x_1}, ..., @var{x_d}.  For efficiency of computation it is
839 important to not include in the list @code{[@var{x_1}, ..., @var{x_d}]}
840 variables which do not appear in the transformation function @var{f}.
842 Para melhorar a eficiência do cálculo se pode escolher sinalizadores em
843 @code{resolvante} de fora a usar os algoritmos apropriados:
845 Se a função @var{f} for unitária :
846 @itemize @bullet
847 @item
848 um polinómio em uma variável simples,
849 @item
850   linear ,
851 @item
852   alternado,
853 @item
854   um somatório,
855 @item
856   simétrico,
857 @item
858   um produto,
859 @item
860 a função da resolvente de Cayley (utilisável de grau 5 em diante)
862 @c WHAT IS THIS ILLUSTRATING EXACTLY ??
863 @example
864 (x1*x2 + x2*x3 + x3*x4 + x4*x5 + x5*x1 -
865      (x1*x3 + x3*x5 + x5*x2 + x2*x4 + x4*x1))^2
866 @end example
868   geral,
869 @end itemize
870 o sinalizador da @code{resolvante} poderá ser respectivamente :
871 @itemize @bullet
872 @item
873   unitaire,
874 @item
875   lineaire,
876 @item
877   alternee,
878 @item
879   somme,
880 @item
881   produit,
882 @item
883   cayley,
884 @item
885   generale.
886 @end itemize
888 @c GENERATED FROM THE FOLLOWING
889 @c resolvante: unitaire$
890 @c resolvante (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x, x^3 - 1, [x]);
891 @c resolvante: lineaire$
892 @c resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3]);
893 @c resolvante: general$
894 @c resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3]);
895 @c resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3, x4]);
896 @c direct ([x^4 - 1], x, x1 + 2*x2 + 3*x3, [[x1, x2, x3]]);
897 @c resolvante :lineaire$
898 @c resolvante (x^4 - 1, x, x1 + x2 + x3, [x1, x2, x3]);
899 @c resolvante: symetrique$
900 @c resolvante (x^4 - 1, x, x1 + x2 + x3, [x1, x2, x3]);
901 @c resolvante (x^4 + x + 1, x, x1 - x2, [x1, x2]);
902 @c resolvante: alternee$
903 @c resolvante (x^4 + x + 1, x, x1 - x2, [x1, x2]);
904 @c resolvante: produit$
905 @c resolvante (x^7 - 7*x + 3, x, x1*x2*x3, [x1, x2, x3]);
906 @c resolvante: symetrique$
907 @c resolvante (x^7 - 7*x + 3, x, x1*x2*x3, [x1, x2, x3]);
908 @c resolvante: cayley$
909 @c resolvante (x^5 - 4*x^2 + x + 1, x, a, []);
910 @example
911 (%i1) resolvante: unitaire$
912 (%i2) resolvante (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x, x^3 - 1, [x]);
914 " resolvante unitaire " [7, 0, 28, 0, 168, 0, 1120, - 154, 7840, - 2772, 56448, - 33880, 
916 413952, - 352352, 3076668, - 3363360, 23114112, - 30494464, 
918 175230832, - 267412992, 1338886528, - 2292126760] 
919   3       6      3       9      6      3
920 [x  - 1, x  - 2 x  + 1, x  - 3 x  + 3 x  - 1, 
922  12      9      6      3       15      12       9       6      3
923 x   - 4 x  + 6 x  - 4 x  + 1, x   - 5 x   + 10 x  - 10 x  + 5 x
925        18      15       12       9       6      3
926  - 1, x   - 6 x   + 15 x   - 20 x  + 15 x  - 6 x  + 1, 
928  21      18       15       12       9       6      3
929 x   - 7 x   + 21 x   - 35 x   + 35 x  - 21 x  + 7 x  - 1] 
930 [- 7, 1127, - 6139, 431767, - 5472047, 201692519, - 3603982011] 
931        7      6        5         4          3           2
932 (%o2) y  + 7 y  - 539 y  - 1841 y  + 51443 y  + 315133 y
934                                               + 376999 y + 125253
935 (%i3) resolvante: lineaire$
936 (%i4) resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3]);
938 " resolvante lineaire " 
939        24       20         16            12             8
940 (%o4) y   + 80 y   + 7520 y   + 1107200 y   + 49475840 y
942                                                     4
943                                        + 344489984 y  + 655360000
944 (%i5) resolvante: general$
945 (%i6) resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3]);
947 " resolvante generale " 
948        24       20         16            12             8
949 (%o6) y   + 80 y   + 7520 y   + 1107200 y   + 49475840 y
951                                                     4
952                                        + 344489984 y  + 655360000
953 (%i7) resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3, x4]);
955 " resolvante generale " 
956        24       20         16            12             8
957 (%o7) y   + 80 y   + 7520 y   + 1107200 y   + 49475840 y
959                                                     4
960                                        + 344489984 y  + 655360000
961 (%i8) direct ([x^4 - 1], x, x1 + 2*x2 + 3*x3, [[x1, x2, x3]]);
962        24       20         16            12             8
963 (%o8) y   + 80 y   + 7520 y   + 1107200 y   + 49475840 y
965                                                     4
966                                        + 344489984 y  + 655360000
967 (%i9) resolvante :lineaire$
968 (%i10) resolvante (x^4 - 1, x, x1 + x2 + x3, [x1, x2, x3]);
970 " resolvante lineaire " 
971                               4
972 (%o10)                       y  - 1
973 (%i11) resolvante: symetrique$
974 (%i12) resolvante (x^4 - 1, x, x1 + x2 + x3, [x1, x2, x3]);
976 " resolvante symetrique " 
977                               4
978 (%o12)                       y  - 1
979 (%i13) resolvante (x^4 + x + 1, x, x1 - x2, [x1, x2]);
981 " resolvante symetrique " 
982                            6      2
983 (%o13)                    y  - 4 y  - 1
984 (%i14) resolvante: alternee$
985 (%i15) resolvante (x^4 + x + 1, x, x1 - x2, [x1, x2]);
987 " resolvante alternee " 
988             12      8       6        4        2
989 (%o15)     y   + 8 y  + 26 y  - 112 y  + 216 y  + 229
990 (%i16) resolvante: produit$
991 (%i17) resolvante (x^7 - 7*x + 3, x, x1*x2*x3, [x1, x2, x3]);
993 " resolvante produit "
994         35      33         29        28         27        26
995 (%o17) y   - 7 y   - 1029 y   + 135 y   + 7203 y   - 756 y
997          24           23          22            21           20
998  + 1323 y   + 352947 y   - 46305 y   - 2463339 y   + 324135 y
1000           19           18             17              15
1001  - 30618 y   - 453789 y   - 40246444 y   + 282225202 y
1003              14              12             11            10
1004  - 44274492 y   + 155098503 y   + 12252303 y   + 2893401 y
1006               9            8            7             6
1007  - 171532242 y  + 6751269 y  + 2657205 y  - 94517766 y
1009             5             3
1010  - 3720087 y  + 26040609 y  + 14348907
1011 (%i18) resolvante: symetrique$
1012 (%i19) resolvante (x^7 - 7*x + 3, x, x1*x2*x3, [x1, x2, x3]);
1014 " resolvante symetrique " 
1015         35      33         29        28         27        26
1016 (%o19) y   - 7 y   - 1029 y   + 135 y   + 7203 y   - 756 y
1018          24           23          22            21           20
1019  + 1323 y   + 352947 y   - 46305 y   - 2463339 y   + 324135 y
1021           19           18             17              15
1022  - 30618 y   - 453789 y   - 40246444 y   + 282225202 y
1024              14              12             11            10
1025  - 44274492 y   + 155098503 y   + 12252303 y   + 2893401 y
1027               9            8            7             6
1028  - 171532242 y  + 6751269 y  + 2657205 y  - 94517766 y
1030             5             3
1031  - 3720087 y  + 26040609 y  + 14348907
1032 (%i20) resolvante: cayley$
1033 (%i21) resolvante (x^5 - 4*x^2 + x + 1, x, a, []);
1035 " resolvente de Cayley "
1036         6       5         4          3            2
1037 (%o21) x  - 40 x  + 4080 x  - 92928 x  + 3772160 x  + 37880832 x
1039                                                        + 93392896
1040 @end example
1042 Para a resolvente de Cayley, os 2 últimos argumentos são neutros
1043 e o polinómio fornecido na entrada deve ser necessáriamente de grau 5.
1045 Veja também :
1047 @code{resolvante_bipartite}, @code{resolvante_produit_sym},
1048 @code{resolvante_unitaire}, @code{resolvante_alternee1}, @code{resolvante_klein}, 
1049 @code{resolvante_klein3}, @code{resolvante_vierer}, @code{resolvante_diedrale}. 
1051 @end deffn
1054 @deffn {Função} resolvante_alternee1 (@var{P}, @var{x})
1055 calcula a transformação de 
1056 @code{@var{P}(@var{x})} de grau @var{n} pela função $\prod_@{1\leq i<j\leq n-1@} (x_i-x_j)$.
1057 @iftex
1058 @math{\prod_{1\leq i<j\leq n-1} (x_i-x_j)}.
1059 @end iftex
1060 @c UNFORTUNATELY TEXINFO DOES NOT HAVE A NOTION OF "@ELSE"
1061 @c SO IT IS NECESSARY TO REPEAT THE FOLLOWING NON-TEX STUFF FOR INFO AND FOR HTML ... SIGH
1062 @ifinfo
1063 @math{product(x_i - x_j, 1 <= i < j <= n - 1)}.
1064 @end ifinfo
1065 @ifhtml
1066 @math{product(x_i - x_j, 1 <= i < j <= n - 1)}.
1067 @end ifhtml
1069 Veja também :
1071 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1072 @code{resolvante} , @code{resolvante_klein}, @code{resolvante_klein3},
1073 @code{resolvante_vierer}, @code{resolvante_diedrale}, @code{resolvante_bipartite}.
1075 @end deffn
1077 @deffn {Função} resolvante_bipartite (@var{P}, @var{x})
1078 calcula a trasformação de
1079 @code{@var{P}(@var{x})} de mesmo grau @var{n} através da função 
1080 @iftex
1081 @math{x_1 x_2 \cdots x_{n/2} + x_{n/2+1}\cdots x_n}.
1082 @end iftex
1083 @c UNFORTUNATELY TEXINFO DOES NOT HAVE A NOTION OF "@ELSE"
1084 @c SO IT IS NECESSARY TO REPEAT THE FOLLOWING NON-TEX STUFF FOR INFO AND FOR HTML ... SIGH
1085 @ifinfo
1086 @math{x_1 x_2 ... x_[n/2] + x_[n/2 + 1] ... x_n}.
1087 @end ifinfo
1088 @ifhtml
1089 @math{x_1 x_2 ... x_[n/2] + x_[n/2 + 1] ... x_n}.
1090 @end ifhtml
1092 Veja também :
1094 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1095 @code{resolvante} , @code{resolvante_klein}, @code{resolvante_klein3},
1096 @code{resolvante_vierer}, @code{resolvante_diedrale}, @code{resolvante_alternee1}.
1098 @c GENERATED FROM THE FOLLOWING
1099 @c resolvante_bipartite (x^6 + 108, x);
1100 @example
1101 (%i1) resolvante_bipartite (x^6 + 108, x);
1102               10        8           6             4
1103 (%o1)        y   - 972 y  + 314928 y  - 34012224 y
1104 @end example
1106 Veja também :
1108 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1109 @code{resolvante}, @code{resolvante_klein}, @code{resolvante_klein3},
1110 @code{resolvante_vierer}, @code{resolvante_diedrale},
1111 @code{resolvante_alternee1}.
1113 @end deffn
1117 @deffn {Função} resolvante_diedrale (@var{P}, @var{x})
1118 +calculates the transformation of @code{@var{P}(@var{x})} by the function
1119 +@code{@var{x_1} @var{x_2} + @var{x_3} @var{x_4}}.
1121 @c GENERATED FROM THE FOLLOWING
1122 @c resolvante_diedrale (x^5 - 3*x^4 + 1, x);
1123 @example
1124 (%i1) resolvante_diedrale (x^5 - 3*x^4 + 1, x);
1125        15       12       11       10        9         8         7
1126 (%o1) x   - 21 x   - 81 x   - 21 x   + 207 x  + 1134 x  + 2331 x
1128         6         5          4          3          2
1129  - 945 x  - 4970 x  - 18333 x  - 29079 x  - 20745 x  - 25326 x
1131  - 697
1132 @end example
1134 Veja também :
1136 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1137 @code{resolvante_alternee1}, @code{resolvante_klein}, @code{resolvante_klein3},
1138 @code{resolvante_vierer}, @code{resolvante}.
1140 @end deffn
1144 @deffn {Função} resolvante_klein (@var{P}, @var{x})
1145 +calculates the transformation of @code{@var{P}(@var{x})} by the function
1146 +@code{@var{x_1} @var{x_2} @var{x_4} + @var{x_4}}.
1148 Veja também :
1150 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1151 @code{resolvante_alternee1}, @code{resolvante}, @code{resolvante_klein3},
1152 @code{resolvante_vierer}, @code{resolvante_diedrale}.
1154 @end deffn
1158 @deffn {Função} resolvante_klein3 (@var{P}, @var{x})
1159 calcula a transformação de @code{@var{P}(@var{x})} através da função
1160 @code{@var{x_1} @var{x_2} @var{x_4} + @var{x_4}}.
1162 Veja também :
1164 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1165 @code{resolvante_alternee1}, @code{resolvante_klein}, @code{resolvante},
1166 @code{resolvante_vierer}, @code{resolvante_diedrale}.
1168 @end deffn
1172 @deffn {Função} resolvante_produit_sym (@var{P}, @var{x})
1173 calcula a lista de todas as 
1174 resolventes de produto do polinómio @code{@var{P}(@var{x})}.
1176 @c GENERATED FROM THE FOLLOWING
1177 @c resolvante_produit_sym (x^5 + 3*x^4 + 2*x - 1, x);
1178 @c resolvante: produit$
1179 @c resolvante (x^5 + 3*x^4 + 2*x - 1, x, a*b*c, [a, b, c]);
1180 @example
1181 (%i1) resolvante_produit_sym (x^5 + 3*x^4 + 2*x - 1, x);
1182         5      4             10      8       7       6       5
1183 (%o1) [y  + 3 y  + 2 y - 1, y   - 2 y  - 21 y  - 31 y  - 14 y
1185     4       3      2       10      8       7    6       5       4
1186  - y  + 14 y  + 3 y  + 1, y   + 3 y  + 14 y  - y  - 14 y  - 31 y
1188        3      2       5      4
1189  - 21 y  - 2 y  + 1, y  - 2 y  - 3 y - 1, y - 1]
1190 (%i2) resolvante: produit$
1191 (%i3) resolvante (x^5 + 3*x^4 + 2*x - 1, x, a*b*c, [a, b, c]);
1193 " resolvente produto "
1194        10      8       7    6        5       4       3     2
1195 (%o3) y   + 3 y  + 14 y  - y  - 14 y  - 31 y  - 21 y  - 2 y  + 1
1196 @end example
1197 @c INPUT %i3 TICKLES A MINOR BUG IN resolvante: 
1198 @c " resolvante produit " IS PRINTED FROM SOMEWHERE IN THE BOWELS OF resolvante
1199 @c AND IT GOOFS UP THE DISPLAY OF THE EXPONENTS OF %o3 -- I THREW IN A LINE BREAK TO ADJUST
1201 Veja também :
1203 @code{resolvante}, @code{resolvante_unitaire},
1204 @code{resolvante_alternee1}, @code{resolvante_klein},
1205 @code{resolvante_klein3}, @code{resolvante_vierer},
1206 @code{resolvante_diedrale}.
1208 @end deffn
1212 @deffn {Função} resolvante_unitaire (@var{P}, @var{Q}, @var{x})
1213 +computes the resolvent of the polinómio @code{@var{P}(@var{x})} by the
1214 +polynomial @code{@var{Q}(@var{x})}. 
1216 Veja também :
1218 @code{resolvante_produit_sym}, @code{resolvante},
1219 @code{resolvante_alternee1}, @code{resolvante_klein}, @code{resolvante_klein3},
1220 @code{resolvante_vierer}, @code{resolvante_diedrale}.
1222 @end deffn
1226 @deffn {Função} resolvante_vierer (@var{P}, @var{x})
1227 calcula a transformação de
1228 @code{@var{P}(@var{x})} pela função @code{@var{x_1} @var{x_2} - @var{x_3} @var{x_4}}.
1230 Veja também :
1232 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1233 @code{resolvante_alternee1}, @code{resolvante_klein}, @code{resolvante_klein3},
1234 @code{resolvante}, @code{resolvante_diedrale}.
1236 @end deffn
1238 @deffn {Função} multinomial (@var{r}, @var{part})
1239 onde @var{r} é o peso da partição @var{part}.  Essa função
1240 retorna o coefinciente multinomial associado: se as partes de
1241 @var{part} forem @var{i_1}, @var{i_2}, ..., @var{i_k}, o resultado é
1242 @code{@var{r}!/(@var{i_1}! @var{i_2}! ... @var{i_k}!)}.
1243 @end deffn
1245 @deffn {Função} permut (@var{L})
1246 retorna a lista de permutações da lista @var{L}.
1247 @end deffn
1249 @deffn {Função} tcontract (@var{pol}, @var{lvar})
1250 testa se o polinómio @var{pol} é simétrico nas
1251 variáveis contidas na lista @var{lvar}. se for é rtornado uma forma contraída
1252 da forma retornada pela função @code{contract}.
1254 Outras funções de mudança de representação :
1256 @code{contract}, @code{cont2part}, @code{explose}, @code{part2cont}, @code{partpol}, @code{tpartpol}.
1259 @end deffn
1261 @deffn {Função} tpartpol (@var{pol}, @var{lvar})
1262 testa se o polinómio @var{pol} é simétrico nas
1263 variáveis contidas na lista @var{lvar}. Se for simétrico @code{tpartpol} produz a forma particionada
1264 como a função @code{partpol}.
1266 Outras funções de mudança de representação :
1268 @code{contract}, @code{cont2part}, @code{explose}, @code{part2cont}, @code{partpol}, @code{tcontract}.
1271 @end deffn
1273 @deffn {Função} treillis (@var{n})
1274 retorna todas as partições de peso @var{n}.
1276 @c GENERATED FROM THE FOLLOWING
1277 @c treillis (4);
1278 @example
1279 (%i1) treillis (4);
1280 (%o1)    [[4], [3, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1]]
1281 @end example
1283 Veja também : @code{lgtreillis}, @code{ltreillis} e @code{treinat}.
1285 @end deffn
1287 @deffn {Função} treinat (@var{part})
1288 retorna a lista das partições inferiores à partição
1289 @var{part} pela ordem natural.
1291 @c GENERATED FROM THE FOLLOWING
1292 @c treinat ([5]);
1293 @c treinat ([1, 1, 1, 1, 1]);
1294 @c treinat ([3, 2]);
1295 @example
1296 (%i1) treinat ([5]);
1297 (%o1)                         [[5]]
1298 (%i2) treinat ([1, 1, 1, 1, 1]);
1299 (%o2) [[5], [4, 1], [3, 2], [3, 1, 1], [2, 2, 1], [2, 1, 1, 1], 
1301                                                  [1, 1, 1, 1, 1]]
1302 (%i3) treinat ([3, 2]);
1303 (%o3)                 [[5], [4, 1], [3, 2]]
1304 @end example
1306 Veja também : @code{lgtreillis}, @code{ltreillis} e @code{treillis}.
1308 @end deffn