1 @c -----------------------------------------------------------------------------
2 @c File : symmetries.de.texi
3 @c License : GNU General Public License (GPL)
5 @c Original : Symmetries.texi revision 1.17
6 @c Translation : Dr. Dieter Kaiser
9 @c This file is part of Maxima -- GPL CAS based on DOE-MACSYMA
10 @c -----------------------------------------------------------------------------
13 * Introduction to Symmetries::
14 * Functions and Variables for Symmetries::
17 @c -----------------------------------------------------------------------------
18 @node Introduction to Symmetries, Functions and Variables for Symmetries, symmetries, symmetries
19 @section Introduction to Symmetries
21 @code{sym} is a package for working with symmetric groups of polynomials.
24 It was written for Macsyma-Symbolics by Annick Valibouze (@url{https://web.archive.org/web/20061125035035/http://www-calfor.lip6.fr/~avb/}).
25 The algorithms are described in the following papers:
28 It was written for Macsyma-Symbolics by Annick Valibouze@footnote{@url{https://web.archive.org/web/20061125035035/http://www-calfor.lip6.fr/~avb/}}.
29 The algorithms are described in the following papers:
35 Fonctions sym@'etriques et changements de bases. Annick Valibouze.
36 EUROCAL'87 (Leipzig, 1987), 323--332, Lecture Notes in Comput. Sci 378.
37 Springer, Berlin, 1989.@*
38 @url{http://www.stix.polytechnique.fr/publications/1984-1994.html}
40 @item R@'esolvantes et fonctions sym@'etriques. Annick Valibouze.
41 Proceedings of the ACM-SIGSAM 1989 International Symposium on Symbolic
42 and Algebraic Computation, ISSAC'89 (Portland, Oregon).
43 ACM Press, 390-399, 1989.@*
44 @url{https://web.archive.org/web/20061125035035/http://www-calfor.lip6.fr/~avb/DonneesTelechargeables/MesArticles/issac89ACMValibouze.pdf}
46 @item Symbolic computation with symmetric polynomials, an extension to Macsyma.
47 Annick Valibouze. Computers and Mathematics (MIT, USA, June 13-17, 1989),
48 Springer-Verlag, New York Berlin, 308-320, 1989.@*
49 @url{http://www.stix.polytechnique.fr/publications/1984-1994.html}
51 @item Th@'eorie de Galois Constructive. Annick Valibouze. M@'emoire d'habilitation
52 @`a diriger les recherches (HDR), Universit@'e P. et M. Curie (Paris VI), 1994.
59 Fonctions sym@'etriques et changements de bases
60 @footnote{@url{www.stix.polytechnique.fr/publications/1984-1994.html}}.
61 Annick Valibouze. EUROCAL'87 (Leipzig, 1987), 323--332, Lecture Notes in Comput. Sci 378.
62 Springer, Berlin, 1989.
64 @item R@'esolvantes et fonctions sym@'etriques
65 @footnote{@url{https://web.archive.org/web/20061125035035/http://www-calfor.lip6.fr/~avb/DonneesTelechargeables/MesArticles/issac89ACMValibouze.pdf}}.
66 Annick Valibouze. Proceedings of the ACM-SIGSAM 1989 International Symposium on Symbolic
67 and Algebraic Computation, ISSAC'89 (Portland, Oregon). ACM Press, 390-399, 1989.
69 @item Symbolic computation with symmetric polynomials, an extension to Macsyma
70 @footnote{@url{www.stix.polytechnique.fr/publications/1984-1994.html}}.
71 Annick Valibouze. Computers and Mathematics (MIT, USA, June 13-17, 1989),
72 Springer-Verlag, New York Berlin, 308-320, 1989.
74 @item Th@'eorie de Galois Constructive. Annick Valibouze. M@'emoire d'habilitation
75 @`a diriger les recherches (HDR), Universit@'e P. et M. Curie (Paris VI), 1994.
80 @c @category{Group theory} @category{Polynomials} @category{Share packages} @category{Package sym}
83 @c -----------------------------------------------------------------------------
84 @node Functions and Variables for Symmetries, , Introduction to Symmetries, symmetries
85 @section Functions and Variables for Symmetries
87 @c -----------------------------------------------------------------------------
88 @subsection Changing bases
90 @c -----------------------------------------------------------------------------
91 @deffn {Function} comp2pui (@var{n}, @var{L})
93 implements passing from the complete symmetric functions given in the list
94 @var{L} to the elementary symmetric functions from 0 to @var{n}. If the
95 list @var{L} contains fewer than @var{n+1} elements, it will be completed with
96 formal values of the type @var{h1}, @var{h2}, etc. If the first element
97 of the list @var{L} exists, it specifies the size of the alphabet,
98 otherwise the size is set to @var{n}.
100 @c GENERATED FROM THE FOLLOWING
101 @c comp2pui (3, [4, g]);
104 (%i1) comp2pui (3, [4, g]);
106 (%o1) [4, g, 2 h2 - g , 3 h3 - g h2 + g (g - 2 h2)]
111 @c @category{Package sym}
115 @c -----------------------------------------------------------------------------
116 @deffn {Function} ele2pui (@var{m}, @var{L})
118 goes from the elementary symmetric functions to the complete functions.
119 Similar to @code{comp2ele} and @code{comp2pui}.
121 Other functions for changing bases: @code{comp2ele}.
124 @c @category{Package sym}
128 @c -----------------------------------------------------------------------------
129 @deffn {Function} ele2comp (@var{m}, @var{L})
131 Goes from the elementary symmetric functions to the compete functions.
132 Similar to @code{comp2ele} and @code{comp2pui}.
134 Other functions for changing bases: @code{comp2ele}.
137 @c @category{Package sym}
141 @c -----------------------------------------------------------------------------
142 @deffn {Function} elem (@var{ele}, @var{sym}, @var{lvar})
144 decomposes the symmetric polynomial @var{sym}, in the variables
145 contained in the list @var{lvar}, in terms of the elementary symmetric
146 functions given in the list @var{ele}. If the first element of
147 @var{ele} is given, it will be the size of the alphabet, otherwise the
148 size will be the degree of the polynomial @var{sym}. If values are
149 missing in the list @var{ele}, formal values of the type @var{e1},
150 @var{e2}, etc. will be added. The polynomial @var{sym} may be given in
151 three different forms: contracted (@code{elem} should then be 1, its
152 default value), partitioned (@code{elem} should be 3), or extended
153 (i.e. the entire polynomial, and @code{elem} should then be 2). The
154 function @code{pui} is used in the same way.
156 On an alphabet of size 3 with @var{e1}, the first elementary symmetric
157 function, with value 7, the symmetric polynomial in 3 variables whose
158 contracted form (which here depends on only two of its variables) is
159 @var{x^4-2*x*y} decomposes as follows in elementary symmetric functions:
161 @c GENERATED FROM THE FOLLOWING
162 @c elem ([3, 7], x^4 - 2*x*y, [x, y]);
166 (%i1) elem ([3, 7], x^4 - 2*x*y, [x, y]);
167 (%o1) 7 (e3 - 7 e2 + 7 (49 - e2)) + 21 e3
169 + (- 2 (49 - e2) - 2) e2
174 (%o2) 28 e3 + 2 e2 - 198 e2 + 2401
179 Other functions for changing bases: @code{comp2ele}.
182 @c @category{Package sym}
186 @c -----------------------------------------------------------------------------
187 @deffn {Function} mon2schur (@var{L})
189 The list @var{L} represents the Schur function @math{S_L}: we have
191 @math{L = [i_1,i_2, \ldots, i_q]}, with @math{i_1 \le i_2 \le \ldots \le i_q}.
192 The Schur function @math{S_{i_1,i_2, \ldots, i_q}} is the minor
193 of the infinite matrix @math{h_{i-j}}, @math{i \ge 1, j \ge 1},
194 consisting of the @math{q} first rows and the columns @math{i_1+1,
195 i_2+2, \ldots, i_q+q}.
198 @math{L = [i_1, i_2, ..., i_q]}, with @math{i_1 <= i_2 <= ... <= i_q}.
199 The Schur function @math{S_[i_1, i_2, ..., i_q]} is the minor
200 of the infinite matrix @math{h_[i-j]}, @math{i <= 1, j <= 1},
201 consisting of the @math{q} first rows and the columns @math{1 + i_1,
202 2 + i_2, ..., q + i_q}.
205 This Schur function can be written in terms of monomials by using
206 @code{treinat} and @code{kostka}. The form returned is a symmetric
207 polynomial in a contracted representation in the variables
215 @c GENERATED FROM THE FOLLOWING
216 @c mon2schur ([1, 1, 1]);
218 @c mon2schur ([1, 2]);
221 (%i1) mon2schur ([1, 1, 1]);
225 (%i2) mon2schur ([3]);
227 (%o2) x1 x2 x3 + x1 x2 + x1
230 (%i3) mon2schur ([1, 2]);
232 (%o3) 2 x1 x2 x3 + x1 x2
237 which means that for 3 variables this gives:
239 @c UM, FROM WHAT ARGUMENTS WAS THE FOLLOWING GENERATED ?? (original comment)
242 2 x1 x2 x3 + x1^2 x2 + x2^2 x1 + x1^2 x3 + x3^2 x1
247 Other functions for changing bases: @code{comp2ele}.
250 @c @category{Package sym}
254 @c -----------------------------------------------------------------------------
255 @deffn {Function} multi_elem (@var{l_elem}, @var{multi_pc}, @var{l_var})
257 decomposes a multi-symmetric polynomial in the multi-contracted form
258 @var{multi_pc} in the groups of variables contained in the list of lists
259 @var{l_var} in terms of the elementary symmetric functions contained in
262 @c GENERATED FROM THE FOLLOWING
263 @c multi_elem ([[2, e1, e2], [2, f1, f2]], a*x + a^2 + x^3, [[x, y], [a, b]]);
267 (%i1) multi_elem ([[2, e1, e2], [2, f1, f2]], a*x + a^2 + x^3,
270 (%o1) - 2 f2 + f1 (f1 + e1) - 3 e1 e2 + e1
275 (%o2) - 2 f2 + f1 + e1 f1 - 3 e1 e2 + e1
279 Other functions for changing bases: @code{comp2ele}.
282 @c @category{Package sym}
286 @c WHAT ARE THE ARGUMENTS FOR THIS FUNCTION ?? (original comment)
288 @c -----------------------------------------------------------------------------
289 @deffn {Function} multi_pui
291 is to the function @code{pui} what the function @code{multi_elem} is to
292 the function @code{elem}.
294 @c GENERATED FROM THE FOLLOWING
295 @c multi_pui ([[2, p1, p2], [2, t1, t2]], a*x + a^2 + x^3, [[x, y], [a, b]]);
298 (%i1) multi_pui ([[2, p1, p2], [2, t1, t2]], a*x + a^2 + x^3,
302 (%o1) t2 + p1 t1 + ------- - ---
308 @c @category{Package sym}
312 @c HMM, pui IS A VARIABLE AS WELL. It's a function, for sure.
314 @c -----------------------------------------------------------------------------
315 @deffn {Function} pui (@var{L}, @var{sym}, @var{lvar})
317 decomposes the symmetric polynomial @var{sym}, in the variables in the
318 list @var{lvar}, in terms of the power functions in the list @var{L}.
319 If the first element of @var{L} is given, it will be the size of the
320 alphabet, otherwise the size will be the degree of the polynomial
321 @var{sym}. If values are missing in the list @var{L}, formal values of
322 the type @var{p1}, @var{p2} , etc. will be added. The polynomial
323 @var{sym} may be given in three different forms: contracted (@code{elem}
324 should then be 1, its default value), partitioned (@code{elem} should be
325 3), or extended (i.e. the entire polynomial, and @code{elem} should then
326 be 2). The function @code{pui} is used in the same way.
328 @c GENERATED FROM THE FOLLOWING
330 @c pui ([3, a, b], u*x*y*z, [x, y, z]);
338 (%i2) pui ([3, a, b], u*x*y*z, [x, y, z]);
340 a (a - b) u (a b - p3) u
341 (%o2) ------------ - ------------
347 (2 p3 - 3 a b + a ) u
348 (%o3) ---------------------
353 Other functions for changing bases: @code{comp2ele}.
356 @c @category{Package sym}
360 @c -----------------------------------------------------------------------------
361 @deffn {Function} pui2comp (@var{n}, @var{lpui})
363 renders the list of the first @var{n} complete functions (with the
364 length first) in terms of the power functions given in the list
365 @var{lpui}. If the list @var{lpui} is empty, the cardinal is @var{n},
366 otherwise it is its first element (as in @code{comp2ele} and
369 @c GENERATED FROM THE FOLLOWING
371 @c pui2comp (3, [2, a1]);
375 (%i1) pui2comp (2, []);
378 (%o1) [2, p1, --------]
382 (%i2) pui2comp (3, [2, a1]);
385 2 p3 + ------------- + a1 p2
387 (%o2) [2, a1, --------, --------------------------]
393 p2 + a1 2 p3 + 3 a1 p2 + a1
394 (%o3) [2, a1, --------, --------------------]
399 Other functions for changing bases: @code{comp2ele}.
402 @c @category{Package sym}
406 @c -----------------------------------------------------------------------------
407 @deffn {Function} pui2ele (@var{n}, @var{lpui})
409 effects the passage from power functions to the elementary symmetric functions.
410 If the flag @code{pui2ele} is @code{girard}, it will return the list of
411 elementary symmetric functions from 1 to @var{n}, and if the flag is
412 @code{close}, it will return the @var{n}-th elementary symmetric function.
414 Other functions for changing bases: @code{comp2ele}.
417 @c @category{Package sym}
421 @c -----------------------------------------------------------------------------
422 @deffn {Function} puireduc (@var{n}, @var{lpui})
424 @var{lpui} is a list whose first element is an integer @var{m}.
425 @code{puireduc} gives the first @var{n} power functions in terms of the
428 @c GENERATED FROM THE FOLLOWING
429 @c puireduc (3, [2]);
432 (%i1) puireduc (3, [2]);
435 (%o1) [2, p1, p2, p1 p2 - -------------]
442 (%o2) [2, p1, p2, -------------]
448 @c @category{Package sym}
452 @c -----------------------------------------------------------------------------
453 @deffn {Function} schur2comp (@var{P}, @var{l_var})
455 @var{P} is a polynomial in the variables of the list @var{l_var}. Each
456 of these variables represents a complete symmetric function. In
457 @var{l_var} the @var{i}-th complete symmetric function is represented by
458 the concatenation of the letter @code{h} and the integer @var{i}:
459 @code{h@var{i}}. This function expresses @var{P} in terms of Schur
462 @c GENERATED FROM THE FOLLOWING
463 @c schur2comp (h1*h2 - h3, [h1, h2, h3]);
464 @c schur2comp (a*h3, [h3]);
467 (%i1) schur2comp (h1*h2 - h3, [h1, h2, h3]);
472 (%i2) schur2comp (a*h3, [h3]);
479 @c @category{Package sym}
483 @c -----------------------------------------------------------------------------
484 @subsection Changing representations
486 @c -----------------------------------------------------------------------------
487 @deffn {Function} cont2part (@var{pc}, @var{lvar})
489 returns the partitioned polynomial associated to the contracted form
490 @var{pc} whose variables are in @var{lvar}.
492 @c GENERATED FROM THE FOLLOWING
493 @c pc: 2*a^3*b*x^4*y + x^5;
494 @c cont2part (pc, [x, y]);
497 (%i1) pc: 2*a^3*b*x^4*y + x^5;
502 (%i2) cont2part (pc, [x, y]);
504 (%o2) [[1, 5, 0], [2 a b, 4, 1]]
509 @c @category{Package sym}
513 @c -----------------------------------------------------------------------------
514 @deffn {Function} contract (@var{psym}, @var{lvar})
516 returns a contracted form (i.e. a monomial orbit under the action of the
518 symmetric group) of the polynomial @var{psym} in the variables contained
519 in the list @var{lvar}. The function @code{explose} performs the
520 inverse operation. The function @code{tcontract} tests the symmetry of
523 @c GENERATED FROM THE FOLLOWING
524 @c psym: explose (2*a^3*b*x^4*y, [x, y, z]);
525 @c contract (psym, [x, y, z]);
528 (%i1) psym: explose (2*a^3*b*x^4*y, [x, y, z]);
530 (%o1) 2 a b y z + 2 a b x z + 2 a b y z + 2 a b x z
533 + 2 a b x y + 2 a b x y
536 (%i2) contract (psym, [x, y, z]);
543 @c @category{Package sym}
547 @c -----------------------------------------------------------------------------
548 @deffn {Function} explose (@var{pc}, @var{lvar})
550 returns the symmetric polynomial associated with the contracted form
551 @var{pc}. The list @var{lvar} contains the variables.
553 @c GENERATED FROM THE FOLLOWING
554 @c explose (a*x + 1, [x, y, z]);
557 (%i1) explose (a*x + 1, [x, y, z]);
558 (%o1) a z + a y + a x + 1
563 @c @category{Package sym}
567 @c -----------------------------------------------------------------------------
568 @deffn {Function} part2cont (@var{ppart}, @var{lvar})
570 goes from the partitioned form to the contracted form of a symmetric polynomial.
571 The contracted form is rendered with the variables in @var{lvar}.
573 @c GENERATED FROM THE FOLLOWING
574 @c part2cont ([[2*a^3*b, 4, 1]], [x, y]);
577 (%i1) part2cont ([[2*a^3*b, 4, 1]], [x, y]);
584 @c @category{Package sym}
588 @c -----------------------------------------------------------------------------
589 @deffn {Function} partpol (@var{psym}, @var{lvar})
591 @var{psym} is a symmetric polynomial in the variables of the list
592 @var{lvar}. This function retturns its partitioned representation.
594 @c GENERATED FROM THE FOLLOWING
595 @c partpol (-a*(x + y) + 3*x*y, [x, y]);
598 (%i1) partpol (-a*(x + y) + 3*x*y, [x, y]);
599 (%o1) [[3, 1, 1], [- a, 1, 0]]
604 @c @category{Package sym}
608 @c -----------------------------------------------------------------------------
609 @deffn {Function} tcontract (@var{pol}, @var{lvar})
611 tests if the polynomial @var{pol} is symmetric in the variables of the
612 list @var{lvar}. If so, it returns a contracted representation like the
613 function @code{contract}.
616 @c @category{Package sym}
620 @c -----------------------------------------------------------------------------
621 @deffn {Function} tpartpol (@var{pol}, @var{lvar})
623 tests if the polynomial @var{pol} is symmetric in the variables of the
624 list @var{lvar}. If so, it returns its partitioned representation like
625 the function @code{partpol}.
628 @c @category{Package sym}
632 @c -----------------------------------------------------------------------------
633 @subsection Groups and orbits
635 @c -----------------------------------------------------------------------------
636 @deffn {Function} direct ([@var{p_1}, ..., @var{p_n}], @var{y}, @var{f}, [@var{lvar_1}, ..., @var{lvar_n}])
637 calculates the direct image (see M. Giusti, D. Lazard et A. Valibouze,
638 ISSAC 1988, Rome) associated to the function @var{f}, in the lists of
639 variables @var{lvar_1}, ..., @var{lvar_n}, and in the polynomials
640 @var{p_1}, ..., @var{p_n} in a variable @var{y}. The arity of the
641 function @var{f} is important for the calulation. Thus, if the
642 expression for @var{f} does not depend on some variable, it is useless
643 to include this variable, and not including it will also considerably
644 reduce the amount of computation.
646 @c GENERATED FROM THE FOLLOWING
647 @c direct ([z^2 - e1* z + e2, z^2 - f1* z + f2],
648 @c z, b*v + a*u, [[u, v], [a, b]]);
650 @c ratsimp (direct ([z^3-e1*z^2+e2*z-e3,z^2 - f1* z + f2],
651 @c z, b*v + a*u, [[u, v], [a, b]]));
654 (%i1) direct ([z^2 - e1* z + e2, z^2 - f1* z + f2],
655 z, b*v + a*u, [[u, v], [a, b]]);
660 - 4 e2 f2 - (e1 - 2 e2) (f1 - 2 f2) + e1 f1
661 + -----------------------------------------------
667 (%o2) y - e1 f1 y + (e1 - 4 e2) f2 + e2 f1
670 (%i3) ratsimp (direct ([z^3-e1*z^2+e2*z-e3,z^2 - f1* z + f2],
671 z, b*v + a*u, [[u, v], [a, b]]));
673 (%o3) y - 2 e1 f1 y + ((2 e1 - 6 e2) f2 + (2 e2 + e1 ) f1 ) y
676 + ((9 e3 + 5 e1 e2 - 2 e1 ) f1 f2 + (- 2 e3 - 2 e1 e2) f1 ) y
679 + ((9 e2 - 6 e1 e2 + e1 ) f2
682 + (- 9 e1 e3 - 6 e2 + 3 e1 e2) f1 f2 + (2 e1 e3 + e2 ) f1 )
685 y + (((9 e1 - 27 e2) e3 + 3 e1 e2 - e1 e2) f1 f2
688 + ((15 e2 - 2 e1 ) e3 - e1 e2 ) f1 f2 - 2 e2 e3 f1 ) y
691 + (- 27 e3 + (18 e1 e2 - 4 e1 ) e3 - 4 e2 + e1 e2 ) f2
694 + (27 e3 + (e1 - 9 e1 e2) e3 + e2 ) f1 f2
697 + (e1 e2 e3 - 9 e3 ) f1 f2 + e3 f1
701 Finding the polynomial whose roots are the sums @math{a+u} where @math{a}
702 is a root of @math{z^2 - e_1 z + e_2} and @math{u} is a root of @math{z^2 -
705 @c GENERATED FROM THE FOLLOWING
706 @c ratsimp (direct ([z^2 - e1* z + e2, z^2 - f1* z + f2],
707 @c z, a + u, [[u], [a]]));
710 (%i1) ratsimp (direct ([z^2 - e1* z + e2, z^2 - f1* z + f2],
711 z, a + u, [[u], [a]]));
713 (%o1) y + (- 2 f1 - 2 e1) y + (2 f2 + f1 + 3 e1 f1 + 2 e2
716 + e1 ) y + ((- 2 f1 - 2 e1) f2 - e1 f1 + (- 2 e2 - e1 ) f1
719 - 2 e1 e2) y + f2 + (e1 f1 - 2 e2 + e1 ) f2 + e2 f1 + e1 e2 f1
726 @code{direct} accepts two flags: @code{elementaires} and
727 @code{puissances} (default) which allow decomposing the symmetric
728 polynomials appearing in the calculation into elementary symmetric
729 functions, or power functions, respectively.
731 Functions of @code{sym} used in this function:
733 @code{multi_orbit} (so @code{orbit}), @code{pui_direct}, @code{multi_elem}
734 (so @code{elem}), @code{multi_pui} (so @code{pui}), @code{pui2ele}, @code{ele2pui}
735 (if the flag @code{direct} is in @code{puissances}).
738 @c @category{Package sym}
742 @c -----------------------------------------------------------------------------
743 @deffn {Function} multi_orbit (@var{P}, [@var{lvar_1}, @var{lvar_2},..., @var{lvar_p}])
745 @var{P} is a polynomial in the set of variables contained in the lists
746 @var{lvar_1}, @var{lvar_2}, ..., @var{lvar_p}. This function returns the
747 orbit of the polynomial @var{P} under the action of the product of the
748 symmetric groups of the sets of variables represented in these @var{p}
751 @c GENERATED FROM THE FOLLOWING
752 @c multi_orbit (a*x + b*y, [[x, y], [a, b]]);
753 @c multi_orbit (x + y + 2*a, [[x, y], [a, b, c]]);
756 (%i1) multi_orbit (a*x + b*y, [[x, y], [a, b]]);
757 (%o1) [b y + a x, a y + b x]
760 (%i2) multi_orbit (x + y + 2*a, [[x, y], [a, b, c]]);
761 (%o2) [y + x + 2 c, y + x + 2 b, y + x + 2 a]
765 Also see: @code{orbit} for the action of a single symmetric group.
768 @c @category{Package sym}
772 @c -----------------------------------------------------------------------------
773 @deffn {Function} multsym (@var{ppart_1}, @var{ppart_2}, @var{n})
775 returns the product of the two symmetric polynomials in @var{n}
776 variables by working only modulo the action of the symmetric group of
777 order @var{n}. The polynomials are in their partitioned form.
779 Given the 2 symmetric polynomials in @var{x}, @var{y}: @code{3*(x + y)
780 + 2*x*y} and @code{5*(x^2 + y^2)} whose partitioned forms are @code{[[3,
781 1], [2, 1, 1]]} and @code{[[5, 2]]}, their product will be
783 @c GENERATED FROM THE FOLLOWING
784 @c multsym ([[3, 1], [2, 1, 1]], [[5, 2]], 2);
787 (%i1) multsym ([[3, 1], [2, 1, 1]], [[5, 2]], 2);
788 (%o1) [[10, 3, 1], [15, 3, 0], [15, 2, 1]]
792 that is @code{10*(x^3*y + y^3*x) + 15*(x^2*y + y^2*x) + 15*(x^3 + y^3)}.
794 Functions for changing the representations of a symmetric polynomial:
796 @code{contract}, @code{cont2part}, @code{explose}, @code{part2cont},
797 @code{partpol}, @code{tcontract}, @code{tpartpol}.
800 @c @category{Package sym}
804 @c -----------------------------------------------------------------------------
805 @deffn {Function} orbit (@var{P}, @var{lvar})
807 computes the orbit of the polynomial @var{P} in the variables in the list
808 @var{lvar} under the action of the symmetric group of the set of
809 variables in the list @var{lvar}.
811 @c GENERATED FROM THE FOLLOWING
812 @c orbit (a*x + b*y, [x, y]);
813 @c orbit (2*x + x^2, [x, y]);
816 (%i1) orbit (a*x + b*y, [x, y]);
817 (%o1) [a y + b x, b y + a x]
820 (%i2) orbit (2*x + x^2, [x, y]);
822 (%o2) [y + 2 y, x + 2 x]
826 See also @code{multi_orbit} for the action of a product of symmetric
827 groups on a polynomial.
830 @c @category{Package sym}
834 @c -----------------------------------------------------------------------------
835 @deffn {Function} pui_direct (@var{orbite}, [@var{lvar_1}, ..., @var{lvar_n}], [@var{d_1}, @var{d_2}, ..., @var{d_n}])
837 Let @var{f} be a polynomial in @var{n} blocks of variables @var{lvar_1},
838 ..., @var{lvar_n}. Let @var{c_i} be the number of variables in
839 @var{lvar_i}, and @var{SC} be the product of @var{n} symmetric groups of
840 degree @var{c_1}, ..., @var{c_n}. This group acts naturally on @var{f}.
841 The list @var{orbite} is the orbit, denoted @code{@var{SC}(@var{f})}, of
842 the function @var{f} under the action of @var{SC}. (This list may be
843 obtained by the function @code{multi_orbit}.) The @var{di} are integers
846 $c_1 \le d_1, c_2 \le d_2, \ldots, c_n \le d_n$.
849 @math{c_1 <= d_1, c_2 <= d_2, ..., c_n <= d_n}.
853 Let @var{SD} be the product of the symmetric groups @math{S_{d_1} \times
854 S_{d_2} \times \cdots \times S_{d_n}}.
857 Let @var{SD} be the product of the symmetric groups @math{S_[d_1] x
858 S_[d_2] x ... x S_[d_n]}.
860 The function @code{pui_direct} returns
861 the first @var{n} power functions of @code{@var{SD}(@var{f})} deduced
862 from the power functions of @code{@var{SC}(@var{f})}, where @var{n} is
863 the size of @code{@var{SD}(@var{f})}.
865 The result is in multi-contracted form w.r.t. @var{SD}, i.e. only one
866 element is kept per orbit, under the action of @var{SD}.
868 @c GENERATED FROM THE FOLLOWING
869 @c l: [[x, y], [a, b]];
870 @c pui_direct (multi_orbit (a*x + b*y, l), l, [2, 2]);
871 @c pui_direct (multi_orbit (a*x + b*y, l), l, [3, 2]);
872 @c pui_direct ([y + x + 2*c, y + x + 2*b, y + x + 2*a], [[x, y], [a, b, c]], [2, 3]);
875 (%i1) l: [[x, y], [a, b]];
876 (%o1) [[x, y], [a, b]]
879 (%i2) pui_direct (multi_orbit (a*x + b*y, l), l, [2, 2]);
881 (%o2) [a x, 4 a b x y + a x ]
884 (%i3) pui_direct (multi_orbit (a*x + b*y, l), l, [3, 2]);
886 (%o3) [2 a x, 4 a b x y + 2 a x , 3 a b x y + 2 a x ,
889 12 a b x y + 4 a b x y + 2 a x ,
892 10 a b x y + 5 a b x y + 2 a x ,
894 3 3 3 3 4 2 4 2 5 5 6 6
895 40 a b x y + 15 a b x y + 6 a b x y + 2 a x ]
898 (%i4) pui_direct ([y + x + 2*c, y + x + 2*b, y + x + 2*a],
899 [[x, y], [a, b, c]], [2, 3]);
901 (%o4) [3 x + 2 a, 6 x y + 3 x + 4 a x + 4 a ,
904 9 x y + 12 a x y + 3 x + 6 a x + 12 a x + 8 a ]
907 @c THIS NEXT FUNCTION CALL TAKES A VERY LONG TIME (SEVERAL MINUTES)
908 @c SO LEAVE IT OUT TIL PROCESSORS GET A LITTLE FASTER ...
909 @c pui_direct ([y + x + 2*c, y + x + 2*b, y + x + 2*a], [[x, y], [a, b, c]], [3, 4]);
912 @c @category{Package sym}
916 @c -----------------------------------------------------------------------------
917 @subsection Partitions
919 @c -----------------------------------------------------------------------------
920 @deffn {Function} kostka (@var{part_1}, @var{part_2})
922 written by P. Esperet, calculates the Kostka number of the partition
923 @var{part_1} and @var{part_2}.
925 @c GENERATED FROM THE FOLLOWING
926 @c kostka ([3, 3, 3], [2, 2, 2, 1, 1, 1]);
929 (%i1) kostka ([3, 3, 3], [2, 2, 2, 1, 1, 1]);
935 @c @category{Package sym}
939 @c -----------------------------------------------------------------------------
940 @deffn {Function} lgtreillis (@var{n}, @var{m})
942 returns the list of partitions of weight @var{n} and length @var{m}.
944 @c GENERATED FROM THE FOLLOWING
945 @c lgtreillis (4, 2);
948 (%i1) lgtreillis (4, 2);
949 (%o1) [[3, 1], [2, 2]]
953 Also see: @code{ltreillis}, @code{treillis} and @code{treinat}.
956 @c @category{Package sym}
960 @c -----------------------------------------------------------------------------
961 @deffn {Function} ltreillis (@var{n}, @var{m})
963 returns the list of partitions of weight @var{n} and length less than or
966 @c GENERATED FROM THE FOLLOWING
970 (%i1) ltreillis (4, 2);
971 (%o1) [[4, 0], [3, 1], [2, 2]]
975 Also see: @code{lgtreillis}, @code{treillis} and @code{treinat}.
978 @c @category{Package sym}
982 @c -----------------------------------------------------------------------------
983 @deffn {Function} treillis (@var{n})
985 returns all partitions of weight @var{n}.
987 @c GENERATED FROM THE FOLLOWING
992 (%o1) [[4], [3, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1]]
996 See also: @code{lgtreillis}, @code{ltreillis} and @code{treinat}.
999 @c @category{Package sym}
1003 @c -----------------------------------------------------------------------------
1004 @deffn {Function} treinat (@var{part})
1006 retruns the list of partitions inferior to the partition @var{part} w.r.t.
1009 @c GENERATED FROM THE FOLLOWING
1011 @c treinat ([1, 1, 1, 1, 1]);
1012 @c treinat ([3, 2]);
1015 (%i1) treinat ([5]);
1019 (%i2) treinat ([1, 1, 1, 1, 1]);
1020 (%o2) [[5], [4, 1], [3, 2], [3, 1, 1], [2, 2, 1], [2, 1, 1, 1],
1025 (%i3) treinat ([3, 2]);
1026 (%o3) [[5], [4, 1], [3, 2]]
1030 See also: @code{lgtreillis}, @code{ltreillis} and @code{treillis}.
1033 @c @category{Package sym}
1037 @c -----------------------------------------------------------------------------
1038 @subsection Polynomials and their roots
1040 @c -----------------------------------------------------------------------------
1041 @deffn {Function} ele2polynome (@var{L}, @var{z})
1043 returns the polynomial in @var{z} s.t. the elementary symmetric
1044 functions of its roots are in the list @code{@var{L} = [@var{n},
1045 @var{e_1}, ..., @var{e_n}]}, where @var{n} is the degree of the
1046 polynomial and @var{e_i} the @var{i}-th elementary symmetric function.
1048 @c GENERATED FROM THE FOLLOWING
1049 @c ele2polynome ([2, e1, e2], z);
1050 @c polynome2ele (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x);
1051 @c ele2polynome ([7, 0, -14, 0, 56, 0, -56, -22], x);
1054 (%i1) ele2polynome ([2, e1, e2], z);
1059 (%i2) polynome2ele (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x);
1060 (%o2) [7, 0, - 14, 0, 56, 0, - 56, - 22]
1063 (%i3) ele2polynome ([7, 0, -14, 0, 56, 0, -56, -22], x);
1065 (%o3) x - 14 x + 56 x - 56 x + 22
1069 The inverse: @code{polynome2ele (@var{P}, @var{z})}.
1072 @code{polynome2ele}, @code{pui2polynome}.
1075 @c @category{Package sym}
1079 @c -----------------------------------------------------------------------------
1080 @deffn {Function} polynome2ele (@var{P}, @var{x})
1082 gives the list @code{@var{l} = [@var{n}, @var{e_1}, ..., @var{e_n}]}
1083 where @var{n} is the degree of the polynomial @var{P} in the variable
1084 @var{x} and @var{e_i} is the @var{i}-the elementary symmetric function
1085 of the roots of @var{P}.
1087 @c GENERATED FROM THE FOLLOWING
1088 @c polynome2ele (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x);
1089 @c ele2polynome ([7, 0, -14, 0, 56, 0, -56, -22], x);
1092 (%i1) polynome2ele (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x);
1093 (%o1) [7, 0, - 14, 0, 56, 0, - 56, - 22]
1096 (%i2) ele2polynome ([7, 0, -14, 0, 56, 0, -56, -22], x);
1098 (%o2) x - 14 x + 56 x - 56 x + 22
1102 The inverse: @code{ele2polynome (@var{l}, @var{x})}
1105 @c @category{Package sym}
1109 @c -----------------------------------------------------------------------------
1110 @deffn {Function} prodrac (@var{L}, @var{k})
1112 @var{L} is a list containing the elementary symmetric functions
1113 on a set @var{A}. @code{prodrac} returns the polynomial whose roots
1114 are the @var{k} by @var{k} products of the elements of @var{A}.
1116 Also see @code{somrac}.
1119 @c @category{Package sym}
1123 @c -----------------------------------------------------------------------------
1124 @deffn {Function} pui2polynome (@var{x}, @var{lpui})
1126 calculates the polynomial in @var{x} whose power functions of the roots
1127 are given in the list @var{lpui}.
1129 @c GENERATED FROM THE FOLLOWING
1130 @c polynome2ele (x^3 - 4*x^2 + 5*x - 1, x);
1132 @c pui2polynome (x, %);
1143 (%i1) polynome2ele (x^3 - 4*x^2 + 5*x - 1, x);
1147 (%i2) ele2pui (3, %);
1151 (%i3) pui2polynome (x, %);
1153 (%o3) x - 4 x + 5 x - 1
1158 @code{polynome2ele}, @code{ele2polynome}.
1161 @c @category{Package sym}
1165 @c -----------------------------------------------------------------------------
1166 @deffn {Function} somrac (@var{L}, @var{k})
1168 The list @var{L} contains elementary symmetric functions of a polynomial
1169 @var{P} . The function computes the polynomial whose roots are the
1170 @var{k} by @var{k} distinct sums of the roots of @var{P}.
1172 Also see @code{prodrac}.
1175 @c @category{Package sym}
1179 @c -----------------------------------------------------------------------------
1180 @subsection Resolvents
1182 @c -----------------------------------------------------------------------------
1183 @deffn {Function} resolvante (@var{P}, @var{x}, @var{f}, [@var{x_1},..., @var{x_d}])
1185 calculates the resolvent of the polynomial @var{P} in @var{x} of degree
1186 @var{n} >= @var{d} by the function @var{f} expressed in the variables
1187 @var{x_1}, ..., @var{x_d}. For efficiency of computation it is
1188 important to not include in the list @code{[@var{x_1}, ..., @var{x_d}]}
1189 variables which do not appear in the transformation function @var{f}.
1191 To increase the efficiency of the computation one may set flags in
1192 @code{resolvante} so as to use appropriate algorithms:
1194 If the function @var{f} is unitary:
1197 A polynomial in a single variable,
1209 the function of the Cayley resolvent (usable up to degree 5)
1211 @c WHAT IS THIS ILLUSTRATING EXACTLY ??
1214 (x1*x2 + x2*x3 + x3*x4 + x4*x5 + x5*x1 -
1215 (x1*x3 + x3*x5 + x5*x2 + x2*x4 + x4*x1))^2
1221 the flag of @code{resolvante} may be, respectively:
1239 @c GENERATED FROM THE FOLLOWING
1240 @c resolvante: unitaire$
1241 @c resolvante (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x, x^3 - 1, [x]);
1242 @c resolvante: lineaire$
1243 @c resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3]);
1244 @c resolvante: general$
1245 @c resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3]);
1246 @c resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3, x4]);
1247 @c direct ([x^4 - 1], x, x1 + 2*x2 + 3*x3, [[x1, x2, x3]]);
1248 @c resolvante :lineaire$
1249 @c resolvante (x^4 - 1, x, x1 + x2 + x3, [x1, x2, x3]);
1250 @c resolvante: symetrique$
1251 @c resolvante (x^4 - 1, x, x1 + x2 + x3, [x1, x2, x3]);
1252 @c resolvante (x^4 + x + 1, x, x1 - x2, [x1, x2]);
1253 @c resolvante: alternee$
1254 @c resolvante (x^4 + x + 1, x, x1 - x2, [x1, x2]);
1255 @c resolvante: produit$
1256 @c resolvante (x^7 - 7*x + 3, x, x1*x2*x3, [x1, x2, x3]);
1257 @c resolvante: symetrique$
1258 @c resolvante (x^7 - 7*x + 3, x, x1*x2*x3, [x1, x2, x3]);
1259 @c resolvante: cayley$
1260 @c resolvante (x^5 - 4*x^2 + x + 1, x, a, []);
1262 (%i1) resolvante: unitaire$
1264 (%i2) resolvante (x^7 - 14*x^5 + 56*x^3 - 56*x + 22, x, x^3 - 1,
1267 " resolvante unitaire " [7, 0, 28, 0, 168, 0, 1120, - 154, 7840,
1268 - 2772, 56448, - 33880,
1270 413952, - 352352, 3076668, - 3363360, 23114112, - 30494464,
1272 175230832, - 267412992, 1338886528, - 2292126760]
1274 [x - 1, x - 2 x + 1, x - 3 x + 3 x - 1,
1276 12 9 6 3 15 12 9 6 3
1277 x - 4 x + 6 x - 4 x + 1, x - 5 x + 10 x - 10 x + 5 x
1280 - 1, x - 6 x + 15 x - 20 x + 15 x - 6 x + 1,
1283 x - 7 x + 21 x - 35 x + 35 x - 21 x + 7 x - 1]
1284 [- 7, 1127, - 6139, 431767, - 5472047, 201692519, - 3603982011]
1286 (%o2) y + 7 y - 539 y - 1841 y + 51443 y + 315133 y
1290 (%i3) resolvante: lineaire$
1292 (%i4) resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3]);
1294 " resolvante lineaire "
1296 (%o4) y + 80 y + 7520 y + 1107200 y + 49475840 y
1299 + 344489984 y + 655360000
1301 (%i5) resolvante: general$
1303 (%i6) resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3]);
1305 " resolvante generale "
1307 (%o6) y + 80 y + 7520 y + 1107200 y + 49475840 y
1310 + 344489984 y + 655360000
1313 (%i7) resolvante (x^4 - 1, x, x1 + 2*x2 + 3*x3, [x1, x2, x3, x4]);
1315 " resolvante generale "
1317 (%o7) y + 80 y + 7520 y + 1107200 y + 49475840 y
1320 + 344489984 y + 655360000
1323 (%i8) direct ([x^4 - 1], x, x1 + 2*x2 + 3*x3, [[x1, x2, x3]]);
1325 (%o8) y + 80 y + 7520 y + 1107200 y + 49475840 y
1328 + 344489984 y + 655360000
1330 (%i9) resolvante :lineaire$
1332 (%i10) resolvante (x^4 - 1, x, x1 + x2 + x3, [x1, x2, x3]);
1334 " resolvante lineaire "
1338 (%i11) resolvante: symetrique$
1340 (%i12) resolvante (x^4 - 1, x, x1 + x2 + x3, [x1, x2, x3]);
1342 " resolvante symetrique "
1347 (%i13) resolvante (x^4 + x + 1, x, x1 - x2, [x1, x2]);
1349 " resolvante symetrique "
1353 (%i14) resolvante: alternee$
1355 (%i15) resolvante (x^4 + x + 1, x, x1 - x2, [x1, x2]);
1357 " resolvante alternee "
1359 (%o15) y + 8 y + 26 y - 112 y + 216 y + 229
1361 (%i16) resolvante: produit$
1363 (%i17) resolvante (x^7 - 7*x + 3, x, x1*x2*x3, [x1, x2, x3]);
1365 " resolvante produit "
1367 (%o17) y - 7 y - 1029 y + 135 y + 7203 y - 756 y
1370 + 1323 y + 352947 y - 46305 y - 2463339 y + 324135 y
1373 - 30618 y - 453789 y - 40246444 y + 282225202 y
1376 - 44274492 y + 155098503 y + 12252303 y + 2893401 y
1379 - 171532242 y + 6751269 y + 2657205 y - 94517766 y
1382 - 3720087 y + 26040609 y + 14348907
1384 (%i18) resolvante: symetrique$
1386 (%i19) resolvante (x^7 - 7*x + 3, x, x1*x2*x3, [x1, x2, x3]);
1388 " resolvante symetrique "
1390 (%o19) y - 7 y - 1029 y + 135 y + 7203 y - 756 y
1393 + 1323 y + 352947 y - 46305 y - 2463339 y + 324135 y
1396 - 30618 y - 453789 y - 40246444 y + 282225202 y
1399 - 44274492 y + 155098503 y + 12252303 y + 2893401 y
1402 - 171532242 y + 6751269 y + 2657205 y - 94517766 y
1405 - 3720087 y + 26040609 y + 14348907
1407 (%i20) resolvante: cayley$
1409 (%i21) resolvante (x^5 - 4*x^2 + x + 1, x, a, []);
1411 " resolvante de Cayley "
1413 (%o21) x - 40 x + 4080 x - 92928 x + 3772160 x + 37880832 x
1419 For the Cayley resolvent, the 2 last arguments are neutral and the input
1420 polynomial must necessarily be of degree 5.
1424 @code{resolvante_bipartite}, @code{resolvante_produit_sym},
1425 @code{resolvante_unitaire}, @code{resolvante_alternee1}, @code{resolvante_klein},
1426 @code{resolvante_klein3}, @code{resolvante_vierer}, @code{resolvante_diedrale}.
1430 @c @category{Package sym}
1434 @c -----------------------------------------------------------------------------
1435 @deffn {Function} resolvante_alternee1 (@var{P}, @var{x})
1437 calculates the transformation
1438 @code{@var{P}(@var{x})} of degree @var{n} by the function
1440 @math{\prod_{1\leq i<j\leq n-1} (x_i-x_j)}.
1443 @math{product(x_i - x_j, 1 <= i < j <= n - 1)}.
1448 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1449 @code{resolvante} , @code{resolvante_klein}, @code{resolvante_klein3},
1450 @code{resolvante_vierer}, @code{resolvante_diedrale}, @code{resolvante_bipartite}.
1454 @c @category{Package sym}
1458 @c -----------------------------------------------------------------------------
1459 @deffn {Function} resolvante_bipartite (@var{P}, @var{x})
1461 calculates the transformation of
1462 @code{@var{P}(@var{x})} of even degree @var{n} by the function
1464 @math{x_1 x_2 \cdots x_{n/2} + x_{n/2+1}\cdots x_n}.
1466 @c UNFORTUNATELY TEXINFO DOES NOT HAVE A NOTION OF "@ELSE"
1467 @c SO IT IS NECESSARY TO REPEAT THE FOLLOWING NON-TEX STUFF FOR INFO AND FOR HTML ... SIGH
1469 @math{x_1 x_2 ... x_[n/2] + x_[n/2 + 1] ... x_n}.
1474 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1475 @code{resolvante} , @code{resolvante_klein}, @code{resolvante_klein3},
1476 @code{resolvante_vierer}, @code{resolvante_diedrale}, @code{resolvante_alternee1}.
1479 @c GENERATED FROM THE FOLLOWING
1480 @c resolvante_bipartite (x^6 + 108, x);
1483 (%i1) resolvante_bipartite (x^6 + 108, x);
1485 (%o1) y - 972 y + 314928 y - 34012224 y
1491 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1492 @code{resolvante}, @code{resolvante_klein}, @code{resolvante_klein3},
1493 @code{resolvante_vierer}, @code{resolvante_diedrale},
1494 @code{resolvante_alternee1}.
1498 @c @category{Package sym}
1502 @c -----------------------------------------------------------------------------
1503 @deffn {Function} resolvante_diedrale (@var{P}, @var{x})
1505 calculates the transformation of @code{@var{P}(@var{x})} by the function
1506 @code{@var{x_1} @var{x_2} + @var{x_3} @var{x_4}}.
1508 @c GENERATED FROM THE FOLLOWING
1509 @c resolvante_diedrale (x^5 - 3*x^4 + 1, x);
1512 (%i1) resolvante_diedrale (x^5 - 3*x^4 + 1, x);
1514 (%o1) x - 21 x - 81 x - 21 x + 207 x + 1134 x + 2331 x
1517 - 945 x - 4970 x - 18333 x - 29079 x - 20745 x - 25326 x
1525 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1526 @code{resolvante_alternee1}, @code{resolvante_klein}, @code{resolvante_klein3},
1527 @code{resolvante_vierer}, @code{resolvante}.
1531 @c @category{Package sym}
1535 @c -----------------------------------------------------------------------------
1536 @deffn {Function} resolvante_klein (@var{P}, @var{x})
1538 calculates the transformation of @code{@var{P}(@var{x})} by the function
1539 @code{@var{x_1} @var{x_2} @var{x_4} + @var{x_4}}.
1543 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1544 @code{resolvante_alternee1}, @code{resolvante}, @code{resolvante_klein3},
1545 @code{resolvante_vierer}, @code{resolvante_diedrale}.
1549 @c @category{Package sym}
1553 @c -----------------------------------------------------------------------------
1554 @deffn {Function} resolvante_klein3 (@var{P}, @var{x})
1556 calculates the transformation of @code{@var{P}(@var{x})} by the function
1557 @code{@var{x_1} @var{x_2} @var{x_4} + @var{x_4}}.
1561 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1562 @code{resolvante_alternee1}, @code{resolvante_klein}, @code{resolvante},
1563 @code{resolvante_vierer}, @code{resolvante_diedrale}.
1567 @c @category{Package sym}
1571 @c -----------------------------------------------------------------------------
1572 @deffn {Function} resolvante_produit_sym (@var{P}, @var{x})
1574 calculates the list of all product resolvents of the polynomial
1575 @code{@var{P}(@var{x})}.
1577 @c GENERATED FROM THE FOLLOWING
1578 @c resolvante_produit_sym (x^5 + 3*x^4 + 2*x - 1, x);
1579 @c resolvante: produit$
1580 @c resolvante (x^5 + 3*x^4 + 2*x - 1, x, a*b*c, [a, b, c]);
1583 (%i1) resolvante_produit_sym (x^5 + 3*x^4 + 2*x - 1, x);
1585 (%o1) [y + 3 y + 2 y - 1, y - 2 y - 21 y - 31 y - 14 y
1588 - y + 14 y + 3 y + 1, y + 3 y + 14 y - y - 14 y - 31 y
1591 - 21 y - 2 y + 1, y - 2 y - 3 y - 1, y - 1]
1593 (%i2) resolvante: produit$
1595 (%i3) resolvante (x^5 + 3*x^4 + 2*x - 1, x, a*b*c, [a, b, c]);
1597 " resolvante produit "
1599 (%o3) y + 3 y + 14 y - y - 14 y - 31 y - 21 y - 2 y + 1
1602 @c INPUT %i3 TICKLES A MINOR BUG IN resolvante:
1603 @c " resolvante produit " IS PRINTED FROM SOMEWHERE IN THE BOWELS OF resolvante
1604 @c AND IT GOOFS UP THE DISPLAY OF THE EXPONENTS OF %o3 -- I THREW IN A LINE BREAK TO ADJUST
1608 @code{resolvante}, @code{resolvante_unitaire},
1609 @code{resolvante_alternee1}, @code{resolvante_klein},
1610 @code{resolvante_klein3}, @code{resolvante_vierer},
1611 @code{resolvante_diedrale}.
1615 @c @category{Package sym}
1619 @c -----------------------------------------------------------------------------
1620 @deffn {Function} resolvante_unitaire (@var{P}, @var{Q}, @var{x})
1622 computes the resolvent of the polynomial @code{@var{P}(@var{x})} by the
1623 polynomial @code{@var{Q}(@var{x})}.
1627 @code{resolvante_produit_sym}, @code{resolvante},
1628 @code{resolvante_alternee1}, @code{resolvante_klein}, @code{resolvante_klein3},
1629 @code{resolvante_vierer}, @code{resolvante_diedrale}.
1633 @c @category{Package sym}
1637 @c -----------------------------------------------------------------------------
1638 @deffn {Function} resolvante_vierer (@var{P}, @var{x})
1640 computes the transformation of
1641 @code{@var{P}(@var{x})} by the function @code{@var{x_1} @var{x_2} -
1642 @var{x_3} @var{x_4}}.
1646 @code{resolvante_produit_sym}, @code{resolvante_unitaire},
1647 @code{resolvante_alternee1}, @code{resolvante_klein}, @code{resolvante_klein3},
1648 @code{resolvante}, @code{resolvante_diedrale}.
1652 @c @category{Package sym}
1656 @c -----------------------------------------------------------------------------
1657 @subsection Miscellaneous
1659 @c -----------------------------------------------------------------------------
1660 @deffn {Function} multinomial (@var{r}, @var{part})
1662 where @var{r} is the weight of the partition @var{part}. This function
1663 returns the associate multinomial coefficient: if the parts of
1664 @var{part} are @var{i_1}, @var{i_2}, ..., @var{i_k}, the result is
1665 @code{@var{r}!/(@var{i_1}! @var{i_2}! ... @var{i_k}!)}.
1668 @c @category{Package sym}
1672 @c -----------------------------------------------------------------------------
1673 @deffn {Function} permut (@var{L})
1675 returns the list of permutations of the list @var{L}.
1678 @c @category{Package sym} @category{Lists}
1682 @c --- End of file symmetries.de.texi ------------------------------------------