~ubuntu-branches/ubuntu/karmic/maxima/karmic

« back to all changes in this revision

Viewing changes to doc/info/maxima.info-11

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2004-11-13 18:39:14 UTC
  • mto: (2.1.2 hoary) (3.2.1 sid) (1.1.5 upstream)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20041113183914-ttig0evwuatnqosl
Tags: upstream-5.9.1
ImportĀ upstreamĀ versionĀ 5.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
This is maxima.info, produced by makeinfo version 4.1 from maxima.texi.
 
1
This is maxima.info, produced by makeinfo version 4.5 from maxima.texi.
2
2
 
3
3
   This is a Texinfo Maxima Manual
4
4
 
9
9
END-INFO-DIR-ENTRY
10
10
 
11
11
 
12
 
File: maxima.info,  Node: Definitions for Symmetries,  Prev: Symmetries,  Up: Symmetries
13
 
 
14
 
Definitions for Symmetries
15
 
==========================
16
 
 
17
 
 - Function: COMP2PUI (n, l)
18
 
     re'alise le passage des fonctions syme'triques comple`tes,
19
 
     donnee's dans la liste l, aux fonctions syme'triques
20
 
     e'le'mentaires de 0 a` n. Si la liste l contient moins de n+1
21
 
     e'le'ments les valeurs formelles viennent la completer. Le premier
22
 
     e'le'ment de la liste l donne le cardinal de l'alphabet si il
23
 
     existe, sinon on le met e'gal a n.
24
 
 
25
 
          COMP2PUI(3,[4,g]);
26
 
                               2          3
27
 
                     [4, g, - g  + 2 h2, g  - 3 h2 g + 3 h3]
28
 
 
29
 
 
30
 
 - Function: CONT2PART (pc,lvar)
31
 
     rend le polyno^me partitionne' associe' a` la forme  contracte'e
32
 
     pc dont les variables sont dans lvar.
33
 
 
34
 
          pc : 2*a^3*b*x^4*y + x^5$
35
 
          CONT2PART(pc,[x,y]);
36
 
                                   3
37
 
                              [[2 a  b, 4, 1], [1, 5]]
38
 
 
39
 
     Autres fonctions de changements de repre'sentations :
40
 
 
41
 
     CONTRACT, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
42
 
 
43
 
 
44
 
 - Function: CONTRACT (psym,lvar)
45
 
     rend une forme contracte'e (i.e. un mono^me par orbite sous
46
 
     l'action du groupe syme'trique) du polyno^me psym en les variables
47
 
     contenues dans la liste lvar. La fonction EXPLOSE re'alise
48
 
     l'ope'ration inverse. La fonction TCONTRACT teste en plus la
49
 
     syme'trie du polyno^me.
50
 
 
51
 
          psym : EXPLOSE(2*a^3*b*x^4*y,[x,y,z]);
52
 
          
53
 
                  3      4      3      4      3    4
54
 
               2 a  b y z  + 2 a  b x z  + 2 a  b y  z
55
 
                          3    4        3      4      3    4
56
 
                     + 2 a  b x  z + 2 a  b x y  + 2 a  b x  y
57
 
          
58
 
          CONTRACT(psym,[x,y,z]);
59
 
          
60
 
                                  3    4
61
 
                               2 a  b x  y
62
 
 
63
 
     Autres fonctions de changements de repre'sentations :
64
 
 
65
 
     CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
66
 
 
67
 
 
68
 
 - Function: DIRECT ([P1,...,Pn],y,f,[lvar1,...,lvarn])
69
 
     calcul l'image directe (voir M. GIUSTI,D. LAZARD et A. VALIBOUZE,
70
 
     ISSAC 1988, Rome) associe'e a` la fonction f, en les listes de
71
 
     variables lvar1,...,lvarn, et aux polyno^mes P1,...,Pn d'une
72
 
     variable y. l'arite' de la fonction f est importante pour le
73
 
     calcul. Ainsi, si l'expression de f ne depend pas d'une variable,
74
 
     non seulement il est inutile de donner cette variable mais cela
75
 
     diminue conside'rablement lees calculs si on ne le fait pas.
76
 
 
77
 
          DIRECT([z^2  - e1* z + e2, z^2  - f1* z + f2], z, b*v + a*u,
78
 
                        [[u, v], [a, b]]);
79
 
          
80
 
                              2                         2           2
81
 
                             z  - e1 f1 z - 4 e2 f2 + e1  f2 + e2 f1
82
 
          
83
 
          DIRECT([z^3-e1*z^2+e2*z-e3,z^2  - f1* z + f2], z, b*v + a*u,
84
 
                        [[u, v], [a, b]]);
85
 
          
86
 
           6            5            4       2     4          2  4
87
 
          Y  - 2 E1 F1 Y  - 6 E2 F2 Y  + 2 E1  F2 Y  + 2 E2 F1  Y
88
 
          
89
 
              2   2  4
90
 
          + E1  F1  Y
91
 
          
92
 
                        3                  3       3        3          3  3
93
 
          + 9 E3 F1 F2 Y  + 5 E1 E2 F1 F2 Y  - 2 E1  F1 F2 Y  - 2 E3 F1  Y
94
 
          
95
 
                    3  3       2   2  2       2      2  2     4   2  2
96
 
          - 2 E1 E2 F1  Y  + 9 E2  F2  Y  - 6 E1  E2 F2  Y  + E1  F2  Y
97
 
          
98
 
                    2     2       2   2     2       2      2     2
99
 
          - 9 E1 E3 F1  F2 Y  - 6 E2  F1  F2 Y  + 3 E1  E2 F1  F2 Y
100
 
          
101
 
                      4  2
102
 
          + 2 E1 E3 F1  Y
103
 
          
104
 
              2   4  2                 2         2         2
105
 
          + E2  F1  Y  - 27 E2 E3 F1 F2  Y + 9 E1  E3 F1 F2  Y
106
 
          
107
 
                   2      2
108
 
          + 3 E1 E2  F1 F2  Y
109
 
          
110
 
              3         2                3            2      3
111
 
          - E1  E2 F1 F2  Y + 15 E2 E3 F1  F2 Y - 2 E1  E3 F1  F2 Y
112
 
          
113
 
                 2   3
114
 
          - E1 E2  F1  F2 Y
115
 
          
116
 
                    5          2   3                 3       3      3
117
 
          - 2 E2 E3 F1  Y - 27 E3  F2  + 18 E1 E2 E3 F2  - 4 E1  E3 F2
118
 
          
119
 
                 3   3
120
 
           - 4 E2  F2
121
 
          
122
 
              2   2   3        2   2   2                2   2     3      2   2
123
 
          + E1  E2  F2  + 27 E3  F1  F2  - 9 E1 E2 E3 F1  F2  + E1  E3 F1  F2
124
 
          
125
 
              3   2   2       2   4                 4        2   6
126
 
          + E2  F1  F2  - 9 E3  F1  F2 + E1 E2 E3 F1  F2 + E3  F1
127
 
 
128
 
     Recherche du polyno^me dont les racines sont les somme a+u ou a est
129
 
     racine de z^2  - e1* z + e2 et u est racine de z^2  - f1* z + f2
130
 
 
131
 
          DIRECT([z^2  - e1* z + e2,z^2  - f1* z + f2], z,a+u,[[u],[a]]);
132
 
          
133
 
           4         3         3         2     2  2            2         2
134
 
          Y  - 2 F1 Y  - 2 E1 Y  + 2 F2 Y  + F1  Y  + 3 E1 F1 Y  + 2 E2 Y
135
 
          
136
 
              2  2
137
 
          + E1  Y
138
 
                                         2                   2
139
 
          - 2 F1 F2 Y - 2 E1 F2 Y - E1 F1  Y - 2 E2 F1 Y - E1  F1 Y
140
 
          
141
 
                          2
142
 
          - 2 E1 E2 Y + F2
143
 
          
144
 
                                   2           2                2
145
 
          + E1 F1 F2 - 2 E2 F2 + E1  F2 + E2 F1  + E1 E2 F1 + E2
146
 
 
147
 
     DIRECT peut prendre deux drapeaux possibles : ELEMENTAIRES et
148
 
     PUISSANCES (valeur par de'faut) qui permettent de de'composer les
149
 
     polyno^mes syme'triques apparaissant dans ce calcul par les
150
 
     fonctions syme'triques e'le'mentaires ou les fonctions puissances
151
 
     respectivement.
152
 
 
153
 
     fonctions de SYM utilis'ees dans cette fonction :
154
 
 
155
 
 
156
 
          MULTI_ORBIT (donc ORBIT), PUI_DIRECT, MULTI_ELEM
157
 
          (donc ELEM), MULTI_PUI (donc PUI), PUI2ELE, ELE2PUI
158
 
          (si le drapeau DIRECT est a` PUISSANCES).
159
 
 
160
 
 
161
 
 - Function: ELE2COMP (m , l)
162
 
     passe des fonctions syme'triques e'le'mentaires aux fonctions
163
 
     comple`tes. Similaire a` COMP2ELE et COMP2PUI.
164
 
 
165
 
     autres fonctions de changements de bases :
166
 
 
167
 
          COMP2ELE, COMP2PUI, ELE2PUI, ELEM, MON2SCHUR, MULTI_ELEM,
168
 
          MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
169
 
 
170
 
 
171
 
 - Function: ELE2POLYNOME (l,z)
172
 
     donne le polyno^me en z dont les fonctions syme'triques
173
 
     e'le'mentaires des racines sont dans la liste l.  l=[n,e1,...,en]
174
 
     ou` n est le degre' du polyno^me et ei la i-ie`me fonction
175
 
     syme'trique e'le'mentaire.
176
 
 
177
 
           ele2polynome([2,e1,e2],z);
178
 
          
179
 
                                            2
180
 
                                           Z  - E1 Z + E2
181
 
          
182
 
           polynome2ele(x^7-14*x^5  + 56*x^3  - 56*X + 22,x);
183
 
          
184
 
                        [7, 0, - 14, 0, 56, 0, - 56, - 22]
185
 
           ele2polynome( [7, 0, - 14, 0, 56, 0, - 56, - 22],x);
186
 
          
187
 
                                    7       5       3
188
 
                                   X  - 14 X  + 56 X  - 56 X + 22
189
 
 
190
 
     la re'ciproque : POLYNOME2ELE(p,z)
191
 
 
192
 
     autres fonctions a` voir :
193
 
 
194
 
     POLYNOME2ELE, PUI2POLYNOME.
195
 
 
196
 
 
197
 
 - Function: ELE2PUI (m, l)
198
 
     passe des fonctions syme'triques e'le'mentaires aux fonctions
199
 
     comple`tes. Similaire a` COMP2ELE et COMP2PUI.
200
 
 
201
 
     autres fonctions de changements de bases :
202
 
 
203
 
          COMP2ELE, COMP2PUI, ELE2COMP, ELEM, MON2SCHUR, MULTI_ELEM,
204
 
          MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
205
 
 
206
 
 
207
 
 - Function: ELEM (ele,sym,lvar)
208
 
     de'compose le polyno^me syme'trique sym, en les variables
209
 
     contenues de la liste lvar, par les fonctions syme'triques
210
 
     e'le'mentaires contenues dans la liste ele. Si le premier
211
 
     e'le'ment de ele est donne' ce sera le cardinal de l'alphabet
212
 
     sinon on prendra le degre' du polyno^me sym. Si il manque des
213
 
     valeurs a` la liste ele des valeurs formelles du type "ei" sont
214
 
     rajoute'es. Le polyno^me sym peut etre donne' sous 3 formes
215
 
     diffe'rentes : contracte'e (ELEM doit alors valoir 1 sa valeur par
216
 
     de'faut), partitionne'e (ELEM doit alors valoir 3) ou e'tendue
217
 
     (i.e. le polyno^me en entier) (ELEM doit alors valoir 2).
218
 
     L'utilsation de la fonction PUI se re'alise sur le me^me mode`le.
219
 
 
220
 
     Sur un alphabet de cardinal 3 avec e1, la premie`re fonction
221
 
     syme'trique e'le'mentaire, valant 7, le polyno^me syme'trique en 3
222
 
     variables dont la forme contracte'e (ne de'pendant ici que de deux
223
 
     de ses variables) est x^4-2*x*y se de'compose ainsi en les
224
 
     fonctions syme'triques e'le'mentaires :
225
 
 
226
 
          ELEM([3,7],x^4-2*x*y,[x,y]);
227
 
          
228
 
                                         2
229
 
                             28 e3 + 2 e2  - 198 e2 + 2401
230
 
 
231
 
     autres fonctions de changements de bases :
232
 
 
233
 
     COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, MON2SCHUR, MULTI_ELEM,
234
 
     MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
235
 
 
236
 
 
237
 
 - Function: EXPLOSE (pc,lvar)
238
 
     rend le polyno^me syme'trique associe' a` la forme contracte'e pc.
239
 
     La liste lvar contient les variables.
240
 
 
241
 
          EXPLOSE(a*x +1,[x,y,z]);
242
 
          
243
 
                               (x + y + z) a + 1
244
 
 
245
 
     Autres fonctions de changements de repre'sentations :
246
 
 
247
 
     CONTRACT, CONT2PART, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
248
 
 
249
 
 
250
 
 - Function: KOSTKA (part1,part2)
251
 
     e'crite par P. ESPERET) calcule le nombre de kostka associe' aux
252
 
     partition part1 et part2
253
 
 
254
 
          kostka([3,3,3],[2,2,2,1,1,1]);
255
 
                                            6
256
 
 
257
 
 
258
 
 - Function: LGTREILLIS (n,m)
259
 
     rend la liste des partitions de poids n et de longueur m.
260
 
 
261
 
     LGTREILLIS(4,2);
262
 
 
263
 
                               [[3, 1], [2, 2]]
264
 
 
265
 
     Voir e'galement : LTREILLIS, TREILLIS et TREINAT.
266
 
 
267
 
 
268
 
 - Function: LTREILLIS (n,m)
269
 
     rend la liste des partitions de poids n et de longueur infe'rieure
270
 
     ou e'gale a` m.
271
 
 
272
 
           ltreillis(4,2);
273
 
          
274
 
                                   [[4, 0], [3, 1], [2, 2]]
275
 
 
276
 
     Voir e'galement : LGTREILLIS, TREILLIS et TREINAT.
277
 
 
278
 
 
279
 
 - Function: MON2SCHUR (l)
280
 
     la liste l repre'sente la fonction de Schur S_l :  On a
281
 
     l=[i1,i2,...,iq] avec i1 <= i2 <= ... <= iq . La fonction de Schur
282
 
     est S_[i1,i2...,iq] est le mineur de la matrice infinie (h_{i-j})
283
 
     i>=1, j>=1 compose' des q premie`res lignes et des colonnes
284
 
     i1+1,i2+2,...,iq+q.
285
 
 
286
 
     On e'crit cette fonction de Schur en fonction des formes
287
 
     monomiales en utilisant les fonctions TREINAT et KOSTKA. La forme
288
 
     rendue est un polyno^me syme'trique dans une de ses
289
 
     repre'sentations contracte'es avec les variables x1, x2, ...
290
 
 
291
 
           mon2schur([1,1,1]);
292
 
          
293
 
                                         X1 X2 X3
294
 
          
295
 
           mon2schur([3]);
296
 
          
297
 
                                                   2        3
298
 
                                      X1 X2 X3 + X1  X2 + X1
299
 
           MON2SCHUR([1,2]);
300
 
                                                     2
301
 
                                      2 x1 x2 x3 + x1  x2
302
 
 
303
 
     ce qui veut dire que pour 3 variables cela donne :
304
 
             2 x1 x2 x3 + x1^2 x2 + x2^2 x1 + x1^2 x3 + x3^2 x1
305
 
              + x2^2 x3 + x3^2 x2
306
 
 
307
 
     autres fonctions de changements de bases :
308
 
 
309
 
          COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM, MULTI_ELEM,
310
 
          MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
311
 
 
312
 
 
313
 
 - Function: MULTI_ELEM (l_elem,multi_pc,l_var)
314
 
     de'compose un polyno^me multi-syme'trique sous la forme
315
 
     multi-contracte'e multi_pc en les groupes de variables contenue
316
 
     dans la liste de listes l_var sur les groupes de fonctions
317
 
     syme'triques e'le'mentaires contenues dans l_elem.
318
 
 
319
 
     MULTI_ELEM([[2,e1,e2],[2,f1,f2]],a*x+a^2+x^3,[[x,y],[a,b]]);
320
 
 
321
 
                                2                       3                    - 2 f2 + f1  + e1 f1 - 3 e1 e2 + e1
322
 
 
323
 
     autres fonctions de changements de bases :
324
 
 
325
 
          COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM,
326
 
          MON2SCHUR, MULTI_PUI, PUI, PUI2COMP, PUI2ELE,
327
 
          PUIREDUC, SCHUR2COMP.
328
 
 
329
 
 
330
 
 - Function: MULTI_ORBIT (P,[lvar1, lvar2,...,lvarp])
331
 
     P est un polyno^me en l'ensemble des variables contenues dans les
332
 
     listes lvar1, lvar2 ... lvarp.  Cette fonction rame`ne l'orbite du
333
 
     polyno^me P sous l'action du produit des groupes syme'triques des
334
 
     ensembles de variables repre'sente's par ces p LISTES.
335
 
 
336
 
           MULTI_ORBIT(a*x+b*y,[[x,y],[a,b]]);
337
 
          
338
 
                    [b y + a x, a y + b x]
339
 
          
340
 
           multi_orbit(x+y+2*a,[[x,y],[a,b,c]]);
341
 
          
342
 
                        [Y + X + 2 C, Y + X + 2 B, Y + X + 2 A]
343
 
 
344
 
     voir e'galement : ORBIT pour l'action d'un seul groupe syme'trique
345
 
 
346
 
 
347
 
 - Function: MULTI_PUI
348
 
     est a` la fonction PUI ce que la fonction MULTI_ELEM est a` la
349
 
     fonction ELEM.
350
 
 
351
 
          MULTI_PUI([[2,p1,p2],[2,t1,t2]],a*x+a^2+x^3,[[x,y],[a,b]]);
352
 
          
353
 
                                                        3
354
 
                                                 3 P1 P2   P1
355
 
                                    T2 + P1 T1 + ------- - ---
356
 
                                                    2       2
357
 
 
358
 
 
359
 
 - Function: MULTINOMIAL (r,part)
360
 
     ou` r est le poids de la partition part. Cette fonction rame`ne le
361
 
     coefficient multinomial associe' : si les parts de la partitions
362
 
     part sont i1, i2, ..., ik, le re'sultat de MULTINOMIAL est
363
 
     r!/(i1!i2!...ik!).
364
 
 
365
 
 
366
 
 - Function: MULTSYM (ppart1, ppart2,N)
367
 
     re'alise le produit de deux polyno^mes syme'triques de N variables
368
 
     en ne travaillant que modulo l'action du groupe syme'trique
369
 
     d'ordre N. Les polyno^mes sont dans leur repre'sentation
370
 
     partitionne'e.
371
 
 
372
 
     Soient les 2 polyno^mes syme'triques en x, y : 3*(x+y) + 2*x*y et
373
 
     5*(x^2+y^2) dont les formes partitionne'es sont respectivement
374
 
     [[3,1],[2,1,1]] et [[5,2]], alors leur produit sera donne' par :
375
 
 
376
 
           MULTSYM([[3,1],[2,1,1]],[[5,2]],2);
377
 
          
378
 
                      [[10, 3, 1], [15, 2, 1], [15, 3, 0]]
379
 
 
380
 
     soit 10*(x^3*y+y^3*x)+15*(x^2*y +y^2*x) +15(x^3+y^3)
381
 
 
382
 
     Fonctions de changements de repre'sentations d'un polyno^me
383
 
     syme'trique :
384
 
 
385
 
     CONTRACT, CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT,
386
 
     TPARTPOL.
387
 
 
388
 
 
389
 
 - Function: ORBIT (P,lvar)
390
 
     calcul l'orbite du polyno^me P en les variables de la liste lvar
391
 
     sous l'action du groupe syme'trique de l'ensemble des variables
392
 
     contenues dans la liste lvar.
393
 
 
394
 
           orbit(a*x+b*y,[x,y]);
395
 
          
396
 
                                  [A Y + B X, B Y + A X]
397
 
           orbit(2*x+x^2,[x,y]);
398
 
                                          2         2
399
 
                                        [Y  + 2 Y, X  + 2 X]
400
 
 
401
 
     voir e'galement : MULTI_ORBIT pour l'action d'un produit de groupes
402
 
     syme'triques sur un polyno^me.
403
 
 
404
 
 
405
 
 - Function: PART2CONT (ppart,lvar)
406
 
     passe de la forme partitionne'e a` la forme contracte'e d'un
407
 
     polyno^me syme'trique. La forme contracte'e est rendue avec les
408
 
     variables contenues dans lvar.
409
 
 
410
 
          PART2CONT([[2*a^3*b,4,1]],[x,y]);
411
 
          
412
 
                                  3    4
413
 
                               2 a  b x  y
414
 
 
415
 
     Autres fonctions de changements de repre'sentations :
416
 
 
417
 
     CONTRACT, CONT2PART, EXPLOSE, PARTPOL, TCONTRACT, TPARTPOL.
418
 
 
419
 
 
420
 
 - Function: PARTPOL (psym, lvar)
421
 
     psym est un polyno^me syme'trique en les variables de lvar. Cette
422
 
     fonction rame`ne sa repre'sentation partitionne'e.
423
 
 
424
 
          PARTPOL(-a*(x+y)+3*x*y,[x,y]);
425
 
          
426
 
                             [[3, 1, 1], [- a, 1, 0]]
427
 
 
428
 
     Autres fonctions de changements de repre'sentations :
429
 
 
430
 
     CONTRACT, CONT2PART, EXPLOSE, PART2CONT, TCONTRACT, TPARTPOL.
431
 
 
432
 
 
433
 
 - Function: PERMUT (l)
434
 
     rame`ne la liste des permutations de la liste l.
435
 
 
436
 
 
437
 
 - Function: POLYNOME2ELE (p,x)
438
 
     donne la liste l=[n,e1,...,en] ou` n est le degre' du polyno^me p
439
 
     en la variable x et ei la i-ieme fonction syme'trique
440
 
     e'le'mentaire des racines de p.
441
 
 
442
 
           POLYNOME2ELE(x^7-14*x^5  + 56*x^3  - 56*X + 22,x);
443
 
          
444
 
                        [7, 0, - 14, 0, 56, 0, - 56, - 22]
445
 
          
446
 
           ELE2POLYNOME( [7, 0, - 14, 0, 56, 0, - 56, - 22],x);
447
 
          
448
 
                                    7       5       3
449
 
                                   X  - 14 X  + 56 X  - 56 X + 22
450
 
 
451
 
     la re'ciproque : ELE2POLYNOME(l,x)
452
 
 
453
 
 
454
 
 - Function: PRODRAC (L,K)
455
 
     L est une liste contenant les fonctions syme'triques
456
 
     e'le'mentaires sur un ensemble A. PRODRAC rend le polyno^me dont
457
 
     les racines sont les produits K a` K des e'le'ments de A.
458
 
 
459
 
 
460
 
 - Function: PUI (pui,sym,lvar)
461
 
     de'compose le polyno^me syme'trique sym, en les variables
462
 
     contenues de la liste lvar, par les fonctions puissances contenues
463
 
     dans la liste pui. Si le premier e'le'ment de pui est donne' ce
464
 
     sera le cardinal de l'alphabet sinon on prendra le degre' du
465
 
     polyno^me sym. Si il manque des valeurs a` la liste pui, des
466
 
     valeurs formelles du type "pi" sont rajoute'es. Le polyno^me sym
467
 
     peut etre donne' sous 3 formes diffe'rentes : contracte'e (PUI
468
 
     doit alors valoir 1 sa valeur par de'faut), partitionne'e (PUI
469
 
     doit alors valoir 3) ou e'tendue (i.e. le polyno^me en entier)
470
 
     (PUI doit alors valoir 2). La fonction ELEM s'utilise de la me^me
471
 
     manie`re.
472
 
 
473
 
          PUI;
474
 
          
475
 
                               1
476
 
          PUI([3,a,b],u*x*y*z,[x,y,z]);
477
 
          
478
 
                                       3
479
 
                                     (a  - 3 b a + 2 p3) u
480
 
                                     ---------------------
481
 
                                              6
482
 
 
483
 
     autres fonctions de changements de bases :
484
 
 
485
 
          COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM, MON2SCHUR,
486
 
          MULTI_ELEM, MULTI_PUI, PUI2COMP, PUI2ELE, PUIREDUC,
487
 
          SCHUR2COMP.
488
 
 
489
 
 
490
 
 - Function: PUI2COMP (N,LPUI)
491
 
     rend la liste des N premie`res fonctions comple`tes (avec en te^te
492
 
     le cardinal) en fonction des fonctions puissance donne'es dans la
493
 
     liste LPUI. Si la liste LPUI est vide le cardinal est N sinon
494
 
     c'est son premier e'le'ment similaire a` COMP2ELE et COMP2PUI.
495
 
 
496
 
           PUI2COMP(2,[]);
497
 
          
498
 
                                                 2
499
 
                                               p1  + p2
500
 
                                       [2, p1, --------]
501
 
                                                  2
502
 
          
503
 
           PUI2COMP(3,[2,a1]);
504
 
          
505
 
                                      2         3
506
 
                                    a1  + p2  a1  + 3 p2 a1 + 2 p3
507
 
                            [2, a1, --------, --------------------]
508
 
                                       2               6
509
 
 
510
 
     Autres fonctions de changements de bases :
511
 
 
512
 
 
513
 
          COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM,
514
 
          MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI, PUI2ELE,
515
 
          PUIREDUC, SCHUR2COMP.
516
 
 
517
 
 
518
 
 - Function: PUI2ELE (N,LPUI)
519
 
     re'alise le passage des fonctions puissances aux fonctions
520
 
     syme'triques e'le'mentaires.  Si le drapeau PUI2ELE est GIRARD, on
521
 
     re'cupe`re la liste des fonctions syme'triques e'le'mentaires de 1
522
 
     a` N, et s'il est e'gal a`  CLOSE, la Nie`me fonction syme'trique
523
 
     e'le'mentaire.
524
 
 
525
 
     Autres fonctions de changements de bases :
526
 
 
527
 
 
528
 
          COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM,
529
 
          MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI, PUI2COMP,
530
 
          PUIREDUC, SCHUR2COMP.
531
 
 
532
 
 
533
 
 - Function: PUI2POLYNOME (X,LPUI)
534
 
     calcul le polyno^me en X dont les fonctions puissances des racines
535
 
     sont donne'es dans la liste LPUI.
536
 
 
537
 
          (C6) polynome2ele(x^3-4*x^2+5*x-1,x);
538
 
          (D6)                             [3, 4, 5, 1]
539
 
          (C7) ele2pui(3,%);
540
 
          (D7)                             [3, 4, 6, 7]
541
 
          (C8) pui2polynome(x,%);
542
 
                                         3      2
543
 
          (D8)                          X  - 4 X  + 5 X - 1
544
 
 
545
 
     Autres fonctions a` voir :
546
 
 
547
 
     POLYNOME2ELE, ELE2POLYNOME.
548
 
 
549
 
 
550
 
 - Function: PUI_DIRECT (ORBITE,[lvar1,...,lvarn],[d1,d2,...,dn])
551
 
     Soit f un polynome en n blocs de variables lvar1,...,lvarn.  Soit
552
 
     ci le nombre de variables dans lvari . Et SC le produit des n
553
 
     groupes syme'triques de degre' c1,...,cn. Ce groupe agit
554
 
     naturellement sur f La liste ORBITE est l'orbite, note'e SC(f), de
555
 
     la fonction f sous l'action de SC. (Cette liste peut e^tre obtenue
556
 
     avec la fonction : MULTI_ORBIT).  Les di sont des entiers tels que
557
 
     c1<=d1, c2<=d2,...,cn<=dn.  Soit SD le produit des groupes
558
 
     syme'triques S_d1 x S_d2 x...x S_dn.
559
 
 
560
 
     la fonction pui_direct rame`ne les N premie`res fonctions
561
 
     puissances de SD(f) de'duites des fonctions puissances de SC(f)
562
 
     ou` N est le cardinal de SD(f).
563
 
 
564
 
     Le re'sultat est rendue sous forme multi-contracte'e par rapport a
565
 
     SD.  i.e. on ne conserve qu'un e'le'ment par orbite sous l'action
566
 
     de SD).
567
 
 
568
 
          L:[[x,y],[a,b]]$
569
 
          
570
 
          PUI_DIRECT(MULTI_ORBIT(a*x+b*y, L), L,[2,2]);
571
 
          
572
 
                                              2  2
573
 
                           [a x, 4 a b x y + a  x ]
574
 
          
575
 
          PUI_DIRECT(MULTI_ORBIT(a*x+b*y, L), L,[3,2]);
576
 
          
577
 
                                   2  2     2    2        3  3
578
 
            [2 A X, 4 A B X Y + 2 A  X , 3 A  B X  Y + 2 A  X ,
579
 
          
580
 
              2  2  2  2      3    3        4  4
581
 
          12 A  B  X  Y  + 4 A  B X  Y + 2 A  X ,
582
 
          
583
 
              3  2  3  2      4    4        5  5
584
 
          10 A  B  X  Y  + 5 A  B X  Y + 2 A  X ,
585
 
          
586
 
              3  3  3  3       4  2  4  2      5    5        6  6
587
 
          40 A  B  X  Y  + 15 A  B  X  Y  + 6 A  B X  Y + 2 A  X ]
588
 
          
589
 
           PUI_DIRECT([y+x+2*c, y+x+2*b, y+x+2*a],[[x,y],[a,b,c]],[2,3]);
590
 
          
591
 
                                       2              2
592
 
                [3 x + 2 a, 6 x y + 3 x  + 4 a x + 4 a ,
593
 
          
594
 
                        2                   3        2       2        3
595
 
                     9 x  y + 12 a x y + 3 x  + 6 a x  + 12 a  x + 8 a ]
596
 
          
597
 
          
598
 
          PUI_DIRECT([y+x+2*c, y+x+2*b, y+x+2*a],[[x,y],[a,b,c]],[3,4]);
599
 
 
600
 
 
601
 
 - Function: PUIREDUC (N,LPUI)
602
 
     LPUI est une liste dont le premier e'le'ment est un entier M.
603
 
     PUIREDUC donne les N premie`res fonctions puissances en fonction
604
 
     des M premie`res.
605
 
 
606
 
          PUIREDUC(3,[2]);
607
 
          
608
 
                                                          3
609
 
                                              3 p1 p2 - p1
610
 
                                  [2, p1, p2, -------------]
611
 
          
612
 
                                                    2
613
 
 
614
 
 
615
 
 - Function: RESOLVANTE (p,x,f,[x1,...,xd])
616
 
     calcule la re'solvante du polyno^me p de la variable x et de
617
 
     degre' n >= d par la fonction f exprime'e en les variables
618
 
     x1,...,xd. Il est important pour l'efficacite' des calculs de ne
619
 
     pas mettre dans la liste [x1,...,xd] les variables n'intervenant
620
 
     pas dans la fonction de transformation f.
621
 
 
622
 
     Afin de rendre plus efficaces les calculs on peut mettre des
623
 
     drapeaux a` la variable RESOLVANTE afin que des algorithmes
624
 
     ade'quates soient utilise's :
625
 
 
626
 
     Si la fonction f est    unitaire :
627
 
        * un polyno^me d'une variable,
628
 
 
629
 
        *   line'aire ,
630
 
 
631
 
        *   alterne'e,
632
 
 
633
 
        *   une somme de variables,
634
 
 
635
 
        *   syme'trique en les variables qui apparaissent dans son
636
 
          expression,
637
 
 
638
 
        *   un produit de variables,
639
 
 
640
 
        * la fonction de la re'solvante de Cayley (utilisable qu'en
641
 
          degre' 5)
642
 
 
643
 
               (x1*x2+x2*x3+x3*x4+x4*x5+x5*x1 -
644
 
                    (x1*x3+x3*x5+x5*x2+x2*x4+x4*x1))^2
645
 
 
646
 
          generale,
647
 
     le drapeau de RESOLVANTE pourra e^tre respectivement :
648
 
        *   unitaire,
649
 
 
650
 
        *   lineaire,
651
 
 
652
 
        *   alternee,
653
 
 
654
 
        *   somme,
655
 
 
656
 
        *   produit,
657
 
 
658
 
        *   cayley,
659
 
 
660
 
        *   generale.
661
 
 
662
 
 
663
 
           resolvante:unitaire;
664
 
          resolvante(x^7-14*x^5  + 56*x^3  - 56*X + 22,x,x^3-1,[x]);
665
 
          
666
 
            7      6        5         4          3           2
667
 
          Y  + 7 Y  - 539 Y  - 1841 Y  + 51443 Y  + 315133 Y  + 376999 Y
668
 
          
669
 
           + 125253
670
 
          
671
 
          resolvante : lineaire;
672
 
          resolvante(x^4-1,x,x1+2*x2+3*x3,[x1,x2,x3]);
673
 
          
674
 
           24       20         16            12             8              4
675
 
          Y   + 80 Y   + 7520 Y   + 1107200 Y   + 49475840 Y  + 344489984 Y
676
 
                                                                 + 655360000
677
 
                       Meme solution pour :
678
 
          resolvante : general;
679
 
          resolvante(x^4-1,x,x1+2*x2+3*x3,[x1,x2,x3]);
680
 
          resolvante(x^4-1,x,x1+2*x2+3*x3,[x1,x2,x3,x4])
681
 
          direct([x^4-1],x,x1+2*x2+3*x3,[[x1,x2,x3]]);
682
 
          
683
 
          resolvante:lineaire$
684
 
          resolvante(x^4-1,x,x1+x2+x3,[x1,x2,x3);
685
 
          
686
 
                                       4
687
 
                                      Y  - 1
688
 
          
689
 
          resolvante:symetrique$
690
 
          
691
 
          resolvante(x^4-1,x,x1+x2+x3,[x1,x2,x3]);
692
 
          
693
 
                                       4
694
 
                                      Y  - 1
695
 
          resolvante(x^4+x+1,x,x1-x2,[x1,x2]);
696
 
                  12      8       6        4        2
697
 
                 Y   + 8 Y  + 26 Y  - 112 Y  + 216 Y  + 229
698
 
          
699
 
          resolvante:alternee$
700
 
          resolvante(x^4+x+1,x,x1-x2,[x1,x2]);
701
 
          
702
 
                  12      8       6        4        2
703
 
                 Y   + 8 Y  + 26 Y  - 112 Y  + 216 Y  + 229
704
 
          
705
 
          
706
 
          resolvante:produit;
707
 
          resolvante(x^7-7*x+3,x,x1*x2*x3,[x1,x2,x3]);
708
 
          
709
 
             35      33         29        28         27        26         24
710
 
            Y   - 7 Y   - 1029 Y   + 135 Y   + 7203 Y   - 756 Y   + 1323 Y
711
 
          
712
 
                    23          22            21           20          19
713
 
          + 352947 Y   - 46305 Y   - 2463339 Y   + 324135 Y   - 30618 Y
714
 
          
715
 
                  18
716
 
          - 453789 Y
717
 
          
718
 
                    17              15             14              12
719
 
          - 40246444 Y   + 282225202 Y   - 44274492 Y   + 155098503 Y
720
 
          
721
 
                      11
722
 
          + 12252303 Y
723
 
          
724
 
                   10              9            8            7             6
725
 
          + 2893401 Y   - 171532242 Y  + 6751269 Y  + 2657205 Y  - 94517766 Y
726
 
          
727
 
                   5             3
728
 
          - 3720087 Y  + 26040609 Y  + 14348907
729
 
          
730
 
             resolvante:symetrique$
731
 
            resolvante(x^7-7*x+3,x,x1*x2*x3,[x1,x2,x3]);
732
 
          
733
 
            35      33         29        28         27        26         24
734
 
           Y   - 7 Y   - 1029 Y   + 135 Y   + 7203 Y   - 756 Y   + 1323 Y
735
 
          
736
 
                    23          22            21           20          19
737
 
          + 352947 Y   - 46305 Y   - 2463339 Y   + 324135 Y   - 30618 Y
738
 
          
739
 
                     18
740
 
           - 453789 Y
741
 
          
742
 
                      17              15             14              12
743
 
          - 40246444 Y   + 282225202 Y   - 44274492 Y   + 155098503 Y
744
 
          
745
 
                       11
746
 
           + 12252303 Y
747
 
          
748
 
                     10              9            8            7             6
749
 
          + 2893401 Y   - 171532242 Y  + 6751269 Y  + 2657205 Y  - 94517766 Y
750
 
          
751
 
                     5             3
752
 
          - 3720087 Y  + 26040609 Y  + 14348907
753
 
          
754
 
          resolvante:cayley$
755
 
          resolvante(x^5-4*x^2+x+1,x,a,[]);
756
 
          
757
 
          " resolvante de Cayley "
758
 
          
759
 
           6       5         4          3            2
760
 
          X  - 40 X  + 4080 X  - 92928 X  + 3772160 X  + 37880832 X + 93392896
761
 
     Pour la re'solvante de Cayley, les 2 derniers arguments sont
762
 
     neutres et le polyno^me donne' en entre'e doit ne'cessairement
763
 
     e^tre de degre' 5.
764
 
 
765
 
     Voir e'galement :
766
 
 
767
 
          RESOLVANTE_BIPARTITE, RESOLVANTE_PRODUIT_SYM,
768
 
          RESOLVANTE_UNITAIRE, RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN,
769
 
          RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
770
 
 
771
 
 
772
 
 - Function: RESOLVANTE_ALTERNEE1 (p,x)
773
 
     calcule la transformation de p(x) de degre n par la fonction
774
 
     $\prod_{1\leq i<j\leq n-1} (x_i-x_j)$.
775
 
 
776
 
     Voir e'galement :
777
 
 
778
 
          RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
779
 
          RESOLVANTE , RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
780
 
          RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE, RESOLVANTE_BIPARTITE.
781
 
 
782
 
 
783
 
 - Function: RESOLVANTE_BIPARTITE (p,x)
784
 
     calcule la transformation de p(x) de degre n (n pair) par la
785
 
     fonction          $x_1x_2\ldots x_{n/2}+x_{n/2+1}\ldotsx_n$
786
 
 
787
 
     Voir e'galement :
788
 
 
789
 
          RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
790
 
          RESOLVANTE , RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
791
 
          RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE,RESOLVANTE_ALTERNEE1
792
 
 
793
 
           RESOLVANTE_BIPARTITE(x^6+108,x);
794
 
          
795
 
                           10        8           6             4
796
 
                          Y   - 972 Y  + 314928 Y  - 34012224 Y
797
 
     Voir e'galement :
798
 
 
799
 
          RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
800
 
          RESOLVANTE, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
801
 
          RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE,
802
 
          RESOLVANTE_ALTERNEE1.
803
 
 
804
 
 
805
 
 - Function: RESOLVANTE_DIEDRALE (p,x)
806
 
     calcule la transformation de p(x) par la fonction x_1x_2+x_3x_4.
807
 
 
808
 
          resolvante_diedrale(x^5-3*x^4+1,x);
809
 
          
810
 
           15       12       11       10        9         8         7        6
811
 
          X   - 21 X   - 81 X   - 21 X   + 207 X  + 1134 X  + 2331 X  - 945 X
812
 
          
813
 
                     5          4          3          2
814
 
             - 4970 X  - 18333 X  - 29079 X  - 20745 X  - 25326 X - 697
815
 
     Voir e'galement :
816
 
 
817
 
          RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
818
 
          RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
819
 
          RESOLVANTE_VIERER, RESOLVANTE.
820
 
 
821
 
 
822
 
 - Function: RESOLVANTE_KLEIN (p,x)
823
 
     calcule la transformation de p(x) par la fonction x_1x_2x_4+x_4.
824
 
 
825
 
     Voir e'galement :
826
 
 
827
 
          RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
828
 
          RESOLVANTE_ALTERNEE1, RESOLVANTE, RESOLVANTE_KLEIN3,
829
 
          RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
830
 
 
831
 
 
832
 
 - Function: RESOLVANTE_KLEIN3 (p,x)
833
 
     calcule la transformation de p(x) par la fonction x_1x_2x_4+x_4.
834
 
 
835
 
     Voir e'galement :
836
 
 
837
 
          RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
838
 
          RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE,
839
 
          RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
840
 
 
841
 
 
842
 
 - Function: RESOLVANTE_PRODUIT_SYM (p,x)
843
 
     calcule la liste toutes les r\'esolvantes produit du polyn\^ome
844
 
     p(x).
845
 
 
846
 
            resolvante_produit_sym(x^5+3*x^4+2*x-1,x);
847
 
          
848
 
            5      4             10      8       7       6       5    4
849
 
          [Y  + 3 Y  + 2 Y - 1, Y   - 2 Y  - 21 Y  - 31 Y  - 14 Y  - Y
850
 
          
851
 
                3
852
 
          + 14 Y
853
 
          
854
 
                2       10      8       7    6       5       4       3      2
855
 
          + 3 Y  + 1, Y   + 3 Y  + 14 Y  - Y  - 14 Y  - 31 Y  - 21 Y  - 2 Y
856
 
          
857
 
                5      4
858
 
          + 1, Y  - 2 Y  - 3 Y - 1, Y - 1]
859
 
          
860
 
          
861
 
          resolvante:produit$
862
 
          esolvante(x^5+3*x^4+2*x-1,x,a*b*c,[a,b,c]);
863
 
          
864
 
           10      8       7    6       5       4       3      2
865
 
          Y   + 3 Y  + 14 Y  - Y  - 14 Y  - 31 Y  - 21 Y  - 2 Y  + 1
866
 
     Voir e'galement :
867
 
          RESOLVANTE, RESOLVANTE_UNITAIRE,
868
 
          RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
869
 
          RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
870
 
 
871
 
 
872
 
 - Function: RESOLVANTE_UNITAIRE (p,q,x)
873
 
     calcule la r\'esolvante du polyn\^ome p(x) par le polyn\^ome q(x).
874
 
 
875
 
     Voir e'galement :
876
 
          RESOLVANTE_PRODUIT_SYM, RESOLVANTE,
877
 
          RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
878
 
          RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
879
 
 
880
 
 
881
 
 - Function: RESOLVANTE_VIERER (p,x)
882
 
     calcule la transformation de p(x) par la fonction x_1x_2-x_3x_4.
883
 
 
884
 
     Voir e'galement :
885
 
          RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
886
 
          RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
887
 
          RESOLVANTE, RESOLVANTE_DIEDRALE.
888
 
 
889
 
 
890
 
 - Function: SCHUR2COMP (P,l_var)
891
 
     : P est un polyno^mes en les variables contenues dans la liste
892
 
     l_var. Chacune des variables de l_var repre'sente une fonction
893
 
     syme'trique comple`te. On repre'sente dans l_var la ie`me fonction
894
 
     syme'trique comple`te comme la concate'nation de la lettre h avec
895
 
     l'entier i : hi.  Cette fonction donne l'expression de P en
896
 
     fonction des fonctions de Schur.
897
 
 
898
 
            SCHUR2COMP(h1*h2-h3,[h1,h2,h3]);
899
 
          
900
 
          
901
 
                                            s
902
 
                                             1, 2
903
 
          
904
 
           SCHUR2COMP(a*h3,[h3]);
905
 
          
906
 
                                              s  a
907
 
                                               3
908
 
 
909
 
 
910
 
 - Function: SOMRAC (liste,K)
911
 
     la liste contient les fonctions syme'triques e'le'mentaires d'un
912
 
     polyno^me P . On calcul le polyno^mes dont les racines sont les
913
 
     sommes K a` K distinctes des racines de P.
914
 
 
915
 
     Voir e'galement PRODRAC.
916
 
 
917
 
 
918
 
 - Function: TCONTRACT (pol,lvar)
919
 
     teste si le polyno^me pol est syme'trique en les variables
920
 
     contenues dans la liste lvar. Si oui il rend une forme contracte'e
921
 
     comme la fonction CONTRACT.
922
 
 
923
 
     Autres fonctions de changements de repre'sentations :
924
 
 
925
 
     CONTRACT, CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TPARTPOL.
926
 
 
927
 
 
928
 
 - Function: TPARTPOL (pol,lvar)
929
 
     teste si le polyno^me pol est syme'trique en les variables
930
 
     contenues dans la liste lvar. Si oui il rend sa forme partionne'e
931
 
     comme la fonction PARTPOL.
932
 
 
933
 
     Autres fonctions de changements de repre'sentations :
934
 
 
935
 
     CONTRACT, CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT.
936
 
 
937
 
 
938
 
 - Function: TREILLIS (n)
939
 
     rame`ne toutes les partitions de poids n.
940
 
 
941
 
           treillis(4);
942
 
          
943
 
                      [[4], [3, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1]]
944
 
 
945
 
     Voir e'galement : LGTREILLIS, LTREILLIS et TREINAT.
946
 
 
947
 
 
948
 
 - Function: TREINAT
949
 
     TREINAT(part)  rame`ne la liste des partitions infe'rieures a` la
950
 
     partition   part pour l'ordre naturel.
951
 
 
952
 
             treinat([5]);
953
 
          
954
 
                                         [[5]]
955
 
             treinat([1,1,1,1,1]);
956
 
          
957
 
              [[5], [4, 1], [3, 2], [3, 1, 1], [2, 2, 1], [2, 1, 1, 1],
958
 
          
959
 
               [1, 1, 1, 1, 1]]
960
 
          
961
 
             treinat([3,2]);
962
 
          
963
 
                                  [[5], [4, 1], [3, 2]]
964
 
     Voir e'galement : LGTREILLIS, LTREILLIS et TREILLIS.
965
 
 
966
 
 
967
 
File: maxima.info,  Node: Groups,  Next: Runtime Environment,  Prev: Symmetries,  Up: Top
968
 
 
969
 
Groups
 
12
File: maxima.info,  Node: Introduction to Ctensor,  Next: Definitions for Ctensor,  Prev: Ctensor,  Up: Ctensor
 
13
 
 
14
Introduction to Ctensor
 
15
=======================
 
16
 
 
17
   - Component Tensor Manipulation Package.  To use the CTENSR package,
 
18
type TSETUP(); which automatically loads it from within MACSYMA (if it
 
19
is not already loaded) and then prompts the user to input his
 
20
coordinate system.  The user is first asked to specify the dimension of
 
21
the manifold. If the dimension is 2, 3 or 4 then the list of
 
22
coordinates defaults to [X,Y], [X,Y,Z] or [X,Y,Z,T] respectively.
 
23
These names may be changed by assigning a new list of coordinates to
 
24
the variable OMEGA (described below) and the user is queried about this.
 
25
** Care must be taken to avoid the coordinate names conflicting with
 
26
other object definitions **.  Next, the user enters the metric either
 
27
directly or from a file by specifying its ordinal position. As an
 
28
example of a file of common metrics, see TENSOR;METRIC FILE. The metric
 
29
is stored in the matrix LG. Finally, the metric inverse is computed and
 
30
stored in the matrix UG. One has the option of carrying out all
 
31
calculations in a power series.  A sample protocol is begun below for
 
32
the static, spherically symmetric metric (standard coordinates) which
 
33
will be applied to the problem of deriving Einstein's vacuum equations
 
34
(which lead to the Schwarzschild solution) as an example. Many of the
 
35
functions in CTENSR will be displayed for the standard metric as
 
36
examples.
 
37
     (%i2) TSETUP();
 
38
     
 
39
     Enter the dimension of the coordinate system:
 
40
     4;
 
41
     Do you wish to change the coordinate names?
 
42
     N;
 
43
     Do you want to
 
44
     1. Enter a new metric?
 
45
     2. Enter a metric from a file?
 
46
     3. Approximate a metric with a Taylor series?
 
47
     Enter 1, 2 or 3
 
48
     1;
 
49
     Is the matrix  1. Diagonal  2. Symmetric  3. Antisymmetric  4. General
 
50
     Answer 1, 2, 3 or 4
 
51
     1;
 
52
     Row 1 Column 1:  A;
 
53
     Row 2 Column 2:  X^2;
 
54
     Row 3 Column 3:  X^2*SIN(Y)^2;
 
55
     Row 4 Column 4:  -D;
 
56
     Matrix entered.
 
57
     Enter functional dependencies with the DEPENDS function or 'N' if none
 
58
     DEPENDS([A,D],X);
 
59
     Do you wish to see the metric?
 
60
     Y;
 
61
                               [ A  0       0        0  ]
 
62
                               [                        ]
 
63
                               [     2                  ]
 
64
                               [ 0  X       0        0  ]
 
65
                               [                        ]
 
66
                               [         2    2         ]
 
67
                               [ 0  0   X  SIN (Y)   0  ]
 
68
                               [                        ]
 
69
                               [ 0  0       0       - D ]
 
70
     Do you wish to see the metric inverse?
 
71
     N;
 
72
 
 
73
 
 
74
File: maxima.info,  Node: Definitions for Ctensor,  Prev: Introduction to Ctensor,  Up: Ctensor
 
75
 
 
76
Definitions for Ctensor
 
77
=======================
 
78
 
 
79
 - Function: CHR1 ([i,j,k])
 
80
     yields the Christoffel symbol of the first kind via the definition
 
81
                 (g      + g      - g     )/2 .
 
82
                   ik,j     jk,i     ij,k
 
83
 
 
84
     To evaluate the Christoffel symbols for a particular metric, the
 
85
     variable METRIC must be assigned a name as in the example under
 
86
     CHR2.
 
87
 
 
88
 
 
89
 - Function: CHR2 ([i,j],[k])
 
90
     yields the Christoffel symbol of the second kind defined by the
 
91
     relation
 
92
                                 ks
 
93
              CHR2([i,j],[k]) = g    (g      + g      - g     )/2
 
94
                                       is,j     js,i     ij,s
 
95
 
 
96
 - Function: CHRISTOF (arg)
 
97
     A function in the CTENSR (Component Tensor Manipulation) package.
 
98
     It computes the Christoffel symbols of both kinds.  The arg
 
99
     determines which results are to be immediately displayed.  The
 
100
     Christoffel symbols of the first and second kinds are stored in
 
101
     the arrays LCS[i,j,k] and MCS[i,j,k] respectively and defined to
 
102
     be symmetric in the first two indices. If the argument to CHRISTOF
 
103
     is LCS or MCS then the unique non-zero values of LCS[i,j,k] or
 
104
     MCS[i,j,k], respectively, will be displayed. If the argument is ALL
 
105
     then the unique non-zero values of LCS[i,j,k] and MCS[i,j,k] will
 
106
     be displayed.  If the argument is FALSE then the display of the
 
107
     elements will not occur. The array elements MCS[i,j,k] are defined
 
108
     in such a manner that the final index is contravariant.
 
109
 
 
110
 
 
111
 - Function: COVDIFF (exp,v1,v2,...)
 
112
     yields the covariant derivative of exp with respect to the
 
113
     variables vi in terms of the Christoffel symbols of the second
 
114
     kind (CHR2).  In order to evaluate these, one should use
 
115
     EV(exp,CHR2).
 
116
 
 
117
 
 
118
 - Function: CURVATURE ([i,j,k],[h])
 
119
     Indicial Tensor Package) yields the Riemann curvature tensor in
 
120
     terms of the Christoffel symbols of the second kind (CHR2).  The
 
121
     following notation is used:
 
122
                         h            h           h        %1        h
 
123
                CURVATURE     = - CHR2      - CHR2     CHR2    + CHR2
 
124
                         i j k        i k,j       %1 j     i k       i j,k
 
125
                                        h         %1
 
126
                                  + CHR2      CHR2
 
127
                                        %1 k      i j
 
128
 
 
129
 - Variable: DIAGMETRIC
 
130
     default:[] - An option in the CTENSR (Component Tensor
 
131
     Manipulation) package.  If DIAGMETRIC is TRUE special routines
 
132
     compute all geometrical objects (which contain the metric tensor
 
133
     explicitly) by taking into consideration the diagonality of the
 
134
     metric. Reduced run times will, of course, result. Note: this
 
135
     option is set automatically by TSETUP if a diagonal metric is
 
136
     specified.
 
137
 
 
138
 
 
139
 - Variable: DIM
 
140
     default:[4] - An option in the CTENSR (Component Tensor
 
141
     Manipulation) package.  DIM is the dimension of the manifold with
 
142
     the default 4. The command DIM:N; will reset the dimension to any
 
143
     other integral value.
 
144
 
 
145
 
 
146
 - Function: EINSTEIN (dis)
 
147
     A function in the CTENSR (Component Tensor Manipulation) package.
 
148
     EINSTEIN computes the mixed Einstein tensor after the Christoffel
 
149
     symbols and Ricci tensor have been obtained (with the functions
 
150
     CHRISTOF and RICCICOM).  If the argument dis is TRUE, then the
 
151
     non-zero values of the mixed Einstein tensor G[i,j] will be
 
152
     displayed where j is the contravariant index.  RATEINSTEIN[TRUE]
 
153
     if TRUE will cause the rational simplification on these
 
154
     components. If RATFAC[FALSE] is TRUE then the components will also
 
155
     be factored.
 
156
 
 
157
 
 
158
 - Function: LRICCICOM (dis)
 
159
     A function in the CTENSR (Component Tensor Manipulation) package.
 
160
     LRICCICOM computes the covariant (symmetric) components LR[i,j] of
 
161
     the Ricci tensor.  If the argument dis is TRUE, then the non-zero
 
162
     components are displayed.
 
163
 
 
164
 
 
165
 - Function: MOTION (dis)
 
166
     A function in the CTENSR (Component Tensor Manipulation) package.
 
167
     MOTION computes the geodesic equations of motion for a given
 
168
     metric.  They are stored in the array EM[i].  If the argument dis
 
169
     is TRUE then these equations are displayed.
 
170
 
 
171
 
 
172
 - Variable: OMEGA
 
173
     default:[] - An option in the CTENSR (Component Tensor
 
174
     Manipulation) package.  OMEGA assigns a list of coordinates to the
 
175
     variable. While normally defined when the function TSETUP is
 
176
     called, one may redefine the coordinates with the assignment
 
177
     OMEGA:[j1,j2,...jn] where the j's are the new coordinate names. A
 
178
     call to OMEGA will return the coordinate name list.  Also see
 
179
     DESCRIBE(TSETUP); .
 
180
 
 
181
 
 
182
 - Function: RIEMANN (dis)
 
183
     A function in the CTENSR (Component Tensor Manipulation) Package.
 
184
     RIEMANN computes the Riemann curvature tensor from the given
 
185
     metric and the corresponding Christoffel symbols.  If dis is TRUE,
 
186
     the non-zero components R[i,j,k,l] will be displayed. All the
 
187
     indicated indices are covariant.  As with the Einstein tensor,
 
188
     various switches set by the user control the simplification of the
 
189
     components of the Riemann tensor.  If RATRIEMAN[TRUE] is TRUE then
 
190
     rational simplification will be done. If RATFAC[FALSE] is TRUE then
 
191
     each of the components will also be factored.
 
192
 
 
193
 
 
194
 - Function: TRANSFORM
 
195
     - The TRANSFORM command in the CTENSR package has been renamed to
 
196
     TTRANSFORM.
 
197
 
 
198
 
 
199
 - Function: TSETUP ()
 
200
     A function in the CTENSR (Component Tensor Manipulation) package
 
201
     which automatically loads the CTENSR package from within MACSYMA
 
202
     (if it is not already loaded) and then prompts the user to make
 
203
     use of it.  Do DESCRIBE(CTENSR); for more details.
 
204
 
 
205
 
 
206
 - Function: TTRANSFORM (matrix)
 
207
     A function in the CTENSR (Component Tensor Manipulation) package
 
208
     which will perform a coordinate transformation upon an arbitrary
 
209
     square symmetric matrix. The user must input the functions which
 
210
     define the transformation.  (Formerly called TRANSFORM.)
 
211
 
 
212
 
 
213
 
 
214
File: maxima.info,  Node: Series,  Next: Number Theory,  Prev: Ctensor,  Up: Top
 
215
 
 
216
Series
970
217
******
971
218
 
972
219
* Menu:
973
220
 
974
 
* Definitions for Groups::
975
 
 
976
 
 
977
 
File: maxima.info,  Node: Definitions for Groups,  Prev: Groups,  Up: Groups
978
 
 
979
 
Definitions for Groups
980
 
======================
981
 
 
982
 
 - Function: TODD_COXETER (relations,subgroup)
983
 
     Find the order of G/H where G is the Free Group modulo RELATIONS,
984
 
     and H is the subgroup of G generated by SUBGROUP.  SUBGROUP is an
985
 
     optional argument, defaulting to [].  In doing this it produces a
986
 
     multiplication table for the right action of G on G/H, where the
987
 
     cosets are enumerated [H,Hg2,Hg3,...]  This can be seen internally
988
 
     in the $todd_coxeter_state.  The multiplication tables for the
989
 
     variables are in table:todd_coxeter_state[2] Then table[i] gives
990
 
     the table for the ith variable.  mulcoset(coset,i) :=
991
 
     table[varnum][coset];
992
 
 
993
 
     Example:
994
 
 
995
 
          (C1) symet(n):=create_list(if (j - i) = 1 then (p(i,j))^^3 else
996
 
               if (not i = j) then (p(i,j))^^2 else p(i,i) , j,1,n-1,i,1,j);
997
 
                                                              <3>
998
 
          (D1) SYMET(N) := CREATE_LIST(IF J - I = 1 THEN P(I, J)
999
 
          
1000
 
                                       <2>
1001
 
           ELSE (IF NOT I = J THEN P(I, J)
1002
 
           ELSE P(I, I)), J, 1, N - 1, I, 1, J)
1003
 
          (C2) p(i,j) :=concat(x,i).concat(x,j);
1004
 
          (D2)                P(I, J) := CONCAT(X, I) . CONCAT(X, J)
1005
 
          (C3) symet(5);
1006
 
                                  <3>                    <2>           <3>
1007
 
          (D3) [X1 . X1, (X1 . X2)   , X2 . X2, (X1 . X3)   , (X2 . X3)   ,
1008
 
          
1009
 
                                <2>                <2>           <3>
1010
 
          X3 . X3,     (X1 . X4)         , (X2 . X4)   , (X3 . X4)   , X4 . X4]
1011
 
          (C4) todd_coxeter(d3);
1012
 
          
1013
 
          Rows tried 426
1014
 
          (D4)                                120
1015
 
          (C5) todd_coxeter(d3,[x1]);
1016
 
          
1017
 
          Rows tried 213
1018
 
          (D5)                                60
1019
 
          (C6) todd_coxeter(d3,[x1,x2]);
1020
 
          
1021
 
          Rows tried 71
1022
 
          (D6)                                20
1023
 
          (C7) table:todd_coxeter_state[2]$
1024
 
          (C8) table:todd_coxeter_state[2]$
1025
 
          (C9) table[1];
1026
 
          (D9) {Array: FIXNUM #(0 2 1 3 7 6 5 4 8 11 17 9 12 14 13 20
1027
 
                     16 10 18 19 15 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0)}
1028
 
 
1029
 
     Note only the elements 1 thru 20 of this array d9  are meaningful.
1030
 
     table[1][4] = 7 indicates coset4.var1 = coset7
1031
 
 
1032
 
 
1033
 
 
1034
 
File: maxima.info,  Node: Runtime Environment,  Next: Miscellaneous Options,  Prev: Groups,  Up: Top
1035
 
 
1036
 
Runtime Environment
1037
 
*******************
1038
 
 
1039
 
* Menu:
1040
 
 
1041
 
* Introduction for Runtime Environment::
1042
 
* INTERRUPTS::
1043
 
* Definitions for Runtime Environment::
1044
 
 
1045
 
 
1046
 
File: maxima.info,  Node: Introduction for Runtime Environment,  Next: INTERRUPTS,  Prev: Runtime Environment,  Up: Runtime Environment
1047
 
 
1048
 
Introduction for Runtime Environment
1049
 
====================================
1050
 
 
1051
 
   - A file which is loaded automatically for you when you start up a
1052
 
MACSYMA, to customize MACSYMA for you.  It is possible to have an init
1053
 
file written as a BATCH file of macsyma commands.  We hope this makes
1054
 
it easier for users to customize their macsyma environment.  Here is an
1055
 
example init file
1056
 
             /*-*-macsyma-*-*/
1057
 
             setup_autoload("share\;bessel",j0,j1,jn);
1058
 
             showtime:all; comgrind:true;
1059
 
   The strange looking comment at the top of the file
1060
 
"/*-*-macsyma-*-*/" tells that it is a macsyma-language file.  Also:
1061
 
"SETUP_AUTOLOAD" can be used to make functions in BATCH files
1062
 
autoloading, meaning that you can then use (for instance, here) the
1063
 
functions J0, J1 and Jn from the BESSEL package directly because when
1064
 
you use the function the BESSEL package will be loaded in for you
1065
 
automatically.  If the second file name in the argument to
1066
 
SETUP_AUTOLOAD is not specified (the preferred usage) then the standard
1067
 
search for second file names of "FASL", "TRLISP", and ">" is done.
1068
 
 
1069
 
 
1070
 
File: maxima.info,  Node: INTERRUPTS,  Next: Definitions for Runtime Environment,  Prev: Introduction for Runtime Environment,  Up: Runtime Environment
1071
 
 
1072
 
INTERRUPTS
1073
 
==========
1074
 
 
1075
 
   - There are several ways the user can interrupt a MACSYMA
1076
 
computation, usually with a control character.  Do
1077
 
DESCRIBE(CHARACTERS); for details.  MACSYMA will also be interrupted if
1078
 
^Z (control-Z) is typed, as this will exit back to Unix shell level
1079
 
Usually Control-C interrupts the computation putting you in a break
1080
 
loop.  Typing :t should give you top level maxima back again.
1081
 
 
1082
 
 
1083
 
File: maxima.info,  Node: Definitions for Runtime Environment,  Prev: INTERRUPTS,  Up: Runtime Environment
1084
 
 
1085
 
Definitions for Runtime Environment
1086
 
===================================
1087
 
 
1088
 
 - Function: ALARMCLOCK (arg1, arg2, arg3)
1089
 
     will execute the function of no arguments whose name is arg3 when
1090
 
     the time specified by arg1 and arg2 elapses.  If arg1 is the atom
1091
 
     "TIME" then arg3 will be executed after arg2 seconds of real-time
1092
 
     has elapsed while if arg1 is the atom "RUNTIME" then arg3 will be
1093
 
     executed after arg2 milliseconds of cpu time. If arg2 is negative
1094
 
     then the arg1 timer is shut off.
1095
 
 
1096
 
 
1097
 
 - Function: ALLOC
1098
 
     takes any number of arguments which are the same as the replies to
1099
 
     the "run out of space" question.  It increases allocations
1100
 
     accordingly.  E.g. If the user knows initially that his problem
1101
 
     will require much space, he can say ALLOC(4); to allocate the
1102
 
     maximum amount initially.  See also the DYNAMALLOC switch.
1103
 
 
1104
 
 
1105
 
 - Function: BUG ("message")
1106
 
     similar to mail, sends a message to MACSYMA Mail.  This may be
1107
 
     used for reporting bugs or suspected bugs in MACSYMA.  Expressions
1108
 
     may be included by referring to them, outside double quotes, e.g.
1109
 
     BUG("I am trying to integrate",D3,"but it asks for more list space.
1110
 
     What should I do?");
1111
 
 
1112
 
 
1113
 
 - Function: CLEARSCREEN ()
1114
 
     Clears the screen.  The same as typing control-L.
1115
 
 
1116
 
 
1117
 
 - Function: CONTINUE
1118
 
     - Control-^ typed while in MACSYMA causes LISP to be entered.  The
1119
 
     user can now type any LISP S-expression and have it evaluated.
1120
 
     Typing (CONTINUE) or ^G (control-G) causes MACSYMA to be
1121
 
     re-entered.
1122
 
 
1123
 
 
1124
 
 - Function: DDT ()
1125
 
     Exits from MACSYMA to the operating system level.  (The same as
1126
 
     control-Z on ITS, or control-C on Tops-20.)
1127
 
 
1128
 
 
1129
 
 - Function: DELFILE (file-specification)
1130
 
     will delete the file given by the file-specification (i.e.
1131
 
     firstname, secondname, device, user) from the given device.
1132
 
 
1133
 
 
1134
 
 - Function: DISKFREE ()
1135
 
     With no args or an arg of TRUE, will return the total number of
1136
 
     free blocks of disk space in the system.  With an arg of 0, 1, or
1137
 
     13, it will return the number of free blocks of diskspace on the
1138
 
     respective disk pack.  With an arg of SECONDARY or PRIMARY, it will
1139
 
     return the total number of free blocks of disk space on the
1140
 
     secondary or primary disk pack respectively.
1141
 
 
1142
 
 
1143
 
 - declaration: FEATURE
1144
 
     - A nice adjunct to the system.  STATUS(FEATURE) gives you a list
1145
 
     of system features. At present the list for MC is: MACSYMA,
1146
 
     NOLDMSG, MACLISP, PDP10, BIGNUM, FASLOAD, HUNK, FUNARG, ROMAN,
1147
 
     NEWIO, SFA, PAGING, MC, and ITS.  Any of these "features" may be
1148
 
     given as a second argument to STATUS(FEATURE,...); If the
1149
 
     specified feature exists, TRUE will be returned, else FALSE.
1150
 
     Note: these are system features, and not really "user related".
1151
 
     See also DESCRIBE(features); for more user-oriented features.
1152
 
 
1153
 
 
1154
 
 - Function: FEATUREP (a,f)
1155
 
     attempts to determine whether the object a has the feature f on
1156
 
     the basis of the facts in the current data base.  If so, it
1157
 
     returns TRUE, else FALSE.  See DESCRIBE(FEATURES); .
1158
 
          (C1) DECLARE(J,EVEN)$
1159
 
          (C2) FEATUREP(J,INTEGER);
1160
 
          (D2)                                TRUE
1161
 
 
1162
 
 - Function: ROOM ()
1163
 
     types out a verbose description of the state of storage and stack
1164
 
     management in the Macsyma.  This simply utilizes the Lisp ROOM
1165
 
     function.  ROOM(FALSE) - types out a very terse description,
1166
 
     containing most of the same information.
1167
 
 
1168
 
 
1169
 
 - Function: STATUS (arg)
1170
 
     will return miscellaneous status information about the user's
1171
 
     MACSYMA depending upon the arg given.  Permissible arguments and
1172
 
     results are as follows:
1173
 
        * TIME - the time used so far in the computation.
1174
 
 
1175
 
        * DAY - the day of the week.
1176
 
 
1177
 
        * DATE - a list of the year, month, and day.
1178
 
 
1179
 
        * DAYTIME - a list of the hour, minute, and second.
1180
 
 
1181
 
        * RUNTIME - accumulated cpu time times the atom "MILLISECONDS"
1182
 
          in the current    MACSYMA.
1183
 
 
1184
 
        * REALTIME - the real time (in sec) elapsed since the user
1185
 
          started up    his MACSYMA.
1186
 
 
1187
 
        * GCTIME - the garbage collection time used so far in the
1188
 
          current    computation.
1189
 
 
1190
 
        * TOTALGCTIME - gives the total garbage collection time used in
1191
 
          MACSYMA    so far.
1192
 
 
1193
 
        * FREECORE - the number of blocks of core your MACSYMA can
1194
 
          expand    before it runs out of address space.  (A block is
1195
 
          1024 words.)     Subtracting that value from 250*BLOCKS (the
1196
 
          maximum you can get on MC)    tells you how many blocks of
1197
 
          core your MACSYMA is using up.  (A    MACSYMA with no "fix"
1198
 
          file starts at approx. 191 blocks.)
1199
 
 
1200
 
        * FEATURE - gives you a list of system features. At present the
1201
 
          list for    MC is: MACSYMA, NOLDMSG, MACLISP, PDP10, BIGNUM,
1202
 
          FASLOAD, HUNK,    FUNARG, ROMAN, NEWIO, SFA, PAGING, MC, and
1203
 
          ITS.  Any of these    "features" may be given as a second
1204
 
          argument to STATUS(FEATURE,...);    If the specified feature
1205
 
          exists, TRUE will be returned, else FALSE.     Note: these
1206
 
          are system features, and not really "user related".
1207
 
     For information about your files, see the FILEDEFAULTS(); command.
1208
 
 
1209
 
 
1210
 
 - Function: TIME (Di1, Di2, ...)
1211
 
     gives a list of the times in milliseconds taken to compute the Di.
1212
 
     (Note: the Variable SHOWTIME, default: [FALSE], may be set to
1213
 
     TRUE to have computation times printed out with each D-line.)
1214
 
 
1215
 
 
1216
 
 
1217
 
File: maxima.info,  Node: Miscellaneous Options,  Next: Rules and Patterns,  Prev: Runtime Environment,  Up: Top
1218
 
 
1219
 
Miscellaneous Options
1220
 
*********************
1221
 
 
1222
 
* Menu:
1223
 
 
1224
 
* Introduction to Miscellaneous Options::
1225
 
* SHARE::
1226
 
* Definitions for Miscellaneous Options::
1227
 
 
1228
 
 
1229
 
File: maxima.info,  Node: Introduction to Miscellaneous Options,  Next: SHARE,  Prev: Miscellaneous Options,  Up: Miscellaneous Options
1230
 
 
1231
 
Introduction to Miscellaneous Options
1232
 
=====================================
1233
 
 
1234
 
   In this section various options are discussed which have a global
1235
 
effect on the operation of maxima.   Also various lists such as the
1236
 
list of all user defined functions, are discussed.
1237
 
 
1238
 
 
1239
 
File: maxima.info,  Node: SHARE,  Next: Definitions for Miscellaneous Options,  Prev: Introduction to Miscellaneous Options,  Up: Miscellaneous Options
1240
 
 
1241
 
SHARE
1242
 
=====
1243
 
 
1244
 
   - The SHARE directory on MC or on a DEC20 version of MACSYMA
1245
 
contains programs, information files, etc.  which are considered to be
1246
 
of interest to the MACSYMA community.  Most files on SHARE; are not
1247
 
part of the MACSYMA system per se and must be loaded individually by
1248
 
the user, e.g.  LOADFILE("array");. Many files on SHARE; were
1249
 
contributed by MACSYMA users.  Do PRINTFILE(SHARE,USAGE,SHARE); for
1250
 
more details and the conventions for contributing to the SHARE
1251
 
directory.  For an annotated "table of contents" of the directory, do:
1252
 
PRINTFILE(SHARE,>,SHARE);
 
221
* Introduction to Series::
 
222
* Definitions for Series::
 
223
 
 
224
 
 
225
File: maxima.info,  Node: Introduction to Series,  Next: Definitions for Series,  Prev: Series,  Up: Series
 
226
 
 
227
Introduction to Series
 
228
======================
 
229
 
 
230
   Maxima contains functions `Taylor' and `Powerseries' for finding the
 
231
series of differentiable functions.   It also has tools such as `Nusum'
 
232
capable of finding the closed form of some series.   Operations such as
 
233
addition and multiplication work as usual on series. This section
 
234
presents the various global various variables which control the
 
235
expansion.
 
236
 
 
237
 
 
238
File: maxima.info,  Node: Definitions for Series,  Prev: Introduction to Series,  Up: Series
 
239
 
 
240
Definitions for Series
 
241
======================
 
242
 
 
243
 - Variable: CAUCHYSUM
 
244
     default: [FALSE] - When multiplying together sums with INF as
 
245
     their upper limit, if SUMEXPAND is TRUE and CAUCHYSUM is set to
 
246
     TRUE then the Cauchy product will be used rather than the usual
 
247
     product.  In the Cauchy product the index of the inner summation
 
248
     is a function of the index of the outer one rather than varying
 
249
     independently.  That is: SUM(F(I),I,0,INF)*SUM(G(J),J,0,INF)
 
250
     becomes SUM(SUM(F(I)*G(J-I),I,0,J),J,0,INF)
 
251
 
 
252
 
 
253
 - Function: DEFTAYLOR (function, exp)
 
254
     allows the user to define the Taylor series (about 0) of an
 
255
     arbitrary function of one variable as exp which may be a
 
256
     polynomial in that variable or which may be given implicitly as a
 
257
     power series using the SUM function.      In order to display the
 
258
     information given to DEFTAYLOR one can use POWERSERIES(F(X),X,0).
 
259
     (see below).
 
260
          (%i1) DEFTAYLOR(F(X),X**2+SUM(X**I/(2**I*I!**2),
 
261
                  I,4,INF));
 
262
          (%o1)                          [F]
 
263
          (%i2) TAYLOR(%E**SQRT(F(X)),X,0,4);
 
264
                               2         3          4
 
265
                              X    3073 X    12817 X
 
266
          (%o2)/R/     1 + X + -- + ------- + -------- +  . . .
 
267
                              2     18432     307200
 
268
 
 
269
 - Variable: MAXTAYORDER
 
270
     default: [TRUE] - if TRUE, then during algebraic manipulation of
 
271
     (truncated) Taylor series, TAYLOR will try to retain as many terms
 
272
     as are certain to be correct.
 
273
 
 
274
 
 
275
 - Function: NICEINDICES (expr)
 
276
     will take the expression and change all the indices of sums and
 
277
     products to something easily understandable. It makes each index
 
278
     it can "I" , unless "I" is in the internal expression, in which
 
279
     case it sequentially tries J,K,L,M,N,I0,I1,I2,I3,I4,...  until it
 
280
     finds a legal index.
 
281
 
 
282
 
 
283
 - Variable: NICEINDICESPREF
 
284
     default: [I,J,K,L,M,N] - the list which NICEINDICES uses to find
 
285
     indices for sums and products.  This allows the user to set the
 
286
     order of preference of how NICEINDICES finds the "nice indices".
 
287
     E.g.  NICEINDICESPREF:[Q,R,S,T,INDEX]$.  Then if NICEINDICES finds
 
288
     that it cannot use any of these as indices in a particular
 
289
     summation, it uses the first as a base to try and tack on numbers.
 
290
     Here, if the list is exhausted, Q0, then Q1, etc, will be tried.
 
291
 
 
292
 
 
293
 - Function: NUSUM (exp,var,low,high)
 
294
     performs indefinite summation of exp with respect to var using a
 
295
     decision procedure due to R.W. Gosper.  exp and the potential
 
296
     answer must be expressible as products of nth powers, factorials,
 
297
     binomials, and rational functions.  The terms "definite" and
 
298
     "indefinite summation" are used analogously to "definite" and
 
299
     "indefinite integration".  To sum indefinitely means to give a
 
300
     closed form for the sum over intervals of variable length, not
 
301
     just e.g. 0 to inf.  Thus, since there is no formula for the
 
302
     general partial sum of the binomial series, NUSUM can't do it.
 
303
 
 
304
 
 
305
 - Function: PADE (taylor-series,num-deg-bound,denom-deg-bound)
 
306
     returns a list of all rational functions which have the given
 
307
     taylor-series expansion where the sum of the degrees of the
 
308
     numerator and the denominator is less than or equal to the
 
309
     truncation level of the power series, i.e.  are "best"
 
310
     approximants, and which additionally satisfy the specified degree
 
311
     bounds.  Its first argument must be a univariate taylor-series;
 
312
     the second and third are positive integers specifying degree
 
313
     bounds on the numerator and denominator.  PADE's first argument
 
314
     can also be a Laurent series, and the degree bounds can be INF
 
315
     which causes all rational functions whose total degree is less
 
316
     than or equal to the length of the power series to be returned.
 
317
     Total degree is num-degree + denom-degree.  Length of a power
 
318
     series is "truncation level" + 1 - minimum(0,"order of series").
 
319
 
 
320
          (%i15) ff:taylor(1+x+x^2+x^3,x,0,3);
 
321
                                               2    3
 
322
          (%o15)/T/                    1 + X + X  + X  + . . .
 
323
          (%i16) pade(ff,1,1);
 
324
                                                  1
 
325
          (%o16)                              [- -----]
 
326
                                                X - 1
 
327
          (%i1) ff:taylor(-(83787*X^10-45552*X^9-187296*X^8
 
328
                            +387072*X^7+86016*X^6-1507328*X^5
 
329
                            +1966080*X^4+4194304*X^3-25165824*X^2
 
330
                            +67108864*X-134217728)
 
331
                 /134217728,x,0,10);
 
332
          (%i25) PADE(ff,4,4);
 
333
          (%o25) []
 
334
     There is no rational function of degree 4 numerator/denominator,
 
335
     with this power series expansion.  You must in general have degree
 
336
     of the numerator and degree of the denominator adding up to at
 
337
     least the degree of the power series, in order to have enough
 
338
     unknown coefficients to solve.
 
339
          (%i26) PADE(ff,5,5);
 
340
          (%o26) [-(520256329*X^5-96719020632*X^4-489651410240*X^3
 
341
                     -1619100813312*X^2 -2176885157888*X-2386516803584)
 
342
                /(47041365435*X^5+381702613848*X^4+1360678489152*X^3
 
343
                          +2856700692480*X^2
 
344
                        +3370143559680*X+2386516803584)]
 
345
 
 
346
 
 
347
 - Variable: POWERDISP
 
348
     default: [FALSE] - if TRUE will cause sums to be displayed with
 
349
     their terms in the reverse order.  Thus polynomials would display
 
350
     as truncated power series, i.e., with the lowest power first.
 
351
 
 
352
 
 
353
 - Function: POWERSERIES (exp, var, pt)
 
354
     generates the general form of the power series expansion for exp
 
355
     in the variable var about the point pt (which may be INF for
 
356
     infinity).  If POWERSERIES is unable to expand exp, the TAYLOR
 
357
     function may give the first several terms of the series.
 
358
     VERBOSE[FALSE] - if TRUE will cause comments about the progress of
 
359
     POWERSERIES to be printed as the execution of it proceeds.
 
360
          (%i1) VERBOSE:TRUE$
 
361
          (%i2) POWERSERIES(LOG(SIN(X)/X),X,0);
 
362
          Can't expand
 
363
                                           LOG(SIN(X))
 
364
          So we'll try again after applying the rule:
 
365
                                                  d
 
366
                                                / -- (SIN(X))
 
367
                                                [ dX
 
368
                                  LOG(SIN(X)) = I ----------- dX
 
369
                                                ]   SIN(X)
 
370
                                                /
 
371
          In the first simplification we have returned:
 
372
                                       /
 
373
                                       [
 
374
                                       I COT(X) dX - LOG(X)
 
375
                                       ]
 
376
                                       /
 
377
                              INF
 
378
                              ====        I1  2 I1             2 I1
 
379
                              \      (- 1)   2     BERN(2 I1) X
 
380
                               >     ------------------------------
 
381
                              /                I1 (2 I1)!
 
382
                              ====
 
383
                              I1 = 1
 
384
          (%o2)                -------------------------------------
 
385
                                                2
 
386
 
 
387
 - Variable: PSEXPAND
 
388
     default: [FALSE] - if TRUE will cause extended rational function
 
389
     expressions to display fully expanded.  (RATEXPAND will also cause
 
390
     this.)  If FALSE, multivariate expressions will be displayed just
 
391
     as in the rational function package.  If PSEXPAND:MULTI, then
 
392
     terms with the same total degree in the variables are grouped
 
393
     together.
 
394
 
 
395
 
 
396
 - Function: REVERT (expression,variable)
 
397
     Does reversion of Taylor Series.  "Variable" is the variable the
 
398
     original Taylor expansion is in.  Do LOAD(REVERT) to access this
 
399
     function.  Try
 
400
 
 
401
          REVERT2(expression,variable,hipower)
 
402
      also.  REVERT only works on expansions around 0.
 
403
 
 
404
 
 
405
 - Function: SRRAT (exp)
 
406
     this command has been renamed to TAYTORAT.
 
407
 
 
408
 
 
409
 - Function: TAYLOR (exp, var, pt, pow)
 
410
     expands the expression exp in a truncated Taylor series (or
 
411
     Laurent series, if required) in the variable var around the point
 
412
     pt.  The terms through (var-pt)**pow are generated.  If exp is of
 
413
     the form f(var)/g(var) and g(var) has no terms up to degree pow
 
414
     then TAYLOR will try to expand g(var) up to degree 2*pow.  If
 
415
     there are still no non-zero terms TAYLOR will keep doubling the
 
416
     degree of the expansion of g(var) until reaching pow*2**n where n
 
417
     is the value of the variable TAYLORDEPTH[3].  If
 
418
     MAXTAYORDER[FALSE] is set to TRUE, then during algebraic
 
419
     manipulation of (truncated) Taylor series, TAYLOR will try to
 
420
     retain as many terms as are certain to be correct.  Do
 
421
     EXAMPLE(TAYLOR); for examples.
 
422
     TAYLOR(exp,[var1,pt1,ord1],[var2,pt2,ord2],...)  returns a
 
423
     truncated power series in the variables vari about the points pti,
 
424
     truncated at ordi.  PSEXPAND[FALSE] if TRUE will cause extended
 
425
     rational function expressions to display fully expanded.
 
426
     (RATEXPAND will also cause this.) If FALSE, multivariate
 
427
     expressions will be displayed just as in the rational function
 
428
     package.  If PSEXPAND:MULTI, then terms with the same total degree
 
429
     in the variables are grouped together.  TAYLOR(exp, [var1, var2, .
 
430
     . .], pt, ord) where each of pt and ord may be replaced by a list
 
431
     which will correspond to the list of variables.  that is, the nth
 
432
     items on each of the lists will be associated together.
 
433
     TAYLOR(exp, [x,pt,ord,ASYMP]) will give an expansion of exp in
 
434
     negative powers of (x-pt).  The highest order term will be
 
435
     (x-pt)^(-ord).  The ASYMP is a syntactic device and not to be
 
436
     assigned to.  See also the TAYLOR_LOGEXPAND switch for controlling
 
437
     expansion.
 
438
 
 
439
 
 
440
 - Variable: TAYLORDEPTH
 
441
     default: [3] - If there are still no non-zero terms TAYLOR will
 
442
     keep doubling the degree of the expansion of g(var) until reaching
 
443
     pow*2**n where n is the value of the variable TAYLORDEPTH[3].
 
444
 
 
445
 
 
446
 - Function: TAYLORINFO (exp)
 
447
     returns FALSE if exp is not a Taylor series.  Otherwise, a list of
 
448
     lists is returned describing the particulars of the Taylor
 
449
     expansion.  For example,
 
450
          (%i3) TAYLOR((1-Y^2)/(1-X),X,0,3,[Y,A,INF]);
 
451
                       2                        2
 
452
          (%o3)/R/ 1 - A  - 2 A (Y - A) - (Y - A)
 
453
                              2                        2
 
454
                      + (1 - A  - 2 A (Y - A) - (Y - A) ) X
 
455
                   2                        2   2
 
456
           + (1 - A  - 2 A (Y - A) - (Y - A) ) X
 
457
                              2                        2   3
 
458
                      + (1 - A  - 2 A (Y - A) - (Y - A) ) X
 
459
               + . . .
 
460
          (%i4) TAYLORINFO(%o3);
 
461
          (%o4)                       [[Y, A, INF], [X, 0, 3]]
 
462
 
 
463
 - Function: TAYLORP (exp)
 
464
     a predicate function which returns TRUE if and only if the
 
465
     expression 'exp' is in Taylor series representation.
 
466
 
 
467
 
 
468
 - Variable: TAYLOR_LOGEXPAND
 
469
     default: [TRUE] controls expansions of logarithms in TAYLOR
 
470
     series.  When TRUE all log's are expanded fully so that
 
471
     zero-recognition problems involving logarithmic identities do not
 
472
     disturb the expansion process.  However, this scheme is not always
 
473
     mathematically correct since it ignores branch information.  If
 
474
     TAYLOR_LOGEXPAND is set to FALSE, then the only expansion of log's
 
475
     that will occur is that necessary to obtain a formal power series.
 
476
 
 
477
 
 
478
 - Variable: TAYLOR_ORDER_COEFFICIENTS
 
479
     default: [TRUE] controls the ordering of coefficients in the
 
480
     expression.  The default (TRUE) is that coefficients of taylor
 
481
     series will be ordered canonically.
 
482
 
 
483
 
 
484
 - Function: TAYLOR_SIMPLIFIER
 
485
     - A function of one argument which TAYLOR uses to simplify
 
486
     coefficients of power series.
 
487
 
 
488
 
 
489
 - Variable: TAYLOR_TRUNCATE_POLYNOMIALS
 
490
     default: [TRUE] When FALSE polynomials input to TAYLOR are
 
491
     considered to have infinite precison; otherwise (the default) they
 
492
     are truncated based upon the input truncation levels.
 
493
 
 
494
 
 
495
 - Function: TAYTORAT (exp)
 
496
     converts exp from TAYLOR form to CRE form, i.e. it is like
 
497
     RAT(RATDISREP(exp)) although much faster.
 
498
 
 
499
 
 
500
 - Function: TRUNC (exp)
 
501
     causes exp which is in general representation to be displayed as
 
502
     if its sums were truncated Taylor series.  E.g. compare
 
503
     EXP1:X^2+X+1; with EXP2:TRUNC(X^2+X+1); .  Note that IS(EXP1=EXP2);
 
504
     gives TRUE.
 
505
 
 
506
 
 
507
 - Function: UNSUM (fun,n)
 
508
     is the first backward difference fun(n) - fun(n-1).
 
509
          (%i1) G(P):=P*4^N/BINOMIAL(2*N,N);
 
510
                                                      N
 
511
                                                   P 4
 
512
          (%o1)                       G(P) := ----------------
 
513
                                             BINOMIAL(2 N, N)
 
514
          (%i2) G(N^4);
 
515
                                               4  N
 
516
                                              N  4
 
517
          (%o2)                           ----------------
 
518
                                         BINOMIAL(2 N, N)
 
519
          (%i3) NUSUM(%o2,N,0,N);
 
520
                                   4        3       2              N
 
521
                    2 (N + 1) (63 N  + 112 N  + 18 N  - 22 N + 3) 4      2
 
522
          (%o3)      ------------------------------------------------ - ------
 
523
                                  693 BINOMIAL(2 N, N)                 3 11 7
 
524
          (%i4) UNSUM(%,N);
 
525
                                               4  N
 
526
                                              N  4
 
527
          (%o4)                           ----------------
 
528
                                         BINOMIAL(2 N, N)
 
529
 
 
530
 - Variable: VERBOSE
 
531
     default: [FALSE] - if TRUE will cause comments about the progress
 
532
     of POWERSERIES to be printed as the execution of it proceeds.
 
533
 
 
534
 
 
535
 
 
536
File: maxima.info,  Node: Number Theory,  Next: Symmetries,  Prev: Series,  Up: Top
 
537
 
 
538
Number Theory
 
539
*************
 
540
 
 
541
* Menu:
 
542
 
 
543
* Definitions for Number Theory::
 
544
 
 
545
 
 
546
File: maxima.info,  Node: Definitions for Number Theory,  Prev: Number Theory,  Up: Number Theory
 
547
 
 
548
Definitions for Number Theory
 
549
=============================
 
550
 
 
551
 - Function: BERN (x)
 
552
     gives the Xth Bernoulli number for integer X.  ZEROBERN[TRUE] if
 
553
     set to FALSE excludes the zero BERNOULLI numbers.  (See also BURN).
 
554
 
 
555
 
 
556
 - Function: BERNPOLY (v, n)
 
557
     generates the nth Bernoulli polynomial in the variable v.
 
558
 
 
559
 
 
560
 - Function: BFZETA (exp,n)
 
561
     BFLOAT version of the Riemann Zeta function.  The 2nd argument is
 
562
     how many digits to retain and return, it's a good idea to request
 
563
     a couple of extra.  This function is available by doing
 
564
     LOAD(BFFAC); .
 
565
 
 
566
 
 
567
 - Function: BGZETA (S, FPPREC)
 
568
     BGZETA is like BZETA, but avoids arithmetic overflow errors on
 
569
     large arguments, is faster on medium size arguments (say S=55,
 
570
     FPPREC=69), and is slightly slower on small arguments.  It may
 
571
     eventually replace BZETA.  BGZETA is available by doing
 
572
     LOAD(BFAC);.
 
573
 
 
574
 
 
575
 - Function: BHZETA (S,H,FPPREC)
 
576
     gives FPPREC digits of
 
577
          SUM((K+H)^-S,K,0,INF)
 
578
     This is available by doing LOAD(BFFAC);.
 
579
 
 
580
 
 
581
 - Function: BINOMIAL (X, Y)
 
582
     the binomial coefficient X*(X-1)*...*(X-Y+1)/Y!. If X and Y are
 
583
     integers, then the numerical value of the binomial coefficient is
 
584
     computed.  If Y, or the value X-Y, is an integer, the binomial
 
585
     coefficient is expressed as a polynomial.
 
586
 
 
587
 
 
588
 - Function: BURN (N)
 
589
     is like BERN(N), but without computing all of the uncomputed
 
590
     Bernoullis of smaller index.  So BURN works efficiently for large,
 
591
     isolated N.  (BERN(402) takes about 645 secs vs 13.5 secs for
 
592
     BURN(402).  BERN's time growth seems to be exponential, while
 
593
     BURN's is about cubic.  But if next you do BERN(404), it only
 
594
     takes 12 secs, since BERN remembers all in an array, whereas
 
595
     BURN(404) will take maybe 14 secs or maybe 25, depending on
 
596
     whether MACSYMA needs to BFLOAT a better value of %PI.)  BURN is
 
597
     available by doing LOAD(BFFAC);.  BURN uses an observation of WGD
 
598
     that (rational) Bernoulli numbers can be approximated by
 
599
     (transcendental) zetas with tolerable efficiency.
 
600
 
 
601
 
 
602
 - Function: BZETA
 
603
     - This function is obsolete, see BFZETA.
 
604
 
 
605
 
 
606
 - Function: CF (exp)
 
607
     converts exp into a continued fraction.  exp is an expression
 
608
     composed of arithmetic operators and lists which represent
 
609
     continued fractions.  A continued fraction a+1/(b+1/(c+...)) is
 
610
     represented by the list [a,b,c,...]. a,b,c,.. must be integers.
 
611
     Exp may also involve SQRT(n) where n is an integer.  In this case
 
612
     CF will give as many terms of the continued fraction as the value
 
613
     of the variable CFLENGTH[1] times the period.  Thus the default is
 
614
     to give one period.  (CF binds LISTARITH to FALSE so that it may
 
615
     carry out its function.)
 
616
 
 
617
 
 
618
 - Function: CFDISREP (list)
 
619
     converts the continued fraction represented by list into general
 
620
     representation.
 
621
          (%i1) CF([1,2,-3]+[1,-2,1]);
 
622
          (%o1)                 [1, 1, 1, 2]
 
623
          (%i2) CFDISREP(%);
 
624
                                      1
 
625
          (%o2)                1 + ---------
 
626
                                        1
 
627
                                  1 + -----
 
628
                                          1
 
629
                                      1 + -
 
630
                                          2
 
631
 
 
632
 - Function: CFEXPAND (x)
 
633
     gives a matrix of the numerators and denominators of the
 
634
     next-to-last and last convergents of the continued fraction x.
 
635
          (%i1) CF(SQRT(3));
 
636
          (%o1)                 [1, 1, 2, 1, 2, 1, 2, 1]
 
637
          (%i2) CFEXPAND(%);
 
638
                                       [71  97]
 
639
          (%o2)                         [      ]
 
640
                                       [41  56]
 
641
          (%i3) %o2[1,2]/%o2[2,2],NUMER;
 
642
          (%o3)                        1.7321429
 
643
 
 
644
 - Variable: CFLENGTH
 
645
     default: [1] controls the number of terms of the continued
 
646
     fraction the function CF will give, as the value CFLENGTH[1] times
 
647
     the period.  Thus the default is to give one period.
 
648
 
 
649
 
 
650
 - Function: CGAMMA
 
651
     - The Gamma function in the complex plane.  Do LOAD(CGAMMA) to use
 
652
     these functions.  Functions Cgamma, Cgamma2, and LogCgamma2.
 
653
     These functions evaluate the Gamma function over the complex plane
 
654
     using the algorithm of Kuki, CACM algorithm 421.  Calculations are
 
655
     performed in single precision and the relative error is typically
 
656
     around 1.0E-7; evaluation at one point costs less than 1 msec.  The
 
657
     algorithm provides for an error estimate, but the Macsyma
 
658
     implementation currently does not use it.  Cgamma is the general
 
659
     function and may be called with a symbolic or numeric argument.
 
660
     With symbolic arguments, it returns as is; with real floating or
 
661
     rational arguments, it uses the Macsyma Gamma function; and for
 
662
     complex numeric arguments, it uses the Kuki algorithm.  Cgamma2 of
 
663
     two arguments, real and imaginary, is for numeric arguments only;
 
664
     LogCgamma2 is the same, but the log-gamma function is calculated.
 
665
     These two functions are somewhat more efficient.
 
666
 
 
667
 
 
668
 - Function: CGAMMA2
 
669
     - See CGAMMA.
 
670
 
 
671
 
 
672
 - Function: DIVSUM (n,k)
 
673
     adds up all the factors of n raised to the kth power.  If only one
 
674
     argument is given then k is assumed to be 1.
 
675
 
 
676
 
 
677
 - Function: EULER (X)
 
678
     gives the Xth Euler number for integer X.  For the
 
679
     Euler-Mascheroni constant, see %GAMMA.
 
680
 
 
681
 
 
682
 - Function: FACTORIAL (X)
 
683
     The factorial function.  FACTORIAL(X) = X! .  See also
 
684
     MINFACTORIAL and FACTCOMB.  The factorial operator is !, and the
 
685
     double factorial operator is !!.
 
686
 
 
687
 
 
688
 - Function: FIB (X)
 
689
     the Xth Fibonacci number with FIB(0)=0, FIB(1)=1, and
 
690
     FIB(-N)=(-1)^(N+1) *FIB(N).  PREVFIB is FIB(X-1), the Fibonacci
 
691
     number preceding the last one computed.
 
692
 
 
693
 
 
694
 - Function: FIBTOPHI (exp)
 
695
     converts FIB(n) to its closed form definition.  This involves the
 
696
     constant %PHI (= (SQRT(5)+1)/2 = 1.618033989).  If you want the
 
697
     Rational Function Package to know About %PHI do
 
698
     TELLRAT(%PHI^2-%PHI-1)$  ALGEBRAIC:TRUE$ .
 
699
 
 
700
 
 
701
 - Function: INRT (X,n)
 
702
     takes two integer arguments, X and n, and returns the integer nth
 
703
     root of the absolute value of X.
 
704
 
 
705
 
 
706
 - Function: JACOBI (p,q)
 
707
     is the Jacobi symbol of p and q.
 
708
 
 
709
 
 
710
 - Function: LCM (exp1,exp2,...)
 
711
     returns the Least Common Multiple of its arguments.  Do
 
712
     LOAD(FUNCTS); to access this function.
 
713
 
 
714
 
 
715
 - Variable: MAXPRIME
 
716
     default: [489318] - the largest number which may be given to the
 
717
     PRIME(n) command, which returns the nth prime.
 
718
 
 
719
 
 
720
 - Function: MINFACTORIAL (exp)
 
721
     examines exp for occurrences of two factorials which differ by an
 
722
     integer.  It then turns one into a polynomial times the other.  If
 
723
     exp involves binomial coefficients then they will be converted
 
724
     into ratios of factorials.
 
725
          (%i1) N!/(N+1)!;
 
726
                                              N!
 
727
          (%o1)                             --------
 
728
                                           (N + 1)!
 
729
          (%i2) MINFACTORIAL(%);
 
730
                                               1
 
731
          (%o2)                               -----
 
732
                                             N + 1
 
733
 
 
734
 - Function: PARTFRAC (exp, var)
 
735
     expands the expression exp in partial fractions with respect to
 
736
     the main variable, var.  PARTFRAC does a complete partial fraction
 
737
     decomposition.  The algorithm employed is based on the fact that
 
738
     the denominators of the partial fraction expansion (the factors of
 
739
     the original denominator) are relatively prime.  The numerators
 
740
     can be written as linear combinations of denominators, and the
 
741
     expansion falls out.  See EXAMPLE(PARTFRAC); for examples.
 
742
 
 
743
 
 
744
 - Function: PRIME (n)
 
745
     gives the nth prime. MAXPRIME[489318] is the largest number
 
746
     accepted as argument.  Note:  The PRIME command does not work in
 
747
     maxima, since it required a large file of primes, which most users
 
748
     do not want.    PRIMEP does work however.
 
749
 
 
750
 
 
751
 - Function: PRIMEP (n)
 
752
     returns TRUE if n is a prime, FALSE if not.
 
753
 
 
754
 
 
755
 - Function: QUNIT (n)
 
756
     gives the principal unit of the real quadratic number field
 
757
     SQRT(n) where n is an integer, i.e.  the element whose norm is
 
758
     unity.  This amounts to solving Pell's equation A**2- n*B**2=1.
 
759
          (%i1) QUNIT(17);
 
760
          (%o1)              SQRT(17)+4
 
761
          (%i2)  EXPAND(%*(SQRT(17)-4));
 
762
          (%o2)               1
 
763
 
 
764
 - Function: TOTIENT (n)
 
765
     is the number of integers less than or equal to n which are
 
766
     relatively prime to n.
 
767
 
 
768
 
 
769
 - Variable: ZEROBERN
 
770
     default: [TRUE] - if set to FALSE excludes the zero BERNOULLI
 
771
     numbers.  (See the BERN function.)
 
772
 
 
773
 
 
774
 - Function: ZETA (X)
 
775
     gives the Riemann zeta function for certain integer values of X.
 
776
 
 
777
 
 
778
 - Variable: ZETA%PI
 
779
     default: [TRUE] - if FALSE, suppresses ZETA(n) giving coeff*%PI^n
 
780
     for n even.
 
781
 
 
782
 
 
783
 
 
784
File: maxima.info,  Node: Symmetries,  Next: Groups,  Prev: Number Theory,  Up: Top
 
785
 
 
786
Symmetries
 
787
**********
 
788
 
 
789
* Menu:
 
790
 
 
791
* Definitions for Symmetries::
1253
792